ISO 15924 fixes

Update to http://unicode.org/iso15924

Fixes some of the test failures in test-unicode with ICU.  Still
one more to fix before the test passes.
This commit is contained in:
Behdad Esfahbod 2011-05-02 12:35:14 -04:00
parent e8e29c725a
commit d02985ec5a
3 changed files with 11 additions and 6 deletions

View File

@ -191,9 +191,15 @@ hb_script_from_iso15924_tag (hb_tag_t tag)
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;

View File

@ -153,16 +153,17 @@ typedef enum
/* 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'),

View File

@ -40,7 +40,6 @@ static hb_tag_t
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',' ',' ');
@ -61,7 +60,6 @@ static hb_script_t
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;