WindowsTerminal
Tested Software version 1.24.11321.0 on Windows. Full results available at ucs-detect repository path data/terminalexe.yaml.
Score Breakdown
Detailed breakdown of how scores are calculated for WindowsTerminal:
# |
Score Type |
Raw Score |
Final Scaled Score |
|---|---|---|---|
1 |
93.87% |
91.3% |
|
2 |
100.00% |
100.0% |
|
3 |
100.00% |
100.0% |
|
4 |
98.30% |
98.3% |
|
5 |
100.00% |
100.0% |
|
6 |
0.00% |
(excluded) |
|
7 |
0.00% |
0.0% |
|
8 |
0.00% |
0.0% |
|
9 |
100.00% |
100.0% |
|
10 |
43.75% |
46.7% |
|
11 |
50% |
50.0% |
|
12 |
N/A |
N/A |
Score Comparison Plot:
The following plot shows how this terminal’s scores compare to all other terminals tested.
Scaled scores comparison across all metrics (normalized 0-100%)
Final Scaled Score Calculation:
Raw Final Score: 72.10% (weighted average: WIDE + NARROW + ZWJ + LANG + VS16 + 0.33 * SRI + 0.33 * SFZ + RI + CAP + 0.5 * GFX + 0.5 * RSC) the categorized ‘average’ absolute support level of this terminal.
Note
RSC (Resources) is a composite CPU, memory, and runtime score. RSC is weighted at 0.5 (half as powerful as other metrics). FEAT (Features) is the fraction of notable features supported. GFX (Graphics) scores 100% for modern protocols (iTerm2, Kitty), 50% for legacy only (Sixel, ReGIS), 0% for none.
Final Scaled Score: 62.5% (normalized across all terminals tested). Final Scaled scores are normalized (0-100%) relative to all terminals tested
WIDE Score Details:
Wide character support calculation:
Total successful codepoints: 475
Total codepoints tested: 506
Formula: 475 / 506
Result: 93.87%
NARROW Score Details:
Narrow character support calculation:
Total successful codepoints: 187
Total codepoints tested: 187
Formula: 187 / 187
Result: 100.00%
ZWJ Score Details:
Emoji ZWJ (Zero-Width Joiner) support calculation:
Total successful sequences: 1445
Total sequences tested: 1445
Formula: 1445 / 1445
Result: 100.00%
VS16 Score Details:
Variation Selector-16 support calculation:
Errors: 0 of 426 codepoints tested
Success rate: 100.0%
Formula: 100.0 / 100
Result: 100.00%
VS15 Score Details (excluded from final score):
Variation Selector-15 support calculation:
Errors: 158 of 158 codepoints tested
Success rate: 0.0%
Formula: 0.0 / 100
Result: 0.00%
SRI Score Details:
Standalone Regional Indicator support calculation:
Total successful codepoints: 0
Total codepoints tested: 26
Formula: 0 / 26
Result: 0.00%
SFZ Score Details:
Standalone Fitzpatrick skin tone modifier support calculation:
Total successful codepoints: 0
Total codepoints tested: 5
Formula: 0 / 5
Result: 0.00%
RI Score Details:
Regional Indicator flag sequence support calculation:
Total successful sequences: 262
Total sequences tested: 262
Formula: 262 / 262
Result: 100.00%
Features Score Details:
Notable terminal features (7.0 / 16):
Kitty Keyboard: no
XTGETTCAP: no
OSC 52 Clipboard: yes
Raw score: 43.75%
Graphics Score Details:
Graphics protocol support (50%):
Sixel: yes
ReGIS: no
iTerm2: no
Kitty: no
Scoring: 100% for modern (iTerm2/Kitty), 50% for legacy only (Sixel/ReGIS), 0% for none
Resource Score Details:
Resource profiling data not available.
LANG Score Details (Geometric Mean):
Geometric mean calculation:
Formula: (p₁ × p₂ × … × pₙ)^(1/n) where n = 85 languages
About geometric mean
Result: 98.30%
Wide character support
Wide character support of WindowsTerminal is 93.9% (31 errors of 506 codepoints tested).
Sequence of a WIDE character, from midpoint of alignment failure records:
# |
Codepoint |
Python |
Category |
wcwidth |
Name |
|---|---|---|---|---|---|
1 |
‘\U0001f1f5’ |
So |
2 |
REGIONAL INDICATOR SYMBOL LETTER P |
Total codepoints: 1
Shell test using printf(1),
'|'should align in output:$ printf "\xf0\x9f\x87\xb5|\\n12|\\n" 🇵| 12|
See Line 42373 of ucs_wide.txt for this sequence in the example file.
python wcwidth.wcswidth() measures width 2, while WindowsTerminal measures width 1.
Narrow character support
Narrow character support of WindowsTerminal is 100.0% (0 errors of 187 codepoints tested).
Emoji ZWJ support
Compatibility of WindowsTerminal with the Unicode Emoji ZWJ sequence table is 100.0% (0 errors of 1445 sequences tested).
Variation Selector-16 support
Emoji VS-16 results for WindowsTerminal is 0 errors out of 426 total codepoints tested, 100.0% success. All codepoint combinations with Variation Selector-16 tested were successful.
Variation Selector-15 support
Emoji VS-15 results for WindowsTerminal is 158 errors out of 158 total codepoints tested, 0.0% success. Sequence of a WIDE Emoji made NARROW by Variation Selector-15, from midpoint of alignment failure records:
# |
Codepoint |
Python |
Category |
wcwidth |
Name |
|---|---|---|---|---|---|
1 |
‘\U0001f3ae’ |
So |
2 |
VIDEO GAME |
|
2 |
‘\ufe0e’ |
Mn |
0 |
VARIATION SELECTOR-15 |
Total codepoints: 2
Shell test using printf(1),
'|'should align in output:$ printf "\xf0\x9f\x8e\xae\xef\xb8\x8e|\\n1|\\n" 🎮︎| 1|
python wcwidth.wcswidth() measures width 1, while WindowsTerminal measures width 2.
Standalone Regional Indicator support
Standalone Regional Indicator support of WindowsTerminal is 0.0% (26 errors of 26 codepoints tested).
Sequence of a standalone Regional Indicator, from midpoint of alignment failure records:
# |
Codepoint |
Python |
Category |
wcwidth |
Name |
|---|---|---|---|---|---|
1 |
‘\U0001f1f3’ |
So |
2 |
REGIONAL INDICATOR SYMBOL LETTER N |
Total codepoints: 1
Shell test using printf(1),
'|'should align in output:$ printf "\xf0\x9f\x87\xb3|\\n12|\\n" 🇳| 12|
python wcwidth.wcswidth() measures width 2, while WindowsTerminal measures width 1.
Standalone Fitzpatrick modifier support
Standalone Fitzpatrick skin tone modifier support of WindowsTerminal is 0.0% (5 errors of 5 codepoints tested).
Sequence of a standalone Fitzpatrick modifier, from midpoint of alignment failure records:
# |
Codepoint |
Python |
Category |
wcwidth |
Name |
|---|---|---|---|---|---|
1 |
‘\U0001f3fd’ |
Sk |
2 |
EMOJI MODIFIER FITZPATRICK TYPE-4 |
Total codepoints: 1
Shell test using printf(1),
'|'should align in output:$ printf "\xf0\x9f\x8f\xbd|\\n12|\\n" 🏽| 12|
python wcwidth.wcswidth() measures width 2, while WindowsTerminal measures width 1.
Regional Indicator flag sequence support
Regional Indicator flag sequence support of WindowsTerminal is 100.0% (0 errors of 262 sequences tested).
Graphics Protocol Support
WindowsTerminal supports the following graphics protocols: Sixel.
Detection Methods:
Sixel and ReGIS: Detected via the Device Attributes (DA1) query
CSI c(\x1b[c). Extension code4indicates Sixel support,3ReGIS.Kitty graphics: Detected by sending a Kitty graphics query and checking for an
OKresponse.iTerm2 inline images: Detected via the iTerm2 capabilities query
OSC 1337 ; Capabilities.
Device Attributes Response:
Language Support
The following 75 languages were tested with 100% success:
Aja, Amarakaeri, Arabic, Standard, Assyrian Neo-Aramaic, Baatonum, Bamun, Belanda Viri, Bhojpuri, Bora, Burmese, Catalan (2), Chickasaw, Chinantec, Chiltepec, Dagaare, Southern, Dari, Dendi, Dinka, Northeastern, Dzongkha, Evenki, Farsi, Western, Fon, French (Welche), Fur, Ga, Gen, Gilyak, Gujarati, Gumuz, Hindi, Kabyle, Kannada, Lamnso’, Lao, Lingala (tones), Magahi, Maithili, Maldivian, Maori (2), Mazahua Central, Mòoré, Nanai, Navajo, Nepali, Orok, Otomi, Mezquital, Panjabi, Eastern, Panjabi, Western, Pashto, Northern, Picard, Pular (Adlam), Sanskrit, Secoya, Seraiki, Shan, Shipibo-Conibo, Sinhala, Siona, South Azerbaijani, Tagalog (Tagalog), Tai Dam, Tamang, Eastern, Tamazight, Central Atlas, Tamil, Telugu, Tem, Thai, Thai (2), Tibetan, Central, Ticuna, Uduk, Urdu (2), Vietnamese, Yaneshaʼ, Yiddish, Eastern, Yoruba.
The following 10 languages are not fully supported:
lang |
n_errors |
n_total |
pct_success |
|---|---|---|---|
287 |
488 |
41.2% |
|
84 |
390 |
78.5% |
|
22 |
237 |
90.7% |
|
29 |
382 |
92.4% |
|
13 |
225 |
94.2% |
|
1 |
23 |
95.7% |
|
4 |
208 |
98.1% |
|
1 |
103 |
99.0% |
|
3 |
354 |
99.2% |
|
2 |
335 |
99.4% |
Javanese (Javanese)
Sequence of language Javanese (Javanese) from midpoint of alignment failure records:
# |
Codepoint |
Python |
Category |
wcwidth |
Name |
|---|---|---|---|---|---|
1 |
‘\ua98f’ |
Lo |
1 |
JAVANESE LETTER KA |
|
2 |
‘\ua9c0’ |
Mc |
0 |
JAVANESE PANGKON |
|
3 |
‘\ua98f’ |
Lo |
1 |
JAVANESE LETTER KA |
Total codepoints: 3
Shell test using printf(1),
'|'should align in output:$ printf "\xea\xa6\x8f\xea\xa7\x80\xea\xa6\x8f|\\n12|\\n" ꦏ꧀ꦏ| 12|
python wcwidth.wcswidth() measures width 2, while WindowsTerminal measures width 3.
Khmer, Central
Sequence of language Khmer, Central from midpoint of alignment failure records:
# |
Codepoint |
Python |
Category |
wcwidth |
Name |
|---|---|---|---|---|---|
1 |
‘\u1780’ |
Lo |
1 |
KHMER LETTER KA |
|
2 |
‘\u17d2’ |
Mn |
0 |
KHMER SIGN COENG |
|
3 |
‘\u178a’ |
Lo |
1 |
KHMER LETTER DA |
|
4 |
‘\u17c5’ |
Mc |
0 |
KHMER VOWEL SIGN AU |
Total codepoints: 4
Shell test using printf(1),
'|'should align in output:$ printf "\xe1\x9e\x80\xe1\x9f\x92\xe1\x9e\x8a\xe1\x9f\x85|\\n12|\\n" ក្ដៅ| 12|
python wcwidth.wcswidth() measures width 2, while WindowsTerminal measures width 3.
Sanskrit (Grantha)
Sequence of language Sanskrit (Grantha) from midpoint of alignment failure records:
# |
Codepoint |
Python |
Category |
wcwidth |
Name |
|---|---|---|---|---|---|
1 |
‘\U00011315’ |
Lo |
1 |
GRANTHA LETTER KA |
|
2 |
‘\U0001134d’ |
Mc |
0 |
GRANTHA SIGN VIRAMA |
Total codepoints: 2
Shell test using printf(1),
'|'should align in output:$ printf "\xf0\x91\x8c\x95\xf0\x91\x8d\x8d|\\n1|\\n" 𑌕𑍍| 1|
python wcwidth.wcswidth() measures width 1, while WindowsTerminal measures width 2.
Malayalam
Sequence of language Malayalam from midpoint of alignment failure records:
# |
Codepoint |
Python |
Category |
wcwidth |
Name |
|---|---|---|---|---|---|
1 |
‘\u0d28’ |
Lo |
1 |
MALAYALAM LETTER NA |
|
2 |
‘\u0d4d’ |
Mn |
0 |
MALAYALAM SIGN VIRAMA |
|
3 |
‘\u200d’ |
Cf |
0 |
ZERO WIDTH JOINER |
|
4 |
‘\u0d2a’ |
Lo |
1 |
MALAYALAM LETTER PA |
|
5 |
‘\u0d3f’ |
Mc |
0 |
MALAYALAM VOWEL SIGN I |
Total codepoints: 5
Shell test using printf(1),
'|'should align in output:$ printf "\xe0\xb4\xa8\xe0\xb5\x8d\xe2\x80\x8d\xe0\xb4\xaa\xe0\xb4\xbf|\\n12|\\n" ന്പി| 12|
python wcwidth.wcswidth() measures width 2, while WindowsTerminal measures width 3.
Chakma
Sequence of language Chakma from midpoint of alignment failure records:
# |
Codepoint |
Python |
Category |
wcwidth |
Name |
|---|---|---|---|---|---|
1 |
‘\U00011107’ |
Lo |
1 |
CHAKMA LETTER KAA |
|
2 |
‘\U00011133’ |
Mn |
0 |
CHAKMA VIRAMA |
|
3 |
‘\U00011120’ |
Lo |
1 |
CHAKMA LETTER YYAA |
|
4 |
‘\U0001112c’ |
Mc |
0 |
CHAKMA VOWEL SIGN E |
Total codepoints: 4
Shell test using printf(1),
'|'should align in output:$ printf "\xf0\x91\x84\x87\xf0\x91\x84\xb3\xf0\x91\x84\xa0\xf0\x91\x84\xac|\\n12|\\n" 𑄇𑄳𑄠𑄬| 12|
python wcwidth.wcswidth() measures width 2, while WindowsTerminal measures width 3.
Urdu
Sequence of language Urdu from midpoint of alignment failure records:
# |
Codepoint |
Python |
Category |
wcwidth |
Name |
|---|---|---|---|---|---|
1 |
‘\u0601’ |
Cf |
1 |
ARABIC SIGN SANAH |
|
2 |
‘\u06f1’ |
Nd |
1 |
EXTENDED ARABIC-INDIC DIGIT ONE |
Total codepoints: 2
Shell test using printf(1),
'|'should align in output:$ printf "\xd8\x81\xdb\xb1|\\n12|\\n" ۱| 12|
python wcwidth.wcswidth() measures width 2, while WindowsTerminal measures width 1.
Mon
Sequence of language Mon from midpoint of alignment failure records:
# |
Codepoint |
Python |
Category |
wcwidth |
Name |
|---|---|---|---|---|---|
1 |
‘\u1012’ |
Lo |
1 |
MYANMAR LETTER DA |
|
2 |
‘\u1039’ |
Mn |
0 |
MYANMAR SIGN VIRAMA |
|
3 |
‘\u1002’ |
Lo |
1 |
MYANMAR LETTER GA |
|
4 |
‘\u1031’ |
Mc |
0 |
MYANMAR VOWEL SIGN E |
Total codepoints: 4
Shell test using printf(1),
'|'should align in output:$ printf "\xe1\x80\x92\xe1\x80\xb9\xe1\x80\x82\xe1\x80\xb1|\\n12|\\n" ဒ္ဂေ| 12|
python wcwidth.wcswidth() measures width 2, while WindowsTerminal measures width 3.
Marathi
Sequence of language Marathi from midpoint of alignment failure records:
# |
Codepoint |
Python |
Category |
wcwidth |
Name |
|---|---|---|---|---|---|
1 |
‘\u0930’ |
Lo |
1 |
DEVANAGARI LETTER RA |
|
2 |
‘\u094d’ |
Mn |
0 |
DEVANAGARI SIGN VIRAMA |
|
3 |
‘\u200d’ |
Cf |
0 |
ZERO WIDTH JOINER |
|
4 |
‘\u092f’ |
Lo |
1 |
DEVANAGARI LETTER YA |
|
5 |
‘\u093e’ |
Mc |
0 |
DEVANAGARI VOWEL SIGN AA |
Total codepoints: 5
Shell test using printf(1),
'|'should align in output:$ printf "\xe0\xa4\xb0\xe0\xa5\x8d\xe2\x80\x8d\xe0\xa4\xaf\xe0\xa4\xbe|\\n12|\\n" र्या| 12|
python wcwidth.wcswidth() measures width 2, while WindowsTerminal measures width 3.
Khün
Sequence of language Khün from midpoint of alignment failure records:
# |
Codepoint |
Python |
Category |
wcwidth |
Name |
|---|---|---|---|---|---|
1 |
‘\u1a2f’ |
Lo |
1 |
TAI THAM LETTER DA |
|
2 |
‘\u1a60’ |
Mn |
0 |
TAI THAM SIGN SAKOT |
|
3 |
‘\u1a45’ |
Lo |
1 |
TAI THAM LETTER WA |
|
4 |
‘\u1a60’ |
Mn |
0 |
TAI THAM SIGN SAKOT |
|
5 |
‘\u1a3f’ |
Lo |
1 |
TAI THAM LETTER LOW YA |
|
6 |
‘\u1a62’ |
Mn |
0 |
TAI THAM VOWEL SIGN MAI SAT |
Total codepoints: 6
Shell test using printf(1),
'|'should align in output:$ printf "\xe1\xa8\xaf\xe1\xa9\xa0\xe1\xa9\x85\xe1\xa9\xa0\xe1\xa8\xbf\xe1\xa9\xa2|\\n12|\\n" ᨯ᩠ᩅ᩠ᨿᩢ| 12|
python wcwidth.wcswidth() measures width 2, while WindowsTerminal measures width 3.
Bengali
Sequence of language Bengali from midpoint of alignment failure records:
# |
Codepoint |
Python |
Category |
wcwidth |
Name |
|---|---|---|---|---|---|
1 |
‘\u09a4’ |
Lo |
1 |
BENGALI LETTER TA |
|
2 |
‘\u09cd’ |
Mn |
0 |
BENGALI SIGN VIRAMA |
|
3 |
‘\u200d’ |
Cf |
0 |
ZERO WIDTH JOINER |
|
4 |
‘\u09aa’ |
Lo |
1 |
BENGALI LETTER PA |
|
5 |
‘\u09c0’ |
Mc |
0 |
BENGALI VOWEL SIGN II |
Total codepoints: 5
Shell test using printf(1),
'|'should align in output:$ printf "\xe0\xa6\xa4\xe0\xa7\x8d\xe2\x80\x8d\xe0\xa6\xaa\xe0\xa7\x80|\\n12|\\n" ত্পী| 12|
python wcwidth.wcswidth() measures width 2, while WindowsTerminal measures width 3.
DEC Private Modes Support
DEC private modes results for WindowsTerminal: 4 changeable modes of 5 supported out of 8 total modes tested (62.5% support, 50.0% changeable).
Complete list of DEC private modes tested:
Mode |
Name |
Description |
Supported |
Changeable |
Enabled |
|---|---|---|---|---|---|
1004 |
FOCUS_IN_OUT_EVENTS |
Send FocusIn/FocusOut events |
Yes |
Yes |
Yes |
1006 |
MOUSE_EXTENDED_SGR |
Enable SGR Mouse Mode |
Yes |
Yes |
No |
2004 |
BRACKETED_PASTE |
Set bracketed paste mode |
Yes |
Yes |
No |
2026 |
SYNCHRONIZED_OUTPUT |
Synchronized Output |
Yes |
Yes |
No |
2027 |
GRAPHEME_CLUSTERING |
Grapheme Clustering |
Yes |
No |
Yes |
2031 |
COLOR_PALETTE_UPDATES |
Color palette updates |
No |
No |
No |
2048 |
IN_BAND_WINDOW_RESIZE |
In-Band Window Resize Notifications |
No |
No |
No |
5522 |
BRACKETED_PASTE_MIME |
Bracketed Paste MIME |
No |
No |
No |
Summary: 4 changeable, 4 not changeable.
Kitty Keyboard Protocol
WindowsTerminal does not support the Kitty keyboard protocol.
XTGETTCAP (Terminfo Capabilities)
WindowsTerminal does not support the XTGETTCAP sequence.
Text Sizing Protocol (OSC 66)
WindowsTerminal does not support the Text Sizing protocol.
Truecolor Support
WindowsTerminal supports 24-bit truecolor (16777216 colors), but is not detectable by XTGETTCAP, DECRQSS, or COLORTERM methods.
XTGETTCAP (RGB capability): no
DECRQSS (truecolor probe): no
COLORTERM: N/A
OSC 52 Clipboard Support
WindowsTerminal supports OSC 52 clipboard operations (detected via DA1 extension 52).
DA1 extension 52: yes
XTGETTCAP Ms: no
Terminal Identification
WindowsTerminal could not be identified via XTVERSION, XTGETTCAP TN, ENQ, or TERM_PROGRAM.
XTVERSION: no
XTGETTCAP TN: no
ENQ: no
TERM_PROGRAM: no
TERM: no
Reproduction
To reproduce these results for WindowsTerminal, install and run ucs-detect with the following commands:
uvx ucs-detect --rerun data/terminalexe.yaml
Test Performance
Performance data for WindowsTerminal is not available.