diff --git a/src/hb-ot-tag.cc b/src/hb-ot-tag.cc index 04835576d..fdebb05c2 100644 --- a/src/hb-ot-tag.cc +++ b/src/hb-ot-tag.cc @@ -826,16 +826,18 @@ static const LangTag ot_languages[] = { }; typedef struct { - char language[8]; + char language[11]; hb_tag_t tag; } LangTagLong; static const LangTagLong ot_languages_zh[] = { + /* Store longest-first, if one is a prefix of another. */ {"zh-cn", HB_TAG('Z','H','S',' ')}, /* Chinese (China) */ {"zh-hk", HB_TAG('Z','H','H',' ')}, /* Chinese (Hong Kong) */ {"zh-mo", HB_TAG('Z','H','T',' ')}, /* Chinese (Macao) */ {"zh-sg", HB_TAG('Z','H','S',' ')}, /* Chinese (Singapore) */ {"zh-tw", HB_TAG('Z','H','T',' ')}, /* Chinese (Taiwan) */ {"zh-hans", HB_TAG('Z','H','S',' ')}, /* Chinese (Simplified) */ + {"zh-hant-hk",HB_TAG('Z','H','H',' ')}, /* Chinese (Hong Kong) */ {"zh-hant", HB_TAG('Z','H','T',' ')}, /* Chinese (Traditional) */ };