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