diff --git a/src/terminal/console.rs b/src/terminal/console.rs index 9407dc1e4a11f3837dc87b6a8995d1b2a49c8b22..ec30e909abcd635c3fc7b156547594916186e8d8 100644 --- a/src/terminal/console.rs +++ b/src/terminal/console.rs @@ -206,13 +206,14 @@ impl Console { let font_bold = &self.font_bold; let window = &mut self.window; let changed = &mut self.changed; + let mut str_buf = [0; 4]; self.console.write(buf, |event| { match event { ransid::Event::Char { x, y, c, color, bold, .. } => { if bold { - font_bold.render(&c.to_string(), 16.0).draw(window, x as i32 * 8, y as i32 * 16, Color { data: color.data }); + font_bold.render(&c.encode_utf8(&mut str_buf), 16.0).draw(window, x as i32 * 8, y as i32 * 16, Color { data: color.data }); } else { - font.render(&c.to_string(), 16.0).draw(window, x as i32 * 8, y as i32 * 16, Color { data: color.data }); + font.render(&c.encode_utf8(&mut str_buf), 16.0).draw(window, x as i32 * 8, y as i32 * 16, Color { data: color.data }); } changed.insert(y); },