Kovid Goyal’s kitty
Tested Software version 0.31.0 on Darwin Full results available at ucs-detect repository path data/macos-kitty-0.31.0.yaml
Wide character support
The best wide unicode table version for Kovid Goyal’s kitty appears to be 15.0.0, this is from a summary of the following results:
version |
n_errors |
n_total |
pct_success |
---|---|---|---|
‘5.1.0’ |
0 |
26 |
100.0% |
‘5.2.0’ |
80 |
269 |
70.3% |
‘6.0.0’ |
1 |
13 |
92.3% |
‘9.0.0’ |
0 |
5000 |
100.0% |
‘10.0.0’ |
0 |
735 |
100.0% |
‘11.0.0’ |
0 |
62 |
100.0% |
‘12.0.0’ |
0 |
62 |
100.0% |
‘12.1.0’ |
0 |
1 |
100.0% |
‘13.0.0’ |
1 |
541 |
99.8% |
‘14.0.0’ |
0 |
41 |
100.0% |
‘15.0.0’ |
0 |
15 |
100.0% |
‘15.1.0’ |
5 |
5 |
0.0% |
Sequence of a WIDE character from Unicode Version 15.1.0, from midpoint of alignment failure records:
Codepoint |
Python |
Category |
wcwidth |
Name |
---|---|---|---|---|
‘\u2ffe’ |
Cn |
2 |
na |
Total codepoints: 1
Shell test using printf(1),
'|'
should align in output:$ printf "\xe2\xbf\xbe|\\n12|\\n" | 12|
python wcwidth.wcswidth() measures width 2, while Kovid Goyal’s kitty measures width 1.
Emoji ZWJ support
The best Emoji ZWJ table version for Kovid Goyal’s kitty appears to be None, this is from a summary of the following results:
version |
n_errors |
n_total |
pct_success |
---|---|---|---|
‘2.0’ |
22 |
22 |
0.0% |
‘4.0’ |
500 |
500 |
0.0% |
‘5.0’ |
100 |
100 |
0.0% |
‘11.0’ |
73 |
73 |
0.0% |
‘12.0’ |
112 |
112 |
0.0% |
‘12.1’ |
165 |
165 |
0.0% |
‘13.0’ |
51 |
51 |
0.0% |
‘13.1’ |
83 |
83 |
0.0% |
‘14.0’ |
20 |
20 |
0.0% |
‘15.0’ |
1 |
1 |
0.0% |
‘15.1’ |
109 |
109 |
0.0% |
Sequence of an Emoji ZWJ Sequence from Emoji Version 15.1, from midpoint of alignment failure records:
Codepoint |
Python |
Category |
wcwidth |
Name |
---|---|---|---|---|
‘\U0001f9d1’ |
So |
2 |
ADULT |
|
‘\u200d’ |
Cf |
0 |
ZERO WIDTH JOINER |
|
‘\U0001f9bc’ |
So |
2 |
MOTORIZED WHEELCHAIR |
|
‘\u200d’ |
Cf |
0 |
ZERO WIDTH JOINER |
|
‘\u27a1’ |
So |
1 |
BLACK RIGHTWARDS ARROW |
|
‘\ufe0f’ |
Mn |
0 |
VARIATION SELECTOR-16 |
Total codepoints: 6
Shell test using printf(1),
'|'
should align in output:$ printf "\xf0\x9f\xa7\x91\xe2\x80\x8d\xf0\x9f\xa6\xbc\xe2\x80\x8d\xe2\x9e\xa1\xef\xb8\x8f|\\n12|\\n" 🧑🦼➡️| 12|
python wcwidth.wcswidth() measures width 2, while Kovid Goyal’s kitty measures width 6.
Variation Selector-16 support
Emoji VS-16 results for Kovid Goyal’s kitty is 0 errors out of 100 total codepoints tested, 100.0% success. All codepoint combinations with Variation Selector-16 tested were successful.
Language Support
The following 93 languages were tested with 100% success:
Adyghe, Aja, Amarakaeri, Arabic, Standard, Assyrian Neo-Aramaic, Baatonum, Bamun, Bhojpuri, Bora, Burmese, Chakma, Cherokee (cased), Chickasaw, Chinantec, Chiltepec, Dagaare, Southern, Dangme, Dari, Dendi, Dinka, Northeastern, Ditammari, Dzongkha, Evenki, Farsi, Western, Fon, Fur, Ga, Gen, Gilyak, Gujarati, Gumuz, Hindi, Idoma, Javanese (Javanese), Kabardian, Kannada, Khmer, Central, Khün, Lamnso’, Lao, Lingala (tones), Magahi, Maithili, Maldivian, Mazahua Central, Mixtec, Metlatónoc, Mon, Mongolian, Halh (Mongolian), Mòoré, Nanai, Navajo, Nuosu, Orok, Otomi, Mezquital, Panjabi, Eastern, Panjabi, Western, Pashto, Northern, Picard, Pular (Adlam), Sanskrit, Sanskrit (Grantha), Secoya, Seraiki, Serer-Sine, Shan, Siona, South Azerbaijani, Tagalog (Tagalog), Tai Dam, Tamang, Eastern, Tamazight, Central Atlas, Tamazight, Central Atlas (Tifinagh), Tamazight, Standard Morocan, Tamil, Tamil (Sri Lanka), Telugu, Tem, Thai, Thai (2), Tibetan, Central, Ticuna, Uduk, Urdu, Urdu (2), Vai, Veps, Vietnamese, Vietnamese (Han nom), Waama, Yaneshaʼ, Yiddish, Eastern, Yoruba, Yukaghir, Northern, Éwé.
The following 5 languages are not fully supported:
lang |
n_errors |
n_total |
pct_success |
---|---|---|---|
Malayalam |
109 |
1630 |
93.3% |
Sinhala |
107 |
1655 |
93.5% |
Marathi |
5 |
1614 |
99.7% |
Nepali |
3 |
1385 |
99.8% |
Bengali |
3 |
1413 |
99.8% |
Malayalam
Sequence of language Malayalam from midpoint of alignment failure records:
Codepoint |
Python |
Category |
wcwidth |
Name |
---|---|---|---|---|
‘\u0d38’ |
Lo |
1 |
MALAYALAM LETTER SA |
|
‘\u0d30’ |
Lo |
1 |
MALAYALAM LETTER RA |
|
‘\u0d4d’ |
Mn |
0 |
MALAYALAM SIGN VIRAMA |
|
‘\u200d’ |
Cf |
0 |
ZERO WIDTH JOINER |
|
‘\u0d35’ |
Lo |
1 |
MALAYALAM LETTER VA |
|
‘\u0d4d’ |
Mn |
0 |
MALAYALAM SIGN VIRAMA |
|
‘\u0d35’ |
Lo |
1 |
MALAYALAM LETTER VA |
|
‘\u0d24’ |
Lo |
1 |
MALAYALAM LETTER TA |
|
‘\u0d4b’ |
Mc |
0 |
MALAYALAM VOWEL SIGN OO |
|
‘\u0d28’ |
Lo |
1 |
MALAYALAM LETTER NA |
|
‘\u0d4d’ |
Mn |
0 |
MALAYALAM SIGN VIRAMA |
|
‘\u0d2e’ |
Lo |
1 |
MALAYALAM LETTER MA |
|
‘\u0d41’ |
Mn |
0 |
MALAYALAM VOWEL SIGN U |
|
‘\u0d16’ |
Lo |
1 |
MALAYALAM LETTER KHA |
|
‘\u0d2e’ |
Lo |
1 |
MALAYALAM LETTER MA |
|
‘\u0d3e’ |
Mc |
0 |
MALAYALAM VOWEL SIGN AA |
|
‘\u0d2f’ |
Lo |
1 |
MALAYALAM LETTER YA |
Total codepoints: 17
Shell test using printf(1),
'|'
should align in output:$ printf "\xe0\xb4\xb8\xe0\xb4\xb0\xe0\xb5\x8d\xe2\x80\x8d\xe0\xb4\xb5\xe0\xb5\x8d\xe0\xb4\xb5\xe0\xb4\xa4\xe0\xb5\x8b\xe0\xb4\xa8\xe0\xb5\x8d\xe0\xb4\xae\xe0\xb5\x81\xe0\xb4\x96\xe0\xb4\xae\xe0\xb4\xbe\xe0\xb4\xaf|\\n123456789|\\n" സര്വ്വതോന്മുഖമായ| 123456789|
python wcwidth.wcswidth() measures width 9, while Kovid Goyal’s kitty measures width 10.
Sinhala
Sequence of language Sinhala from midpoint of alignment failure records:
Codepoint |
Python |
Category |
wcwidth |
Name |
---|---|---|---|---|
‘\u0db4’ |
Lo |
1 |
SINHALA LETTER ALPAPRAANA PAYANNA |
|
‘\u0dca’ |
Mn |
0 |
SINHALA SIGN AL-LAKUNA |
|
‘\u200d’ |
Cf |
0 |
ZERO WIDTH JOINER |
|
‘\u0dbb’ |
Lo |
1 |
SINHALA LETTER RAYANNA |
|
‘\u0d9a’ |
Lo |
1 |
SINHALA LETTER ALPAPRAANA KAYANNA |
|
‘\u0dcf’ |
Mc |
0 |
SINHALA VOWEL SIGN AELA-PILLA |
|
‘\u0dc1’ |
Lo |
1 |
SINHALA LETTER TAALUJA SAYANNA |
|
‘\u0db1’ |
Lo |
1 |
SINHALA LETTER DANTAJA NAYANNA |
|
‘\u0dba’ |
Lo |
1 |
SINHALA LETTER YAYANNA |
Total codepoints: 9
Shell test using printf(1),
'|'
should align in output:$ printf "\xe0\xb6\xb4\xe0\xb7\x8a\xe2\x80\x8d\xe0\xb6\xbb\xe0\xb6\x9a\xe0\xb7\x8f\xe0\xb7\x81\xe0\xb6\xb1\xe0\xb6\xba|\\n12345|\\n" ප්රකාශනය| 12345|
python wcwidth.wcswidth() measures width 5, while Kovid Goyal’s kitty measures width 6.
Marathi
Sequence of language Marathi from midpoint of alignment failure records:
Codepoint |
Python |
Category |
wcwidth |
Name |
---|---|---|---|---|
‘\u0915’ |
Lo |
1 |
DEVANAGARI LETTER KA |
|
‘\u0930’ |
Lo |
1 |
DEVANAGARI LETTER RA |
|
‘\u0923’ |
Lo |
1 |
DEVANAGARI LETTER NNA |
|
‘\u094d’ |
Mn |
0 |
DEVANAGARI SIGN VIRAMA |
|
‘\u092f’ |
Lo |
1 |
DEVANAGARI LETTER YA |
|
‘\u093e’ |
Mc |
0 |
DEVANAGARI VOWEL SIGN AA |
|
‘\u0930’ |
Lo |
1 |
DEVANAGARI LETTER RA |
|
‘\u094d’ |
Mn |
0 |
DEVANAGARI SIGN VIRAMA |
|
‘\u200d’ |
Cf |
0 |
ZERO WIDTH JOINER |
|
‘\u092f’ |
Lo |
1 |
DEVANAGARI LETTER YA |
|
‘\u093e’ |
Mc |
0 |
DEVANAGARI VOWEL SIGN AA |
Total codepoints: 11
Shell test using printf(1),
'|'
should align in output:$ printf "\xe0\xa4\x95\xe0\xa4\xb0\xe0\xa4\xa3\xe0\xa5\x8d\xe0\xa4\xaf\xe0\xa4\xbe\xe0\xa4\xb0\xe0\xa5\x8d\xe2\x80\x8d\xe0\xa4\xaf\xe0\xa4\xbe|\\n12345|\\n" करण्यार्या| 12345|
python wcwidth.wcswidth() measures width 5, while Kovid Goyal’s kitty measures width 6.
Nepali
Sequence of language Nepali from midpoint of alignment failure records:
Codepoint |
Python |
Category |
wcwidth |
Name |
---|---|---|---|---|
‘\u092a’ |
Lo |
1 |
DEVANAGARI LETTER PA |
|
‘\u0941’ |
Mn |
0 |
DEVANAGARI VOWEL SIGN U |
|
‘\u0930’ |
Lo |
1 |
DEVANAGARI LETTER RA |
|
‘\u094d’ |
Mn |
0 |
DEVANAGARI SIGN VIRAMA |
|
‘\u200d’ |
Cf |
0 |
ZERO WIDTH JOINER |
|
‘\u092f’ |
Lo |
1 |
DEVANAGARI LETTER YA |
|
‘\u093e’ |
Mc |
0 |
DEVANAGARI VOWEL SIGN AA |
|
‘\u0907’ |
Lo |
1 |
DEVANAGARI LETTER I |
|
‘\u090f’ |
Lo |
1 |
DEVANAGARI LETTER E |
|
‘\u0915’ |
Lo |
1 |
DEVANAGARI LETTER KA |
|
‘\u094b’ |
Mc |
0 |
DEVANAGARI VOWEL SIGN O |
Total codepoints: 11
Shell test using printf(1),
'|'
should align in output:$ printf "\xe0\xa4\xaa\xe0\xa5\x81\xe0\xa4\xb0\xe0\xa5\x8d\xe2\x80\x8d\xe0\xa4\xaf\xe0\xa4\xbe\xe0\xa4\x87\xe0\xa4\x8f\xe0\xa4\x95\xe0\xa5\x8b|\\n12345|\\n" पुर्याइएको| 12345|
python wcwidth.wcswidth() measures width 5, while Kovid Goyal’s kitty measures width 6.
Bengali
Sequence of language Bengali from midpoint of alignment failure records:
Codepoint |
Python |
Category |
wcwidth |
Name |
---|---|---|---|---|
‘\u0989’ |
Lo |
1 |
BENGALI LETTER U |
|
‘\u09a4’ |
Lo |
1 |
BENGALI LETTER TA |
|
‘\u09cd’ |
Mn |
0 |
BENGALI SIGN VIRAMA |
|
‘\u200d’ |
Cf |
0 |
ZERO WIDTH JOINER |
|
‘\u09aa’ |
Lo |
1 |
BENGALI LETTER PA |
|
‘\u09c0’ |
Mc |
0 |
BENGALI VOWEL SIGN II |
|
‘\u09a1’ |
Lo |
1 |
BENGALI LETTER DDA |
|
‘\u09bc’ |
Mn |
0 |
BENGALI SIGN NUKTA |
|
‘\u09a8’ |
Lo |
1 |
BENGALI LETTER NA |
|
‘\u09c7’ |
Mc |
0 |
BENGALI VOWEL SIGN E |
|
‘\u09b0’ |
Lo |
1 |
BENGALI LETTER RA |
Total codepoints: 11
Shell test using printf(1),
'|'
should align in output:$ printf "\xe0\xa6\x89\xe0\xa6\xa4\xe0\xa7\x8d\xe2\x80\x8d\xe0\xa6\xaa\xe0\xa7\x80\xe0\xa6\xa1\xe0\xa6\xbc\xe0\xa6\xa8\xe0\xa7\x87\xe0\xa6\xb0|\\n12345|\\n" উত্পীড়নের| 12345|
python wcwidth.wcswidth() measures width 5, while Kovid Goyal’s kitty measures width 6.