We should change the SUB control glyph to U+2426 #21095

Closed
opened 2026-01-31 07:32:59 +00:00 by claunia · 0 comments
Owner

Originally created by @j4james on GitHub (Jan 13, 2024).

Description of the new feature/enhancement

On most DEC terminals, the glyph generated by a SUB control character is a reverse question mark. We're currently using U+2E2E, which is visually OK, but semantically it would be better if we used U+2426 (substitute form two). They look more or less the same, but the difference is that U+2426 was specifically intended to represent a substitute control.

Also note that we're already using U+2426 for the unmapped positions in the VT character sets, and ideally those should match the SUB control character. The other benefit is that Cascadia Code has a glyph for U+2426 but not for U+2E2E, so only the former shows up correctly in conhost (at least when using Cascadia Code).

Proposed technical implementation details (optional)

Replace the character below with \u2426.
a4445ed4cc/src/terminal/parser/OutputStateMachineEngine.cpp (L91)

Originally created by @j4james on GitHub (Jan 13, 2024). # Description of the new feature/enhancement On most DEC terminals, the glyph generated by a `SUB` control character is a reverse question mark. We're currently using [`U+2E2E`](https://util.unicode.org/UnicodeJsps/character.jsp?a=2E2E), which is visually OK, but semantically it would be better if we used [`U+2426`](https://util.unicode.org/UnicodeJsps/character.jsp?a=2426) (substitute form two). They look more or less the same, but the difference is that `U+2426` was specifically intended to represent a substitute control. Also note that we're already using `U+2426` for the unmapped positions in the VT character sets, and ideally those should match the `SUB` control character. The other benefit is that Cascadia Code has a glyph for `U+2426` but not for `U+2E2E`, so only the former shows up correctly in conhost (at least when using Cascadia Code). # Proposed technical implementation details (optional) Replace the character below with `\u2426`. https://github.com/microsoft/terminal/blob/a4445ed4cca72c6a0a8dfec604f6e6cc75458d9d/src/terminal/parser/OutputStateMachineEngine.cpp#L91
claunia added the Issue-FeatureNeeds-TriageIn-PRNeeds-Tag-Fix labels 2026-01-31 07:32:59 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#21095