2065 lines
97 KiB
C++
2065 lines
97 KiB
C++
/* == Start of generated table == */
|
||
/*
|
||
* The following table is generated by running:
|
||
*
|
||
* ./gen-tag-table.py languagetags language-subtag-registry
|
||
*
|
||
* on files with these headers:
|
||
*
|
||
* <meta name="updated_at" content="2018-09-07 07:45 PM" />
|
||
* File-Date: 2018-08-08
|
||
*/
|
||
|
||
#ifndef HB_OT_TAG_TABLE_HH
|
||
#define HB_OT_TAG_TABLE_HH
|
||
|
||
static const LangTag ot_languages[] = {
|
||
{"aa", {HB_TAG('A','F','R',' ')}}, /* Afar */
|
||
{"aae", {HB_TAG('S','Q','I',' ')}}, /* Arbëreshë Albanian -> Albanian */
|
||
{"aao", {HB_TAG('A','R','A',' ')}}, /* Algerian Saharan Arabic -> Arabic */
|
||
{"aat", {HB_TAG('S','Q','I',' ')}}, /* Arvanitika Albanian -> Albanian */
|
||
{"ab", {HB_TAG('A','B','K',' ')}}, /* Abkhazian */
|
||
{"abh", {HB_TAG('A','R','A',' ')}}, /* Tajiki Arabic -> Arabic */
|
||
{"abq", {HB_TAG('A','B','A',' ')}}, /* Abaza */
|
||
{"abv", {HB_TAG('A','R','A',' ')}}, /* Baharna Arabic -> Arabic */
|
||
{"acf", {HB_TAG('F','A','N',' ')}}, /* Saint Lucian Creole French -> French Antillean */
|
||
{"ach", {HB_TAG('A','C','H',' ')}}, /* Acoli -> Acholi */
|
||
{"acm", {HB_TAG('A','R','A',' ')}}, /* Mesopotamian Arabic -> Arabic */
|
||
{"acq", {HB_TAG('A','R','A',' ')}}, /* Ta'izzi-Adeni Arabic -> Arabic */
|
||
{"acr", {HB_TAG('A','C','R',' ')}}, /* Achi */
|
||
{"acw", {HB_TAG('A','R','A',' ')}}, /* Hijazi Arabic -> Arabic */
|
||
{"acx", {HB_TAG('A','R','A',' ')}}, /* Omani Arabic -> Arabic */
|
||
{"acy", {HB_TAG('A','R','A',' ')}}, /* Cypriot Arabic -> Arabic */
|
||
{"ada", {HB_TAG('D','N','G',' ')}}, /* Adangme -> Dangme */
|
||
{"adf", {HB_TAG('A','R','A',' ')}}, /* Dhofari Arabic -> Arabic */
|
||
{"adp", {HB_TAG('D','Z','N',' ')}}, /* Adap (retired code) -> Dzongkha */
|
||
{"ady", {HB_TAG('A','D','Y',' ')}}, /* Adyghe */
|
||
{"aeb", {HB_TAG('A','R','A',' ')}}, /* Tunisian Arabic -> Arabic */
|
||
{"aec", {HB_TAG('A','R','A',' ')}}, /* Saidi Arabic -> Arabic */
|
||
{"af", {HB_TAG('A','F','K',' ')}}, /* Afrikaans */
|
||
{"afb", {HB_TAG('A','R','A',' ')}}, /* Gulf Arabic -> Arabic */
|
||
{"ahg", {HB_TAG('A','G','W',' ')}}, /* Qimant -> Agaw */
|
||
{"aht", {HB_TAG('A','T','H',' ')}}, /* Ahtena -> Athapaskan */
|
||
{"aii", {HB_TAG('S','W','A',' '), /* Assyrian Neo-Aramaic -> Swadaya Aramaic */
|
||
HB_TAG('S','Y','R',' ')}}, /* Assyrian Neo-Aramaic -> Syriac */
|
||
{"aio", {HB_TAG('A','I','O',' ')}}, /* Aiton */
|
||
{"aiw", {HB_TAG('A','R','I',' ')}}, /* Aari */
|
||
{"ajp", {HB_TAG('A','R','A',' ')}}, /* South Levantine Arabic -> Arabic */
|
||
{"ak", {HB_TAG('A','K','A',' '), /* Akan [macrolanguage] */
|
||
HB_TAG('T','W','I',' ')}}, /* Akan [macrolanguage] -> Twi */
|
||
{"aln", {HB_TAG('S','Q','I',' ')}}, /* Gheg Albanian -> Albanian */
|
||
{"als", {HB_TAG('S','Q','I',' ')}}, /* Tosk Albanian -> Albanian */
|
||
{"alt", {HB_TAG('A','L','T',' ')}}, /* Southern Altai -> Altai */
|
||
{"am", {HB_TAG('A','M','H',' ')}}, /* Amharic */
|
||
{"amf", {HB_TAG('H','B','N',' ')}}, /* Hamer-Banna -> Hammer-Banna */
|
||
{"amw", {HB_TAG('S','Y','R',' ')}}, /* Western Neo-Aramaic -> Syriac */
|
||
{"an", {HB_TAG('A','R','G',' ')}}, /* Aragonese */
|
||
{"ang", {HB_TAG('A','N','G',' ')}}, /* Old English (ca. 450-1100) -> Anglo-Saxon */
|
||
{"apc", {HB_TAG('A','R','A',' ')}}, /* North Levantine Arabic -> Arabic */
|
||
{"apd", {HB_TAG('A','R','A',' ')}}, /* Sudanese Arabic -> Arabic */
|
||
{"apj", {HB_TAG('A','T','H',' ')}}, /* Jicarilla Apache -> Athapaskan */
|
||
{"apk", {HB_TAG('A','T','H',' ')}}, /* Kiowa Apache -> Athapaskan */
|
||
{"apl", {HB_TAG('A','T','H',' ')}}, /* Lipan Apache -> Athapaskan */
|
||
{"apm", {HB_TAG('A','T','H',' ')}}, /* Mescalero-Chiricahua Apache -> Athapaskan */
|
||
{"apw", {HB_TAG('A','T','H',' ')}}, /* Western Apache -> Athapaskan */
|
||
{"ar", {HB_TAG('A','R','A',' ')}}, /* Arabic [macrolanguage] */
|
||
{"arb", {HB_TAG('A','R','A',' ')}}, /* Standard Arabic -> Arabic */
|
||
{"arn", {HB_TAG('M','A','P',' ')}}, /* Mapudungun */
|
||
{"arq", {HB_TAG('A','R','A',' ')}}, /* Algerian Arabic -> Arabic */
|
||
{"ars", {HB_TAG('A','R','A',' ')}}, /* Najdi Arabic -> Arabic */
|
||
{"ary", {HB_TAG('M','O','R',' ')}}, /* Moroccan Arabic -> Moroccan */
|
||
{"arz", {HB_TAG('A','R','A',' ')}}, /* Egyptian Arabic -> Arabic */
|
||
{"as", {HB_TAG('A','S','M',' ')}}, /* Assamese */
|
||
{"ast", {HB_TAG('A','S','T',' ')}}, /* Asturian */
|
||
{"ath", {HB_TAG('A','T','H',' ')}}, /* Athapascan [family] -> Athapaskan */
|
||
{"atj", {HB_TAG('R','C','R',' ')}}, /* Atikamekw -> R-Cree */
|
||
{"atv", {HB_TAG('A','L','T',' ')}}, /* Northern Altai -> Altai */
|
||
{"auz", {HB_TAG('A','R','A',' ')}}, /* Uzbeki Arabic -> Arabic */
|
||
{"av", {HB_TAG('A','V','R',' ')}}, /* Avaric -> Avar */
|
||
{"avl", {HB_TAG('A','R','A',' ')}}, /* Eastern Egyptian Bedawi Arabic -> Arabic */
|
||
{"awa", {HB_TAG('A','W','A',' ')}}, /* Awadhi */
|
||
{"ay", {HB_TAG('A','Y','M',' ')}}, /* Aymara [macrolanguage] */
|
||
{"ayc", {HB_TAG('A','Y','M',' ')}}, /* Southern Aymara -> Aymara */
|
||
{"ayh", {HB_TAG('A','R','A',' ')}}, /* Hadrami Arabic -> Arabic */
|
||
{"ayl", {HB_TAG('A','R','A',' ')}}, /* Libyan Arabic -> Arabic */
|
||
{"ayn", {HB_TAG('A','R','A',' ')}}, /* Sanaani Arabic -> Arabic */
|
||
{"ayp", {HB_TAG('A','R','A',' ')}}, /* North Mesopotamian Arabic -> Arabic */
|
||
{"ayr", {HB_TAG('A','Y','M',' ')}}, /* Central Aymara -> Aymara */
|
||
{"az", {HB_TAG('A','Z','E',' ')}}, /* Azerbaijani [macrolanguage] */
|
||
{"azb", {HB_TAG('A','Z','B',' ')}}, /* South Azerbaijani -> Torki */
|
||
{"azj", {HB_TAG('A','Z','E',' ')}}, /* North Azerbaijani -> Azerbaijani */
|
||
{"ba", {HB_TAG('B','S','H',' ')}}, /* Bashkir */
|
||
{"bad", {HB_TAG('B','A','D','0')}}, /* Banda [family] */
|
||
{"bai", {HB_TAG('B','M','L',' ')}}, /* Bamileke [family] */
|
||
{"bal", {HB_TAG('B','L','I',' ')}}, /* Baluchi [macrolanguage] */
|
||
{"ban", {HB_TAG('B','A','N',' ')}}, /* Balinese */
|
||
{"bar", {HB_TAG('B','A','R',' ')}}, /* Bavarian */
|
||
{"bbc", {HB_TAG('B','B','C',' ')}}, /* Batak Toba */
|
||
{"bbz", {HB_TAG('A','R','A',' ')}}, /* Babalia Creole Arabic -> Arabic */
|
||
{"bcc", {HB_TAG('B','L','I',' ')}}, /* Southern Balochi -> Baluchi */
|
||
{"bci", {HB_TAG('B','A','U',' ')}}, /* Baoulé -> Baulé */
|
||
{"bcl", {HB_TAG('B','I','K',' ')}}, /* Central Bikol -> Bikol */
|
||
{"bcq", {HB_TAG('B','C','H',' ')}}, /* Bench */
|
||
{"bcr", {HB_TAG('A','T','H',' ')}}, /* Babine -> Athapaskan */
|
||
{"bdy", {HB_TAG('B','D','Y',' ')}}, /* Bandjalang */
|
||
{"be", {HB_TAG('B','E','L',' ')}}, /* Belarusian -> Belarussian */
|
||
{"bea", {HB_TAG('A','T','H',' ')}}, /* Beaver -> Athapaskan */
|
||
{"beb", {HB_TAG('B','T','I',' ')}}, /* Bebele -> Beti */
|
||
{"bem", {HB_TAG('B','E','M',' ')}}, /* Bemba (Zambia) */
|
||
{"ber", {HB_TAG('B','B','R',' ')}}, /* Berber [family] */
|
||
{"bfq", {HB_TAG('B','A','D',' ')}}, /* Badaga */
|
||
{"bft", {HB_TAG('B','L','T',' ')}}, /* Balti */
|
||
{"bfu", {HB_TAG('L','A','H',' ')}}, /* Gahri -> Lahuli */
|
||
{"bfy", {HB_TAG('B','A','G',' ')}}, /* Bagheli -> Baghelkhandi */
|
||
{"bg", {HB_TAG('B','G','R',' ')}}, /* Bulgarian */
|
||
{"bgc", {HB_TAG('B','G','C',' ')}}, /* Haryanvi */
|
||
{"bgn", {HB_TAG('B','L','I',' ')}}, /* Western Balochi -> Baluchi */
|
||
{"bgp", {HB_TAG('B','L','I',' ')}}, /* Eastern Balochi -> Baluchi */
|
||
{"bgq", {HB_TAG('B','G','Q',' ')}}, /* Bagri */
|
||
{"bgr", {HB_TAG('Q','I','N',' ')}}, /* Bawm Chin -> Chin */
|
||
{"bhb", {HB_TAG('B','H','I',' ')}}, /* Bhili */
|
||
{"bhi", {HB_TAG('B','H','I',' ')}}, /* Bhilali -> Bhili */
|
||
{"bhk", {HB_TAG('B','I','K',' ')}}, /* Albay Bicolano (retired code) -> Bikol */
|
||
{"bho", {HB_TAG('B','H','O',' ')}}, /* Bhojpuri */
|
||
{"bhr", {HB_TAG('M','L','G',' ')}}, /* Bara Malagasy -> Malagasy */
|
||
{"bi", {HB_TAG('B','I','S',' ')}}, /* Bislama */
|
||
{"bik", {HB_TAG('B','I','K',' ')}}, /* Bikol [macrolanguage] */
|
||
{"bin", {HB_TAG('E','D','O',' ')}}, /* Edo */
|
||
{"bjj", {HB_TAG('B','J','J',' ')}}, /* Kanauji */
|
||
{"bjn", {HB_TAG('M','L','Y',' ')}}, /* Banjar -> Malay */
|
||
{"bjq", {HB_TAG('M','L','G',' ')}}, /* Southern Betsimisaraka Malagasy (retired code) -> Malagasy */
|
||
{"bjt", {HB_TAG('B','L','N',' ')}}, /* Balanta-Ganja -> Balante */
|
||
{"bla", {HB_TAG('B','K','F',' ')}}, /* Siksika -> Blackfoot */
|
||
{"ble", {HB_TAG('B','L','N',' ')}}, /* Balanta-Kentohe -> Balante */
|
||
{"blk", {HB_TAG('B','L','K',' ')}}, /* Pa'o Karen */
|
||
{"bln", {HB_TAG('B','I','K',' ')}}, /* Southern Catanduanes Bikol -> Bikol */
|
||
{"bm", {HB_TAG('B','M','B',' ')}}, /* Bambara (Bamanankan) */
|
||
{"bmm", {HB_TAG('M','L','G',' ')}}, /* Northern Betsimisaraka Malagasy -> Malagasy */
|
||
{"bn", {HB_TAG('B','E','N',' ')}}, /* Bengali */
|
||
{"bo", {HB_TAG('T','I','B',' ')}}, /* Tibetan */
|
||
{"bpy", {HB_TAG('B','P','Y',' ')}}, /* Bishnupriya -> Bishnupriya Manipuri */
|
||
{"bqi", {HB_TAG('L','R','C',' ')}}, /* Bakhtiari -> Luri */
|
||
{"br", {HB_TAG('B','R','E',' ')}}, /* Breton */
|
||
{"bra", {HB_TAG('B','R','I',' ')}}, /* Braj -> Braj Bhasha */
|
||
{"brh", {HB_TAG('B','R','H',' ')}}, /* Brahui */
|
||
{"brx", {HB_TAG('B','R','X',' ')}}, /* Bodo (India) */
|
||
{"bs", {HB_TAG('B','O','S',' ')}}, /* Bosnian */
|
||
{"bsk", {HB_TAG('B','S','K',' ')}}, /* Burushaski */
|
||
{"btb", {HB_TAG('B','T','I',' ')}}, /* Beti (Cameroon) (retired code) */
|
||
{"btj", {HB_TAG('M','L','Y',' ')}}, /* Bacanese Malay -> Malay */
|
||
{"bto", {HB_TAG('B','I','K',' ')}}, /* Rinconada Bikol -> Bikol */
|
||
{"bts", {HB_TAG('B','T','S',' ')}}, /* Batak Simalungun */
|
||
{"bug", {HB_TAG('B','U','G',' ')}}, /* Buginese -> Bugis */
|
||
{"bum", {HB_TAG('B','T','I',' ')}}, /* Bulu (Cameroon) -> Beti */
|
||
{"bve", {HB_TAG('M','L','Y',' ')}}, /* Berau Malay -> Malay */
|
||
{"bvu", {HB_TAG('M','L','Y',' ')}}, /* Bukit Malay -> Malay */
|
||
{"bxk", {HB_TAG('L','U','H',' ')}}, /* Bukusu -> Luyia */
|
||
{"bxp", {HB_TAG('B','T','I',' ')}}, /* Bebil -> Beti */
|
||
{"bxr", {HB_TAG('R','B','U',' ')}}, /* Russia Buriat -> Russian Buriat */
|
||
{"byn", {HB_TAG('B','I','L',' ')}}, /* Bilin -> Bilen */
|
||
{"byv", {HB_TAG('B','Y','V',' ')}}, /* Medumba */
|
||
{"bzc", {HB_TAG('M','L','G',' ')}}, /* Southern Betsimisaraka Malagasy -> Malagasy */
|
||
{"ca", {HB_TAG('C','A','T',' ')}}, /* Catalan */
|
||
{"caf", {HB_TAG('C','R','R',' '), /* Southern Carrier -> Carrier */
|
||
HB_TAG('A','T','H',' ')}}, /* Southern Carrier -> Athapaskan */
|
||
{"cak", {HB_TAG('C','A','K',' ')}}, /* Kaqchikel */
|
||
{"cbk", {HB_TAG('C','B','K',' ')}}, /* Chavacano -> Zamboanga Chavacano */
|
||
{"cbl", {HB_TAG('Q','I','N',' ')}}, /* Bualkhaw Chin -> Chin */
|
||
{"cco", {HB_TAG('C','C','H','N')}}, /* Comaltepec Chinantec -> Chinantec */
|
||
{"ccq", {HB_TAG('A','R','K',' ')}}, /* Chaungtha (retired code) -> Rakhine */
|
||
{"cdo", {HB_TAG('Z','H','S',' ')}}, /* Min Dong Chinese -> Chinese Simplified */
|
||
{"ce", {HB_TAG('C','H','E',' ')}}, /* Chechen */
|
||
{"ceb", {HB_TAG('C','E','B',' ')}}, /* Cebuano */
|
||
{"cfm", {HB_TAG('H','A','L',' ')}}, /* Halam (Falam Chin) */
|
||
{"cgg", {HB_TAG('C','G','G',' ')}}, /* Chiga */
|
||
{"ch", {HB_TAG('C','H','A',' ')}}, /* Chamorro */
|
||
{"chj", {HB_TAG('C','C','H','N')}}, /* Ojitlán Chinantec -> Chinantec */
|
||
{"chk", {HB_TAG('C','H','K','0')}}, /* Chuukese */
|
||
{"cho", {HB_TAG('C','H','O',' ')}}, /* Choctaw */
|
||
{"chp", {HB_TAG('C','H','P',' '), /* Chipewyan */
|
||
HB_TAG('S','A','Y',' '), /* Chipewyan -> Sayisi */
|
||
HB_TAG('A','T','H',' ')}}, /* Chipewyan -> Athapaskan */
|
||
{"chq", {HB_TAG('C','C','H','N')}}, /* Quiotepec Chinantec -> Chinantec */
|
||
{"chr", {HB_TAG('C','H','R',' ')}}, /* Cherokee */
|
||
{"chy", {HB_TAG('C','H','Y',' ')}}, /* Cheyenne */
|
||
{"chz", {HB_TAG('C','C','H','N')}}, /* Ozumacín Chinantec -> Chinantec */
|
||
{"ciw", {HB_TAG('O','J','B',' ')}}, /* Chippewa -> Ojibway */
|
||
{"cja", {HB_TAG('C','J','A',' ')}}, /* Western Cham */
|
||
{"cjm", {HB_TAG('C','J','M',' ')}}, /* Eastern Cham */
|
||
{"cjy", {HB_TAG('Z','H','S',' ')}}, /* Jinyu Chinese -> Chinese Simplified */
|
||
{"cka", {HB_TAG('Q','I','N',' ')}}, /* Khumi Awa Chin (retired code) -> Chin */
|
||
{"ckb", {HB_TAG('K','U','R',' ')}}, /* Central Kurdish -> Kurdish */
|
||
{"ckt", {HB_TAG('C','H','K',' ')}}, /* Chukot -> Chukchi */
|
||
{"clc", {HB_TAG('A','T','H',' ')}}, /* Chilcotin -> Athapaskan */
|
||
{"cld", {HB_TAG('S','Y','R',' ')}}, /* Chaldean Neo-Aramaic -> Syriac */
|
||
{"cle", {HB_TAG('C','C','H','N')}}, /* Lealao Chinantec -> Chinantec */
|
||
{"cmn", {HB_TAG('Z','H','S',' ')}}, /* Mandarin Chinese -> Chinese Simplified */
|
||
{"cmr", {HB_TAG('Q','I','N',' ')}}, /* Mro-Khimi Chin -> Chin */
|
||
{"cnb", {HB_TAG('Q','I','N',' ')}}, /* Chinbon Chin -> Chin */
|
||
{"cnh", {HB_TAG('Q','I','N',' ')}}, /* Hakha Chin -> Chin */
|
||
{"cnk", {HB_TAG('Q','I','N',' ')}}, /* Khumi Chin -> Chin */
|
||
{"cnl", {HB_TAG('C','C','H','N')}}, /* Lalana Chinantec -> Chinantec */
|
||
{"cnt", {HB_TAG('C','C','H','N')}}, /* Tepetotutla Chinantec -> Chinantec */
|
||
{"cnw", {HB_TAG('Q','I','N',' ')}}, /* Ngawn Chin -> Chin */
|
||
{"co", {HB_TAG('C','O','S',' ')}}, /* Corsican */
|
||
{"coa", {HB_TAG('M','L','Y',' ')}}, /* Cocos Islands Malay -> Malay */
|
||
{"cop", {HB_TAG('C','O','P',' ')}}, /* Coptic */
|
||
{"coq", {HB_TAG('A','T','H',' ')}}, /* Coquille -> Athapaskan */
|
||
{"cpa", {HB_TAG('C','C','H','N')}}, /* Palantla Chinantec -> Chinantec */
|
||
{"cpe", {HB_TAG('C','P','P',' ')}}, /* English-based creoles and pidgins [family] -> Creoles */
|
||
{"cpf", {HB_TAG('C','P','P',' ')}}, /* French-based creoles and pidgins [family] -> Creoles */
|
||
{"cpp", {HB_TAG('C','P','P',' ')}}, /* Portuguese-based creoles and pidgins [family] -> Creoles */
|
||
{"cpx", {HB_TAG('Z','H','S',' ')}}, /* Pu-Xian Chinese -> Chinese Simplified */
|
||
{"cqd", {HB_TAG('H','M','N',' ')}}, /* Chuanqiandian Cluster Miao -> Hmong */
|
||
{"cqu", {HB_TAG('Q','U','H',' ')}}, /* Chilean Quechua (retired code) -> Quechua (Bolivia) */
|
||
{"cr", {HB_TAG('C','R','E',' '), /* Cree [macrolanguage] */
|
||
HB_TAG('Y','C','R',' ')}}, /* Cree [macrolanguage] -> Y-Cree */
|
||
{"crh", {HB_TAG('C','R','T',' ')}}, /* Crimean Tatar */
|
||
{"crj", {HB_TAG('E','C','R',' ')}}, /* Southern East Cree -> Eastern Cree */
|
||
{"crk", {HB_TAG('W','C','R',' ')}}, /* Plains Cree -> West-Cree */
|
||
{"crl", {HB_TAG('E','C','R',' ')}}, /* Northern East Cree -> Eastern Cree */
|
||
{"crm", {HB_TAG('M','C','R',' '), /* Moose Cree */
|
||
HB_TAG('L','C','R',' ')}}, /* Moose Cree -> L-Cree */
|
||
{"crp", {HB_TAG('C','P','P',' ')}}, /* Creoles and pidgins [family] -> Creoles */
|
||
{"crx", {HB_TAG('C','R','R',' '), /* Carrier */
|
||
HB_TAG('A','T','H',' ')}}, /* Carrier -> Athapaskan */
|
||
{"cs", {HB_TAG('C','S','Y',' ')}}, /* Czech */
|
||
{"csa", {HB_TAG('C','C','H','N')}}, /* Chiltepec Chinantec -> Chinantec */
|
||
{"csb", {HB_TAG('C','S','B',' ')}}, /* Kashubian */
|
||
{"csh", {HB_TAG('Q','I','N',' ')}}, /* Asho Chin -> Chin */
|
||
{"cso", {HB_TAG('C','C','H','N')}}, /* Sochiapam Chinantec -> Chinantec */
|
||
{"csw", {HB_TAG('N','C','R',' '), /* Swampy Cree -> N-Cree */
|
||
HB_TAG('N','H','C',' ')}}, /* Swampy Cree -> Norway House Cree */
|
||
{"csy", {HB_TAG('Q','I','N',' ')}}, /* Siyin Chin -> Chin */
|
||
{"ctc", {HB_TAG('A','T','H',' ')}}, /* Chetco -> Athapaskan */
|
||
{"ctd", {HB_TAG('Q','I','N',' ')}}, /* Tedim Chin -> Chin */
|
||
{"cte", {HB_TAG('C','C','H','N')}}, /* Tepinapa Chinantec -> Chinantec */
|
||
{"ctg", {HB_TAG('C','T','G',' ')}}, /* Chittagonian */
|
||
{"ctl", {HB_TAG('C','C','H','N')}}, /* Tlacoatzintepec Chinantec -> Chinantec */
|
||
{"cts", {HB_TAG('B','I','K',' ')}}, /* Northern Catanduanes Bikol -> Bikol */
|
||
{"cu", {HB_TAG('C','S','L',' ')}}, /* Church Slavonic */
|
||
{"cuc", {HB_TAG('C','C','H','N')}}, /* Usila Chinantec -> Chinantec */
|
||
{"cuk", {HB_TAG('C','U','K',' ')}}, /* San Blas Kuna */
|
||
{"cv", {HB_TAG('C','H','U',' ')}}, /* Chuvash */
|
||
{"cvn", {HB_TAG('C','C','H','N')}}, /* Valle Nacional Chinantec -> Chinantec */
|
||
{"cwd", {HB_TAG('D','C','R',' '), /* Woods Cree */
|
||
HB_TAG('T','C','R',' ')}}, /* Woods Cree -> TH-Cree */
|
||
{"cy", {HB_TAG('W','E','L',' ')}}, /* Welsh */
|
||
{"czh", {HB_TAG('Z','H','S',' ')}}, /* Huizhou Chinese -> Chinese Simplified */
|
||
{"czo", {HB_TAG('Z','H','S',' ')}}, /* Min Zhong Chinese -> Chinese Simplified */
|
||
{"czt", {HB_TAG('Q','I','N',' ')}}, /* Zotung Chin -> Chin */
|
||
{"da", {HB_TAG('D','A','N',' ')}}, /* Danish */
|
||
{"dao", {HB_TAG('Q','I','N',' ')}}, /* Daai Chin -> Chin */
|
||
{"dap", {HB_TAG('N','I','S',' ')}}, /* Nisi (India) (retired code) */
|
||
{"dar", {HB_TAG('D','A','R',' ')}}, /* Dargwa */
|
||
{"dax", {HB_TAG('D','A','X',' ')}}, /* Dayi */
|
||
{"de", {HB_TAG('D','E','U',' ')}}, /* German */
|
||
{"den", {HB_TAG('S','L','A',' '), /* Slave (Athapascan) [macrolanguage] -> Slavey */
|
||
HB_TAG('A','T','H',' ')}}, /* Slave (Athapascan) [macrolanguage] -> Athapaskan */
|
||
{"dgo", {HB_TAG('D','G','O',' ')}}, /* Dogri */
|
||
{"dgr", {HB_TAG('A','T','H',' ')}}, /* Dogrib -> Athapaskan */
|
||
{"dhd", {HB_TAG('M','A','W',' ')}}, /* Dhundari -> Marwari */
|
||
{"dhg", {HB_TAG('D','H','G',' ')}}, /* Dhangu */
|
||
{"dib", {HB_TAG('D','N','K',' ')}}, /* South Central Dinka -> Dinka */
|
||
{"dik", {HB_TAG('D','N','K',' ')}}, /* Southwestern Dinka -> Dinka */
|
||
{"din", {HB_TAG('D','N','K',' ')}}, /* Dinka [macrolanguage] */
|
||
{"dip", {HB_TAG('D','N','K',' ')}}, /* Northeastern Dinka -> Dinka */
|
||
{"diq", {HB_TAG('D','I','Q',' ')}}, /* Dimli */
|
||
{"diw", {HB_TAG('D','N','K',' ')}}, /* Northwestern Dinka -> Dinka */
|
||
{"dje", {HB_TAG('D','J','R',' ')}}, /* Zarma */
|
||
{"djr", {HB_TAG('D','J','R','0')}}, /* Djambarrpuyngu */
|
||
{"dks", {HB_TAG('D','N','K',' ')}}, /* Southeastern Dinka -> Dinka */
|
||
{"dng", {HB_TAG('D','U','N',' ')}}, /* Dungan */
|
||
{"dnj", {HB_TAG('D','N','J',' ')}}, /* Dan */
|
||
{"doi", {HB_TAG('D','G','R',' ')}}, /* Dogri [macrolanguage] */
|
||
{"drh", {HB_TAG('M','N','G',' ')}}, /* Darkhat (retired code) -> Mongolian */
|
||
{"drw", {HB_TAG('D','R','I',' ')}}, /* Darwazi (retired code) -> Dari */
|
||
{"dsb", {HB_TAG('L','S','B',' ')}}, /* Lower Sorbian */
|
||
{"dty", {HB_TAG('N','E','P',' ')}}, /* Dotyali -> Nepali */
|
||
{"duj", {HB_TAG('D','U','J',' ')}}, /* Dhuwal (retired code) */
|
||
{"dup", {HB_TAG('M','L','Y',' ')}}, /* Duano -> Malay */
|
||
{"dv", {HB_TAG('D','I','V',' '), /* Divehi (Dhivehi, Maldivian) */
|
||
HB_TAG('D','H','V',' ')}}, /* Divehi (Dhivehi, Maldivian) (deprecated) */
|
||
{"dwu", {HB_TAG('D','U','J',' ')}}, /* Dhuwal */
|
||
{"dwy", {HB_TAG('D','U','J',' ')}}, /* Dhuwaya -> Dhuwal */
|
||
{"dyu", {HB_TAG('J','U','L',' ')}}, /* Dyula -> Jula */
|
||
{"dz", {HB_TAG('D','Z','N',' ')}}, /* Dzongkha */
|
||
{"ee", {HB_TAG('E','W','E',' ')}}, /* Ewe */
|
||
{"efi", {HB_TAG('E','F','I',' ')}}, /* Efik */
|
||
{"ekk", {HB_TAG('E','T','I',' ')}}, /* Standard Estonian -> Estonian */
|
||
{"el", {HB_TAG('E','L','L',' ')}}, /* Modern Greek (1453-) -> Greek */
|
||
{"emk", {HB_TAG('E','M','K',' '), /* Eastern Maninkakan */
|
||
HB_TAG('M','N','K',' ')}}, /* Eastern Maninkakan -> Maninka */
|
||
{"en", {HB_TAG('E','N','G',' ')}}, /* English */
|
||
{"enb", {HB_TAG('K','A','L',' ')}}, /* Markweeta -> Kalenjin */
|
||
{"enf", {HB_TAG('F','N','E',' ')}}, /* Forest Enets -> Forest Nenets */
|
||
{"enh", {HB_TAG('T','N','E',' ')}}, /* Tundra Enets -> Tundra Nenets */
|
||
{"eo", {HB_TAG('N','T','O',' ')}}, /* Esperanto */
|
||
{"es", {HB_TAG('E','S','P',' ')}}, /* Spanish */
|
||
{"esg", {HB_TAG('G','O','N',' ')}}, /* Aheri Gondi -> Gondi */
|
||
{"esi", {HB_TAG('I','P','K',' ')}}, /* North Alaskan Inupiatun -> Inupiat */
|
||
{"esk", {HB_TAG('I','P','K',' ')}}, /* Northwest Alaska Inupiatun -> Inupiat */
|
||
{"esu", {HB_TAG('E','S','U',' ')}}, /* Central Yupik */
|
||
{"et", {HB_TAG('E','T','I',' ')}}, /* Estonian [macrolanguage] */
|
||
{"eto", {HB_TAG('B','T','I',' ')}}, /* Eton (Cameroon) -> Beti */
|
||
{"eu", {HB_TAG('E','U','Q',' ')}}, /* Basque */
|
||
{"eve", {HB_TAG('E','V','N',' ')}}, /* Even */
|
||
{"evn", {HB_TAG('E','V','K',' ')}}, /* Evenki */
|
||
{"ewo", {HB_TAG('B','T','I',' ')}}, /* Ewondo -> Beti */
|
||
{"eyo", {HB_TAG('K','A','L',' ')}}, /* Keiyo -> Kalenjin */
|
||
{"fa", {HB_TAG('F','A','R',' ')}}, /* Persian [macrolanguage] */
|
||
{"fan", {HB_TAG('F','A','N','0')}}, /* Fang (Equatorial Guinea) */
|
||
{"fat", {HB_TAG('F','A','T',' ')}}, /* Fanti */
|
||
{"fbl", {HB_TAG('B','I','K',' ')}}, /* West Albay Bikol -> Bikol */
|
||
{"ff", {HB_TAG('F','U','L',' ')}}, /* Fulah [macrolanguage] */
|
||
{"ffm", {HB_TAG('F','U','L',' ')}}, /* Maasina Fulfulde -> Fulah */
|
||
{"fi", {HB_TAG('F','I','N',' ')}}, /* Finnish */
|
||
{"fil", {HB_TAG('P','I','L',' ')}}, /* Filipino */
|
||
{"fj", {HB_TAG('F','J','I',' ')}}, /* Fijian */
|
||
{"flm", {HB_TAG('H','A','L',' '), /* Halam (Falam Chin) (retired code) */
|
||
HB_TAG('Q','I','N',' ')}}, /* Falam Chin (retired code) -> Chin */
|
||
{"fmp", {HB_TAG('F','M','P',' ')}}, /* Fe'fe' */
|
||
{"fo", {HB_TAG('F','O','S',' ')}}, /* Faroese */
|
||
{"fon", {HB_TAG('F','O','N',' ')}}, /* Fon */
|
||
{"fr", {HB_TAG('F','R','A',' ')}}, /* French */
|
||
{"frc", {HB_TAG('F','R','C',' ')}}, /* Cajun French */
|
||
{"frp", {HB_TAG('F','R','P',' ')}}, /* Arpitan */
|
||
{"fub", {HB_TAG('F','U','L',' ')}}, /* Adamawa Fulfulde -> Fulah */
|
||
{"fuc", {HB_TAG('F','U','L',' ')}}, /* Pulaar -> Fulah */
|
||
{"fue", {HB_TAG('F','U','L',' ')}}, /* Borgu Fulfulde -> Fulah */
|
||
{"fuf", {HB_TAG('F','T','A',' ')}}, /* Pular -> Futa */
|
||
{"fuh", {HB_TAG('F','U','L',' ')}}, /* Western Niger Fulfulde -> Fulah */
|
||
{"fui", {HB_TAG('F','U','L',' ')}}, /* Bagirmi Fulfulde -> Fulah */
|
||
{"fuq", {HB_TAG('F','U','L',' ')}}, /* Central-Eastern Niger Fulfulde -> Fulah */
|
||
{"fur", {HB_TAG('F','R','L',' ')}}, /* Friulian */
|
||
{"fuv", {HB_TAG('F','U','V',' ')}}, /* Nigerian Fulfulde */
|
||
{"fy", {HB_TAG('F','R','I',' ')}}, /* Western Frisian -> Frisian */
|
||
{"ga", {HB_TAG('I','R','I',' ')}}, /* Irish */
|
||
{"gaa", {HB_TAG('G','A','D',' ')}}, /* Ga */
|
||
{"gag", {HB_TAG('G','A','G',' ')}}, /* Gagauz */
|
||
{"gan", {HB_TAG('Z','H','S',' ')}}, /* Gan Chinese -> Chinese Simplified */
|
||
{"gax", {HB_TAG('O','R','O',' ')}}, /* Borana-Arsi-Guji Oromo -> Oromo */
|
||
{"gaz", {HB_TAG('O','R','O',' ')}}, /* West Central Oromo -> Oromo */
|
||
{"gbm", {HB_TAG('G','A','W',' ')}}, /* Garhwali */
|
||
{"gce", {HB_TAG('A','T','H',' ')}}, /* Galice -> Athapaskan */
|
||
{"gd", {HB_TAG('G','A','E',' ')}}, /* Scottish Gaelic (Gaelic) */
|
||
{"gda", {HB_TAG('R','A','J',' ')}}, /* Gade Lohar -> Rajasthani */
|
||
{"gez", {HB_TAG('G','E','Z',' ')}}, /* Geez */
|
||
{"ggo", {HB_TAG('G','O','N',' ')}}, /* Southern Gondi (retired code) -> Gondi */
|
||
{"gih", {HB_TAG('G','I','H',' ')}}, /* Githabul */
|
||
{"gil", {HB_TAG('G','I','L','0')}}, /* Kiribati (Gilbertese) */
|
||
{"gju", {HB_TAG('R','A','J',' ')}}, /* Gujari -> Rajasthani */
|
||
{"gkp", {HB_TAG('G','K','P',' ')}}, /* Guinea Kpelle -> Kpelle (Guinea) */
|
||
{"gl", {HB_TAG('G','A','L',' ')}}, /* Galician */
|
||
{"gld", {HB_TAG('N','A','N',' ')}}, /* Nanai */
|
||
{"glk", {HB_TAG('G','L','K',' ')}}, /* Gilaki */
|
||
{"gn", {HB_TAG('G','U','A',' ')}}, /* Guarani [macrolanguage] */
|
||
{"gnn", {HB_TAG('G','N','N',' ')}}, /* Gumatj */
|
||
{"gno", {HB_TAG('G','O','N',' ')}}, /* Northern Gondi -> Gondi */
|
||
{"gnw", {HB_TAG('G','U','A',' ')}}, /* Western Bolivian Guaraní -> Guarani */
|
||
{"gog", {HB_TAG('G','O','G',' ')}}, /* Gogo */
|
||
{"gom", {HB_TAG('K','O','K',' ')}}, /* Goan Konkani -> Konkani */
|
||
{"gon", {HB_TAG('G','O','N',' ')}}, /* Gondi [macrolanguage] */
|
||
{"grt", {HB_TAG('G','R','O',' ')}}, /* Garo */
|
||
{"gru", {HB_TAG('S','O','G',' ')}}, /* Kistane -> Sodo Gurage */
|
||
{"gsw", {HB_TAG('A','L','S',' ')}}, /* Alsatian */
|
||
{"gu", {HB_TAG('G','U','J',' ')}}, /* Gujarati */
|
||
{"guc", {HB_TAG('G','U','C',' ')}}, /* Wayuu */
|
||
{"guf", {HB_TAG('G','U','F',' ')}}, /* Gupapuyngu */
|
||
{"gug", {HB_TAG('G','U','A',' ')}}, /* Paraguayan Guaraní -> Guarani */
|
||
{"gui", {HB_TAG('G','U','A',' ')}}, /* Eastern Bolivian Guaraní -> Guarani */
|
||
{"guk", {HB_TAG('G','M','Z',' '), /* Gumuz */
|
||
HB_TAG('G','U','K',' ')}}, /* Gumuz (SIL fonts) */
|
||
{"gun", {HB_TAG('G','U','A',' ')}}, /* Mbyá Guaraní -> Guarani */
|
||
{"guz", {HB_TAG('G','U','Z',' ')}}, /* Gusii */
|
||
{"gv", {HB_TAG('M','N','X',' ')}}, /* Manx */
|
||
{"gwi", {HB_TAG('A','T','H',' ')}}, /* Gwichʼin -> Athapaskan */
|
||
{"ha", {HB_TAG('H','A','U',' ')}}, /* Hausa */
|
||
{"haa", {HB_TAG('A','T','H',' ')}}, /* Han -> Athapaskan */
|
||
{"hae", {HB_TAG('O','R','O',' ')}}, /* Eastern Oromo -> Oromo */
|
||
{"hak", {HB_TAG('Z','H','S',' ')}}, /* Hakka Chinese -> Chinese Simplified */
|
||
{"har", {HB_TAG('H','R','I',' ')}}, /* Harari */
|
||
{"haw", {HB_TAG('H','A','W',' ')}}, /* Hawaiian */
|
||
{"hay", {HB_TAG('H','A','Y',' ')}}, /* Haya */
|
||
{"haz", {HB_TAG('H','A','Z',' ')}}, /* Hazaragi */
|
||
{"he", {HB_TAG('I','W','R',' ')}}, /* Hebrew */
|
||
{"hea", {HB_TAG('H','M','N',' ')}}, /* Northern Qiandong Miao -> Hmong */
|
||
{"hi", {HB_TAG('H','I','N',' ')}}, /* Hindi */
|
||
{"hil", {HB_TAG('H','I','L',' ')}}, /* Hiligaynon */
|
||
{"hji", {HB_TAG('M','L','Y',' ')}}, /* Haji -> Malay */
|
||
{"hlt", {HB_TAG('Q','I','N',' ')}}, /* Matu Chin -> Chin */
|
||
{"hma", {HB_TAG('H','M','N',' ')}}, /* Southern Mashan Hmong -> Hmong */
|
||
{"hmc", {HB_TAG('H','M','N',' ')}}, /* Central Huishui Hmong -> Hmong */
|
||
{"hmd", {HB_TAG('H','M','N',' ')}}, /* Large Flowery Miao -> Hmong */
|
||
{"hme", {HB_TAG('H','M','N',' ')}}, /* Eastern Huishui Hmong -> Hmong */
|
||
{"hmg", {HB_TAG('H','M','N',' ')}}, /* Southwestern Guiyang Hmong -> Hmong */
|
||
{"hmh", {HB_TAG('H','M','N',' ')}}, /* Southwestern Huishui Hmong -> Hmong */
|
||
{"hmi", {HB_TAG('H','M','N',' ')}}, /* Northern Huishui Hmong -> Hmong */
|
||
{"hmj", {HB_TAG('H','M','N',' ')}}, /* Ge -> Hmong */
|
||
{"hml", {HB_TAG('H','M','N',' ')}}, /* Luopohe Hmong -> Hmong */
|
||
{"hmm", {HB_TAG('H','M','N',' ')}}, /* Central Mashan Hmong -> Hmong */
|
||
{"hmn", {HB_TAG('H','M','N',' ')}}, /* Hmong [macrolanguage] */
|
||
{"hmp", {HB_TAG('H','M','N',' ')}}, /* Northern Mashan Hmong -> Hmong */
|
||
{"hmq", {HB_TAG('H','M','N',' ')}}, /* Eastern Qiandong Miao -> Hmong */
|
||
{"hms", {HB_TAG('H','M','N',' ')}}, /* Southern Qiandong Miao -> Hmong */
|
||
{"hmw", {HB_TAG('H','M','N',' ')}}, /* Western Mashan Hmong -> Hmong */
|
||
{"hmy", {HB_TAG('H','M','N',' ')}}, /* Southern Guiyang Hmong -> Hmong */
|
||
{"hmz", {HB_TAG('H','M','N',' ')}}, /* Hmong Shua -> Hmong */
|
||
{"hnd", {HB_TAG('H','N','D',' ')}}, /* Southern Hindko -> Hindko */
|
||
{"hne", {HB_TAG('C','H','H',' ')}}, /* Chhattisgarhi -> Chattisgarhi */
|
||
{"hnj", {HB_TAG('H','M','N',' ')}}, /* Hmong Njua -> Hmong */
|
||
{"hno", {HB_TAG('H','N','D',' ')}}, /* Northern Hindko -> Hindko */
|
||
{"ho", {HB_TAG('H','M','O',' ')}}, /* Hiri Motu */
|
||
{"hoc", {HB_TAG('H','O',' ',' ')}}, /* Ho */
|
||
{"hoi", {HB_TAG('A','T','H',' ')}}, /* Holikachuk -> Athapaskan */
|
||
{"hoj", {HB_TAG('H','A','R',' ')}}, /* Hadothi -> Harauti */
|
||
{"hr", {HB_TAG('H','R','V',' ')}}, /* Croatian */
|
||
{"hrm", {HB_TAG('H','M','N',' ')}}, /* Horned Miao -> Hmong */
|
||
{"hsb", {HB_TAG('U','S','B',' ')}}, /* Upper Sorbian */
|
||
{"hsn", {HB_TAG('Z','H','S',' ')}}, /* Xiang Chinese -> Chinese Simplified */
|
||
{"ht", {HB_TAG('H','A','I',' ')}}, /* Haitian (Haitian Creole) */
|
||
{"hu", {HB_TAG('H','U','N',' ')}}, /* Hungarian */
|
||
{"huj", {HB_TAG('H','M','N',' ')}}, /* Northern Guiyang Hmong -> Hmong */
|
||
{"hup", {HB_TAG('A','T','H',' ')}}, /* Hupa -> Athapaskan */
|
||
{"hy", {HB_TAG('H','Y','E','0'), /* Armenian -> Armenian East */
|
||
HB_TAG('H','Y','E',' ')}}, /* Armenian */
|
||
{"hyw", {HB_TAG('H','Y','E',' ')}}, /* Western Armenian -> Armenian */
|
||
{"hz", {HB_TAG('H','E','R',' ')}}, /* Herero */
|
||
{"ia", {HB_TAG('I','N','A',' ')}}, /* Interlingua (International Auxiliary Language Association) */
|
||
{"iba", {HB_TAG('I','B','A',' ')}}, /* Iban */
|
||
{"ibb", {HB_TAG('I','B','B',' ')}}, /* Ibibio */
|
||
{"id", {HB_TAG('I','N','D',' ')}}, /* Indonesian */
|
||
{"ida", {HB_TAG('L','U','H',' ')}}, /* Idakho-Isukha-Tiriki -> Luyia */
|
||
{"ie", {HB_TAG('I','L','E',' ')}}, /* Interlingue */
|
||
{"ig", {HB_TAG('I','B','O',' ')}}, /* Igbo */
|
||
{"igb", {HB_TAG('E','B','I',' ')}}, /* Ebira */
|
||
{"ii", {HB_TAG('Y','I','M',' ')}}, /* Sichuan Yi -> Yi Modern */
|
||
{"ijc", {HB_TAG('I','J','O',' ')}}, /* Izon -> Ijo */
|
||
{"ijo", {HB_TAG('I','J','O',' ')}}, /* Ijo [family] */
|
||
{"ik", {HB_TAG('I','P','K',' ')}}, /* Inupiaq [macrolanguage] -> Inupiat */
|
||
{"ike", {HB_TAG('I','N','U',' ')}}, /* Eastern Canadian Inuktitut -> Inuktitut */
|
||
{"ikt", {HB_TAG('I','N','U',' ')}}, /* Inuinnaqtun -> Inuktitut */
|
||
{"ilo", {HB_TAG('I','L','O',' ')}}, /* Iloko -> Ilokano */
|
||
{"in", {HB_TAG('I','N','D',' ')}}, /* Indonesian (retired code) */
|
||
{"ing", {HB_TAG('A','T','H',' ')}}, /* Degexit'an -> Athapaskan */
|
||
{"inh", {HB_TAG('I','N','G',' ')}}, /* Ingush */
|
||
{"io", {HB_TAG('I','D','O',' ')}}, /* Ido */
|
||
{"is", {HB_TAG('I','S','L',' ')}}, /* Icelandic */
|
||
{"it", {HB_TAG('I','T','A',' ')}}, /* Italian */
|
||
{"iu", {HB_TAG('I','N','U',' ')}}, /* Inuktitut [macrolanguage] */
|
||
{"iw", {HB_TAG('I','W','R',' ')}}, /* Hebrew (retired code) */
|
||
{"ja", {HB_TAG('J','A','N',' ')}}, /* Japanese */
|
||
{"jak", {HB_TAG('M','L','Y',' ')}}, /* Jakun -> Malay */
|
||
{"jam", {HB_TAG('J','A','M',' ')}}, /* Jamaican Creole English -> Jamaican Creole */
|
||
{"jax", {HB_TAG('M','L','Y',' ')}}, /* Jambi Malay -> Malay */
|
||
{"jbo", {HB_TAG('J','B','O',' ')}}, /* Lojban */
|
||
{"jct", {HB_TAG('J','C','T',' ')}}, /* Krymchak */
|
||
{"ji", {HB_TAG('J','I','I',' ')}}, /* Yiddish (retired code) */
|
||
{"jv", {HB_TAG('J','A','V',' ')}}, /* Javanese */
|
||
{"jw", {HB_TAG('J','A','V',' ')}}, /* Javanese (retired code) */
|
||
{"ka", {HB_TAG('K','A','T',' ')}}, /* Georgian */
|
||
{"kaa", {HB_TAG('K','R','K',' ')}}, /* Kara-Kalpak -> Karakalpak */
|
||
{"kab", {HB_TAG('K','A','B','0')}}, /* Kabyle */
|
||
{"kam", {HB_TAG('K','M','B',' ')}}, /* Kamba (Kenya) */
|
||
{"kar", {HB_TAG('K','R','N',' ')}}, /* Karen [family] */
|
||
{"kbd", {HB_TAG('K','A','B',' ')}}, /* Kabardian */
|
||
{"kby", {HB_TAG('K','N','R',' ')}}, /* Manga Kanuri -> Kanuri */
|
||
{"kca", {HB_TAG('K','H','K',' '), /* Khanty -> Khanty-Kazim */
|
||
HB_TAG('K','H','S',' '), /* Khanty -> Khanty-Shurishkar */
|
||
HB_TAG('K','H','V',' ')}}, /* Khanty -> Khanty-Vakhi */
|
||
{"kde", {HB_TAG('K','D','E',' ')}}, /* Makonde */
|
||
{"kdr", {HB_TAG('K','R','M',' ')}}, /* Karaim */
|
||
{"kdt", {HB_TAG('K','U','Y',' ')}}, /* Kuy */
|
||
{"kea", {HB_TAG('K','E','A',' ')}}, /* Kabuverdianu (Crioulo) */
|
||
{"kek", {HB_TAG('K','E','K',' ')}}, /* Kekchi */
|
||
{"kex", {HB_TAG('K','K','N',' ')}}, /* Kukna -> Kokni */
|
||
{"kfa", {HB_TAG('K','O','D',' ')}}, /* Kodava -> Kodagu */
|
||
{"kfr", {HB_TAG('K','A','C',' ')}}, /* Kachhi -> Kachchi */
|
||
{"kfx", {HB_TAG('K','U','L',' ')}}, /* Kullu Pahari -> Kulvi */
|
||
{"kfy", {HB_TAG('K','M','N',' ')}}, /* Kumaoni */
|
||
{"kg", {HB_TAG('K','O','N','0')}}, /* Kongo [macrolanguage] */
|
||
{"kha", {HB_TAG('K','S','I',' ')}}, /* Khasi */
|
||
{"khb", {HB_TAG('X','B','D',' ')}}, /* Lü */
|
||
{"khk", {HB_TAG('M','N','G',' ')}}, /* Halh Mongolian -> Mongolian */
|
||
{"kht", {HB_TAG('K','H','N',' '), /* Khamti -> Khamti Shan (Microsoft fonts) */
|
||
HB_TAG('K','H','T',' ')}}, /* Khamti -> Khamti Shan (OpenType spec and SIL fonts) */
|
||
{"khw", {HB_TAG('K','H','W',' ')}}, /* Khowar */
|
||
{"ki", {HB_TAG('K','I','K',' ')}}, /* Kikuyu (Gikuyu) */
|
||
{"kiu", {HB_TAG('K','I','U',' ')}}, /* Kirmanjki */
|
||
{"kj", {HB_TAG('K','U','A',' ')}}, /* Kuanyama */
|
||
{"kjd", {HB_TAG('K','J','D',' ')}}, /* Southern Kiwai */
|
||
{"kjh", {HB_TAG('K','H','A',' ')}}, /* Khakas -> Khakass */
|
||
{"kjp", {HB_TAG('K','J','P',' ')}}, /* Pwo Eastern Karen -> Eastern Pwo Karen */
|
||
{"kjz", {HB_TAG('K','J','Z',' ')}}, /* Bumthangkha */
|
||
{"kk", {HB_TAG('K','A','Z',' ')}}, /* Kazakh */
|
||
{"kkz", {HB_TAG('A','T','H',' ')}}, /* Kaska -> Athapaskan */
|
||
{"kl", {HB_TAG('G','R','N',' ')}}, /* Greenlandic */
|
||
{"kln", {HB_TAG('K','A','L',' ')}}, /* Kalenjin [macrolanguage] */
|
||
{"km", {HB_TAG('K','H','M',' ')}}, /* Khmer */
|
||
{"kmb", {HB_TAG('M','B','N',' ')}}, /* Kimbundu -> Mbundu */
|
||
{"kmr", {HB_TAG('K','U','R',' ')}}, /* Northern Kurdish -> Kurdish */
|
||
{"kmw", {HB_TAG('K','M','O',' ')}}, /* Komo (Democratic Republic of Congo) */
|
||
{"kmz", {HB_TAG('K','M','Z',' ')}}, /* Khorasani Turkish -> Khorasani Turkic */
|
||
{"kn", {HB_TAG('K','A','N',' ')}}, /* Kannada */
|
||
{"knc", {HB_TAG('K','N','R',' ')}}, /* Central Kanuri -> Kanuri */
|
||
{"kng", {HB_TAG('K','O','N','0')}}, /* Koongo -> Kongo */
|
||
{"knn", {HB_TAG('K','O','K',' ')}}, /* Konkani */
|
||
{"ko", {HB_TAG('K','O','R',' ')}}, /* Korean */
|
||
{"koi", {HB_TAG('K','O','P',' ')}}, /* Komi-Permyak */
|
||
{"kok", {HB_TAG('K','O','K',' ')}}, /* Konkani [macrolanguage] */
|
||
{"kos", {HB_TAG('K','O','S',' ')}}, /* Kosraean */
|
||
{"koy", {HB_TAG('A','T','H',' ')}}, /* Koyukon -> Athapaskan */
|
||
{"kpe", {HB_TAG('K','P','L',' ')}}, /* Kpelle [macrolanguage] */
|
||
{"kpv", {HB_TAG('K','O','Z',' ')}}, /* Komi-Zyrian */
|
||
{"kpy", {HB_TAG('K','Y','K',' ')}}, /* Koryak */
|
||
{"kqs", {HB_TAG('K','I','S',' ')}}, /* Northern Kissi -> Kisii */
|
||
{"kqy", {HB_TAG('K','R','T',' ')}}, /* Koorete */
|
||
{"kr", {HB_TAG('K','N','R',' ')}}, /* Kanuri [macrolanguage] */
|
||
{"krc", {HB_TAG('K','A','R',' '), /* Karachay-Balkar -> Karachay */
|
||
HB_TAG('B','A','L',' ')}}, /* Karachay-Balkar -> Balkar */
|
||
{"kri", {HB_TAG('K','R','I',' ')}}, /* Krio */
|
||
{"krl", {HB_TAG('K','R','L',' ')}}, /* Karelian */
|
||
{"krt", {HB_TAG('K','N','R',' ')}}, /* Tumari Kanuri -> Kanuri */
|
||
{"kru", {HB_TAG('K','U','U',' ')}}, /* Kurukh */
|
||
{"ks", {HB_TAG('K','S','H',' ')}}, /* Kashmiri */
|
||
{"ksh", {HB_TAG('K','S','H','0')}}, /* Kölsch -> Ripuarian */
|
||
{"kss", {HB_TAG('K','I','S',' ')}}, /* Southern Kisi -> Kisii */
|
||
{"ksw", {HB_TAG('K','S','W',' ')}}, /* S’gaw Karen */
|
||
{"ktb", {HB_TAG('K','E','B',' ')}}, /* Kambaata -> Kebena */
|
||
{"ktu", {HB_TAG('K','O','N',' ')}}, /* Kituba (Democratic Republic of Congo) -> Kikongo */
|
||
{"ktw", {HB_TAG('A','T','H',' ')}}, /* Kato -> Athapaskan */
|
||
{"ku", {HB_TAG('K','U','R',' ')}}, /* Kurdish [macrolanguage] */
|
||
{"kum", {HB_TAG('K','U','M',' ')}}, /* Kumyk */
|
||
{"kuu", {HB_TAG('A','T','H',' ')}}, /* Upper Kuskokwim -> Athapaskan */
|
||
{"kv", {HB_TAG('K','O','M',' ')}}, /* Komi [macrolanguage] */
|
||
{"kvb", {HB_TAG('M','L','Y',' ')}}, /* Kubu -> Malay */
|
||
{"kvr", {HB_TAG('M','L','Y',' ')}}, /* Kerinci -> Malay */
|
||
{"kw", {HB_TAG('C','O','R',' ')}}, /* Cornish */
|
||
{"kwy", {HB_TAG('K','O','N','0')}}, /* San Salvador Kongo -> Kongo */
|
||
{"kxc", {HB_TAG('K','M','S',' ')}}, /* Konso -> Komso */
|
||
{"kxd", {HB_TAG('M','L','Y',' ')}}, /* Brunei -> Malay */
|
||
{"kxu", {HB_TAG('K','U','I',' ')}}, /* Kui (India) */
|
||
{"ky", {HB_TAG('K','I','R',' ')}}, /* Kirghiz (Kyrgyz) */
|
||
{"kyu", {HB_TAG('K','Y','U',' ')}}, /* Western Kayah */
|
||
{"la", {HB_TAG('L','A','T',' ')}}, /* Latin */
|
||
{"lad", {HB_TAG('J','U','D',' ')}}, /* Ladino */
|
||
{"lb", {HB_TAG('L','T','Z',' ')}}, /* Luxembourgish */
|
||
{"lbe", {HB_TAG('L','A','K',' ')}}, /* Lak */
|
||
{"lbj", {HB_TAG('L','D','K',' ')}}, /* Ladakhi */
|
||
{"lbl", {HB_TAG('B','I','K',' ')}}, /* Libon Bikol -> Bikol */
|
||
{"lce", {HB_TAG('M','L','Y',' ')}}, /* Loncong -> Malay */
|
||
{"lcf", {HB_TAG('M','L','Y',' ')}}, /* Lubu -> Malay */
|
||
{"ldi", {HB_TAG('K','O','N','0')}}, /* Laari -> Kongo */
|
||
{"lez", {HB_TAG('L','E','Z',' ')}}, /* Lezghian -> Lezgi */
|
||
{"lg", {HB_TAG('L','U','G',' ')}}, /* Ganda */
|
||
{"li", {HB_TAG('L','I','M',' ')}}, /* Limburgish */
|
||
{"lif", {HB_TAG('L','M','B',' ')}}, /* Limbu */
|
||
{"lij", {HB_TAG('L','I','J',' ')}}, /* Ligurian */
|
||
{"lis", {HB_TAG('L','I','S',' ')}}, /* Lisu */
|
||
{"liw", {HB_TAG('M','L','Y',' ')}}, /* Col -> Malay */
|
||
{"ljp", {HB_TAG('L','J','P',' ')}}, /* Lampung Api -> Lampung */
|
||
{"lkb", {HB_TAG('L','U','H',' ')}}, /* Kabras -> Luyia */
|
||
{"lki", {HB_TAG('L','K','I',' ')}}, /* Laki */
|
||
{"lko", {HB_TAG('L','U','H',' ')}}, /* Khayo -> Luyia */
|
||
{"lks", {HB_TAG('L','U','H',' ')}}, /* Kisa -> Luyia */
|
||
{"lld", {HB_TAG('L','A','D',' ')}}, /* Ladin */
|
||
{"lmn", {HB_TAG('L','A','M',' ')}}, /* Lambadi -> Lambani */
|
||
{"lmo", {HB_TAG('L','M','O',' ')}}, /* Lombard */
|
||
{"ln", {HB_TAG('L','I','N',' ')}}, /* Lingala */
|
||
{"lo", {HB_TAG('L','A','O',' ')}}, /* Lao */
|
||
{"lom", {HB_TAG('L','O','M',' ')}}, /* Loma (Liberia) */
|
||
{"lrc", {HB_TAG('L','R','C',' ')}}, /* Northern Luri -> Luri */
|
||
{"lri", {HB_TAG('L','U','H',' ')}}, /* Marachi -> Luyia */
|
||
{"lrm", {HB_TAG('L','U','H',' ')}}, /* Marama -> Luyia */
|
||
{"lsm", {HB_TAG('L','U','H',' ')}}, /* Saamia -> Luyia */
|
||
{"lt", {HB_TAG('L','T','H',' ')}}, /* Lithuanian */
|
||
{"ltg", {HB_TAG('L','V','I',' ')}}, /* Latgalian -> Latvian */
|
||
{"lto", {HB_TAG('L','U','H',' ')}}, /* Tsotso -> Luyia */
|
||
{"lts", {HB_TAG('L','U','H',' ')}}, /* Tachoni -> Luyia */
|
||
{"lu", {HB_TAG('L','U','B',' ')}}, /* Luba-Katanga */
|
||
{"lua", {HB_TAG('L','U','A',' ')}}, /* Luba-Lulua */
|
||
{"luo", {HB_TAG('L','U','O',' ')}}, /* Luo (Kenya and Tanzania) */
|
||
{"lus", {HB_TAG('M','I','Z',' ')}}, /* Lushai -> Mizo */
|
||
{"luy", {HB_TAG('L','U','H',' ')}}, /* Luyia [macrolanguage] */
|
||
{"luz", {HB_TAG('L','R','C',' ')}}, /* Southern Luri -> Luri */
|
||
{"lv", {HB_TAG('L','V','I',' ')}}, /* Latvian [macrolanguage] */
|
||
{"lvs", {HB_TAG('L','V','I',' ')}}, /* Standard Latvian -> Latvian */
|
||
{"lwg", {HB_TAG('L','U','H',' ')}}, /* Wanga -> Luyia */
|
||
{"lzh", {HB_TAG('Z','H','T',' ')}}, /* Literary Chinese -> Chinese Traditional */
|
||
{"lzz", {HB_TAG('L','A','Z',' ')}}, /* Laz */
|
||
{"mad", {HB_TAG('M','A','D',' ')}}, /* Madurese -> Madura */
|
||
{"mag", {HB_TAG('M','A','G',' ')}}, /* Magahi */
|
||
{"mai", {HB_TAG('M','T','H',' ')}}, /* Maithili */
|
||
{"mak", {HB_TAG('M','K','R',' ')}}, /* Makasar */
|
||
{"mam", {HB_TAG('M','A','M',' ')}}, /* Mam */
|
||
{"man", {HB_TAG('M','N','K',' ')}}, /* Mandingo [macrolanguage] -> Maninka */
|
||
{"max", {HB_TAG('M','L','Y',' ')}}, /* North Moluccan Malay -> Malay */
|
||
{"mbo", {HB_TAG('M','B','O',' ')}}, /* Mbo (Cameroon) */
|
||
{"mct", {HB_TAG('B','T','I',' ')}}, /* Mengisa -> Beti */
|
||
{"mdf", {HB_TAG('M','O','K',' ')}}, /* Moksha */
|
||
{"mdr", {HB_TAG('M','D','R',' ')}}, /* Mandar */
|
||
{"mdy", {HB_TAG('M','L','E',' ')}}, /* Male (Ethiopia) */
|
||
{"men", {HB_TAG('M','D','E',' ')}}, /* Mende (Sierra Leone) */
|
||
{"meo", {HB_TAG('M','L','Y',' ')}}, /* Kedah Malay -> Malay */
|
||
{"mer", {HB_TAG('M','E','R',' ')}}, /* Meru */
|
||
{"mfa", {HB_TAG('M','F','A',' ')}}, /* Pattani Malay */
|
||
{"mfb", {HB_TAG('M','L','Y',' ')}}, /* Bangka -> Malay */
|
||
{"mfe", {HB_TAG('M','F','E',' ')}}, /* Morisyen */
|
||
{"mg", {HB_TAG('M','L','G',' ')}}, /* Malagasy [macrolanguage] */
|
||
{"mh", {HB_TAG('M','A','H',' ')}}, /* Marshallese */
|
||
{"mhr", {HB_TAG('L','M','A',' ')}}, /* Eastern Mari -> Low Mari */
|
||
{"mhv", {HB_TAG('A','R','K',' ')}}, /* Arakanese (retired code) -> Rakhine */
|
||
{"mi", {HB_TAG('M','R','I',' ')}}, /* Maori */
|
||
{"min", {HB_TAG('M','I','N',' ')}}, /* Minangkabau */
|
||
{"mk", {HB_TAG('M','K','D',' ')}}, /* Macedonian */
|
||
{"mku", {HB_TAG('M','N','K',' ')}}, /* Konyanka Maninka -> Maninka */
|
||
{"mkw", {HB_TAG('M','K','W',' ')}}, /* Kituba (Congo) */
|
||
{"ml", {HB_TAG('M','A','L',' '), /* Malayalam -> Malayalam Traditional */
|
||
HB_TAG('M','L','R',' ')}}, /* Malayalam -> Malayalam Reformed */
|
||
{"mlq", {HB_TAG('M','L','N',' '), /* Western Maninkakan -> Malinke */
|
||
HB_TAG('M','N','K',' ')}}, /* Western Maninkakan -> Maninka */
|
||
{"mmr", {HB_TAG('H','M','N',' ')}}, /* Western Xiangxi Miao -> Hmong */
|
||
{"mn", {HB_TAG('M','N','G',' ')}}, /* Mongolian [macrolanguage] */
|
||
{"mnc", {HB_TAG('M','C','H',' ')}}, /* Manchu */
|
||
{"mni", {HB_TAG('M','N','I',' ')}}, /* Manipuri */
|
||
{"mnk", {HB_TAG('M','N','D',' '), /* Mandinka */
|
||
HB_TAG('M','N','K',' ')}}, /* Mandinka -> Maninka */
|
||
{"mnp", {HB_TAG('Z','H','S',' ')}}, /* Min Bei Chinese -> Chinese Simplified */
|
||
{"mns", {HB_TAG('M','A','N',' ')}}, /* Mansi */
|
||
{"mnw", {HB_TAG('M','O','N',' ')}}, /* Mon */
|
||
{"mo", {HB_TAG('M','O','L',' ')}}, /* Moldavian (retired code) */
|
||
{"moh", {HB_TAG('M','O','H',' ')}}, /* Mohawk */
|
||
{"mos", {HB_TAG('M','O','S',' ')}}, /* Mossi */
|
||
{"mpe", {HB_TAG('M','A','J',' ')}}, /* Majang */
|
||
{"mqg", {HB_TAG('M','L','Y',' ')}}, /* Kota Bangun Kutai Malay -> Malay */
|
||
{"mr", {HB_TAG('M','A','R',' ')}}, /* Marathi */
|
||
{"mrh", {HB_TAG('Q','I','N',' ')}}, /* Mara Chin -> Chin */
|
||
{"mrj", {HB_TAG('H','M','A',' ')}}, /* Western Mari -> High Mari */
|
||
{"ms", {HB_TAG('M','L','Y',' ')}}, /* Malay [macrolanguage] */
|
||
{"msc", {HB_TAG('M','N','K',' ')}}, /* Sankaran Maninka -> Maninka */
|
||
{"msh", {HB_TAG('M','L','G',' ')}}, /* Masikoro Malagasy -> Malagasy */
|
||
{"msi", {HB_TAG('M','L','Y',' ')}}, /* Sabah Malay -> Malay */
|
||
{"mt", {HB_TAG('M','T','S',' ')}}, /* Maltese */
|
||
{"mtr", {HB_TAG('M','A','W',' ')}}, /* Mewari -> Marwari */
|
||
{"mui", {HB_TAG('M','L','Y',' ')}}, /* Musi -> Malay */
|
||
{"mup", {HB_TAG('R','A','J',' ')}}, /* Malvi -> Rajasthani */
|
||
{"muq", {HB_TAG('H','M','N',' ')}}, /* Eastern Xiangxi Miao -> Hmong */
|
||
{"mus", {HB_TAG('M','U','S',' ')}}, /* Creek -> Muscogee */
|
||
{"mvb", {HB_TAG('A','T','H',' ')}}, /* Mattole -> Athapaskan */
|
||
{"mve", {HB_TAG('M','A','W',' ')}}, /* Marwari (Pakistan) */
|
||
{"mvf", {HB_TAG('M','N','G',' ')}}, /* Peripheral Mongolian -> Mongolian */
|
||
{"mwk", {HB_TAG('M','N','K',' ')}}, /* Kita Maninkakan -> Maninka */
|
||
{"mwl", {HB_TAG('M','W','L',' ')}}, /* Mirandese */
|
||
{"mwr", {HB_TAG('M','A','W',' ')}}, /* Marwari [macrolanguage] */
|
||
{"mww", {HB_TAG('M','W','W',' ')}}, /* Hmong Daw */
|
||
{"my", {HB_TAG('B','R','M',' ')}}, /* Burmese */
|
||
{"mym", {HB_TAG('M','E','N',' ')}}, /* Me'en */
|
||
{"myn", {HB_TAG('M','Y','N',' ')}}, /* Mayan [family] */
|
||
{"myq", {HB_TAG('M','N','K',' ')}}, /* Forest Maninka (retired code) -> Maninka */
|
||
{"myv", {HB_TAG('E','R','Z',' ')}}, /* Erzya */
|
||
{"mzn", {HB_TAG('M','Z','N',' ')}}, /* Mazanderani */
|
||
{"na", {HB_TAG('N','A','U',' ')}}, /* Nauru -> Nauruan */
|
||
{"nag", {HB_TAG('N','A','G',' ')}}, /* Naga Pidgin -> Naga-Assamese */
|
||
{"nah", {HB_TAG('N','A','H',' ')}}, /* Nahuatl [family] */
|
||
{"nan", {HB_TAG('Z','H','S',' ')}}, /* Min Nan Chinese -> Chinese Simplified */
|
||
{"nap", {HB_TAG('N','A','P',' ')}}, /* Neapolitan */
|
||
{"nb", {HB_TAG('N','O','R',' ')}}, /* Norwegian Bokmål -> Norwegian */
|
||
{"nd", {HB_TAG('N','D','B',' ')}}, /* North Ndebele -> Ndebele */
|
||
{"ndc", {HB_TAG('N','D','C',' ')}}, /* Ndau */
|
||
{"nds", {HB_TAG('N','D','S',' ')}}, /* Low Saxon */
|
||
{"ne", {HB_TAG('N','E','P',' ')}}, /* Nepali [macrolanguage] */
|
||
{"new", {HB_TAG('N','E','W',' ')}}, /* Newari */
|
||
{"ng", {HB_TAG('N','D','G',' ')}}, /* Ndonga */
|
||
{"nga", {HB_TAG('N','G','A',' ')}}, /* Ngbaka */
|
||
{"ngl", {HB_TAG('L','M','W',' ')}}, /* Lomwe */
|
||
{"ngo", {HB_TAG('S','X','T',' ')}}, /* Ngoni -> Sutu */
|
||
{"nhd", {HB_TAG('G','U','A',' ')}}, /* Chiripá -> Guarani */
|
||
{"niq", {HB_TAG('K','A','L',' ')}}, /* Nandi -> Kalenjin */
|
||
{"niu", {HB_TAG('N','I','U',' ')}}, /* Niuean */
|
||
{"niv", {HB_TAG('G','I','L',' ')}}, /* Gilyak */
|
||
{"njz", {HB_TAG('N','I','S',' ')}}, /* Nyishi -> Nisi */
|
||
{"nl", {HB_TAG('N','L','D',' ')}}, /* Dutch */
|
||
{"nle", {HB_TAG('L','U','H',' ')}}, /* East Nyala -> Luyia */
|
||
{"nn", {HB_TAG('N','Y','N',' ')}}, /* Norwegian Nynorsk (Nynorsk, Norwegian) */
|
||
{"no", {HB_TAG('N','O','R',' ')}}, /* Norwegian [macrolanguage] */
|
||
{"nod", {HB_TAG('N','T','A',' ')}}, /* Northern Thai -> Northern Tai */
|
||
{"noe", {HB_TAG('N','O','E',' ')}}, /* Nimadi */
|
||
{"nog", {HB_TAG('N','O','G',' ')}}, /* Nogai */
|
||
{"nov", {HB_TAG('N','O','V',' ')}}, /* Novial */
|
||
{"npi", {HB_TAG('N','E','P',' ')}}, /* Nepali */
|
||
{"nqo", {HB_TAG('N','K','O',' ')}}, /* N'Ko */
|
||
{"nr", {HB_TAG('N','D','B',' ')}}, /* South Ndebele -> Ndebele */
|
||
{"nsk", {HB_TAG('N','A','S',' ')}}, /* Naskapi */
|
||
{"nso", {HB_TAG('N','S','O',' ')}}, /* Pedi -> Sotho, Northern */
|
||
{"nv", {HB_TAG('N','A','V',' '), /* Navajo */
|
||
HB_TAG('A','T','H',' ')}}, /* Navajo -> Athapaskan */
|
||
{"ny", {HB_TAG('C','H','I',' ')}}, /* Chichewa (Chewa, Nyanja) */
|
||
{"nyd", {HB_TAG('L','U','H',' ')}}, /* Nyore -> Luyia */
|
||
{"nym", {HB_TAG('N','Y','M',' ')}}, /* Nyamwezi */
|
||
{"nyn", {HB_TAG('N','K','L',' ')}}, /* Nyankole */
|
||
{"nza", {HB_TAG('N','Z','A',' ')}}, /* Tigon Mbembe -> Mbembe Tigon */
|
||
{"oc", {HB_TAG('O','C','I',' ')}}, /* Occitan (post 1500) */
|
||
{"oj", {HB_TAG('O','J','B',' ')}}, /* Ojibwa [macrolanguage] -> Ojibway */
|
||
{"ojb", {HB_TAG('O','J','B',' ')}}, /* Northwestern Ojibwa -> Ojibway */
|
||
{"ojc", {HB_TAG('O','J','B',' ')}}, /* Central Ojibwa -> Ojibway */
|
||
{"ojg", {HB_TAG('O','J','B',' ')}}, /* Eastern Ojibwa -> Ojibway */
|
||
{"ojs", {HB_TAG('O','C','R',' ')}}, /* Severn Ojibwa -> Oji-Cree */
|
||
{"ojw", {HB_TAG('O','J','B',' ')}}, /* Western Ojibwa -> Ojibway */
|
||
{"oki", {HB_TAG('K','A','L',' ')}}, /* Okiek -> Kalenjin */
|
||
{"okm", {HB_TAG('K','O','H',' ')}}, /* Middle Korean (10th-16th cent.) -> Korean Old Hangul */
|
||
{"om", {HB_TAG('O','R','O',' ')}}, /* Oromo [macrolanguage] */
|
||
{"or", {HB_TAG('O','R','I',' ')}}, /* Odia (formerly Oriya) [macrolanguage] */
|
||
{"orc", {HB_TAG('O','R','O',' ')}}, /* Orma -> Oromo */
|
||
{"orn", {HB_TAG('M','L','Y',' ')}}, /* Orang Kanaq -> Malay */
|
||
{"ors", {HB_TAG('M','L','Y',' ')}}, /* Orang Seletar -> Malay */
|
||
{"ory", {HB_TAG('O','R','I',' ')}}, /* Odia (formerly Oriya) */
|
||
{"os", {HB_TAG('O','S','S',' ')}}, /* Ossetian */
|
||
{"otw", {HB_TAG('O','J','B',' ')}}, /* Ottawa -> Ojibway */
|
||
{"pa", {HB_TAG('P','A','N',' ')}}, /* Punjabi */
|
||
{"pag", {HB_TAG('P','A','G',' ')}}, /* Pangasinan */
|
||
{"pam", {HB_TAG('P','A','M',' ')}}, /* Pampanga -> Pampangan */
|
||
{"pap", {HB_TAG('P','A','P','0')}}, /* Papiamento -> Papiamentu */
|
||
{"pau", {HB_TAG('P','A','U',' ')}}, /* Palauan */
|
||
{"pbt", {HB_TAG('P','A','S',' ')}}, /* Southern Pashto -> Pashto */
|
||
{"pbu", {HB_TAG('P','A','S',' ')}}, /* Northern Pashto -> Pashto */
|
||
{"pcc", {HB_TAG('P','C','C',' ')}}, /* Bouyei */
|
||
{"pcd", {HB_TAG('P','C','D',' ')}}, /* Picard */
|
||
{"pce", {HB_TAG('P','L','G',' ')}}, /* Ruching Palaung -> Palaung */
|
||
{"pck", {HB_TAG('Q','I','N',' ')}}, /* Paite Chin -> Chin */
|
||
{"pdc", {HB_TAG('P','D','C',' ')}}, /* Pennsylvania German */
|
||
{"pel", {HB_TAG('M','L','Y',' ')}}, /* Pekal -> Malay */
|
||
{"pes", {HB_TAG('F','A','R',' ')}}, /* Iranian Persian -> Persian */
|
||
{"pga", {HB_TAG('A','R','A',' ')}}, /* Sudanese Creole Arabic -> Arabic */
|
||
{"phk", {HB_TAG('P','H','K',' ')}}, /* Phake */
|
||
{"pi", {HB_TAG('P','A','L',' ')}}, /* Pali */
|
||
{"pih", {HB_TAG('P','I','H',' ')}}, /* Pitcairn-Norfolk -> Norfolk */
|
||
{"pko", {HB_TAG('K','A','L',' ')}}, /* Pökoot -> Kalenjin */
|
||
{"pl", {HB_TAG('P','L','K',' ')}}, /* Polish */
|
||
{"pll", {HB_TAG('P','L','G',' ')}}, /* Shwe Palaung -> Palaung */
|
||
{"plp", {HB_TAG('P','A','P',' ')}}, /* Palpa */
|
||
{"plt", {HB_TAG('M','L','G',' ')}}, /* Plateau Malagasy -> Malagasy */
|
||
{"pms", {HB_TAG('P','M','S',' ')}}, /* Piemontese */
|
||
{"pnb", {HB_TAG('P','N','B',' ')}}, /* Western Panjabi */
|
||
{"poh", {HB_TAG('P','O','H',' ')}}, /* Poqomchi' -> Pocomchi */
|
||
{"pon", {HB_TAG('P','O','N',' ')}}, /* Pohnpeian */
|
||
{"ppa", {HB_TAG('B','A','G',' ')}}, /* Pao (retired code) -> Baghelkhandi */
|
||
{"pro", {HB_TAG('P','R','O',' ')}}, /* Old Provençal (to 1500) -> Provençal / Old Provençal */
|
||
{"prs", {HB_TAG('D','R','I',' ')}}, /* Dari */
|
||
{"ps", {HB_TAG('P','A','S',' ')}}, /* Pashto [macrolanguage] */
|
||
{"pse", {HB_TAG('M','L','Y',' ')}}, /* Central Malay -> Malay */
|
||
{"pst", {HB_TAG('P','A','S',' ')}}, /* Central Pashto -> Pashto */
|
||
{"pt", {HB_TAG('P','T','G',' ')}}, /* Portuguese */
|
||
{"pwo", {HB_TAG('P','W','O',' ')}}, /* Pwo Western Karen -> Western Pwo Karen */
|
||
{"qu", {HB_TAG('Q','U','Z',' ')}}, /* Quechua [macrolanguage] */
|
||
{"qub", {HB_TAG('Q','W','H',' ')}}, /* Huallaga Huánuco Quechua -> Quechua (Peru) */
|
||
{"quc", {HB_TAG('Q','U','C',' ')}}, /* K’iche’ */
|
||
{"qud", {HB_TAG('Q','V','I',' ')}}, /* Calderón Highland Quichua -> Quechua (Ecuador) */
|
||
{"quf", {HB_TAG('Q','U','Z',' ')}}, /* Lambayeque Quechua -> Quechua */
|
||
{"qug", {HB_TAG('Q','V','I',' ')}}, /* Chimborazo Highland Quichua -> Quechua (Ecuador) */
|
||
{"quh", {HB_TAG('Q','U','H',' ')}}, /* South Bolivian Quechua -> Quechua (Bolivia) */
|
||
{"quk", {HB_TAG('Q','U','Z',' ')}}, /* Chachapoyas Quechua -> Quechua */
|
||
{"qul", {HB_TAG('Q','U','Z',' ')}}, /* North Bolivian Quechua -> Quechua */
|
||
{"qup", {HB_TAG('Q','V','I',' ')}}, /* Southern Pastaza Quechua -> Quechua (Ecuador) */
|
||
{"qur", {HB_TAG('Q','W','H',' ')}}, /* Yanahuanca Pasco Quechua -> Quechua (Peru) */
|
||
{"qus", {HB_TAG('Q','U','H',' ')}}, /* Santiago del Estero Quichua -> Quechua (Bolivia) */
|
||
{"quw", {HB_TAG('Q','V','I',' ')}}, /* Tena Lowland Quichua -> Quechua (Ecuador) */
|
||
{"qux", {HB_TAG('Q','W','H',' ')}}, /* Yauyos Quechua -> Quechua (Peru) */
|
||
{"quy", {HB_TAG('Q','U','Z',' ')}}, /* Ayacucho Quechua -> Quechua */
|
||
{"quz", {HB_TAG('Q','U','Z',' ')}}, /* Cusco Quechua -> Quechua */
|
||
{"qva", {HB_TAG('Q','W','H',' ')}}, /* Ambo-Pasco Quechua -> Quechua (Peru) */
|
||
{"qvc", {HB_TAG('Q','U','Z',' ')}}, /* Cajamarca Quechua -> Quechua */
|
||
{"qve", {HB_TAG('Q','U','Z',' ')}}, /* Eastern Apurímac Quechua -> Quechua */
|
||
{"qvh", {HB_TAG('Q','W','H',' ')}}, /* Huamalíes-Dos de Mayo Huánuco Quechua -> Quechua (Peru) */
|
||
{"qvi", {HB_TAG('Q','V','I',' ')}}, /* Imbabura Highland Quichua -> Quechua (Ecuador) */
|
||
{"qvj", {HB_TAG('Q','V','I',' ')}}, /* Loja Highland Quichua -> Quechua (Ecuador) */
|
||
{"qvl", {HB_TAG('Q','W','H',' ')}}, /* Cajatambo North Lima Quechua -> Quechua (Peru) */
|
||
{"qvm", {HB_TAG('Q','W','H',' ')}}, /* Margos-Yarowilca-Lauricocha Quechua -> Quechua (Peru) */
|
||
{"qvn", {HB_TAG('Q','W','H',' ')}}, /* North Junín Quechua -> Quechua (Peru) */
|
||
{"qvo", {HB_TAG('Q','V','I',' ')}}, /* Napo Lowland Quechua -> Quechua (Ecuador) */
|
||
{"qvp", {HB_TAG('Q','W','H',' ')}}, /* Pacaraos Quechua -> Quechua (Peru) */
|
||
{"qvs", {HB_TAG('Q','U','Z',' ')}}, /* San Martín Quechua -> Quechua */
|
||
{"qvw", {HB_TAG('Q','W','H',' ')}}, /* Huaylla Wanca Quechua -> Quechua (Peru) */
|
||
{"qvz", {HB_TAG('Q','V','I',' ')}}, /* Northern Pastaza Quichua -> Quechua (Ecuador) */
|
||
{"qwa", {HB_TAG('Q','W','H',' ')}}, /* Corongo Ancash Quechua -> Quechua (Peru) */
|
||
{"qwc", {HB_TAG('Q','U','Z',' ')}}, /* Classical Quechua -> Quechua */
|
||
{"qwh", {HB_TAG('Q','W','H',' ')}}, /* Huaylas Ancash Quechua -> Quechua (Peru) */
|
||
{"qws", {HB_TAG('Q','W','H',' ')}}, /* Sihuas Ancash Quechua -> Quechua (Peru) */
|
||
{"qxa", {HB_TAG('Q','W','H',' ')}}, /* Chiquián Ancash Quechua -> Quechua (Peru) */
|
||
{"qxc", {HB_TAG('Q','W','H',' ')}}, /* Chincha Quechua -> Quechua (Peru) */
|
||
{"qxh", {HB_TAG('Q','W','H',' ')}}, /* Panao Huánuco Quechua -> Quechua (Peru) */
|
||
{"qxl", {HB_TAG('Q','V','I',' ')}}, /* Salasaca Highland Quichua -> Quechua (Ecuador) */
|
||
{"qxn", {HB_TAG('Q','W','H',' ')}}, /* Northern Conchucos Ancash Quechua -> Quechua (Peru) */
|
||
{"qxo", {HB_TAG('Q','W','H',' ')}}, /* Southern Conchucos Ancash Quechua -> Quechua (Peru) */
|
||
{"qxp", {HB_TAG('Q','U','Z',' ')}}, /* Puno Quechua -> Quechua */
|
||
{"qxr", {HB_TAG('Q','V','I',' ')}}, /* Cañar Highland Quichua -> Quechua (Ecuador) */
|
||
{"qxt", {HB_TAG('Q','W','H',' ')}}, /* Santa Ana de Tusi Pasco Quechua -> Quechua (Peru) */
|
||
{"qxu", {HB_TAG('Q','U','Z',' ')}}, /* Arequipa-La Unión Quechua -> Quechua */
|
||
{"qxw", {HB_TAG('Q','W','H',' ')}}, /* Jauja Wanca Quechua -> Quechua (Peru) */
|
||
{"rag", {HB_TAG('L','U','H',' ')}}, /* Logooli -> Luyia */
|
||
{"raj", {HB_TAG('R','A','J',' ')}}, /* Rajasthani [macrolanguage] */
|
||
{"rar", {HB_TAG('R','A','R',' ')}}, /* Rarotongan */
|
||
{"rbb", {HB_TAG('P','L','G',' ')}}, /* Rumai Palaung -> Palaung */
|
||
{"rbl", {HB_TAG('B','I','K',' ')}}, /* Miraya Bikol -> Bikol */
|
||
{"rej", {HB_TAG('R','E','J',' ')}}, /* Rejang */
|
||
{"ria", {HB_TAG('R','I','A',' ')}}, /* Riang (India) */
|
||
{"rif", {HB_TAG('R','I','F',' ')}}, /* Tarifit */
|
||
{"rit", {HB_TAG('R','I','T',' ')}}, /* Ritarungo */
|
||
{"rki", {HB_TAG('A','R','K',' ')}}, /* Rakhine */
|
||
{"rkw", {HB_TAG('R','K','W',' ')}}, /* Arakwal */
|
||
{"rm", {HB_TAG('R','M','S',' ')}}, /* Romansh */
|
||
{"rmc", {HB_TAG('R','O','Y',' ')}}, /* Carpathian Romani -> Romany */
|
||
{"rmf", {HB_TAG('R','O','Y',' ')}}, /* Kalo Finnish Romani -> Romany */
|
||
{"rml", {HB_TAG('R','O','Y',' ')}}, /* Baltic Romani -> Romany */
|
||
{"rmn", {HB_TAG('R','O','Y',' ')}}, /* Balkan Romani -> Romany */
|
||
{"rmo", {HB_TAG('R','O','Y',' ')}}, /* Sinte Romani -> Romany */
|
||
{"rmw", {HB_TAG('R','O','Y',' ')}}, /* Welsh Romani -> Romany */
|
||
{"rmy", {HB_TAG('R','M','Y',' ')}}, /* Vlax Romani */
|
||
{"rmz", {HB_TAG('A','R','K',' ')}}, /* Marma -> Rakhine */
|
||
{"rn", {HB_TAG('R','U','N',' ')}}, /* Rundi */
|
||
{"rnl", {HB_TAG('H','A','L',' ')}}, /* Ranglong -> Halam (Falam Chin) */
|
||
{"ro", {HB_TAG('R','O','M',' ')}}, /* Romanian */
|
||
{"rom", {HB_TAG('R','O','Y',' ')}}, /* Romany [macrolanguage] */
|
||
{"rtm", {HB_TAG('R','T','M',' ')}}, /* Rotuman */
|
||
{"ru", {HB_TAG('R','U','S',' ')}}, /* Russian */
|
||
{"rue", {HB_TAG('R','S','Y',' ')}}, /* Rusyn */
|
||
{"rup", {HB_TAG('R','U','P',' ')}}, /* Aromanian */
|
||
{"rw", {HB_TAG('R','U','A',' ')}}, /* Kinyarwanda */
|
||
{"rwr", {HB_TAG('M','A','W',' ')}}, /* Marwari (India) */
|
||
{"sa", {HB_TAG('S','A','N',' ')}}, /* Sanskrit */
|
||
{"sah", {HB_TAG('Y','A','K',' ')}}, /* Yakut -> Sakha */
|
||
{"sam", {HB_TAG('P','A','A',' ')}}, /* Samaritan Aramaic -> Palestinian Aramaic */
|
||
{"sas", {HB_TAG('S','A','S',' ')}}, /* Sasak */
|
||
{"sat", {HB_TAG('S','A','T',' ')}}, /* Santali */
|
||
{"sc", {HB_TAG('S','R','D',' ')}}, /* Sardinian [macrolanguage] */
|
||
{"sck", {HB_TAG('S','A','D',' ')}}, /* Sadri */
|
||
{"scn", {HB_TAG('S','C','N',' ')}}, /* Sicilian */
|
||
{"sco", {HB_TAG('S','C','O',' ')}}, /* Scots */
|
||
{"scs", {HB_TAG('S','C','S',' '), /* North Slavey */
|
||
HB_TAG('S','L','A',' '), /* North Slavey -> Slavey */
|
||
HB_TAG('A','T','H',' ')}}, /* North Slavey -> Athapaskan */
|
||
{"sd", {HB_TAG('S','N','D',' ')}}, /* Sindhi */
|
||
{"sdc", {HB_TAG('S','R','D',' ')}}, /* Sassarese Sardinian -> Sardinian */
|
||
{"sdh", {HB_TAG('K','U','R',' ')}}, /* Southern Kurdish -> Kurdish */
|
||
{"sdn", {HB_TAG('S','R','D',' ')}}, /* Gallurese Sardinian -> Sardinian */
|
||
{"se", {HB_TAG('N','S','M',' ')}}, /* Northern Sami */
|
||
{"seh", {HB_TAG('S','N','A',' ')}}, /* Sena */
|
||
{"sek", {HB_TAG('A','T','H',' ')}}, /* Sekani -> Athapaskan */
|
||
{"sel", {HB_TAG('S','E','L',' ')}}, /* Selkup */
|
||
{"sez", {HB_TAG('Q','I','N',' ')}}, /* Senthang Chin -> Chin */
|
||
{"sfm", {HB_TAG('H','M','N',' ')}}, /* Small Flowery Miao -> Hmong */
|
||
{"sg", {HB_TAG('S','G','O',' ')}}, /* Sango */
|
||
{"sga", {HB_TAG('S','G','A',' ')}}, /* Old Irish (to 900) */
|
||
{"sgc", {HB_TAG('K','A','L',' ')}}, /* Kipsigis -> Kalenjin */
|
||
{"sgs", {HB_TAG('S','G','S',' ')}}, /* Samogitian */
|
||
{"sgw", {HB_TAG('C','H','G',' '), /* Sebat Bet Gurage -> Chaha Gurage */
|
||
HB_TAG('S','G','W',' ')}}, /* Sebat Bet Gurage -> Chaha Gurage (SIL fonts) */
|
||
{"shi", {HB_TAG('S','H','I',' ')}}, /* Tachelhit */
|
||
{"shn", {HB_TAG('S','H','N',' ')}}, /* Shan */
|
||
{"shu", {HB_TAG('A','R','A',' ')}}, /* Chadian Arabic -> Arabic */
|
||
{"si", {HB_TAG('S','N','H',' ')}}, /* Sinhala (Sinhalese) */
|
||
{"sid", {HB_TAG('S','I','D',' ')}}, /* Sidamo */
|
||
{"sjd", {HB_TAG('K','S','M',' ')}}, /* Kildin Sami */
|
||
{"sjo", {HB_TAG('S','I','B',' ')}}, /* Xibe -> Sibe */
|
||
{"sk", {HB_TAG('S','K','Y',' ')}}, /* Slovak */
|
||
{"skg", {HB_TAG('M','L','G',' ')}}, /* Sakalava Malagasy -> Malagasy */
|
||
{"skr", {HB_TAG('S','R','K',' ')}}, /* Saraiki */
|
||
{"sl", {HB_TAG('S','L','V',' ')}}, /* Slovenian */
|
||
{"sm", {HB_TAG('S','M','O',' ')}}, /* Samoan */
|
||
{"sma", {HB_TAG('S','S','M',' ')}}, /* Southern Sami */
|
||
{"smj", {HB_TAG('L','S','M',' ')}}, /* Lule Sami */
|
||
{"smn", {HB_TAG('I','S','M',' ')}}, /* Inari Sami */
|
||
{"sms", {HB_TAG('S','K','S',' ')}}, /* Skolt Sami */
|
||
{"sn", {HB_TAG('S','N','A','0')}}, /* Shona */
|
||
{"snk", {HB_TAG('S','N','K',' ')}}, /* Soninke */
|
||
{"so", {HB_TAG('S','M','L',' ')}}, /* Somali */
|
||
{"sop", {HB_TAG('S','O','P',' ')}}, /* Songe */
|
||
{"spv", {HB_TAG('O','R','I',' ')}}, /* Sambalpuri -> Odia (formerly Oriya) */
|
||
{"spy", {HB_TAG('K','A','L',' ')}}, /* Sabaot -> Kalenjin */
|
||
{"sq", {HB_TAG('S','Q','I',' ')}}, /* Albanian [macrolanguage] */
|
||
{"sr", {HB_TAG('S','R','B',' ')}}, /* Serbian */
|
||
{"src", {HB_TAG('S','R','D',' ')}}, /* Logudorese Sardinian -> Sardinian */
|
||
{"sro", {HB_TAG('S','R','D',' ')}}, /* Campidanese Sardinian -> Sardinian */
|
||
{"srr", {HB_TAG('S','R','R',' ')}}, /* Serer */
|
||
{"srs", {HB_TAG('A','T','H',' ')}}, /* Sarsi -> Athapaskan */
|
||
{"ss", {HB_TAG('S','W','Z',' ')}}, /* Swati */
|
||
{"ssh", {HB_TAG('A','R','A',' ')}}, /* Shihhi Arabic -> Arabic */
|
||
{"st", {HB_TAG('S','O','T',' ')}}, /* Southern Sotho -> Sotho, Southern */
|
||
{"stq", {HB_TAG('S','T','Q',' ')}}, /* Saterfriesisch -> Saterland Frisian */
|
||
{"stv", {HB_TAG('S','I','G',' ')}}, /* Silt'e -> Silte Gurage */
|
||
{"su", {HB_TAG('S','U','N',' ')}}, /* Sundanese */
|
||
{"suk", {HB_TAG('S','U','K',' ')}}, /* Sukuma */
|
||
{"suq", {HB_TAG('S','U','R',' ')}}, /* Suri */
|
||
{"sv", {HB_TAG('S','V','E',' ')}}, /* Swedish */
|
||
{"sva", {HB_TAG('S','V','A',' ')}}, /* Svan */
|
||
{"sw", {HB_TAG('S','W','K',' ')}}, /* Swahili [macrolanguage] */
|
||
{"swb", {HB_TAG('C','M','R',' ')}}, /* Maore Comorian -> Comorian */
|
||
{"swc", {HB_TAG('S','W','K',' ')}}, /* Congo Swahili -> Swahili */
|
||
{"swh", {HB_TAG('S','W','K',' ')}}, /* Swahili */
|
||
{"swv", {HB_TAG('M','A','W',' ')}}, /* Shekhawati -> Marwari */
|
||
{"sxu", {HB_TAG('S','X','U',' ')}}, /* Upper Saxon */
|
||
{"syc", {HB_TAG('S','Y','R',' ')}}, /* Classical Syriac -> Syriac */
|
||
{"syl", {HB_TAG('S','Y','L',' ')}}, /* Sylheti */
|
||
{"syr", {HB_TAG('S','Y','R',' ')}}, /* Syriac [macrolanguage] */
|
||
{"szl", {HB_TAG('S','Z','L',' ')}}, /* Silesian */
|
||
{"ta", {HB_TAG('T','A','M',' ')}}, /* Tamil */
|
||
{"taa", {HB_TAG('A','T','H',' ')}}, /* Lower Tanana -> Athapaskan */
|
||
{"tab", {HB_TAG('T','A','B',' ')}}, /* Tabassaran -> Tabasaran */
|
||
{"taq", {HB_TAG('T','M','H',' ')}}, /* Tamasheq -> Tamashek */
|
||
{"tau", {HB_TAG('A','T','H',' ')}}, /* Upper Tanana -> Athapaskan */
|
||
{"tcb", {HB_TAG('A','T','H',' ')}}, /* Tanacross -> Athapaskan */
|
||
{"tce", {HB_TAG('A','T','H',' ')}}, /* Southern Tutchone -> Athapaskan */
|
||
{"tcp", {HB_TAG('Q','I','N',' ')}}, /* Tawr Chin -> Chin */
|
||
{"tcy", {HB_TAG('T','U','L',' ')}}, /* Tulu -> Tumbuka */
|
||
{"tcz", {HB_TAG('Q','I','N',' ')}}, /* Thado Chin -> Chin */
|
||
{"tdd", {HB_TAG('T','D','D',' ')}}, /* Tai Nüa -> Dehong Dai */
|
||
{"tdx", {HB_TAG('M','L','G',' ')}}, /* Tandroy-Mahafaly Malagasy -> Malagasy */
|
||
{"te", {HB_TAG('T','E','L',' ')}}, /* Telugu */
|
||
{"tec", {HB_TAG('K','A','L',' ')}}, /* Terik -> Kalenjin */
|
||
{"tem", {HB_TAG('T','M','N',' ')}}, /* Timne -> Temne */
|
||
{"tet", {HB_TAG('T','E','T',' ')}}, /* Tetum */
|
||
{"tfn", {HB_TAG('A','T','H',' ')}}, /* Tanaina -> Athapaskan */
|
||
{"tg", {HB_TAG('T','A','J',' ')}}, /* Tajik -> Tajiki */
|
||
{"tgj", {HB_TAG('N','I','S',' ')}}, /* Tagin -> Nisi */
|
||
{"tgx", {HB_TAG('A','T','H',' ')}}, /* Tagish -> Athapaskan */
|
||
{"th", {HB_TAG('T','H','A',' ')}}, /* Thai */
|
||
{"tht", {HB_TAG('A','T','H',' ')}}, /* Tahltan -> Athapaskan */
|
||
{"thv", {HB_TAG('T','M','H',' ')}}, /* Tahaggart Tamahaq -> Tamashek */
|
||
{"thz", {HB_TAG('T','M','H',' ')}}, /* Tayart Tamajeq -> Tamashek */
|
||
{"ti", {HB_TAG('T','G','Y',' ')}}, /* Tigrinya */
|
||
{"tig", {HB_TAG('T','G','R',' ')}}, /* Tigre */
|
||
{"tiv", {HB_TAG('T','I','V',' ')}}, /* Tiv */
|
||
{"tk", {HB_TAG('T','K','M',' ')}}, /* Turkmen */
|
||
{"tkg", {HB_TAG('M','L','G',' ')}}, /* Tesaka Malagasy -> Malagasy */
|
||
{"tl", {HB_TAG('T','G','L',' ')}}, /* Tagalog */
|
||
{"tmh", {HB_TAG('T','M','H',' ')}}, /* Tamashek [macrolanguage] */
|
||
{"tmw", {HB_TAG('M','L','Y',' ')}}, /* Temuan -> Malay */
|
||
{"tn", {HB_TAG('T','N','A',' ')}}, /* Tswana */
|
||
{"tnf", {HB_TAG('D','R','I',' ')}}, /* Tangshewi (retired code) -> Dari */
|
||
{"to", {HB_TAG('T','G','N',' ')}}, /* Tonga (Tonga Islands) -> Tongan */
|
||
{"tod", {HB_TAG('T','O','D','0')}}, /* Toma */
|
||
{"toi", {HB_TAG('T','N','G',' ')}}, /* Tonga (Zambia) */
|
||
{"tol", {HB_TAG('A','T','H',' ')}}, /* Tolowa -> Athapaskan */
|
||
{"tpi", {HB_TAG('T','P','I',' ')}}, /* Tok Pisin */
|
||
{"tr", {HB_TAG('T','R','K',' ')}}, /* Turkish */
|
||
{"tru", {HB_TAG('T','U','A',' '), /* Turoyo -> Turoyo Aramaic */
|
||
HB_TAG('S','Y','R',' ')}}, /* Turoyo -> Syriac */
|
||
{"ts", {HB_TAG('T','S','G',' ')}}, /* Tsonga */
|
||
{"tsj", {HB_TAG('T','S','J',' ')}}, /* Tshangla */
|
||
{"tt", {HB_TAG('T','A','T',' ')}}, /* Tatar */
|
||
{"ttm", {HB_TAG('A','T','H',' ')}}, /* Northern Tutchone -> Athapaskan */
|
||
{"ttq", {HB_TAG('T','M','H',' ')}}, /* Tawallammat Tamajaq -> Tamashek */
|
||
{"tum", {HB_TAG('T','U','M',' ')}}, /* Tumbuka -> Tulu */
|
||
{"tuu", {HB_TAG('A','T','H',' ')}}, /* Tututni -> Athapaskan */
|
||
{"tuy", {HB_TAG('K','A','L',' ')}}, /* Tugen -> Kalenjin */
|
||
{"tvl", {HB_TAG('T','V','L',' ')}}, /* Tuvalu */
|
||
{"tw", {HB_TAG('T','W','I',' '), /* Twi */
|
||
HB_TAG('A','K','A',' ')}}, /* Twi -> Akan */
|
||
{"txc", {HB_TAG('A','T','H',' ')}}, /* Tsetsaut -> Athapaskan */
|
||
{"txy", {HB_TAG('M','L','G',' ')}}, /* Tanosy Malagasy -> Malagasy */
|
||
{"ty", {HB_TAG('T','H','T',' ')}}, /* Tahitian */
|
||
{"tyv", {HB_TAG('T','U','V',' ')}}, /* Tuvinian -> Tuvin */
|
||
{"tyz", {HB_TAG('T','Y','Z',' ')}}, /* Tày */
|
||
{"tzm", {HB_TAG('T','Z','M',' ')}}, /* Central Atlas Tamazight -> Tamazight */
|
||
{"tzo", {HB_TAG('T','Z','O',' ')}}, /* Tzotzil */
|
||
{"ubl", {HB_TAG('B','I','K',' ')}}, /* Buhi'non Bikol -> Bikol */
|
||
{"udm", {HB_TAG('U','D','M',' ')}}, /* Udmurt */
|
||
{"ug", {HB_TAG('U','Y','G',' ')}}, /* Uyghur */
|
||
{"uk", {HB_TAG('U','K','R',' ')}}, /* Ukrainian */
|
||
{"umb", {HB_TAG('U','M','B',' ')}}, /* Umbundu */
|
||
{"unr", {HB_TAG('M','U','N',' ')}}, /* Mundari */
|
||
{"ur", {HB_TAG('U','R','D',' ')}}, /* Urdu */
|
||
{"urk", {HB_TAG('M','L','Y',' ')}}, /* Urak Lawoi' -> Malay */
|
||
{"uz", {HB_TAG('U','Z','B',' ')}}, /* Uzbek [macrolanguage] */
|
||
{"uzn", {HB_TAG('U','Z','B',' ')}}, /* Northern Uzbek -> Uzbek */
|
||
{"uzs", {HB_TAG('U','Z','B',' ')}}, /* Southern Uzbek -> Uzbek */
|
||
{"ve", {HB_TAG('V','E','N',' ')}}, /* Venda */
|
||
{"vec", {HB_TAG('V','E','C',' ')}}, /* Venetian */
|
||
{"vi", {HB_TAG('V','I','T',' ')}}, /* Vietnamese */
|
||
{"vkk", {HB_TAG('M','L','Y',' ')}}, /* Kaur -> Malay */
|
||
{"vkt", {HB_TAG('M','L','Y',' ')}}, /* Tenggarong Kutai Malay -> Malay */
|
||
{"vls", {HB_TAG('F','L','E',' ')}}, /* Vlaams -> Dutch (Flemish) */
|
||
{"vmw", {HB_TAG('M','A','K',' ')}}, /* Makhuwa */
|
||
{"vo", {HB_TAG('V','O','L',' ')}}, /* Volapük */
|
||
{"vro", {HB_TAG('V','R','O',' ')}}, /* Võro */
|
||
{"wa", {HB_TAG('W','L','N',' ')}}, /* Walloon */
|
||
{"war", {HB_TAG('W','A','R',' ')}}, /* Waray (Philippines) -> Waray-Waray */
|
||
{"wbm", {HB_TAG('W','A',' ',' ')}}, /* Wa */
|
||
{"wbr", {HB_TAG('W','A','G',' ')}}, /* Wagdi */
|
||
{"wlc", {HB_TAG('C','M','R',' ')}}, /* Mwali Comorian -> Comorian */
|
||
{"wle", {HB_TAG('S','I','G',' ')}}, /* Wolane -> Silte Gurage */
|
||
{"wlk", {HB_TAG('A','T','H',' ')}}, /* Wailaki -> Athapaskan */
|
||
{"wni", {HB_TAG('C','M','R',' ')}}, /* Ndzwani Comorian -> Comorian */
|
||
{"wo", {HB_TAG('W','L','F',' ')}}, /* Wolof */
|
||
{"wry", {HB_TAG('M','A','W',' ')}}, /* Merwari -> Marwari */
|
||
{"wsg", {HB_TAG('G','O','N',' ')}}, /* Adilabad Gondi -> Gondi */
|
||
{"wtm", {HB_TAG('W','T','M',' ')}}, /* Mewati */
|
||
{"wuu", {HB_TAG('Z','H','S',' ')}}, /* Wu Chinese -> Chinese Simplified */
|
||
{"xal", {HB_TAG('K','L','M',' '), /* Kalmyk */
|
||
HB_TAG('T','O','D',' ')}}, /* Kalmyk -> Todo */
|
||
{"xan", {HB_TAG('S','E','K',' ')}}, /* Xamtanga -> Sekota */
|
||
{"xh", {HB_TAG('X','H','S',' ')}}, /* Xhosa */
|
||
{"xjb", {HB_TAG('X','J','B',' ')}}, /* Minjungbal -> Minjangbal */
|
||
{"xkf", {HB_TAG('X','K','F',' ')}}, /* Khengkha */
|
||
{"xmm", {HB_TAG('M','L','Y',' ')}}, /* Manado Malay -> Malay */
|
||
{"xmv", {HB_TAG('M','L','G',' ')}}, /* Antankarana Malagasy -> Malagasy */
|
||
{"xmw", {HB_TAG('M','L','G',' ')}}, /* Tsimihety Malagasy -> Malagasy */
|
||
{"xnr", {HB_TAG('D','G','R',' ')}}, /* Kangri -> Dogri */
|
||
{"xog", {HB_TAG('X','O','G',' ')}}, /* Soga */
|
||
{"xpe", {HB_TAG('X','P','E',' ')}}, /* Liberia Kpelle -> Kpelle (Liberia) */
|
||
{"xsl", {HB_TAG('S','S','L',' '), /* South Slavey */
|
||
HB_TAG('S','L','A',' '), /* South Slavey -> Slavey */
|
||
HB_TAG('A','T','H',' ')}}, /* South Slavey -> Athapaskan */
|
||
{"xst", {HB_TAG('S','I','G',' ')}}, /* Silt'e (retired code) -> Silte Gurage */
|
||
{"xwo", {HB_TAG('T','O','D',' ')}}, /* Written Oirat -> Todo */
|
||
{"yao", {HB_TAG('Y','A','O',' ')}}, /* Yao */
|
||
{"yap", {HB_TAG('Y','A','P',' ')}}, /* Yapese */
|
||
{"ybd", {HB_TAG('A','R','K',' ')}}, /* Yangbye (retired code) -> Rakhine */
|
||
{"ydd", {HB_TAG('J','I','I',' ')}}, /* Eastern Yiddish -> Yiddish */
|
||
{"yi", {HB_TAG('J','I','I',' ')}}, /* Yiddish [macrolanguage] */
|
||
{"yih", {HB_TAG('J','I','I',' ')}}, /* Western Yiddish -> Yiddish */
|
||
{"yo", {HB_TAG('Y','B','A',' ')}}, /* Yoruba */
|
||
{"yos", {HB_TAG('Q','I','N',' ')}}, /* Yos (retired code) -> Chin */
|
||
{"yrk", {HB_TAG('T','N','E',' '), /* Nenets -> Tundra Nenets */
|
||
HB_TAG('F','N','E',' ')}}, /* Nenets -> Forest Nenets */
|
||
{"yue", {HB_TAG('Z','H','H',' ')}}, /* Yue Chinese -> Chinese, Hong Kong SAR */
|
||
{"za", {HB_TAG('Z','H','A',' ')}}, /* Zhuang [macrolanguage] */
|
||
{"zch", {HB_TAG('Z','H','A',' ')}}, /* Central Hongshuihe Zhuang -> Zhuang */
|
||
{"zdj", {HB_TAG('C','M','R',' ')}}, /* Ngazidja Comorian -> Comorian */
|
||
{"zea", {HB_TAG('Z','E','A',' ')}}, /* Zeeuws -> Zealandic */
|
||
{"zeh", {HB_TAG('Z','H','A',' ')}}, /* Eastern Hongshuihe Zhuang -> Zhuang */
|
||
{"zgb", {HB_TAG('Z','H','A',' ')}}, /* Guibei Zhuang -> Zhuang */
|
||
{"zgh", {HB_TAG('Z','G','H',' ')}}, /* Standard Moroccan Tamazight */
|
||
{"zgm", {HB_TAG('Z','H','A',' ')}}, /* Minz Zhuang -> Zhuang */
|
||
{"zgn", {HB_TAG('Z','H','A',' ')}}, /* Guibian Zhuang -> Zhuang */
|
||
{"zh", {HB_TAG('Z','H','S',' ')}}, /* Chinese [macrolanguage] -> Chinese Simplified */
|
||
{"zhd", {HB_TAG('Z','H','A',' ')}}, /* Dai Zhuang -> Zhuang */
|
||
{"zhn", {HB_TAG('Z','H','A',' ')}}, /* Nong Zhuang -> Zhuang */
|
||
{"zlj", {HB_TAG('Z','H','A',' ')}}, /* Liujiang Zhuang -> Zhuang */
|
||
{"zlm", {HB_TAG('M','L','Y',' ')}}, /* Malay */
|
||
{"zln", {HB_TAG('Z','H','A',' ')}}, /* Lianshan Zhuang -> Zhuang */
|
||
{"zlq", {HB_TAG('Z','H','A',' ')}}, /* Liuqian Zhuang -> Zhuang */
|
||
{"zmi", {HB_TAG('M','L','Y',' ')}}, /* Negeri Sembilan Malay -> Malay */
|
||
{"zne", {HB_TAG('Z','N','D',' ')}}, /* Zande */
|
||
{"zom", {HB_TAG('Q','I','N',' ')}}, /* Zou -> Chin */
|
||
{"zqe", {HB_TAG('Z','H','A',' ')}}, /* Qiubei Zhuang -> Zhuang */
|
||
{"zsm", {HB_TAG('M','L','Y',' ')}}, /* Standard Malay -> Malay */
|
||
{"zu", {HB_TAG('Z','U','L',' ')}}, /* Zulu */
|
||
{"zum", {HB_TAG('L','R','C',' ')}}, /* Kumzari -> Luri */
|
||
{"zyb", {HB_TAG('Z','H','A',' ')}}, /* Yongbei Zhuang -> Zhuang */
|
||
{"zyg", {HB_TAG('Z','H','A',' ')}}, /* Yang Zhuang -> Zhuang */
|
||
{"zyj", {HB_TAG('Z','H','A',' ')}}, /* Youjiang Zhuang -> Zhuang */
|
||
{"zyn", {HB_TAG('Z','H','A',' ')}}, /* Yongnan Zhuang -> Zhuang */
|
||
{"zza", {HB_TAG('Z','Z','A',' ')}}, /* Zazaki [macrolanguage] */
|
||
{"zzj", {HB_TAG('Z','H','A',' ')}}, /* Zuojiang Zhuang -> Zhuang */
|
||
};
|
||
|
||
static_assert (HB_OT_MAX_TAGS_PER_LANGUAGE == 3u, "");
|
||
|
||
/**
|
||
* hb_ot_tags_from_complex_language:
|
||
* @lang_str: a BCP 47 language tag to convert.
|
||
* @limit: a pointer to the end of the substring of @lang_str to consider for
|
||
* conversion.
|
||
* @count: maximum number of language tags to retrieve (IN) and actual number of
|
||
* language tags retrieved (OUT). If no tags are retrieved, it is not modified.
|
||
* @tags: array of size at least @language_count to store the language tag
|
||
* results
|
||
*
|
||
* Converts a multi-subtag BCP 47 language tag to language tags.
|
||
*
|
||
* Return value: Whether any language systems were retrieved.
|
||
**/
|
||
static bool
|
||
hb_ot_tags_from_complex_language (const char *lang_str,
|
||
const char *limit,
|
||
unsigned int *count /* IN/OUT */,
|
||
hb_tag_t *tags /* OUT */)
|
||
{
|
||
if (subtag_matches (lang_str, limit, "-fonnapa"))
|
||
{
|
||
/* Undetermined; North American Phonetic Alphabet */
|
||
tags[0] = HB_TAG('A','P','P','H'); /* Phonetic transcription—Americanist conventions */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (subtag_matches (lang_str, limit, "-polyton"))
|
||
{
|
||
/* Modern Greek (1453-); Polytonic Greek */
|
||
tags[0] = HB_TAG('P','G','R',' '); /* Polytonic Greek */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (subtag_matches (lang_str, limit, "-provenc"))
|
||
{
|
||
/* Occitan (post 1500); Provençal */
|
||
tags[0] = HB_TAG('P','R','O',' '); /* Provençal / Old Provençal */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (subtag_matches (lang_str, limit, "-fonipa"))
|
||
{
|
||
/* Undetermined; International Phonetic Alphabet */
|
||
tags[0] = HB_TAG('I','P','P','H'); /* Phonetic transcription—IPA conventions */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (subtag_matches (lang_str, limit, "-geok"))
|
||
{
|
||
/* Undetermined; Khutsuri (Asomtavruli and Nuskhuri) */
|
||
tags[0] = HB_TAG('K','G','E',' '); /* Khutsuri Georgian */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (subtag_matches (lang_str, limit, "-syre"))
|
||
{
|
||
/* Undetermined; Syriac (Estrangelo variant) */
|
||
tags[0] = HB_TAG('S','Y','R','E'); /* Syriac, Estrangela script-variant (equivalent to ISO 15924 'Syre') */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (subtag_matches (lang_str, limit, "-syrj"))
|
||
{
|
||
/* Undetermined; Syriac (Western variant) */
|
||
tags[0] = HB_TAG('S','Y','R','J'); /* Syriac, Western script-variant (equivalent to ISO 15924 'Syrj') */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (subtag_matches (lang_str, limit, "-syrn"))
|
||
{
|
||
/* Undetermined; Syriac (Eastern variant) */
|
||
tags[0] = HB_TAG('S','Y','R','N'); /* Syriac, Eastern script-variant (equivalent to ISO 15924 'Syrn') */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
switch (lang_str[0])
|
||
{
|
||
case 'a':
|
||
if (0 == strcmp (&lang_str[1], "rt-lojban"))
|
||
{
|
||
/* Lojban */
|
||
tags[0] = HB_TAG('J','B','O',' '); /* Lojban */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
break;
|
||
case 'c':
|
||
if (lang_matches (&lang_str[1], "do-hant-hk"))
|
||
{
|
||
/* Min Dong Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "do-hant-mo"))
|
||
{
|
||
/* Min Dong Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "jy-hant-hk"))
|
||
{
|
||
/* Jinyu Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "jy-hant-mo"))
|
||
{
|
||
/* Jinyu Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "mn-hant-hk"))
|
||
{
|
||
/* Mandarin Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "mn-hant-mo"))
|
||
{
|
||
/* Mandarin Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "px-hant-hk"))
|
||
{
|
||
/* Pu-Xian Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "px-hant-mo"))
|
||
{
|
||
/* Pu-Xian Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "zh-hant-hk"))
|
||
{
|
||
/* Huizhou Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "zh-hant-mo"))
|
||
{
|
||
/* Huizhou Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "zo-hant-hk"))
|
||
{
|
||
/* Min Zhong Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "zo-hant-mo"))
|
||
{
|
||
/* Min Zhong Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "do-hans"))
|
||
{
|
||
/* Min Dong Chinese */
|
||
tags[0] = HB_TAG('Z','H','S',' '); /* Chinese Simplified */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "do-hant"))
|
||
{
|
||
/* Min Dong Chinese */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "jy-hans"))
|
||
{
|
||
/* Jinyu Chinese */
|
||
tags[0] = HB_TAG('Z','H','S',' '); /* Chinese Simplified */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "jy-hant"))
|
||
{
|
||
/* Jinyu Chinese */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "mn-hans"))
|
||
{
|
||
/* Mandarin Chinese */
|
||
tags[0] = HB_TAG('Z','H','S',' '); /* Chinese Simplified */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "mn-hant"))
|
||
{
|
||
/* Mandarin Chinese */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "px-hans"))
|
||
{
|
||
/* Pu-Xian Chinese */
|
||
tags[0] = HB_TAG('Z','H','S',' '); /* Chinese Simplified */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "px-hant"))
|
||
{
|
||
/* Pu-Xian Chinese */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "zh-hans"))
|
||
{
|
||
/* Huizhou Chinese */
|
||
tags[0] = HB_TAG('Z','H','S',' '); /* Chinese Simplified */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "zh-hant"))
|
||
{
|
||
/* Huizhou Chinese */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "zo-hans"))
|
||
{
|
||
/* Min Zhong Chinese */
|
||
tags[0] = HB_TAG('Z','H','S',' '); /* Chinese Simplified */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "zo-hant"))
|
||
{
|
||
/* Min Zhong Chinese */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "do-", 3)
|
||
&& subtag_matches (lang_str, limit, "-hk"))
|
||
{
|
||
/* Min Dong Chinese; Hong Kong */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "do-", 3)
|
||
&& subtag_matches (lang_str, limit, "-mo"))
|
||
{
|
||
/* Min Dong Chinese; Macao */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "do-", 3)
|
||
&& subtag_matches (lang_str, limit, "-tw"))
|
||
{
|
||
/* Min Dong Chinese; Taiwan, Province of China */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "jy-", 3)
|
||
&& subtag_matches (lang_str, limit, "-hk"))
|
||
{
|
||
/* Jinyu Chinese; Hong Kong */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "jy-", 3)
|
||
&& subtag_matches (lang_str, limit, "-mo"))
|
||
{
|
||
/* Jinyu Chinese; Macao */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "jy-", 3)
|
||
&& subtag_matches (lang_str, limit, "-tw"))
|
||
{
|
||
/* Jinyu Chinese; Taiwan, Province of China */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "mn-", 3)
|
||
&& subtag_matches (lang_str, limit, "-hk"))
|
||
{
|
||
/* Mandarin Chinese; Hong Kong */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "mn-", 3)
|
||
&& subtag_matches (lang_str, limit, "-mo"))
|
||
{
|
||
/* Mandarin Chinese; Macao */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "mn-", 3)
|
||
&& subtag_matches (lang_str, limit, "-tw"))
|
||
{
|
||
/* Mandarin Chinese; Taiwan, Province of China */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "px-", 3)
|
||
&& subtag_matches (lang_str, limit, "-hk"))
|
||
{
|
||
/* Pu-Xian Chinese; Hong Kong */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "px-", 3)
|
||
&& subtag_matches (lang_str, limit, "-mo"))
|
||
{
|
||
/* Pu-Xian Chinese; Macao */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "px-", 3)
|
||
&& subtag_matches (lang_str, limit, "-tw"))
|
||
{
|
||
/* Pu-Xian Chinese; Taiwan, Province of China */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "zh-", 3)
|
||
&& subtag_matches (lang_str, limit, "-hk"))
|
||
{
|
||
/* Huizhou Chinese; Hong Kong */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "zh-", 3)
|
||
&& subtag_matches (lang_str, limit, "-mo"))
|
||
{
|
||
/* Huizhou Chinese; Macao */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "zh-", 3)
|
||
&& subtag_matches (lang_str, limit, "-tw"))
|
||
{
|
||
/* Huizhou Chinese; Taiwan, Province of China */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "zo-", 3)
|
||
&& subtag_matches (lang_str, limit, "-hk"))
|
||
{
|
||
/* Min Zhong Chinese; Hong Kong */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "zo-", 3)
|
||
&& subtag_matches (lang_str, limit, "-mo"))
|
||
{
|
||
/* Min Zhong Chinese; Macao */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "zo-", 3)
|
||
&& subtag_matches (lang_str, limit, "-tw"))
|
||
{
|
||
/* Min Zhong Chinese; Taiwan, Province of China */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
break;
|
||
case 'g':
|
||
if (lang_matches (&lang_str[1], "an-hant-hk"))
|
||
{
|
||
/* Gan Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "an-hant-mo"))
|
||
{
|
||
/* Gan Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "an-hans"))
|
||
{
|
||
/* Gan Chinese */
|
||
tags[0] = HB_TAG('Z','H','S',' '); /* Chinese Simplified */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "an-hant"))
|
||
{
|
||
/* Gan Chinese */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "a-latg"))
|
||
{
|
||
/* Irish */
|
||
tags[0] = HB_TAG('I','R','T',' '); /* Irish Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "an-", 3)
|
||
&& subtag_matches (lang_str, limit, "-hk"))
|
||
{
|
||
/* Gan Chinese; Hong Kong */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "an-", 3)
|
||
&& subtag_matches (lang_str, limit, "-mo"))
|
||
{
|
||
/* Gan Chinese; Macao */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "an-", 3)
|
||
&& subtag_matches (lang_str, limit, "-tw"))
|
||
{
|
||
/* Gan Chinese; Taiwan, Province of China */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
break;
|
||
case 'h':
|
||
if (lang_matches (&lang_str[1], "ak-hant-hk"))
|
||
{
|
||
/* Hakka Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "ak-hant-mo"))
|
||
{
|
||
/* Hakka Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "sn-hant-hk"))
|
||
{
|
||
/* Xiang Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "sn-hant-mo"))
|
||
{
|
||
/* Xiang Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "ak-hans"))
|
||
{
|
||
/* Hakka Chinese */
|
||
tags[0] = HB_TAG('Z','H','S',' '); /* Chinese Simplified */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "ak-hant"))
|
||
{
|
||
/* Hakka Chinese */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "sn-hans"))
|
||
{
|
||
/* Xiang Chinese */
|
||
tags[0] = HB_TAG('Z','H','S',' '); /* Chinese Simplified */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "sn-hant"))
|
||
{
|
||
/* Xiang Chinese */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "ak-", 3)
|
||
&& subtag_matches (lang_str, limit, "-hk"))
|
||
{
|
||
/* Hakka Chinese; Hong Kong */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "ak-", 3)
|
||
&& subtag_matches (lang_str, limit, "-mo"))
|
||
{
|
||
/* Hakka Chinese; Macao */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "ak-", 3)
|
||
&& subtag_matches (lang_str, limit, "-tw"))
|
||
{
|
||
/* Hakka Chinese; Taiwan, Province of China */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "sn-", 3)
|
||
&& subtag_matches (lang_str, limit, "-hk"))
|
||
{
|
||
/* Xiang Chinese; Hong Kong */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "sn-", 3)
|
||
&& subtag_matches (lang_str, limit, "-mo"))
|
||
{
|
||
/* Xiang Chinese; Macao */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "sn-", 3)
|
||
&& subtag_matches (lang_str, limit, "-tw"))
|
||
{
|
||
/* Xiang Chinese; Taiwan, Province of China */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
break;
|
||
case 'i':
|
||
if (0 == strcmp (&lang_str[1], "-navajo"))
|
||
{
|
||
/* Navajo */
|
||
unsigned int i;
|
||
hb_tag_t possible_tags[] = {
|
||
HB_TAG('N','A','V',' '), /* Navajo */
|
||
HB_TAG('A','T','H',' '), /* Athapaskan */
|
||
};
|
||
for (i = 0; i < 2 && i < *count; i++)
|
||
tags[i] = possible_tags[i];
|
||
*count = i;
|
||
return true;
|
||
}
|
||
if (0 == strcmp (&lang_str[1], "-hak"))
|
||
{
|
||
/* Hakka */
|
||
tags[0] = HB_TAG('Z','H','S',' '); /* Chinese Simplified */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strcmp (&lang_str[1], "-lux"))
|
||
{
|
||
/* Luxembourgish */
|
||
tags[0] = HB_TAG('L','T','Z',' '); /* Luxembourgish */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
break;
|
||
case 'l':
|
||
if (lang_matches (&lang_str[1], "zh-hans"))
|
||
{
|
||
/* Literary Chinese */
|
||
tags[0] = HB_TAG('Z','H','S',' '); /* Chinese Simplified */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
break;
|
||
case 'm':
|
||
if (lang_matches (&lang_str[1], "np-hant-hk"))
|
||
{
|
||
/* Min Bei Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "np-hant-mo"))
|
||
{
|
||
/* Min Bei Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "np-hans"))
|
||
{
|
||
/* Min Bei Chinese */
|
||
tags[0] = HB_TAG('Z','H','S',' '); /* Chinese Simplified */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "np-hant"))
|
||
{
|
||
/* Min Bei Chinese */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "np-", 3)
|
||
&& subtag_matches (lang_str, limit, "-hk"))
|
||
{
|
||
/* Min Bei Chinese; Hong Kong */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "np-", 3)
|
||
&& subtag_matches (lang_str, limit, "-mo"))
|
||
{
|
||
/* Min Bei Chinese; Macao */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "np-", 3)
|
||
&& subtag_matches (lang_str, limit, "-tw"))
|
||
{
|
||
/* Min Bei Chinese; Taiwan, Province of China */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
break;
|
||
case 'n':
|
||
if (lang_matches (&lang_str[1], "an-hant-hk"))
|
||
{
|
||
/* Min Nan Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "an-hant-mo"))
|
||
{
|
||
/* Min Nan Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "an-hans"))
|
||
{
|
||
/* Min Nan Chinese */
|
||
tags[0] = HB_TAG('Z','H','S',' '); /* Chinese Simplified */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "an-hant"))
|
||
{
|
||
/* Min Nan Chinese */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "an-", 3)
|
||
&& subtag_matches (lang_str, limit, "-hk"))
|
||
{
|
||
/* Min Nan Chinese; Hong Kong */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "an-", 3)
|
||
&& subtag_matches (lang_str, limit, "-mo"))
|
||
{
|
||
/* Min Nan Chinese; Macao */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "an-", 3)
|
||
&& subtag_matches (lang_str, limit, "-tw"))
|
||
{
|
||
/* Min Nan Chinese; Taiwan, Province of China */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strcmp (&lang_str[1], "o-bok"))
|
||
{
|
||
/* Norwegian Bokmal */
|
||
tags[0] = HB_TAG('N','O','R',' '); /* Norwegian */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strcmp (&lang_str[1], "o-nyn"))
|
||
{
|
||
/* Norwegian Nynorsk */
|
||
tags[0] = HB_TAG('N','Y','N',' '); /* Norwegian Nynorsk (Nynorsk, Norwegian) */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
break;
|
||
case 'r':
|
||
if (0 == strncmp (&lang_str[1], "o-", 2)
|
||
&& subtag_matches (lang_str, limit, "-md"))
|
||
{
|
||
/* Romanian; Moldova */
|
||
tags[0] = HB_TAG('M','O','L',' '); /* Moldavian */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
break;
|
||
case 'w':
|
||
if (lang_matches (&lang_str[1], "uu-hant-hk"))
|
||
{
|
||
/* Wu Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "uu-hant-mo"))
|
||
{
|
||
/* Wu Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "uu-hans"))
|
||
{
|
||
/* Wu Chinese */
|
||
tags[0] = HB_TAG('Z','H','S',' '); /* Chinese Simplified */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "uu-hant"))
|
||
{
|
||
/* Wu Chinese */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "uu-", 3)
|
||
&& subtag_matches (lang_str, limit, "-hk"))
|
||
{
|
||
/* Wu Chinese; Hong Kong */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "uu-", 3)
|
||
&& subtag_matches (lang_str, limit, "-mo"))
|
||
{
|
||
/* Wu Chinese; Macao */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "uu-", 3)
|
||
&& subtag_matches (lang_str, limit, "-tw"))
|
||
{
|
||
/* Wu Chinese; Taiwan, Province of China */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
break;
|
||
case 'y':
|
||
if (lang_matches (&lang_str[1], "ue-hans"))
|
||
{
|
||
/* Yue Chinese */
|
||
tags[0] = HB_TAG('Z','H','S',' '); /* Chinese Simplified */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
break;
|
||
case 'z':
|
||
if (lang_matches (&lang_str[1], "h-hant-hk"))
|
||
{
|
||
/* Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "h-hant-mo"))
|
||
{
|
||
/* Chinese */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strcmp (&lang_str[1], "h-min-nan"))
|
||
{
|
||
/* Minnan, Hokkien, Amoy, Taiwanese, Southern Min, Southern Fujian, Hoklo, Southern Fukien, Ho-lo */
|
||
tags[0] = HB_TAG('Z','H','S',' '); /* Chinese Simplified */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "h-hans"))
|
||
{
|
||
/* Chinese */
|
||
tags[0] = HB_TAG('Z','H','S',' '); /* Chinese Simplified */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (lang_matches (&lang_str[1], "h-hant"))
|
||
{
|
||
/* Chinese */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strcmp (&lang_str[1], "h-min"))
|
||
{
|
||
/* Min, Fuzhou, Hokkien, Amoy, or Taiwanese */
|
||
tags[0] = HB_TAG('Z','H','S',' '); /* Chinese Simplified */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "h-", 2)
|
||
&& subtag_matches (lang_str, limit, "-hk"))
|
||
{
|
||
/* Chinese; Hong Kong */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "h-", 2)
|
||
&& subtag_matches (lang_str, limit, "-mo"))
|
||
{
|
||
/* Chinese; Macao */
|
||
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
if (0 == strncmp (&lang_str[1], "h-", 2)
|
||
&& subtag_matches (lang_str, limit, "-tw"))
|
||
{
|
||
/* Chinese; Taiwan, Province of China */
|
||
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
|
||
*count = 1;
|
||
return true;
|
||
}
|
||
break;
|
||
}
|
||
return false;
|
||
}
|
||
|
||
/**
|
||
* hb_ot_ambiguous_tag_to_language
|
||
* @tag: A language tag.
|
||
*
|
||
* Converts @tag to a BCP 47 language tag if it is ambiguous (it corresponds to
|
||
* many language tags) and the best tag is not the alphabetically first, or if
|
||
* the best tag consists of multiple subtags.
|
||
*
|
||
* Return value: The #hb_language_t corresponding to the BCP 47 language tag,
|
||
* or #HB_LANGUAGE_INVALID if @tag is not ambiguous.
|
||
**/
|
||
static hb_language_t
|
||
hb_ot_ambiguous_tag_to_language (hb_tag_t tag)
|
||
{
|
||
switch (tag)
|
||
{
|
||
case HB_TAG('A','P','P','H'): /* Phonetic transcription—Americanist conventions */
|
||
return hb_language_from_string ("und-fonnapa", -1); /* Undetermined; North American Phonetic Alphabet */
|
||
case HB_TAG('A','R','A',' '): /* Arabic */
|
||
return hb_language_from_string ("ar", -1); /* Arabic */
|
||
case HB_TAG('A','R','K',' '): /* Rakhine */
|
||
return hb_language_from_string ("rki", -1); /* Rakhine */
|
||
case HB_TAG('A','T','H',' '): /* Athapaskan */
|
||
return hb_language_from_string ("ath", -1); /* Athapascan */
|
||
case HB_TAG('B','I','K',' '): /* Bikol */
|
||
return hb_language_from_string ("bik", -1); /* Bikol */
|
||
case HB_TAG('C','P','P',' '): /* Creoles */
|
||
return hb_language_from_string ("crp", -1); /* Creoles and pidgins */
|
||
case HB_TAG('C','R','R',' '): /* Carrier */
|
||
return hb_language_from_string ("crx", -1); /* Carrier */
|
||
case HB_TAG('D','N','K',' '): /* Dinka */
|
||
return hb_language_from_string ("din", -1); /* Dinka */
|
||
case HB_TAG('D','R','I',' '): /* Dari */
|
||
return hb_language_from_string ("prs", -1); /* Dari */
|
||
case HB_TAG('D','U','J',' '): /* Dhuwal */
|
||
return hb_language_from_string ("dwu", -1); /* Dhuwal */
|
||
case HB_TAG('D','Z','N',' '): /* Dzongkha */
|
||
return hb_language_from_string ("dz", -1); /* Dzongkha */
|
||
case HB_TAG('E','T','I',' '): /* Estonian */
|
||
return hb_language_from_string ("et", -1); /* Estonian */
|
||
case HB_TAG('G','O','N',' '): /* Gondi */
|
||
return hb_language_from_string ("gon", -1); /* Gondi */
|
||
case HB_TAG('H','M','N',' '): /* Hmong */
|
||
return hb_language_from_string ("hmn", -1); /* Hmong */
|
||
case HB_TAG('I','J','O',' '): /* Ijo */
|
||
return hb_language_from_string ("ijo", -1); /* Ijo */
|
||
case HB_TAG('I','N','U',' '): /* Inuktitut */
|
||
return hb_language_from_string ("iu", -1); /* Inuktitut */
|
||
case HB_TAG('I','P','K',' '): /* Inupiat */
|
||
return hb_language_from_string ("ik", -1); /* Inupiaq */
|
||
case HB_TAG('I','P','P','H'): /* Phonetic transcription—IPA conventions */
|
||
return hb_language_from_string ("und-fonipa", -1); /* Undetermined; International Phonetic Alphabet */
|
||
case HB_TAG('I','R','T',' '): /* Irish Traditional */
|
||
return hb_language_from_string ("ga-Latg", -1); /* Irish; Latin (Gaelic variant) */
|
||
case HB_TAG('J','I','I',' '): /* Yiddish */
|
||
return hb_language_from_string ("yi", -1); /* Yiddish */
|
||
case HB_TAG('K','A','L',' '): /* Kalenjin */
|
||
return hb_language_from_string ("kln", -1); /* Kalenjin */
|
||
case HB_TAG('K','G','E',' '): /* Khutsuri Georgian */
|
||
return hb_language_from_string ("und-Geok", -1); /* Undetermined; Khutsuri (Asomtavruli and Nuskhuri) */
|
||
case HB_TAG('K','N','R',' '): /* Kanuri */
|
||
return hb_language_from_string ("kr", -1); /* Kanuri */
|
||
case HB_TAG('K','O','K',' '): /* Konkani */
|
||
return hb_language_from_string ("kok", -1); /* Konkani */
|
||
case HB_TAG('K','U','R',' '): /* Kurdish */
|
||
return hb_language_from_string ("ku", -1); /* Kurdish */
|
||
case HB_TAG('L','U','H',' '): /* Luyia */
|
||
return hb_language_from_string ("luy", -1); /* Luyia */
|
||
case HB_TAG('L','V','I',' '): /* Latvian */
|
||
return hb_language_from_string ("lv", -1); /* Latvian */
|
||
case HB_TAG('M','A','W',' '): /* Marwari */
|
||
return hb_language_from_string ("mwr", -1); /* Marwari */
|
||
case HB_TAG('M','L','G',' '): /* Malagasy */
|
||
return hb_language_from_string ("mg", -1); /* Malagasy */
|
||
case HB_TAG('M','L','Y',' '): /* Malay */
|
||
return hb_language_from_string ("ms", -1); /* Malay */
|
||
case HB_TAG('M','N','G',' '): /* Mongolian */
|
||
return hb_language_from_string ("mn", -1); /* Mongolian */
|
||
case HB_TAG('M','O','L',' '): /* Moldavian */
|
||
return hb_language_from_string ("ro-MD", -1); /* Romanian; Moldova */
|
||
case HB_TAG('N','E','P',' '): /* Nepali */
|
||
return hb_language_from_string ("ne", -1); /* Nepali */
|
||
case HB_TAG('N','I','S',' '): /* Nisi */
|
||
return hb_language_from_string ("njz", -1); /* Nyishi */
|
||
case HB_TAG('N','O','R',' '): /* Norwegian */
|
||
return hb_language_from_string ("no", -1); /* Norwegian */
|
||
case HB_TAG('O','J','B',' '): /* Ojibway */
|
||
return hb_language_from_string ("oj", -1); /* Ojibwa */
|
||
case HB_TAG('O','R','O',' '): /* Oromo */
|
||
return hb_language_from_string ("om", -1); /* Oromo */
|
||
case HB_TAG('P','A','S',' '): /* Pashto */
|
||
return hb_language_from_string ("ps", -1); /* Pashto */
|
||
case HB_TAG('P','G','R',' '): /* Polytonic Greek */
|
||
return hb_language_from_string ("el-polyton", -1); /* Modern Greek (1453-); Polytonic Greek */
|
||
case HB_TAG('P','R','O',' '): /* Provençal / Old Provençal */
|
||
return hb_language_from_string ("pro", -1); /* Old Provençal (to 1500) */
|
||
case HB_TAG('Q','U','H',' '): /* Quechua (Bolivia) */
|
||
return hb_language_from_string ("quh", -1); /* South Bolivian Quechua */
|
||
case HB_TAG('Q','V','I',' '): /* Quechua (Ecuador) */
|
||
return hb_language_from_string ("qvi", -1); /* Imbabura Highland Quichua */
|
||
case HB_TAG('Q','W','H',' '): /* Quechua (Peru) */
|
||
return hb_language_from_string ("qwh", -1); /* Huaylas Ancash Quechua */
|
||
case HB_TAG('R','A','J',' '): /* Rajasthani */
|
||
return hb_language_from_string ("raj", -1); /* Rajasthani */
|
||
case HB_TAG('R','O','Y',' '): /* Romany */
|
||
return hb_language_from_string ("rom", -1); /* Romany */
|
||
case HB_TAG('S','Q','I',' '): /* Albanian */
|
||
return hb_language_from_string ("sq", -1); /* Albanian */
|
||
case HB_TAG('S','Y','R',' '): /* Syriac */
|
||
return hb_language_from_string ("syr", -1); /* Syriac */
|
||
case HB_TAG('S','Y','R','E'): /* Syriac, Estrangela script-variant (equivalent to ISO 15924 'Syre') */
|
||
return hb_language_from_string ("und-Syre", -1); /* Undetermined; Syriac (Estrangelo variant) */
|
||
case HB_TAG('S','Y','R','J'): /* Syriac, Western script-variant (equivalent to ISO 15924 'Syrj') */
|
||
return hb_language_from_string ("und-Syrj", -1); /* Undetermined; Syriac (Western variant) */
|
||
case HB_TAG('S','Y','R','N'): /* Syriac, Eastern script-variant (equivalent to ISO 15924 'Syrn') */
|
||
return hb_language_from_string ("und-Syrn", -1); /* Undetermined; Syriac (Eastern variant) */
|
||
case HB_TAG('T','M','H',' '): /* Tamashek */
|
||
return hb_language_from_string ("tmh", -1); /* Tamashek */
|
||
case HB_TAG('T','N','E',' '): /* Tundra Nenets */
|
||
return hb_language_from_string ("yrk", -1); /* Nenets */
|
||
case HB_TAG('Z','H','H',' '): /* Chinese, Hong Kong SAR */
|
||
return hb_language_from_string ("zh-HK", -1); /* Chinese; Hong Kong */
|
||
case HB_TAG('Z','H','S',' '): /* Chinese Simplified */
|
||
return hb_language_from_string ("zh-Hans", -1); /* Chinese; Han (Simplified variant) */
|
||
case HB_TAG('Z','H','T',' '): /* Chinese Traditional */
|
||
return hb_language_from_string ("zh-Hant", -1); /* Chinese; Han (Traditional variant) */
|
||
default:
|
||
return HB_LANGUAGE_INVALID;
|
||
}
|
||
}
|
||
|
||
#endif /* HB_OT_TAG_TABLE_HH */
|
||
|
||
/* == End of generated table == */
|