diff --git a/term/src/terminalstate/mod.rs b/term/src/terminalstate/mod.rs index eec755c7c45..d8c91aeff51 100644 --- a/term/src/terminalstate/mod.rs +++ b/term/src/terminalstate/mod.rs @@ -546,7 +546,7 @@ impl TerminalState { last_mouse_move: None, cursor_visible: true, g0_charset: CharSet::Ascii, - g1_charset: CharSet::DecLineDrawing, + g1_charset: CharSet::Ascii, shift_out: false, newline_mode: false, current_mouse_buttons: vec![], @@ -1253,6 +1253,9 @@ impl TerminalState { self.reverse_video_mode = false; self.bidi_enabled.take(); self.bidi_hint.take(); + + self.g0_charset = CharSet::Ascii; + self.g1_charset = CharSet::Ascii; } Device::RequestPrimaryDeviceAttributes => { let mut ident = "\x1b[?65".to_string(); // Vt500 @@ -2581,7 +2584,7 @@ impl TerminalState { pen: Default::default(), dec_origin_mode: false, g0_charset: CharSet::Ascii, - g1_charset: CharSet::DecLineDrawing, + g1_charset: CharSet::Ascii, }); debug!( "restore cursor {:?} is_alt={}", diff --git a/term/src/terminalstate/performer.rs b/term/src/terminalstate/performer.rs index 24e64384ecb..29f5b456da8 100644 --- a/term/src/terminalstate/performer.rs +++ b/term/src/terminalstate/performer.rs @@ -687,7 +687,7 @@ impl<'a> Performer<'a> { self.current_mouse_buttons.clear(); self.cursor_visible = true; self.g0_charset = CharSet::Ascii; - self.g1_charset = CharSet::DecLineDrawing; + self.g1_charset = CharSet::Ascii; self.shift_out = false; self.newline_mode = false; self.tabs = TabStop::new(self.screen().physical_cols, 8); diff --git a/term/src/test/mod.rs b/term/src/test/mod.rs index 1624c1efea2..d89e3096c45 100644 --- a/term/src/test/mod.rs +++ b/term/src/test/mod.rs @@ -726,7 +726,7 @@ fn test_dec_special_graphics() { ); term = TestTerm::new(2, 50, 0); - term.print("\u{0e}SO-ABCabcdefghijklmnopqrstuvwxyzDEF\r\n\u{0f}SI-hello"); + term.print("\u{1b})0\u{0e}SO-ABCabcdefghijklmnopqrstuvwxyzDEF\r\n\u{0f}SI-hello"); assert_visible_contents( &term, file!(),