WezTerm

Tested Software version 20230712 on Darwin Full results available at ucs-detect repository path data/macos-WezTerm-20230712.yaml

Wide character support

The best wide unicode table version for WezTerm 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’

79

269

70.6%

‘6.0.0’

0

13

100.0%

‘9.0.0’

0

5000

100.0%

‘10.0.0’

73

735

90.1%

‘11.0.0’

6

62

90.3%

‘12.0.0’

6

62

90.3%

‘12.1.0’

0

1

100.0%

‘13.0.0’

55

541

89.8%

‘14.0.0’

4

41

90.2%

‘15.0.0’

1

15

93.3%

‘15.1.0’

5

5

0.0%

Sequence of a WIDE character from Unicode Version 15.0.0, from midpoint of alignment failure records:

Codepoint

Python

Category

wcwidth

Name

U+0001FABC

‘\U0001fabc’

So

2

JELLYFISH

Total codepoints: 1

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xf0\x9f\xaa\xbc|\\n12|\\n"
    🪼|
    12|
    
  • python wcwidth.wcswidth() measures width 2, while WezTerm measures width 0.

Emoji ZWJ support

The best Emoji ZWJ table version for WezTerm appears to be 15.1, this is from a summary of the following results:

version

n_errors

n_total

pct_success

‘2.0’

0

22

100.0%

‘4.0’

0

579

100.0%

‘5.0’

0

100

100.0%

‘11.0’

0

73

100.0%

‘12.0’

0

112

100.0%

‘12.1’

0

165

100.0%

‘13.0’

0

51

100.0%

‘13.1’

0

83

100.0%

‘14.0’

0

20

100.0%

‘15.0’

0

1

100.0%

‘15.1’

0

109

100.0%

Variation Selector-16 support

Emoji VS-16 results for WezTerm is 100 errors out of 100 total codepoints tested, 0.0% success. Sequence of a NARROW Emoji made WIDE by Variation Selector-16, from midpoint of alignment failure records:

Codepoint

Python

Category

wcwidth

Name

U+0001F325

‘\U0001f325’

So

1

WHITE SUN BEHIND CLOUD

U+FE0F

‘\ufe0f’

Mn

0

VARIATION SELECTOR-16

Total codepoints: 2

  • Shell test using printf(1), '|' should align in output:

    $ printf "\xf0\x9f\x8c\xa5\xef\xb8\x8f|\\n12|\\n"
    🌥️|
    12|
    
  • python wcwidth.wcswidth() measures width 2, while WezTerm measures width 1.

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

U+0D38

‘\u0d38’

Lo

1

MALAYALAM LETTER SA

U+0D30

‘\u0d30’

Lo

1

MALAYALAM LETTER RA

U+0D4D

‘\u0d4d’

Mn

0

MALAYALAM SIGN VIRAMA

U+200D

‘\u200d’

Cf

0

ZERO WIDTH JOINER

U+0D35

‘\u0d35’

Lo

1

MALAYALAM LETTER VA

U+0D4D

‘\u0d4d’

Mn

0

MALAYALAM SIGN VIRAMA

U+0D35

‘\u0d35’

Lo

1

MALAYALAM LETTER VA

U+0D24

‘\u0d24’

Lo

1

MALAYALAM LETTER TA

U+0D4B

‘\u0d4b’

Mc

0

MALAYALAM VOWEL SIGN OO

U+0D28

‘\u0d28’

Lo

1

MALAYALAM LETTER NA

U+0D4D

‘\u0d4d’

Mn

0

MALAYALAM SIGN VIRAMA

U+0D2E

‘\u0d2e’

Lo

1

MALAYALAM LETTER MA

U+0D41

‘\u0d41’

Mn

0

MALAYALAM VOWEL SIGN U

U+0D16

‘\u0d16’

Lo

1

MALAYALAM LETTER KHA

U+0D2E

‘\u0d2e’

Lo

1

MALAYALAM LETTER MA

U+0D3E

‘\u0d3e’

Mc

0

MALAYALAM VOWEL SIGN AA

U+0D2F

‘\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 WezTerm measures width 10.

Sinhala

Sequence of language Sinhala from midpoint of alignment failure records:

Codepoint

Python

Category

wcwidth

Name

U+0DB4

‘\u0db4’

Lo

1

SINHALA LETTER ALPAPRAANA PAYANNA

U+0DCA

‘\u0dca’

Mn

0

SINHALA SIGN AL-LAKUNA

U+200D

‘\u200d’

Cf

0

ZERO WIDTH JOINER

U+0DBB

‘\u0dbb’

Lo

1

SINHALA LETTER RAYANNA

U+0D9A

‘\u0d9a’

Lo

1

SINHALA LETTER ALPAPRAANA KAYANNA

U+0DCF

‘\u0dcf’

Mc

0

SINHALA VOWEL SIGN AELA-PILLA

U+0DC1

‘\u0dc1’

Lo

1

SINHALA LETTER TAALUJA SAYANNA

U+0DB1

‘\u0db1’

Lo

1

SINHALA LETTER DANTAJA NAYANNA

U+0DBA

‘\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 WezTerm measures width 6.

Marathi

Sequence of language Marathi from midpoint of alignment failure records:

Codepoint

Python

Category

wcwidth

Name

U+0915

‘\u0915’

Lo

1

DEVANAGARI LETTER KA

U+0930

‘\u0930’

Lo

1

DEVANAGARI LETTER RA

U+0923

‘\u0923’

Lo

1

DEVANAGARI LETTER NNA

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

U+092F

‘\u092f’

Lo

1

DEVANAGARI LETTER YA

U+093E

‘\u093e’

Mc

0

DEVANAGARI VOWEL SIGN AA

U+0930

‘\u0930’

Lo

1

DEVANAGARI LETTER RA

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

U+200D

‘\u200d’

Cf

0

ZERO WIDTH JOINER

U+092F

‘\u092f’

Lo

1

DEVANAGARI LETTER YA

U+093E

‘\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 WezTerm measures width 6.

Nepali

Sequence of language Nepali from midpoint of alignment failure records:

Codepoint

Python

Category

wcwidth

Name

U+092A

‘\u092a’

Lo

1

DEVANAGARI LETTER PA

U+0941

‘\u0941’

Mn

0

DEVANAGARI VOWEL SIGN U

U+0930

‘\u0930’

Lo

1

DEVANAGARI LETTER RA

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

U+200D

‘\u200d’

Cf

0

ZERO WIDTH JOINER

U+092F

‘\u092f’

Lo

1

DEVANAGARI LETTER YA

U+093E

‘\u093e’

Mc

0

DEVANAGARI VOWEL SIGN AA

U+0907

‘\u0907’

Lo

1

DEVANAGARI LETTER I

U+090F

‘\u090f’

Lo

1

DEVANAGARI LETTER E

U+0915

‘\u0915’

Lo

1

DEVANAGARI LETTER KA

U+094B

‘\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 WezTerm measures width 6.

Bengali

Sequence of language Bengali from midpoint of alignment failure records:

Codepoint

Python

Category

wcwidth

Name

U+0989

‘\u0989’

Lo

1

BENGALI LETTER U

U+09A4

‘\u09a4’

Lo

1

BENGALI LETTER TA

U+09CD

‘\u09cd’

Mn

0

BENGALI SIGN VIRAMA

U+200D

‘\u200d’

Cf

0

ZERO WIDTH JOINER

U+09AA

‘\u09aa’

Lo

1

BENGALI LETTER PA

U+09C0

‘\u09c0’

Mc

0

BENGALI VOWEL SIGN II

U+09A1

‘\u09a1’

Lo

1

BENGALI LETTER DDA

U+09BC

‘\u09bc’

Mn

0

BENGALI SIGN NUKTA

U+09A8

‘\u09a8’

Lo

1

BENGALI LETTER NA

U+09C7

‘\u09c7’

Mc

0

BENGALI VOWEL SIGN E

U+09B0

‘\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 WezTerm measures width 6.