|
|
|
@ -1647,63 +1647,63 @@ hb_ot_tags_from_complex_language (const char *lang_str, |
|
|
|
|
{ |
|
|
|
|
const char *p = strchr (lang_str, '-'); |
|
|
|
|
if (!p || p >= limit || limit - p < 5) goto out; |
|
|
|
|
if (subtag_matches (lang_str, limit, "-fonnapa", 8)) |
|
|
|
|
if (subtag_matches (p, limit, "-fonnapa", 8)) |
|
|
|
|
{ |
|
|
|
|
/* 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", 8)) |
|
|
|
|
if (subtag_matches (p, limit, "-polyton", 8)) |
|
|
|
|
{ |
|
|
|
|
/* Modern Greek (1453-); Polytonic Greek */ |
|
|
|
|
tags[0] = HB_TAG('P','G','R',' '); /* Polytonic Greek */ |
|
|
|
|
*count = 1; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
if (subtag_matches (lang_str, limit, "-arevmda", 8)) |
|
|
|
|
if (subtag_matches (p, limit, "-arevmda", 8)) |
|
|
|
|
{ |
|
|
|
|
/* Armenian; Western Armenian (retired code) */ |
|
|
|
|
tags[0] = HB_TAG('H','Y','E',' '); /* Armenian */ |
|
|
|
|
*count = 1; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
if (subtag_matches (lang_str, limit, "-provenc", 8)) |
|
|
|
|
if (subtag_matches (p, limit, "-provenc", 8)) |
|
|
|
|
{ |
|
|
|
|
/* 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", 7)) |
|
|
|
|
if (subtag_matches (p, limit, "-fonipa", 7)) |
|
|
|
|
{ |
|
|
|
|
/* 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", 5)) |
|
|
|
|
if (subtag_matches (p, limit, "-geok", 5)) |
|
|
|
|
{ |
|
|
|
|
/* 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", 5)) |
|
|
|
|
if (subtag_matches (p, limit, "-syre", 5)) |
|
|
|
|
{ |
|
|
|
|
/* 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", 5)) |
|
|
|
|
if (subtag_matches (p, limit, "-syrj", 5)) |
|
|
|
|
{ |
|
|
|
|
/* 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", 5)) |
|
|
|
|
if (subtag_matches (p, limit, "-syrn", 5)) |
|
|
|
|
{ |
|
|
|
|
/* Undetermined; Syriac (Eastern variant) */ |
|
|
|
|
tags[0] = HB_TAG('S','Y','R','N'); /* Syriac, Eastern script-variant (equivalent to ISO 15924 'Syrn') */ |
|
|
|
|