Skip to content

East Asian Ambiguous Width โ€‹

Category: unicode ยท Tags: Unicode ยท Specification โ†—

Characters with East_Asian_Width=Ambiguous (e.g., Greek letters, mathematical symbols, box-drawing characters) have context-dependent width. In CJK contexts they're typically rendered as wide (2 cells), in Western contexts as narrow (1 cell). Terminal width calculation must match the terminal's rendering.
How this is tested: Write an Ambiguous-width character (e.g., U+00A7 Section Sign), measure cursor displacement.
Analysis2026-03-26

Supported by all 8 tested terminals โ€” universal adoption. Part of the Unicode baseline.

Supported by 13 of 13 backends (100%)

Terminal Applications โ€‹

TerminalVersionSupportNotes
iTerm23.6.9โœ“ yeswidth=1 (ambiguous chars vary by terminal/locale)
Ghostty1.3.1โœ“ yeswidth=1 (ambiguous chars vary by terminal/locale)
VS Code1.112.0โœ“ yeswidth=1 (ambiguous chars vary by terminal/locale)
Warp0.2026.03.18.08.24.03โœ“ yeswidth=1 (ambiguous chars vary by terminal/locale)
Cursor2.6.21โœ“ yeswidth=1 (ambiguous chars vary by terminal/locale)
tmux3.6aโœ“ yeswidth=1 (ambiguous chars vary by terminal/locale)
Kitty0.46.2โœ“ yeswidth=1 (ambiguous chars vary by terminal/locale)
Terminal.app2.15โœ“ yeswidth=1 (ambiguous chars vary by terminal/locale)
GNU Screen5.0.1โœ“ yeswidth=1 (ambiguous chars vary by terminal/locale)

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