1 | /* == Start of generated table == */ |
2 | /* |
3 | * The following table is generated by running: |
4 | * |
5 | * ./gen-tag-table.py languagetags language-subtag-registry |
6 | * |
7 | * on files with these headers: |
8 | * |
9 | * <meta name="updated_at" content="2022-01-28 10:00 PM" /> |
10 | * File-Date: 2022-03-02 |
11 | */ |
12 | |
13 | #ifndef HB_OT_TAG_TABLE_HH |
14 | #define HB_OT_TAG_TABLE_HH |
15 | |
16 | static const LangTag ot_languages2[] = { |
17 | {HB_TAG('a','a',' ',' '), HB_TAG('A','F','R',' ')}, /* Afar */ |
18 | {HB_TAG('a','b',' ',' '), HB_TAG('A','B','K',' ')}, /* Abkhazian */ |
19 | {HB_TAG('a','f',' ',' '), HB_TAG('A','F','K',' ')}, /* Afrikaans */ |
20 | {HB_TAG('a','k',' ',' '), HB_TAG('A','K','A',' ')}, /* Akan [macrolanguage] */ |
21 | {HB_TAG('a','m',' ',' '), HB_TAG('A','M','H',' ')}, /* Amharic */ |
22 | {HB_TAG('a','n',' ',' '), HB_TAG('A','R','G',' ')}, /* Aragonese */ |
23 | {HB_TAG('a','r',' ',' '), HB_TAG('A','R','A',' ')}, /* Arabic [macrolanguage] */ |
24 | {HB_TAG('a','s',' ',' '), HB_TAG('A','S','M',' ')}, /* Assamese */ |
25 | {HB_TAG('a','v',' ',' '), HB_TAG('A','V','R',' ')}, /* Avaric -> Avar */ |
26 | {HB_TAG('a','y',' ',' '), HB_TAG('A','Y','M',' ')}, /* Aymara [macrolanguage] */ |
27 | {HB_TAG('a','z',' ',' '), HB_TAG('A','Z','E',' ')}, /* Azerbaijani [macrolanguage] */ |
28 | {HB_TAG('b','a',' ',' '), HB_TAG('B','S','H',' ')}, /* Bashkir */ |
29 | {HB_TAG('b','e',' ',' '), HB_TAG('B','E','L',' ')}, /* Belarusian -> Belarussian */ |
30 | {HB_TAG('b','g',' ',' '), HB_TAG('B','G','R',' ')}, /* Bulgarian */ |
31 | {HB_TAG('b','i',' ',' '), HB_TAG('B','I','S',' ')}, /* Bislama */ |
32 | {HB_TAG('b','i',' ',' '), HB_TAG('C','P','P',' ')}, /* Bislama -> Creoles */ |
33 | {HB_TAG('b','m',' ',' '), HB_TAG('B','M','B',' ')}, /* Bambara (Bamanankan) */ |
34 | {HB_TAG('b','n',' ',' '), HB_TAG('B','E','N',' ')}, /* Bengali */ |
35 | {HB_TAG('b','o',' ',' '), HB_TAG('T','I','B',' ')}, /* Tibetan */ |
36 | {HB_TAG('b','r',' ',' '), HB_TAG('B','R','E',' ')}, /* Breton */ |
37 | {HB_TAG('b','s',' ',' '), HB_TAG('B','O','S',' ')}, /* Bosnian */ |
38 | {HB_TAG('c','a',' ',' '), HB_TAG('C','A','T',' ')}, /* Catalan */ |
39 | {HB_TAG('c','e',' ',' '), HB_TAG('C','H','E',' ')}, /* Chechen */ |
40 | {HB_TAG('c','h',' ',' '), HB_TAG('C','H','A',' ')}, /* Chamorro */ |
41 | {HB_TAG('c','o',' ',' '), HB_TAG('C','O','S',' ')}, /* Corsican */ |
42 | {HB_TAG('c','r',' ',' '), HB_TAG('C','R','E',' ')}, /* Cree [macrolanguage] */ |
43 | {HB_TAG('c','s',' ',' '), HB_TAG('C','S','Y',' ')}, /* Czech */ |
44 | {HB_TAG('c','u',' ',' '), HB_TAG('C','S','L',' ')}, /* Church Slavonic */ |
45 | {HB_TAG('c','v',' ',' '), HB_TAG('C','H','U',' ')}, /* Chuvash */ |
46 | {HB_TAG('c','y',' ',' '), HB_TAG('W','E','L',' ')}, /* Welsh */ |
47 | {HB_TAG('d','a',' ',' '), HB_TAG('D','A','N',' ')}, /* Danish */ |
48 | {HB_TAG('d','e',' ',' '), HB_TAG('D','E','U',' ')}, /* German */ |
49 | {HB_TAG('d','v',' ',' '), HB_TAG('D','I','V',' ')}, /* Divehi (Dhivehi, Maldivian) */ |
50 | {HB_TAG('d','v',' ',' '), HB_TAG('D','H','V',' ')}, /* Divehi (Dhivehi, Maldivian) (deprecated) */ |
51 | {HB_TAG('d','z',' ',' '), HB_TAG('D','Z','N',' ')}, /* Dzongkha */ |
52 | {HB_TAG('e','e',' ',' '), HB_TAG('E','W','E',' ')}, /* Ewe */ |
53 | {HB_TAG('e','l',' ',' '), HB_TAG('E','L','L',' ')}, /* Modern Greek (1453-) -> Greek */ |
54 | {HB_TAG('e','n',' ',' '), HB_TAG('E','N','G',' ')}, /* English */ |
55 | {HB_TAG('e','o',' ',' '), HB_TAG('N','T','O',' ')}, /* Esperanto */ |
56 | {HB_TAG('e','s',' ',' '), HB_TAG('E','S','P',' ')}, /* Spanish */ |
57 | {HB_TAG('e','t',' ',' '), HB_TAG('E','T','I',' ')}, /* Estonian [macrolanguage] */ |
58 | {HB_TAG('e','u',' ',' '), HB_TAG('E','U','Q',' ')}, /* Basque */ |
59 | {HB_TAG('f','a',' ',' '), HB_TAG('F','A','R',' ')}, /* Persian [macrolanguage] */ |
60 | {HB_TAG('f','f',' ',' '), HB_TAG('F','U','L',' ')}, /* Fulah [macrolanguage] */ |
61 | {HB_TAG('f','i',' ',' '), HB_TAG('F','I','N',' ')}, /* Finnish */ |
62 | {HB_TAG('f','j',' ',' '), HB_TAG('F','J','I',' ')}, /* Fijian */ |
63 | {HB_TAG('f','o',' ',' '), HB_TAG('F','O','S',' ')}, /* Faroese */ |
64 | {HB_TAG('f','r',' ',' '), HB_TAG('F','R','A',' ')}, /* French */ |
65 | {HB_TAG('f','y',' ',' '), HB_TAG('F','R','I',' ')}, /* Western Frisian -> Frisian */ |
66 | {HB_TAG('g','a',' ',' '), HB_TAG('I','R','I',' ')}, /* Irish */ |
67 | {HB_TAG('g','d',' ',' '), HB_TAG('G','A','E',' ')}, /* Scottish Gaelic (Gaelic) */ |
68 | {HB_TAG('g','l',' ',' '), HB_TAG('G','A','L',' ')}, /* Galician */ |
69 | {HB_TAG('g','n',' ',' '), HB_TAG('G','U','A',' ')}, /* Guarani [macrolanguage] */ |
70 | {HB_TAG('g','u',' ',' '), HB_TAG('G','U','J',' ')}, /* Gujarati */ |
71 | {HB_TAG('g','v',' ',' '), HB_TAG('M','N','X',' ')}, /* Manx */ |
72 | {HB_TAG('h','a',' ',' '), HB_TAG('H','A','U',' ')}, /* Hausa */ |
73 | {HB_TAG('h','e',' ',' '), HB_TAG('I','W','R',' ')}, /* Hebrew */ |
74 | {HB_TAG('h','i',' ',' '), HB_TAG('H','I','N',' ')}, /* Hindi */ |
75 | {HB_TAG('h','o',' ',' '), HB_TAG('H','M','O',' ')}, /* Hiri Motu */ |
76 | {HB_TAG('h','o',' ',' '), HB_TAG('C','P','P',' ')}, /* Hiri Motu -> Creoles */ |
77 | {HB_TAG('h','r',' ',' '), HB_TAG('H','R','V',' ')}, /* Croatian */ |
78 | {HB_TAG('h','t',' ',' '), HB_TAG('H','A','I',' ')}, /* Haitian (Haitian Creole) */ |
79 | {HB_TAG('h','t',' ',' '), HB_TAG('C','P','P',' ')}, /* Haitian -> Creoles */ |
80 | {HB_TAG('h','u',' ',' '), HB_TAG('H','U','N',' ')}, /* Hungarian */ |
81 | {HB_TAG('h','y',' ',' '), HB_TAG('H','Y','E','0')}, /* Armenian -> Armenian East */ |
82 | {HB_TAG('h','y',' ',' '), HB_TAG('H','Y','E',' ')}, /* Armenian */ |
83 | {HB_TAG('h','z',' ',' '), HB_TAG('H','E','R',' ')}, /* Herero */ |
84 | {HB_TAG('i','a',' ',' '), HB_TAG('I','N','A',' ')}, /* Interlingua (International Auxiliary Language Association) */ |
85 | {HB_TAG('i','d',' ',' '), HB_TAG('I','N','D',' ')}, /* Indonesian */ |
86 | {HB_TAG('i','d',' ',' '), HB_TAG('M','L','Y',' ')}, /* Indonesian -> Malay */ |
87 | {HB_TAG('i','e',' ',' '), HB_TAG('I','L','E',' ')}, /* Interlingue */ |
88 | {HB_TAG('i','g',' ',' '), HB_TAG('I','B','O',' ')}, /* Igbo */ |
89 | {HB_TAG('i','i',' ',' '), HB_TAG('Y','I','M',' ')}, /* Sichuan Yi -> Yi Modern */ |
90 | {HB_TAG('i','k',' ',' '), HB_TAG('I','P','K',' ')}, /* Inupiaq [macrolanguage] -> Inupiat */ |
91 | {HB_TAG('i','n',' ',' '), HB_TAG('I','N','D',' ')}, /* Indonesian (retired code) */ |
92 | {HB_TAG('i','n',' ',' '), HB_TAG('M','L','Y',' ')}, /* Indonesian (retired code) -> Malay */ |
93 | {HB_TAG('i','o',' ',' '), HB_TAG('I','D','O',' ')}, /* Ido */ |
94 | {HB_TAG('i','s',' ',' '), HB_TAG('I','S','L',' ')}, /* Icelandic */ |
95 | {HB_TAG('i','t',' ',' '), HB_TAG('I','T','A',' ')}, /* Italian */ |
96 | {HB_TAG('i','u',' ',' '), HB_TAG('I','N','U',' ')}, /* Inuktitut [macrolanguage] */ |
97 | {HB_TAG('i','u',' ',' '), HB_TAG('I','N','U','K')}, /* Inuktitut [macrolanguage] -> Nunavik Inuktitut */ |
98 | {HB_TAG('i','w',' ',' '), HB_TAG('I','W','R',' ')}, /* Hebrew (retired code) */ |
99 | {HB_TAG('j','a',' ',' '), HB_TAG('J','A','N',' ')}, /* Japanese */ |
100 | {HB_TAG('j','i',' ',' '), HB_TAG('J','I','I',' ')}, /* Yiddish (retired code) */ |
101 | {HB_TAG('j','v',' ',' '), HB_TAG('J','A','V',' ')}, /* Javanese */ |
102 | {HB_TAG('j','w',' ',' '), HB_TAG('J','A','V',' ')}, /* Javanese (retired code) */ |
103 | {HB_TAG('k','a',' ',' '), HB_TAG('K','A','T',' ')}, /* Georgian */ |
104 | {HB_TAG('k','g',' ',' '), HB_TAG('K','O','N','0')}, /* Kongo [macrolanguage] */ |
105 | {HB_TAG('k','i',' ',' '), HB_TAG('K','I','K',' ')}, /* Kikuyu (Gikuyu) */ |
106 | {HB_TAG('k','j',' ',' '), HB_TAG('K','U','A',' ')}, /* Kuanyama */ |
107 | {HB_TAG('k','k',' ',' '), HB_TAG('K','A','Z',' ')}, /* Kazakh */ |
108 | {HB_TAG('k','l',' ',' '), HB_TAG('G','R','N',' ')}, /* Greenlandic */ |
109 | {HB_TAG('k','m',' ',' '), HB_TAG('K','H','M',' ')}, /* Khmer */ |
110 | {HB_TAG('k','n',' ',' '), HB_TAG('K','A','N',' ')}, /* Kannada */ |
111 | {HB_TAG('k','o',' ',' '), HB_TAG('K','O','R',' ')}, /* Korean */ |
112 | {HB_TAG('k','o',' ',' '), HB_TAG('K','O','H',' ')}, /* Korean -> Korean Old Hangul */ |
113 | {HB_TAG('k','r',' ',' '), HB_TAG('K','N','R',' ')}, /* Kanuri [macrolanguage] */ |
114 | {HB_TAG('k','s',' ',' '), HB_TAG('K','S','H',' ')}, /* Kashmiri */ |
115 | {HB_TAG('k','u',' ',' '), HB_TAG('K','U','R',' ')}, /* Kurdish [macrolanguage] */ |
116 | {HB_TAG('k','v',' ',' '), HB_TAG('K','O','M',' ')}, /* Komi [macrolanguage] */ |
117 | {HB_TAG('k','w',' ',' '), HB_TAG('C','O','R',' ')}, /* Cornish */ |
118 | {HB_TAG('k','y',' ',' '), HB_TAG('K','I','R',' ')}, /* Kirghiz (Kyrgyz) */ |
119 | {HB_TAG('l','a',' ',' '), HB_TAG('L','A','T',' ')}, /* Latin */ |
120 | {HB_TAG('l','b',' ',' '), HB_TAG('L','T','Z',' ')}, /* Luxembourgish */ |
121 | {HB_TAG('l','g',' ',' '), HB_TAG('L','U','G',' ')}, /* Ganda */ |
122 | {HB_TAG('l','i',' ',' '), HB_TAG('L','I','M',' ')}, /* Limburgish */ |
123 | {HB_TAG('l','n',' ',' '), HB_TAG('L','I','N',' ')}, /* Lingala */ |
124 | {HB_TAG('l','o',' ',' '), HB_TAG('L','A','O',' ')}, /* Lao */ |
125 | {HB_TAG('l','t',' ',' '), HB_TAG('L','T','H',' ')}, /* Lithuanian */ |
126 | {HB_TAG('l','u',' ',' '), HB_TAG('L','U','B',' ')}, /* Luba-Katanga */ |
127 | {HB_TAG('l','v',' ',' '), HB_TAG('L','V','I',' ')}, /* Latvian [macrolanguage] */ |
128 | {HB_TAG('m','g',' ',' '), HB_TAG('M','L','G',' ')}, /* Malagasy [macrolanguage] */ |
129 | {HB_TAG('m','h',' ',' '), HB_TAG('M','A','H',' ')}, /* Marshallese */ |
130 | {HB_TAG('m','i',' ',' '), HB_TAG('M','R','I',' ')}, /* Maori */ |
131 | {HB_TAG('m','k',' ',' '), HB_TAG('M','K','D',' ')}, /* Macedonian */ |
132 | {HB_TAG('m','l',' ',' '), HB_TAG('M','A','L',' ')}, /* Malayalam -> Malayalam Traditional */ |
133 | {HB_TAG('m','l',' ',' '), HB_TAG('M','L','R',' ')}, /* Malayalam -> Malayalam Reformed */ |
134 | {HB_TAG('m','n',' ',' '), HB_TAG('M','N','G',' ')}, /* Mongolian [macrolanguage] */ |
135 | {HB_TAG('m','o',' ',' '), HB_TAG('M','O','L',' ')}, /* Moldavian (retired code) */ |
136 | {HB_TAG('m','o',' ',' '), HB_TAG('R','O','M',' ')}, /* Moldavian (retired code) -> Romanian */ |
137 | {HB_TAG('m','r',' ',' '), HB_TAG('M','A','R',' ')}, /* Marathi */ |
138 | {HB_TAG('m','s',' ',' '), HB_TAG('M','L','Y',' ')}, /* Malay [macrolanguage] */ |
139 | {HB_TAG('m','t',' ',' '), HB_TAG('M','T','S',' ')}, /* Maltese */ |
140 | {HB_TAG('m','y',' ',' '), HB_TAG('B','R','M',' ')}, /* Burmese */ |
141 | {HB_TAG('n','a',' ',' '), HB_TAG('N','A','U',' ')}, /* Nauru -> Nauruan */ |
142 | {HB_TAG('n','b',' ',' '), HB_TAG('N','O','R',' ')}, /* Norwegian Bokmål -> Norwegian */ |
143 | {HB_TAG('n','d',' ',' '), HB_TAG('N','D','B',' ')}, /* North Ndebele -> Ndebele */ |
144 | {HB_TAG('n','e',' ',' '), HB_TAG('N','E','P',' ')}, /* Nepali [macrolanguage] */ |
145 | {HB_TAG('n','g',' ',' '), HB_TAG('N','D','G',' ')}, /* Ndonga */ |
146 | {HB_TAG('n','l',' ',' '), HB_TAG('N','L','D',' ')}, /* Dutch */ |
147 | {HB_TAG('n','n',' ',' '), HB_TAG('N','Y','N',' ')}, /* Norwegian Nynorsk (Nynorsk, Norwegian) */ |
148 | {HB_TAG('n','o',' ',' '), HB_TAG('N','O','R',' ')}, /* Norwegian [macrolanguage] */ |
149 | {HB_TAG('n','r',' ',' '), HB_TAG('N','D','B',' ')}, /* South Ndebele -> Ndebele */ |
150 | {HB_TAG('n','v',' ',' '), HB_TAG('N','A','V',' ')}, /* Navajo */ |
151 | {HB_TAG('n','v',' ',' '), HB_TAG('A','T','H',' ')}, /* Navajo -> Athapaskan */ |
152 | {HB_TAG('n','y',' ',' '), HB_TAG('C','H','I',' ')}, /* Chichewa (Chewa, Nyanja) */ |
153 | {HB_TAG('o','c',' ',' '), HB_TAG('O','C','I',' ')}, /* Occitan (post 1500) */ |
154 | {HB_TAG('o','j',' ',' '), HB_TAG('O','J','B',' ')}, /* Ojibwa [macrolanguage] -> Ojibway */ |
155 | {HB_TAG('o','m',' ',' '), HB_TAG('O','R','O',' ')}, /* Oromo [macrolanguage] */ |
156 | {HB_TAG('o','r',' ',' '), HB_TAG('O','R','I',' ')}, /* Odia (formerly Oriya) [macrolanguage] */ |
157 | {HB_TAG('o','s',' ',' '), HB_TAG('O','S','S',' ')}, /* Ossetian */ |
158 | {HB_TAG('p','a',' ',' '), HB_TAG('P','A','N',' ')}, /* Punjabi */ |
159 | {HB_TAG('p','i',' ',' '), HB_TAG('P','A','L',' ')}, /* Pali */ |
160 | {HB_TAG('p','l',' ',' '), HB_TAG('P','L','K',' ')}, /* Polish */ |
161 | {HB_TAG('p','s',' ',' '), HB_TAG('P','A','S',' ')}, /* Pashto [macrolanguage] */ |
162 | {HB_TAG('p','t',' ',' '), HB_TAG('P','T','G',' ')}, /* Portuguese */ |
163 | {HB_TAG('q','u',' ',' '), HB_TAG('Q','U','Z',' ')}, /* Quechua [macrolanguage] */ |
164 | {HB_TAG('r','m',' ',' '), HB_TAG('R','M','S',' ')}, /* Romansh */ |
165 | {HB_TAG('r','n',' ',' '), HB_TAG('R','U','N',' ')}, /* Rundi */ |
166 | {HB_TAG('r','o',' ',' '), HB_TAG('R','O','M',' ')}, /* Romanian */ |
167 | {HB_TAG('r','u',' ',' '), HB_TAG('R','U','S',' ')}, /* Russian */ |
168 | {HB_TAG('r','w',' ',' '), HB_TAG('R','U','A',' ')}, /* Kinyarwanda */ |
169 | {HB_TAG('s','a',' ',' '), HB_TAG('S','A','N',' ')}, /* Sanskrit */ |
170 | {HB_TAG('s','c',' ',' '), HB_TAG('S','R','D',' ')}, /* Sardinian [macrolanguage] */ |
171 | {HB_TAG('s','d',' ',' '), HB_TAG('S','N','D',' ')}, /* Sindhi */ |
172 | {HB_TAG('s','e',' ',' '), HB_TAG('N','S','M',' ')}, /* Northern Sami */ |
173 | {HB_TAG('s','g',' ',' '), HB_TAG('S','G','O',' ')}, /* Sango */ |
174 | {HB_TAG('s','h',' ',' '), HB_TAG('B','O','S',' ')}, /* Serbo-Croatian [macrolanguage] -> Bosnian */ |
175 | {HB_TAG('s','h',' ',' '), HB_TAG('H','R','V',' ')}, /* Serbo-Croatian [macrolanguage] -> Croatian */ |
176 | {HB_TAG('s','h',' ',' '), HB_TAG('S','R','B',' ')}, /* Serbo-Croatian [macrolanguage] -> Serbian */ |
177 | {HB_TAG('s','i',' ',' '), HB_TAG('S','N','H',' ')}, /* Sinhala (Sinhalese) */ |
178 | {HB_TAG('s','k',' ',' '), HB_TAG('S','K','Y',' ')}, /* Slovak */ |
179 | {HB_TAG('s','l',' ',' '), HB_TAG('S','L','V',' ')}, /* Slovenian */ |
180 | {HB_TAG('s','m',' ',' '), HB_TAG('S','M','O',' ')}, /* Samoan */ |
181 | {HB_TAG('s','n',' ',' '), HB_TAG('S','N','A','0')}, /* Shona */ |
182 | {HB_TAG('s','o',' ',' '), HB_TAG('S','M','L',' ')}, /* Somali */ |
183 | {HB_TAG('s','q',' ',' '), HB_TAG('S','Q','I',' ')}, /* Albanian [macrolanguage] */ |
184 | {HB_TAG('s','r',' ',' '), HB_TAG('S','R','B',' ')}, /* Serbian */ |
185 | {HB_TAG('s','s',' ',' '), HB_TAG('S','W','Z',' ')}, /* Swati */ |
186 | {HB_TAG('s','t',' ',' '), HB_TAG('S','O','T',' ')}, /* Southern Sotho */ |
187 | {HB_TAG('s','u',' ',' '), HB_TAG('S','U','N',' ')}, /* Sundanese */ |
188 | {HB_TAG('s','v',' ',' '), HB_TAG('S','V','E',' ')}, /* Swedish */ |
189 | {HB_TAG('s','w',' ',' '), HB_TAG('S','W','K',' ')}, /* Swahili [macrolanguage] */ |
190 | {HB_TAG('t','a',' ',' '), HB_TAG('T','A','M',' ')}, /* Tamil */ |
191 | {HB_TAG('t','e',' ',' '), HB_TAG('T','E','L',' ')}, /* Telugu */ |
192 | {HB_TAG('t','g',' ',' '), HB_TAG('T','A','J',' ')}, /* Tajik -> Tajiki */ |
193 | {HB_TAG('t','h',' ',' '), HB_TAG('T','H','A',' ')}, /* Thai */ |
194 | {HB_TAG('t','i',' ',' '), HB_TAG('T','G','Y',' ')}, /* Tigrinya */ |
195 | {HB_TAG('t','k',' ',' '), HB_TAG('T','K','M',' ')}, /* Turkmen */ |
196 | {HB_TAG('t','l',' ',' '), HB_TAG('T','G','L',' ')}, /* Tagalog */ |
197 | {HB_TAG('t','n',' ',' '), HB_TAG('T','N','A',' ')}, /* Tswana */ |
198 | {HB_TAG('t','o',' ',' '), HB_TAG('T','G','N',' ')}, /* Tonga (Tonga Islands) -> Tongan */ |
199 | {HB_TAG('t','r',' ',' '), HB_TAG('T','R','K',' ')}, /* Turkish */ |
200 | {HB_TAG('t','s',' ',' '), HB_TAG('T','S','G',' ')}, /* Tsonga */ |
201 | {HB_TAG('t','t',' ',' '), HB_TAG('T','A','T',' ')}, /* Tatar */ |
202 | {HB_TAG('t','w',' ',' '), HB_TAG('T','W','I',' ')}, /* Twi */ |
203 | {HB_TAG('t','w',' ',' '), HB_TAG('A','K','A',' ')}, /* Twi -> Akan */ |
204 | {HB_TAG('t','y',' ',' '), HB_TAG('T','H','T',' ')}, /* Tahitian */ |
205 | {HB_TAG('u','g',' ',' '), HB_TAG('U','Y','G',' ')}, /* Uyghur */ |
206 | {HB_TAG('u','k',' ',' '), HB_TAG('U','K','R',' ')}, /* Ukrainian */ |
207 | {HB_TAG('u','r',' ',' '), HB_TAG('U','R','D',' ')}, /* Urdu */ |
208 | {HB_TAG('u','z',' ',' '), HB_TAG('U','Z','B',' ')}, /* Uzbek [macrolanguage] */ |
209 | {HB_TAG('v','e',' ',' '), HB_TAG('V','E','N',' ')}, /* Venda */ |
210 | {HB_TAG('v','i',' ',' '), HB_TAG('V','I','T',' ')}, /* Vietnamese */ |
211 | {HB_TAG('v','o',' ',' '), HB_TAG('V','O','L',' ')}, /* Volapük */ |
212 | {HB_TAG('w','a',' ',' '), HB_TAG('W','L','N',' ')}, /* Walloon */ |
213 | {HB_TAG('w','o',' ',' '), HB_TAG('W','L','F',' ')}, /* Wolof */ |
214 | {HB_TAG('x','h',' ',' '), HB_TAG('X','H','S',' ')}, /* Xhosa */ |
215 | {HB_TAG('y','i',' ',' '), HB_TAG('J','I','I',' ')}, /* Yiddish [macrolanguage] */ |
216 | {HB_TAG('y','o',' ',' '), HB_TAG('Y','B','A',' ')}, /* Yoruba */ |
217 | {HB_TAG('z','a',' ',' '), HB_TAG('Z','H','A',' ')}, /* Zhuang [macrolanguage] */ |
218 | {HB_TAG('z','h',' ',' '), HB_TAG('Z','H','S',' ')}, /* Chinese, Simplified [macrolanguage] */ |
219 | {HB_TAG('z','u',' ',' '), HB_TAG('Z','U','L',' ')}, /* Zulu */ |
220 | }; |
221 | |
222 | #ifndef HB_NO_LANGUAGE_LONG |
223 | static const LangTag ot_languages3[] = { |
224 | {HB_TAG('a','a','e',' '), HB_TAG('S','Q','I',' ')}, /* Arbëreshë Albanian -> Albanian */ |
225 | {HB_TAG('a','a','o',' '), HB_TAG('A','R','A',' ')}, /* Algerian Saharan Arabic -> Arabic */ |
226 | {HB_TAG('a','a','t',' '), HB_TAG('S','Q','I',' ')}, /* Arvanitika Albanian -> Albanian */ |
227 | {HB_TAG('a','b','a',' '), HB_TAG_NONE }, /* Abé != Abaza */ |
228 | {HB_TAG('a','b','h',' '), HB_TAG('A','R','A',' ')}, /* Tajiki Arabic -> Arabic */ |
229 | {HB_TAG('a','b','q',' '), HB_TAG('A','B','A',' ')}, /* Abaza */ |
230 | {HB_TAG('a','b','s',' '), HB_TAG('C','P','P',' ')}, /* Ambonese Malay -> Creoles */ |
231 | {HB_TAG('a','b','v',' '), HB_TAG('A','R','A',' ')}, /* Baharna Arabic -> Arabic */ |
232 | {HB_TAG('a','c','f',' '), HB_TAG('F','A','N',' ')}, /* Saint Lucian Creole French -> French Antillean */ |
233 | {HB_TAG('a','c','f',' '), HB_TAG('C','P','P',' ')}, /* Saint Lucian Creole French -> Creoles */ |
234 | /*{HB_TAG('a','c','h',' '), HB_TAG('A','C','H',' ')},*/ /* Acoli -> Acholi */ |
235 | {HB_TAG('a','c','m',' '), HB_TAG('A','R','A',' ')}, /* Mesopotamian Arabic -> Arabic */ |
236 | {HB_TAG('a','c','q',' '), HB_TAG('A','R','A',' ')}, /* Ta'izzi-Adeni Arabic -> Arabic */ |
237 | {HB_TAG('a','c','r',' '), HB_TAG('A','C','R',' ')}, /* Achi */ |
238 | {HB_TAG('a','c','r',' '), HB_TAG('M','Y','N',' ')}, /* Achi -> Mayan */ |
239 | {HB_TAG('a','c','w',' '), HB_TAG('A','R','A',' ')}, /* Hijazi Arabic -> Arabic */ |
240 | {HB_TAG('a','c','x',' '), HB_TAG('A','R','A',' ')}, /* Omani Arabic -> Arabic */ |
241 | {HB_TAG('a','c','y',' '), HB_TAG('A','R','A',' ')}, /* Cypriot Arabic -> Arabic */ |
242 | {HB_TAG('a','d','a',' '), HB_TAG('D','N','G',' ')}, /* Adangme -> Dangme */ |
243 | {HB_TAG('a','d','f',' '), HB_TAG('A','R','A',' ')}, /* Dhofari Arabic -> Arabic */ |
244 | {HB_TAG('a','d','p',' '), HB_TAG('D','Z','N',' ')}, /* Adap (retired code) -> Dzongkha */ |
245 | /*{HB_TAG('a','d','y',' '), HB_TAG('A','D','Y',' ')},*/ /* Adyghe */ |
246 | {HB_TAG('a','e','b',' '), HB_TAG('A','R','A',' ')}, /* Tunisian Arabic -> Arabic */ |
247 | {HB_TAG('a','e','c',' '), HB_TAG('A','R','A',' ')}, /* Saidi Arabic -> Arabic */ |
248 | {HB_TAG('a','f','b',' '), HB_TAG('A','R','A',' ')}, /* Gulf Arabic -> Arabic */ |
249 | {HB_TAG('a','f','k',' '), HB_TAG_NONE }, /* Nanubae != Afrikaans */ |
250 | {HB_TAG('a','f','s',' '), HB_TAG('C','P','P',' ')}, /* Afro-Seminole Creole -> Creoles */ |
251 | {HB_TAG('a','g','u',' '), HB_TAG('M','Y','N',' ')}, /* Aguacateco -> Mayan */ |
252 | {HB_TAG('a','g','w',' '), HB_TAG_NONE }, /* Kahua != Agaw */ |
253 | {HB_TAG('a','h','g',' '), HB_TAG('A','G','W',' ')}, /* Qimant -> Agaw */ |
254 | {HB_TAG('a','h','t',' '), HB_TAG('A','T','H',' ')}, /* Ahtena -> Athapaskan */ |
255 | {HB_TAG('a','i','g',' '), HB_TAG('C','P','P',' ')}, /* Antigua and Barbuda Creole English -> Creoles */ |
256 | {HB_TAG('a','i','i',' '), HB_TAG('S','W','A',' ')}, /* Assyrian Neo-Aramaic -> Swadaya Aramaic */ |
257 | {HB_TAG('a','i','i',' '), HB_TAG('S','Y','R',' ')}, /* Assyrian Neo-Aramaic -> Syriac */ |
258 | /*{HB_TAG('a','i','o',' '), HB_TAG('A','I','O',' ')},*/ /* Aiton */ |
259 | {HB_TAG('a','i','w',' '), HB_TAG('A','R','I',' ')}, /* Aari */ |
260 | {HB_TAG('a','j','p',' '), HB_TAG('A','R','A',' ')}, /* South Levantine Arabic -> Arabic */ |
261 | {HB_TAG('a','j','t',' '), HB_TAG('A','R','A',' ')}, /* Judeo-Tunisian Arabic (retired code) -> Arabic */ |
262 | {HB_TAG('a','k','b',' '), HB_TAG('A','K','B',' ')}, /* Batak Angkola */ |
263 | {HB_TAG('a','k','b',' '), HB_TAG('B','T','K',' ')}, /* Batak Angkola -> Batak */ |
264 | {HB_TAG('a','l','n',' '), HB_TAG('S','Q','I',' ')}, /* Gheg Albanian -> Albanian */ |
265 | {HB_TAG('a','l','s',' '), HB_TAG('S','Q','I',' ')}, /* Tosk Albanian -> Albanian */ |
266 | /*{HB_TAG('a','l','t',' '), HB_TAG('A','L','T',' ')},*/ /* Southern Altai -> Altai */ |
267 | {HB_TAG('a','m','f',' '), HB_TAG('H','B','N',' ')}, /* Hamer-Banna -> Hammer-Banna */ |
268 | {HB_TAG('a','m','w',' '), HB_TAG('S','Y','R',' ')}, /* Western Neo-Aramaic -> Syriac */ |
269 | /*{HB_TAG('a','n','g',' '), HB_TAG('A','N','G',' ')},*/ /* Old English (ca. 450-1100) -> Anglo-Saxon */ |
270 | {HB_TAG('a','o','a',' '), HB_TAG('C','P','P',' ')}, /* Angolar -> Creoles */ |
271 | {HB_TAG('a','p','a',' '), HB_TAG('A','T','H',' ')}, /* Apache [collection] -> Athapaskan */ |
272 | {HB_TAG('a','p','c',' '), HB_TAG('A','R','A',' ')}, /* North Levantine Arabic -> Arabic */ |
273 | {HB_TAG('a','p','d',' '), HB_TAG('A','R','A',' ')}, /* Sudanese Arabic -> Arabic */ |
274 | {HB_TAG('a','p','j',' '), HB_TAG('A','T','H',' ')}, /* Jicarilla Apache -> Athapaskan */ |
275 | {HB_TAG('a','p','k',' '), HB_TAG('A','T','H',' ')}, /* Kiowa Apache -> Athapaskan */ |
276 | {HB_TAG('a','p','l',' '), HB_TAG('A','T','H',' ')}, /* Lipan Apache -> Athapaskan */ |
277 | {HB_TAG('a','p','m',' '), HB_TAG('A','T','H',' ')}, /* Mescalero-Chiricahua Apache -> Athapaskan */ |
278 | {HB_TAG('a','p','w',' '), HB_TAG('A','T','H',' ')}, /* Western Apache -> Athapaskan */ |
279 | {HB_TAG('a','r','b',' '), HB_TAG('A','R','A',' ')}, /* Standard Arabic -> Arabic */ |
280 | {HB_TAG('a','r','i',' '), HB_TAG_NONE }, /* Arikara != Aari */ |
281 | {HB_TAG('a','r','k',' '), HB_TAG_NONE }, /* Arikapú != Rakhine */ |
282 | {HB_TAG('a','r','n',' '), HB_TAG('M','A','P',' ')}, /* Mapudungun */ |
283 | {HB_TAG('a','r','q',' '), HB_TAG('A','R','A',' ')}, /* Algerian Arabic -> Arabic */ |
284 | {HB_TAG('a','r','s',' '), HB_TAG('A','R','A',' ')}, /* Najdi Arabic -> Arabic */ |
285 | {HB_TAG('a','r','y',' '), HB_TAG('M','O','R',' ')}, /* Moroccan Arabic -> Moroccan */ |
286 | {HB_TAG('a','r','y',' '), HB_TAG('A','R','A',' ')}, /* Moroccan Arabic -> Arabic */ |
287 | {HB_TAG('a','r','z',' '), HB_TAG('A','R','A',' ')}, /* Egyptian Arabic -> Arabic */ |
288 | /*{HB_TAG('a','s','t',' '), HB_TAG('A','S','T',' ')},*/ /* Asturian */ |
289 | /*{HB_TAG('a','t','h',' '), HB_TAG('A','T','H',' ')},*/ /* Athapascan [collection] -> Athapaskan */ |
290 | {HB_TAG('a','t','j',' '), HB_TAG('R','C','R',' ')}, /* Atikamekw -> R-Cree */ |
291 | {HB_TAG('a','t','v',' '), HB_TAG('A','L','T',' ')}, /* Northern Altai -> Altai */ |
292 | {HB_TAG('a','u','j',' '), HB_TAG('B','B','R',' ')}, /* Awjilah -> Berber */ |
293 | {HB_TAG('a','u','z',' '), HB_TAG('A','R','A',' ')}, /* Uzbeki Arabic -> Arabic */ |
294 | {HB_TAG('a','v','l',' '), HB_TAG('A','R','A',' ')}, /* Eastern Egyptian Bedawi Arabic -> Arabic */ |
295 | /*{HB_TAG('a','v','n',' '), HB_TAG('A','V','N',' ')},*/ /* Avatime */ |
296 | /*{HB_TAG('a','w','a',' '), HB_TAG('A','W','A',' ')},*/ /* Awadhi */ |
297 | {HB_TAG('a','y','c',' '), HB_TAG('A','Y','M',' ')}, /* Southern Aymara -> Aymara */ |
298 | {HB_TAG('a','y','h',' '), HB_TAG('A','R','A',' ')}, /* Hadrami Arabic -> Arabic */ |
299 | {HB_TAG('a','y','l',' '), HB_TAG('A','R','A',' ')}, /* Libyan Arabic -> Arabic */ |
300 | {HB_TAG('a','y','n',' '), HB_TAG('A','R','A',' ')}, /* Sanaani Arabic -> Arabic */ |
301 | {HB_TAG('a','y','p',' '), HB_TAG('A','R','A',' ')}, /* North Mesopotamian Arabic -> Arabic */ |
302 | {HB_TAG('a','y','r',' '), HB_TAG('A','Y','M',' ')}, /* Central Aymara -> Aymara */ |
303 | {HB_TAG('a','z','b',' '), HB_TAG('A','Z','B',' ')}, /* South Azerbaijani -> Torki */ |
304 | {HB_TAG('a','z','b',' '), HB_TAG('A','Z','E',' ')}, /* South Azerbaijani -> Azerbaijani */ |
305 | {HB_TAG('a','z','d',' '), HB_TAG('N','A','H',' ')}, /* Eastern Durango Nahuatl -> Nahuatl */ |
306 | {HB_TAG('a','z','j',' '), HB_TAG('A','Z','E',' ')}, /* North Azerbaijani -> Azerbaijani */ |
307 | {HB_TAG('a','z','n',' '), HB_TAG('N','A','H',' ')}, /* Western Durango Nahuatl -> Nahuatl */ |
308 | {HB_TAG('a','z','z',' '), HB_TAG('N','A','H',' ')}, /* Highland Puebla Nahuatl -> Nahuatl */ |
309 | {HB_TAG('b','a','d',' '), HB_TAG('B','A','D','0')}, /* Banda [collection] */ |
310 | {HB_TAG('b','a','g',' '), HB_TAG_NONE }, /* Tuki != Baghelkhandi */ |
311 | {HB_TAG('b','a','h',' '), HB_TAG('C','P','P',' ')}, /* Bahamas Creole English -> Creoles */ |
312 | {HB_TAG('b','a','i',' '), HB_TAG('B','M','L',' ')}, /* Bamileke [collection] */ |
313 | {HB_TAG('b','a','l',' '), HB_TAG('B','L','I',' ')}, /* Baluchi [macrolanguage] */ |
314 | /*{HB_TAG('b','a','n',' '), HB_TAG('B','A','N',' ')},*/ /* Balinese */ |
315 | /*{HB_TAG('b','a','r',' '), HB_TAG('B','A','R',' ')},*/ /* Bavarian */ |
316 | {HB_TAG('b','a','u',' '), HB_TAG_NONE }, /* Bada (Nigeria) != Baulé */ |
317 | {HB_TAG('b','b','c',' '), HB_TAG('B','B','C',' ')}, /* Batak Toba */ |
318 | {HB_TAG('b','b','c',' '), HB_TAG('B','T','K',' ')}, /* Batak Toba -> Batak */ |
319 | {HB_TAG('b','b','j',' '), HB_TAG('B','M','L',' ')}, /* Ghomálá' -> Bamileke */ |
320 | {HB_TAG('b','b','p',' '), HB_TAG('B','A','D','0')}, /* West Central Banda -> Banda */ |
321 | {HB_TAG('b','b','r',' '), HB_TAG_NONE }, /* Girawa != Berber */ |
322 | {HB_TAG('b','b','z',' '), HB_TAG('A','R','A',' ')}, /* Babalia Creole Arabic (retired code) -> Arabic */ |
323 | {HB_TAG('b','c','c',' '), HB_TAG('B','L','I',' ')}, /* Southern Balochi -> Baluchi */ |
324 | {HB_TAG('b','c','h',' '), HB_TAG_NONE }, /* Bariai != Bench */ |
325 | {HB_TAG('b','c','i',' '), HB_TAG('B','A','U',' ')}, /* Baoulé -> Baulé */ |
326 | {HB_TAG('b','c','l',' '), HB_TAG('B','I','K',' ')}, /* Central Bikol -> Bikol */ |
327 | {HB_TAG('b','c','q',' '), HB_TAG('B','C','H',' ')}, /* Bench */ |
328 | {HB_TAG('b','c','r',' '), HB_TAG('A','T','H',' ')}, /* Babine -> Athapaskan */ |
329 | /*{HB_TAG('b','d','y',' '), HB_TAG('B','D','Y',' ')},*/ /* Bandjalang */ |
330 | {HB_TAG('b','e','a',' '), HB_TAG('A','T','H',' ')}, /* Beaver -> Athapaskan */ |
331 | {HB_TAG('b','e','b',' '), HB_TAG('B','T','I',' ')}, /* Bebele -> Beti */ |
332 | /*{HB_TAG('b','e','m',' '), HB_TAG('B','E','M',' ')},*/ /* Bemba (Zambia) */ |
333 | {HB_TAG('b','e','r',' '), HB_TAG('B','B','R',' ')}, /* Berber [collection] */ |
334 | {HB_TAG('b','e','w',' '), HB_TAG('C','P','P',' ')}, /* Betawi -> Creoles */ |
335 | {HB_TAG('b','f','l',' '), HB_TAG('B','A','D','0')}, /* Banda-Ndélé -> Banda */ |
336 | {HB_TAG('b','f','q',' '), HB_TAG('B','A','D',' ')}, /* Badaga */ |
337 | {HB_TAG('b','f','t',' '), HB_TAG('B','L','T',' ')}, /* Balti */ |
338 | {HB_TAG('b','f','u',' '), HB_TAG('L','A','H',' ')}, /* Gahri -> Lahuli */ |
339 | {HB_TAG('b','f','y',' '), HB_TAG('B','A','G',' ')}, /* Bagheli -> Baghelkhandi */ |
340 | /*{HB_TAG('b','g','c',' '), HB_TAG('B','G','C',' ')},*/ /* Haryanvi */ |
341 | {HB_TAG('b','g','n',' '), HB_TAG('B','L','I',' ')}, /* Western Balochi -> Baluchi */ |
342 | {HB_TAG('b','g','p',' '), HB_TAG('B','L','I',' ')}, /* Eastern Balochi -> Baluchi */ |
343 | {HB_TAG('b','g','q',' '), HB_TAG('B','G','Q',' ')}, /* Bagri */ |
344 | {HB_TAG('b','g','q',' '), HB_TAG('R','A','J',' ')}, /* Bagri -> Rajasthani */ |
345 | {HB_TAG('b','g','r',' '), HB_TAG('Q','I','N',' ')}, /* Bawm Chin -> Chin */ |
346 | {HB_TAG('b','h','b',' '), HB_TAG('B','H','I',' ')}, /* Bhili */ |
347 | /*{HB_TAG('b','h','i',' '), HB_TAG('B','H','I',' ')},*/ /* Bhilali -> Bhili */ |
348 | {HB_TAG('b','h','k',' '), HB_TAG('B','I','K',' ')}, /* Albay Bicolano (retired code) -> Bikol */ |
349 | /*{HB_TAG('b','h','o',' '), HB_TAG('B','H','O',' ')},*/ /* Bhojpuri */ |
350 | {HB_TAG('b','h','r',' '), HB_TAG('M','L','G',' ')}, /* Bara Malagasy -> Malagasy */ |
351 | /*{HB_TAG('b','i','k',' '), HB_TAG('B','I','K',' ')},*/ /* Bikol [macrolanguage] */ |
352 | {HB_TAG('b','i','l',' '), HB_TAG_NONE }, /* Bile != Bilen */ |
353 | {HB_TAG('b','i','n',' '), HB_TAG('E','D','O',' ')}, /* Edo */ |
354 | {HB_TAG('b','i','u',' '), HB_TAG('Q','I','N',' ')}, /* Biete -> Chin */ |
355 | /*{HB_TAG('b','j','j',' '), HB_TAG('B','J','J',' ')},*/ /* Kanauji */ |
356 | {HB_TAG('b','j','n',' '), HB_TAG('M','L','Y',' ')}, /* Banjar -> Malay */ |
357 | {HB_TAG('b','j','o',' '), HB_TAG('B','A','D','0')}, /* Mid-Southern Banda -> Banda */ |
358 | {HB_TAG('b','j','q',' '), HB_TAG('M','L','G',' ')}, /* Southern Betsimisaraka Malagasy (retired code) -> Malagasy */ |
359 | {HB_TAG('b','j','s',' '), HB_TAG('C','P','P',' ')}, /* Bajan -> Creoles */ |
360 | {HB_TAG('b','j','t',' '), HB_TAG('B','L','N',' ')}, /* Balanta-Ganja -> Balante */ |
361 | {HB_TAG('b','k','f',' '), HB_TAG_NONE }, /* Beeke != Blackfoot */ |
362 | {HB_TAG('b','k','o',' '), HB_TAG('B','M','L',' ')}, /* Kwa' -> Bamileke */ |
363 | {HB_TAG('b','l','a',' '), HB_TAG('B','K','F',' ')}, /* Siksika -> Blackfoot */ |
364 | {HB_TAG('b','l','e',' '), HB_TAG('B','L','N',' ')}, /* Balanta-Kentohe -> Balante */ |
365 | {HB_TAG('b','l','g',' '), HB_TAG('I','B','A',' ')}, /* Balau (retired code) -> Iban */ |
366 | {HB_TAG('b','l','i',' '), HB_TAG_NONE }, /* Bolia != Baluchi */ |
367 | {HB_TAG('b','l','k',' '), HB_TAG('B','L','K',' ')}, /* Pa’o Karen */ |
368 | {HB_TAG('b','l','k',' '), HB_TAG('K','R','N',' ')}, /* Pa'o Karen -> Karen */ |
369 | {HB_TAG('b','l','n',' '), HB_TAG('B','I','K',' ')}, /* Southern Catanduanes Bikol -> Bikol */ |
370 | {HB_TAG('b','l','t',' '), HB_TAG_NONE }, /* Tai Dam != Balti */ |
371 | {HB_TAG('b','m','b',' '), HB_TAG_NONE }, /* Bembe != Bambara (Bamanankan) */ |
372 | {HB_TAG('b','m','l',' '), HB_TAG_NONE }, /* Bomboli != Bamileke */ |
373 | {HB_TAG('b','m','m',' '), HB_TAG('M','L','G',' ')}, /* Northern Betsimisaraka Malagasy -> Malagasy */ |
374 | {HB_TAG('b','p','d',' '), HB_TAG('B','A','D','0')}, /* Banda-Banda -> Banda */ |
375 | {HB_TAG('b','p','l',' '), HB_TAG('C','P','P',' ')}, /* Broome Pearling Lugger Pidgin -> Creoles */ |
376 | {HB_TAG('b','p','q',' '), HB_TAG('C','P','P',' ')}, /* Banda Malay -> Creoles */ |
377 | /*{HB_TAG('b','p','y',' '), HB_TAG('B','P','Y',' ')},*/ /* Bishnupriya -> Bishnupriya Manipuri */ |
378 | {HB_TAG('b','q','i',' '), HB_TAG('L','R','C',' ')}, /* Bakhtiari -> Luri */ |
379 | {HB_TAG('b','q','k',' '), HB_TAG('B','A','D','0')}, /* Banda-Mbrès -> Banda */ |
380 | {HB_TAG('b','r','a',' '), HB_TAG('B','R','I',' ')}, /* Braj -> Braj Bhasha */ |
381 | {HB_TAG('b','r','c',' '), HB_TAG('C','P','P',' ')}, /* Berbice Creole Dutch -> Creoles */ |
382 | /*{HB_TAG('b','r','h',' '), HB_TAG('B','R','H',' ')},*/ /* Brahui */ |
383 | {HB_TAG('b','r','i',' '), HB_TAG_NONE }, /* Mokpwe != Braj Bhasha */ |
384 | {HB_TAG('b','r','m',' '), HB_TAG_NONE }, /* Barambu != Burmese */ |
385 | /*{HB_TAG('b','r','x',' '), HB_TAG('B','R','X',' ')},*/ /* Bodo (India) */ |
386 | {HB_TAG('b','s','h',' '), HB_TAG_NONE }, /* Kati != Bashkir */ |
387 | /*{HB_TAG('b','s','k',' '), HB_TAG('B','S','K',' ')},*/ /* Burushaski */ |
388 | {HB_TAG('b','t','b',' '), HB_TAG('B','T','I',' ')}, /* Beti (Cameroon) (retired code) */ |
389 | {HB_TAG('b','t','d',' '), HB_TAG('B','T','D',' ')}, /* Batak Dairi (Pakpak) */ |
390 | {HB_TAG('b','t','d',' '), HB_TAG('B','T','K',' ')}, /* Batak Dairi -> Batak */ |
391 | {HB_TAG('b','t','i',' '), HB_TAG_NONE }, /* Burate != Beti */ |
392 | {HB_TAG('b','t','j',' '), HB_TAG('M','L','Y',' ')}, /* Bacanese Malay -> Malay */ |
393 | /*{HB_TAG('b','t','k',' '), HB_TAG('B','T','K',' ')},*/ /* Batak [collection] */ |
394 | {HB_TAG('b','t','m',' '), HB_TAG('B','T','M',' ')}, /* Batak Mandailing */ |
395 | {HB_TAG('b','t','m',' '), HB_TAG('B','T','K',' ')}, /* Batak Mandailing -> Batak */ |
396 | {HB_TAG('b','t','o',' '), HB_TAG('B','I','K',' ')}, /* Rinconada Bikol -> Bikol */ |
397 | {HB_TAG('b','t','s',' '), HB_TAG('B','T','S',' ')}, /* Batak Simalungun */ |
398 | {HB_TAG('b','t','s',' '), HB_TAG('B','T','K',' ')}, /* Batak Simalungun -> Batak */ |
399 | {HB_TAG('b','t','x',' '), HB_TAG('B','T','X',' ')}, /* Batak Karo */ |
400 | {HB_TAG('b','t','x',' '), HB_TAG('B','T','K',' ')}, /* Batak Karo -> Batak */ |
401 | {HB_TAG('b','t','z',' '), HB_TAG('B','T','Z',' ')}, /* Batak Alas-Kluet */ |
402 | {HB_TAG('b','t','z',' '), HB_TAG('B','T','K',' ')}, /* Batak Alas-Kluet -> Batak */ |
403 | /*{HB_TAG('b','u','g',' '), HB_TAG('B','U','G',' ')},*/ /* Buginese -> Bugis */ |
404 | {HB_TAG('b','u','m',' '), HB_TAG('B','T','I',' ')}, /* Bulu (Cameroon) -> Beti */ |
405 | {HB_TAG('b','v','e',' '), HB_TAG('M','L','Y',' ')}, /* Berau Malay -> Malay */ |
406 | {HB_TAG('b','v','u',' '), HB_TAG('M','L','Y',' ')}, /* Bukit Malay -> Malay */ |
407 | {HB_TAG('b','w','e',' '), HB_TAG('K','R','N',' ')}, /* Bwe Karen -> Karen */ |
408 | {HB_TAG('b','x','k',' '), HB_TAG('L','U','H',' ')}, /* Bukusu -> Luyia */ |
409 | {HB_TAG('b','x','o',' '), HB_TAG('C','P','P',' ')}, /* Barikanchi -> Creoles */ |
410 | {HB_TAG('b','x','p',' '), HB_TAG('B','T','I',' ')}, /* Bebil -> Beti */ |
411 | {HB_TAG('b','x','r',' '), HB_TAG('R','B','U',' ')}, /* Russia Buriat -> Russian Buriat */ |
412 | {HB_TAG('b','y','n',' '), HB_TAG('B','I','L',' ')}, /* Bilin -> Bilen */ |
413 | {HB_TAG('b','y','v',' '), HB_TAG('B','Y','V',' ')}, /* Medumba */ |
414 | {HB_TAG('b','y','v',' '), HB_TAG('B','M','L',' ')}, /* Medumba -> Bamileke */ |
415 | {HB_TAG('b','z','c',' '), HB_TAG('M','L','G',' ')}, /* Southern Betsimisaraka Malagasy -> Malagasy */ |
416 | {HB_TAG('b','z','j',' '), HB_TAG('C','P','P',' ')}, /* Belize Kriol English -> Creoles */ |
417 | {HB_TAG('b','z','k',' '), HB_TAG('C','P','P',' ')}, /* Nicaragua Creole English -> Creoles */ |
418 | {HB_TAG('c','a','a',' '), HB_TAG('M','Y','N',' ')}, /* Chortí -> Mayan */ |
419 | {HB_TAG('c','a','c',' '), HB_TAG('M','Y','N',' ')}, /* Chuj -> Mayan */ |
420 | {HB_TAG('c','a','f',' '), HB_TAG('C','R','R',' ')}, /* Southern Carrier -> Carrier */ |
421 | {HB_TAG('c','a','f',' '), HB_TAG('A','T','H',' ')}, /* Southern Carrier -> Athapaskan */ |
422 | {HB_TAG('c','a','k',' '), HB_TAG('C','A','K',' ')}, /* Kaqchikel */ |
423 | {HB_TAG('c','a','k',' '), HB_TAG('M','Y','N',' ')}, /* Kaqchikel -> Mayan */ |
424 | {HB_TAG('c','b','k',' '), HB_TAG('C','B','K',' ')}, /* Chavacano -> Zamboanga Chavacano */ |
425 | {HB_TAG('c','b','k',' '), HB_TAG('C','P','P',' ')}, /* Chavacano -> Creoles */ |
426 | {HB_TAG('c','b','l',' '), HB_TAG('Q','I','N',' ')}, /* Bualkhaw Chin -> Chin */ |
427 | {HB_TAG('c','c','l',' '), HB_TAG('C','P','P',' ')}, /* Cutchi-Swahili -> Creoles */ |
428 | {HB_TAG('c','c','m',' '), HB_TAG('C','P','P',' ')}, /* Malaccan Creole Malay -> Creoles */ |
429 | {HB_TAG('c','c','o',' '), HB_TAG('C','C','H','N')}, /* Comaltepec Chinantec -> Chinantec */ |
430 | {HB_TAG('c','c','q',' '), HB_TAG('A','R','K',' ')}, /* Chaungtha (retired code) -> Rakhine */ |
431 | {HB_TAG('c','d','o',' '), HB_TAG('Z','H','S',' ')}, /* Min Dong Chinese -> Chinese, Simplified */ |
432 | /*{HB_TAG('c','e','b',' '), HB_TAG('C','E','B',' ')},*/ /* Cebuano */ |
433 | {HB_TAG('c','e','k',' '), HB_TAG('Q','I','N',' ')}, /* Eastern Khumi Chin -> Chin */ |
434 | {HB_TAG('c','e','y',' '), HB_TAG('Q','I','N',' ')}, /* Ekai Chin -> Chin */ |
435 | {HB_TAG('c','f','m',' '), HB_TAG('H','A','L',' ')}, /* Halam (Falam Chin) */ |
436 | {HB_TAG('c','f','m',' '), HB_TAG('Q','I','N',' ')}, /* Falam Chin -> Chin */ |
437 | /*{HB_TAG('c','g','g',' '), HB_TAG('C','G','G',' ')},*/ /* Chiga */ |
438 | {HB_TAG('c','h','f',' '), HB_TAG('M','Y','N',' ')}, /* Tabasco Chontal -> Mayan */ |
439 | {HB_TAG('c','h','g',' '), HB_TAG_NONE }, /* Chagatai != Chaha Gurage */ |
440 | {HB_TAG('c','h','h',' '), HB_TAG_NONE }, /* Chinook != Chattisgarhi */ |
441 | {HB_TAG('c','h','j',' '), HB_TAG('C','C','H','N')}, /* Ojitlán Chinantec -> Chinantec */ |
442 | {HB_TAG('c','h','k',' '), HB_TAG('C','H','K','0')}, /* Chuukese */ |
443 | {HB_TAG('c','h','m',' '), HB_TAG('H','M','A',' ')}, /* Mari (Russia) [macrolanguage] -> High Mari */ |
444 | {HB_TAG('c','h','m',' '), HB_TAG('L','M','A',' ')}, /* Mari (Russia) [macrolanguage] -> Low Mari */ |
445 | {HB_TAG('c','h','n',' '), HB_TAG('C','P','P',' ')}, /* Chinook jargon -> Creoles */ |
446 | /*{HB_TAG('c','h','o',' '), HB_TAG('C','H','O',' ')},*/ /* Choctaw */ |
447 | {HB_TAG('c','h','p',' '), HB_TAG('C','H','P',' ')}, /* Chipewyan */ |
448 | {HB_TAG('c','h','p',' '), HB_TAG('S','A','Y',' ')}, /* Chipewyan -> Sayisi */ |
449 | {HB_TAG('c','h','p',' '), HB_TAG('A','T','H',' ')}, /* Chipewyan -> Athapaskan */ |
450 | {HB_TAG('c','h','q',' '), HB_TAG('C','C','H','N')}, /* Quiotepec Chinantec -> Chinantec */ |
451 | /*{HB_TAG('c','h','r',' '), HB_TAG('C','H','R',' ')},*/ /* Cherokee */ |
452 | /*{HB_TAG('c','h','y',' '), HB_TAG('C','H','Y',' ')},*/ /* Cheyenne */ |
453 | {HB_TAG('c','h','z',' '), HB_TAG('C','C','H','N')}, /* Ozumacín Chinantec -> Chinantec */ |
454 | {HB_TAG('c','i','w',' '), HB_TAG('O','J','B',' ')}, /* Chippewa -> Ojibway */ |
455 | /*{HB_TAG('c','j','a',' '), HB_TAG('C','J','A',' ')},*/ /* Western Cham */ |
456 | /*{HB_TAG('c','j','m',' '), HB_TAG('C','J','M',' ')},*/ /* Eastern Cham */ |
457 | {HB_TAG('c','j','y',' '), HB_TAG('Z','H','S',' ')}, /* Jinyu Chinese -> Chinese, Simplified */ |
458 | {HB_TAG('c','k','a',' '), HB_TAG('Q','I','N',' ')}, /* Khumi Awa Chin (retired code) -> Chin */ |
459 | {HB_TAG('c','k','b',' '), HB_TAG('K','U','R',' ')}, /* Central Kurdish -> Kurdish */ |
460 | {HB_TAG('c','k','n',' '), HB_TAG('Q','I','N',' ')}, /* Kaang Chin -> Chin */ |
461 | {HB_TAG('c','k','s',' '), HB_TAG('C','P','P',' ')}, /* Tayo -> Creoles */ |
462 | {HB_TAG('c','k','t',' '), HB_TAG('C','H','K',' ')}, /* Chukot -> Chukchi */ |
463 | {HB_TAG('c','k','z',' '), HB_TAG('M','Y','N',' ')}, /* Cakchiquel-Quiché Mixed Language -> Mayan */ |
464 | {HB_TAG('c','l','c',' '), HB_TAG('A','T','H',' ')}, /* Chilcotin -> Athapaskan */ |
465 | {HB_TAG('c','l','d',' '), HB_TAG('S','Y','R',' ')}, /* Chaldean Neo-Aramaic -> Syriac */ |
466 | {HB_TAG('c','l','e',' '), HB_TAG('C','C','H','N')}, /* Lealao Chinantec -> Chinantec */ |
467 | {HB_TAG('c','l','j',' '), HB_TAG('Q','I','N',' ')}, /* Laitu Chin -> Chin */ |
468 | {HB_TAG('c','l','t',' '), HB_TAG('Q','I','N',' ')}, /* Lautu Chin -> Chin */ |
469 | {HB_TAG('c','m','n',' '), HB_TAG('Z','H','S',' ')}, /* Mandarin Chinese -> Chinese, Simplified */ |
470 | {HB_TAG('c','m','r',' '), HB_TAG('Q','I','N',' ')}, /* Mro-Khimi Chin -> Chin */ |
471 | {HB_TAG('c','n','b',' '), HB_TAG('Q','I','N',' ')}, /* Chinbon Chin -> Chin */ |
472 | {HB_TAG('c','n','h',' '), HB_TAG('Q','I','N',' ')}, /* Hakha Chin -> Chin */ |
473 | {HB_TAG('c','n','k',' '), HB_TAG('Q','I','N',' ')}, /* Khumi Chin -> Chin */ |
474 | {HB_TAG('c','n','l',' '), HB_TAG('C','C','H','N')}, /* Lalana Chinantec -> Chinantec */ |
475 | {HB_TAG('c','n','p',' '), HB_TAG('Z','H','S',' ')}, /* Northern Ping Chinese -> Chinese, Simplified */ |
476 | {HB_TAG('c','n','r',' '), HB_TAG('S','R','B',' ')}, /* Montenegrin -> Serbian */ |
477 | {HB_TAG('c','n','t',' '), HB_TAG('C','C','H','N')}, /* Tepetotutla Chinantec -> Chinantec */ |
478 | {HB_TAG('c','n','u',' '), HB_TAG('B','B','R',' ')}, /* Chenoua -> Berber */ |
479 | {HB_TAG('c','n','w',' '), HB_TAG('Q','I','N',' ')}, /* Ngawn Chin -> Chin */ |
480 | {HB_TAG('c','o','a',' '), HB_TAG('M','L','Y',' ')}, /* Cocos Islands Malay -> Malay */ |
481 | {HB_TAG('c','o','b',' '), HB_TAG('M','Y','N',' ')}, /* Chicomuceltec -> Mayan */ |
482 | /*{HB_TAG('c','o','p',' '), HB_TAG('C','O','P',' ')},*/ /* Coptic */ |
483 | {HB_TAG('c','o','q',' '), HB_TAG('A','T','H',' ')}, /* Coquille -> Athapaskan */ |
484 | {HB_TAG('c','p','a',' '), HB_TAG('C','C','H','N')}, /* Palantla Chinantec -> Chinantec */ |
485 | {HB_TAG('c','p','e',' '), HB_TAG('C','P','P',' ')}, /* English-based creoles and pidgins [collection] -> Creoles */ |
486 | {HB_TAG('c','p','f',' '), HB_TAG('C','P','P',' ')}, /* French-based creoles and pidgins [collection] -> Creoles */ |
487 | {HB_TAG('c','p','i',' '), HB_TAG('C','P','P',' ')}, /* Chinese Pidgin English -> Creoles */ |
488 | /*{HB_TAG('c','p','p',' '), HB_TAG('C','P','P',' ')},*/ /* Portuguese-based creoles and pidgins [collection] -> Creoles */ |
489 | {HB_TAG('c','p','x',' '), HB_TAG('Z','H','S',' ')}, /* Pu-Xian Chinese -> Chinese, Simplified */ |
490 | {HB_TAG('c','q','d',' '), HB_TAG('H','M','N',' ')}, /* Chuanqiandian Cluster Miao -> Hmong */ |
491 | {HB_TAG('c','q','u',' '), HB_TAG('Q','U','H',' ')}, /* Chilean Quechua (retired code) -> Quechua (Bolivia) */ |
492 | {HB_TAG('c','q','u',' '), HB_TAG('Q','U','Z',' ')}, /* Chilean Quechua (retired code) -> Quechua */ |
493 | {HB_TAG('c','r','h',' '), HB_TAG('C','R','T',' ')}, /* Crimean Tatar */ |
494 | {HB_TAG('c','r','i',' '), HB_TAG('C','P','P',' ')}, /* Sãotomense -> Creoles */ |
495 | {HB_TAG('c','r','j',' '), HB_TAG('E','C','R',' ')}, /* Southern East Cree -> Eastern Cree */ |
496 | {HB_TAG('c','r','j',' '), HB_TAG('Y','C','R',' ')}, /* Southern East Cree -> Y-Cree */ |
497 | {HB_TAG('c','r','j',' '), HB_TAG('C','R','E',' ')}, /* Southern East Cree -> Cree */ |
498 | {HB_TAG('c','r','k',' '), HB_TAG('W','C','R',' ')}, /* Plains Cree -> West-Cree */ |
499 | {HB_TAG('c','r','k',' '), HB_TAG('Y','C','R',' ')}, /* Plains Cree -> Y-Cree */ |
500 | {HB_TAG('c','r','k',' '), HB_TAG('C','R','E',' ')}, /* Plains Cree -> Cree */ |
501 | {HB_TAG('c','r','l',' '), HB_TAG('E','C','R',' ')}, /* Northern East Cree -> Eastern Cree */ |
502 | {HB_TAG('c','r','l',' '), HB_TAG('Y','C','R',' ')}, /* Northern East Cree -> Y-Cree */ |
503 | {HB_TAG('c','r','l',' '), HB_TAG('C','R','E',' ')}, /* Northern East Cree -> Cree */ |
504 | {HB_TAG('c','r','m',' '), HB_TAG('M','C','R',' ')}, /* Moose Cree */ |
505 | {HB_TAG('c','r','m',' '), HB_TAG('L','C','R',' ')}, /* Moose Cree -> L-Cree */ |
506 | {HB_TAG('c','r','m',' '), HB_TAG('C','R','E',' ')}, /* Moose Cree -> Cree */ |
507 | {HB_TAG('c','r','p',' '), HB_TAG('C','P','P',' ')}, /* Creoles and pidgins [collection] -> Creoles */ |
508 | {HB_TAG('c','r','r',' '), HB_TAG_NONE }, /* Carolina Algonquian != Carrier */ |
509 | {HB_TAG('c','r','s',' '), HB_TAG('C','P','P',' ')}, /* Seselwa Creole French -> Creoles */ |
510 | {HB_TAG('c','r','t',' '), HB_TAG_NONE }, /* Iyojwa'ja Chorote != Crimean Tatar */ |
511 | {HB_TAG('c','r','x',' '), HB_TAG('C','R','R',' ')}, /* Carrier */ |
512 | {HB_TAG('c','r','x',' '), HB_TAG('A','T','H',' ')}, /* Carrier -> Athapaskan */ |
513 | {HB_TAG('c','s','a',' '), HB_TAG('C','C','H','N')}, /* Chiltepec Chinantec -> Chinantec */ |
514 | /*{HB_TAG('c','s','b',' '), HB_TAG('C','S','B',' ')},*/ /* Kashubian */ |
515 | {HB_TAG('c','s','h',' '), HB_TAG('Q','I','N',' ')}, /* Asho Chin -> Chin */ |
516 | {HB_TAG('c','s','j',' '), HB_TAG('Q','I','N',' ')}, /* Songlai Chin -> Chin */ |
517 | {HB_TAG('c','s','l',' '), HB_TAG_NONE }, /* Chinese Sign Language != Church Slavonic */ |
518 | {HB_TAG('c','s','o',' '), HB_TAG('C','C','H','N')}, /* Sochiapam Chinantec -> Chinantec */ |
519 | {HB_TAG('c','s','p',' '), HB_TAG('Z','H','S',' ')}, /* Southern Ping Chinese -> Chinese, Simplified */ |
520 | {HB_TAG('c','s','v',' '), HB_TAG('Q','I','N',' ')}, /* Sumtu Chin -> Chin */ |
521 | {HB_TAG('c','s','w',' '), HB_TAG('N','C','R',' ')}, /* Swampy Cree -> N-Cree */ |
522 | {HB_TAG('c','s','w',' '), HB_TAG('N','H','C',' ')}, /* Swampy Cree -> Norway House Cree */ |
523 | {HB_TAG('c','s','w',' '), HB_TAG('C','R','E',' ')}, /* Swampy Cree -> Cree */ |
524 | {HB_TAG('c','s','y',' '), HB_TAG('Q','I','N',' ')}, /* Siyin Chin -> Chin */ |
525 | {HB_TAG('c','t','c',' '), HB_TAG('A','T','H',' ')}, /* Chetco -> Athapaskan */ |
526 | {HB_TAG('c','t','d',' '), HB_TAG('Q','I','N',' ')}, /* Tedim Chin -> Chin */ |
527 | {HB_TAG('c','t','e',' '), HB_TAG('C','C','H','N')}, /* Tepinapa Chinantec -> Chinantec */ |
528 | /*{HB_TAG('c','t','g',' '), HB_TAG('C','T','G',' ')},*/ /* Chittagonian */ |
529 | {HB_TAG('c','t','h',' '), HB_TAG('Q','I','N',' ')}, /* Thaiphum Chin -> Chin */ |
530 | {HB_TAG('c','t','l',' '), HB_TAG('C','C','H','N')}, /* Tlacoatzintepec Chinantec -> Chinantec */ |
531 | {HB_TAG('c','t','s',' '), HB_TAG('B','I','K',' ')}, /* Northern Catanduanes Bikol -> Bikol */ |
532 | /*{HB_TAG('c','t','t',' '), HB_TAG('C','T','T',' ')},*/ /* Wayanad Chetti */ |
533 | {HB_TAG('c','t','u',' '), HB_TAG('M','Y','N',' ')}, /* Chol -> Mayan */ |
534 | {HB_TAG('c','u','c',' '), HB_TAG('C','C','H','N')}, /* Usila Chinantec -> Chinantec */ |
535 | /*{HB_TAG('c','u','k',' '), HB_TAG('C','U','K',' ')},*/ /* San Blas Kuna */ |
536 | {HB_TAG('c','v','n',' '), HB_TAG('C','C','H','N')}, /* Valle Nacional Chinantec -> Chinantec */ |
537 | {HB_TAG('c','w','d',' '), HB_TAG('D','C','R',' ')}, /* Woods Cree */ |
538 | {HB_TAG('c','w','d',' '), HB_TAG('T','C','R',' ')}, /* Woods Cree -> TH-Cree */ |
539 | {HB_TAG('c','w','d',' '), HB_TAG('C','R','E',' ')}, /* Woods Cree -> Cree */ |
540 | {HB_TAG('c','z','h',' '), HB_TAG('Z','H','S',' ')}, /* Huizhou Chinese -> Chinese, Simplified */ |
541 | {HB_TAG('c','z','o',' '), HB_TAG('Z','H','S',' ')}, /* Min Zhong Chinese -> Chinese, Simplified */ |
542 | {HB_TAG('c','z','t',' '), HB_TAG('Q','I','N',' ')}, /* Zotung Chin -> Chin */ |
543 | /*{HB_TAG('d','a','g',' '), HB_TAG('D','A','G',' ')},*/ /* Dagbani */ |
544 | {HB_TAG('d','a','o',' '), HB_TAG('Q','I','N',' ')}, /* Daai Chin -> Chin */ |
545 | {HB_TAG('d','a','p',' '), HB_TAG('N','I','S',' ')}, /* Nisi (India) (retired code) */ |
546 | /*{HB_TAG('d','a','r',' '), HB_TAG('D','A','R',' ')},*/ /* Dargwa */ |
547 | /*{HB_TAG('d','a','x',' '), HB_TAG('D','A','X',' ')},*/ /* Dayi */ |
548 | {HB_TAG('d','c','r',' '), HB_TAG('C','P','P',' ')}, /* Negerhollands -> Creoles */ |
549 | {HB_TAG('d','e','n',' '), HB_TAG('S','L','A',' ')}, /* Slave (Athapascan) [macrolanguage] -> Slavey */ |
550 | {HB_TAG('d','e','n',' '), HB_TAG('A','T','H',' ')}, /* Slave (Athapascan) [macrolanguage] -> Athapaskan */ |
551 | {HB_TAG('d','e','p',' '), HB_TAG('C','P','P',' ')}, /* Pidgin Delaware -> Creoles */ |
552 | {HB_TAG('d','g','o',' '), HB_TAG('D','G','O',' ')}, /* Dogri (individual language) */ |
553 | {HB_TAG('d','g','o',' '), HB_TAG('D','G','R',' ')}, /* Dogri (macrolanguage) */ |
554 | {HB_TAG('d','g','r',' '), HB_TAG('A','T','H',' ')}, /* Dogrib -> Athapaskan */ |
555 | {HB_TAG('d','h','d',' '), HB_TAG('M','A','W',' ')}, /* Dhundari -> Marwari */ |
556 | /*{HB_TAG('d','h','g',' '), HB_TAG('D','H','G',' ')},*/ /* Dhangu */ |
557 | {HB_TAG('d','h','v',' '), HB_TAG_NONE }, /* Dehu != Divehi (Dhivehi, Maldivian) (deprecated) */ |
558 | {HB_TAG('d','i','b',' '), HB_TAG('D','N','K',' ')}, /* South Central Dinka -> Dinka */ |
559 | {HB_TAG('d','i','k',' '), HB_TAG('D','N','K',' ')}, /* Southwestern Dinka -> Dinka */ |
560 | {HB_TAG('d','i','n',' '), HB_TAG('D','N','K',' ')}, /* Dinka [macrolanguage] */ |
561 | {HB_TAG('d','i','p',' '), HB_TAG('D','N','K',' ')}, /* Northeastern Dinka -> Dinka */ |
562 | {HB_TAG('d','i','q',' '), HB_TAG('D','I','Q',' ')}, /* Dimli */ |
563 | {HB_TAG('d','i','q',' '), HB_TAG('Z','Z','A',' ')}, /* Dimli -> Zazaki */ |
564 | {HB_TAG('d','i','w',' '), HB_TAG('D','N','K',' ')}, /* Northwestern Dinka -> Dinka */ |
565 | {HB_TAG('d','j','e',' '), HB_TAG('D','J','R',' ')}, /* Zarma */ |
566 | {HB_TAG('d','j','k',' '), HB_TAG('C','P','P',' ')}, /* Eastern Maroon Creole -> Creoles */ |
567 | {HB_TAG('d','j','r',' '), HB_TAG('D','J','R','0')}, /* Djambarrpuyngu */ |
568 | {HB_TAG('d','k','s',' '), HB_TAG('D','N','K',' ')}, /* Southeastern Dinka -> Dinka */ |
569 | {HB_TAG('d','n','g',' '), HB_TAG('D','U','N',' ')}, /* Dungan */ |
570 | /*{HB_TAG('d','n','j',' '), HB_TAG('D','N','J',' ')},*/ /* Dan */ |
571 | {HB_TAG('d','n','k',' '), HB_TAG_NONE }, /* Dengka != Dinka */ |
572 | {HB_TAG('d','o','i',' '), HB_TAG('D','G','R',' ')}, /* Dogri (macrolanguage) [macrolanguage] */ |
573 | {HB_TAG('d','r','h',' '), HB_TAG('M','N','G',' ')}, /* Darkhat (retired code) -> Mongolian */ |
574 | {HB_TAG('d','r','i',' '), HB_TAG_NONE }, /* C'Lela != Dari */ |
575 | {HB_TAG('d','r','w',' '), HB_TAG('D','R','I',' ')}, /* Darwazi (retired code) -> Dari */ |
576 | {HB_TAG('d','r','w',' '), HB_TAG('F','A','R',' ')}, /* Darwazi (retired code) -> Persian */ |
577 | {HB_TAG('d','s','b',' '), HB_TAG('L','S','B',' ')}, /* Lower Sorbian */ |
578 | {HB_TAG('d','t','y',' '), HB_TAG('N','E','P',' ')}, /* Dotyali -> Nepali */ |
579 | /*{HB_TAG('d','u','j',' '), HB_TAG('D','U','J',' ')},*/ /* Dhuwal (retired code) */ |
580 | {HB_TAG('d','u','n',' '), HB_TAG_NONE }, /* Dusun Deyah != Dungan */ |
581 | {HB_TAG('d','u','p',' '), HB_TAG('M','L','Y',' ')}, /* Duano -> Malay */ |
582 | {HB_TAG('d','w','k',' '), HB_TAG('K','U','I',' ')}, /* Dawik Kui -> Kui */ |
583 | {HB_TAG('d','w','u',' '), HB_TAG('D','U','J',' ')}, /* Dhuwal */ |
584 | {HB_TAG('d','w','y',' '), HB_TAG('D','U','J',' ')}, /* Dhuwaya -> Dhuwal */ |
585 | {HB_TAG('d','y','u',' '), HB_TAG('J','U','L',' ')}, /* Dyula -> Jula */ |
586 | {HB_TAG('d','z','n',' '), HB_TAG_NONE }, /* Dzando != Dzongkha */ |
587 | {HB_TAG('e','c','r',' '), HB_TAG_NONE }, /* Eteocretan != Eastern Cree */ |
588 | /*{HB_TAG('e','f','i',' '), HB_TAG('E','F','I',' ')},*/ /* Efik */ |
589 | {HB_TAG('e','k','k',' '), HB_TAG('E','T','I',' ')}, /* Standard Estonian -> Estonian */ |
590 | {HB_TAG('e','k','y',' '), HB_TAG('K','R','N',' ')}, /* Eastern Kayah -> Karen */ |
591 | {HB_TAG('e','m','k',' '), HB_TAG('E','M','K',' ')}, /* Eastern Maninkakan */ |
592 | {HB_TAG('e','m','k',' '), HB_TAG('M','N','K',' ')}, /* Eastern Maninkakan -> Maninka */ |
593 | {HB_TAG('e','m','y',' '), HB_TAG('M','Y','N',' ')}, /* Epigraphic Mayan -> Mayan */ |
594 | {HB_TAG('e','n','b',' '), HB_TAG('K','A','L',' ')}, /* Markweeta -> Kalenjin */ |
595 | {HB_TAG('e','n','f',' '), HB_TAG('F','N','E',' ')}, /* Forest Enets */ |
596 | {HB_TAG('e','n','h',' '), HB_TAG('T','N','E',' ')}, /* Tundra Enets */ |
597 | {HB_TAG('e','s','g',' '), HB_TAG('G','O','N',' ')}, /* Aheri Gondi -> Gondi */ |
598 | {HB_TAG('e','s','i',' '), HB_TAG('I','P','K',' ')}, /* North Alaskan Inupiatun -> Inupiat */ |
599 | {HB_TAG('e','s','k',' '), HB_TAG('I','P','K',' ')}, /* Northwest Alaska Inupiatun -> Inupiat */ |
600 | /*{HB_TAG('e','s','u',' '), HB_TAG('E','S','U',' ')},*/ /* Central Yupik */ |
601 | {HB_TAG('e','t','o',' '), HB_TAG('B','T','I',' ')}, /* Eton (Cameroon) -> Beti */ |
602 | {HB_TAG('e','u','q',' '), HB_TAG_NONE }, /* Basque [collection] != Basque */ |
603 | {HB_TAG('e','v','e',' '), HB_TAG('E','V','N',' ')}, /* Even */ |
604 | {HB_TAG('e','v','n',' '), HB_TAG('E','V','K',' ')}, /* Evenki */ |
605 | {HB_TAG('e','w','o',' '), HB_TAG('B','T','I',' ')}, /* Ewondo -> Beti */ |
606 | {HB_TAG('e','y','o',' '), HB_TAG('K','A','L',' ')}, /* Keiyo -> Kalenjin */ |
607 | {HB_TAG('f','a','b',' '), HB_TAG('C','P','P',' ')}, /* Fa d'Ambu -> Creoles */ |
608 | {HB_TAG('f','a','n',' '), HB_TAG('F','A','N','0')}, /* Fang (Equatorial Guinea) */ |
609 | {HB_TAG('f','a','n',' '), HB_TAG('B','T','I',' ')}, /* Fang (Equatorial Guinea) -> Beti */ |
610 | {HB_TAG('f','a','r',' '), HB_TAG_NONE }, /* Fataleka != Persian */ |
611 | {HB_TAG('f','a','t',' '), HB_TAG('F','A','T',' ')}, /* Fanti */ |
612 | {HB_TAG('f','a','t',' '), HB_TAG('A','K','A',' ')}, /* Fanti -> Akan */ |
613 | {HB_TAG('f','b','l',' '), HB_TAG('B','I','K',' ')}, /* West Albay Bikol -> Bikol */ |
614 | {HB_TAG('f','f','m',' '), HB_TAG('F','U','L',' ')}, /* Maasina Fulfulde -> Fulah */ |
615 | {HB_TAG('f','i','l',' '), HB_TAG('P','I','L',' ')}, /* Filipino */ |
616 | {HB_TAG('f','l','m',' '), HB_TAG('H','A','L',' ')}, /* Halam (Falam Chin) (retired code) */ |
617 | {HB_TAG('f','l','m',' '), HB_TAG('Q','I','N',' ')}, /* Falam Chin (retired code) -> Chin */ |
618 | {HB_TAG('f','m','p',' '), HB_TAG('F','M','P',' ')}, /* Fe’fe’ */ |
619 | {HB_TAG('f','m','p',' '), HB_TAG('B','M','L',' ')}, /* Fe'fe' -> Bamileke */ |
620 | {HB_TAG('f','n','g',' '), HB_TAG('C','P','P',' ')}, /* Fanagalo -> Creoles */ |
621 | /*{HB_TAG('f','o','n',' '), HB_TAG('F','O','N',' ')},*/ /* Fon */ |
622 | {HB_TAG('f','o','s',' '), HB_TAG_NONE }, /* Siraya != Faroese */ |
623 | {HB_TAG('f','p','e',' '), HB_TAG('C','P','P',' ')}, /* Fernando Po Creole English -> Creoles */ |
624 | /*{HB_TAG('f','r','c',' '), HB_TAG('F','R','C',' ')},*/ /* Cajun French */ |
625 | /*{HB_TAG('f','r','p',' '), HB_TAG('F','R','P',' ')},*/ /* Arpitan */ |
626 | {HB_TAG('f','u','b',' '), HB_TAG('F','U','L',' ')}, /* Adamawa Fulfulde -> Fulah */ |
627 | {HB_TAG('f','u','c',' '), HB_TAG('F','U','L',' ')}, /* Pulaar -> Fulah */ |
628 | {HB_TAG('f','u','e',' '), HB_TAG('F','U','L',' ')}, /* Borgu Fulfulde -> Fulah */ |
629 | {HB_TAG('f','u','f',' '), HB_TAG('F','T','A',' ')}, /* Pular -> Futa */ |
630 | {HB_TAG('f','u','f',' '), HB_TAG('F','U','L',' ')}, /* Pular -> Fulah */ |
631 | {HB_TAG('f','u','h',' '), HB_TAG('F','U','L',' ')}, /* Western Niger Fulfulde -> Fulah */ |
632 | {HB_TAG('f','u','i',' '), HB_TAG('F','U','L',' ')}, /* Bagirmi Fulfulde -> Fulah */ |
633 | {HB_TAG('f','u','q',' '), HB_TAG('F','U','L',' ')}, /* Central-Eastern Niger Fulfulde -> Fulah */ |
634 | {HB_TAG('f','u','r',' '), HB_TAG('F','R','L',' ')}, /* Friulian */ |
635 | {HB_TAG('f','u','v',' '), HB_TAG('F','U','V',' ')}, /* Nigerian Fulfulde */ |
636 | {HB_TAG('f','u','v',' '), HB_TAG('F','U','L',' ')}, /* Nigerian Fulfulde -> Fulah */ |
637 | {HB_TAG('g','a','a',' '), HB_TAG('G','A','D',' ')}, /* Ga */ |
638 | {HB_TAG('g','a','c',' '), HB_TAG('C','P','P',' ')}, /* Mixed Great Andamanese -> Creoles */ |
639 | {HB_TAG('g','a','d',' '), HB_TAG_NONE }, /* Gaddang != Ga */ |
640 | {HB_TAG('g','a','e',' '), HB_TAG_NONE }, /* Guarequena != Scottish Gaelic (Gaelic) */ |
641 | /*{HB_TAG('g','a','g',' '), HB_TAG('G','A','G',' ')},*/ /* Gagauz */ |
642 | {HB_TAG('g','a','l',' '), HB_TAG_NONE }, /* Galolen != Galician */ |
643 | {HB_TAG('g','a','n',' '), HB_TAG('Z','H','S',' ')}, /* Gan Chinese -> Chinese, Simplified */ |
644 | {HB_TAG('g','a','r',' '), HB_TAG_NONE }, /* Galeya != Garshuni */ |
645 | {HB_TAG('g','a','w',' '), HB_TAG_NONE }, /* Nobonob != Garhwali */ |
646 | {HB_TAG('g','a','x',' '), HB_TAG('O','R','O',' ')}, /* Borana-Arsi-Guji Oromo -> Oromo */ |
647 | {HB_TAG('g','a','z',' '), HB_TAG('O','R','O',' ')}, /* West Central Oromo -> Oromo */ |
648 | {HB_TAG('g','b','m',' '), HB_TAG('G','A','W',' ')}, /* Garhwali */ |
649 | {HB_TAG('g','c','e',' '), HB_TAG('A','T','H',' ')}, /* Galice -> Athapaskan */ |
650 | {HB_TAG('g','c','f',' '), HB_TAG('C','P','P',' ')}, /* Guadeloupean Creole French -> Creoles */ |
651 | {HB_TAG('g','c','l',' '), HB_TAG('C','P','P',' ')}, /* Grenadian Creole English -> Creoles */ |
652 | {HB_TAG('g','c','r',' '), HB_TAG('C','P','P',' ')}, /* Guianese Creole French -> Creoles */ |
653 | {HB_TAG('g','d','a',' '), HB_TAG('R','A','J',' ')}, /* Gade Lohar -> Rajasthani */ |
654 | /*{HB_TAG('g','e','z',' '), HB_TAG('G','E','Z',' ')},*/ /* Geez */ |
655 | {HB_TAG('g','g','o',' '), HB_TAG('G','O','N',' ')}, /* Southern Gondi (retired code) -> Gondi */ |
656 | {HB_TAG('g','h','a',' '), HB_TAG('B','B','R',' ')}, /* Ghadamès -> Berber */ |
657 | {HB_TAG('g','h','k',' '), HB_TAG('K','R','N',' ')}, /* Geko Karen -> Karen */ |
658 | {HB_TAG('g','h','o',' '), HB_TAG('B','B','R',' ')}, /* Ghomara -> Berber */ |
659 | {HB_TAG('g','i','b',' '), HB_TAG('C','P','P',' ')}, /* Gibanawa -> Creoles */ |
660 | /*{HB_TAG('g','i','h',' '), HB_TAG('G','I','H',' ')},*/ /* Githabul */ |
661 | {HB_TAG('g','i','l',' '), HB_TAG('G','I','L','0')}, /* Kiribati (Gilbertese) */ |
662 | {HB_TAG('g','j','u',' '), HB_TAG('R','A','J',' ')}, /* Gujari -> Rajasthani */ |
663 | {HB_TAG('g','k','p',' '), HB_TAG('G','K','P',' ')}, /* Guinea Kpelle -> Kpelle (Guinea) */ |
664 | {HB_TAG('g','k','p',' '), HB_TAG('K','P','L',' ')}, /* Guinea Kpelle -> Kpelle */ |
665 | {HB_TAG('g','l','d',' '), HB_TAG('N','A','N',' ')}, /* Nanai */ |
666 | /*{HB_TAG('g','l','k',' '), HB_TAG('G','L','K',' ')},*/ /* Gilaki */ |
667 | {HB_TAG('g','m','z',' '), HB_TAG_NONE }, /* Mgbolizhia != Gumuz */ |
668 | {HB_TAG('g','n','b',' '), HB_TAG('Q','I','N',' ')}, /* Gangte -> Chin */ |
669 | /*{HB_TAG('g','n','n',' '), HB_TAG('G','N','N',' ')},*/ /* Gumatj */ |
670 | {HB_TAG('g','n','o',' '), HB_TAG('G','O','N',' ')}, /* Northern Gondi -> Gondi */ |
671 | {HB_TAG('g','n','w',' '), HB_TAG('G','U','A',' ')}, /* Western Bolivian Guaraní -> Guarani */ |
672 | /*{HB_TAG('g','o','g',' '), HB_TAG('G','O','G',' ')},*/ /* Gogo */ |
673 | {HB_TAG('g','o','m',' '), HB_TAG('K','O','K',' ')}, /* Goan Konkani -> Konkani */ |
674 | /*{HB_TAG('g','o','n',' '), HB_TAG('G','O','N',' ')},*/ /* Gondi [macrolanguage] */ |
675 | {HB_TAG('g','o','q',' '), HB_TAG('C','P','P',' ')}, /* Gorap -> Creoles */ |
676 | {HB_TAG('g','o','x',' '), HB_TAG('B','A','D','0')}, /* Gobu -> Banda */ |
677 | {HB_TAG('g','p','e',' '), HB_TAG('C','P','P',' ')}, /* Ghanaian Pidgin English -> Creoles */ |
678 | {HB_TAG('g','r','o',' '), HB_TAG_NONE }, /* Groma != Garo */ |
679 | {HB_TAG('g','r','r',' '), HB_TAG('B','B','R',' ')}, /* Taznatit -> Berber */ |
680 | {HB_TAG('g','r','t',' '), HB_TAG('G','R','O',' ')}, /* Garo */ |
681 | {HB_TAG('g','r','u',' '), HB_TAG('S','O','G',' ')}, /* Kistane -> Sodo Gurage */ |
682 | {HB_TAG('g','s','w',' '), HB_TAG('A','L','S',' ')}, /* Alsatian */ |
683 | {HB_TAG('g','u','a',' '), HB_TAG_NONE }, /* Shiki != Guarani */ |
684 | /*{HB_TAG('g','u','c',' '), HB_TAG('G','U','C',' ')},*/ /* Wayuu */ |
685 | /*{HB_TAG('g','u','f',' '), HB_TAG('G','U','F',' ')},*/ /* Gupapuyngu */ |
686 | {HB_TAG('g','u','g',' '), HB_TAG('G','U','A',' ')}, /* Paraguayan Guaraní -> Guarani */ |
687 | {HB_TAG('g','u','i',' '), HB_TAG('G','U','A',' ')}, /* Eastern Bolivian Guaraní -> Guarani */ |
688 | {HB_TAG('g','u','k',' '), HB_TAG('G','M','Z',' ')}, /* Gumuz */ |
689 | {HB_TAG('g','u','l',' '), HB_TAG('C','P','P',' ')}, /* Sea Island Creole English -> Creoles */ |
690 | {HB_TAG('g','u','n',' '), HB_TAG('G','U','A',' ')}, /* Mbyá Guaraní -> Guarani */ |
691 | /*{HB_TAG('g','u','z',' '), HB_TAG('G','U','Z',' ')},*/ /* Gusii */ |
692 | {HB_TAG('g','w','i',' '), HB_TAG('A','T','H',' ')}, /* Gwichʼin -> Athapaskan */ |
693 | {HB_TAG('g','y','n',' '), HB_TAG('C','P','P',' ')}, /* Guyanese Creole English -> Creoles */ |
694 | {HB_TAG('h','a','a',' '), HB_TAG('A','T','H',' ')}, /* Han -> Athapaskan */ |
695 | {HB_TAG('h','a','e',' '), HB_TAG('O','R','O',' ')}, /* Eastern Oromo -> Oromo */ |
696 | {HB_TAG('h','a','i',' '), HB_TAG('H','A','I','0')}, /* Haida [macrolanguage] */ |
697 | {HB_TAG('h','a','k',' '), HB_TAG('Z','H','S',' ')}, /* Hakka Chinese -> Chinese, Simplified */ |
698 | {HB_TAG('h','a','l',' '), HB_TAG_NONE }, /* Halang != Halam (Falam Chin) */ |
699 | {HB_TAG('h','a','r',' '), HB_TAG('H','R','I',' ')}, /* Harari */ |
700 | /*{HB_TAG('h','a','w',' '), HB_TAG('H','A','W',' ')},*/ /* Hawaiian */ |
701 | {HB_TAG('h','a','x',' '), HB_TAG('H','A','I','0')}, /* Southern Haida -> Haida */ |
702 | /*{HB_TAG('h','a','y',' '), HB_TAG('H','A','Y',' ')},*/ /* Haya */ |
703 | /*{HB_TAG('h','a','z',' '), HB_TAG('H','A','Z',' ')},*/ /* Hazaragi */ |
704 | {HB_TAG('h','b','n',' '), HB_TAG_NONE }, /* Heiban != Hammer-Banna */ |
705 | {HB_TAG('h','c','a',' '), HB_TAG('C','P','P',' ')}, /* Andaman Creole Hindi -> Creoles */ |
706 | {HB_TAG('h','d','n',' '), HB_TAG('H','A','I','0')}, /* Northern Haida -> Haida */ |
707 | {HB_TAG('h','e','a',' '), HB_TAG('H','M','N',' ')}, /* Northern Qiandong Miao -> Hmong */ |
708 | /*{HB_TAG('h','e','i',' '), HB_TAG('H','E','I',' ')},*/ /* Heiltsuk */ |
709 | /*{HB_TAG('h','i','l',' '), HB_TAG('H','I','L',' ')},*/ /* Hiligaynon */ |
710 | {HB_TAG('h','j','i',' '), HB_TAG('M','L','Y',' ')}, /* Haji -> Malay */ |
711 | {HB_TAG('h','l','t',' '), HB_TAG('Q','I','N',' ')}, /* Matu Chin -> Chin */ |
712 | {HB_TAG('h','m','a',' '), HB_TAG('H','M','N',' ')}, /* Southern Mashan Hmong -> Hmong */ |
713 | {HB_TAG('h','m','c',' '), HB_TAG('H','M','N',' ')}, /* Central Huishui Hmong -> Hmong */ |
714 | {HB_TAG('h','m','d',' '), HB_TAG('H','M','D',' ')}, /* Large Flowery Miao -> A-Hmao */ |
715 | {HB_TAG('h','m','d',' '), HB_TAG('H','M','N',' ')}, /* Large Flowery Miao -> Hmong */ |
716 | {HB_TAG('h','m','e',' '), HB_TAG('H','M','N',' ')}, /* Eastern Huishui Hmong -> Hmong */ |
717 | {HB_TAG('h','m','g',' '), HB_TAG('H','M','N',' ')}, /* Southwestern Guiyang Hmong -> Hmong */ |
718 | {HB_TAG('h','m','h',' '), HB_TAG('H','M','N',' ')}, /* Southwestern Huishui Hmong -> Hmong */ |
719 | {HB_TAG('h','m','i',' '), HB_TAG('H','M','N',' ')}, /* Northern Huishui Hmong -> Hmong */ |
720 | {HB_TAG('h','m','j',' '), HB_TAG('H','M','N',' ')}, /* Ge -> Hmong */ |
721 | {HB_TAG('h','m','l',' '), HB_TAG('H','M','N',' ')}, /* Luopohe Hmong -> Hmong */ |
722 | {HB_TAG('h','m','m',' '), HB_TAG('H','M','N',' ')}, /* Central Mashan Hmong -> Hmong */ |
723 | /*{HB_TAG('h','m','n',' '), HB_TAG('H','M','N',' ')},*/ /* Hmong [macrolanguage] */ |
724 | {HB_TAG('h','m','p',' '), HB_TAG('H','M','N',' ')}, /* Northern Mashan Hmong -> Hmong */ |
725 | {HB_TAG('h','m','q',' '), HB_TAG('H','M','N',' ')}, /* Eastern Qiandong Miao -> Hmong */ |
726 | {HB_TAG('h','m','r',' '), HB_TAG('Q','I','N',' ')}, /* Hmar -> Chin */ |
727 | {HB_TAG('h','m','s',' '), HB_TAG('H','M','N',' ')}, /* Southern Qiandong Miao -> Hmong */ |
728 | {HB_TAG('h','m','w',' '), HB_TAG('H','M','N',' ')}, /* Western Mashan Hmong -> Hmong */ |
729 | {HB_TAG('h','m','y',' '), HB_TAG('H','M','N',' ')}, /* Southern Guiyang Hmong -> Hmong */ |
730 | {HB_TAG('h','m','z',' '), HB_TAG('H','M','Z',' ')}, /* Hmong Shua -> Hmong Shuat */ |
731 | {HB_TAG('h','m','z',' '), HB_TAG('H','M','N',' ')}, /* Hmong Shua -> Hmong */ |
732 | /*{HB_TAG('h','n','d',' '), HB_TAG('H','N','D',' ')},*/ /* Southern Hindko -> Hindko */ |
733 | {HB_TAG('h','n','e',' '), HB_TAG('C','H','H',' ')}, /* Chhattisgarhi -> Chattisgarhi */ |
734 | {HB_TAG('h','n','j',' '), HB_TAG('H','M','N',' ')}, /* Hmong Njua -> Hmong */ |
735 | {HB_TAG('h','n','o',' '), HB_TAG('H','N','D',' ')}, /* Northern Hindko -> Hindko */ |
736 | {HB_TAG('h','o','c',' '), HB_TAG('H','O',' ',' ')}, /* Ho */ |
737 | {HB_TAG('h','o','i',' '), HB_TAG('A','T','H',' ')}, /* Holikachuk -> Athapaskan */ |
738 | {HB_TAG('h','o','j',' '), HB_TAG('H','A','R',' ')}, /* Hadothi -> Harauti */ |
739 | {HB_TAG('h','o','j',' '), HB_TAG('R','A','J',' ')}, /* Hadothi -> Rajasthani */ |
740 | {HB_TAG('h','r','a',' '), HB_TAG('Q','I','N',' ')}, /* Hrangkhol -> Chin */ |
741 | {HB_TAG('h','r','m',' '), HB_TAG('H','M','N',' ')}, /* Horned Miao -> Hmong */ |
742 | {HB_TAG('h','s','b',' '), HB_TAG('U','S','B',' ')}, /* Upper Sorbian */ |
743 | {HB_TAG('h','s','n',' '), HB_TAG('Z','H','S',' ')}, /* Xiang Chinese -> Chinese, Simplified */ |
744 | {HB_TAG('h','u','j',' '), HB_TAG('H','M','N',' ')}, /* Northern Guiyang Hmong -> Hmong */ |
745 | {HB_TAG('h','u','p',' '), HB_TAG('A','T','H',' ')}, /* Hupa -> Athapaskan */ |
746 | {HB_TAG('h','u','s',' '), HB_TAG('M','Y','N',' ')}, /* Huastec -> Mayan */ |
747 | {HB_TAG('h','w','c',' '), HB_TAG('C','P','P',' ')}, /* Hawai'i Creole English -> Creoles */ |
748 | {HB_TAG('h','y','w',' '), HB_TAG('H','Y','E',' ')}, /* Western Armenian -> Armenian */ |
749 | /*{HB_TAG('i','b','a',' '), HB_TAG('I','B','A',' ')},*/ /* Iban */ |
750 | /*{HB_TAG('i','b','b',' '), HB_TAG('I','B','B',' ')},*/ /* Ibibio */ |
751 | {HB_TAG('i','b','y',' '), HB_TAG('I','J','O',' ')}, /* Ibani -> Ijo */ |
752 | {HB_TAG('i','c','r',' '), HB_TAG('C','P','P',' ')}, /* Islander Creole English -> Creoles */ |
753 | {HB_TAG('i','d','a',' '), HB_TAG('L','U','H',' ')}, /* Idakho-Isukha-Tiriki -> Luyia */ |
754 | {HB_TAG('i','d','b',' '), HB_TAG('C','P','P',' ')}, /* Indo-Portuguese -> Creoles */ |
755 | {HB_TAG('i','g','b',' '), HB_TAG('E','B','I',' ')}, /* Ebira */ |
756 | {HB_TAG('i','h','b',' '), HB_TAG('C','P','P',' ')}, /* Iha Based Pidgin -> Creoles */ |
757 | {HB_TAG('i','j','c',' '), HB_TAG('I','J','O',' ')}, /* Izon -> Ijo */ |
758 | {HB_TAG('i','j','e',' '), HB_TAG('I','J','O',' ')}, /* Biseni -> Ijo */ |
759 | {HB_TAG('i','j','n',' '), HB_TAG('I','J','O',' ')}, /* Kalabari -> Ijo */ |
760 | /*{HB_TAG('i','j','o',' '), HB_TAG('I','J','O',' ')},*/ /* Ijo [collection] */ |
761 | {HB_TAG('i','j','s',' '), HB_TAG('I','J','O',' ')}, /* Southeast Ijo -> Ijo */ |
762 | {HB_TAG('i','k','e',' '), HB_TAG('I','N','U',' ')}, /* Eastern Canadian Inuktitut -> Inuktitut */ |
763 | {HB_TAG('i','k','e',' '), HB_TAG('I','N','U','K')}, /* Eastern Canadian Inuktitut -> Nunavik Inuktitut */ |
764 | {HB_TAG('i','k','t',' '), HB_TAG('I','N','U',' ')}, /* Inuinnaqtun -> Inuktitut */ |
765 | /*{HB_TAG('i','l','o',' '), HB_TAG('I','L','O',' ')},*/ /* Iloko -> Ilokano */ |
766 | {HB_TAG('i','n','g',' '), HB_TAG('A','T','H',' ')}, /* Degexit'an -> Athapaskan */ |
767 | {HB_TAG('i','n','h',' '), HB_TAG('I','N','G',' ')}, /* Ingush */ |
768 | {HB_TAG('i','r','i',' '), HB_TAG_NONE }, /* Rigwe != Irish */ |
769 | /*{HB_TAG('i','r','u',' '), HB_TAG('I','R','U',' ')},*/ /* Irula */ |
770 | {HB_TAG('i','s','m',' '), HB_TAG_NONE }, /* Masimasi != Inari Sami */ |
771 | {HB_TAG('i','t','z',' '), HB_TAG('M','Y','N',' ')}, /* Itzá -> Mayan */ |
772 | {HB_TAG('i','x','l',' '), HB_TAG('M','Y','N',' ')}, /* Ixil -> Mayan */ |
773 | {HB_TAG('j','a','c',' '), HB_TAG('M','Y','N',' ')}, /* Popti' -> Mayan */ |
774 | {HB_TAG('j','a','k',' '), HB_TAG('M','L','Y',' ')}, /* Jakun -> Malay */ |
775 | {HB_TAG('j','a','m',' '), HB_TAG('J','A','M',' ')}, /* Jamaican Creole English -> Jamaican Creole */ |
776 | {HB_TAG('j','a','m',' '), HB_TAG('C','P','P',' ')}, /* Jamaican Creole English -> Creoles */ |
777 | {HB_TAG('j','a','n',' '), HB_TAG_NONE }, /* Jandai != Japanese */ |
778 | {HB_TAG('j','a','x',' '), HB_TAG('M','L','Y',' ')}, /* Jambi Malay -> Malay */ |
779 | {HB_TAG('j','b','e',' '), HB_TAG('B','B','R',' ')}, /* Judeo-Berber -> Berber */ |
780 | {HB_TAG('j','b','n',' '), HB_TAG('B','B','R',' ')}, /* Nafusi -> Berber */ |
781 | /*{HB_TAG('j','b','o',' '), HB_TAG('J','B','O',' ')},*/ /* Lojban */ |
782 | /*{HB_TAG('j','c','t',' '), HB_TAG('J','C','T',' ')},*/ /* Krymchak */ |
783 | {HB_TAG('j','g','o',' '), HB_TAG('B','M','L',' ')}, /* Ngomba -> Bamileke */ |
784 | {HB_TAG('j','i','i',' '), HB_TAG_NONE }, /* Jiiddu != Yiddish */ |
785 | {HB_TAG('j','k','m',' '), HB_TAG('K','R','N',' ')}, /* Mobwa Karen -> Karen */ |
786 | {HB_TAG('j','k','p',' '), HB_TAG('K','R','N',' ')}, /* Paku Karen -> Karen */ |
787 | {HB_TAG('j','u','d',' '), HB_TAG_NONE }, /* Worodougou != Ladino */ |
788 | {HB_TAG('j','u','l',' '), HB_TAG_NONE }, /* Jirel != Jula */ |
789 | {HB_TAG('j','v','d',' '), HB_TAG('C','P','P',' ')}, /* Javindo -> Creoles */ |
790 | {HB_TAG('k','a','a',' '), HB_TAG('K','R','K',' ')}, /* Karakalpak */ |
791 | {HB_TAG('k','a','b',' '), HB_TAG('K','A','B','0')}, /* Kabyle */ |
792 | {HB_TAG('k','a','b',' '), HB_TAG('B','B','R',' ')}, /* Kabyle -> Berber */ |
793 | {HB_TAG('k','a','c',' '), HB_TAG_NONE }, /* Kachin != Kachchi */ |
794 | {HB_TAG('k','a','m',' '), HB_TAG('K','M','B',' ')}, /* Kamba (Kenya) */ |
795 | {HB_TAG('k','a','r',' '), HB_TAG('K','R','N',' ')}, /* Karen [collection] */ |
796 | /*{HB_TAG('k','a','w',' '), HB_TAG('K','A','W',' ')},*/ /* Kawi (Old Javanese) */ |
797 | {HB_TAG('k','b','d',' '), HB_TAG('K','A','B',' ')}, /* Kabardian */ |
798 | {HB_TAG('k','b','y',' '), HB_TAG('K','N','R',' ')}, /* Manga Kanuri -> Kanuri */ |
799 | {HB_TAG('k','c','a',' '), HB_TAG('K','H','K',' ')}, /* Khanty -> Khanty-Kazim */ |
800 | {HB_TAG('k','c','a',' '), HB_TAG('K','H','S',' ')}, /* Khanty -> Khanty-Shurishkar */ |
801 | {HB_TAG('k','c','a',' '), HB_TAG('K','H','V',' ')}, /* Khanty -> Khanty-Vakhi */ |
802 | {HB_TAG('k','c','n',' '), HB_TAG('C','P','P',' ')}, /* Nubi -> Creoles */ |
803 | /*{HB_TAG('k','d','e',' '), HB_TAG('K','D','E',' ')},*/ /* Makonde */ |
804 | {HB_TAG('k','d','r',' '), HB_TAG('K','R','M',' ')}, /* Karaim */ |
805 | {HB_TAG('k','d','t',' '), HB_TAG('K','U','Y',' ')}, /* Kuy */ |
806 | {HB_TAG('k','e','a',' '), HB_TAG('K','E','A',' ')}, /* Kabuverdianu (Crioulo) */ |
807 | {HB_TAG('k','e','a',' '), HB_TAG('C','P','P',' ')}, /* Kabuverdianu -> Creoles */ |
808 | {HB_TAG('k','e','b',' '), HB_TAG_NONE }, /* Kélé != Kebena */ |
809 | {HB_TAG('k','e','k',' '), HB_TAG('K','E','K',' ')}, /* Kekchi */ |
810 | {HB_TAG('k','e','k',' '), HB_TAG('M','Y','N',' ')}, /* Kekchí -> Mayan */ |
811 | {HB_TAG('k','e','x',' '), HB_TAG('K','K','N',' ')}, /* Kukna -> Kokni */ |
812 | {HB_TAG('k','f','a',' '), HB_TAG('K','O','D',' ')}, /* Kodava -> Kodagu */ |
813 | {HB_TAG('k','f','r',' '), HB_TAG('K','A','C',' ')}, /* Kachhi -> Kachchi */ |
814 | {HB_TAG('k','f','x',' '), HB_TAG('K','U','L',' ')}, /* Kullu Pahari -> Kulvi */ |
815 | {HB_TAG('k','f','y',' '), HB_TAG('K','M','N',' ')}, /* Kumaoni */ |
816 | {HB_TAG('k','g','e',' '), HB_TAG_NONE }, /* Komering != Khutsuri Georgian */ |
817 | {HB_TAG('k','h','a',' '), HB_TAG('K','S','I',' ')}, /* Khasi */ |
818 | {HB_TAG('k','h','b',' '), HB_TAG('X','B','D',' ')}, /* Lü */ |
819 | {HB_TAG('k','h','k',' '), HB_TAG('M','N','G',' ')}, /* Halh Mongolian -> Mongolian */ |
820 | {HB_TAG('k','h','n',' '), HB_TAG_NONE }, /* Khandesi != Khamti Shan (Microsoft fonts) */ |
821 | {HB_TAG('k','h','s',' '), HB_TAG_NONE }, /* Kasua != Khanty-Shurishkar */ |
822 | {HB_TAG('k','h','t',' '), HB_TAG('K','H','T',' ')}, /* Khamti -> Khamti Shan */ |
823 | {HB_TAG('k','h','t',' '), HB_TAG('K','H','N',' ')}, /* Khamti -> Khamti Shan (Microsoft fonts) */ |
824 | {HB_TAG('k','h','v',' '), HB_TAG_NONE }, /* Khvarshi != Khanty-Vakhi */ |
825 | /*{HB_TAG('k','h','w',' '), HB_TAG('K','H','W',' ')},*/ /* Khowar */ |
826 | {HB_TAG('k','i','s',' '), HB_TAG_NONE }, /* Kis != Kisii */ |
827 | {HB_TAG('k','i','u',' '), HB_TAG('K','I','U',' ')}, /* Kirmanjki */ |
828 | {HB_TAG('k','i','u',' '), HB_TAG('Z','Z','A',' ')}, /* Kirmanjki -> Zazaki */ |
829 | {HB_TAG('k','j','b',' '), HB_TAG('M','Y','N',' ')}, /* Q'anjob'al -> Mayan */ |
830 | /*{HB_TAG('k','j','d',' '), HB_TAG('K','J','D',' ')},*/ /* Southern Kiwai */ |
831 | {HB_TAG('k','j','h',' '), HB_TAG('K','H','A',' ')}, /* Khakas -> Khakass */ |
832 | {HB_TAG('k','j','p',' '), HB_TAG('K','J','P',' ')}, /* Pwo Eastern Karen -> Eastern Pwo Karen */ |
833 | {HB_TAG('k','j','p',' '), HB_TAG('K','R','N',' ')}, /* Pwo Eastern Karen -> Karen */ |
834 | {HB_TAG('k','j','t',' '), HB_TAG('K','R','N',' ')}, /* Phrae Pwo Karen -> Karen */ |
835 | /*{HB_TAG('k','j','z',' '), HB_TAG('K','J','Z',' ')},*/ /* Bumthangkha */ |
836 | {HB_TAG('k','k','n',' '), HB_TAG_NONE }, /* Kon Keu != Kokni */ |
837 | {HB_TAG('k','k','z',' '), HB_TAG('A','T','H',' ')}, /* Kaska -> Athapaskan */ |
838 | {HB_TAG('k','l','m',' '), HB_TAG_NONE }, /* Migum != Kalmyk */ |
839 | {HB_TAG('k','l','n',' '), HB_TAG('K','A','L',' ')}, /* Kalenjin [macrolanguage] */ |
840 | {HB_TAG('k','m','b',' '), HB_TAG('M','B','N',' ')}, /* Kimbundu -> Mbundu */ |
841 | {HB_TAG('k','m','n',' '), HB_TAG_NONE }, /* Awtuw != Kumaoni */ |
842 | {HB_TAG('k','m','o',' '), HB_TAG_NONE }, /* Kwoma != Komo */ |
843 | {HB_TAG('k','m','r',' '), HB_TAG('K','U','R',' ')}, /* Northern Kurdish -> Kurdish */ |
844 | {HB_TAG('k','m','s',' '), HB_TAG_NONE }, /* Kamasau != Komso */ |
845 | {HB_TAG('k','m','v',' '), HB_TAG('C','P','P',' ')}, /* Karipúna Creole French -> Creoles */ |
846 | {HB_TAG('k','m','w',' '), HB_TAG('K','M','O',' ')}, /* Komo (Democratic Republic of Congo) */ |
847 | /*{HB_TAG('k','m','z',' '), HB_TAG('K','M','Z',' ')},*/ /* Khorasani Turkish -> Khorasani Turkic */ |
848 | {HB_TAG('k','n','c',' '), HB_TAG('K','N','R',' ')}, /* Central Kanuri -> Kanuri */ |
849 | {HB_TAG('k','n','g',' '), HB_TAG('K','O','N','0')}, /* Koongo -> Kongo */ |
850 | {HB_TAG('k','n','j',' '), HB_TAG('M','Y','N',' ')}, /* Western Kanjobal -> Mayan */ |
851 | {HB_TAG('k','n','n',' '), HB_TAG('K','O','K',' ')}, /* Konkani */ |
852 | {HB_TAG('k','n','r',' '), HB_TAG_NONE }, /* Kaningra != Kanuri */ |
853 | {HB_TAG('k','o','d',' '), HB_TAG_NONE }, /* Kodi != Kodagu */ |
854 | {HB_TAG('k','o','h',' '), HB_TAG_NONE }, /* Koyo != Korean Old Hangul */ |
855 | {HB_TAG('k','o','i',' '), HB_TAG('K','O','P',' ')}, /* Komi-Permyak */ |
856 | {HB_TAG('k','o','i',' '), HB_TAG('K','O','M',' ')}, /* Komi-Permyak -> Komi */ |
857 | /*{HB_TAG('k','o','k',' '), HB_TAG('K','O','K',' ')},*/ /* Konkani [macrolanguage] */ |
858 | {HB_TAG('k','o','p',' '), HB_TAG_NONE }, /* Waube != Komi-Permyak */ |
859 | /*{HB_TAG('k','o','s',' '), HB_TAG('K','O','S',' ')},*/ /* Kosraean */ |
860 | {HB_TAG('k','o','y',' '), HB_TAG('A','T','H',' ')}, /* Koyukon -> Athapaskan */ |
861 | {HB_TAG('k','o','z',' '), HB_TAG_NONE }, /* Korak != Komi-Zyrian */ |
862 | {HB_TAG('k','p','e',' '), HB_TAG('K','P','L',' ')}, /* Kpelle [macrolanguage] */ |
863 | {HB_TAG('k','p','l',' '), HB_TAG_NONE }, /* Kpala != Kpelle */ |
864 | {HB_TAG('k','p','p',' '), HB_TAG('K','R','N',' ')}, /* Paku Karen (retired code) -> Karen */ |
865 | {HB_TAG('k','p','v',' '), HB_TAG('K','O','Z',' ')}, /* Komi-Zyrian */ |
866 | {HB_TAG('k','p','v',' '), HB_TAG('K','O','M',' ')}, /* Komi-Zyrian -> Komi */ |
867 | {HB_TAG('k','p','y',' '), HB_TAG('K','Y','K',' ')}, /* Koryak */ |
868 | {HB_TAG('k','q','s',' '), HB_TAG('K','I','S',' ')}, /* Northern Kissi -> Kisii */ |
869 | {HB_TAG('k','q','y',' '), HB_TAG('K','R','T',' ')}, /* Koorete */ |
870 | {HB_TAG('k','r','c',' '), HB_TAG('K','A','R',' ')}, /* Karachay-Balkar -> Karachay */ |
871 | {HB_TAG('k','r','c',' '), HB_TAG('B','A','L',' ')}, /* Karachay-Balkar -> Balkar */ |
872 | {HB_TAG('k','r','i',' '), HB_TAG('K','R','I',' ')}, /* Krio */ |
873 | {HB_TAG('k','r','i',' '), HB_TAG('C','P','P',' ')}, /* Krio -> Creoles */ |
874 | {HB_TAG('k','r','k',' '), HB_TAG_NONE }, /* Kerek != Karakalpak */ |
875 | /*{HB_TAG('k','r','l',' '), HB_TAG('K','R','L',' ')},*/ /* Karelian */ |
876 | {HB_TAG('k','r','m',' '), HB_TAG_NONE }, /* Krim (retired code) != Karaim */ |
877 | {HB_TAG('k','r','n',' '), HB_TAG_NONE }, /* Sapo != Karen */ |
878 | {HB_TAG('k','r','t',' '), HB_TAG('K','N','R',' ')}, /* Tumari Kanuri -> Kanuri */ |
879 | {HB_TAG('k','r','u',' '), HB_TAG('K','U','U',' ')}, /* Kurukh */ |
880 | {HB_TAG('k','s','h',' '), HB_TAG('K','S','H','0')}, /* Kölsch -> Ripuarian */ |
881 | {HB_TAG('k','s','i',' '), HB_TAG_NONE }, /* Krisa != Khasi */ |
882 | {HB_TAG('k','s','m',' '), HB_TAG_NONE }, /* Kumba != Kildin Sami */ |
883 | {HB_TAG('k','s','s',' '), HB_TAG('K','I','S',' ')}, /* Southern Kisi -> Kisii */ |
884 | {HB_TAG('k','s','w',' '), HB_TAG('K','S','W',' ')}, /* S’gaw Karen */ |
885 | {HB_TAG('k','s','w',' '), HB_TAG('K','R','N',' ')}, /* S'gaw Karen -> Karen */ |
886 | {HB_TAG('k','t','b',' '), HB_TAG('K','E','B',' ')}, /* Kambaata -> Kebena */ |
887 | {HB_TAG('k','t','u',' '), HB_TAG('K','O','N',' ')}, /* Kituba (Democratic Republic of Congo) -> Kikongo */ |
888 | {HB_TAG('k','t','w',' '), HB_TAG('A','T','H',' ')}, /* Kato -> Athapaskan */ |
889 | {HB_TAG('k','u','i',' '), HB_TAG_NONE }, /* Kuikúro-Kalapálo != Kui */ |
890 | {HB_TAG('k','u','l',' '), HB_TAG_NONE }, /* Kulere != Kulvi */ |
891 | /*{HB_TAG('k','u','m',' '), HB_TAG('K','U','M',' ')},*/ /* Kumyk */ |
892 | {HB_TAG('k','u','u',' '), HB_TAG('A','T','H',' ')}, /* Upper Kuskokwim -> Athapaskan */ |
893 | {HB_TAG('k','u','w',' '), HB_TAG('B','A','D','0')}, /* Kpagua -> Banda */ |
894 | {HB_TAG('k','u','y',' '), HB_TAG_NONE }, /* Kuuku-Ya'u != Kuy */ |
895 | {HB_TAG('k','v','b',' '), HB_TAG('M','L','Y',' ')}, /* Kubu -> Malay */ |
896 | {HB_TAG('k','v','l',' '), HB_TAG('K','R','N',' ')}, /* Kayaw -> Karen */ |
897 | {HB_TAG('k','v','q',' '), HB_TAG('K','R','N',' ')}, /* Geba Karen -> Karen */ |
898 | {HB_TAG('k','v','r',' '), HB_TAG('M','L','Y',' ')}, /* Kerinci -> Malay */ |
899 | {HB_TAG('k','v','t',' '), HB_TAG('K','R','N',' ')}, /* Lahta Karen -> Karen */ |
900 | {HB_TAG('k','v','u',' '), HB_TAG('K','R','N',' ')}, /* Yinbaw Karen -> Karen */ |
901 | {HB_TAG('k','v','y',' '), HB_TAG('K','R','N',' ')}, /* Yintale Karen -> Karen */ |
902 | /*{HB_TAG('k','w','k',' '), HB_TAG('K','W','K',' ')},*/ /* Kwakiutl -> Kwakʼwala */ |
903 | {HB_TAG('k','w','w',' '), HB_TAG('C','P','P',' ')}, /* Kwinti -> Creoles */ |
904 | {HB_TAG('k','w','y',' '), HB_TAG('K','O','N','0')}, /* San Salvador Kongo -> Kongo */ |
905 | {HB_TAG('k','x','c',' '), HB_TAG('K','M','S',' ')}, /* Konso -> Komso */ |
906 | {HB_TAG('k','x','d',' '), HB_TAG('M','L','Y',' ')}, /* Brunei -> Malay */ |
907 | {HB_TAG('k','x','f',' '), HB_TAG('K','R','N',' ')}, /* Manumanaw Karen -> Karen */ |
908 | {HB_TAG('k','x','k',' '), HB_TAG('K','R','N',' ')}, /* Zayein Karen -> Karen */ |
909 | {HB_TAG('k','x','l',' '), HB_TAG('K','U','U',' ')}, /* Nepali Kurux (retired code) -> Kurukh */ |
910 | {HB_TAG('k','x','u',' '), HB_TAG('K','U','I',' ')}, /* Kui (India) (retired code) */ |
911 | {HB_TAG('k','y','k',' '), HB_TAG_NONE }, /* Kamayo != Koryak */ |
912 | {HB_TAG('k','y','u',' '), HB_TAG('K','Y','U',' ')}, /* Western Kayah */ |
913 | {HB_TAG('k','y','u',' '), HB_TAG('K','R','N',' ')}, /* Western Kayah -> Karen */ |
914 | {HB_TAG('l','a','c',' '), HB_TAG('M','Y','N',' ')}, /* Lacandon -> Mayan */ |
915 | {HB_TAG('l','a','d',' '), HB_TAG('J','U','D',' ')}, /* Ladino */ |
916 | {HB_TAG('l','a','h',' '), HB_TAG_NONE }, /* Lahnda [macrolanguage] != Lahuli */ |
917 | {HB_TAG('l','a','k',' '), HB_TAG_NONE }, /* Laka (Nigeria) (retired code) != Lak */ |
918 | {HB_TAG('l','a','m',' '), HB_TAG_NONE }, /* Lamba != Lambani */ |
919 | {HB_TAG('l','a','z',' '), HB_TAG_NONE }, /* Aribwatsa != Laz */ |
920 | {HB_TAG('l','b','e',' '), HB_TAG('L','A','K',' ')}, /* Lak */ |
921 | {HB_TAG('l','b','j',' '), HB_TAG('L','D','K',' ')}, /* Ladakhi */ |
922 | {HB_TAG('l','b','l',' '), HB_TAG('B','I','K',' ')}, /* Libon Bikol -> Bikol */ |
923 | {HB_TAG('l','c','e',' '), HB_TAG('M','L','Y',' ')}, /* Loncong -> Malay */ |
924 | {HB_TAG('l','c','f',' '), HB_TAG('M','L','Y',' ')}, /* Lubu -> Malay */ |
925 | {HB_TAG('l','d','i',' '), HB_TAG('K','O','N','0')}, /* Laari -> Kongo */ |
926 | {HB_TAG('l','d','k',' '), HB_TAG_NONE }, /* Leelau != Ladakhi */ |
927 | /*{HB_TAG('l','e','f',' '), HB_TAG('L','E','F',' ')},*/ /* Lelemi */ |
928 | /*{HB_TAG('l','e','z',' '), HB_TAG('L','E','Z',' ')},*/ /* Lezghian -> Lezgi */ |
929 | {HB_TAG('l','i','f',' '), HB_TAG('L','M','B',' ')}, /* Limbu */ |
930 | /*{HB_TAG('l','i','j',' '), HB_TAG('L','I','J',' ')},*/ /* Ligurian */ |
931 | {HB_TAG('l','i','r',' '), HB_TAG('C','P','P',' ')}, /* Liberian English -> Creoles */ |
932 | /*{HB_TAG('l','i','s',' '), HB_TAG('L','I','S',' ')},*/ /* Lisu */ |
933 | {HB_TAG('l','i','w',' '), HB_TAG('M','L','Y',' ')}, /* Col -> Malay */ |
934 | {HB_TAG('l','i','y',' '), HB_TAG('B','A','D','0')}, /* Banda-Bambari -> Banda */ |
935 | /*{HB_TAG('l','j','p',' '), HB_TAG('L','J','P',' ')},*/ /* Lampung Api -> Lampung */ |
936 | {HB_TAG('l','k','b',' '), HB_TAG('L','U','H',' ')}, /* Kabras -> Luyia */ |
937 | /*{HB_TAG('l','k','i',' '), HB_TAG('L','K','I',' ')},*/ /* Laki */ |
938 | {HB_TAG('l','k','o',' '), HB_TAG('L','U','H',' ')}, /* Khayo -> Luyia */ |
939 | {HB_TAG('l','k','s',' '), HB_TAG('L','U','H',' ')}, /* Kisa -> Luyia */ |
940 | {HB_TAG('l','l','d',' '), HB_TAG('L','A','D',' ')}, /* Ladin */ |
941 | {HB_TAG('l','m','a',' '), HB_TAG_NONE }, /* East Limba != Low Mari */ |
942 | {HB_TAG('l','m','b',' '), HB_TAG_NONE }, /* Merei != Limbu */ |
943 | {HB_TAG('l','m','n',' '), HB_TAG('L','A','M',' ')}, /* Lambadi -> Lambani */ |
944 | /*{HB_TAG('l','m','o',' '), HB_TAG('L','M','O',' ')},*/ /* Lombard */ |
945 | {HB_TAG('l','m','w',' '), HB_TAG_NONE }, /* Lake Miwok != Lomwe */ |
946 | {HB_TAG('l','n','a',' '), HB_TAG('B','A','D','0')}, /* Langbashe -> Banda */ |
947 | {HB_TAG('l','n','l',' '), HB_TAG('B','A','D','0')}, /* South Central Banda -> Banda */ |
948 | /*{HB_TAG('l','o','m',' '), HB_TAG('L','O','M',' ')},*/ /* Loma (Liberia) */ |
949 | {HB_TAG('l','o','u',' '), HB_TAG('C','P','P',' ')}, /* Louisiana Creole -> Creoles */ |
950 | /*{HB_TAG('l','p','o',' '), HB_TAG('L','P','O',' ')},*/ /* Lipo */ |
951 | /*{HB_TAG('l','r','c',' '), HB_TAG('L','R','C',' ')},*/ /* Northern Luri -> Luri */ |
952 | {HB_TAG('l','r','i',' '), HB_TAG('L','U','H',' ')}, /* Marachi -> Luyia */ |
953 | {HB_TAG('l','r','m',' '), HB_TAG('L','U','H',' ')}, /* Marama -> Luyia */ |
954 | {HB_TAG('l','r','t',' '), HB_TAG('C','P','P',' ')}, /* Larantuka Malay -> Creoles */ |
955 | {HB_TAG('l','s','b',' '), HB_TAG_NONE }, /* Burundian Sign Language != Lower Sorbian */ |
956 | {HB_TAG('l','s','m',' '), HB_TAG('L','U','H',' ')}, /* Saamia -> Luyia */ |
957 | {HB_TAG('l','t','g',' '), HB_TAG('L','V','I',' ')}, /* Latgalian -> Latvian */ |
958 | {HB_TAG('l','t','h',' '), HB_TAG_NONE }, /* Thur != Lithuanian */ |
959 | {HB_TAG('l','t','o',' '), HB_TAG('L','U','H',' ')}, /* Tsotso -> Luyia */ |
960 | {HB_TAG('l','t','s',' '), HB_TAG('L','U','H',' ')}, /* Tachoni -> Luyia */ |
961 | /*{HB_TAG('l','u','a',' '), HB_TAG('L','U','A',' ')},*/ /* Luba-Lulua */ |
962 | /*{HB_TAG('l','u','o',' '), HB_TAG('L','U','O',' ')},*/ /* Luo (Kenya and Tanzania) */ |
963 | {HB_TAG('l','u','s',' '), HB_TAG('M','I','Z',' ')}, /* Lushai -> Mizo */ |
964 | {HB_TAG('l','u','s',' '), HB_TAG('Q','I','N',' ')}, /* Lushai -> Chin */ |
965 | {HB_TAG('l','u','y',' '), HB_TAG('L','U','H',' ')}, /* Luyia [macrolanguage] */ |
966 | {HB_TAG('l','u','z',' '), HB_TAG('L','R','C',' ')}, /* Southern Luri -> Luri */ |
967 | {HB_TAG('l','v','i',' '), HB_TAG_NONE }, /* Lavi != Latvian */ |
968 | {HB_TAG('l','v','s',' '), HB_TAG('L','V','I',' ')}, /* Standard Latvian -> Latvian */ |
969 | {HB_TAG('l','w','g',' '), HB_TAG('L','U','H',' ')}, /* Wanga -> Luyia */ |
970 | {HB_TAG('l','z','h',' '), HB_TAG('Z','H','T',' ')}, /* Literary Chinese -> Chinese, Traditional */ |
971 | {HB_TAG('l','z','z',' '), HB_TAG('L','A','Z',' ')}, /* Laz */ |
972 | /*{HB_TAG('m','a','d',' '), HB_TAG('M','A','D',' ')},*/ /* Madurese -> Madura */ |
973 | /*{HB_TAG('m','a','g',' '), HB_TAG('M','A','G',' ')},*/ /* Magahi */ |
974 | {HB_TAG('m','a','i',' '), HB_TAG('M','T','H',' ')}, /* Maithili */ |
975 | {HB_TAG('m','a','j',' '), HB_TAG_NONE }, /* Jalapa De Díaz Mazatec != Majang */ |
976 | {HB_TAG('m','a','k',' '), HB_TAG('M','K','R',' ')}, /* Makasar */ |
977 | {HB_TAG('m','a','m',' '), HB_TAG('M','A','M',' ')}, /* Mam */ |
978 | {HB_TAG('m','a','m',' '), HB_TAG('M','Y','N',' ')}, /* Mam -> Mayan */ |
979 | {HB_TAG('m','a','n',' '), HB_TAG('M','N','K',' ')}, /* Mandingo [macrolanguage] -> Maninka */ |
980 | {HB_TAG('m','a','p',' '), HB_TAG_NONE }, /* Austronesian [collection] != Mapudungun */ |
981 | {HB_TAG('m','a','w',' '), HB_TAG_NONE }, /* Mampruli != Marwari */ |
982 | {HB_TAG('m','a','x',' '), HB_TAG('M','L','Y',' ')}, /* North Moluccan Malay -> Malay */ |
983 | {HB_TAG('m','a','x',' '), HB_TAG('C','P','P',' ')}, /* North Moluccan Malay -> Creoles */ |
984 | {HB_TAG('m','b','f',' '), HB_TAG('C','P','P',' ')}, /* Baba Malay -> Creoles */ |
985 | {HB_TAG('m','b','n',' '), HB_TAG_NONE }, /* Macaguán != Mbundu */ |
986 | /*{HB_TAG('m','b','o',' '), HB_TAG('M','B','O',' ')},*/ /* Mbo (Cameroon) */ |
987 | {HB_TAG('m','c','h',' '), HB_TAG_NONE }, /* Maquiritari != Manchu */ |
988 | {HB_TAG('m','c','m',' '), HB_TAG('C','P','P',' ')}, /* Malaccan Creole Portuguese -> Creoles */ |
989 | {HB_TAG('m','c','r',' '), HB_TAG_NONE }, /* Menya != Moose Cree */ |
990 | {HB_TAG('m','c','t',' '), HB_TAG('B','T','I',' ')}, /* Mengisa -> Beti */ |
991 | {HB_TAG('m','d','e',' '), HB_TAG_NONE }, /* Maba (Chad) != Mende */ |
992 | {HB_TAG('m','d','f',' '), HB_TAG('M','O','K',' ')}, /* Moksha */ |
993 | /*{HB_TAG('m','d','r',' '), HB_TAG('M','D','R',' ')},*/ /* Mandar */ |
994 | {HB_TAG('m','d','y',' '), HB_TAG('M','L','E',' ')}, /* Male (Ethiopia) */ |
995 | {HB_TAG('m','e','n',' '), HB_TAG('M','D','E',' ')}, /* Mende (Sierra Leone) */ |
996 | {HB_TAG('m','e','o',' '), HB_TAG('M','L','Y',' ')}, /* Kedah Malay -> Malay */ |
997 | /*{HB_TAG('m','e','r',' '), HB_TAG('M','E','R',' ')},*/ /* Meru */ |
998 | {HB_TAG('m','f','a',' '), HB_TAG('M','F','A',' ')}, /* Pattani Malay */ |
999 | {HB_TAG('m','f','a',' '), HB_TAG('M','L','Y',' ')}, /* Pattani Malay -> Malay */ |
1000 | {HB_TAG('m','f','b',' '), HB_TAG('M','L','Y',' ')}, /* Bangka -> Malay */ |
1001 | {HB_TAG('m','f','e',' '), HB_TAG('M','F','E',' ')}, /* Morisyen */ |
1002 | {HB_TAG('m','f','e',' '), HB_TAG('C','P','P',' ')}, /* Morisyen -> Creoles */ |
1003 | {HB_TAG('m','f','p',' '), HB_TAG('C','P','P',' ')}, /* Makassar Malay -> Creoles */ |
1004 | {HB_TAG('m','h','c',' '), HB_TAG('M','Y','N',' ')}, /* Mocho -> Mayan */ |
1005 | {HB_TAG('m','h','r',' '), HB_TAG('L','M','A',' ')}, /* Eastern Mari -> Low Mari */ |
1006 | {HB_TAG('m','h','v',' '), HB_TAG('A','R','K',' ')}, /* Arakanese (retired code) -> Rakhine */ |
1007 | {HB_TAG('m','i','n',' '), HB_TAG('M','I','N',' ')}, /* Minangkabau */ |
1008 | {HB_TAG('m','i','n',' '), HB_TAG('M','L','Y',' ')}, /* Minangkabau -> Malay */ |
1009 | {HB_TAG('m','i','z',' '), HB_TAG_NONE }, /* Coatzospan Mixtec != Mizo */ |
1010 | {HB_TAG('m','k','n',' '), HB_TAG('C','P','P',' ')}, /* Kupang Malay -> Creoles */ |
1011 | {HB_TAG('m','k','r',' '), HB_TAG_NONE }, /* Malas != Makasar */ |
1012 | {HB_TAG('m','k','u',' '), HB_TAG('M','N','K',' ')}, /* Konyanka Maninka -> Maninka */ |
1013 | /*{HB_TAG('m','k','w',' '), HB_TAG('M','K','W',' ')},*/ /* Kituba (Congo) */ |
1014 | {HB_TAG('m','l','e',' '), HB_TAG_NONE }, /* Manambu != Male */ |
1015 | {HB_TAG('m','l','n',' '), HB_TAG_NONE }, /* Malango != Malinke */ |
1016 | {HB_TAG('m','l','q',' '), HB_TAG('M','L','N',' ')}, /* Western Maninkakan -> Malinke */ |
1017 | {HB_TAG('m','l','q',' '), HB_TAG('M','N','K',' ')}, /* Western Maninkakan -> Maninka */ |
1018 | {HB_TAG('m','l','r',' '), HB_TAG_NONE }, /* Vame != Malayalam Reformed */ |
1019 | {HB_TAG('m','m','r',' '), HB_TAG('H','M','N',' ')}, /* Western Xiangxi Miao -> Hmong */ |
1020 | {HB_TAG('m','n','c',' '), HB_TAG('M','C','H',' ')}, /* Manchu */ |
1021 | {HB_TAG('m','n','d',' '), HB_TAG_NONE }, /* Mondé != Mandinka */ |
1022 | {HB_TAG('m','n','g',' '), HB_TAG_NONE }, /* Eastern Mnong != Mongolian */ |
1023 | {HB_TAG('m','n','h',' '), HB_TAG('B','A','D','0')}, /* Mono (Democratic Republic of Congo) -> Banda */ |
1024 | /*{HB_TAG('m','n','i',' '), HB_TAG('M','N','I',' ')},*/ /* Manipuri */ |
1025 | {HB_TAG('m','n','k',' '), HB_TAG('M','N','D',' ')}, /* Mandinka */ |
1026 | {HB_TAG('m','n','k',' '), HB_TAG('M','N','K',' ')}, /* Mandinka -> Maninka */ |
1027 | {HB_TAG('m','n','p',' '), HB_TAG('Z','H','S',' ')}, /* Min Bei Chinese -> Chinese, Simplified */ |
1028 | {HB_TAG('m','n','s',' '), HB_TAG('M','A','N',' ')}, /* Mansi */ |
1029 | {HB_TAG('m','n','w',' '), HB_TAG('M','O','N',' ')}, /* Mon */ |
1030 | {HB_TAG('m','n','w',' '), HB_TAG('M','O','N','T')}, /* Mon -> Thailand Mon */ |
1031 | {HB_TAG('m','n','x',' '), HB_TAG_NONE }, /* Manikion != Manx */ |
1032 | {HB_TAG('m','o','d',' '), HB_TAG('C','P','P',' ')}, /* Mobilian -> Creoles */ |
1033 | /*{HB_TAG('m','o','h',' '), HB_TAG('M','O','H',' ')},*/ /* Mohawk */ |
1034 | {HB_TAG('m','o','k',' '), HB_TAG_NONE }, /* Morori != Moksha */ |
1035 | {HB_TAG('m','o','p',' '), HB_TAG('M','Y','N',' ')}, /* Mopán Maya -> Mayan */ |
1036 | {HB_TAG('m','o','r',' '), HB_TAG_NONE }, /* Moro != Moroccan */ |
1037 | /*{HB_TAG('m','o','s',' '), HB_TAG('M','O','S',' ')},*/ /* Mossi */ |
1038 | {HB_TAG('m','p','e',' '), HB_TAG('M','A','J',' ')}, /* Majang */ |
1039 | {HB_TAG('m','q','g',' '), HB_TAG('M','L','Y',' ')}, /* Kota Bangun Kutai Malay -> Malay */ |
1040 | {HB_TAG('m','r','h',' '), HB_TAG('Q','I','N',' ')}, /* Mara Chin -> Chin */ |
1041 | {HB_TAG('m','r','j',' '), HB_TAG('H','M','A',' ')}, /* Western Mari -> High Mari */ |
1042 | {HB_TAG('m','s','c',' '), HB_TAG('M','N','K',' ')}, /* Sankaran Maninka -> Maninka */ |
1043 | {HB_TAG('m','s','h',' '), HB_TAG('M','L','G',' ')}, /* Masikoro Malagasy -> Malagasy */ |
1044 | {HB_TAG('m','s','i',' '), HB_TAG('M','L','Y',' ')}, /* Sabah Malay -> Malay */ |
1045 | {HB_TAG('m','s','i',' '), HB_TAG('C','P','P',' ')}, /* Sabah Malay -> Creoles */ |
1046 | {HB_TAG('m','t','h',' '), HB_TAG_NONE }, /* Munggui != Maithili */ |
1047 | {HB_TAG('m','t','r',' '), HB_TAG('M','A','W',' ')}, /* Mewari -> Marwari */ |
1048 | {HB_TAG('m','t','s',' '), HB_TAG_NONE }, /* Yora != Maltese */ |
1049 | {HB_TAG('m','u','d',' '), HB_TAG('C','P','P',' ')}, /* Mednyj Aleut -> Creoles */ |
1050 | {HB_TAG('m','u','i',' '), HB_TAG('M','L','Y',' ')}, /* Musi -> Malay */ |
1051 | {HB_TAG('m','u','n',' '), HB_TAG_NONE }, /* Munda [collection] != Mundari */ |
1052 | {HB_TAG('m','u','p',' '), HB_TAG('R','A','J',' ')}, /* Malvi -> Rajasthani */ |
1053 | {HB_TAG('m','u','q',' '), HB_TAG('H','M','N',' ')}, /* Eastern Xiangxi Miao -> Hmong */ |
1054 | /*{HB_TAG('m','u','s',' '), HB_TAG('M','U','S',' ')},*/ /* Creek -> Muscogee */ |
1055 | {HB_TAG('m','v','b',' '), HB_TAG('A','T','H',' ')}, /* Mattole -> Athapaskan */ |
1056 | {HB_TAG('m','v','e',' '), HB_TAG('M','A','W',' ')}, /* Marwari (Pakistan) */ |
1057 | {HB_TAG('m','v','f',' '), HB_TAG('M','N','G',' ')}, /* Peripheral Mongolian -> Mongolian */ |
1058 | {HB_TAG('m','w','k',' '), HB_TAG('M','N','K',' ')}, /* Kita Maninkakan -> Maninka */ |
1059 | /*{HB_TAG('m','w','l',' '), HB_TAG('M','W','L',' ')},*/ /* Mirandese */ |
1060 | {HB_TAG('m','w','q',' '), HB_TAG('Q','I','N',' ')}, /* Mün Chin -> Chin */ |
1061 | {HB_TAG('m','w','r',' '), HB_TAG('M','A','W',' ')}, /* Marwari [macrolanguage] */ |
1062 | {HB_TAG('m','w','w',' '), HB_TAG('M','W','W',' ')}, /* Hmong Daw */ |
1063 | {HB_TAG('m','w','w',' '), HB_TAG('H','M','N',' ')}, /* Hmong Daw -> Hmong */ |
1064 | {HB_TAG('m','y','m',' '), HB_TAG('M','E','N',' ')}, /* Me’en */ |
1065 | /*{HB_TAG('m','y','n',' '), HB_TAG('M','Y','N',' ')},*/ /* Mayan [collection] */ |
1066 | {HB_TAG('m','y','q',' '), HB_TAG('M','N','K',' ')}, /* Forest Maninka (retired code) -> Maninka */ |
1067 | {HB_TAG('m','y','v',' '), HB_TAG('E','R','Z',' ')}, /* Erzya */ |
1068 | {HB_TAG('m','z','b',' '), HB_TAG('B','B','R',' ')}, /* Tumzabt -> Berber */ |
1069 | /*{HB_TAG('m','z','n',' '), HB_TAG('M','Z','N',' ')},*/ /* Mazanderani */ |
1070 | {HB_TAG('m','z','s',' '), HB_TAG('C','P','P',' ')}, /* Macanese -> Creoles */ |
1071 | {HB_TAG('n','a','g',' '), HB_TAG('N','A','G',' ')}, /* Naga Pidgin -> Naga-Assamese */ |
1072 | {HB_TAG('n','a','g',' '), HB_TAG('C','P','P',' ')}, /* Naga Pidgin -> Creoles */ |
1073 | /*{HB_TAG('n','a','h',' '), HB_TAG('N','A','H',' ')},*/ /* Nahuatl [collection] */ |
1074 | {HB_TAG('n','a','n',' '), HB_TAG('Z','H','S',' ')}, /* Min Nan Chinese -> Chinese, Simplified */ |
1075 | /*{HB_TAG('n','a','p',' '), HB_TAG('N','A','P',' ')},*/ /* Neapolitan */ |
1076 | {HB_TAG('n','a','s',' '), HB_TAG_NONE }, /* Naasioi != Naskapi */ |
1077 | {HB_TAG('n','a','z',' '), HB_TAG('N','A','H',' ')}, /* Coatepec Nahuatl -> Nahuatl */ |
1078 | {HB_TAG('n','c','h',' '), HB_TAG('N','A','H',' ')}, /* Central Huasteca Nahuatl -> Nahuatl */ |
1079 | {HB_TAG('n','c','i',' '), HB_TAG('N','A','H',' ')}, /* Classical Nahuatl -> Nahuatl */ |
1080 | {HB_TAG('n','c','j',' '), HB_TAG('N','A','H',' ')}, /* Northern Puebla Nahuatl -> Nahuatl */ |
1081 | {HB_TAG('n','c','l',' '), HB_TAG('N','A','H',' ')}, /* Michoacán Nahuatl -> Nahuatl */ |
1082 | {HB_TAG('n','c','r',' '), HB_TAG_NONE }, /* Ncane != N-Cree */ |
1083 | {HB_TAG('n','c','x',' '), HB_TAG('N','A','H',' ')}, /* Central Puebla Nahuatl -> Nahuatl */ |
1084 | {HB_TAG('n','d','b',' '), HB_TAG_NONE }, /* Kenswei Nsei != Ndebele */ |
1085 | /*{HB_TAG('n','d','c',' '), HB_TAG('N','D','C',' ')},*/ /* Ndau */ |
1086 | {HB_TAG('n','d','g',' '), HB_TAG_NONE }, /* Ndengereko != Ndonga */ |
1087 | /*{HB_TAG('n','d','s',' '), HB_TAG('N','D','S',' ')},*/ /* Low Saxon */ |
1088 | {HB_TAG('n','e','f',' '), HB_TAG('C','P','P',' ')}, /* Nefamese -> Creoles */ |
1089 | /*{HB_TAG('n','e','w',' '), HB_TAG('N','E','W',' ')},*/ /* Newari */ |
1090 | /*{HB_TAG('n','g','a',' '), HB_TAG('N','G','A',' ')},*/ /* Ngbaka */ |
1091 | {HB_TAG('n','g','l',' '), HB_TAG('L','M','W',' ')}, /* Lomwe */ |
1092 | {HB_TAG('n','g','m',' '), HB_TAG('C','P','P',' ')}, /* Ngatik Men's Creole -> Creoles */ |
1093 | {HB_TAG('n','g','o',' '), HB_TAG('S','X','T',' ')}, /* Ngoni (retired code) -> Sutu */ |
1094 | {HB_TAG('n','g','r',' '), HB_TAG_NONE }, /* Engdewu != Nagari */ |
1095 | {HB_TAG('n','g','u',' '), HB_TAG('N','A','H',' ')}, /* Guerrero Nahuatl -> Nahuatl */ |
1096 | {HB_TAG('n','h','c',' '), HB_TAG('N','A','H',' ')}, /* Tabasco Nahuatl -> Nahuatl */ |
1097 | {HB_TAG('n','h','d',' '), HB_TAG('G','U','A',' ')}, /* Chiripá -> Guarani */ |
1098 | {HB_TAG('n','h','e',' '), HB_TAG('N','A','H',' ')}, /* Eastern Huasteca Nahuatl -> Nahuatl */ |
1099 | {HB_TAG('n','h','g',' '), HB_TAG('N','A','H',' ')}, /* Tetelcingo Nahuatl -> Nahuatl */ |
1100 | {HB_TAG('n','h','i',' '), HB_TAG('N','A','H',' ')}, /* Zacatlán-Ahuacatlán-Tepetzintla Nahuatl -> Nahuatl */ |
1101 | {HB_TAG('n','h','k',' '), HB_TAG('N','A','H',' ')}, /* Isthmus-Cosoleacaque Nahuatl -> Nahuatl */ |
1102 | {HB_TAG('n','h','m',' '), HB_TAG('N','A','H',' ')}, /* Morelos Nahuatl -> Nahuatl */ |
1103 | {HB_TAG('n','h','n',' '), HB_TAG('N','A','H',' ')}, /* Central Nahuatl -> Nahuatl */ |
1104 | {HB_TAG('n','h','p',' '), HB_TAG('N','A','H',' ')}, /* Isthmus-Pajapan Nahuatl -> Nahuatl */ |
1105 | {HB_TAG('n','h','q',' '), HB_TAG('N','A','H',' ')}, /* Huaxcaleca Nahuatl -> Nahuatl */ |
1106 | {HB_TAG('n','h','t',' '), HB_TAG('N','A','H',' ')}, /* Ometepec Nahuatl -> Nahuatl */ |
1107 | {HB_TAG('n','h','v',' '), HB_TAG('N','A','H',' ')}, /* Temascaltepec Nahuatl -> Nahuatl */ |
1108 | {HB_TAG('n','h','w',' '), HB_TAG('N','A','H',' ')}, /* Western Huasteca Nahuatl -> Nahuatl */ |
1109 | {HB_TAG('n','h','x',' '), HB_TAG('N','A','H',' ')}, /* Isthmus-Mecayapan Nahuatl -> Nahuatl */ |
1110 | {HB_TAG('n','h','y',' '), HB_TAG('N','A','H',' ')}, /* Northern Oaxaca Nahuatl -> Nahuatl */ |
1111 | {HB_TAG('n','h','z',' '), HB_TAG('N','A','H',' ')}, /* Santa María La Alta Nahuatl -> Nahuatl */ |
1112 | {HB_TAG('n','i','q',' '), HB_TAG('K','A','L',' ')}, /* Nandi -> Kalenjin */ |
1113 | {HB_TAG('n','i','s',' '), HB_TAG_NONE }, /* Nimi != Nisi */ |
1114 | /*{HB_TAG('n','i','u',' '), HB_TAG('N','I','U',' ')},*/ /* Niuean */ |
1115 | {HB_TAG('n','i','v',' '), HB_TAG('G','I','L',' ')}, /* Gilyak */ |
1116 | {HB_TAG('n','j','t',' '), HB_TAG('C','P','P',' ')}, /* Ndyuka-Trio Pidgin -> Creoles */ |
1117 | {HB_TAG('n','j','z',' '), HB_TAG('N','I','S',' ')}, /* Nyishi -> Nisi */ |
1118 | {HB_TAG('n','k','o',' '), HB_TAG_NONE }, /* Nkonya != N’Ko */ |
1119 | {HB_TAG('n','k','x',' '), HB_TAG('I','J','O',' ')}, /* Nkoroo -> Ijo */ |
1120 | {HB_TAG('n','l','a',' '), HB_TAG('B','M','L',' ')}, /* Ngombale -> Bamileke */ |
1121 | {HB_TAG('n','l','e',' '), HB_TAG('L','U','H',' ')}, /* East Nyala -> Luyia */ |
1122 | {HB_TAG('n','l','n',' '), HB_TAG('N','A','H',' ')}, /* Durango Nahuatl (retired code) -> Nahuatl */ |
1123 | {HB_TAG('n','l','v',' '), HB_TAG('N','A','H',' ')}, /* Orizaba Nahuatl -> Nahuatl */ |
1124 | {HB_TAG('n','n','h',' '), HB_TAG('B','M','L',' ')}, /* Ngiemboon -> Bamileke */ |
1125 | {HB_TAG('n','n','z',' '), HB_TAG('B','M','L',' ')}, /* Nda'nda' -> Bamileke */ |
1126 | {HB_TAG('n','o','d',' '), HB_TAG('N','T','A',' ')}, /* Northern Thai -> Northern Tai */ |
1127 | /*{HB_TAG('n','o','e',' '), HB_TAG('N','O','E',' ')},*/ /* Nimadi */ |
1128 | /*{HB_TAG('n','o','g',' '), HB_TAG('N','O','G',' ')},*/ /* Nogai */ |
1129 | /*{HB_TAG('n','o','v',' '), HB_TAG('N','O','V',' ')},*/ /* Novial */ |
1130 | {HB_TAG('n','p','i',' '), HB_TAG('N','E','P',' ')}, /* Nepali */ |
1131 | {HB_TAG('n','p','l',' '), HB_TAG('N','A','H',' ')}, /* Southeastern Puebla Nahuatl -> Nahuatl */ |
1132 | {HB_TAG('n','q','o',' '), HB_TAG('N','K','O',' ')}, /* N’Ko */ |
1133 | {HB_TAG('n','s','k',' '), HB_TAG('N','A','S',' ')}, /* Naskapi */ |
1134 | {HB_TAG('n','s','m',' '), HB_TAG_NONE }, /* Sumi Naga != Northern Sami */ |
1135 | /*{HB_TAG('n','s','o',' '), HB_TAG('N','S','O',' ')},*/ /* Northern Sotho */ |
1136 | {HB_TAG('n','s','u',' '), HB_TAG('N','A','H',' ')}, /* Sierra Negra Nahuatl -> Nahuatl */ |
1137 | {HB_TAG('n','t','o',' '), HB_TAG_NONE }, /* Ntomba != Esperanto */ |
1138 | {HB_TAG('n','u','e',' '), HB_TAG('B','A','D','0')}, /* Ngundu -> Banda */ |
1139 | {HB_TAG('n','u','u',' '), HB_TAG('B','A','D','0')}, /* Ngbundu -> Banda */ |
1140 | {HB_TAG('n','u','z',' '), HB_TAG('N','A','H',' ')}, /* Tlamacazapa Nahuatl -> Nahuatl */ |
1141 | {HB_TAG('n','w','e',' '), HB_TAG('B','M','L',' ')}, /* Ngwe -> Bamileke */ |
1142 | {HB_TAG('n','y','d',' '), HB_TAG('L','U','H',' ')}, /* Nyore -> Luyia */ |
1143 | /*{HB_TAG('n','y','m',' '), HB_TAG('N','Y','M',' ')},*/ /* Nyamwezi */ |
1144 | {HB_TAG('n','y','n',' '), HB_TAG('N','K','L',' ')}, /* Nyankole */ |
1145 | /*{HB_TAG('n','z','a',' '), HB_TAG('N','Z','A',' ')},*/ /* Tigon Mbembe -> Mbembe Tigon */ |
1146 | /*{HB_TAG('o','j','b',' '), HB_TAG('O','J','B',' ')},*/ /* Northwestern Ojibwa -> Ojibway */ |
1147 | {HB_TAG('o','j','c',' '), HB_TAG('O','J','B',' ')}, /* Central Ojibwa -> Ojibway */ |
1148 | {HB_TAG('o','j','g',' '), HB_TAG('O','J','B',' ')}, /* Eastern Ojibwa -> Ojibway */ |
1149 | {HB_TAG('o','j','s',' '), HB_TAG('O','C','R',' ')}, /* Severn Ojibwa -> Oji-Cree */ |
1150 | {HB_TAG('o','j','s',' '), HB_TAG('O','J','B',' ')}, /* Severn Ojibwa -> Ojibway */ |
1151 | {HB_TAG('o','j','w',' '), HB_TAG('O','J','B',' ')}, /* Western Ojibwa -> Ojibway */ |
1152 | {HB_TAG('o','k','d',' '), HB_TAG('I','J','O',' ')}, /* Okodia -> Ijo */ |
1153 | {HB_TAG('o','k','i',' '), HB_TAG('K','A','L',' ')}, /* Okiek -> Kalenjin */ |
1154 | {HB_TAG('o','k','m',' '), HB_TAG('K','O','H',' ')}, /* Middle Korean (10th-16th cent.) -> Korean Old Hangul */ |
1155 | {HB_TAG('o','k','r',' '), HB_TAG('I','J','O',' ')}, /* Kirike -> Ijo */ |
1156 | {HB_TAG('o','n','x',' '), HB_TAG('C','P','P',' ')}, /* Onin Based Pidgin -> Creoles */ |
1157 | {HB_TAG('o','o','r',' '), HB_TAG('C','P','P',' ')}, /* Oorlams -> Creoles */ |
1158 | {HB_TAG('o','r','c',' '), HB_TAG('O','R','O',' ')}, /* Orma -> Oromo */ |
1159 | {HB_TAG('o','r','n',' '), HB_TAG('M','L','Y',' ')}, /* Orang Kanaq -> Malay */ |
1160 | {HB_TAG('o','r','o',' '), HB_TAG_NONE }, /* Orokolo != Oromo */ |
1161 | {HB_TAG('o','r','r',' '), HB_TAG('I','J','O',' ')}, /* Oruma -> Ijo */ |
1162 | {HB_TAG('o','r','s',' '), HB_TAG('M','L','Y',' ')}, /* Orang Seletar -> Malay */ |
1163 | {HB_TAG('o','r','y',' '), HB_TAG('O','R','I',' ')}, /* Odia (formerly Oriya) */ |
1164 | {HB_TAG('o','t','w',' '), HB_TAG('O','J','B',' ')}, /* Ottawa -> Ojibway */ |
1165 | {HB_TAG('o','u','a',' '), HB_TAG('B','B','R',' ')}, /* Tagargrent -> Berber */ |
1166 | {HB_TAG('p','a','a',' '), HB_TAG_NONE }, /* Papuan [collection] != Palestinian Aramaic */ |
1167 | /*{HB_TAG('p','a','g',' '), HB_TAG('P','A','G',' ')},*/ /* Pangasinan */ |
1168 | {HB_TAG('p','a','l',' '), HB_TAG_NONE }, /* Pahlavi != Pali */ |
1169 | /*{HB_TAG('p','a','m',' '), HB_TAG('P','A','M',' ')},*/ /* Pampanga -> Pampangan */ |
1170 | {HB_TAG('p','a','p',' '), HB_TAG('P','A','P','0')}, /* Papiamento -> Papiamentu */ |
1171 | {HB_TAG('p','a','p',' '), HB_TAG('C','P','P',' ')}, /* Papiamento -> Creoles */ |
1172 | {HB_TAG('p','a','s',' '), HB_TAG_NONE }, /* Papasena != Pashto */ |
1173 | /*{HB_TAG('p','a','u',' '), HB_TAG('P','A','U',' ')},*/ /* Palauan */ |
1174 | {HB_TAG('p','b','t',' '), HB_TAG('P','A','S',' ')}, /* Southern Pashto -> Pashto */ |
1175 | {HB_TAG('p','b','u',' '), HB_TAG('P','A','S',' ')}, /* Northern Pashto -> Pashto */ |
1176 | /*{HB_TAG('p','c','c',' '), HB_TAG('P','C','C',' ')},*/ /* Bouyei */ |
1177 | /*{HB_TAG('p','c','d',' '), HB_TAG('P','C','D',' ')},*/ /* Picard */ |
1178 | {HB_TAG('p','c','e',' '), HB_TAG('P','L','G',' ')}, /* Ruching Palaung -> Palaung */ |
1179 | {HB_TAG('p','c','k',' '), HB_TAG('Q','I','N',' ')}, /* Paite Chin -> Chin */ |
1180 | {HB_TAG('p','c','m',' '), HB_TAG('C','P','P',' ')}, /* Nigerian Pidgin -> Creoles */ |
1181 | /*{HB_TAG('p','d','c',' '), HB_TAG('P','D','C',' ')},*/ /* Pennsylvania German */ |
1182 | {HB_TAG('p','d','u',' '), HB_TAG('K','R','N',' ')}, /* Kayan -> Karen */ |
1183 | {HB_TAG('p','e','a',' '), HB_TAG('C','P','P',' ')}, /* Peranakan Indonesian -> Creoles */ |
1184 | {HB_TAG('p','e','l',' '), HB_TAG('M','L','Y',' ')}, /* Pekal -> Malay */ |
1185 | {HB_TAG('p','e','s',' '), HB_TAG('F','A','R',' ')}, /* Iranian Persian -> Persian */ |
1186 | {HB_TAG('p','e','y',' '), HB_TAG('C','P','P',' ')}, /* Petjo -> Creoles */ |
1187 | {HB_TAG('p','g','a',' '), HB_TAG('A','R','A',' ')}, /* Sudanese Creole Arabic -> Arabic */ |
1188 | {HB_TAG('p','g','a',' '), HB_TAG('C','P','P',' ')}, /* Sudanese Creole Arabic -> Creoles */ |
1189 | /*{HB_TAG('p','h','k',' '), HB_TAG('P','H','K',' ')},*/ /* Phake */ |
1190 | {HB_TAG('p','i','h',' '), HB_TAG('P','I','H',' ')}, /* Pitcairn-Norfolk -> Norfolk */ |
1191 | {HB_TAG('p','i','h',' '), HB_TAG('C','P','P',' ')}, /* Pitcairn-Norfolk -> Creoles */ |
1192 | {HB_TAG('p','i','l',' '), HB_TAG_NONE }, /* Yom != Filipino */ |
1193 | {HB_TAG('p','i','s',' '), HB_TAG('C','P','P',' ')}, /* Pijin -> Creoles */ |
1194 | {HB_TAG('p','k','h',' '), HB_TAG('Q','I','N',' ')}, /* Pankhu -> Chin */ |
1195 | {HB_TAG('p','k','o',' '), HB_TAG('K','A','L',' ')}, /* Pökoot -> Kalenjin */ |
1196 | {HB_TAG('p','l','g',' '), HB_TAG_NONE }, /* Pilagá != Palaung */ |
1197 | {HB_TAG('p','l','k',' '), HB_TAG_NONE }, /* Kohistani Shina != Polish */ |
1198 | {HB_TAG('p','l','l',' '), HB_TAG('P','L','G',' ')}, /* Shwe Palaung -> Palaung */ |
1199 | {HB_TAG('p','l','n',' '), HB_TAG('C','P','P',' ')}, /* Palenquero -> Creoles */ |
1200 | {HB_TAG('p','l','p',' '), HB_TAG('P','A','P',' ')}, /* Palpa (retired code) */ |
1201 | {HB_TAG('p','l','t',' '), HB_TAG('M','L','G',' ')}, /* Plateau Malagasy -> Malagasy */ |
1202 | {HB_TAG('p','m','l',' '), HB_TAG('C','P','P',' ')}, /* Lingua Franca -> Creoles */ |
1203 | /*{HB_TAG('p','m','s',' '), HB_TAG('P','M','S',' ')},*/ /* Piemontese */ |
1204 | {HB_TAG('p','m','y',' '), HB_TAG('C','P','P',' ')}, /* Papuan Malay -> Creoles */ |
1205 | /*{HB_TAG('p','n','b',' '), HB_TAG('P','N','B',' ')},*/ /* Western Panjabi */ |
1206 | {HB_TAG('p','o','c',' '), HB_TAG('M','Y','N',' ')}, /* Poqomam -> Mayan */ |
1207 | {HB_TAG('p','o','h',' '), HB_TAG('P','O','H',' ')}, /* Poqomchi' -> Pocomchi */ |
1208 | {HB_TAG('p','o','h',' '), HB_TAG('M','Y','N',' ')}, /* Poqomchi' -> Mayan */ |
1209 | /*{HB_TAG('p','o','n',' '), HB_TAG('P','O','N',' ')},*/ /* Pohnpeian */ |
1210 | {HB_TAG('p','o','v',' '), HB_TAG('C','P','P',' ')}, /* Upper Guinea Crioulo -> Creoles */ |
1211 | {HB_TAG('p','p','a',' '), HB_TAG('B','A','G',' ')}, /* Pao (retired code) -> Baghelkhandi */ |
1212 | {HB_TAG('p','r','e',' '), HB_TAG('C','P','P',' ')}, /* Principense -> Creoles */ |
1213 | /*{HB_TAG('p','r','o',' '), HB_TAG('P','R','O',' ')},*/ /* Old Provençal (to 1500) -> Provençal / Old Provençal */ |
1214 | {HB_TAG('p','r','s',' '), HB_TAG('D','R','I',' ')}, /* Dari */ |
1215 | {HB_TAG('p','r','s',' '), HB_TAG('F','A','R',' ')}, /* Dari -> Persian */ |
1216 | {HB_TAG('p','s','e',' '), HB_TAG('M','L','Y',' ')}, /* Central Malay -> Malay */ |
1217 | {HB_TAG('p','s','t',' '), HB_TAG('P','A','S',' ')}, /* Central Pashto -> Pashto */ |
1218 | {HB_TAG('p','u','b',' '), HB_TAG('Q','I','N',' ')}, /* Purum -> Chin */ |
1219 | {HB_TAG('p','u','z',' '), HB_TAG('Q','I','N',' ')}, /* Purum Naga (retired code) -> Chin */ |
1220 | {HB_TAG('p','w','o',' '), HB_TAG('P','W','O',' ')}, /* Pwo Western Karen -> Western Pwo Karen */ |
1221 | {HB_TAG('p','w','o',' '), HB_TAG('K','R','N',' ')}, /* Pwo Western Karen -> Karen */ |
1222 | {HB_TAG('p','w','w',' '), HB_TAG('K','R','N',' ')}, /* Pwo Northern Karen -> Karen */ |
1223 | {HB_TAG('q','u','b',' '), HB_TAG('Q','W','H',' ')}, /* Huallaga Huánuco Quechua -> Quechua (Peru) */ |
1224 | {HB_TAG('q','u','b',' '), HB_TAG('Q','U','Z',' ')}, /* Huallaga Huánuco Quechua -> Quechua */ |
1225 | {HB_TAG('q','u','c',' '), HB_TAG('Q','U','C',' ')}, /* K’iche’ */ |
1226 | {HB_TAG('q','u','c',' '), HB_TAG('M','Y','N',' ')}, /* K'iche' -> Mayan */ |
1227 | {HB_TAG('q','u','d',' '), HB_TAG('Q','V','I',' ')}, /* Calderón Highland Quichua -> Quechua (Ecuador) */ |
1228 | {HB_TAG('q','u','d',' '), HB_TAG('Q','U','Z',' ')}, /* Calderón Highland Quichua -> Quechua */ |
1229 | {HB_TAG('q','u','f',' '), HB_TAG('Q','U','Z',' ')}, /* Lambayeque Quechua -> Quechua */ |
1230 | {HB_TAG('q','u','g',' '), HB_TAG('Q','V','I',' ')}, /* Chimborazo Highland Quichua -> Quechua (Ecuador) */ |
1231 | {HB_TAG('q','u','g',' '), HB_TAG('Q','U','Z',' ')}, /* Chimborazo Highland Quichua -> Quechua */ |
1232 | {HB_TAG('q','u','h',' '), HB_TAG('Q','U','H',' ')}, /* South Bolivian Quechua -> Quechua (Bolivia) */ |
1233 | {HB_TAG('q','u','h',' '), HB_TAG('Q','U','Z',' ')}, /* South Bolivian Quechua -> Quechua */ |
1234 | {HB_TAG('q','u','k',' '), HB_TAG('Q','U','Z',' ')}, /* Chachapoyas Quechua -> Quechua */ |
1235 | {HB_TAG('q','u','l',' '), HB_TAG('Q','U','H',' ')}, /* North Bolivian Quechua -> Quechua (Bolivia) */ |
1236 | {HB_TAG('q','u','l',' '), HB_TAG('Q','U','Z',' ')}, /* North Bolivian Quechua -> Quechua */ |
1237 | {HB_TAG('q','u','m',' '), HB_TAG('M','Y','N',' ')}, /* Sipacapense -> Mayan */ |
1238 | {HB_TAG('q','u','p',' '), HB_TAG('Q','V','I',' ')}, /* Southern Pastaza Quechua -> Quechua (Ecuador) */ |
1239 | {HB_TAG('q','u','p',' '), HB_TAG('Q','U','Z',' ')}, /* Southern Pastaza Quechua -> Quechua */ |
1240 | {HB_TAG('q','u','r',' '), HB_TAG('Q','W','H',' ')}, /* Yanahuanca Pasco Quechua -> Quechua (Peru) */ |
1241 | {HB_TAG('q','u','r',' '), HB_TAG('Q','U','Z',' ')}, /* Yanahuanca Pasco Quechua -> Quechua */ |
1242 | {HB_TAG('q','u','s',' '), HB_TAG('Q','U','H',' ')}, /* Santiago del Estero Quichua -> Quechua (Bolivia) */ |
1243 | {HB_TAG('q','u','s',' '), HB_TAG('Q','U','Z',' ')}, /* Santiago del Estero Quichua -> Quechua */ |
1244 | {HB_TAG('q','u','v',' '), HB_TAG('M','Y','N',' ')}, /* Sacapulteco -> Mayan */ |
1245 | {HB_TAG('q','u','w',' '), HB_TAG('Q','V','I',' ')}, /* Tena Lowland Quichua -> Quechua (Ecuador) */ |
1246 | {HB_TAG('q','u','w',' '), HB_TAG('Q','U','Z',' ')}, /* Tena Lowland Quichua -> Quechua */ |
1247 | {HB_TAG('q','u','x',' '), HB_TAG('Q','W','H',' ')}, /* Yauyos Quechua -> Quechua (Peru) */ |
1248 | {HB_TAG('q','u','x',' '), HB_TAG('Q','U','Z',' ')}, /* Yauyos Quechua -> Quechua */ |
1249 | {HB_TAG('q','u','y',' '), HB_TAG('Q','U','Z',' ')}, /* Ayacucho Quechua -> Quechua */ |
1250 | /*{HB_TAG('q','u','z',' '), HB_TAG('Q','U','Z',' ')},*/ /* Cusco Quechua -> Quechua */ |
1251 | {HB_TAG('q','v','a',' '), HB_TAG('Q','W','H',' ')}, /* Ambo-Pasco Quechua -> Quechua (Peru) */ |
1252 | {HB_TAG('q','v','a',' '), HB_TAG('Q','U','Z',' ')}, /* Ambo-Pasco Quechua -> Quechua */ |
1253 | {HB_TAG('q','v','c',' '), HB_TAG('Q','U','Z',' ')}, /* Cajamarca Quechua -> Quechua */ |
1254 | {HB_TAG('q','v','e',' '), HB_TAG('Q','U','Z',' ')}, /* Eastern Apurímac Quechua -> Quechua */ |
1255 | {HB_TAG('q','v','h',' '), HB_TAG('Q','W','H',' ')}, /* Huamalíes-Dos de Mayo Huánuco Quechua -> Quechua (Peru) */ |
1256 | {HB_TAG('q','v','h',' '), HB_TAG('Q','U','Z',' ')}, /* Huamalíes-Dos de Mayo Huánuco Quechua -> Quechua */ |
1257 | {HB_TAG('q','v','i',' '), HB_TAG('Q','V','I',' ')}, /* Imbabura Highland Quichua -> Quechua (Ecuador) */ |
1258 | {HB_TAG('q','v','i',' '), HB_TAG('Q','U','Z',' ')}, /* Imbabura Highland Quichua -> Quechua */ |
1259 | {HB_TAG('q','v','j',' '), HB_TAG('Q','V','I',' ')}, /* Loja Highland Quichua -> Quechua (Ecuador) */ |
1260 | {HB_TAG('q','v','j',' '), HB_TAG('Q','U','Z',' ')}, /* Loja Highland Quichua -> Quechua */ |
1261 | {HB_TAG('q','v','l',' '), HB_TAG('Q','W','H',' ')}, /* Cajatambo North Lima Quechua -> Quechua (Peru) */ |
1262 | {HB_TAG('q','v','l',' '), HB_TAG('Q','U','Z',' ')}, /* Cajatambo North Lima Quechua -> Quechua */ |
1263 | {HB_TAG('q','v','m',' '), HB_TAG('Q','W','H',' ')}, /* Margos-Yarowilca-Lauricocha Quechua -> Quechua (Peru) */ |
1264 | {HB_TAG('q','v','m',' '), HB_TAG('Q','U','Z',' ')}, /* Margos-Yarowilca-Lauricocha Quechua -> Quechua */ |
1265 | {HB_TAG('q','v','n',' '), HB_TAG('Q','W','H',' ')}, /* North Junín Quechua -> Quechua (Peru) */ |
1266 | {HB_TAG('q','v','n',' '), HB_TAG('Q','U','Z',' ')}, /* North Junín Quechua -> Quechua */ |
1267 | {HB_TAG('q','v','o',' '), HB_TAG('Q','V','I',' ')}, /* Napo Lowland Quechua -> Quechua (Ecuador) */ |
1268 | {HB_TAG('q','v','o',' '), HB_TAG('Q','U','Z',' ')}, /* Napo Lowland Quechua -> Quechua */ |
1269 | {HB_TAG('q','v','p',' '), HB_TAG('Q','W','H',' ')}, /* Pacaraos Quechua -> Quechua (Peru) */ |
1270 | {HB_TAG('q','v','p',' '), HB_TAG('Q','U','Z',' ')}, /* Pacaraos Quechua -> Quechua */ |
1271 | {HB_TAG('q','v','s',' '), HB_TAG('Q','U','Z',' ')}, /* San Martín Quechua -> Quechua */ |
1272 | {HB_TAG('q','v','w',' '), HB_TAG('Q','W','H',' ')}, /* Huaylla Wanca Quechua -> Quechua (Peru) */ |
1273 | {HB_TAG('q','v','w',' '), HB_TAG('Q','U','Z',' ')}, /* Huaylla Wanca Quechua -> Quechua */ |
1274 | {HB_TAG('q','v','z',' '), HB_TAG('Q','V','I',' ')}, /* Northern Pastaza Quichua -> Quechua (Ecuador) */ |
1275 | {HB_TAG('q','v','z',' '), HB_TAG('Q','U','Z',' ')}, /* Northern Pastaza Quichua -> Quechua */ |
1276 | {HB_TAG('q','w','a',' '), HB_TAG('Q','W','H',' ')}, /* Corongo Ancash Quechua -> Quechua (Peru) */ |
1277 | {HB_TAG('q','w','a',' '), HB_TAG('Q','U','Z',' ')}, /* Corongo Ancash Quechua -> Quechua */ |
1278 | {HB_TAG('q','w','c',' '), HB_TAG('Q','U','Z',' ')}, /* Classical Quechua -> Quechua */ |
1279 | {HB_TAG('q','w','h',' '), HB_TAG('Q','W','H',' ')}, /* Huaylas Ancash Quechua -> Quechua (Peru) */ |
1280 | {HB_TAG('q','w','h',' '), HB_TAG('Q','U','Z',' ')}, /* Huaylas Ancash Quechua -> Quechua */ |
1281 | {HB_TAG('q','w','s',' '), HB_TAG('Q','W','H',' ')}, /* Sihuas Ancash Quechua -> Quechua (Peru) */ |
1282 | {HB_TAG('q','w','s',' '), HB_TAG('Q','U','Z',' ')}, /* Sihuas Ancash Quechua -> Quechua */ |
1283 | {HB_TAG('q','w','t',' '), HB_TAG('A','T','H',' ')}, /* Kwalhioqua-Tlatskanai -> Athapaskan */ |
1284 | {HB_TAG('q','x','a',' '), HB_TAG('Q','W','H',' ')}, /* Chiquián Ancash Quechua -> Quechua (Peru) */ |
1285 | {HB_TAG('q','x','a',' '), HB_TAG('Q','U','Z',' ')}, /* Chiquián Ancash Quechua -> Quechua */ |
1286 | {HB_TAG('q','x','c',' '), HB_TAG('Q','W','H',' ')}, /* Chincha Quechua -> Quechua (Peru) */ |
1287 | {HB_TAG('q','x','c',' '), HB_TAG('Q','U','Z',' ')}, /* Chincha Quechua -> Quechua */ |
1288 | {HB_TAG('q','x','h',' '), HB_TAG('Q','W','H',' ')}, /* Panao Huánuco Quechua -> Quechua (Peru) */ |
1289 | {HB_TAG('q','x','h',' '), HB_TAG('Q','U','Z',' ')}, /* Panao Huánuco Quechua -> Quechua */ |
1290 | {HB_TAG('q','x','l',' '), HB_TAG('Q','V','I',' ')}, /* Salasaca Highland Quichua -> Quechua (Ecuador) */ |
1291 | {HB_TAG('q','x','l',' '), HB_TAG('Q','U','Z',' ')}, /* Salasaca Highland Quichua -> Quechua */ |
1292 | {HB_TAG('q','x','n',' '), HB_TAG('Q','W','H',' ')}, /* Northern Conchucos Ancash Quechua -> Quechua (Peru) */ |
1293 | {HB_TAG('q','x','n',' '), HB_TAG('Q','U','Z',' ')}, /* Northern Conchucos Ancash Quechua -> Quechua */ |
1294 | {HB_TAG('q','x','o',' '), HB_TAG('Q','W','H',' ')}, /* Southern Conchucos Ancash Quechua -> Quechua (Peru) */ |
1295 | {HB_TAG('q','x','o',' '), HB_TAG('Q','U','Z',' ')}, /* Southern Conchucos Ancash Quechua -> Quechua */ |
1296 | {HB_TAG('q','x','p',' '), HB_TAG('Q','U','Z',' ')}, /* Puno Quechua -> Quechua */ |
1297 | {HB_TAG('q','x','r',' '), HB_TAG('Q','V','I',' ')}, /* Cañar Highland Quichua -> Quechua (Ecuador) */ |
1298 | {HB_TAG('q','x','r',' '), HB_TAG('Q','U','Z',' ')}, /* Cañar Highland Quichua -> Quechua */ |
1299 | {HB_TAG('q','x','t',' '), HB_TAG('Q','W','H',' ')}, /* Santa Ana de Tusi Pasco Quechua -> Quechua (Peru) */ |
1300 | {HB_TAG('q','x','t',' '), HB_TAG('Q','U','Z',' ')}, /* Santa Ana de Tusi Pasco Quechua -> Quechua */ |
1301 | {HB_TAG('q','x','u',' '), HB_TAG('Q','U','Z',' ')}, /* Arequipa-La Unión Quechua -> Quechua */ |
1302 | {HB_TAG('q','x','w',' '), HB_TAG('Q','W','H',' ')}, /* Jauja Wanca Quechua -> Quechua (Peru) */ |
1303 | {HB_TAG('q','x','w',' '), HB_TAG('Q','U','Z',' ')}, /* Jauja Wanca Quechua -> Quechua */ |
1304 | {HB_TAG('r','a','g',' '), HB_TAG('L','U','H',' ')}, /* Logooli -> Luyia */ |
1305 | /*{HB_TAG('r','a','j',' '), HB_TAG('R','A','J',' ')},*/ /* Rajasthani [macrolanguage] */ |
1306 | {HB_TAG('r','a','l',' '), HB_TAG('Q','I','N',' ')}, /* Ralte -> Chin */ |
1307 | /*{HB_TAG('r','a','r',' '), HB_TAG('R','A','R',' ')},*/ /* Rarotongan */ |
1308 | {HB_TAG('r','b','b',' '), HB_TAG('P','L','G',' ')}, /* Rumai Palaung -> Palaung */ |
1309 | {HB_TAG('r','b','l',' '), HB_TAG('B','I','K',' ')}, /* Miraya Bikol -> Bikol */ |
1310 | {HB_TAG('r','c','f',' '), HB_TAG('C','P','P',' ')}, /* Réunion Creole French -> Creoles */ |
1311 | /*{HB_TAG('r','e','j',' '), HB_TAG('R','E','J',' ')},*/ /* Rejang */ |
1312 | /*{HB_TAG('r','h','g',' '), HB_TAG('R','H','G',' ')},*/ /* Rohingya */ |
1313 | /*{HB_TAG('r','i','a',' '), HB_TAG('R','I','A',' ')},*/ /* Riang (India) */ |
1314 | {HB_TAG('r','i','f',' '), HB_TAG('R','I','F',' ')}, /* Tarifit */ |
1315 | {HB_TAG('r','i','f',' '), HB_TAG('B','B','R',' ')}, /* Tarifit -> Berber */ |
1316 | /*{HB_TAG('r','i','t',' '), HB_TAG('R','I','T',' ')},*/ /* Ritharrngu -> Ritarungo */ |
1317 | {HB_TAG('r','k','i',' '), HB_TAG('A','R','K',' ')}, /* Rakhine */ |
1318 | /*{HB_TAG('r','k','w',' '), HB_TAG('R','K','W',' ')},*/ /* Arakwal */ |
1319 | {HB_TAG('r','m','c',' '), HB_TAG('R','O','Y',' ')}, /* Carpathian Romani -> Romany */ |
1320 | {HB_TAG('r','m','f',' '), HB_TAG('R','O','Y',' ')}, /* Kalo Finnish Romani -> Romany */ |
1321 | {HB_TAG('r','m','l',' '), HB_TAG('R','O','Y',' ')}, /* Baltic Romani -> Romany */ |
1322 | {HB_TAG('r','m','n',' '), HB_TAG('R','O','Y',' ')}, /* Balkan Romani -> Romany */ |
1323 | {HB_TAG('r','m','o',' '), HB_TAG('R','O','Y',' ')}, /* Sinte Romani -> Romany */ |
1324 | {HB_TAG('r','m','s',' '), HB_TAG_NONE }, /* Romanian Sign Language != Romansh */ |
1325 | {HB_TAG('r','m','w',' '), HB_TAG('R','O','Y',' ')}, /* Welsh Romani -> Romany */ |
1326 | {HB_TAG('r','m','y',' '), HB_TAG('R','M','Y',' ')}, /* Vlax Romani */ |
1327 | {HB_TAG('r','m','y',' '), HB_TAG('R','O','Y',' ')}, /* Vlax Romani -> Romany */ |
1328 | {HB_TAG('r','m','z',' '), HB_TAG('A','R','K',' ')}, /* Marma -> Rakhine */ |
1329 | {HB_TAG('r','o','m',' '), HB_TAG('R','O','Y',' ')}, /* Romany [macrolanguage] */ |
1330 | {HB_TAG('r','o','p',' '), HB_TAG('C','P','P',' ')}, /* Kriol -> Creoles */ |
1331 | {HB_TAG('r','t','c',' '), HB_TAG('Q','I','N',' ')}, /* Rungtu Chin -> Chin */ |
1332 | /*{HB_TAG('r','t','m',' '), HB_TAG('R','T','M',' ')},*/ /* Rotuman */ |
1333 | {HB_TAG('r','u','e',' '), HB_TAG('R','S','Y',' ')}, /* Rusyn */ |
1334 | /*{HB_TAG('r','u','p',' '), HB_TAG('R','U','P',' ')},*/ /* Aromanian */ |
1335 | {HB_TAG('r','w','r',' '), HB_TAG('M','A','W',' ')}, /* Marwari (India) */ |
1336 | {HB_TAG('s','a','d',' '), HB_TAG_NONE }, /* Sandawe != Sadri */ |
1337 | {HB_TAG('s','a','h',' '), HB_TAG('Y','A','K',' ')}, /* Yakut -> Sakha */ |
1338 | {HB_TAG('s','a','m',' '), HB_TAG('P','A','A',' ')}, /* Samaritan Aramaic -> Palestinian Aramaic */ |
1339 | /*{HB_TAG('s','a','s',' '), HB_TAG('S','A','S',' ')},*/ /* Sasak */ |
1340 | /*{HB_TAG('s','a','t',' '), HB_TAG('S','A','T',' ')},*/ /* Santali */ |
1341 | {HB_TAG('s','a','y',' '), HB_TAG_NONE }, /* Saya != Sayisi */ |
1342 | {HB_TAG('s','c','f',' '), HB_TAG('C','P','P',' ')}, /* San Miguel Creole French -> Creoles */ |
1343 | {HB_TAG('s','c','h',' '), HB_TAG('Q','I','N',' ')}, /* Sakachep -> Chin */ |
1344 | {HB_TAG('s','c','i',' '), HB_TAG('C','P','P',' ')}, /* Sri Lankan Creole Malay -> Creoles */ |
1345 | {HB_TAG('s','c','k',' '), HB_TAG('S','A','D',' ')}, /* Sadri */ |
1346 | /*{HB_TAG('s','c','n',' '), HB_TAG('S','C','N',' ')},*/ /* Sicilian */ |
1347 | /*{HB_TAG('s','c','o',' '), HB_TAG('S','C','O',' ')},*/ /* Scots */ |
1348 | {HB_TAG('s','c','s',' '), HB_TAG('S','C','S',' ')}, /* North Slavey */ |
1349 | {HB_TAG('s','c','s',' '), HB_TAG('S','L','A',' ')}, /* North Slavey -> Slavey */ |
1350 | {HB_TAG('s','c','s',' '), HB_TAG('A','T','H',' ')}, /* North Slavey -> Athapaskan */ |
1351 | {HB_TAG('s','d','c',' '), HB_TAG('S','R','D',' ')}, /* Sassarese Sardinian -> Sardinian */ |
1352 | {HB_TAG('s','d','h',' '), HB_TAG('K','U','R',' ')}, /* Southern Kurdish -> Kurdish */ |
1353 | {HB_TAG('s','d','n',' '), HB_TAG('S','R','D',' ')}, /* Gallurese Sardinian -> Sardinian */ |
1354 | {HB_TAG('s','d','s',' '), HB_TAG('B','B','R',' ')}, /* Sened -> Berber */ |
1355 | {HB_TAG('s','e','h',' '), HB_TAG('S','N','A',' ')}, /* Sena */ |
1356 | {HB_TAG('s','e','k',' '), HB_TAG('A','T','H',' ')}, /* Sekani -> Athapaskan */ |
1357 | /*{HB_TAG('s','e','l',' '), HB_TAG('S','E','L',' ')},*/ /* Selkup */ |
1358 | {HB_TAG('s','e','z',' '), HB_TAG('Q','I','N',' ')}, /* Senthang Chin -> Chin */ |
1359 | {HB_TAG('s','f','m',' '), HB_TAG('S','F','M',' ')}, /* Small Flowery Miao */ |
1360 | {HB_TAG('s','f','m',' '), HB_TAG('H','M','N',' ')}, /* Small Flowery Miao -> Hmong */ |
1361 | /*{HB_TAG('s','g','a',' '), HB_TAG('S','G','A',' ')},*/ /* Old Irish (to 900) */ |
1362 | {HB_TAG('s','g','c',' '), HB_TAG('K','A','L',' ')}, /* Kipsigis -> Kalenjin */ |
1363 | {HB_TAG('s','g','o',' '), HB_TAG_NONE }, /* Songa (retired code) != Sango */ |
1364 | /*{HB_TAG('s','g','s',' '), HB_TAG('S','G','S',' ')},*/ /* Samogitian */ |
1365 | {HB_TAG('s','g','w',' '), HB_TAG('C','H','G',' ')}, /* Sebat Bet Gurage -> Chaha Gurage */ |
1366 | {HB_TAG('s','h','i',' '), HB_TAG('S','H','I',' ')}, /* Tachelhit */ |
1367 | {HB_TAG('s','h','i',' '), HB_TAG('B','B','R',' ')}, /* Tachelhit -> Berber */ |
1368 | {HB_TAG('s','h','l',' '), HB_TAG('Q','I','N',' ')}, /* Shendu -> Chin */ |
1369 | /*{HB_TAG('s','h','n',' '), HB_TAG('S','H','N',' ')},*/ /* Shan */ |
1370 | {HB_TAG('s','h','u',' '), HB_TAG('A','R','A',' ')}, /* Chadian Arabic -> Arabic */ |
1371 | {HB_TAG('s','h','y',' '), HB_TAG('B','B','R',' ')}, /* Tachawit -> Berber */ |
1372 | {HB_TAG('s','i','b',' '), HB_TAG_NONE }, /* Sebop != Sibe */ |
1373 | /*{HB_TAG('s','i','d',' '), HB_TAG('S','I','D',' ')},*/ /* Sidamo */ |
1374 | {HB_TAG('s','i','g',' '), HB_TAG_NONE }, /* Paasaal != Silte Gurage */ |
1375 | {HB_TAG('s','i','z',' '), HB_TAG('B','B','R',' ')}, /* Siwi -> Berber */ |
1376 | {HB_TAG('s','j','d',' '), HB_TAG('K','S','M',' ')}, /* Kildin Sami */ |
1377 | {HB_TAG('s','j','o',' '), HB_TAG('S','I','B',' ')}, /* Xibe -> Sibe */ |
1378 | {HB_TAG('s','j','s',' '), HB_TAG('B','B','R',' ')}, /* Senhaja De Srair -> Berber */ |
1379 | {HB_TAG('s','k','g',' '), HB_TAG('M','L','G',' ')}, /* Sakalava Malagasy -> Malagasy */ |
1380 | {HB_TAG('s','k','r',' '), HB_TAG('S','R','K',' ')}, /* Saraiki */ |
1381 | {HB_TAG('s','k','s',' '), HB_TAG_NONE }, /* Maia != Skolt Sami */ |
1382 | {HB_TAG('s','k','w',' '), HB_TAG('C','P','P',' ')}, /* Skepi Creole Dutch -> Creoles */ |
1383 | {HB_TAG('s','k','y',' '), HB_TAG_NONE }, /* Sikaiana != Slovak */ |
1384 | {HB_TAG('s','l','a',' '), HB_TAG_NONE }, /* Slavic [collection] != Slavey */ |
1385 | {HB_TAG('s','m','a',' '), HB_TAG('S','S','M',' ')}, /* Southern Sami */ |
1386 | {HB_TAG('s','m','d',' '), HB_TAG('M','B','N',' ')}, /* Sama (retired code) -> Mbundu */ |
1387 | {HB_TAG('s','m','j',' '), HB_TAG('L','S','M',' ')}, /* Lule Sami */ |
1388 | {HB_TAG('s','m','l',' '), HB_TAG_NONE }, /* Central Sama != Somali */ |
1389 | {HB_TAG('s','m','n',' '), HB_TAG('I','S','M',' ')}, /* Inari Sami */ |
1390 | {HB_TAG('s','m','s',' '), HB_TAG('S','K','S',' ')}, /* Skolt Sami */ |
1391 | {HB_TAG('s','m','t',' '), HB_TAG('Q','I','N',' ')}, /* Simte -> Chin */ |
1392 | {HB_TAG('s','n','b',' '), HB_TAG('I','B','A',' ')}, /* Sebuyau (retired code) -> Iban */ |
1393 | {HB_TAG('s','n','h',' '), HB_TAG_NONE }, /* Shinabo (retired code) != Sinhala (Sinhalese) */ |
1394 | /*{HB_TAG('s','n','k',' '), HB_TAG('S','N','K',' ')},*/ /* Soninke */ |
1395 | {HB_TAG('s','o','g',' '), HB_TAG_NONE }, /* Sogdian != Sodo Gurage */ |
1396 | /*{HB_TAG('s','o','p',' '), HB_TAG('S','O','P',' ')},*/ /* Songe */ |
1397 | {HB_TAG('s','p','v',' '), HB_TAG('O','R','I',' ')}, /* Sambalpuri -> Odia (formerly Oriya) */ |
1398 | {HB_TAG('s','p','y',' '), HB_TAG('K','A','L',' ')}, /* Sabaot -> Kalenjin */ |
1399 | {HB_TAG('s','r','b',' '), HB_TAG_NONE }, /* Sora != Serbian */ |
1400 | {HB_TAG('s','r','c',' '), HB_TAG('S','R','D',' ')}, /* Logudorese Sardinian -> Sardinian */ |
1401 | {HB_TAG('s','r','k',' '), HB_TAG_NONE }, /* Serudung Murut != Saraiki */ |
1402 | {HB_TAG('s','r','m',' '), HB_TAG('C','P','P',' ')}, /* Saramaccan -> Creoles */ |
1403 | {HB_TAG('s','r','n',' '), HB_TAG('C','P','P',' ')}, /* Sranan Tongo -> Creoles */ |
1404 | {HB_TAG('s','r','o',' '), HB_TAG('S','R','D',' ')}, /* Campidanese Sardinian -> Sardinian */ |
1405 | /*{HB_TAG('s','r','r',' '), HB_TAG('S','R','R',' ')},*/ /* Serer */ |
1406 | {HB_TAG('s','r','s',' '), HB_TAG('A','T','H',' ')}, /* Sarsi -> Athapaskan */ |
1407 | {HB_TAG('s','s','h',' '), HB_TAG('A','R','A',' ')}, /* Shihhi Arabic -> Arabic */ |
1408 | {HB_TAG('s','s','l',' '), HB_TAG_NONE }, /* Western Sisaala != South Slavey */ |
1409 | {HB_TAG('s','s','m',' '), HB_TAG_NONE }, /* Semnam != Southern Sami */ |
1410 | {HB_TAG('s','t','a',' '), HB_TAG('C','P','P',' ')}, /* Settla -> Creoles */ |
1411 | /*{HB_TAG('s','t','q',' '), HB_TAG('S','T','Q',' ')},*/ /* Saterfriesisch -> Saterland Frisian */ |
1412 | {HB_TAG('s','t','v',' '), HB_TAG('S','I','G',' ')}, /* Silt'e -> Silte Gurage */ |
1413 | /*{HB_TAG('s','u','k',' '), HB_TAG('S','U','K',' ')},*/ /* Sukuma */ |
1414 | {HB_TAG('s','u','q',' '), HB_TAG('S','U','R',' ')}, /* Suri */ |
1415 | {HB_TAG('s','u','r',' '), HB_TAG_NONE }, /* Mwaghavul != Suri */ |
1416 | /*{HB_TAG('s','v','a',' '), HB_TAG('S','V','A',' ')},*/ /* Svan */ |
1417 | {HB_TAG('s','v','c',' '), HB_TAG('C','P','P',' ')}, /* Vincentian Creole English -> Creoles */ |
1418 | {HB_TAG('s','v','e',' '), HB_TAG_NONE }, /* Serili != Swedish */ |
1419 | {HB_TAG('s','w','b',' '), HB_TAG('C','M','R',' ')}, /* Maore Comorian -> Comorian */ |
1420 | {HB_TAG('s','w','c',' '), HB_TAG('S','W','K',' ')}, /* Congo Swahili -> Swahili */ |
1421 | {HB_TAG('s','w','h',' '), HB_TAG('S','W','K',' ')}, /* Swahili */ |
1422 | {HB_TAG('s','w','k',' '), HB_TAG_NONE }, /* Malawi Sena != Swahili */ |
1423 | {HB_TAG('s','w','n',' '), HB_TAG('B','B','R',' ')}, /* Sawknah -> Berber */ |
1424 | {HB_TAG('s','w','v',' '), HB_TAG('M','A','W',' ')}, /* Shekhawati -> Marwari */ |
1425 | /*{HB_TAG('s','x','u',' '), HB_TAG('S','X','U',' ')},*/ /* Upper Saxon */ |
1426 | {HB_TAG('s','y','c',' '), HB_TAG('S','Y','R',' ')}, /* Classical Syriac -> Syriac */ |
1427 | /*{HB_TAG('s','y','l',' '), HB_TAG('S','Y','L',' ')},*/ /* Sylheti */ |
1428 | /*{HB_TAG('s','y','r',' '), HB_TAG('S','Y','R',' ')},*/ /* Syriac [macrolanguage] */ |
1429 | /*{HB_TAG('s','z','l',' '), HB_TAG('S','Z','L',' ')},*/ /* Silesian */ |
1430 | {HB_TAG('t','a','a',' '), HB_TAG('A','T','H',' ')}, /* Lower Tanana -> Athapaskan */ |
1431 | /*{HB_TAG('t','a','b',' '), HB_TAG('T','A','B',' ')},*/ /* Tabassaran -> Tabasaran */ |
1432 | {HB_TAG('t','a','j',' '), HB_TAG_NONE }, /* Eastern Tamang != Tajiki */ |
1433 | {HB_TAG('t','a','q',' '), HB_TAG('T','M','H',' ')}, /* Tamasheq -> Tamashek */ |
1434 | {HB_TAG('t','a','q',' '), HB_TAG('B','B','R',' ')}, /* Tamasheq -> Berber */ |
1435 | {HB_TAG('t','a','s',' '), HB_TAG('C','P','P',' ')}, /* Tay Boi -> Creoles */ |
1436 | {HB_TAG('t','a','u',' '), HB_TAG('A','T','H',' ')}, /* Upper Tanana -> Athapaskan */ |
1437 | {HB_TAG('t','c','b',' '), HB_TAG('A','T','H',' ')}, /* Tanacross -> Athapaskan */ |
1438 | {HB_TAG('t','c','e',' '), HB_TAG('A','T','H',' ')}, /* Southern Tutchone -> Athapaskan */ |
1439 | {HB_TAG('t','c','h',' '), HB_TAG('C','P','P',' ')}, /* Turks And Caicos Creole English -> Creoles */ |
1440 | {HB_TAG('t','c','p',' '), HB_TAG('Q','I','N',' ')}, /* Tawr Chin -> Chin */ |
1441 | {HB_TAG('t','c','s',' '), HB_TAG('C','P','P',' ')}, /* Torres Strait Creole -> Creoles */ |
1442 | {HB_TAG('t','c','y',' '), HB_TAG('T','U','L',' ')}, /* Tulu -> Tumbuka */ |
1443 | {HB_TAG('t','c','z',' '), HB_TAG('Q','I','N',' ')}, /* Thado Chin -> Chin */ |
1444 | /*{HB_TAG('t','d','d',' '), HB_TAG('T','D','D',' ')},*/ /* Tai Nüa -> Dehong Dai */ |
1445 | {HB_TAG('t','d','x',' '), HB_TAG('M','L','G',' ')}, /* Tandroy-Mahafaly Malagasy -> Malagasy */ |
1446 | {HB_TAG('t','e','c',' '), HB_TAG('K','A','L',' ')}, /* Terik -> Kalenjin */ |
1447 | {HB_TAG('t','e','m',' '), HB_TAG('T','M','N',' ')}, /* Timne -> Temne */ |
1448 | /*{HB_TAG('t','e','t',' '), HB_TAG('T','E','T',' ')},*/ /* Tetum */ |
1449 | {HB_TAG('t','e','z',' '), HB_TAG('B','B','R',' ')}, /* Tetserret -> Berber */ |
1450 | {HB_TAG('t','f','n',' '), HB_TAG('A','T','H',' ')}, /* Tanaina -> Athapaskan */ |
1451 | {HB_TAG('t','g','h',' '), HB_TAG('C','P','P',' ')}, /* Tobagonian Creole English -> Creoles */ |
1452 | {HB_TAG('t','g','j',' '), HB_TAG('N','I','S',' ')}, /* Tagin -> Nisi */ |
1453 | {HB_TAG('t','g','n',' '), HB_TAG_NONE }, /* Tandaganon != Tongan */ |
1454 | {HB_TAG('t','g','r',' '), HB_TAG_NONE }, /* Tareng != Tigre */ |
1455 | {HB_TAG('t','g','x',' '), HB_TAG('A','T','H',' ')}, /* Tagish -> Athapaskan */ |
1456 | {HB_TAG('t','g','y',' '), HB_TAG_NONE }, /* Togoyo != Tigrinya */ |
1457 | {HB_TAG('t','h','t',' '), HB_TAG('A','T','H',' ')}, /* Tahltan -> Athapaskan */ |
1458 | {HB_TAG('t','h','v',' '), HB_TAG('T','M','H',' ')}, /* Tahaggart Tamahaq -> Tamashek */ |
1459 | {HB_TAG('t','h','v',' '), HB_TAG('B','B','R',' ')}, /* Tahaggart Tamahaq -> Berber */ |
1460 | {HB_TAG('t','h','z',' '), HB_TAG('T','M','H',' ')}, /* Tayart Tamajeq -> Tamashek */ |
1461 | {HB_TAG('t','h','z',' '), HB_TAG('B','B','R',' ')}, /* Tayart Tamajeq -> Berber */ |
1462 | {HB_TAG('t','i','a',' '), HB_TAG('B','B','R',' ')}, /* Tidikelt Tamazight -> Berber */ |
1463 | {HB_TAG('t','i','g',' '), HB_TAG('T','G','R',' ')}, /* Tigre */ |
1464 | /*{HB_TAG('t','i','v',' '), HB_TAG('T','I','V',' ')},*/ /* Tiv */ |
1465 | /*{HB_TAG('t','j','l',' '), HB_TAG('T','J','L',' ')},*/ /* Tai Laing */ |
1466 | {HB_TAG('t','j','o',' '), HB_TAG('B','B','R',' ')}, /* Temacine Tamazight -> Berber */ |
1467 | {HB_TAG('t','k','g',' '), HB_TAG('M','L','G',' ')}, /* Tesaka Malagasy -> Malagasy */ |
1468 | {HB_TAG('t','k','m',' '), HB_TAG_NONE }, /* Takelma != Turkmen */ |
1469 | /*{HB_TAG('t','l','i',' '), HB_TAG('T','L','I',' ')},*/ /* Tlingit */ |
1470 | {HB_TAG('t','m','g',' '), HB_TAG('C','P','P',' ')}, /* Ternateño -> Creoles */ |
1471 | {HB_TAG('t','m','h',' '), HB_TAG('T','M','H',' ')}, /* Tamashek [macrolanguage] */ |
1472 | {HB_TAG('t','m','h',' '), HB_TAG('B','B','R',' ')}, /* Tamashek [macrolanguage] -> Berber */ |
1473 | {HB_TAG('t','m','n',' '), HB_TAG_NONE }, /* Taman (Indonesia) != Temne */ |
1474 | {HB_TAG('t','m','w',' '), HB_TAG('M','L','Y',' ')}, /* Temuan -> Malay */ |
1475 | {HB_TAG('t','n','a',' '), HB_TAG_NONE }, /* Tacana != Tswana */ |
1476 | {HB_TAG('t','n','e',' '), HB_TAG_NONE }, /* Tinoc Kallahan (retired code) != Tundra Enets */ |
1477 | {HB_TAG('t','n','f',' '), HB_TAG('D','R','I',' ')}, /* Tangshewi (retired code) -> Dari */ |
1478 | {HB_TAG('t','n','f',' '), HB_TAG('F','A','R',' ')}, /* Tangshewi (retired code) -> Persian */ |
1479 | {HB_TAG('t','n','g',' '), HB_TAG_NONE }, /* Tobanga != Tonga */ |
1480 | {HB_TAG('t','o','d',' '), HB_TAG('T','O','D','0')}, /* Toma */ |
1481 | {HB_TAG('t','o','i',' '), HB_TAG('T','N','G',' ')}, /* Tonga (Zambia) */ |
1482 | {HB_TAG('t','o','j',' '), HB_TAG('M','Y','N',' ')}, /* Tojolabal -> Mayan */ |
1483 | {HB_TAG('t','o','l',' '), HB_TAG('A','T','H',' ')}, /* Tolowa -> Athapaskan */ |
1484 | {HB_TAG('t','o','r',' '), HB_TAG('B','A','D','0')}, /* Togbo-Vara Banda -> Banda */ |
1485 | {HB_TAG('t','p','i',' '), HB_TAG('T','P','I',' ')}, /* Tok Pisin */ |
1486 | {HB_TAG('t','p','i',' '), HB_TAG('C','P','P',' ')}, /* Tok Pisin -> Creoles */ |
1487 | {HB_TAG('t','r','f',' '), HB_TAG('C','P','P',' ')}, /* Trinidadian Creole English -> Creoles */ |
1488 | {HB_TAG('t','r','k',' '), HB_TAG_NONE }, /* Turkic [collection] != Turkish */ |
1489 | {HB_TAG('t','r','u',' '), HB_TAG('T','U','A',' ')}, /* Turoyo -> Turoyo Aramaic */ |
1490 | {HB_TAG('t','r','u',' '), HB_TAG('S','Y','R',' ')}, /* Turoyo -> Syriac */ |
1491 | {HB_TAG('t','s','g',' '), HB_TAG_NONE }, /* Tausug != Tsonga */ |
1492 | /*{HB_TAG('t','s','j',' '), HB_TAG('T','S','J',' ')},*/ /* Tshangla */ |
1493 | {HB_TAG('t','t','c',' '), HB_TAG('M','Y','N',' ')}, /* Tektiteko -> Mayan */ |
1494 | {HB_TAG('t','t','m',' '), HB_TAG('A','T','H',' ')}, /* Northern Tutchone -> Athapaskan */ |
1495 | {HB_TAG('t','t','q',' '), HB_TAG('T','M','H',' ')}, /* Tawallammat Tamajaq -> Tamashek */ |
1496 | {HB_TAG('t','t','q',' '), HB_TAG('B','B','R',' ')}, /* Tawallammat Tamajaq -> Berber */ |
1497 | {HB_TAG('t','u','a',' '), HB_TAG_NONE }, /* Wiarumus != Turoyo Aramaic */ |
1498 | {HB_TAG('t','u','l',' '), HB_TAG_NONE }, /* Tula != Tumbuka */ |
1499 | /*{HB_TAG('t','u','m',' '), HB_TAG('T','U','M',' ')},*/ /* Tumbuka -> Tulu */ |
1500 | {HB_TAG('t','u','u',' '), HB_TAG('A','T','H',' ')}, /* Tututni -> Athapaskan */ |
1501 | {HB_TAG('t','u','v',' '), HB_TAG_NONE }, /* Turkana != Tuvin */ |
1502 | {HB_TAG('t','u','y',' '), HB_TAG('K','A','L',' ')}, /* Tugen -> Kalenjin */ |
1503 | /*{HB_TAG('t','v','l',' '), HB_TAG('T','V','L',' ')},*/ /* Tuvalu */ |
1504 | {HB_TAG('t','v','y',' '), HB_TAG('C','P','P',' ')}, /* Timor Pidgin -> Creoles */ |
1505 | {HB_TAG('t','x','c',' '), HB_TAG('A','T','H',' ')}, /* Tsetsaut -> Athapaskan */ |
1506 | {HB_TAG('t','x','y',' '), HB_TAG('M','L','G',' ')}, /* Tanosy Malagasy -> Malagasy */ |
1507 | {HB_TAG('t','y','v',' '), HB_TAG('T','U','V',' ')}, /* Tuvinian -> Tuvin */ |
1508 | /*{HB_TAG('t','y','z',' '), HB_TAG('T','Y','Z',' ')},*/ /* Tày */ |
1509 | {HB_TAG('t','z','h',' '), HB_TAG('M','Y','N',' ')}, /* Tzeltal -> Mayan */ |
1510 | {HB_TAG('t','z','j',' '), HB_TAG('M','Y','N',' ')}, /* Tz'utujil -> Mayan */ |
1511 | {HB_TAG('t','z','m',' '), HB_TAG('T','Z','M',' ')}, /* Central Atlas Tamazight -> Tamazight */ |
1512 | {HB_TAG('t','z','m',' '), HB_TAG('B','B','R',' ')}, /* Central Atlas Tamazight -> Berber */ |
1513 | {HB_TAG('t','z','o',' '), HB_TAG('T','Z','O',' ')}, /* Tzotzil */ |
1514 | {HB_TAG('t','z','o',' '), HB_TAG('M','Y','N',' ')}, /* Tzotzil -> Mayan */ |
1515 | {HB_TAG('u','b','l',' '), HB_TAG('B','I','K',' ')}, /* Buhi'non Bikol -> Bikol */ |
1516 | /*{HB_TAG('u','d','m',' '), HB_TAG('U','D','M',' ')},*/ /* Udmurt */ |
1517 | {HB_TAG('u','k','i',' '), HB_TAG('K','U','I',' ')}, /* Kui (India) */ |
1518 | {HB_TAG('u','l','n',' '), HB_TAG('C','P','P',' ')}, /* Unserdeutsch -> Creoles */ |
1519 | /*{HB_TAG('u','m','b',' '), HB_TAG('U','M','B',' ')},*/ /* Umbundu */ |
1520 | {HB_TAG('u','n','r',' '), HB_TAG('M','U','N',' ')}, /* Mundari */ |
1521 | {HB_TAG('u','r','k',' '), HB_TAG('M','L','Y',' ')}, /* Urak Lawoi' -> Malay */ |
1522 | {HB_TAG('u','s','p',' '), HB_TAG('M','Y','N',' ')}, /* Uspanteco -> Mayan */ |
1523 | {HB_TAG('u','z','n',' '), HB_TAG('U','Z','B',' ')}, /* Northern Uzbek -> Uzbek */ |
1524 | {HB_TAG('u','z','s',' '), HB_TAG('U','Z','B',' ')}, /* Southern Uzbek -> Uzbek */ |
1525 | {HB_TAG('v','a','p',' '), HB_TAG('Q','I','N',' ')}, /* Vaiphei -> Chin */ |
1526 | /*{HB_TAG('v','e','c',' '), HB_TAG('V','E','C',' ')},*/ /* Venetian */ |
1527 | {HB_TAG('v','i','c',' '), HB_TAG('C','P','P',' ')}, /* Virgin Islands Creole English -> Creoles */ |
1528 | {HB_TAG('v','i','t',' '), HB_TAG_NONE }, /* Viti != Vietnamese */ |
1529 | {HB_TAG('v','k','k',' '), HB_TAG('M','L','Y',' ')}, /* Kaur -> Malay */ |
1530 | {HB_TAG('v','k','p',' '), HB_TAG('C','P','P',' ')}, /* Korlai Creole Portuguese -> Creoles */ |
1531 | {HB_TAG('v','k','t',' '), HB_TAG('M','L','Y',' ')}, /* Tenggarong Kutai Malay -> Malay */ |
1532 | {HB_TAG('v','l','s',' '), HB_TAG('F','L','E',' ')}, /* Vlaams -> Dutch (Flemish) */ |
1533 | {HB_TAG('v','m','w',' '), HB_TAG('M','A','K',' ')}, /* Makhuwa */ |
1534 | /*{HB_TAG('v','r','o',' '), HB_TAG('V','R','O',' ')},*/ /* Võro */ |
1535 | {HB_TAG('w','a','g',' '), HB_TAG_NONE }, /* Wa'ema != Wagdi */ |
1536 | /*{HB_TAG('w','a','r',' '), HB_TAG('W','A','R',' ')},*/ /* Waray (Philippines) -> Waray-Waray */ |
1537 | {HB_TAG('w','b','m',' '), HB_TAG('W','A',' ',' ')}, /* Wa */ |
1538 | {HB_TAG('w','b','r',' '), HB_TAG('W','A','G',' ')}, /* Wagdi */ |
1539 | {HB_TAG('w','b','r',' '), HB_TAG('R','A','J',' ')}, /* Wagdi -> Rajasthani */ |
1540 | /*{HB_TAG('w','c','i',' '), HB_TAG('W','C','I',' ')},*/ /* Waci Gbe */ |
1541 | {HB_TAG('w','e','a',' '), HB_TAG('K','R','N',' ')}, /* Wewaw -> Karen */ |
1542 | {HB_TAG('w','e','s',' '), HB_TAG('C','P','P',' ')}, /* Cameroon Pidgin -> Creoles */ |
1543 | {HB_TAG('w','e','u',' '), HB_TAG('Q','I','N',' ')}, /* Rawngtu Chin -> Chin */ |
1544 | {HB_TAG('w','l','c',' '), HB_TAG('C','M','R',' ')}, /* Mwali Comorian -> Comorian */ |
1545 | {HB_TAG('w','l','e',' '), HB_TAG('S','I','G',' ')}, /* Wolane -> Silte Gurage */ |
1546 | {HB_TAG('w','l','k',' '), HB_TAG('A','T','H',' ')}, /* Wailaki -> Athapaskan */ |
1547 | {HB_TAG('w','n','i',' '), HB_TAG('C','M','R',' ')}, /* Ndzwani Comorian -> Comorian */ |
1548 | {HB_TAG('w','r','y',' '), HB_TAG('M','A','W',' ')}, /* Merwari -> Marwari */ |
1549 | {HB_TAG('w','s','g',' '), HB_TAG('G','O','N',' ')}, /* Adilabad Gondi -> Gondi */ |
1550 | /*{HB_TAG('w','t','m',' '), HB_TAG('W','T','M',' ')},*/ /* Mewati */ |
1551 | {HB_TAG('w','u','u',' '), HB_TAG('Z','H','S',' ')}, /* Wu Chinese -> Chinese, Simplified */ |
1552 | {HB_TAG('x','a','l',' '), HB_TAG('K','L','M',' ')}, /* Kalmyk */ |
1553 | {HB_TAG('x','a','l',' '), HB_TAG('T','O','D',' ')}, /* Kalmyk -> Todo */ |
1554 | {HB_TAG('x','a','n',' '), HB_TAG('S','E','K',' ')}, /* Xamtanga -> Sekota */ |
1555 | {HB_TAG('x','b','d',' '), HB_TAG_NONE }, /* Bindal != Lü */ |
1556 | /*{HB_TAG('x','j','b',' '), HB_TAG('X','J','B',' ')},*/ /* Minjungbal -> Minjangbal */ |
1557 | /*{HB_TAG('x','k','f',' '), HB_TAG('X','K','F',' ')},*/ /* Khengkha */ |
1558 | {HB_TAG('x','m','g',' '), HB_TAG('B','M','L',' ')}, /* Mengaka -> Bamileke */ |
1559 | {HB_TAG('x','m','m',' '), HB_TAG('M','L','Y',' ')}, /* Manado Malay -> Malay */ |
1560 | {HB_TAG('x','m','m',' '), HB_TAG('C','P','P',' ')}, /* Manado Malay -> Creoles */ |
1561 | {HB_TAG('x','m','v',' '), HB_TAG('M','L','G',' ')}, /* Antankarana Malagasy -> Malagasy */ |
1562 | {HB_TAG('x','m','w',' '), HB_TAG('M','L','G',' ')}, /* Tsimihety Malagasy -> Malagasy */ |
1563 | {HB_TAG('x','n','j',' '), HB_TAG('S','X','T',' ')}, /* Ngoni (Tanzania) -> Sutu */ |
1564 | {HB_TAG('x','n','q',' '), HB_TAG('S','X','T',' ')}, /* Ngoni (Mozambique) -> Sutu */ |
1565 | {HB_TAG('x','n','r',' '), HB_TAG('D','G','R',' ')}, /* Kangri -> Dogri (macrolanguage) */ |
1566 | /*{HB_TAG('x','o','g',' '), HB_TAG('X','O','G',' ')},*/ /* Soga */ |
1567 | {HB_TAG('x','p','e',' '), HB_TAG('X','P','E',' ')}, /* Liberia Kpelle -> Kpelle (Liberia) */ |
1568 | {HB_TAG('x','p','e',' '), HB_TAG('K','P','L',' ')}, /* Liberia Kpelle -> Kpelle */ |
1569 | {HB_TAG('x','s','l',' '), HB_TAG('S','S','L',' ')}, /* South Slavey */ |
1570 | {HB_TAG('x','s','l',' '), HB_TAG('S','L','A',' ')}, /* South Slavey -> Slavey */ |
1571 | {HB_TAG('x','s','l',' '), HB_TAG('A','T','H',' ')}, /* South Slavey -> Athapaskan */ |
1572 | {HB_TAG('x','s','t',' '), HB_TAG('S','I','G',' ')}, /* Silt'e (retired code) -> Silte Gurage */ |
1573 | /*{HB_TAG('x','u','b',' '), HB_TAG('X','U','B',' ')},*/ /* Betta Kurumba -> Bette Kuruma */ |
1574 | /*{HB_TAG('x','u','j',' '), HB_TAG('X','U','J',' ')},*/ /* Jennu Kurumba -> Jennu Kuruma */ |
1575 | {HB_TAG('x','u','p',' '), HB_TAG('A','T','H',' ')}, /* Upper Umpqua -> Athapaskan */ |
1576 | {HB_TAG('x','w','o',' '), HB_TAG('T','O','D',' ')}, /* Written Oirat -> Todo */ |
1577 | {HB_TAG('y','a','j',' '), HB_TAG('B','A','D','0')}, /* Banda-Yangere -> Banda */ |
1578 | {HB_TAG('y','a','k',' '), HB_TAG_NONE }, /* Yakama != Sakha */ |
1579 | /*{HB_TAG('y','a','o',' '), HB_TAG('Y','A','O',' ')},*/ /* Yao */ |
1580 | /*{HB_TAG('y','a','p',' '), HB_TAG('Y','A','P',' ')},*/ /* Yapese */ |
1581 | {HB_TAG('y','b','a',' '), HB_TAG_NONE }, /* Yala != Yoruba */ |
1582 | {HB_TAG('y','b','b',' '), HB_TAG('B','M','L',' ')}, /* Yemba -> Bamileke */ |
1583 | {HB_TAG('y','b','d',' '), HB_TAG('A','R','K',' ')}, /* Yangbye (retired code) -> Rakhine */ |
1584 | {HB_TAG('y','d','d',' '), HB_TAG('J','I','I',' ')}, /* Eastern Yiddish -> Yiddish */ |
1585 | /*{HB_TAG('y','g','p',' '), HB_TAG('Y','G','P',' ')},*/ /* Gepo */ |
1586 | {HB_TAG('y','i','h',' '), HB_TAG('J','I','I',' ')}, /* Western Yiddish -> Yiddish */ |
1587 | {HB_TAG('y','i','m',' '), HB_TAG_NONE }, /* Yimchungru Naga != Yi Modern */ |
1588 | /*{HB_TAG('y','n','a',' '), HB_TAG('Y','N','A',' ')},*/ /* Aluo */ |
1589 | {HB_TAG('y','o','s',' '), HB_TAG('Q','I','N',' ')}, /* Yos (retired code) -> Chin */ |
1590 | {HB_TAG('y','u','a',' '), HB_TAG('M','Y','N',' ')}, /* Yucateco -> Mayan */ |
1591 | {HB_TAG('y','u','e',' '), HB_TAG('Z','H','H',' ')}, /* Yue Chinese -> Chinese, Traditional, Hong Kong SAR */ |
1592 | /*{HB_TAG('y','w','q',' '), HB_TAG('Y','W','Q',' ')},*/ /* Wuding-Luquan Yi */ |
1593 | {HB_TAG('z','c','h',' '), HB_TAG('Z','H','A',' ')}, /* Central Hongshuihe Zhuang -> Zhuang */ |
1594 | {HB_TAG('z','d','j',' '), HB_TAG('C','M','R',' ')}, /* Ngazidja Comorian -> Comorian */ |
1595 | /*{HB_TAG('z','e','a',' '), HB_TAG('Z','E','A',' ')},*/ /* Zeeuws -> Zealandic */ |
1596 | {HB_TAG('z','e','h',' '), HB_TAG('Z','H','A',' ')}, /* Eastern Hongshuihe Zhuang -> Zhuang */ |
1597 | {HB_TAG('z','e','n',' '), HB_TAG('B','B','R',' ')}, /* Zenaga -> Berber */ |
1598 | {HB_TAG('z','g','b',' '), HB_TAG('Z','H','A',' ')}, /* Guibei Zhuang -> Zhuang */ |
1599 | {HB_TAG('z','g','h',' '), HB_TAG('Z','G','H',' ')}, /* Standard Moroccan Tamazight */ |
1600 | {HB_TAG('z','g','h',' '), HB_TAG('B','B','R',' ')}, /* Standard Moroccan Tamazight -> Berber */ |
1601 | {HB_TAG('z','g','m',' '), HB_TAG('Z','H','A',' ')}, /* Minz Zhuang -> Zhuang */ |
1602 | {HB_TAG('z','g','n',' '), HB_TAG('Z','H','A',' ')}, /* Guibian Zhuang -> Zhuang */ |
1603 | {HB_TAG('z','h','d',' '), HB_TAG('Z','H','A',' ')}, /* Dai Zhuang -> Zhuang */ |
1604 | {HB_TAG('z','h','n',' '), HB_TAG('Z','H','A',' ')}, /* Nong Zhuang -> Zhuang */ |
1605 | {HB_TAG('z','l','j',' '), HB_TAG('Z','H','A',' ')}, /* Liujiang Zhuang -> Zhuang */ |
1606 | {HB_TAG('z','l','m',' '), HB_TAG('M','L','Y',' ')}, /* Malay */ |
1607 | {HB_TAG('z','l','n',' '), HB_TAG('Z','H','A',' ')}, /* Lianshan Zhuang -> Zhuang */ |
1608 | {HB_TAG('z','l','q',' '), HB_TAG('Z','H','A',' ')}, /* Liuqian Zhuang -> Zhuang */ |
1609 | {HB_TAG('z','m','i',' '), HB_TAG('M','L','Y',' ')}, /* Negeri Sembilan Malay -> Malay */ |
1610 | {HB_TAG('z','m','z',' '), HB_TAG('B','A','D','0')}, /* Mbandja -> Banda */ |
1611 | {HB_TAG('z','n','d',' '), HB_TAG_NONE }, /* Zande [collection] != Zande */ |
1612 | {HB_TAG('z','n','e',' '), HB_TAG('Z','N','D',' ')}, /* Zande */ |
1613 | {HB_TAG('z','o','m',' '), HB_TAG('Q','I','N',' ')}, /* Zou -> Chin */ |
1614 | {HB_TAG('z','q','e',' '), HB_TAG('Z','H','A',' ')}, /* Qiubei Zhuang -> Zhuang */ |
1615 | {HB_TAG('z','s','m',' '), HB_TAG('M','L','Y',' ')}, /* Standard Malay -> Malay */ |
1616 | {HB_TAG('z','u','m',' '), HB_TAG('L','R','C',' ')}, /* Kumzari -> Luri */ |
1617 | {HB_TAG('z','y','b',' '), HB_TAG('Z','H','A',' ')}, /* Yongbei Zhuang -> Zhuang */ |
1618 | {HB_TAG('z','y','g',' '), HB_TAG('Z','H','A',' ')}, /* Yang Zhuang -> Zhuang */ |
1619 | {HB_TAG('z','y','j',' '), HB_TAG('Z','H','A',' ')}, /* Youjiang Zhuang -> Zhuang */ |
1620 | {HB_TAG('z','y','n',' '), HB_TAG('Z','H','A',' ')}, /* Yongnan Zhuang -> Zhuang */ |
1621 | {HB_TAG('z','y','p',' '), HB_TAG('Q','I','N',' ')}, /* Zyphe Chin -> Chin */ |
1622 | /*{HB_TAG('z','z','a',' '), HB_TAG('Z','Z','A',' ')},*/ /* Zazaki [macrolanguage] */ |
1623 | {HB_TAG('z','z','j',' '), HB_TAG('Z','H','A',' ')}, /* Zuojiang Zhuang -> Zhuang */ |
1624 | }; |
1625 | #endif |
1626 | |
1627 | /** |
1628 | * hb_ot_tags_from_complex_language: |
1629 | * @lang_str: a BCP 47 language tag to convert. |
1630 | * @limit: a pointer to the end of the substring of @lang_str to consider for |
1631 | * conversion. |
1632 | * @count: maximum number of language tags to retrieve (IN) and actual number of |
1633 | * language tags retrieved (OUT). If no tags are retrieved, it is not modified. |
1634 | * @tags: array of size at least @language_count to store the language tag |
1635 | * results |
1636 | * |
1637 | * Converts a multi-subtag BCP 47 language tag to language tags. |
1638 | * |
1639 | * Return value: Whether any language systems were retrieved. |
1640 | **/ |
1641 | static inline bool |
1642 | hb_ot_tags_from_complex_language (const char *lang_str, |
1643 | const char *limit, |
1644 | unsigned int *count /* IN/OUT */, |
1645 | hb_tag_t *tags /* OUT */) |
1646 | { |
1647 | if (limit - lang_str >= 7) |
1648 | { |
1649 | const char *p = strchr (lang_str, '-'); |
1650 | if (!p || p >= limit || limit - p < 5) goto out; |
1651 | if (subtag_matches (p, limit, "-fonnapa" , 8)) |
1652 | { |
1653 | /* Undetermined; North American Phonetic Alphabet */ |
1654 | tags[0] = HB_TAG('A','P','P','H'); /* Phonetic transcription—Americanist conventions */ |
1655 | *count = 1; |
1656 | return true; |
1657 | } |
1658 | if (subtag_matches (p, limit, "-polyton" , 8)) |
1659 | { |
1660 | /* Modern Greek (1453-); Polytonic Greek */ |
1661 | tags[0] = HB_TAG('P','G','R',' '); /* Polytonic Greek */ |
1662 | *count = 1; |
1663 | return true; |
1664 | } |
1665 | if (subtag_matches (p, limit, "-arevmda" , 8)) |
1666 | { |
1667 | /* Armenian; Western Armenian (retired code) */ |
1668 | tags[0] = HB_TAG('H','Y','E',' '); /* Armenian */ |
1669 | *count = 1; |
1670 | return true; |
1671 | } |
1672 | if (subtag_matches (p, limit, "-provenc" , 8)) |
1673 | { |
1674 | /* Occitan (post 1500); Provençal */ |
1675 | tags[0] = HB_TAG('P','R','O',' '); /* Provençal / Old Provençal */ |
1676 | *count = 1; |
1677 | return true; |
1678 | } |
1679 | if (subtag_matches (p, limit, "-fonipa" , 7)) |
1680 | { |
1681 | /* Undetermined; International Phonetic Alphabet */ |
1682 | tags[0] = HB_TAG('I','P','P','H'); /* Phonetic transcription—IPA conventions */ |
1683 | *count = 1; |
1684 | return true; |
1685 | } |
1686 | if (subtag_matches (p, limit, "-geok" , 5)) |
1687 | { |
1688 | /* Undetermined; Khutsuri (Asomtavruli and Nuskhuri) */ |
1689 | tags[0] = HB_TAG('K','G','E',' '); /* Khutsuri Georgian */ |
1690 | *count = 1; |
1691 | return true; |
1692 | } |
1693 | if (subtag_matches (p, limit, "-syre" , 5)) |
1694 | { |
1695 | /* Undetermined; Syriac (Estrangelo variant) */ |
1696 | tags[0] = HB_TAG('S','Y','R','E'); /* Syriac, Estrangela script-variant (equivalent to ISO 15924 'Syre') */ |
1697 | *count = 1; |
1698 | return true; |
1699 | } |
1700 | if (subtag_matches (p, limit, "-syrj" , 5)) |
1701 | { |
1702 | /* Undetermined; Syriac (Western variant) */ |
1703 | tags[0] = HB_TAG('S','Y','R','J'); /* Syriac, Western script-variant (equivalent to ISO 15924 'Syrj') */ |
1704 | *count = 1; |
1705 | return true; |
1706 | } |
1707 | if (subtag_matches (p, limit, "-syrn" , 5)) |
1708 | { |
1709 | /* Undetermined; Syriac (Eastern variant) */ |
1710 | tags[0] = HB_TAG('S','Y','R','N'); /* Syriac, Eastern script-variant (equivalent to ISO 15924 'Syrn') */ |
1711 | *count = 1; |
1712 | return true; |
1713 | } |
1714 | } |
1715 | out: |
1716 | switch (lang_str[0]) |
1717 | { |
1718 | case 'a': |
1719 | if (0 == strcmp (&lang_str[1], "rt-lojban" )) |
1720 | { |
1721 | /* Lojban (retired code) */ |
1722 | tags[0] = HB_TAG('J','B','O',' '); /* Lojban */ |
1723 | *count = 1; |
1724 | return true; |
1725 | } |
1726 | break; |
1727 | case 'c': |
1728 | if (lang_matches (&lang_str[1], limit, "do-hant-hk" , 10)) |
1729 | { |
1730 | /* Min Dong Chinese; Han (Traditional variant); Hong Kong */ |
1731 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
1732 | *count = 1; |
1733 | return true; |
1734 | } |
1735 | if (lang_matches (&lang_str[1], limit, "do-hant-mo" , 10)) |
1736 | { |
1737 | /* Min Dong Chinese; Han (Traditional variant); Macao */ |
1738 | unsigned int i; |
1739 | hb_tag_t possible_tags[] = { |
1740 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
1741 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
1742 | }; |
1743 | for (i = 0; i < 2 && i < *count; i++) |
1744 | tags[i] = possible_tags[i]; |
1745 | *count = i; |
1746 | return true; |
1747 | } |
1748 | if (lang_matches (&lang_str[1], limit, "jy-hant-hk" , 10)) |
1749 | { |
1750 | /* Jinyu Chinese; Han (Traditional variant); Hong Kong */ |
1751 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
1752 | *count = 1; |
1753 | return true; |
1754 | } |
1755 | if (lang_matches (&lang_str[1], limit, "jy-hant-mo" , 10)) |
1756 | { |
1757 | /* Jinyu Chinese; Han (Traditional variant); Macao */ |
1758 | unsigned int i; |
1759 | hb_tag_t possible_tags[] = { |
1760 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
1761 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
1762 | }; |
1763 | for (i = 0; i < 2 && i < *count; i++) |
1764 | tags[i] = possible_tags[i]; |
1765 | *count = i; |
1766 | return true; |
1767 | } |
1768 | if (lang_matches (&lang_str[1], limit, "mn-hant-hk" , 10)) |
1769 | { |
1770 | /* Mandarin Chinese; Han (Traditional variant); Hong Kong */ |
1771 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
1772 | *count = 1; |
1773 | return true; |
1774 | } |
1775 | if (lang_matches (&lang_str[1], limit, "mn-hant-mo" , 10)) |
1776 | { |
1777 | /* Mandarin Chinese; Han (Traditional variant); Macao */ |
1778 | unsigned int i; |
1779 | hb_tag_t possible_tags[] = { |
1780 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
1781 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
1782 | }; |
1783 | for (i = 0; i < 2 && i < *count; i++) |
1784 | tags[i] = possible_tags[i]; |
1785 | *count = i; |
1786 | return true; |
1787 | } |
1788 | if (lang_matches (&lang_str[1], limit, "np-hant-hk" , 10)) |
1789 | { |
1790 | /* Northern Ping Chinese; Han (Traditional variant); Hong Kong */ |
1791 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
1792 | *count = 1; |
1793 | return true; |
1794 | } |
1795 | if (lang_matches (&lang_str[1], limit, "np-hant-mo" , 10)) |
1796 | { |
1797 | /* Northern Ping Chinese; Han (Traditional variant); Macao */ |
1798 | unsigned int i; |
1799 | hb_tag_t possible_tags[] = { |
1800 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
1801 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
1802 | }; |
1803 | for (i = 0; i < 2 && i < *count; i++) |
1804 | tags[i] = possible_tags[i]; |
1805 | *count = i; |
1806 | return true; |
1807 | } |
1808 | if (lang_matches (&lang_str[1], limit, "px-hant-hk" , 10)) |
1809 | { |
1810 | /* Pu-Xian Chinese; Han (Traditional variant); Hong Kong */ |
1811 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
1812 | *count = 1; |
1813 | return true; |
1814 | } |
1815 | if (lang_matches (&lang_str[1], limit, "px-hant-mo" , 10)) |
1816 | { |
1817 | /* Pu-Xian Chinese; Han (Traditional variant); Macao */ |
1818 | unsigned int i; |
1819 | hb_tag_t possible_tags[] = { |
1820 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
1821 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
1822 | }; |
1823 | for (i = 0; i < 2 && i < *count; i++) |
1824 | tags[i] = possible_tags[i]; |
1825 | *count = i; |
1826 | return true; |
1827 | } |
1828 | if (lang_matches (&lang_str[1], limit, "sp-hant-hk" , 10)) |
1829 | { |
1830 | /* Southern Ping Chinese; Han (Traditional variant); Hong Kong */ |
1831 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
1832 | *count = 1; |
1833 | return true; |
1834 | } |
1835 | if (lang_matches (&lang_str[1], limit, "sp-hant-mo" , 10)) |
1836 | { |
1837 | /* Southern Ping Chinese; Han (Traditional variant); Macao */ |
1838 | unsigned int i; |
1839 | hb_tag_t possible_tags[] = { |
1840 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
1841 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
1842 | }; |
1843 | for (i = 0; i < 2 && i < *count; i++) |
1844 | tags[i] = possible_tags[i]; |
1845 | *count = i; |
1846 | return true; |
1847 | } |
1848 | if (lang_matches (&lang_str[1], limit, "zh-hant-hk" , 10)) |
1849 | { |
1850 | /* Huizhou Chinese; Han (Traditional variant); Hong Kong */ |
1851 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
1852 | *count = 1; |
1853 | return true; |
1854 | } |
1855 | if (lang_matches (&lang_str[1], limit, "zh-hant-mo" , 10)) |
1856 | { |
1857 | /* Huizhou Chinese; Han (Traditional variant); Macao */ |
1858 | unsigned int i; |
1859 | hb_tag_t possible_tags[] = { |
1860 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
1861 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
1862 | }; |
1863 | for (i = 0; i < 2 && i < *count; i++) |
1864 | tags[i] = possible_tags[i]; |
1865 | *count = i; |
1866 | return true; |
1867 | } |
1868 | if (lang_matches (&lang_str[1], limit, "zo-hant-hk" , 10)) |
1869 | { |
1870 | /* Min Zhong Chinese; Han (Traditional variant); Hong Kong */ |
1871 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
1872 | *count = 1; |
1873 | return true; |
1874 | } |
1875 | if (lang_matches (&lang_str[1], limit, "zo-hant-mo" , 10)) |
1876 | { |
1877 | /* Min Zhong Chinese; Han (Traditional variant); Macao */ |
1878 | unsigned int i; |
1879 | hb_tag_t possible_tags[] = { |
1880 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
1881 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
1882 | }; |
1883 | for (i = 0; i < 2 && i < *count; i++) |
1884 | tags[i] = possible_tags[i]; |
1885 | *count = i; |
1886 | return true; |
1887 | } |
1888 | if (lang_matches (&lang_str[1], limit, "do-hans" , 7)) |
1889 | { |
1890 | /* Min Dong Chinese; Han (Simplified variant) */ |
1891 | tags[0] = HB_TAG('Z','H','S',' '); /* Chinese, Simplified */ |
1892 | *count = 1; |
1893 | return true; |
1894 | } |
1895 | if (lang_matches (&lang_str[1], limit, "do-hant" , 7)) |
1896 | { |
1897 | /* Min Dong Chinese; Han (Traditional variant) */ |
1898 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
1899 | *count = 1; |
1900 | return true; |
1901 | } |
1902 | if (lang_matches (&lang_str[1], limit, "jy-hans" , 7)) |
1903 | { |
1904 | /* Jinyu Chinese; Han (Simplified variant) */ |
1905 | tags[0] = HB_TAG('Z','H','S',' '); /* Chinese, Simplified */ |
1906 | *count = 1; |
1907 | return true; |
1908 | } |
1909 | if (lang_matches (&lang_str[1], limit, "jy-hant" , 7)) |
1910 | { |
1911 | /* Jinyu Chinese; Han (Traditional variant) */ |
1912 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
1913 | *count = 1; |
1914 | return true; |
1915 | } |
1916 | if (lang_matches (&lang_str[1], limit, "mn-hans" , 7)) |
1917 | { |
1918 | /* Mandarin Chinese; Han (Simplified variant) */ |
1919 | tags[0] = HB_TAG('Z','H','S',' '); /* Chinese, Simplified */ |
1920 | *count = 1; |
1921 | return true; |
1922 | } |
1923 | if (lang_matches (&lang_str[1], limit, "mn-hant" , 7)) |
1924 | { |
1925 | /* Mandarin Chinese; Han (Traditional variant) */ |
1926 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
1927 | *count = 1; |
1928 | return true; |
1929 | } |
1930 | if (lang_matches (&lang_str[1], limit, "np-hans" , 7)) |
1931 | { |
1932 | /* Northern Ping Chinese; Han (Simplified variant) */ |
1933 | tags[0] = HB_TAG('Z','H','S',' '); /* Chinese, Simplified */ |
1934 | *count = 1; |
1935 | return true; |
1936 | } |
1937 | if (lang_matches (&lang_str[1], limit, "np-hant" , 7)) |
1938 | { |
1939 | /* Northern Ping Chinese; Han (Traditional variant) */ |
1940 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
1941 | *count = 1; |
1942 | return true; |
1943 | } |
1944 | if (lang_matches (&lang_str[1], limit, "px-hans" , 7)) |
1945 | { |
1946 | /* Pu-Xian Chinese; Han (Simplified variant) */ |
1947 | tags[0] = HB_TAG('Z','H','S',' '); /* Chinese, Simplified */ |
1948 | *count = 1; |
1949 | return true; |
1950 | } |
1951 | if (lang_matches (&lang_str[1], limit, "px-hant" , 7)) |
1952 | { |
1953 | /* Pu-Xian Chinese; Han (Traditional variant) */ |
1954 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
1955 | *count = 1; |
1956 | return true; |
1957 | } |
1958 | if (lang_matches (&lang_str[1], limit, "sp-hans" , 7)) |
1959 | { |
1960 | /* Southern Ping Chinese; Han (Simplified variant) */ |
1961 | tags[0] = HB_TAG('Z','H','S',' '); /* Chinese, Simplified */ |
1962 | *count = 1; |
1963 | return true; |
1964 | } |
1965 | if (lang_matches (&lang_str[1], limit, "sp-hant" , 7)) |
1966 | { |
1967 | /* Southern Ping Chinese; Han (Traditional variant) */ |
1968 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
1969 | *count = 1; |
1970 | return true; |
1971 | } |
1972 | if (lang_matches (&lang_str[1], limit, "zh-hans" , 7)) |
1973 | { |
1974 | /* Huizhou Chinese; Han (Simplified variant) */ |
1975 | tags[0] = HB_TAG('Z','H','S',' '); /* Chinese, Simplified */ |
1976 | *count = 1; |
1977 | return true; |
1978 | } |
1979 | if (lang_matches (&lang_str[1], limit, "zh-hant" , 7)) |
1980 | { |
1981 | /* Huizhou Chinese; Han (Traditional variant) */ |
1982 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
1983 | *count = 1; |
1984 | return true; |
1985 | } |
1986 | if (lang_matches (&lang_str[1], limit, "zo-hans" , 7)) |
1987 | { |
1988 | /* Min Zhong Chinese; Han (Simplified variant) */ |
1989 | tags[0] = HB_TAG('Z','H','S',' '); /* Chinese, Simplified */ |
1990 | *count = 1; |
1991 | return true; |
1992 | } |
1993 | if (lang_matches (&lang_str[1], limit, "zo-hant" , 7)) |
1994 | { |
1995 | /* Min Zhong Chinese; Han (Traditional variant) */ |
1996 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
1997 | *count = 1; |
1998 | return true; |
1999 | } |
2000 | if (0 == strncmp (&lang_str[1], "do-" , 3) |
2001 | && subtag_matches (lang_str, limit, "-hk" , 3)) |
2002 | { |
2003 | /* Min Dong Chinese; Hong Kong */ |
2004 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
2005 | *count = 1; |
2006 | return true; |
2007 | } |
2008 | if (0 == strncmp (&lang_str[1], "do-" , 3) |
2009 | && subtag_matches (lang_str, limit, "-mo" , 3)) |
2010 | { |
2011 | /* Min Dong Chinese; Macao */ |
2012 | unsigned int i; |
2013 | hb_tag_t possible_tags[] = { |
2014 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
2015 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
2016 | }; |
2017 | for (i = 0; i < 2 && i < *count; i++) |
2018 | tags[i] = possible_tags[i]; |
2019 | *count = i; |
2020 | return true; |
2021 | } |
2022 | if (0 == strncmp (&lang_str[1], "do-" , 3) |
2023 | && subtag_matches (lang_str, limit, "-tw" , 3)) |
2024 | { |
2025 | /* Min Dong Chinese; Taiwan, Province of China */ |
2026 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
2027 | *count = 1; |
2028 | return true; |
2029 | } |
2030 | if (0 == strncmp (&lang_str[1], "jy-" , 3) |
2031 | && subtag_matches (lang_str, limit, "-hk" , 3)) |
2032 | { |
2033 | /* Jinyu Chinese; Hong Kong */ |
2034 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
2035 | *count = 1; |
2036 | return true; |
2037 | } |
2038 | if (0 == strncmp (&lang_str[1], "jy-" , 3) |
2039 | && subtag_matches (lang_str, limit, "-mo" , 3)) |
2040 | { |
2041 | /* Jinyu Chinese; Macao */ |
2042 | unsigned int i; |
2043 | hb_tag_t possible_tags[] = { |
2044 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
2045 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
2046 | }; |
2047 | for (i = 0; i < 2 && i < *count; i++) |
2048 | tags[i] = possible_tags[i]; |
2049 | *count = i; |
2050 | return true; |
2051 | } |
2052 | if (0 == strncmp (&lang_str[1], "jy-" , 3) |
2053 | && subtag_matches (lang_str, limit, "-tw" , 3)) |
2054 | { |
2055 | /* Jinyu Chinese; Taiwan, Province of China */ |
2056 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
2057 | *count = 1; |
2058 | return true; |
2059 | } |
2060 | if (0 == strncmp (&lang_str[1], "mn-" , 3) |
2061 | && subtag_matches (lang_str, limit, "-hk" , 3)) |
2062 | { |
2063 | /* Mandarin Chinese; Hong Kong */ |
2064 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
2065 | *count = 1; |
2066 | return true; |
2067 | } |
2068 | if (0 == strncmp (&lang_str[1], "mn-" , 3) |
2069 | && subtag_matches (lang_str, limit, "-mo" , 3)) |
2070 | { |
2071 | /* Mandarin Chinese; Macao */ |
2072 | unsigned int i; |
2073 | hb_tag_t possible_tags[] = { |
2074 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
2075 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
2076 | }; |
2077 | for (i = 0; i < 2 && i < *count; i++) |
2078 | tags[i] = possible_tags[i]; |
2079 | *count = i; |
2080 | return true; |
2081 | } |
2082 | if (0 == strncmp (&lang_str[1], "mn-" , 3) |
2083 | && subtag_matches (lang_str, limit, "-tw" , 3)) |
2084 | { |
2085 | /* Mandarin Chinese; Taiwan, Province of China */ |
2086 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
2087 | *count = 1; |
2088 | return true; |
2089 | } |
2090 | if (0 == strncmp (&lang_str[1], "np-" , 3) |
2091 | && subtag_matches (lang_str, limit, "-hk" , 3)) |
2092 | { |
2093 | /* Northern Ping Chinese; Hong Kong */ |
2094 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
2095 | *count = 1; |
2096 | return true; |
2097 | } |
2098 | if (0 == strncmp (&lang_str[1], "np-" , 3) |
2099 | && subtag_matches (lang_str, limit, "-mo" , 3)) |
2100 | { |
2101 | /* Northern Ping Chinese; Macao */ |
2102 | unsigned int i; |
2103 | hb_tag_t possible_tags[] = { |
2104 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
2105 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
2106 | }; |
2107 | for (i = 0; i < 2 && i < *count; i++) |
2108 | tags[i] = possible_tags[i]; |
2109 | *count = i; |
2110 | return true; |
2111 | } |
2112 | if (0 == strncmp (&lang_str[1], "np-" , 3) |
2113 | && subtag_matches (lang_str, limit, "-tw" , 3)) |
2114 | { |
2115 | /* Northern Ping Chinese; Taiwan, Province of China */ |
2116 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
2117 | *count = 1; |
2118 | return true; |
2119 | } |
2120 | if (0 == strncmp (&lang_str[1], "px-" , 3) |
2121 | && subtag_matches (lang_str, limit, "-hk" , 3)) |
2122 | { |
2123 | /* Pu-Xian Chinese; Hong Kong */ |
2124 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
2125 | *count = 1; |
2126 | return true; |
2127 | } |
2128 | if (0 == strncmp (&lang_str[1], "px-" , 3) |
2129 | && subtag_matches (lang_str, limit, "-mo" , 3)) |
2130 | { |
2131 | /* Pu-Xian Chinese; Macao */ |
2132 | unsigned int i; |
2133 | hb_tag_t possible_tags[] = { |
2134 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
2135 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
2136 | }; |
2137 | for (i = 0; i < 2 && i < *count; i++) |
2138 | tags[i] = possible_tags[i]; |
2139 | *count = i; |
2140 | return true; |
2141 | } |
2142 | if (0 == strncmp (&lang_str[1], "px-" , 3) |
2143 | && subtag_matches (lang_str, limit, "-tw" , 3)) |
2144 | { |
2145 | /* Pu-Xian Chinese; Taiwan, Province of China */ |
2146 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
2147 | *count = 1; |
2148 | return true; |
2149 | } |
2150 | if (0 == strncmp (&lang_str[1], "sp-" , 3) |
2151 | && subtag_matches (lang_str, limit, "-hk" , 3)) |
2152 | { |
2153 | /* Southern Ping Chinese; Hong Kong */ |
2154 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
2155 | *count = 1; |
2156 | return true; |
2157 | } |
2158 | if (0 == strncmp (&lang_str[1], "sp-" , 3) |
2159 | && subtag_matches (lang_str, limit, "-mo" , 3)) |
2160 | { |
2161 | /* Southern Ping Chinese; Macao */ |
2162 | unsigned int i; |
2163 | hb_tag_t possible_tags[] = { |
2164 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
2165 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
2166 | }; |
2167 | for (i = 0; i < 2 && i < *count; i++) |
2168 | tags[i] = possible_tags[i]; |
2169 | *count = i; |
2170 | return true; |
2171 | } |
2172 | if (0 == strncmp (&lang_str[1], "sp-" , 3) |
2173 | && subtag_matches (lang_str, limit, "-tw" , 3)) |
2174 | { |
2175 | /* Southern Ping Chinese; Taiwan, Province of China */ |
2176 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
2177 | *count = 1; |
2178 | return true; |
2179 | } |
2180 | if (0 == strncmp (&lang_str[1], "zh-" , 3) |
2181 | && subtag_matches (lang_str, limit, "-hk" , 3)) |
2182 | { |
2183 | /* Huizhou Chinese; Hong Kong */ |
2184 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
2185 | *count = 1; |
2186 | return true; |
2187 | } |
2188 | if (0 == strncmp (&lang_str[1], "zh-" , 3) |
2189 | && subtag_matches (lang_str, limit, "-mo" , 3)) |
2190 | { |
2191 | /* Huizhou Chinese; Macao */ |
2192 | unsigned int i; |
2193 | hb_tag_t possible_tags[] = { |
2194 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
2195 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
2196 | }; |
2197 | for (i = 0; i < 2 && i < *count; i++) |
2198 | tags[i] = possible_tags[i]; |
2199 | *count = i; |
2200 | return true; |
2201 | } |
2202 | if (0 == strncmp (&lang_str[1], "zh-" , 3) |
2203 | && subtag_matches (lang_str, limit, "-tw" , 3)) |
2204 | { |
2205 | /* Huizhou Chinese; Taiwan, Province of China */ |
2206 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
2207 | *count = 1; |
2208 | return true; |
2209 | } |
2210 | if (0 == strncmp (&lang_str[1], "zo-" , 3) |
2211 | && subtag_matches (lang_str, limit, "-hk" , 3)) |
2212 | { |
2213 | /* Min Zhong Chinese; Hong Kong */ |
2214 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
2215 | *count = 1; |
2216 | return true; |
2217 | } |
2218 | if (0 == strncmp (&lang_str[1], "zo-" , 3) |
2219 | && subtag_matches (lang_str, limit, "-mo" , 3)) |
2220 | { |
2221 | /* Min Zhong Chinese; Macao */ |
2222 | unsigned int i; |
2223 | hb_tag_t possible_tags[] = { |
2224 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
2225 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
2226 | }; |
2227 | for (i = 0; i < 2 && i < *count; i++) |
2228 | tags[i] = possible_tags[i]; |
2229 | *count = i; |
2230 | return true; |
2231 | } |
2232 | if (0 == strncmp (&lang_str[1], "zo-" , 3) |
2233 | && subtag_matches (lang_str, limit, "-tw" , 3)) |
2234 | { |
2235 | /* Min Zhong Chinese; Taiwan, Province of China */ |
2236 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
2237 | *count = 1; |
2238 | return true; |
2239 | } |
2240 | break; |
2241 | case 'g': |
2242 | if (lang_matches (&lang_str[1], limit, "an-hant-hk" , 10)) |
2243 | { |
2244 | /* Gan Chinese; Han (Traditional variant); Hong Kong */ |
2245 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
2246 | *count = 1; |
2247 | return true; |
2248 | } |
2249 | if (lang_matches (&lang_str[1], limit, "an-hant-mo" , 10)) |
2250 | { |
2251 | /* Gan Chinese; Han (Traditional variant); Macao */ |
2252 | unsigned int i; |
2253 | hb_tag_t possible_tags[] = { |
2254 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
2255 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
2256 | }; |
2257 | for (i = 0; i < 2 && i < *count; i++) |
2258 | tags[i] = possible_tags[i]; |
2259 | *count = i; |
2260 | return true; |
2261 | } |
2262 | if (lang_matches (&lang_str[1], limit, "an-hans" , 7)) |
2263 | { |
2264 | /* Gan Chinese; Han (Simplified variant) */ |
2265 | tags[0] = HB_TAG('Z','H','S',' '); /* Chinese, Simplified */ |
2266 | *count = 1; |
2267 | return true; |
2268 | } |
2269 | if (lang_matches (&lang_str[1], limit, "an-hant" , 7)) |
2270 | { |
2271 | /* Gan Chinese; Han (Traditional variant) */ |
2272 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
2273 | *count = 1; |
2274 | return true; |
2275 | } |
2276 | if (lang_matches (&lang_str[1], limit, "a-latg" , 6)) |
2277 | { |
2278 | /* Irish; Latin (Gaelic variant) */ |
2279 | tags[0] = HB_TAG('I','R','T',' '); /* Irish Traditional */ |
2280 | *count = 1; |
2281 | return true; |
2282 | } |
2283 | if (0 == strncmp (&lang_str[1], "an-" , 3) |
2284 | && subtag_matches (lang_str, limit, "-hk" , 3)) |
2285 | { |
2286 | /* Gan Chinese; Hong Kong */ |
2287 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
2288 | *count = 1; |
2289 | return true; |
2290 | } |
2291 | if (0 == strncmp (&lang_str[1], "an-" , 3) |
2292 | && subtag_matches (lang_str, limit, "-mo" , 3)) |
2293 | { |
2294 | /* Gan Chinese; Macao */ |
2295 | unsigned int i; |
2296 | hb_tag_t possible_tags[] = { |
2297 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
2298 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
2299 | }; |
2300 | for (i = 0; i < 2 && i < *count; i++) |
2301 | tags[i] = possible_tags[i]; |
2302 | *count = i; |
2303 | return true; |
2304 | } |
2305 | if (0 == strncmp (&lang_str[1], "an-" , 3) |
2306 | && subtag_matches (lang_str, limit, "-tw" , 3)) |
2307 | { |
2308 | /* Gan Chinese; Taiwan, Province of China */ |
2309 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
2310 | *count = 1; |
2311 | return true; |
2312 | } |
2313 | break; |
2314 | case 'h': |
2315 | if (lang_matches (&lang_str[1], limit, "ak-hant-hk" , 10)) |
2316 | { |
2317 | /* Hakka Chinese; Han (Traditional variant); Hong Kong */ |
2318 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
2319 | *count = 1; |
2320 | return true; |
2321 | } |
2322 | if (lang_matches (&lang_str[1], limit, "ak-hant-mo" , 10)) |
2323 | { |
2324 | /* Hakka Chinese; Han (Traditional variant); Macao */ |
2325 | unsigned int i; |
2326 | hb_tag_t possible_tags[] = { |
2327 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
2328 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
2329 | }; |
2330 | for (i = 0; i < 2 && i < *count; i++) |
2331 | tags[i] = possible_tags[i]; |
2332 | *count = i; |
2333 | return true; |
2334 | } |
2335 | if (lang_matches (&lang_str[1], limit, "sn-hant-hk" , 10)) |
2336 | { |
2337 | /* Xiang Chinese; Han (Traditional variant); Hong Kong */ |
2338 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
2339 | *count = 1; |
2340 | return true; |
2341 | } |
2342 | if (lang_matches (&lang_str[1], limit, "sn-hant-mo" , 10)) |
2343 | { |
2344 | /* Xiang Chinese; Han (Traditional variant); Macao */ |
2345 | unsigned int i; |
2346 | hb_tag_t possible_tags[] = { |
2347 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
2348 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
2349 | }; |
2350 | for (i = 0; i < 2 && i < *count; i++) |
2351 | tags[i] = possible_tags[i]; |
2352 | *count = i; |
2353 | return true; |
2354 | } |
2355 | if (lang_matches (&lang_str[1], limit, "ak-hans" , 7)) |
2356 | { |
2357 | /* Hakka Chinese; Han (Simplified variant) */ |
2358 | tags[0] = HB_TAG('Z','H','S',' '); /* Chinese, Simplified */ |
2359 | *count = 1; |
2360 | return true; |
2361 | } |
2362 | if (lang_matches (&lang_str[1], limit, "ak-hant" , 7)) |
2363 | { |
2364 | /* Hakka Chinese; Han (Traditional variant) */ |
2365 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
2366 | *count = 1; |
2367 | return true; |
2368 | } |
2369 | if (lang_matches (&lang_str[1], limit, "sn-hans" , 7)) |
2370 | { |
2371 | /* Xiang Chinese; Han (Simplified variant) */ |
2372 | tags[0] = HB_TAG('Z','H','S',' '); /* Chinese, Simplified */ |
2373 | *count = 1; |
2374 | return true; |
2375 | } |
2376 | if (lang_matches (&lang_str[1], limit, "sn-hant" , 7)) |
2377 | { |
2378 | /* Xiang Chinese; Han (Traditional variant) */ |
2379 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
2380 | *count = 1; |
2381 | return true; |
2382 | } |
2383 | if (0 == strncmp (&lang_str[1], "ak-" , 3) |
2384 | && subtag_matches (lang_str, limit, "-hk" , 3)) |
2385 | { |
2386 | /* Hakka Chinese; Hong Kong */ |
2387 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
2388 | *count = 1; |
2389 | return true; |
2390 | } |
2391 | if (0 == strncmp (&lang_str[1], "ak-" , 3) |
2392 | && subtag_matches (lang_str, limit, "-mo" , 3)) |
2393 | { |
2394 | /* Hakka Chinese; Macao */ |
2395 | unsigned int i; |
2396 | hb_tag_t possible_tags[] = { |
2397 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
2398 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
2399 | }; |
2400 | for (i = 0; i < 2 && i < *count; i++) |
2401 | tags[i] = possible_tags[i]; |
2402 | *count = i; |
2403 | return true; |
2404 | } |
2405 | if (0 == strncmp (&lang_str[1], "ak-" , 3) |
2406 | && subtag_matches (lang_str, limit, "-tw" , 3)) |
2407 | { |
2408 | /* Hakka Chinese; Taiwan, Province of China */ |
2409 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
2410 | *count = 1; |
2411 | return true; |
2412 | } |
2413 | if (0 == strncmp (&lang_str[1], "sn-" , 3) |
2414 | && subtag_matches (lang_str, limit, "-hk" , 3)) |
2415 | { |
2416 | /* Xiang Chinese; Hong Kong */ |
2417 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
2418 | *count = 1; |
2419 | return true; |
2420 | } |
2421 | if (0 == strncmp (&lang_str[1], "sn-" , 3) |
2422 | && subtag_matches (lang_str, limit, "-mo" , 3)) |
2423 | { |
2424 | /* Xiang Chinese; Macao */ |
2425 | unsigned int i; |
2426 | hb_tag_t possible_tags[] = { |
2427 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
2428 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
2429 | }; |
2430 | for (i = 0; i < 2 && i < *count; i++) |
2431 | tags[i] = possible_tags[i]; |
2432 | *count = i; |
2433 | return true; |
2434 | } |
2435 | if (0 == strncmp (&lang_str[1], "sn-" , 3) |
2436 | && subtag_matches (lang_str, limit, "-tw" , 3)) |
2437 | { |
2438 | /* Xiang Chinese; Taiwan, Province of China */ |
2439 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
2440 | *count = 1; |
2441 | return true; |
2442 | } |
2443 | break; |
2444 | case 'i': |
2445 | if (0 == strcmp (&lang_str[1], "-navajo" )) |
2446 | { |
2447 | /* Navajo (retired code) */ |
2448 | unsigned int i; |
2449 | hb_tag_t possible_tags[] = { |
2450 | HB_TAG('N','A','V',' '), /* Navajo */ |
2451 | HB_TAG('A','T','H',' '), /* Athapaskan */ |
2452 | }; |
2453 | for (i = 0; i < 2 && i < *count; i++) |
2454 | tags[i] = possible_tags[i]; |
2455 | *count = i; |
2456 | return true; |
2457 | } |
2458 | if (0 == strcmp (&lang_str[1], "-hak" )) |
2459 | { |
2460 | /* Hakka (retired code) */ |
2461 | tags[0] = HB_TAG('Z','H','S',' '); /* Chinese, Simplified */ |
2462 | *count = 1; |
2463 | return true; |
2464 | } |
2465 | if (0 == strcmp (&lang_str[1], "-lux" )) |
2466 | { |
2467 | /* Luxembourgish (retired code) */ |
2468 | tags[0] = HB_TAG('L','T','Z',' '); /* Luxembourgish */ |
2469 | *count = 1; |
2470 | return true; |
2471 | } |
2472 | break; |
2473 | case 'l': |
2474 | if (lang_matches (&lang_str[1], limit, "zh-hans" , 7)) |
2475 | { |
2476 | /* Literary Chinese; Han (Simplified variant) */ |
2477 | tags[0] = HB_TAG('Z','H','S',' '); /* Chinese, Simplified */ |
2478 | *count = 1; |
2479 | return true; |
2480 | } |
2481 | break; |
2482 | case 'm': |
2483 | if (lang_matches (&lang_str[1], limit, "np-hant-hk" , 10)) |
2484 | { |
2485 | /* Min Bei Chinese; Han (Traditional variant); Hong Kong */ |
2486 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
2487 | *count = 1; |
2488 | return true; |
2489 | } |
2490 | if (lang_matches (&lang_str[1], limit, "np-hant-mo" , 10)) |
2491 | { |
2492 | /* Min Bei Chinese; Han (Traditional variant); Macao */ |
2493 | unsigned int i; |
2494 | hb_tag_t possible_tags[] = { |
2495 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
2496 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
2497 | }; |
2498 | for (i = 0; i < 2 && i < *count; i++) |
2499 | tags[i] = possible_tags[i]; |
2500 | *count = i; |
2501 | return true; |
2502 | } |
2503 | if (lang_matches (&lang_str[1], limit, "np-hans" , 7)) |
2504 | { |
2505 | /* Min Bei Chinese; Han (Simplified variant) */ |
2506 | tags[0] = HB_TAG('Z','H','S',' '); /* Chinese, Simplified */ |
2507 | *count = 1; |
2508 | return true; |
2509 | } |
2510 | if (lang_matches (&lang_str[1], limit, "np-hant" , 7)) |
2511 | { |
2512 | /* Min Bei Chinese; Han (Traditional variant) */ |
2513 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
2514 | *count = 1; |
2515 | return true; |
2516 | } |
2517 | if (0 == strncmp (&lang_str[1], "np-" , 3) |
2518 | && subtag_matches (lang_str, limit, "-hk" , 3)) |
2519 | { |
2520 | /* Min Bei Chinese; Hong Kong */ |
2521 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
2522 | *count = 1; |
2523 | return true; |
2524 | } |
2525 | if (0 == strncmp (&lang_str[1], "np-" , 3) |
2526 | && subtag_matches (lang_str, limit, "-mo" , 3)) |
2527 | { |
2528 | /* Min Bei Chinese; Macao */ |
2529 | unsigned int i; |
2530 | hb_tag_t possible_tags[] = { |
2531 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
2532 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
2533 | }; |
2534 | for (i = 0; i < 2 && i < *count; i++) |
2535 | tags[i] = possible_tags[i]; |
2536 | *count = i; |
2537 | return true; |
2538 | } |
2539 | if (0 == strncmp (&lang_str[1], "np-" , 3) |
2540 | && subtag_matches (lang_str, limit, "-tw" , 3)) |
2541 | { |
2542 | /* Min Bei Chinese; Taiwan, Province of China */ |
2543 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
2544 | *count = 1; |
2545 | return true; |
2546 | } |
2547 | if (0 == strncmp (&lang_str[1], "nw-" , 3) |
2548 | && subtag_matches (lang_str, limit, "-th" , 3)) |
2549 | { |
2550 | /* Mon; Thailand */ |
2551 | tags[0] = HB_TAG('M','O','N','T'); /* Thailand Mon */ |
2552 | *count = 1; |
2553 | return true; |
2554 | } |
2555 | break; |
2556 | case 'n': |
2557 | if (lang_matches (&lang_str[1], limit, "an-hant-hk" , 10)) |
2558 | { |
2559 | /* Min Nan Chinese; Han (Traditional variant); Hong Kong */ |
2560 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
2561 | *count = 1; |
2562 | return true; |
2563 | } |
2564 | if (lang_matches (&lang_str[1], limit, "an-hant-mo" , 10)) |
2565 | { |
2566 | /* Min Nan Chinese; Han (Traditional variant); Macao */ |
2567 | unsigned int i; |
2568 | hb_tag_t possible_tags[] = { |
2569 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
2570 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
2571 | }; |
2572 | for (i = 0; i < 2 && i < *count; i++) |
2573 | tags[i] = possible_tags[i]; |
2574 | *count = i; |
2575 | return true; |
2576 | } |
2577 | if (lang_matches (&lang_str[1], limit, "an-hans" , 7)) |
2578 | { |
2579 | /* Min Nan Chinese; Han (Simplified variant) */ |
2580 | tags[0] = HB_TAG('Z','H','S',' '); /* Chinese, Simplified */ |
2581 | *count = 1; |
2582 | return true; |
2583 | } |
2584 | if (lang_matches (&lang_str[1], limit, "an-hant" , 7)) |
2585 | { |
2586 | /* Min Nan Chinese; Han (Traditional variant) */ |
2587 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
2588 | *count = 1; |
2589 | return true; |
2590 | } |
2591 | if (0 == strncmp (&lang_str[1], "an-" , 3) |
2592 | && subtag_matches (lang_str, limit, "-hk" , 3)) |
2593 | { |
2594 | /* Min Nan Chinese; Hong Kong */ |
2595 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
2596 | *count = 1; |
2597 | return true; |
2598 | } |
2599 | if (0 == strncmp (&lang_str[1], "an-" , 3) |
2600 | && subtag_matches (lang_str, limit, "-mo" , 3)) |
2601 | { |
2602 | /* Min Nan Chinese; Macao */ |
2603 | unsigned int i; |
2604 | hb_tag_t possible_tags[] = { |
2605 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
2606 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
2607 | }; |
2608 | for (i = 0; i < 2 && i < *count; i++) |
2609 | tags[i] = possible_tags[i]; |
2610 | *count = i; |
2611 | return true; |
2612 | } |
2613 | if (0 == strncmp (&lang_str[1], "an-" , 3) |
2614 | && subtag_matches (lang_str, limit, "-tw" , 3)) |
2615 | { |
2616 | /* Min Nan Chinese; Taiwan, Province of China */ |
2617 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
2618 | *count = 1; |
2619 | return true; |
2620 | } |
2621 | if (0 == strcmp (&lang_str[1], "o-bok" )) |
2622 | { |
2623 | /* Norwegian Bokmal (retired code) */ |
2624 | tags[0] = HB_TAG('N','O','R',' '); /* Norwegian */ |
2625 | *count = 1; |
2626 | return true; |
2627 | } |
2628 | if (0 == strcmp (&lang_str[1], "o-nyn" )) |
2629 | { |
2630 | /* Norwegian Nynorsk (retired code) */ |
2631 | tags[0] = HB_TAG('N','Y','N',' '); /* Norwegian Nynorsk (Nynorsk, Norwegian) */ |
2632 | *count = 1; |
2633 | return true; |
2634 | } |
2635 | break; |
2636 | case 'r': |
2637 | if (0 == strncmp (&lang_str[1], "o-" , 2) |
2638 | && subtag_matches (lang_str, limit, "-md" , 3)) |
2639 | { |
2640 | /* Romanian; Moldova */ |
2641 | unsigned int i; |
2642 | hb_tag_t possible_tags[] = { |
2643 | HB_TAG('M','O','L',' '), /* Moldavian */ |
2644 | HB_TAG('R','O','M',' '), /* Romanian */ |
2645 | }; |
2646 | for (i = 0; i < 2 && i < *count; i++) |
2647 | tags[i] = possible_tags[i]; |
2648 | *count = i; |
2649 | return true; |
2650 | } |
2651 | break; |
2652 | case 'w': |
2653 | if (lang_matches (&lang_str[1], limit, "uu-hant-hk" , 10)) |
2654 | { |
2655 | /* Wu Chinese; Han (Traditional variant); Hong Kong */ |
2656 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
2657 | *count = 1; |
2658 | return true; |
2659 | } |
2660 | if (lang_matches (&lang_str[1], limit, "uu-hant-mo" , 10)) |
2661 | { |
2662 | /* Wu Chinese; Han (Traditional variant); Macao */ |
2663 | unsigned int i; |
2664 | hb_tag_t possible_tags[] = { |
2665 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
2666 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
2667 | }; |
2668 | for (i = 0; i < 2 && i < *count; i++) |
2669 | tags[i] = possible_tags[i]; |
2670 | *count = i; |
2671 | return true; |
2672 | } |
2673 | if (lang_matches (&lang_str[1], limit, "uu-hans" , 7)) |
2674 | { |
2675 | /* Wu Chinese; Han (Simplified variant) */ |
2676 | tags[0] = HB_TAG('Z','H','S',' '); /* Chinese, Simplified */ |
2677 | *count = 1; |
2678 | return true; |
2679 | } |
2680 | if (lang_matches (&lang_str[1], limit, "uu-hant" , 7)) |
2681 | { |
2682 | /* Wu Chinese; Han (Traditional variant) */ |
2683 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
2684 | *count = 1; |
2685 | return true; |
2686 | } |
2687 | if (0 == strncmp (&lang_str[1], "uu-" , 3) |
2688 | && subtag_matches (lang_str, limit, "-hk" , 3)) |
2689 | { |
2690 | /* Wu Chinese; Hong Kong */ |
2691 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
2692 | *count = 1; |
2693 | return true; |
2694 | } |
2695 | if (0 == strncmp (&lang_str[1], "uu-" , 3) |
2696 | && subtag_matches (lang_str, limit, "-mo" , 3)) |
2697 | { |
2698 | /* Wu Chinese; Macao */ |
2699 | unsigned int i; |
2700 | hb_tag_t possible_tags[] = { |
2701 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
2702 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
2703 | }; |
2704 | for (i = 0; i < 2 && i < *count; i++) |
2705 | tags[i] = possible_tags[i]; |
2706 | *count = i; |
2707 | return true; |
2708 | } |
2709 | if (0 == strncmp (&lang_str[1], "uu-" , 3) |
2710 | && subtag_matches (lang_str, limit, "-tw" , 3)) |
2711 | { |
2712 | /* Wu Chinese; Taiwan, Province of China */ |
2713 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
2714 | *count = 1; |
2715 | return true; |
2716 | } |
2717 | break; |
2718 | case 'y': |
2719 | if (lang_matches (&lang_str[1], limit, "ue-hans" , 7)) |
2720 | { |
2721 | /* Yue Chinese; Han (Simplified variant) */ |
2722 | tags[0] = HB_TAG('Z','H','S',' '); /* Chinese, Simplified */ |
2723 | *count = 1; |
2724 | return true; |
2725 | } |
2726 | break; |
2727 | case 'z': |
2728 | if (lang_matches (&lang_str[1], limit, "h-hant-hk" , 9)) |
2729 | { |
2730 | /* Chinese [macrolanguage]; Han (Traditional variant); Hong Kong */ |
2731 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
2732 | *count = 1; |
2733 | return true; |
2734 | } |
2735 | if (lang_matches (&lang_str[1], limit, "h-hant-mo" , 9)) |
2736 | { |
2737 | /* Chinese [macrolanguage]; Han (Traditional variant); Macao */ |
2738 | unsigned int i; |
2739 | hb_tag_t possible_tags[] = { |
2740 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
2741 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
2742 | }; |
2743 | for (i = 0; i < 2 && i < *count; i++) |
2744 | tags[i] = possible_tags[i]; |
2745 | *count = i; |
2746 | return true; |
2747 | } |
2748 | if (0 == strcmp (&lang_str[1], "h-min-nan" )) |
2749 | { |
2750 | /* Minnan, Hokkien, Amoy, Taiwanese, Southern Min, Southern Fujian, Hoklo, Southern Fukien, Ho-lo (retired code) */ |
2751 | tags[0] = HB_TAG('Z','H','S',' '); /* Chinese, Simplified */ |
2752 | *count = 1; |
2753 | return true; |
2754 | } |
2755 | if (lang_matches (&lang_str[1], limit, "h-hans" , 6)) |
2756 | { |
2757 | /* Chinese [macrolanguage]; Han (Simplified variant) */ |
2758 | tags[0] = HB_TAG('Z','H','S',' '); /* Chinese, Simplified */ |
2759 | *count = 1; |
2760 | return true; |
2761 | } |
2762 | if (lang_matches (&lang_str[1], limit, "h-hant" , 6)) |
2763 | { |
2764 | /* Chinese [macrolanguage]; Han (Traditional variant) */ |
2765 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
2766 | *count = 1; |
2767 | return true; |
2768 | } |
2769 | if (0 == strcmp (&lang_str[1], "h-min" )) |
2770 | { |
2771 | /* Min, Fuzhou, Hokkien, Amoy, or Taiwanese (retired code) */ |
2772 | tags[0] = HB_TAG('Z','H','S',' '); /* Chinese, Simplified */ |
2773 | *count = 1; |
2774 | return true; |
2775 | } |
2776 | if (0 == strncmp (&lang_str[1], "h-" , 2) |
2777 | && subtag_matches (lang_str, limit, "-hk" , 3)) |
2778 | { |
2779 | /* Chinese [macrolanguage]; Hong Kong */ |
2780 | tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Traditional, Hong Kong SAR */ |
2781 | *count = 1; |
2782 | return true; |
2783 | } |
2784 | if (0 == strncmp (&lang_str[1], "h-" , 2) |
2785 | && subtag_matches (lang_str, limit, "-mo" , 3)) |
2786 | { |
2787 | /* Chinese [macrolanguage]; Macao */ |
2788 | unsigned int i; |
2789 | hb_tag_t possible_tags[] = { |
2790 | HB_TAG('Z','H','T','M'), /* Chinese, Traditional, Macao SAR */ |
2791 | HB_TAG('Z','H','H',' '), /* Chinese, Traditional, Hong Kong SAR */ |
2792 | }; |
2793 | for (i = 0; i < 2 && i < *count; i++) |
2794 | tags[i] = possible_tags[i]; |
2795 | *count = i; |
2796 | return true; |
2797 | } |
2798 | if (0 == strncmp (&lang_str[1], "h-" , 2) |
2799 | && subtag_matches (lang_str, limit, "-tw" , 3)) |
2800 | { |
2801 | /* Chinese [macrolanguage]; Taiwan, Province of China */ |
2802 | tags[0] = HB_TAG('Z','H','T',' '); /* Chinese, Traditional */ |
2803 | *count = 1; |
2804 | return true; |
2805 | } |
2806 | break; |
2807 | } |
2808 | return false; |
2809 | } |
2810 | |
2811 | /** |
2812 | * hb_ot_ambiguous_tag_to_language |
2813 | * @tag: A language tag. |
2814 | * |
2815 | * Converts @tag to a BCP 47 language tag if it is ambiguous (it corresponds to |
2816 | * many language tags) and the best tag is not the alphabetically first, or if |
2817 | * the best tag consists of multiple subtags, or if the best tag does not appear |
2818 | * in #ot_languages. |
2819 | * |
2820 | * Return value: The #hb_language_t corresponding to the BCP 47 language tag, |
2821 | * or #HB_LANGUAGE_INVALID if @tag is not ambiguous. |
2822 | **/ |
2823 | static inline hb_language_t |
2824 | hb_ot_ambiguous_tag_to_language (hb_tag_t tag) |
2825 | { |
2826 | switch (tag) |
2827 | { |
2828 | case HB_TAG('A','L','T',' '): /* Altai */ |
2829 | return hb_language_from_string ("alt" , -1); /* Southern Altai */ |
2830 | case HB_TAG('A','P','P','H'): /* Phonetic transcription—Americanist conventions */ |
2831 | return hb_language_from_string ("und-fonnapa" , -1); /* Undetermined; North American Phonetic Alphabet */ |
2832 | case HB_TAG('A','R','A',' '): /* Arabic */ |
2833 | return hb_language_from_string ("ar" , -1); /* Arabic [macrolanguage] */ |
2834 | case HB_TAG('A','R','K',' '): /* Rakhine */ |
2835 | return hb_language_from_string ("rki" , -1); /* Rakhine */ |
2836 | case HB_TAG('A','T','H',' '): /* Athapaskan */ |
2837 | return hb_language_from_string ("ath" , -1); /* Athapascan [collection] */ |
2838 | case HB_TAG('B','B','R',' '): /* Berber */ |
2839 | return hb_language_from_string ("ber" , -1); /* Berber [collection] */ |
2840 | case HB_TAG('B','I','K',' '): /* Bikol */ |
2841 | return hb_language_from_string ("bik" , -1); /* Bikol [macrolanguage] */ |
2842 | case HB_TAG('B','T','K',' '): /* Batak */ |
2843 | return hb_language_from_string ("btk" , -1); /* Batak [collection] */ |
2844 | case HB_TAG('C','P','P',' '): /* Creoles */ |
2845 | return hb_language_from_string ("crp" , -1); /* Creoles and pidgins [collection] */ |
2846 | case HB_TAG('C','R','R',' '): /* Carrier */ |
2847 | return hb_language_from_string ("crx" , -1); /* Carrier */ |
2848 | case HB_TAG('D','G','R',' '): /* Dogri (macrolanguage) */ |
2849 | return hb_language_from_string ("doi" , -1); /* Dogri [macrolanguage] */ |
2850 | case HB_TAG('D','N','K',' '): /* Dinka */ |
2851 | return hb_language_from_string ("din" , -1); /* Dinka [macrolanguage] */ |
2852 | case HB_TAG('D','R','I',' '): /* Dari */ |
2853 | return hb_language_from_string ("prs" , -1); /* Dari */ |
2854 | case HB_TAG('D','Z','N',' '): /* Dzongkha */ |
2855 | return hb_language_from_string ("dz" , -1); /* Dzongkha */ |
2856 | case HB_TAG('E','T','I',' '): /* Estonian */ |
2857 | return hb_language_from_string ("et" , -1); /* Estonian [macrolanguage] */ |
2858 | case HB_TAG('F','A','R',' '): /* Persian */ |
2859 | return hb_language_from_string ("fa" , -1); /* Persian [macrolanguage] */ |
2860 | case HB_TAG('G','O','N',' '): /* Gondi */ |
2861 | return hb_language_from_string ("gon" , -1); /* Gondi [macrolanguage] */ |
2862 | case HB_TAG('H','M','A',' '): /* High Mari */ |
2863 | return hb_language_from_string ("mrj" , -1); /* Western Mari */ |
2864 | case HB_TAG('H','M','N',' '): /* Hmong */ |
2865 | return hb_language_from_string ("hmn" , -1); /* Hmong [macrolanguage] */ |
2866 | case HB_TAG('H','N','D',' '): /* Hindko */ |
2867 | return hb_language_from_string ("hnd" , -1); /* Southern Hindko */ |
2868 | case HB_TAG('H','Y','E',' '): /* Armenian */ |
2869 | return hb_language_from_string ("hyw" , -1); /* Western Armenian */ |
2870 | case HB_TAG('I','B','A',' '): /* Iban */ |
2871 | return hb_language_from_string ("iba" , -1); /* Iban */ |
2872 | case HB_TAG('I','J','O',' '): /* Ijo */ |
2873 | return hb_language_from_string ("ijo" , -1); /* Ijo [collection] */ |
2874 | case HB_TAG('I','N','U',' '): /* Inuktitut */ |
2875 | return hb_language_from_string ("iu" , -1); /* Inuktitut [macrolanguage] */ |
2876 | case HB_TAG('I','P','K',' '): /* Inupiat */ |
2877 | return hb_language_from_string ("ik" , -1); /* Inupiaq [macrolanguage] */ |
2878 | case HB_TAG('I','P','P','H'): /* Phonetic transcription—IPA conventions */ |
2879 | return hb_language_from_string ("und-fonipa" , -1); /* Undetermined; International Phonetic Alphabet */ |
2880 | case HB_TAG('I','R','T',' '): /* Irish Traditional */ |
2881 | return hb_language_from_string ("ga-Latg" , -1); /* Irish; Latin (Gaelic variant) */ |
2882 | case HB_TAG('J','I','I',' '): /* Yiddish */ |
2883 | return hb_language_from_string ("yi" , -1); /* Yiddish [macrolanguage] */ |
2884 | case HB_TAG('K','A','L',' '): /* Kalenjin */ |
2885 | return hb_language_from_string ("kln" , -1); /* Kalenjin [macrolanguage] */ |
2886 | case HB_TAG('K','G','E',' '): /* Khutsuri Georgian */ |
2887 | return hb_language_from_string ("und-Geok" , -1); /* Undetermined; Khutsuri (Asomtavruli and Nuskhuri) */ |
2888 | case HB_TAG('K','N','R',' '): /* Kanuri */ |
2889 | return hb_language_from_string ("kr" , -1); /* Kanuri [macrolanguage] */ |
2890 | case HB_TAG('K','O','H',' '): /* Korean Old Hangul */ |
2891 | return hb_language_from_string ("okm" , -1); /* Middle Korean (10th-16th cent.) */ |
2892 | case HB_TAG('K','O','K',' '): /* Konkani */ |
2893 | return hb_language_from_string ("kok" , -1); /* Konkani [macrolanguage] */ |
2894 | case HB_TAG('K','O','M',' '): /* Komi */ |
2895 | return hb_language_from_string ("kv" , -1); /* Komi [macrolanguage] */ |
2896 | case HB_TAG('K','P','L',' '): /* Kpelle */ |
2897 | return hb_language_from_string ("kpe" , -1); /* Kpelle [macrolanguage] */ |
2898 | case HB_TAG('K','R','N',' '): /* Karen */ |
2899 | return hb_language_from_string ("kar" , -1); /* Karen [collection] */ |
2900 | case HB_TAG('K','U','I',' '): /* Kui */ |
2901 | return hb_language_from_string ("uki" , -1); /* Kui (India) */ |
2902 | case HB_TAG('K','U','R',' '): /* Kurdish */ |
2903 | return hb_language_from_string ("ku" , -1); /* Kurdish [macrolanguage] */ |
2904 | case HB_TAG('L','M','A',' '): /* Low Mari */ |
2905 | return hb_language_from_string ("mhr" , -1); /* Eastern Mari */ |
2906 | case HB_TAG('L','U','H',' '): /* Luyia */ |
2907 | return hb_language_from_string ("luy" , -1); /* Luyia [macrolanguage] */ |
2908 | case HB_TAG('L','V','I',' '): /* Latvian */ |
2909 | return hb_language_from_string ("lv" , -1); /* Latvian [macrolanguage] */ |
2910 | case HB_TAG('M','A','W',' '): /* Marwari */ |
2911 | return hb_language_from_string ("mwr" , -1); /* Marwari [macrolanguage] */ |
2912 | case HB_TAG('M','L','G',' '): /* Malagasy */ |
2913 | return hb_language_from_string ("mg" , -1); /* Malagasy [macrolanguage] */ |
2914 | case HB_TAG('M','L','Y',' '): /* Malay */ |
2915 | return hb_language_from_string ("ms" , -1); /* Malay [macrolanguage] */ |
2916 | case HB_TAG('M','N','G',' '): /* Mongolian */ |
2917 | return hb_language_from_string ("mn" , -1); /* Mongolian [macrolanguage] */ |
2918 | case HB_TAG('M','N','K',' '): /* Maninka */ |
2919 | return hb_language_from_string ("man" , -1); /* Mandingo [macrolanguage] */ |
2920 | case HB_TAG('M','O','L',' '): /* Moldavian */ |
2921 | return hb_language_from_string ("ro-MD" , -1); /* Romanian; Moldova */ |
2922 | case HB_TAG('M','O','N','T'): /* Thailand Mon */ |
2923 | return hb_language_from_string ("mnw-TH" , -1); /* Mon; Thailand */ |
2924 | case HB_TAG('M','Y','N',' '): /* Mayan */ |
2925 | return hb_language_from_string ("myn" , -1); /* Mayan [collection] */ |
2926 | case HB_TAG('N','A','H',' '): /* Nahuatl */ |
2927 | return hb_language_from_string ("nah" , -1); /* Nahuatl [collection] */ |
2928 | case HB_TAG('N','E','P',' '): /* Nepali */ |
2929 | return hb_language_from_string ("ne" , -1); /* Nepali [macrolanguage] */ |
2930 | case HB_TAG('N','I','S',' '): /* Nisi */ |
2931 | return hb_language_from_string ("njz" , -1); /* Nyishi */ |
2932 | case HB_TAG('N','O','R',' '): /* Norwegian */ |
2933 | return hb_language_from_string ("no" , -1); /* Norwegian [macrolanguage] */ |
2934 | case HB_TAG('O','J','B',' '): /* Ojibway */ |
2935 | return hb_language_from_string ("oj" , -1); /* Ojibwa [macrolanguage] */ |
2936 | case HB_TAG('O','R','O',' '): /* Oromo */ |
2937 | return hb_language_from_string ("om" , -1); /* Oromo [macrolanguage] */ |
2938 | case HB_TAG('P','A','S',' '): /* Pashto */ |
2939 | return hb_language_from_string ("ps" , -1); /* Pashto [macrolanguage] */ |
2940 | case HB_TAG('P','G','R',' '): /* Polytonic Greek */ |
2941 | return hb_language_from_string ("el-polyton" , -1); /* Modern Greek (1453-); Polytonic Greek */ |
2942 | case HB_TAG('P','R','O',' '): /* Provençal / Old Provençal */ |
2943 | return hb_language_from_string ("pro" , -1); /* Old Provençal (to 1500) */ |
2944 | case HB_TAG('Q','U','H',' '): /* Quechua (Bolivia) */ |
2945 | return hb_language_from_string ("quh" , -1); /* South Bolivian Quechua */ |
2946 | case HB_TAG('Q','U','Z',' '): /* Quechua */ |
2947 | return hb_language_from_string ("qu" , -1); /* Quechua [macrolanguage] */ |
2948 | case HB_TAG('Q','V','I',' '): /* Quechua (Ecuador) */ |
2949 | return hb_language_from_string ("qvi" , -1); /* Imbabura Highland Quichua */ |
2950 | case HB_TAG('Q','W','H',' '): /* Quechua (Peru) */ |
2951 | return hb_language_from_string ("qwh" , -1); /* Huaylas Ancash Quechua */ |
2952 | case HB_TAG('R','A','J',' '): /* Rajasthani */ |
2953 | return hb_language_from_string ("raj" , -1); /* Rajasthani [macrolanguage] */ |
2954 | case HB_TAG('R','O','M',' '): /* Romanian */ |
2955 | return hb_language_from_string ("ro" , -1); /* Romanian */ |
2956 | case HB_TAG('R','O','Y',' '): /* Romany */ |
2957 | return hb_language_from_string ("rom" , -1); /* Romany [macrolanguage] */ |
2958 | case HB_TAG('S','Q','I',' '): /* Albanian */ |
2959 | return hb_language_from_string ("sq" , -1); /* Albanian [macrolanguage] */ |
2960 | case HB_TAG('S','R','B',' '): /* Serbian */ |
2961 | return hb_language_from_string ("sr" , -1); /* Serbian */ |
2962 | case HB_TAG('S','X','T',' '): /* Sutu */ |
2963 | return hb_language_from_string ("xnj" , -1); /* Ngoni (Tanzania) */ |
2964 | case HB_TAG('S','Y','R',' '): /* Syriac */ |
2965 | return hb_language_from_string ("syr" , -1); /* Syriac [macrolanguage] */ |
2966 | case HB_TAG('S','Y','R','E'): /* Syriac, Estrangela script-variant (equivalent to ISO 15924 'Syre') */ |
2967 | return hb_language_from_string ("und-Syre" , -1); /* Undetermined; Syriac (Estrangelo variant) */ |
2968 | case HB_TAG('S','Y','R','J'): /* Syriac, Western script-variant (equivalent to ISO 15924 'Syrj') */ |
2969 | return hb_language_from_string ("und-Syrj" , -1); /* Undetermined; Syriac (Western variant) */ |
2970 | case HB_TAG('S','Y','R','N'): /* Syriac, Eastern script-variant (equivalent to ISO 15924 'Syrn') */ |
2971 | return hb_language_from_string ("und-Syrn" , -1); /* Undetermined; Syriac (Eastern variant) */ |
2972 | case HB_TAG('T','M','H',' '): /* Tamashek */ |
2973 | return hb_language_from_string ("tmh" , -1); /* Tamashek [macrolanguage] */ |
2974 | case HB_TAG('T','O','D',' '): /* Todo */ |
2975 | return hb_language_from_string ("xwo" , -1); /* Written Oirat */ |
2976 | case HB_TAG('Z','H','H',' '): /* Chinese, Traditional, Hong Kong SAR */ |
2977 | return hb_language_from_string ("zh-HK" , -1); /* Chinese [macrolanguage]; Hong Kong */ |
2978 | case HB_TAG('Z','H','S',' '): /* Chinese, Simplified */ |
2979 | return hb_language_from_string ("zh-Hans" , -1); /* Chinese [macrolanguage]; Han (Simplified variant) */ |
2980 | case HB_TAG('Z','H','T',' '): /* Chinese, Traditional */ |
2981 | return hb_language_from_string ("zh-Hant" , -1); /* Chinese [macrolanguage]; Han (Traditional variant) */ |
2982 | case HB_TAG('Z','H','T','M'): /* Chinese, Traditional, Macao SAR */ |
2983 | return hb_language_from_string ("zh-MO" , -1); /* Chinese [macrolanguage]; Macao */ |
2984 | case HB_TAG('Z','Z','A',' '): /* Zazaki */ |
2985 | return hb_language_from_string ("zza" , -1); /* Zazaki [macrolanguage] */ |
2986 | default: |
2987 | return HB_LANGUAGE_INVALID; |
2988 | } |
2989 | } |
2990 | |
2991 | #endif /* HB_OT_TAG_TABLE_HH */ |
2992 | |
2993 | /* == End of generated table == */ |
2994 | |