Update IANA Language Subtag Registry to 2020-05-12

This commit is contained in:
David Corbett 2020-04-01 17:26:07 -04:00
parent fd748fac41
commit 7a961692e9
2 changed files with 119 additions and 7 deletions

View File

@ -807,6 +807,7 @@ disambiguation = {
'HAL': 'cfm',
'HND': 'hnd',
'KIS': 'kqs',
'KUI': 'uki',
'LRC': 'bqi',
'NDB': 'nd',
'NIS': 'njz',

View File

@ -6,8 +6,8 @@
*
* on files with these headers:
*
* <meta name="updated_at" content="2018-11-18 05:25 AM" />
* File-Date: 2019-04-03
* <meta name="updated_at" content="2019-05-22 06:05 PM" />
* File-Date: 2020-05-12
*/
#ifndef HB_OT_TAG_TABLE_HH
@ -95,7 +95,7 @@ static const LangTag ot_languages[] = {
/*{"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 */
{"bbz", HB_TAG('A','R','A',' ')}, /* Babalia Creole Arabic (retired code) -> 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 */
@ -199,6 +199,7 @@ static const LangTag ot_languages[] = {
{"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 */
{"cnp", HB_TAG('Z','H','S',' ')}, /* Northern Ping Chinese -> Chinese Simplified */
{"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 */
@ -228,6 +229,7 @@ static const LangTag ot_languages[] = {
/*{"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 */
{"csp", HB_TAG('Z','H','S',' ')}, /* Southern Ping Chinese -> Chinese Simplified */
{"csw", HB_TAG('N','C','R',' ')}, /* Swampy Cree -> N-Cree */
{"csw", HB_TAG('N','H','C',' ')}, /* Swampy Cree -> Norway House Cree */
{"csy", HB_TAG('Q','I','N',' ')}, /* Siyin Chin -> Chin */
@ -280,6 +282,7 @@ static const LangTag ot_languages[] = {
{"dup", HB_TAG('M','L','Y',' ')}, /* Duano -> Malay */
{"dv", HB_TAG('D','I','V',' ')}, /* Divehi (Dhivehi, Maldivian) */
{"dv", HB_TAG('D','H','V',' ')}, /* Divehi (Dhivehi, Maldivian) (deprecated) */
{"dwk", HB_TAG('K','U','I',' ')}, /* Dawik Kui -> Kui */
{"dwu", HB_TAG('D','U','J',' ')}, /* Dhuwal */
{"dwy", HB_TAG('D','U','J',' ')}, /* Dhuwaya -> Dhuwal */
{"dyu", HB_TAG('J','U','L',' ')}, /* Dyula -> Jula */
@ -458,7 +461,7 @@ static const LangTag ot_languages[] = {
{"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 */
{"kaa", HB_TAG('K','R','K',' ')}, /* 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] */
@ -538,7 +541,8 @@ static const LangTag ot_languages[] = {
{"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) */
{"kxl", HB_TAG('K','U','U',' ')}, /* Nepali Kurux (retired code) -> Kurukh */
{"kxu", HB_TAG('K','U','I',' ')}, /* Kui (India) (retired code) */
{"ky", HB_TAG('K','I','R',' ')}, /* Kirghiz (Kyrgyz) */
/*{"kyu", HB_TAG('K','Y','U',' ')},*/ /* Western Kayah */
{"la", HB_TAG('L','A','T',' ')}, /* Latin */
@ -736,7 +740,7 @@ static const LangTag ot_languages[] = {
{"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 */
{"plp", HB_TAG('P','A','P',' ')}, /* Palpa (retired code) */
{"plt", HB_TAG('M','L','G',' ')}, /* Plateau Malagasy -> Malagasy */
/*{"pms", HB_TAG('P','M','S',' ')},*/ /* Piemontese */
/*{"pnb", HB_TAG('P','N','B',' ')},*/ /* Western Panjabi */
@ -803,7 +807,7 @@ static const LangTag ot_languages[] = {
/*{"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 */
/*{"rit", HB_TAG('R','I','T',' ')},*/ /* Ritharrngu -> Ritarungo */
{"rki", HB_TAG('A','R','K',' ')}, /* Rakhine */
/*{"rkw", HB_TAG('R','K','W',' ')},*/ /* Arakwal */
{"rm", HB_TAG('R','M','S',' ')}, /* Romansh */
@ -965,6 +969,7 @@ static const LangTag ot_languages[] = {
/*{"udm", HB_TAG('U','D','M',' ')},*/ /* Udmurt */
{"ug", HB_TAG('U','Y','G',' ')}, /* Uyghur */
{"uk", HB_TAG('U','K','R',' ')}, /* Ukrainian */
{"uki", HB_TAG('K','U','I',' ')}, /* Kui (India) */
/*{"umb", HB_TAG('U','M','B',' ')},*/ /* Umbundu */
{"unr", HB_TAG('M','U','N',' ')}, /* Mundari */
{"ur", HB_TAG('U','R','D',' ')}, /* Urdu */
@ -1183,6 +1188,20 @@ hb_ot_tags_from_complex_language (const char *lang_str,
*count = 1;
return true;
}
if (lang_matches (&lang_str[1], "np-hant-hk"))
{
/* Northern Ping 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"))
{
/* Northern Ping 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 */
@ -1197,6 +1216,20 @@ hb_ot_tags_from_complex_language (const char *lang_str,
*count = 1;
return true;
}
if (lang_matches (&lang_str[1], "sp-hant-hk"))
{
/* Southern Ping Chinese */
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
*count = 1;
return true;
}
if (lang_matches (&lang_str[1], "sp-hant-mo"))
{
/* Southern Ping 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 */
@ -1267,6 +1300,20 @@ hb_ot_tags_from_complex_language (const char *lang_str,
*count = 1;
return true;
}
if (lang_matches (&lang_str[1], "np-hans"))
{
/* Northern Ping Chinese */
tags[0] = HB_TAG('Z','H','S',' '); /* Chinese Simplified */
*count = 1;
return true;
}
if (lang_matches (&lang_str[1], "np-hant"))
{
/* Northern Ping 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 */
@ -1281,6 +1328,20 @@ hb_ot_tags_from_complex_language (const char *lang_str,
*count = 1;
return true;
}
if (lang_matches (&lang_str[1], "sp-hans"))
{
/* Southern Ping Chinese */
tags[0] = HB_TAG('Z','H','S',' '); /* Chinese Simplified */
*count = 1;
return true;
}
if (lang_matches (&lang_str[1], "sp-hant"))
{
/* Southern Ping Chinese */
tags[0] = HB_TAG('Z','H','T',' '); /* Chinese Traditional */
*count = 1;
return true;
}
if (lang_matches (&lang_str[1], "zh-hans"))
{
/* Huizhou Chinese */
@ -1381,6 +1442,30 @@ hb_ot_tags_from_complex_language (const char *lang_str,
*count = 1;
return true;
}
if (0 == strncmp (&lang_str[1], "np-", 3)
&& subtag_matches (lang_str, limit, "-hk"))
{
/* Northern Ping 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"))
{
/* Northern Ping 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"))
{
/* Northern Ping 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"))
{
@ -1405,6 +1490,30 @@ hb_ot_tags_from_complex_language (const char *lang_str,
*count = 1;
return true;
}
if (0 == strncmp (&lang_str[1], "sp-", 3)
&& subtag_matches (lang_str, limit, "-hk"))
{
/* Southern Ping Chinese; Hong Kong */
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
*count = 1;
return true;
}
if (0 == strncmp (&lang_str[1], "sp-", 3)
&& subtag_matches (lang_str, limit, "-mo"))
{
/* Southern Ping Chinese; Macao */
tags[0] = HB_TAG('Z','H','H',' '); /* Chinese, Hong Kong SAR */
*count = 1;
return true;
}
if (0 == strncmp (&lang_str[1], "sp-", 3)
&& subtag_matches (lang_str, limit, "-tw"))
{
/* Southern Ping 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"))
{
@ -1993,6 +2102,8 @@ hb_ot_ambiguous_tag_to_language (hb_tag_t tag)
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','I',' '): /* Kui */
return hb_language_from_string ("uki", -1); /* Kui (India) */
case HB_TAG('K','U','R',' '): /* Kurdish */
return hb_language_from_string ("ku", -1); /* Kurdish */
case HB_TAG('L','U','H',' '): /* Luyia */