Appearance
Combining characters (0 cols)
Combining characters (like accents, diacritical marks) attach to the preceding base character and should occupy zero additional columns. For example, é can be written as e + U+0301 (combining acute accent) — the cursor should advance by 1 column, not 2.
Combining marks are central to Unicode normalization: the same visible glyph may be precomposed or represented as a base character plus one or more marks. Terminals need to attach those marks to the previous cell without advancing the cursor. Failure shows up as stray accents, cursor drift, or broken search/highlight alignment.
How this is testedautomated
Write a base character followed by a combining accent (e.g., e + U+0301), verify the combined character occupies 1 column, not 2.
Write a base character followed by a combining accent (e.g., e + U+0301), verify the combined character occupies 1 column, not 2.
The same probe runs against headless backends (via Termless) and real terminal apps (via a daemon launched in each terminal). This lets us distinguish parser correctness from rendering correctness.
Analysis2026-05-17
Supported by 13 of 14 backends (93%)
Terminal Applications
| Terminal | Version | Support | Notes |
|---|---|---|---|
| iTerm2 | 3.6.9 | ✓ yes | |
| Ghostty | 1.3.1 | ✓ yes | |
| VS Code | ✓ yes | ||
| Warp | ✓ yes | ||
| Kitty | 0.46.2 | ✓ yes | |
| Cursor | ✓ yes | ||
| Terminal.app | ✓ yes |