GNU Screen

Tested Software version 5.0.1 on Linux. Full results available at ucs-detect repository path data/screen.yaml.

Score Breakdown

Detailed breakdown of how scores are calculated for GNU Screen:

#

Score Type

Raw Score

Final Scaled Score

1

WIDE

99.53%

99.3%

2

NARROW

99.96%

100.0%

3

ZWJ

0.69%

0.7%

4

LANG

91.10%

91.1%

5

VS16

50.00%

50.0%

6

VS15

0.00%

(excluded)

7

SRI

0.00%

0.0%

8

SFZ

100.00%

100.0%

9

RI

100.00%

100.0%

10

FEAT

3.12%

3.3%

11

Graphics

0%

0.0%

12

Resources

49.1%

49.1%

Score Comparison Plot:

The following plot shows how this terminal’s scores compare to all other terminals tested.

../_images/gnuscreen_scores_scaled.png

Scaled scores comparison across all metrics (normalized 0-100%)

Final Scaled Score Calculation:

  • Raw Final Score: 51.96% (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: 29.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: 43386

  • Total codepoints tested: 43592

  • Formula: 43386 / 43592

  • Result: 99.53%

NARROW Score Details:

Narrow character support calculation:

  • Total successful codepoints: 36239

  • Total codepoints tested: 36254

  • Formula: 36239 / 36254

  • Result: 99.96%

ZWJ Score Details:

Emoji ZWJ (Zero-Width Joiner) support calculation:

  • Total successful sequences: 10

  • Total sequences tested: 1445

  • Formula: 10 / 1445

  • Result: 0.69%

VS16 Score Details:

Variation Selector-16 support calculation:

  • Errors: 213 of 426 codepoints tested

  • Success rate: 50.0%

  • Formula: 50.0 / 100

  • Result: 50.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: 5

  • Total codepoints tested: 5

  • Formula: 5 / 5

  • Result: 100.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 (0.5 / 16):

Raw score: 3.12%

Graphics Score Details:

Graphics protocol support (0%):

  • Sixel: no

  • ReGIS: no

  • iTerm2: no

  • Kitty: no

Scoring: 100% for modern (iTerm2/Kitty), 50% for legacy only (Sixel/ReGIS), 0% for none

Resource Score Details:

  • Duration: 899.7s

  • Mean CPU: 0.0%

  • Mean RSS: 180.5 MB

  • Resources Score: 49/100

  • Note: log-scale composite cost = log(CPU+1) + log(RSS+1) + log(time+1)

  • Scaled result: 49.1%

LANG Score Details (Geometric Mean):

Geometric mean calculation:

  • Formula: (p₁ × p₂ × … × pₙ)^(1/n) where n = 118 languages

  • About geometric mean

  • Result: 91.10%

Wide character support

Wide character support of GNU Screen is 99.5% (206 errors of 43592 codepoints tested).

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

#

Codepoint

Python

Category

wcwidth

Name

1

U+0001D32F

‘\U0001d32f’

So

2

TETRAGRAM FOR GOING TO MEET

Total codepoints: 1

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

    $ printf "\xf0\x9d\x8c\xaf|\\n12|\\n"
    𝌯|
    12|
    
  • See Line 42282 of ucs_wide.txt for this sequence in the example file.

Screenshot:

Terminal screenshot of the rendering discrepancy

Narrow character support

Narrow character support of GNU Screen is 100.0% (15 errors of 36254 codepoints tested).

Sequence of a NARROW character, from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+3248

‘\u3248’

No

1

CIRCLED NUMBER TEN ON BLACK SQUARE

Total codepoints: 1

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

    $ printf "\xe3\x89\x88|\\n1|\\n"
    ㉈|
    1|
    
  • python wcwidth.wcswidth() measures width 1, while GNU Screen measures width 2.

Emoji ZWJ support

Compatibility of GNU Screen with the Unicode Emoji ZWJ sequence table is 0.7% (1435 errors of 1445 sequences tested).

Sequence of an Emoji ZWJ Sequence, from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0001F3C3

‘\U0001f3c3’

So

2

RUNNER

2

U+0001F3FE

‘\U0001f3fe’

Sk

2

EMOJI MODIFIER FITZPATRICK TYPE-5

3

U+200D

‘\u200d’

Cf

0

ZERO WIDTH JOINER

4

U+2640

‘\u2640’

So

1

FEMALE SIGN

5

U+FE0F

‘\ufe0f’

Mn

0

VARIATION SELECTOR-16

6

U+200D

‘\u200d’

Cf

0

ZERO WIDTH JOINER

7

U+27A1

‘\u27a1’

So

1

BLACK RIGHTWARDS ARROW

8

U+FE0F

‘\ufe0f’

Mn

0

VARIATION SELECTOR-16

Total codepoints: 8

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

    $ printf "\xf0\x9f\x8f\x83\xf0\x9f\x8f\xbe\xe2\x80\x8d\xe2\x99\x80\xef\xb8\x8f\xe2\x80\x8d\xe2\x9e\xa1\xef\xb8\x8f|\\n12|\\n"
    🏃🏾‍♀️‍➡️|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Variation Selector-16 support

Emoji VS-16 results for GNU Screen is 213 errors out of 426 total codepoints tested, 50.0% success. Sequence of a NARROW Emoji made WIDE by Variation Selector-16, from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+2733

‘\u2733’

So

1

EIGHT SPOKED ASTERISK

2

U+FE0F

‘\ufe0f’

Mn

0

VARIATION SELECTOR-16

Total codepoints: 2

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

    $ printf "\xe2\x9c\xb3\xef\xb8\x8f|\\n12|\\n"
    ✳️|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Variation Selector-15 support

Emoji VS-15 results for GNU Screen 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

U+0001F3AE

‘\U0001f3ae’

So

2

VIDEO GAME

2

U+FE0E

‘\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|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Standalone Regional Indicator support

Standalone Regional Indicator support of GNU Screen 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

U+0001F1F3

‘\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|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Standalone Fitzpatrick modifier support

Standalone Fitzpatrick skin tone modifier support of GNU Screen is 100.0% (0 errors of 5 codepoints tested).

Regional Indicator flag sequence support

Regional Indicator flag sequence support of GNU Screen is 100.0% (0 errors of 262 sequences tested).

Graphics Protocol Support

GNU Screen does not report support for any graphics protocols.

Detection Methods:

  • Sixel and ReGIS: Detected via the Device Attributes (DA1) query CSI c (\x1b[c). Extension code 4 indicates Sixel support, 3 ReGIS.

  • Kitty graphics: Detected by sending a Kitty graphics query and checking for an OK response.

  • iTerm2 inline images: Detected via the iTerm2 capabilities query OSC 1337 ; Capabilities.

Device Attributes Response:

  • Extensions reported: 2

  • Sixel indicator (4): not present

  • ReGIS indicator (3): not present

Language Support

The following 93 languages were tested with 100% success:

(Jinan), (Yeonbyeon), Aja, Amarakaeri, Arabic, Standard, Assyrian Neo-Aramaic, Baatonum, Bamun, Belanda Viri, Bora, Catalan (2), Chickasaw, Chinantec, Chiltepec, Chinese, Gan, Chinese, Hakka, Chinese, Jinyu, Chinese, Mandarin (Beijing), Chinese, Mandarin (Guiyang), Chinese, Mandarin (Harbin), Chinese, Mandarin (Nanjing), Chinese, Mandarin (Simplified), Chinese, Mandarin (Tianjin), Chinese, Mandarin (Traditional), Chinese, Min Nan, Chinese, Wu, Chinese, Xiang, Chinese, Yue, Colorado, Dagaare, Southern, Dangme, Dari, Dendi, Dinka, Northeastern, Ditammari, Dzongkha, Evenki, Farsi, Western, Fon, French (Welche), Fur, Ga, Gen, Gilyak, Gumuz, Japanese, Japanese (Osaka), Japanese (Tokyo), Kabyle, Korean, Lamnso’, Lao, Lingala (tones), Maldivian, Maori (2), Mazahua Central, Mirandese, Mixtec, Metlatónoc, Mongolian, Halh (Mongolian), Mòoré, Nanai, Navajo, Nuosu, Orok, Otomi, Mezquital, Panjabi, Eastern, Panjabi, Western, Pashto, Northern, Picard, Saint Lucian Creole French, Secoya, Seraiki, Shipibo-Conibo, Sinhala, Siona, South Azerbaijani, Tagalog (Tagalog), Tamazight, Central Atlas, Tamil, Tamil (Sri Lanka), Tem, Thai, Thai (2), Tibetan, Central, Ticuna, Uduk, Veps, Vietnamese, Vietnamese (Han nom), Waama, Yaneshaʼ, Yiddish, Eastern, Yoruba, Éwé.

The following 25 languages are not fully supported:

lang

n_errors

n_total

pct_success

Khün

337

396

14.9%

Javanese (Javanese)

449

530

15.3%

Chakma

200

267

25.1%

Tai Dam

120

189

36.5%

Mon

130

332

60.8%

Shan

63

181

65.2%

Burmese

80

268

70.1%

Sanskrit

145

493

70.6%

Malayalam

246

845

70.9%

Sanskrit (Grantha)

79

293

73.0%

Pular (Adlam)

24

93

74.2%

Bengali

96

385

75.1%

Marathi

86

391

78.0%

Hindi

82

390

79.0%

Khmer, Central

90

443

79.7%

Maithili

71

357

80.1%

Nepali

69

352

80.4%

Tamang, Eastern

11

70

84.3%

Gujarati

50

343

85.4%

Magahi

43

314

86.3%

Bhojpuri

41

313

86.9%

Telugu

42

384

89.1%

Kannada

14

287

95.1%

Urdu (2)

1

82

98.8%

Urdu

1

110

99.1%

Khün

Sequence of language Khün from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+1A20

‘\u1a20’

Lo

1

TAI THAM LETTER HIGH KA

2

U+1A60

‘\u1a60’

Mn

0

TAI THAM SIGN SAKOT

3

U+1A20

‘\u1a20’

Lo

1

TAI THAM LETTER HIGH KA

Total codepoints: 3

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

    $ printf "\xe1\xa8\xa0\xe1\xa9\xa0\xe1\xa8\xa0|\\n12|\\n"
    ᨠ᩠ᨠ|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Javanese (Javanese)

Sequence of language Javanese (Javanese) from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+A98F

‘\ua98f’

Lo

1

JAVANESE LETTER KA

2

U+A9BA

‘\ua9ba’

Mc

0

JAVANESE VOWEL SIGN TALING

3

U+A9B4

‘\ua9b4’

Mc

0

JAVANESE VOWEL SIGN TARUNG

Total codepoints: 3

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

    $ printf "\xea\xa6\x8f\xea\xa6\xba\xea\xa6\xb4|\\n12|\\n"
    ꦏꦺꦴ|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Chakma

Sequence of language Chakma from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+00011103

‘\U00011103’

Lo

1

CHAKMA LETTER AA

2

U+0001112C

‘\U0001112c’

Mc

0

CHAKMA VOWEL SIGN E

3

U+0001112D

‘\U0001112d’

Mn

0

CHAKMA VOWEL SIGN AI

Total codepoints: 3

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

    $ printf "\xf0\x91\x84\x83\xf0\x91\x84\xac\xf0\x91\x84\xad|\\n12|\\n"
    𑄃𑄬𑄭|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Tai Dam

Sequence of language Tai Dam from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+AA80

‘\uaa80’

Lo

1

TAI VIET LETTER LOW KO

2

U+AAB0

‘\uaab0’

Mn

0

TAI VIET MAI KANG

Total codepoints: 2

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

    $ printf "\xea\xaa\x80\xea\xaa\xb0|\\n1|\\n"
    ꪀꪰ|
    1|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Mon

Sequence of language Mon from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+1000

‘\u1000’

Lo

1

MYANMAR LETTER KA

2

U+1060

‘\u1060’

Mn

0

MYANMAR CONSONANT SIGN MON MEDIAL LA

3

U+1031

‘\u1031’

Mc

0

MYANMAR VOWEL SIGN E

Total codepoints: 3

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

    $ printf "\xe1\x80\x80\xe1\x81\xa0\xe1\x80\xb1|\\n12|\\n"
    ကၠေ|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Shan

Sequence of language Shan from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+1004

‘\u1004’

Lo

1

MYANMAR LETTER NGA

2

U+103A

‘\u103a’

Mn

0

MYANMAR SIGN ASAT

Total codepoints: 2

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

    $ printf "\xe1\x80\x84\xe1\x80\xba|\\n1|\\n"
    င်|
    1|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Burmese

Sequence of language Burmese from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+1000

‘\u1000’

Lo

1

MYANMAR LETTER KA

2

U+103A

‘\u103a’

Mn

0

MYANMAR SIGN ASAT

3

U+103B

‘\u103b’

Mc

0

MYANMAR CONSONANT SIGN MEDIAL YA

Total codepoints: 3

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

    $ printf "\xe1\x80\x80\xe1\x80\xba\xe1\x80\xbb|\\n12|\\n"
    က်ျ|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Sanskrit

Sequence of language Sanskrit from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0915

‘\u0915’

Lo

1

DEVANAGARI LETTER KA

2

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

3

U+0924

‘\u0924’

Lo

1

DEVANAGARI LETTER TA

4

U+093F

‘\u093f’

Mc

0

DEVANAGARI VOWEL SIGN I

Total codepoints: 4

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

    $ printf "\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xa4\xe0\xa4\xbf|\\n12|\\n"
    क्ति|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Malayalam

Sequence of language Malayalam from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0D15

‘\u0d15’

Lo

1

MALAYALAM LETTER KA

2

U+0D4D

‘\u0d4d’

Mn

0

MALAYALAM SIGN VIRAMA

3

U+0D15

‘\u0d15’

Lo

1

MALAYALAM LETTER KA

4

U+0D3E

‘\u0d3e’

Mc

0

MALAYALAM VOWEL SIGN AA

Total codepoints: 4

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

    $ printf "\xe0\xb4\x95\xe0\xb5\x8d\xe0\xb4\x95\xe0\xb4\xbe|\\n12|\\n"
    ക്കാ|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Sanskrit (Grantha)

Sequence of language Sanskrit (Grantha) from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+00011315

‘\U00011315’

Lo

1

GRANTHA LETTER KA

2

U+0001133E

‘\U0001133e’

Mc

0

GRANTHA VOWEL SIGN AA

3

U+00011302

‘\U00011302’

Mc

0

GRANTHA SIGN ANUSVARA

Total codepoints: 3

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

    $ printf "\xf0\x91\x8c\x95\xf0\x91\x8c\xbe\xf0\x91\x8c\x82|\\n12|\\n"
    𑌕𑌾𑌂|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Pular (Adlam)

Sequence of language Pular (Adlam) from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0001E900

‘\U0001e900’

Lu

1

ADLAM CAPITAL LETTER ALIF

2

U+0001E944

‘\U0001e944’

Mn

0

ADLAM ALIF LENGTHENER

Total codepoints: 2

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

    $ printf "\xf0\x9e\xa4\x80\xf0\x9e\xa5\x84|\\n1|\\n"
    𞤀𞥄|
    1|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Bengali

Sequence of language Bengali from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0995

‘\u0995’

Lo

1

BENGALI LETTER KA

2

U+09BF

‘\u09bf’

Mc

0

BENGALI VOWEL SIGN I

3

U+0982

‘\u0982’

Mc

0

BENGALI SIGN ANUSVARA

Total codepoints: 3

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

    $ printf "\xe0\xa6\x95\xe0\xa6\xbf\xe0\xa6\x82|\\n12|\\n"
    কিং|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Marathi

Sequence of language Marathi from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0915

‘\u0915’

Lo

1

DEVANAGARI LETTER KA

2

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

3

U+0924

‘\u0924’

Lo

1

DEVANAGARI LETTER TA

4

U+093F

‘\u093f’

Mc

0

DEVANAGARI VOWEL SIGN I

Total codepoints: 4

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

    $ printf "\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xa4\xe0\xa4\xbf|\\n12|\\n"
    क्ति|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Hindi

Sequence of language Hindi from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0915

‘\u0915’

Lo

1

DEVANAGARI LETTER KA

2

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

3

U+0924

‘\u0924’

Lo

1

DEVANAGARI LETTER TA

4

U+093F

‘\u093f’

Mc

0

DEVANAGARI VOWEL SIGN I

Total codepoints: 4

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

    $ printf "\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xa4\xe0\xa4\xbf|\\n12|\\n"
    क्ति|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Khmer, Central

Sequence of language Khmer, Central from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+1780

‘\u1780’

Lo

1

KHMER LETTER KA

2

U+17D2

‘\u17d2’

Mn

0

KHMER SIGN COENG

3

U+178A

‘\u178a’

Lo

1

KHMER LETTER DA

4

U+17C5

‘\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|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Maithili

Sequence of language Maithili from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0915

‘\u0915’

Lo

1

DEVANAGARI LETTER KA

2

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

3

U+0924

‘\u0924’

Lo

1

DEVANAGARI LETTER TA

4

U+093F

‘\u093f’

Mc

0

DEVANAGARI VOWEL SIGN I

Total codepoints: 4

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

    $ printf "\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xa4\xe0\xa4\xbf|\\n12|\\n"
    क्ति|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Nepali

Sequence of language Nepali from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0915

‘\u0915’

Lo

1

DEVANAGARI LETTER KA

2

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

3

U+0924

‘\u0924’

Lo

1

DEVANAGARI LETTER TA

4

U+093F

‘\u093f’

Mc

0

DEVANAGARI VOWEL SIGN I

Total codepoints: 4

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

    $ printf "\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xa4\xe0\xa4\xbf|\\n12|\\n"
    क्ति|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Tamang, Eastern

Sequence of language Tamang, Eastern from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0915

‘\u0915’

Lo

1

DEVANAGARI LETTER KA

2

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

3

U+0924

‘\u0924’

Lo

1

DEVANAGARI LETTER TA

4

U+093F

‘\u093f’

Mc

0

DEVANAGARI VOWEL SIGN I

Total codepoints: 4

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

    $ printf "\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xa4\xe0\xa4\xbf|\\n12|\\n"
    क्ति|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Gujarati

Sequence of language Gujarati from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0A95

‘\u0a95’

Lo

1

GUJARATI LETTER KA

2

U+0ACD

‘\u0acd’

Mn

0

GUJARATI SIGN VIRAMA

3

U+0A95

‘\u0a95’

Lo

1

GUJARATI LETTER KA

4

U+0ABE

‘\u0abe’

Mc

0

GUJARATI VOWEL SIGN AA

Total codepoints: 4

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

    $ printf "\xe0\xaa\x95\xe0\xab\x8d\xe0\xaa\x95\xe0\xaa\xbe|\\n12|\\n"
    ક્કા|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Magahi

Sequence of language Magahi from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0915

‘\u0915’

Lo

1

DEVANAGARI LETTER KA

2

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

3

U+0924

‘\u0924’

Lo

1

DEVANAGARI LETTER TA

4

U+093F

‘\u093f’

Mc

0

DEVANAGARI VOWEL SIGN I

Total codepoints: 4

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

    $ printf "\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\xa4\xe0\xa4\xbf|\\n12|\\n"
    क्ति|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Bhojpuri

Sequence of language Bhojpuri from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0915

‘\u0915’

Lo

1

DEVANAGARI LETTER KA

2

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

3

U+0918

‘\u0918’

Lo

1

DEVANAGARI LETTER GHA

4

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

5

U+0918

‘\u0918’

Lo

1

DEVANAGARI LETTER GHA

6

U+093F

‘\u093f’

Mc

0

DEVANAGARI VOWEL SIGN I

7

U+094D

‘\u094d’

Mn

0

DEVANAGARI SIGN VIRAMA

Total codepoints: 7

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

    $ printf "\xe0\xa4\x95\xe0\xa5\x8d\xe0\xa4\x98\xe0\xa5\x8d\xe0\xa4\x98\xe0\xa4\xbf\xe0\xa5\x8d|\\n12|\\n"
    क्घ्घि्|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Telugu

Sequence of language Telugu from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0C15

‘\u0c15’

Lo

1

TELUGU LETTER KA

2

U+0C41

‘\u0c41’

Mc

0

TELUGU VOWEL SIGN U

3

U+0C02

‘\u0c02’

Mc

0

TELUGU SIGN ANUSVARA

Total codepoints: 3

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

    $ printf "\xe0\xb0\x95\xe0\xb1\x81\xe0\xb0\x82|\\n12|\\n"
    కుం|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Kannada

Sequence of language Kannada from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0C95

‘\u0c95’

Lo

1

KANNADA LETTER KA

2

U+0CBE

‘\u0cbe’

Mc

0

KANNADA VOWEL SIGN AA

3

U+0C82

‘\u0c82’

Mc

0

KANNADA SIGN ANUSVARA

Total codepoints: 3

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

    $ printf "\xe0\xb2\x95\xe0\xb2\xbe\xe0\xb2\x82|\\n12|\\n"
    ಕಾಂ|
    12|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Urdu (2)

Sequence of language Urdu (2) from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0601

‘\u0601’

Cf

1

ARABIC SIGN SANAH

2

U+06F1

‘\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|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

Urdu

Sequence of language Urdu from midpoint of alignment failure records:

#

Codepoint

Python

Category

wcwidth

Name

1

U+0601

‘\u0601’

Cf

1

ARABIC SIGN SANAH

2

U+06F1

‘\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|
    

Screenshot:

Terminal screenshot of the rendering discrepancy

DEC Private Modes Support

This Terminal does not appear capable of reporting about any DEC Private modes.

Kitty Keyboard Protocol

GNU Screen does not support the Kitty keyboard protocol.

XTGETTCAP (Terminfo Capabilities)

GNU Screen does not support the XTGETTCAP sequence.

Text Sizing Protocol (OSC 66)

GNU Screen does not support the Text Sizing protocol.

Truecolor Support

GNU Screen supports 24-bit truecolor, detectable via:

  • XTGETTCAP (RGB capability): no

  • DECRQSS (truecolor probe): no

  • COLORTERM: yes (truecolor)

Warning

COLORTERM is an environment variable, not a terminal query. It is not forwarded over SSH without SendEnv / AcceptEnv configuration, so detection via COLORTERM alone may be unreliable on remote hosts.

OSC 52 Clipboard Support

GNU Screen does not advertise OSC 52 clipboard support via DA1 extension 52 or XTGETTCAP Ms.

  • DA1 extension 52: no

  • XTGETTCAP Ms: no

Terminal Identification

GNU Screen could not be identified via XTVERSION, XTGETTCAP TN, ENQ, or TERM_PROGRAM.

  • XTVERSION: no

  • XTGETTCAP TN: no

  • ENQ: no

  • TERM_PROGRAM: no

  • TERM: yes (screen)

Reproduction

To reproduce these results for GNU Screen, install and run ucs-detect with the following commands:

uvx ucs-detect --rerun data/screen.yaml

Test Performance

The test suite completed in 899.72 seconds (899s).

  • Mean CPU: 0.0%

  • Mean RSS: 180.5 MB

  • Total time: 899.7s

CPU usage over time

CPU usage during test execution for GNU Screen.

RSS memory over time

RSS memory usage during test execution for GNU Screen.

Duration comparison

Test duration for GNU Screen compared to all other terminals.

CPU % vs Duration

CPU % vs duration trade-off for GNU Screen.