be5invis/Iosevka

Feature request: Support for `do-not-emit.txt` from Unicode 16 for ccmp substitutions.

Closed this issue · 1 comments

In Unicode 16, there will be this additional txt file which provides a set of deprecated character sequences which font developers (and many other technical fields, of course) may decide to graphically convert to some non-deprecated "precomposed" characters which do not actually literally decompose.

The subset of this file of interest here are the Latin letters, namely ones derived from combining characters like palatal hooks, retroflex hooks, and tilde overlays:

Expand
# ================================================
# Deprecated characters and other discouraged characters and sequences
# ================================================

# Latin, from text of Section 7.1, the NamesList, and the uppercase mapping
0140; 006C 00B7; Preferred_Spelling # LATIN SMALL LETTER L WITH MIDDLE DOT; LATIN SMALL LETTER L, MIDDLE DOT
0149; 02BC 006E; Deprecated # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE; MODIFIER LETTER APOSTROPHE, LATIN SMALL LETTER N
# TODO: Should we add more combinations of dotless forms with combining
# accents above?
0131 0307; 0069 0307; Dotless_Form # LATIN SMALL LETTER DOTLESS I, COMBINING DOT ABOVE; LATIN SMALL LETTER I, COMBINING DOT ABOVE
0237 0307; 006A 0307; Dotless_Form # LATIN SMALL LETTER DOTLESS J, COMBINING DOT ABOVE; LATIN SMALL LETTER J, COMBINING DOT ABOVE
# Characters with overstruck tilde for which a precomposed form exists,
# but the sequences are not canonically equivalent
004C 0334; 2C62; Precomposed_Form # LATIN CAPITAL LETTER L, COMBINING TILDE OVERLAY; LATIN CAPITAL LETTER L WITH MIDDLE TILDE
0062 0334; 1D6C; Precomposed_Form # LATIN SMALL LETTER B, COMBINING TILDE OVERLAY; LATIN SMALL LETTER B WITH MIDDLE TILDE
0064 0334; 1D6D; Precomposed_Form # LATIN SMALL LETTER D, COMBINING TILDE OVERLAY; LATIN SMALL LETTER D WITH MIDDLE TILDE
0066 0334; 1D6E; Precomposed_Form # LATIN SMALL LETTER F, COMBINING TILDE OVERLAY; LATIN SMALL LETTER F WITH MIDDLE TILDE
006C 0334; 026B; Precomposed_Form # LATIN SMALL LETTER L, COMBINING TILDE OVERLAY; LATIN SMALL LETTER L WITH MIDDLE TILDE
006D 0334; 1D6F; Precomposed_Form # LATIN SMALL LETTER M, COMBINING TILDE OVERLAY; LATIN SMALL LETTER M WITH MIDDLE TILDE
006E 0334; 1D70; Precomposed_Form # LATIN SMALL LETTER N, COMBINING TILDE OVERLAY; LATIN SMALL LETTER N WITH MIDDLE TILDE
0070 0334; 1D71; Precomposed_Form # LATIN SMALL LETTER P, COMBINING TILDE OVERLAY; LATIN SMALL LETTER P WITH MIDDLE TILDE
0072 0334; 1D72; Precomposed_Form # LATIN SMALL LETTER R, COMBINING TILDE OVERLAY; LATIN SMALL LETTER R WITH MIDDLE TILDE
0073 0334; 1D74; Precomposed_Form # LATIN SMALL LETTER S, COMBINING TILDE OVERLAY; LATIN SMALL LETTER S WITH MIDDLE TILDE
0074 0334; 1D75; Precomposed_Form # LATIN SMALL LETTER T, COMBINING TILDE OVERLAY; LATIN SMALL LETTER T WITH MIDDLE TILDE
007A 0334; 1D76; Precomposed_Form # LATIN SMALL LETTER Z, COMBINING TILDE OVERLAY; LATIN SMALL LETTER Z WITH MIDDLE TILDE
0279 0334; AB68; Precomposed_Form # LATIN SMALL LETTER TURNED R, COMBINING TILDE OVERLAY; LATIN SMALL LETTER TURNED R WITH MIDDLE TILDE
027E 0334; 1D73; Precomposed_Form # LATIN SMALL LETTER R WITH FISHHOOK, COMBINING TILDE OVERLAY; LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE
02E1 0334; AB5E; Precomposed_Form # MODIFIER LETTER SMALL L, COMBINING TILDE OVERLAY; MODIFIER LETTER SMALL L WITH MIDDLE TILDE
# Characters with palatalized hook for which a precomposed form exists,
# but the sequences are not canonically equivalent
0043 0321; A7C4; Precomposed_Form # LATIN CAPITAL LETTER C, COMBINING PALATALIZED HOOK BELOW; LATIN CAPITAL LETTER C WITH PALATAL HOOK
005A 0321; A7C6; Precomposed_Form # LATIN CAPITAL LETTER Z, COMBINING PALATALIZED HOOK BELOW; LATIN CAPITAL LETTER Z WITH PALATAL HOOK
0062 0321; 1D80; Precomposed_Form # LATIN SMALL LETTER B, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER B WITH PALATAL HOOK
0063 0321; A794; Precomposed_Form # LATIN SMALL LETTER C, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER C WITH PALATAL HOOK
0064 0321; 1D81; Precomposed_Form # LATIN SMALL LETTER D, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER D WITH PALATAL HOOK
0066 0321; 1D82; Precomposed_Form # LATIN SMALL LETTER F, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER F WITH PALATAL HOOK
0068 0321; A795; Precomposed_Form # LATIN SMALL LETTER H, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER H WITH PALATAL HOOK
006B 0321; 1D84; Precomposed_Form # LATIN SMALL LETTER K, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER K WITH PALATAL HOOK
006C 0321; 1D85; Precomposed_Form # LATIN SMALL LETTER L, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER L WITH PALATAL HOOK
006D 0321; 1D86; Precomposed_Form # LATIN SMALL LETTER M, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER M WITH PALATAL HOOK
006E 0321; 1D87; Precomposed_Form # LATIN SMALL LETTER N, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER N WITH PALATAL HOOK
0070 0321; 1D88; Precomposed_Form # LATIN SMALL LETTER P, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER P WITH PALATAL HOOK
0072 0321; 1D89; Precomposed_Form # LATIN SMALL LETTER R, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER R WITH PALATAL HOOK
0073 0321; 1D8A; Precomposed_Form # LATIN SMALL LETTER S, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER S WITH PALATAL HOOK
0074 0321; 01AB; Precomposed_Form # LATIN SMALL LETTER T, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER T WITH PALATAL HOOK
0076 0321; 1D8C; Precomposed_Form # LATIN SMALL LETTER V, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER V WITH PALATAL HOOK
0078 0321; 1D8D; Precomposed_Form # LATIN SMALL LETTER X, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER X WITH PALATAL HOOK
007A 0321; 1D8E; Precomposed_Form # LATIN SMALL LETTER Z, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER Z WITH PALATAL HOOK
014B 0321; 1DF14; Precomposed_Form # LATIN SMALL LETTER ENG, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER ENG WITH PALATAL HOOK
0261 0321; 1D83; Precomposed_Form # LATIN SMALL LETTER SCRIPT G, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER G WITH PALATAL HOOK
026C 0321; 1DF13; Precomposed_Form # LATIN SMALL LETTER L WITH BELT, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER L WITH BELT AND PALATAL HOOK
0279 0321; 1DF15; Precomposed_Form # LATIN SMALL LETTER TURNED R, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER TURNED R WITH PALATAL HOOK
027E 0321; 1DF16; Precomposed_Form # LATIN SMALL LETTER R WITH FISHHOOK, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER R WITH FISHHOOK AND PALATAL HOOK
0283 0321; 1D8B; Precomposed_Form # LATIN SMALL LETTER ESH, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER ESH WITH PALATAL HOOK
0292 0321; 1DF18; Precomposed_Form # LATIN SMALL LETTER EZH, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER EZH WITH PALATAL HOOK
02A4 0321; 1DF12; Precomposed_Form # LATIN SMALL LETTER DEZH DIGRAPH, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER DEZH DIGRAPH WITH PALATAL HOOK
02A7 0321; 1DF17; Precomposed_Form # LATIN SMALL LETTER TESH DIGRAPH, COMBINING PALATALIZED HOOK BELOW; LATIN SMALL LETTER TESH DIGRAPH WITH PALATAL HOOK
02E1 0321; 1DAA; Precomposed_Form # MODIFIER LETTER SMALL L, COMBINING PALATALIZED HOOK BELOW; MODIFIER LETTER SMALL L WITH PALATAL HOOK
1D57 0321; 1DB5; Precomposed_Form # MODIFIER LETTER SMALL T, COMBINING PALATALIZED HOOK BELOW; MODIFIER LETTER SMALL T WITH PALATAL HOOK
# Characters with retroflex hook for which a precomposed form exists,
# but the sequences are not canonically equivalent
0052 0322; 2C64; Precomposed_Form # LATIN CAPITAL LETTER R, COMBINING RETROFLEX HOOK BELOW; LATIN CAPITAL LETTER R WITH TAIL
0054 0322; 01AE; Precomposed_Form # LATIN CAPITAL LETTER T, COMBINING RETROFLEX HOOK BELOW; LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
0061 0322; 1D8F; Precomposed_Form # LATIN SMALL LETTER A, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER A WITH RETROFLEX HOOK
0063 0322; 1DF1D; Precomposed_Form # LATIN SMALL LETTER C, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER C WITH RETROFLEX HOOK
0064 0322; 0256; Precomposed_Form # LATIN SMALL LETTER D, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER D WITH TAIL
0065 0322; 1D92; Precomposed_Form # LATIN SMALL LETTER E, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER E WITH RETROFLEX HOOK
0069 0322; 1D96; Precomposed_Form # LATIN SMALL LETTER I, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER I WITH RETROFLEX HOOK
006C 0322; 026D; Precomposed_Form # LATIN SMALL LETTER L, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER L WITH RETROFLEX HOOK
006E 0322; 0273; Precomposed_Form # LATIN SMALL LETTER N, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER N WITH RETROFLEX HOOK
006F 0322; 1DF1B; Precomposed_Form # LATIN SMALL LETTER O, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER O WITH RETROFLEX HOOK
0072 0322; 027D; Precomposed_Form # LATIN SMALL LETTER R, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER R WITH TAIL
0074 0322; 0288; Precomposed_Form # LATIN SMALL LETTER T, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER T WITH RETROFLEX HOOK
0075 0322; 1D99; Precomposed_Form # LATIN SMALL LETTER U, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER U WITH RETROFLEX HOOK
007A 0322; 0290; Precomposed_Form # LATIN SMALL LETTER Z, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER Z WITH RETROFLEX HOOK
01AD 0322; 1DF09; Precomposed_Form # LATIN SMALL LETTER T WITH HOOK, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER T WITH HOOK AND RETROFLEX HOOK
01C3 0322; 1DF0A; Precomposed_Form # LATIN LETTER RETROFLEX CLICK, COMBINING RETROFLEX HOOK BELOW; LATIN LETTER RETROFLEX CLICK WITH RETROFLEX HOOK
0251 0322; 1D90; Precomposed_Form # LATIN SMALL LETTER ALPHA, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK
0254 0322; 1D97; Precomposed_Form # LATIN SMALL LETTER OPEN O, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK
0257 0322; 1D91; Precomposed_Form # LATIN SMALL LETTER D WITH HOOK, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER D WITH HOOK AND TAIL
0259 0322; 1D95; Precomposed_Form # LATIN SMALL LETTER SCHWA, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK
025B 0322; 1D93; Precomposed_Form # LATIN SMALL LETTER OPEN E, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK
025C 0322; 1D94; Precomposed_Form # LATIN SMALL LETTER REVERSED OPEN E, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK
0268 0322; 1DF1A; Precomposed_Form # LATIN SMALL LETTER I WITH STROKE, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER I WITH STROKE AND RETROFLEX HOOK
026C 0322; A78E; Precomposed_Form # LATIN SMALL LETTER L WITH BELT, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
026E 0322; 1DF05; Precomposed_Form # LATIN SMALL LETTER LEZH, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER LEZH WITH RETROFLEX HOOK
027A 0322; 1DF08; Precomposed_Form # LATIN SMALL LETTER TURNED R WITH LONG LEG, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER TURNED R WITH LONG LEG AND RETROFLEX HOOK
0283 0322; 1D98; Precomposed_Form # LATIN SMALL LETTER ESH, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER ESH WITH RETROFLEX HOOK
0292 0322; 1D9A; Precomposed_Form # LATIN SMALL LETTER EZH, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
02A3 0322; AB66; Precomposed_Form # LATIN SMALL LETTER DZ DIGRAPH, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER DZ DIGRAPH WITH RETROFLEX HOOK
02A4 0322; 1DF19; Precomposed_Form # LATIN SMALL LETTER DEZH DIGRAPH, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER DEZH DIGRAPH WITH RETROFLEX HOOK
02A6 0322; AB67; Precomposed_Form # LATIN SMALL LETTER TS DIGRAPH, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER TS DIGRAPH WITH RETROFLEX HOOK
02A7 0322; 1DF1C; Precomposed_Form # LATIN SMALL LETTER TESH DIGRAPH, COMBINING RETROFLEX HOOK BELOW; LATIN SMALL LETTER TESH DIGRAPH WITH RETROFLEX HOOK
02B3 0322; 107A8; Precomposed_Form # MODIFIER LETTER SMALL R, COMBINING RETROFLEX HOOK BELOW; MODIFIER LETTER SMALL R WITH TAIL
02E1 0322; 1DA9; Precomposed_Form # MODIFIER LETTER SMALL L, COMBINING RETROFLEX HOOK BELOW; MODIFIER LETTER SMALL L WITH RETROFLEX HOOK
1D48 0322; 1078B; Precomposed_Form # MODIFIER LETTER SMALL D, COMBINING RETROFLEX HOOK BELOW; MODIFIER LETTER SMALL D WITH TAIL
1D57 0322; 107AF; Precomposed_Form # MODIFIER LETTER SMALL T, COMBINING RETROFLEX HOOK BELOW; MODIFIER LETTER SMALL T WITH RETROFLEX HOOK
1DBB 0322; 1DBC; Precomposed_Form # MODIFIER LETTER SMALL Z, COMBINING RETROFLEX HOOK BELOW; MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK
207F 0322; 1DAF; Precomposed_Form # SUPERSCRIPT LATIN SMALL LETTER N, COMBINING RETROFLEX HOOK BELOW; MODIFIER LETTER SMALL N WITH RETROFLEX HOOK
10787 0322; 10788; Precomposed_Form # MODIFIER LETTER SMALL DZ DIGRAPH, COMBINING RETROFLEX HOOK BELOW; MODIFIER LETTER SMALL DZ DIGRAPH WITH RETROFLEX HOOK
1078C 0322; 1078D; Precomposed_Form # MODIFIER LETTER SMALL D WITH HOOK, COMBINING RETROFLEX HOOK BELOW; MODIFIER LETTER SMALL D WITH HOOK AND TAIL
1079B 0322; 1079D; Precomposed_Form # MODIFIER LETTER SMALL L WITH BELT, COMBINING RETROFLEX HOOK BELOW; MODIFIER LETTER SMALL L WITH RETROFLEX HOOK AND BELT
1079E 0322; 1079F; Precomposed_Form # MODIFIER LETTER SMALL LEZH, COMBINING RETROFLEX HOOK BELOW; MODIFIER LETTER SMALL LEZH WITH RETROFLEX HOOK
107A6 0322; 107A7; Precomposed_Form # MODIFIER LETTER SMALL TURNED R WITH LONG LEG, COMBINING RETROFLEX HOOK BELOW; MODIFIER LETTER SMALL TURNED R WITH LONG LEG AND RETROFLEX HOOK
107AC 0322; 107AD; Precomposed_Form # MODIFIER LETTER SMALL TS DIGRAPH, COMBINING RETROFLEX HOOK BELOW; MODIFIER LETTER SMALL TS DIGRAPH WITH RETROFLEX HOOK

I may not add dotless trasnform but for precomposed it might be simple: add a new section at the beginning of cmap under packages/font-otl/src/gsub-ccmp.ptl