tag = (tag & 0xDFDFDFDF) | 0x00202020;
switch (tag) {
+
+ /* These graduated from the 'Q' private-area codes, but
+ * the old code is still aliased by Unicode, and the Qaai
+ * one in use by ICU. */
+ case HB_TAG('Q','a','a','i'): return HB_SCRIPT_INHERITED;
+ case HB_TAG('Q','a','a','c'): return HB_SCRIPT_COPTIC;
+
+ /* Script variants from http://unicode.org/iso15924/ */
case HB_TAG('C','y','r','s'): return HB_SCRIPT_CYRILLIC;
- case HB_TAG('G','e','o','a'): return HB_SCRIPT_GEORGIAN;
- case HB_TAG('G','e','o','n'): return HB_SCRIPT_GEORGIAN;
case HB_TAG('L','a','t','f'): return HB_SCRIPT_LATIN;
case HB_TAG('L','a','t','g'): return HB_SCRIPT_LATIN;
case HB_TAG('S','y','r','e'): return HB_SCRIPT_SYRIAC;
/* hb_script_t */
+/* http://unicode.org/iso15924/ */
typedef enum
{
HB_SCRIPT_COMMON = HB_TAG ('Z','y','y','y'),
- HB_SCRIPT_INHERITED = HB_TAG ('Q','a','a','i'),
+ HB_SCRIPT_INHERITED = HB_TAG ('Z','i','n','h'),
HB_SCRIPT_ARABIC = HB_TAG ('A','r','a','b'),
HB_SCRIPT_ARMENIAN = HB_TAG ('A','r','m','n'),
HB_SCRIPT_BENGALI = HB_TAG ('B','e','n','g'),
HB_SCRIPT_BOPOMOFO = HB_TAG ('B','o','p','o'),
HB_SCRIPT_CHEROKEE = HB_TAG ('C','h','e','r'),
- HB_SCRIPT_COPTIC = HB_TAG ('Q','a','a','c'),
+ HB_SCRIPT_COPTIC = HB_TAG ('C','o','p','t'),
HB_SCRIPT_CYRILLIC = HB_TAG ('C','y','r','l'),
HB_SCRIPT_DESERET = HB_TAG ('D','s','r','t'),
HB_SCRIPT_DEVANAGARI = HB_TAG ('D','e','v','a'),
hb_ot_old_tag_from_script (hb_script_t script)
{
switch ((hb_tag_t) script) {
- case HB_SCRIPT_COPTIC: return HB_TAG('c','o','p','t');
case HB_SCRIPT_HIRAGANA: return HB_TAG('k','a','n','a');
case HB_SCRIPT_LAO: return HB_TAG('l','a','o',' ');
case HB_SCRIPT_YI: return HB_TAG('y','i',' ',' ');
hb_ot_old_tag_to_script (hb_tag_t tag)
{
switch (tag) {
- case HB_TAG('c','o','p','t'): return HB_SCRIPT_COPTIC;
case HB_TAG('k','a','n','a'): return HB_SCRIPT_HIRAGANA;
case HB_TAG('l','a','o',' '): return HB_SCRIPT_LAO;
case HB_TAG('y','i',' ',' '): return HB_SCRIPT_YI;