|
| 1 | +# automatic |
| 2 | +@Uppercase = [ A Aacute Abreve Acircumflex Adieresis Agrave Amacron Aogonek Aring Atilde AE B C Cacute Ccaron Ccedilla Cdotaccent D Dcaron Dcroat Eth E Eacute Ecaron Ecircumflex Edieresis Edotaccent Egrave Emacron Eogonek Schwa F G Gbreve Gcommaaccent Gdotaccent H Hbar I Iacute Icircumflex Idieresis Idotaccent Igrave Imacron Iogonek J Jacute K Kcommaaccent L Lacute Lcaron Lcommaaccent Lslash M N Nacute Ncaron Ncommaaccent Ntilde O Oacute Ocircumflex Odieresis Ograve Ohungarumlaut Omacron Oslash Otilde OE P Thorn Q R Racute Rcaron Rcommaaccent S Sacute Scaron Scedilla Scommaaccent Germandbls T Tcaron Tcedilla Tcommaaccent U Uacute Ucircumflex Udieresis Ugrave Uhungarumlaut Umacron Uogonek Uring V W Wacute Wcircumflex Wdieresis Wgrave X Y Yacute Ycircumflex Ydieresis Ygrave Z Zacute Zcaron Zdotaccent M.ss02 W.ss02 ]; |
| 3 | + |
| 4 | +# Prefix: Languagesystems |
| 5 | +# automatic |
| 6 | +languagesystem DFLT dflt; |
| 7 | + |
| 8 | +languagesystem latn dflt; |
| 9 | +languagesystem latn AZE; |
| 10 | +languagesystem latn CRT; |
| 11 | +languagesystem latn KAZ; |
| 12 | +languagesystem latn TAT; |
| 13 | +languagesystem latn TRK; |
| 14 | +languagesystem latn ROM; |
| 15 | +languagesystem latn MOL; |
| 16 | +languagesystem latn NLD; |
| 17 | + |
| 18 | +feature aalt { |
| 19 | +# automatic |
| 20 | +feature locl; |
| 21 | +feature case; |
| 22 | +feature ss01; |
| 23 | +feature ss02; |
| 24 | +} aalt; |
| 25 | + |
| 26 | +feature ccmp { |
| 27 | +# automatic |
| 28 | +lookup ccmp_DFLT_1 { |
| 29 | + @CombiningTopAccents = [acutecomb brevecomb caroncomb circumflexcomb commaturnedabovecomb dieresiscomb dotaccentcomb gravecomb hungarumlautcomb macroncomb ringcomb tildecomb]; |
| 30 | + lookupflag UseMarkFilteringSet @CombiningTopAccents; |
| 31 | + sub i' @CombiningTopAccents by idotless; |
| 32 | + sub j' @CombiningTopAccents by jdotless; |
| 33 | +} ccmp_DFLT_1; |
| 34 | + |
| 35 | +lookup ccmp_Other_1 { |
| 36 | + lookupflag 0; |
| 37 | + @Markscomb = [dieresiscomb dotaccentcomb gravecomb acutecomb hungarumlautcomb circumflexcomb caroncomb brevecomb ringcomb tildecomb macroncomb commaturnedabovecomb strokeshortcomb slashshortcomb dieresis dotaccent grave acute hungarumlaut circumflex caron breve ring tilde macron]; |
| 38 | + @MarkscombCase = [dieresiscomb.case dotaccentcomb.case gravecomb.case acutecomb.case hungarumlautcomb.case circumflexcomb.case caroncomb.case brevecomb.case ringcomb.case tildecomb.case macroncomb.case commaturnedabovecomb.case strokeshortcomb.case slashshortcomb.case dieresis.case dotaccent.case grave.case acute.case hungarumlaut.case circumflex.case caron.case breve.case ring.case tilde.case macron.case]; |
| 39 | + sub @Markscomb @Markscomb' by @MarkscombCase; |
| 40 | + sub @Uppercase @Markscomb' by @MarkscombCase; |
| 41 | +} ccmp_Other_1; |
| 42 | + |
| 43 | +lookup ccmp_Other_2 { |
| 44 | + lookupflag 0; |
| 45 | + sub @Markscomb' @MarkscombCase by @MarkscombCase; |
| 46 | + sub @MarkscombCase @Markscomb' by @MarkscombCase; |
| 47 | +} ccmp_Other_2; |
| 48 | +} ccmp; |
| 49 | + |
| 50 | +feature locl { |
| 51 | +# automatic |
| 52 | +script latn; |
| 53 | +language AZE; |
| 54 | +lookup locl_latn_0 { |
| 55 | + sub i by idotaccent; |
| 56 | +} locl_latn_0; |
| 57 | +language CRT; |
| 58 | +lookup locl_latn_0; |
| 59 | +language KAZ; |
| 60 | +lookup locl_latn_0; |
| 61 | +language TAT; |
| 62 | +lookup locl_latn_0; |
| 63 | +language TRK; |
| 64 | +lookup locl_latn_0; |
| 65 | + |
| 66 | +script latn; |
| 67 | +language ROM; |
| 68 | +lookup locl_latn_1 { |
| 69 | + sub Scedilla by Scommaaccent; |
| 70 | + sub scedilla by scommaaccent; |
| 71 | + sub Tcedilla by Tcommaaccent; |
| 72 | + sub tcedilla by tcommaaccent; |
| 73 | +} locl_latn_1; |
| 74 | +language MOL; |
| 75 | +lookup locl_latn_1; |
| 76 | + |
| 77 | +script latn; |
| 78 | +language NLD; |
| 79 | +lookup locl_latn_2 { |
| 80 | + sub iacute j' by jacute; |
| 81 | + sub Iacute J' by Jacute; |
| 82 | +} locl_latn_2; |
| 83 | +} locl; |
| 84 | + |
| 85 | +feature case { |
| 86 | +# automatic |
| 87 | +sub periodcentered by periodcentered.case; |
| 88 | +sub bullet by bullet.case; |
| 89 | +sub hyphen by hyphen.case; |
| 90 | +sub endash by endash.case; |
| 91 | +sub emdash by emdash.case; |
| 92 | +sub parenleft by parenleft.case; |
| 93 | +sub parenright by parenright.case; |
| 94 | +sub braceleft by braceleft.case; |
| 95 | +sub braceright by braceright.case; |
| 96 | +sub bracketleft by bracketleft.case; |
| 97 | +sub bracketright by bracketright.case; |
| 98 | +sub guillemetleft by guillemetleft.case; |
| 99 | +sub guillemetright by guillemetright.case; |
| 100 | +sub guilsinglleft by guilsinglleft.case; |
| 101 | +sub guilsinglright by guilsinglright.case; |
| 102 | +sub dieresiscomb by dieresiscomb.case; |
| 103 | +sub dotaccentcomb by dotaccentcomb.case; |
| 104 | +sub gravecomb by gravecomb.case; |
| 105 | +sub acutecomb by acutecomb.case; |
| 106 | +sub hungarumlautcomb by hungarumlautcomb.case; |
| 107 | +sub circumflexcomb by circumflexcomb.case; |
| 108 | +sub caroncomb by caroncomb.case; |
| 109 | +sub brevecomb by brevecomb.case; |
| 110 | +sub ringcomb by ringcomb.case; |
| 111 | +sub tildecomb by tildecomb.case; |
| 112 | +sub macroncomb by macroncomb.case; |
| 113 | +sub commaturnedabovecomb by commaturnedabovecomb.case; |
| 114 | +sub strokeshortcomb by strokeshortcomb.case; |
| 115 | +sub slashshortcomb by slashshortcomb.case; |
| 116 | +sub dieresis by dieresis.case; |
| 117 | +sub dotaccent by dotaccent.case; |
| 118 | +sub grave by grave.case; |
| 119 | +sub acute by acute.case; |
| 120 | +sub hungarumlaut by hungarumlaut.case; |
| 121 | +sub circumflex by circumflex.case; |
| 122 | +sub caron by caron.case; |
| 123 | +sub breve by breve.case; |
| 124 | +sub ring by ring.case; |
| 125 | +sub tilde by tilde.case; |
| 126 | +sub macron by macron.case; |
| 127 | +} case; |
| 128 | + |
| 129 | +feature ss01 { |
| 130 | +# automatic |
| 131 | +featureNames { |
| 132 | + name "Alternate 'a' 'g'"; |
| 133 | +}; |
| 134 | +sub a by a.ss01; |
| 135 | +sub aacute by aacute.ss01; |
| 136 | +sub abreve by abreve.ss01; |
| 137 | +sub acircumflex by acircumflex.ss01; |
| 138 | +sub adieresis by adieresis.ss01; |
| 139 | +sub agrave by agrave.ss01; |
| 140 | +sub amacron by amacron.ss01; |
| 141 | +sub aogonek by aogonek.ss01; |
| 142 | +sub aring by aring.ss01; |
| 143 | +sub atilde by atilde.ss01; |
| 144 | +sub g by g.ss01; |
| 145 | +sub gbreve by gbreve.ss01; |
| 146 | +sub gcommaaccent by gcommaaccent.ss01; |
| 147 | +sub gdotaccent by gdotaccent.ss01; |
| 148 | +sub ampersand by ampersand.ss01; |
| 149 | +} ss01; |
| 150 | + |
| 151 | +feature ss02 { |
| 152 | +# automatic |
| 153 | +featureNames { |
| 154 | + name "Sharp 'M' 'W'"; |
| 155 | +}; |
| 156 | +sub M by M.ss02; |
| 157 | +sub W by W.ss02; |
| 158 | +} ss02; |
| 159 | + |
0 commit comments