.. _apple_terminal: Apple_Terminal -------------- Tested Software version 488 on Darwin. Full results available at ucs-detect_ repository path `data/terminalapp.yaml `_. .. _apple_terminal_scores: Score Breakdown +++++++++++++++ Detailed breakdown of how scores are calculated for *Apple_Terminal*: .. table:: :class: sphinx-datatable === ============================================= =========== ==================== # Score Type Raw Score Final Scaled Score === ============================================= =========== ==================== 1 :ref:`WIDE ` 94.86% 93.6% 2 :ref:`NARROW ` 98.30% 98.1% 3 :ref:`ZWJ ` 0.00% 0.0% 4 :ref:`LANG ` 90.23% 90.2% 5 :ref:`VS16 ` 50.00% 50.0% 6 :ref:`VS15 ` 0.00% *(excluded)* 7 :ref:`SRI ` 0.00% 0.0% 8 :ref:`SFZ ` 100.00% 100.0% 9 :ref:`RI ` 98.85% 98.9% 10 :ref:`FEAT ` 11.11% 11.1% 11 :ref:`Graphics ` 0% 0.0% 12 :ref:`Resources ` N/A N/A === ============================================= =========== ==================== **Score Comparison Plot:** The following plot shows how this terminal's scores compare to all other terminals tested. .. figure:: ../_static/plots/apple_terminal_scores_scaled.png :align: center :width: 800px Scaled scores comparison across all metrics (normalized 0-100%) **Final Scaled Score Calculation:** - Raw Final Score: 58.37% (weighted average: WIDE + NARROW + ZWJ + LANG + VS16 + 0.33 * SRI + 0.33 * SFZ + RI + CAP + 0.5 * GFX) the categorized 'average' absolute support level of this terminal. .. note:: RSC (Resources) is a composite CPU, memory, and runtime score, displayed for comparison but excluded from the final score 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: 31.2% (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 contested codepoints: 480 - Total contested codepoints tested: 506 - Formula: 480 / 506 - Result: 94.86% **NARROW Score Details:** Narrow character support calculation: - Total successful contested codepoints: 5500 - Total contested codepoints tested: 5595 - Formula: 5500 / 5595 - Result: 98.30% **ZWJ Score Details:** Emoji ZWJ (Zero-Width Joiner) support calculation: - Total successful sequences: 0 - Total sequences tested: 1445 - Formula: 0 / 1445 - Result: 0.00% **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% **Variation Selector-15 support:** .. note:: Interpretation of VS-15 is `contested `_. Its width behavior is not consistently implemented across terminals; this measurement is informational and excluded from final scoring. 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: 259 - Total sequences tested: 262 - Formula: 259 / 262 - Result: 98.85% .. _apple_terminal_features_details: **Features Score Details:** Notable terminal features (2.0 / 18): - :ref:`Set bracketed paste mode (2004) `: **no** - :ref:`Synchronized Output (2026) `: **no** - :ref:`In-Band Window Resize Notifications (2048) `: **no** - :ref:`Send FocusIn/FocusOut events (1004) `: **no** - :ref:`Enable SGR Mouse Mode (1006) `: **no** - :ref:`Grapheme Clustering (2027) `: **no** - :ref:`Bracketed Paste MIME (5522) `: **no** - :ref:`Kitty Keyboard `: **no** - :ref:`XTGETTCAP `: **no** - :ref:`Text Sizing (OSC 66) `: **no** - :ref:`Tofu Detection `: **no** - :ref:`Kitty Clipboard Protocol `: **no** - :ref:`OSC 52 Clipboard `: **no** - :ref:`Kitty Pointer Shapes (OSC 22) `: **no** - :ref:`Kitty Notifications (OSC 99) `: **no** - :ref:`Color Report (OSC 10/11) `: **yes** - :ref:`Terminal Identification (TERM_PROGRAM) `: **partial** - :ref:`Truecolor Detection `: **partial** Raw score: 11.11% **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:** Resource profiling data not available. **LANG Score Details (Geometric Mean):** Geometric mean calculation: - Formula: (p₁ × p₂ × ... × pₙ)^(1/n) where n = 85 contested languages - About `geometric mean `_ - Result: 90.23% .. _apple_terminal_wide: Wide character support ++++++++++++++++++++++ Wide character support of *Apple_Terminal* is **97.8%** (1002 errors of 44568 codepoints tested). Sequence of a WIDE character, from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ================================================= ============= ========== ========= ====== # Codepoint Python Category wcwidth Name === ================================================= ============= ========== ========= ====== 1 `U+00018FF5 `_ '\\U00018ff5' Cn 2 na === ================================================= ============= ========== ========= ====== Total codepoints: 1 - Shell test using `printf(1)`_, ``'|'`` should align in output:: $ printf "\xf0\x98\xbf\xb5|\\n12|\\n" 𘿵| 12| - python `wcwidth.wcswidth()`_ measures width 2, while *Apple_Terminal* measures width 1. .. _apple_terminal_narrow: Narrow character support ++++++++++++++++++++++++ Narrow character support of *Apple_Terminal* is **99.7%** (95 errors of 36254 codepoints tested). Sequence of a NARROW character, from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= ====== # Codepoint Python Category wcwidth Name === ========================================= ========= ========== ========= ====== 1 `U+F8A7 `_ '\\uf8a7' Co 1 na === ========================================= ========= ========== ========= ====== Total codepoints: 1 - Shell test using `printf(1)`_, ``'|'`` should align in output:: $ printf "\xef\xa2\xa7|\\n1|\\n" | 1| - python `wcwidth.wcswidth()`_ measures width 1, while *Apple_Terminal* measures width 2. .. _apple_terminal_zwj: Emoji ZWJ support +++++++++++++++++ Compatibility of *Apple_Terminal* with the Unicode Emoji ZWJ sequence table is **0.0%** (1445 errors of 1445 sequences tested). Sequence of an Emoji ZWJ Sequence, from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ================================================= ============= ========== ========= ================================= # Codepoint Python Category wcwidth Name === ================================================= ============= ========== ========= ================================= 1 `U+0001F3C3 `_ '\\U0001f3c3' So 2 RUNNER 2 `U+0001F3FF `_ '\\U0001f3ff' Sk 2 EMOJI MODIFIER FITZPATRICK TYPE-6 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 === ================================================= ============= ========== ========= ================================= Total codepoints: 5 - Shell test using `printf(1)`_, ``'|'`` should align in output:: $ printf "\xf0\x9f\x8f\x83\xf0\x9f\x8f\xbf\xe2\x80\x8d\xe2\x99\x80\xef\xb8\x8f|\\n12|\\n" 🏃🏿‍♀️| 12| - python `wcwidth.wcswidth()`_ measures width 2, while *Apple_Terminal* measures width 6. .. _apple_terminal_vs16: Variation Selector-16 support +++++++++++++++++++++++++++++ Emoji VS-16 results for *Apple_Terminal* 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: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= ===================== # 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| - python `wcwidth.wcswidth()`_ measures width 2, while *Apple_Terminal* measures width 1. .. _apple_terminal_vs15: Variation Selector-15 support +++++++++++++++++++++++++++++ Emoji VS-15 results for *Apple_Terminal* 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: .. table:: :class: sphinx-datatable === ================================================= ============= ========== ========= ===================== # 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| - python `wcwidth.wcswidth()`_ measures width 1, while *Apple_Terminal* measures width 2. .. _apple_terminal_sri: Standalone Regional Indicator support +++++++++++++++++++++++++++++++++++++ Standalone Regional Indicator support of *Apple_Terminal* is **0.0%** (26 errors of 26 codepoints tested). Sequence of a standalone Regional Indicator, from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ================================================= ============= ========== ========= ================================== # 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| - python `wcwidth.wcswidth()`_ measures width 2, while *Apple_Terminal* measures width 1. .. _apple_terminal_sfz: Standalone Fitzpatrick modifier support +++++++++++++++++++++++++++++++++++++++ Standalone Fitzpatrick skin tone modifier support of *Apple_Terminal* is **100.0%** (0 errors of 5 codepoints tested). .. _apple_terminal_ri: Regional Indicator flag sequence support ++++++++++++++++++++++++++++++++++++++++ Regional Indicator flag sequence support of *Apple_Terminal* is **98.9%** (3 errors of 262 sequences tested). Sequence of a Regional Indicator flag sequence, from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ================================================= ============= ========== ========= ======================== # Codepoint Python Category wcwidth Name === ================================================= ============= ========== ========= ======================== 1 `U+0001F3F4 `_ '\\U0001f3f4' So 2 WAVING BLACK FLAG 2 `U+000E0067 `_ '\\U000e0067' Cf 0 TAG LATIN SMALL LETTER G 3 `U+000E0062 `_ '\\U000e0062' Cf 0 TAG LATIN SMALL LETTER B 4 `U+000E0073 `_ '\\U000e0073' Cf 0 TAG LATIN SMALL LETTER S 5 `U+000E0063 `_ '\\U000e0063' Cf 0 TAG LATIN SMALL LETTER C 6 `U+000E0074 `_ '\\U000e0074' Cf 0 TAG LATIN SMALL LETTER T 7 `U+000E007F `_ '\\U000e007f' Cf 0 CANCEL TAG === ================================================= ============= ========== ========= ======================== Total codepoints: 7 - Shell test using `printf(1)`_, ``'|'`` should align in output:: $ printf "\xf0\x9f\x8f\xb4\xf3\xa0\x81\xa7\xf3\xa0\x81\xa2\xf3\xa0\x81\xb3\xf3\xa0\x81\xa3\xf3\xa0\x81\xb4\xf3\xa0\x81\xbf|\\n12|\\n" 🏴󠁧󠁢󠁳󠁣󠁴󠁿| 12| - python `wcwidth.wcswidth()`_ measures width 2, while *Apple_Terminal* measures width 8. .. _apple_terminal_graphics: Graphics Protocol Support +++++++++++++++++++++++++ *Apple_Terminal* does not report support for any graphics protocols. **Detection Methods:** - **Sixel** and **ReGIS**: **Not detected** via the :ref:`Device Attributes ` (DA1) query ``CSI c`` (``\x1b[c``). Sixel indicator (``4``): not present, ReGIS indicator (``3``): not present. - **Kitty graphics**: Not detected by sending a Kitty graphics query and checking for an ``OK`` response. - **iTerm2 inline images**: Not detected by drawing a 1x1 transparent image, ``OSC 1337 ; File=inline=1``, and checking that the cursor advanced a single column. - **iTerm2 capabilities**: Not detected via the ``OSC 1337 ; Capabilities`` query, which does not describe image support, and does not contribute to this score. .. _Sixel: https://en.wikipedia.org/wiki/Sixel .. _ReGIS: https://en.wikipedia.org/wiki/ReGIS .. _`iTerm2 inline images`: https://iterm2.com/documentation-images.html .. _apple_terminal_device_attributes: Device Attributes +++++++++++++++++ - **Raw response:** ``'\x1b[?1;2c'`` - **Service class:** 1 (VT100) **Detected Extensions:** ====== ============= Code Description ====== ============= 2 Printer port ====== ============= .. _apple_terminal_lang: Language Support ++++++++++++++++ The following 94 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, Dendi, Dinka, Northeastern, Ditammari, Dzongkha, Evenki, 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, Pashto, Northern, Picard, Pular (Adlam), Saint Lucian Creole French, Secoya, Seraiki, Shan, Shipibo-Conibo, Siona, South Azerbaijani, Tagalog (Tagalog), Tai Dam, Tamazight, Central Atlas, Tamil, Tamil (Sri Lanka), Tem, Thai, Thai (2), Tibetan, Central, Ticuna, Uduk, Urdu, Urdu (2), Veps, Vietnamese, Vietnamese (Han nom), Waama, Yaneshaʼ, Yiddish, Eastern, Yoruba, Éwé. The following 24 languages are not fully supported: .. table:: :class: sphinx-datatable ================================================================= ========== ========= ============= lang n_errors n_total pct_success ================================================================= ========== ========= ============= :ref:`Javanese (Javanese) ` 321 530 39.4% :ref:`Malayalam ` 272 844 67.8% :ref:`Bengali ` 117 385 69.6% :ref:`Sanskrit ` 145 493 70.6% :ref:`Marathi ` 88 391 77.5% :ref:`Hindi ` 82 390 79.0% :ref:`Sanskrit (Grantha) ` 61 293 79.2% :ref:`Khmer, Central ` 90 443 79.7% :ref:`Maithili ` 71 357 80.1% :ref:`Nepali ` 70 352 80.1% :ref:`Khün ` 74 419 82.3% :ref:`Tamang, Eastern ` 11 70 84.3% :ref:`Gujarati ` 50 343 85.4% :ref:`Magahi ` 43 314 86.3% :ref:`Bhojpuri ` 41 313 86.9% :ref:`Telugu ` 42 384 89.1% :ref:`Farsi, Western ` 4 49 91.8% :ref:`Dari ` 4 54 92.6% :ref:`Kannada ` 15 287 94.8% :ref:`Chakma ` 13 267 95.1% :ref:`Sinhala ` 11 258 95.7% :ref:`Burmese ` 10 268 96.3% :ref:`Mon ` 7 332 97.9% :ref:`Panjabi, Western ` 1 62 98.4% ================================================================= ========== ========= ============= .. _apple_terminal_lang_javanesejavanese: Javanese (Javanese) ^^^^^^^^^^^^^^^^^^^ Sequence of language *Javanese (Javanese)* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= ========================== # 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| - python `wcwidth.wcswidth()`_ measures width 2, while *Apple_Terminal* measures width 3. .. _apple_terminal_lang_malayalam: Malayalam ^^^^^^^^^ Sequence of language *Malayalam* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= ======================= # 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| - python `wcwidth.wcswidth()`_ measures width 2, while *Apple_Terminal* measures width 3. .. _apple_terminal_lang_bengali: Bengali ^^^^^^^ Sequence of language *Bengali* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= ===================== # Codepoint Python Category wcwidth Name === ========================================= ========= ========== ========= ===================== 1 `U+0995 `_ '\\u0995' Lo 1 BENGALI LETTER KA 2 `U+09BE `_ '\\u09be' Mc 0 BENGALI VOWEL SIGN AA 3 `U+200C `_ '\\u200c' Cf 0 ZERO WIDTH NON-JOINER === ========================================= ========= ========== ========= ===================== Total codepoints: 3 - Shell test using `printf(1)`_, ``'|'`` should align in output:: $ printf "\xe0\xa6\x95\xe0\xa6\xbe\xe2\x80\x8c|\\n12|\\n" কা‌| 12| - python `wcwidth.wcswidth()`_ measures width 2, while *Apple_Terminal* measures width 3. .. _apple_terminal_lang_sanskrit: Sanskrit ^^^^^^^^ Sequence of language *Sanskrit* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= ======================= # 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| .. _apple_terminal_lang_marathi: Marathi ^^^^^^^ Sequence of language *Marathi* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= ======================= # 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| .. _apple_terminal_lang_hindi: Hindi ^^^^^ Sequence of language *Hindi* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= ======================= # 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| .. _apple_terminal_lang_sanskritgrantha: Sanskrit (Grantha) ^^^^^^^^^^^^^^^^^^ Sequence of language *Sanskrit (Grantha)* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ================================================= ============= ========== ========= ===================== # 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| - python `wcwidth.wcswidth()`_ measures width 2, while *Apple_Terminal* measures width 3. .. _apple_terminal_lang_khmercentral: Khmer, Central ^^^^^^^^^^^^^^ Sequence of language *Khmer, Central* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= =================== # 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| - python `wcwidth.wcswidth()`_ measures width 2, while *Apple_Terminal* measures width 3. .. _apple_terminal_lang_maithili: Maithili ^^^^^^^^ Sequence of language *Maithili* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= ======================= # 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| .. _apple_terminal_lang_nepali: Nepali ^^^^^^ Sequence of language *Nepali* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= ======================= # 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| .. _apple_terminal_lang_khn: Khün ^^^^ Sequence of language *Khün* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= ======================= # Codepoint Python Category wcwidth Name === ========================================= ========= ========== ========= ======================= 1 `U+1A20 `_ '\\u1a20' Lo 1 TAI THAM LETTER HIGH KA 2 `U+1A6E `_ '\\u1a6e' Mc 0 TAI THAM VOWEL SIGN E 3 `U+1A60 `_ '\\u1a60' Mn 0 TAI THAM SIGN SAKOT 4 `U+1A2F `_ '\\u1a2f' Lo 1 TAI THAM LETTER DA 5 `U+1A68 `_ '\\u1a68' Mn 0 TAI THAM VOWEL SIGN UUE === ========================================= ========= ========== ========= ======================= Total codepoints: 5 - Shell test using `printf(1)`_, ``'|'`` should align in output:: $ printf "\xe1\xa8\xa0\xe1\xa9\xae\xe1\xa9\xa0\xe1\xa8\xaf\xe1\xa9\xa8|\\n12|\\n" ᨠᩮ᩠ᨯᩨ| 12| - python `wcwidth.wcswidth()`_ measures width 2, while *Apple_Terminal* measures width 3. .. _apple_terminal_lang_tamangeastern: Tamang, Eastern ^^^^^^^^^^^^^^^ Sequence of language *Tamang, Eastern* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= ======================= # 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| .. _apple_terminal_lang_gujarati: Gujarati ^^^^^^^^ Sequence of language *Gujarati* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= ====================== # 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| - python `wcwidth.wcswidth()`_ measures width 2, while *Apple_Terminal* measures width 3. .. _apple_terminal_lang_magahi: Magahi ^^^^^^ Sequence of language *Magahi* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= ======================= # 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| .. _apple_terminal_lang_bhojpuri: Bhojpuri ^^^^^^^^ Sequence of language *Bhojpuri* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= ======================= # 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| - python `wcwidth.wcswidth()`_ measures width 2, while *Apple_Terminal* measures width 4. .. _apple_terminal_lang_telugu: Telugu ^^^^^^ Sequence of language *Telugu* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= ==================== # 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| - python `wcwidth.wcswidth()`_ measures width 2, while *Apple_Terminal* measures width 3. .. _apple_terminal_lang_farsiwestern: Farsi, Western ^^^^^^^^^^^^^^ Sequence of language *Farsi, Western* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= ===================== # Codepoint Python Category wcwidth Name === ========================================= ========= ========== ========= ===================== 1 `U+062A `_ '\\u062a' Lo 1 ARABIC LETTER TEH 2 `U+200C `_ '\\u200c' Cf 0 ZERO WIDTH NON-JOINER === ========================================= ========= ========== ========= ===================== Total codepoints: 2 - Shell test using `printf(1)`_, ``'|'`` should align in output:: $ printf "\xd8\xaa\xe2\x80\x8c|\\n1|\\n" ت‌| 1| .. _apple_terminal_lang_dari: Dari ^^^^ Sequence of language *Dari* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= ===================== # Codepoint Python Category wcwidth Name === ========================================= ========= ========== ========= ===================== 1 `U+062A `_ '\\u062a' Lo 1 ARABIC LETTER TEH 2 `U+200C `_ '\\u200c' Cf 0 ZERO WIDTH NON-JOINER === ========================================= ========= ========== ========= ===================== Total codepoints: 2 - Shell test using `printf(1)`_, ``'|'`` should align in output:: $ printf "\xd8\xaa\xe2\x80\x8c|\\n1|\\n" ت‌| 1| - python `wcwidth.wcswidth()`_ measures width 1, while *Apple_Terminal* measures width 2. .. _apple_terminal_lang_kannada: Kannada ^^^^^^^ Sequence of language *Kannada* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= ===================== # 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| - python `wcwidth.wcswidth()`_ measures width 2, while *Apple_Terminal* measures width 3. .. _apple_terminal_lang_chakma: Chakma ^^^^^^ Sequence of language *Chakma* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ================================================= ============= ========== ========= =================== # Codepoint Python Category wcwidth Name === ================================================= ============= ========== ========= =================== 1 `U+00011107 `_ '\\U00011107' Lo 1 CHAKMA LETTER KAA 2 `U+00011133 `_ '\\U00011133' Mn 0 CHAKMA VIRAMA 3 `U+00011120 `_ '\\U00011120' Lo 1 CHAKMA LETTER YYAA 4 `U+0001112C `_ '\\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 *Apple_Terminal* measures width 3. .. _apple_terminal_lang_sinhala: Sinhala ^^^^^^^ Sequence of language *Sinhala* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= ================================= # Codepoint Python Category wcwidth Name === ========================================= ========= ========== ========= ================================= 1 `U+0D9A `_ '\\u0d9a' Lo 1 SINHALA LETTER ALPAPRAANA KAYANNA 2 `U+0DCA `_ '\\u0dca' Mn 0 SINHALA SIGN AL-LAKUNA 3 `U+200D `_ '\\u200d' Cf 0 ZERO WIDTH JOINER === ========================================= ========= ========== ========= ================================= Total codepoints: 3 - Shell test using `printf(1)`_, ``'|'`` should align in output:: $ printf "\xe0\xb6\x9a\xe0\xb7\x8a\xe2\x80\x8d|\\n1|\\n" ක්‍| 1| - python `wcwidth.wcswidth()`_ measures width 1, while *Apple_Terminal* measures width 2. .. _apple_terminal_lang_burmese: Burmese ^^^^^^^ Sequence of language *Burmese* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= ================================ # Codepoint Python Category wcwidth Name === ========================================= ========= ========== ========= ================================ 1 `U+1000 `_ '\\u1000' Lo 1 MYANMAR LETTER KA 2 `U+103B `_ '\\u103b' Mc 0 MYANMAR CONSONANT SIGN MEDIAL YA 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\x80\xbb\xe1\x80\xb1|\\n12|\\n" ကျေ| 12| - python `wcwidth.wcswidth()`_ measures width 2, while *Apple_Terminal* measures width 3. .. _apple_terminal_lang_mon: Mon ^^^ Sequence of language *Mon* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= ================================ # Codepoint Python Category wcwidth Name === ========================================= ========= ========== ========= ================================ 1 `U+1007 `_ '\\u1007' Lo 1 MYANMAR LETTER JA 2 `U+103C `_ '\\u103c' Mc 0 MYANMAR CONSONANT SIGN MEDIAL RA 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\x87\xe1\x80\xbc\xe1\x80\xb1|\\n12|\\n" ဇြေ| 12| - python `wcwidth.wcswidth()`_ measures width 2, while *Apple_Terminal* measures width 3. .. _apple_terminal_lang_panjabiwestern: Panjabi, Western ^^^^^^^^^^^^^^^^ Sequence of language *Panjabi, Western* from midpoint of alignment failure records: .. table:: :class: sphinx-datatable === ========================================= ========= ========== ========= ======================== # Codepoint Python Category wcwidth Name === ========================================= ========= ========== ========= ======================== 1 `U+06D2 `_ '\\u06d2' Lo 1 ARABIC LETTER YEH BARREE 2 `U+200C `_ '\\u200c' Cf 0 ZERO WIDTH NON-JOINER === ========================================= ========= ========== ========= ======================== Total codepoints: 2 - Shell test using `printf(1)`_, ``'|'`` should align in output:: $ printf "\xdb\x92\xe2\x80\x8c|\\n1|\\n" ے‌| 1| - python `wcwidth.wcswidth()`_ measures width 1, while *Apple_Terminal* measures width 2. .. _apple_terminal_dec_modes: DEC Private Modes Support +++++++++++++++++++++++++ This Terminal does not appear capable of reporting about any DEC Private modes. .. _apple_terminal_kitty_kbd: Kitty Keyboard Protocol +++++++++++++++++++++++ *Apple_Terminal* does not support the `Kitty keyboard protocol`_. .. _`Kitty keyboard protocol`: https://sw.kovidgoyal.net/kitty/keyboard-protocol/ .. _apple_terminal_xtgettcap: XTGETTCAP (Terminfo Capabilities) +++++++++++++++++++++++++++++++++ *Apple_Terminal* does not support the ``XTGETTCAP`` sequence. .. warning:: This terminal fails to parse VT100 Mode DCS Sequences at all, and displays XTGETTCAP queries as screen output .. _apple_terminal_text_sizing: Text Sizing Protocol (OSC 66) +++++++++++++++++++++++++++++ *Apple_Terminal* does not support the `Text Sizing protocol`_. .. _`Text Sizing protocol`: https://sw.kovidgoyal.net/kitty/text-sizing-protocol/ .. _apple_terminal_tofu: Tofu Detection ++++++++++++++ A *tofu* is the □ ``U+25A1`` WHITE SQUARE placeholder box drawn in place of a codepoint the terminal's font has no glyph for. Two protocols allow a program to ask which codepoints may 'tofu': mintty's `Font Glyph Coverage Enquiry`_ and the `Glyph Protocol`_ implemented first by Rio. *Apple_Terminal* does **not** answer a font glyph coverage enquiry by either protocol, 'tofus' cannot be determined by automatic code. .. _apple_terminal_truecolor: Truecolor Support +++++++++++++++++ *Apple_Terminal* 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. .. _apple_terminal_osc52: OSC 52 Clipboard Support ++++++++++++++++++++++++ *Apple_Terminal* does **not** advertise OSC 52 clipboard support via DA1 extension 52 or XTGETTCAP Ms. - DA1 extension 52: **no** - XTGETTCAP Ms: **no** .. _apple_terminal_identification: Terminal Identification +++++++++++++++++++++++ *Apple_Terminal* is identified as **Apple_Terminal** version **488** (detected via TERM_PROGRAM). - XTVERSION: **no** - XTGETTCAP TN: **no** - ENQ: **no** - TERM_PROGRAM: **yes** (Apple_Terminal) - TERM: **no** (xterm-256color) .. warning:: TERM_PROGRAM is an environment variable, not a terminal query. It is not forwarded over SSH without ``SendEnv`` / ``AcceptEnv`` configuration, so identification via TERM_PROGRAM alone may be unreliable on remote hosts. .. _apple_terminal_reproduce: Reproduction ++++++++++++ To reproduce these results for *Apple_Terminal*, install and run ucs-detect_ with the following commands:: uvx ucs-detect --rerun data/terminalapp.yaml .. _apple_terminal_time: .. _apple_terminal_resources: Test Performance ++++++++++++++++ Performance data for *Apple_Terminal* is not available. .. _`printf(1)`: https://www.man7.org/linux/man-pages/man1/printf.1.html .. _`wcwidth.wcswidth()`: https://wcwidth.readthedocs.io/en/latest/intro.html .. _`ucs-detect`: https://github.com/jquast/ucs-detect .. _`ttyscan`: https://github.com/jquast/ttyscan .. _`DEC Private Modes`: https://blessed.readthedocs.io/en/latest/dec_modes.html .. _`OSC 52`: https://dev.to/djmitche/clipboards-terminals-and-linux-3pk5 .. _`XTGETTCAP`: https://codeberg.org/dnkl/foot#xtgettcap .. _`Truecolor`: https://github.com/termstandard/colors/blob/master/README.md .. _`Kitty graphics`: https://sw.kovidgoyal.net/kitty/graphics-protocol/ .. _`Font Glyph Coverage Enquiry`: https://github.com/mintty/mintty/wiki/CtrlSeqs#font-glyph-coverage-enquiry .. _`Glyph Protocol`: https://rapha.land/introducing-glyph-protocol-for-terminals/ .. _MSYS2: https://www.msys2.org/ .. _Cygwin: https://www.cygwin.com/