Skip to content

G0/G1 character set switching โ€‹

Category: charsets ยท Tags: VT100 ยท Specification โ†—

SI (Shift In, 0x0F) and SO (Shift Out, 0x0E) switch between G0 and G1 character sets. The G0 and G1 sets can be independently designated using ESC ( X (G0) and ESC ) X (G1), where X selects the character set (B=ASCII, 0=DEC Special Graphics). This mechanism allows applications to quickly toggle between text and line-drawing characters without re-designating the character set each time.
How this is tested: Send \x1b(0 to designate G0 as DEC Special Graphics, write 'l', verify the cell renders as a box-drawing character (not literal 'l'). Restore with \x1b(B.
Analysis2026-03-26

Supported by all 5 tested terminals โ€” universal adoption. Part of the Core TUI baseline.

Supported by 11 of 11 backends (100%)

Terminal Applications โ€‹

TerminalVersionSupportNotes
iTerm23.6.9โœ“ yes
Ghostty1.3.1โœ“ yes
VS Code1.112.0โœ“ yes
Warp0.2026.03.18.08.24.03โœ“ yes
Cursor2.6.21โœ“ yes
Kitty0.46.2โœ“ yes
Terminal.app2.15โœ“ yes

Headless Backends โ€‹

Parser correctness only โ€” a โœ“ means the parser accepts the sequence.

BackendVersionSupportNotes
Alacritty0.26.0โœ“ yes
vt1000.2.1โœ“ yes
vterm0.2.0โœ“ yes
WezTerm0.1.0-fork.5โœ“ yes

Powered by Termless
Playwright for Terminals