diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | ChangeLog.pre-1-10 | 7 | ||||
-rw-r--r-- | docs/tmpl/scripts.sgml | 7 | ||||
-rw-r--r-- | modules/arabic/arabic-ot.c | 49 | ||||
-rw-r--r-- | pango/pango-script-table.h | 210 | ||||
-rw-r--r-- | pango/pango-script.c | 9 | ||||
-rw-r--r-- | pango/pango-script.h | 11 | ||||
-rwxr-xr-x | tools/gen-script-table.pl | 4 |
8 files changed, 193 insertions, 111 deletions
@@ -1,3 +1,10 @@ +2005-08-08 Roozbeh Pournader <roozbeh@farsiweb.info> + + * docs/tmpl/scripts.sgml, modules/arabic/arabic-ot.c, + pango/pango-script.c, pango/pango-script.h, + pango/pango-script-table.h, tools/gen-script-table.pl: Updated to + Unicode 4.1, adding new scripts and Arabic joining data. (#312884) + 2005-08-05 Tor Lillqvist <tml@novell.com> * pango-zip.sh.in: Add pangocairo files. Get the DLLs from "bin" diff --git a/ChangeLog.pre-1-10 b/ChangeLog.pre-1-10 index 49ce55be..5d251ec3 100644 --- a/ChangeLog.pre-1-10 +++ b/ChangeLog.pre-1-10 @@ -1,3 +1,10 @@ +2005-08-08 Roozbeh Pournader <roozbeh@farsiweb.info> + + * docs/tmpl/scripts.sgml, modules/arabic/arabic-ot.c, + pango/pango-script.c, pango/pango-script.h, + pango/pango-script-table.h, tools/gen-script-table.pl: Updated to + Unicode 4.1, adding new scripts and Arabic joining data. (#312884) + 2005-08-05 Tor Lillqvist <tml@novell.com> * pango-zip.sh.in: Add pangocairo files. Get the DLLs from "bin" diff --git a/docs/tmpl/scripts.sgml b/docs/tmpl/scripts.sgml index 562342fe..2724ad36 100644 --- a/docs/tmpl/scripts.sgml +++ b/docs/tmpl/scripts.sgml @@ -90,6 +90,13 @@ url="http://www.unicode.org/reports/tr24/">Unicode Standard Annex @PANGO_SCRIPT_LINEAR_B: @PANGO_SCRIPT_TAI_LE: @PANGO_SCRIPT_UGARITIC: +@PANGO_SCRIPT_NEW_TAI_LUE: +@PANGO_SCRIPT_BUGINESE: +@PANGO_SCRIPT_GLAGOLITIC: +@PANGO_SCRIPT_TIFINAGH: +@PANGO_SCRIPT_SYLOTI_NAGRI: +@PANGO_SCRIPT_OLD_PERSIAN: +@PANGO_SCRIPT_KHAROSHTHI: <!-- ##### MACRO PANGO_TYPE_SCRIPT ##### --> <para> diff --git a/modules/arabic/arabic-ot.c b/modules/arabic/arabic-ot.c index 2501edb7..681fefed 100644 --- a/modules/arabic/arabic-ot.c +++ b/modules/arabic/arabic-ot.c @@ -31,7 +31,7 @@ /* * * Here a table of the joining classes for characters in the range - * U+0620 - U+06FF. + * U+0620 - U+06FF and U+0750 - U+077F. * * The following character also has a joining class: * @@ -64,8 +64,8 @@ static const joining_class arabic[] = /* U+0650 */ transparent, transparent, transparent, transparent, transparent, transparent, transparent, transparent, - none, none, none, none, - none, none, none, none, + transparent, transparent, transparent, transparent, + transparent, transparent, transparent, none, /* U+0660 */ none, none, none, none, @@ -128,6 +128,27 @@ static const joining_class arabic[] = dual, none, none, dual }; +static const joining_class arabic_supplement[] = +{ + /* U+0750 */ + dual, dual, dual, dual, + dual, dual, dual, dual, + dual, right, right, right, + dual, dual, dual, dual, + + /* U+0760 */ + dual, dual, dual, dual, + dual, dual, dual, dual, + dual, dual, dual, right, + right, dual, none, none, + + /* U+0770 */ + none, none, none, none, + none, none, none, none, + none, none, none, none, + none, none, none, none +}; + #if 0 struct cgc_ { @@ -273,18 +294,18 @@ static joining_class Get_Joining_Class (gunichar* string, if (pos >= length) return none; - - if (string[pos] < 0x0620 || - string[pos] >= 0x0700) - { - if (string[pos] == 0x200D) - return causing; - else - return none; - } + + if (string[pos] >= 0x0620 && + string[pos] < 0x0700) + j = arabic[string[pos] - 0x0620]; + else if (string[pos] >= 0x0750 && + string[pos] < 0x0780) + j = arabic_supplement[string[pos] - 0x0750]; + else if (string[pos] == 0x200D) + return causing; else - j = arabic[string[pos] - 0x0620]; - + return none; + if (!direction || j != transparent) return j; } diff --git a/pango/pango-script-table.h b/pango/pango-script-table.h index 5145cce1..21abb9aa 100644 --- a/pango/pango-script-table.h +++ b/pango/pango-script-table.h @@ -1,7 +1,7 @@ /* pango-script-table.h: Generated by gen-script-table.pl * - * Date: Sun Aug 3 03:11:30 2003 - * Source: Scripts-4.0.0.txt + * Date: Mon Aug 8 13:53:36 2005 + * Source: Scripts-4.1.0.txt * * Do not edit. */ @@ -13,63 +13,57 @@ static const struct { { 0x0041, 26, PANGO_SCRIPT_LATIN }, { 0x0061, 26, PANGO_SCRIPT_LATIN }, { 0x00aa, 1, PANGO_SCRIPT_LATIN }, - { 0x00b5, 1, PANGO_SCRIPT_GREEK }, { 0x00ba, 1, PANGO_SCRIPT_LATIN }, { 0x00c0, 23, PANGO_SCRIPT_LATIN }, { 0x00d8, 31, PANGO_SCRIPT_LATIN }, - { 0x00f8, 319, PANGO_SCRIPT_LATIN }, + { 0x00f8, 330, PANGO_SCRIPT_LATIN }, { 0x0250, 105, PANGO_SCRIPT_LATIN }, { 0x02e0, 5, PANGO_SCRIPT_LATIN }, - { 0x0300, 80, PANGO_SCRIPT_INHERITED }, - { 0x0360, 16, PANGO_SCRIPT_INHERITED }, + { 0x0300, 112, PANGO_SCRIPT_INHERITED }, + { 0x0374, 2, PANGO_SCRIPT_GREEK }, { 0x037a, 1, PANGO_SCRIPT_GREEK }, - { 0x0386, 1, PANGO_SCRIPT_GREEK }, + { 0x0384, 3, PANGO_SCRIPT_GREEK }, { 0x0388, 3, PANGO_SCRIPT_GREEK }, { 0x038c, 1, PANGO_SCRIPT_GREEK }, { 0x038e, 20, PANGO_SCRIPT_GREEK }, { 0x03a3, 44, PANGO_SCRIPT_GREEK }, - { 0x03d0, 38, PANGO_SCRIPT_GREEK }, - { 0x03f7, 5, PANGO_SCRIPT_GREEK }, - { 0x0400, 130, PANGO_SCRIPT_CYRILLIC }, - { 0x0483, 4, PANGO_SCRIPT_CYRILLIC }, - { 0x0488, 2, PANGO_SCRIPT_INHERITED }, - { 0x048a, 69, PANGO_SCRIPT_CYRILLIC }, - { 0x04d0, 38, PANGO_SCRIPT_CYRILLIC }, - { 0x04f8, 2, PANGO_SCRIPT_CYRILLIC }, + { 0x03d0, 18, PANGO_SCRIPT_GREEK }, + { 0x03e2, 14, PANGO_SCRIPT_COPTIC }, + { 0x03f0, 16, PANGO_SCRIPT_GREEK }, + { 0x0400, 135, PANGO_SCRIPT_CYRILLIC }, + { 0x0488, 71, PANGO_SCRIPT_CYRILLIC }, + { 0x04d0, 42, PANGO_SCRIPT_CYRILLIC }, { 0x0500, 16, PANGO_SCRIPT_CYRILLIC }, { 0x0531, 38, PANGO_SCRIPT_ARMENIAN }, - { 0x0559, 1, PANGO_SCRIPT_ARMENIAN }, + { 0x0559, 7, PANGO_SCRIPT_ARMENIAN }, { 0x0561, 39, PANGO_SCRIPT_ARMENIAN }, - { 0x0591, 17, PANGO_SCRIPT_INHERITED }, - { 0x05a3, 23, PANGO_SCRIPT_INHERITED }, - { 0x05bb, 3, PANGO_SCRIPT_INHERITED }, - { 0x05bf, 1, PANGO_SCRIPT_INHERITED }, - { 0x05c1, 2, PANGO_SCRIPT_INHERITED }, - { 0x05c4, 1, PANGO_SCRIPT_INHERITED }, + { 0x058a, 1, PANGO_SCRIPT_ARMENIAN }, + { 0x0591, 41, PANGO_SCRIPT_HEBREW }, + { 0x05bb, 13, PANGO_SCRIPT_HEBREW }, { 0x05d0, 27, PANGO_SCRIPT_HEBREW }, - { 0x05f0, 3, PANGO_SCRIPT_HEBREW }, + { 0x05f0, 5, PANGO_SCRIPT_HEBREW }, + { 0x060b, 1, PANGO_SCRIPT_ARABIC }, + { 0x060d, 9, PANGO_SCRIPT_ARABIC }, + { 0x061e, 1, PANGO_SCRIPT_ARABIC }, { 0x0621, 26, PANGO_SCRIPT_ARABIC }, { 0x0641, 10, PANGO_SCRIPT_ARABIC }, { 0x064b, 11, PANGO_SCRIPT_INHERITED }, - { 0x066e, 2, PANGO_SCRIPT_ARABIC }, + { 0x0656, 9, PANGO_SCRIPT_ARABIC }, + { 0x066a, 6, PANGO_SCRIPT_ARABIC }, { 0x0670, 1, PANGO_SCRIPT_INHERITED }, - { 0x0671, 99, PANGO_SCRIPT_ARABIC }, - { 0x06d5, 1, PANGO_SCRIPT_ARABIC }, - { 0x06d6, 15, PANGO_SCRIPT_INHERITED }, - { 0x06e5, 2, PANGO_SCRIPT_ARABIC }, - { 0x06e7, 2, PANGO_SCRIPT_INHERITED }, - { 0x06ea, 4, PANGO_SCRIPT_INHERITED }, - { 0x06ee, 2, PANGO_SCRIPT_ARABIC }, - { 0x06fa, 3, PANGO_SCRIPT_ARABIC }, - { 0x06ff, 1, PANGO_SCRIPT_ARABIC }, - { 0x0710, 59, PANGO_SCRIPT_SYRIAC }, + { 0x0671, 108, PANGO_SCRIPT_ARABIC }, + { 0x06de, 34, PANGO_SCRIPT_ARABIC }, + { 0x0700, 14, PANGO_SCRIPT_SYRIAC }, + { 0x070f, 60, PANGO_SCRIPT_SYRIAC }, { 0x074d, 3, PANGO_SCRIPT_SYRIAC }, + { 0x0750, 30, PANGO_SCRIPT_ARABIC }, { 0x0780, 50, PANGO_SCRIPT_THAANA }, { 0x0901, 57, PANGO_SCRIPT_DEVANAGARI }, { 0x093c, 18, PANGO_SCRIPT_DEVANAGARI }, { 0x0950, 5, PANGO_SCRIPT_DEVANAGARI }, { 0x0958, 12, PANGO_SCRIPT_DEVANAGARI }, { 0x0966, 10, PANGO_SCRIPT_DEVANAGARI }, + { 0x097d, 1, PANGO_SCRIPT_DEVANAGARI }, { 0x0981, 3, PANGO_SCRIPT_BENGALI }, { 0x0985, 8, PANGO_SCRIPT_BENGALI }, { 0x098f, 2, PANGO_SCRIPT_BENGALI }, @@ -79,11 +73,11 @@ static const struct { { 0x09b6, 4, PANGO_SCRIPT_BENGALI }, { 0x09bc, 9, PANGO_SCRIPT_BENGALI }, { 0x09c7, 2, PANGO_SCRIPT_BENGALI }, - { 0x09cb, 3, PANGO_SCRIPT_BENGALI }, + { 0x09cb, 4, PANGO_SCRIPT_BENGALI }, { 0x09d7, 1, PANGO_SCRIPT_BENGALI }, { 0x09dc, 2, PANGO_SCRIPT_BENGALI }, { 0x09df, 5, PANGO_SCRIPT_BENGALI }, - { 0x09e6, 12, PANGO_SCRIPT_BENGALI }, + { 0x09e6, 21, PANGO_SCRIPT_BENGALI }, { 0x0a01, 3, PANGO_SCRIPT_GURMUKHI }, { 0x0a05, 6, PANGO_SCRIPT_GURMUKHI }, { 0x0a0f, 2, PANGO_SCRIPT_GURMUKHI }, @@ -112,6 +106,7 @@ static const struct { { 0x0ad0, 1, PANGO_SCRIPT_GUJARATI }, { 0x0ae0, 4, PANGO_SCRIPT_GUJARATI }, { 0x0ae6, 10, PANGO_SCRIPT_GUJARATI }, + { 0x0af1, 1, PANGO_SCRIPT_GUJARATI }, { 0x0b01, 3, PANGO_SCRIPT_ORIYA }, { 0x0b05, 8, PANGO_SCRIPT_ORIYA }, { 0x0b0f, 2, PANGO_SCRIPT_ORIYA }, @@ -125,8 +120,7 @@ static const struct { { 0x0b56, 2, PANGO_SCRIPT_ORIYA }, { 0x0b5c, 2, PANGO_SCRIPT_ORIYA }, { 0x0b5f, 3, PANGO_SCRIPT_ORIYA }, - { 0x0b66, 10, PANGO_SCRIPT_ORIYA }, - { 0x0b71, 1, PANGO_SCRIPT_ORIYA }, + { 0x0b66, 12, PANGO_SCRIPT_ORIYA }, { 0x0b82, 2, PANGO_SCRIPT_TAMIL }, { 0x0b85, 6, PANGO_SCRIPT_TAMIL }, { 0x0b8e, 3, PANGO_SCRIPT_TAMIL }, @@ -136,13 +130,12 @@ static const struct { { 0x0b9e, 2, PANGO_SCRIPT_TAMIL }, { 0x0ba3, 2, PANGO_SCRIPT_TAMIL }, { 0x0ba8, 3, PANGO_SCRIPT_TAMIL }, - { 0x0bae, 8, PANGO_SCRIPT_TAMIL }, - { 0x0bb7, 3, PANGO_SCRIPT_TAMIL }, + { 0x0bae, 12, PANGO_SCRIPT_TAMIL }, { 0x0bbe, 5, PANGO_SCRIPT_TAMIL }, { 0x0bc6, 3, PANGO_SCRIPT_TAMIL }, { 0x0bca, 4, PANGO_SCRIPT_TAMIL }, { 0x0bd7, 1, PANGO_SCRIPT_TAMIL }, - { 0x0be7, 12, PANGO_SCRIPT_TAMIL }, + { 0x0be6, 21, PANGO_SCRIPT_TAMIL }, { 0x0c01, 3, PANGO_SCRIPT_TELUGU }, { 0x0c05, 8, PANGO_SCRIPT_TELUGU }, { 0x0c0e, 3, PANGO_SCRIPT_TELUGU }, @@ -161,7 +154,7 @@ static const struct { { 0x0c92, 23, PANGO_SCRIPT_KANNADA }, { 0x0caa, 10, PANGO_SCRIPT_KANNADA }, { 0x0cb5, 5, PANGO_SCRIPT_KANNADA }, - { 0x0cbd, 8, PANGO_SCRIPT_KANNADA }, + { 0x0cbc, 9, PANGO_SCRIPT_KANNADA }, { 0x0cc6, 3, PANGO_SCRIPT_KANNADA }, { 0x0cca, 4, PANGO_SCRIPT_KANNADA }, { 0x0cd5, 2, PANGO_SCRIPT_KANNADA }, @@ -189,10 +182,9 @@ static const struct { { 0x0dcf, 6, PANGO_SCRIPT_SINHALA }, { 0x0dd6, 1, PANGO_SCRIPT_SINHALA }, { 0x0dd8, 8, PANGO_SCRIPT_SINHALA }, - { 0x0df2, 2, PANGO_SCRIPT_SINHALA }, + { 0x0df2, 3, PANGO_SCRIPT_SINHALA }, { 0x0e01, 58, PANGO_SCRIPT_THAI }, - { 0x0e40, 15, PANGO_SCRIPT_THAI }, - { 0x0e50, 10, PANGO_SCRIPT_THAI }, + { 0x0e40, 28, PANGO_SCRIPT_THAI }, { 0x0e81, 2, PANGO_SCRIPT_LAO }, { 0x0e84, 1, PANGO_SCRIPT_LAO }, { 0x0e87, 2, PANGO_SCRIPT_LAO }, @@ -211,61 +203,46 @@ static const struct { { 0x0ec8, 6, PANGO_SCRIPT_LAO }, { 0x0ed0, 10, PANGO_SCRIPT_LAO }, { 0x0edc, 2, PANGO_SCRIPT_LAO }, - { 0x0f00, 1, PANGO_SCRIPT_TIBETAN }, - { 0x0f18, 2, PANGO_SCRIPT_TIBETAN }, - { 0x0f20, 20, PANGO_SCRIPT_TIBETAN }, - { 0x0f35, 1, PANGO_SCRIPT_TIBETAN }, - { 0x0f37, 1, PANGO_SCRIPT_TIBETAN }, - { 0x0f39, 1, PANGO_SCRIPT_TIBETAN }, - { 0x0f40, 8, PANGO_SCRIPT_TIBETAN }, + { 0x0f00, 72, PANGO_SCRIPT_TIBETAN }, { 0x0f49, 34, PANGO_SCRIPT_TIBETAN }, - { 0x0f71, 20, PANGO_SCRIPT_TIBETAN }, - { 0x0f86, 6, PANGO_SCRIPT_TIBETAN }, + { 0x0f71, 27, PANGO_SCRIPT_TIBETAN }, { 0x0f90, 8, PANGO_SCRIPT_TIBETAN }, { 0x0f99, 36, PANGO_SCRIPT_TIBETAN }, - { 0x0fc6, 1, PANGO_SCRIPT_TIBETAN }, + { 0x0fbe, 15, PANGO_SCRIPT_TIBETAN }, + { 0x0fcf, 3, PANGO_SCRIPT_TIBETAN }, { 0x1000, 34, PANGO_SCRIPT_MYANMAR }, { 0x1023, 5, PANGO_SCRIPT_MYANMAR }, { 0x1029, 2, PANGO_SCRIPT_MYANMAR }, { 0x102c, 7, PANGO_SCRIPT_MYANMAR }, { 0x1036, 4, PANGO_SCRIPT_MYANMAR }, - { 0x1040, 10, PANGO_SCRIPT_MYANMAR }, - { 0x1050, 10, PANGO_SCRIPT_MYANMAR }, + { 0x1040, 26, PANGO_SCRIPT_MYANMAR }, { 0x10a0, 38, PANGO_SCRIPT_GEORGIAN }, - { 0x10d0, 41, PANGO_SCRIPT_GEORGIAN }, + { 0x10d0, 43, PANGO_SCRIPT_GEORGIAN }, + { 0x10fc, 1, PANGO_SCRIPT_GEORGIAN }, { 0x1100, 90, PANGO_SCRIPT_HANGUL }, { 0x115f, 68, PANGO_SCRIPT_HANGUL }, { 0x11a8, 82, PANGO_SCRIPT_HANGUL }, - { 0x1200, 7, PANGO_SCRIPT_ETHIOPIC }, - { 0x1208, 63, PANGO_SCRIPT_ETHIOPIC }, - { 0x1248, 1, PANGO_SCRIPT_ETHIOPIC }, + { 0x1200, 73, PANGO_SCRIPT_ETHIOPIC }, { 0x124a, 4, PANGO_SCRIPT_ETHIOPIC }, { 0x1250, 7, PANGO_SCRIPT_ETHIOPIC }, { 0x1258, 1, PANGO_SCRIPT_ETHIOPIC }, { 0x125a, 4, PANGO_SCRIPT_ETHIOPIC }, - { 0x1260, 39, PANGO_SCRIPT_ETHIOPIC }, - { 0x1288, 1, PANGO_SCRIPT_ETHIOPIC }, + { 0x1260, 41, PANGO_SCRIPT_ETHIOPIC }, { 0x128a, 4, PANGO_SCRIPT_ETHIOPIC }, - { 0x1290, 31, PANGO_SCRIPT_ETHIOPIC }, - { 0x12b0, 1, PANGO_SCRIPT_ETHIOPIC }, + { 0x1290, 33, PANGO_SCRIPT_ETHIOPIC }, { 0x12b2, 4, PANGO_SCRIPT_ETHIOPIC }, { 0x12b8, 7, PANGO_SCRIPT_ETHIOPIC }, { 0x12c0, 1, PANGO_SCRIPT_ETHIOPIC }, { 0x12c2, 4, PANGO_SCRIPT_ETHIOPIC }, - { 0x12c8, 7, PANGO_SCRIPT_ETHIOPIC }, - { 0x12d0, 7, PANGO_SCRIPT_ETHIOPIC }, - { 0x12d8, 23, PANGO_SCRIPT_ETHIOPIC }, - { 0x12f0, 31, PANGO_SCRIPT_ETHIOPIC }, - { 0x1310, 1, PANGO_SCRIPT_ETHIOPIC }, + { 0x12c8, 15, PANGO_SCRIPT_ETHIOPIC }, + { 0x12d8, 57, PANGO_SCRIPT_ETHIOPIC }, { 0x1312, 4, PANGO_SCRIPT_ETHIOPIC }, - { 0x1318, 7, PANGO_SCRIPT_ETHIOPIC }, - { 0x1320, 39, PANGO_SCRIPT_ETHIOPIC }, - { 0x1348, 19, PANGO_SCRIPT_ETHIOPIC }, - { 0x1369, 20, PANGO_SCRIPT_ETHIOPIC }, + { 0x1318, 67, PANGO_SCRIPT_ETHIOPIC }, + { 0x135f, 30, PANGO_SCRIPT_ETHIOPIC }, + { 0x1380, 26, PANGO_SCRIPT_ETHIOPIC }, { 0x13a0, 85, PANGO_SCRIPT_CHEROKEE }, - { 0x1401, 620, PANGO_SCRIPT_CANADIAN_ABORIGINAL }, - { 0x166f, 8, PANGO_SCRIPT_CANADIAN_ABORIGINAL }, - { 0x1681, 26, PANGO_SCRIPT_OGHAM }, + { 0x1401, 630, PANGO_SCRIPT_CANADIAN_ABORIGINAL }, + { 0x1680, 29, PANGO_SCRIPT_OGHAM }, { 0x16a0, 75, PANGO_SCRIPT_RUNIC }, { 0x16ee, 3, PANGO_SCRIPT_RUNIC }, { 0x1700, 13, PANGO_SCRIPT_TAGALOG }, @@ -275,18 +252,27 @@ static const struct { { 0x1760, 13, PANGO_SCRIPT_TAGBANWA }, { 0x176e, 3, PANGO_SCRIPT_TAGBANWA }, { 0x1772, 2, PANGO_SCRIPT_TAGBANWA }, - { 0x1780, 84, PANGO_SCRIPT_KHMER }, + { 0x1780, 94, PANGO_SCRIPT_KHMER }, { 0x17e0, 10, PANGO_SCRIPT_KHMER }, - { 0x180b, 3, PANGO_SCRIPT_INHERITED }, + { 0x17f0, 10, PANGO_SCRIPT_KHMER }, + { 0x1800, 15, PANGO_SCRIPT_MONGOLIAN }, { 0x1810, 10, PANGO_SCRIPT_MONGOLIAN }, { 0x1820, 88, PANGO_SCRIPT_MONGOLIAN }, { 0x1880, 42, PANGO_SCRIPT_MONGOLIAN }, { 0x1900, 29, PANGO_SCRIPT_LIMBU }, { 0x1920, 12, PANGO_SCRIPT_LIMBU }, { 0x1930, 12, PANGO_SCRIPT_LIMBU }, - { 0x1946, 10, PANGO_SCRIPT_LIMBU }, + { 0x1940, 1, PANGO_SCRIPT_LIMBU }, + { 0x1944, 12, PANGO_SCRIPT_LIMBU }, { 0x1950, 30, PANGO_SCRIPT_TAI_LE }, { 0x1970, 5, PANGO_SCRIPT_TAI_LE }, + { 0x1980, 42, PANGO_SCRIPT_NEW_TAI_LUE }, + { 0x19b0, 26, PANGO_SCRIPT_NEW_TAI_LUE }, + { 0x19d0, 10, PANGO_SCRIPT_NEW_TAI_LUE }, + { 0x19de, 2, PANGO_SCRIPT_NEW_TAI_LUE }, + { 0x19e0, 32, PANGO_SCRIPT_KHMER }, + { 0x1a00, 28, PANGO_SCRIPT_BUGINESE }, + { 0x1a1e, 2, PANGO_SCRIPT_BUGINESE }, { 0x1d00, 38, PANGO_SCRIPT_LATIN }, { 0x1d26, 5, PANGO_SCRIPT_GREEK }, { 0x1d2b, 1, PANGO_SCRIPT_CYRILLIC }, @@ -294,7 +280,10 @@ static const struct { { 0x1d5d, 5, PANGO_SCRIPT_GREEK }, { 0x1d62, 4, PANGO_SCRIPT_LATIN }, { 0x1d66, 5, PANGO_SCRIPT_GREEK }, - { 0x1d6b, 1, PANGO_SCRIPT_LATIN }, + { 0x1d6b, 13, PANGO_SCRIPT_LATIN }, + { 0x1d78, 1, PANGO_SCRIPT_CYRILLIC }, + { 0x1d79, 71, PANGO_SCRIPT_LATIN }, + { 0x1dc0, 4, PANGO_SCRIPT_INHERITED }, { 0x1e00, 156, PANGO_SCRIPT_LATIN }, { 0x1ea0, 90, PANGO_SCRIPT_LATIN }, { 0x1f00, 22, PANGO_SCRIPT_GREEK }, @@ -307,21 +296,36 @@ static const struct { { 0x1f5d, 1, PANGO_SCRIPT_GREEK }, { 0x1f5f, 31, PANGO_SCRIPT_GREEK }, { 0x1f80, 53, PANGO_SCRIPT_GREEK }, - { 0x1fb6, 7, PANGO_SCRIPT_GREEK }, - { 0x1fbe, 1, PANGO_SCRIPT_GREEK }, - { 0x1fc2, 3, PANGO_SCRIPT_GREEK }, - { 0x1fc6, 7, PANGO_SCRIPT_GREEK }, - { 0x1fd0, 4, PANGO_SCRIPT_GREEK }, + { 0x1fb6, 15, PANGO_SCRIPT_GREEK }, + { 0x1fc6, 14, PANGO_SCRIPT_GREEK }, { 0x1fd6, 6, PANGO_SCRIPT_GREEK }, - { 0x1fe0, 13, PANGO_SCRIPT_GREEK }, + { 0x1fdd, 19, PANGO_SCRIPT_GREEK }, { 0x1ff2, 3, PANGO_SCRIPT_GREEK }, - { 0x1ff6, 7, PANGO_SCRIPT_GREEK }, + { 0x1ff6, 9, PANGO_SCRIPT_GREEK }, + { 0x200c, 2, PANGO_SCRIPT_INHERITED }, { 0x2071, 1, PANGO_SCRIPT_LATIN }, { 0x207f, 1, PANGO_SCRIPT_LATIN }, - { 0x20d0, 27, PANGO_SCRIPT_INHERITED }, + { 0x2090, 5, PANGO_SCRIPT_LATIN }, + { 0x20d0, 28, PANGO_SCRIPT_INHERITED }, { 0x2126, 1, PANGO_SCRIPT_GREEK }, { 0x212a, 2, PANGO_SCRIPT_LATIN }, { 0x2800, 256, PANGO_SCRIPT_BRAILLE }, + { 0x2c00, 47, PANGO_SCRIPT_GLAGOLITIC }, + { 0x2c30, 47, PANGO_SCRIPT_GLAGOLITIC }, + { 0x2c80, 107, PANGO_SCRIPT_COPTIC }, + { 0x2cf9, 7, PANGO_SCRIPT_COPTIC }, + { 0x2d00, 38, PANGO_SCRIPT_GEORGIAN }, + { 0x2d30, 54, PANGO_SCRIPT_TIFINAGH }, + { 0x2d6f, 1, PANGO_SCRIPT_TIFINAGH }, + { 0x2d80, 23, PANGO_SCRIPT_ETHIOPIC }, + { 0x2da0, 7, PANGO_SCRIPT_ETHIOPIC }, + { 0x2da8, 7, PANGO_SCRIPT_ETHIOPIC }, + { 0x2db0, 7, PANGO_SCRIPT_ETHIOPIC }, + { 0x2db8, 7, PANGO_SCRIPT_ETHIOPIC }, + { 0x2dc0, 7, PANGO_SCRIPT_ETHIOPIC }, + { 0x2dc8, 7, PANGO_SCRIPT_ETHIOPIC }, + { 0x2dd0, 7, PANGO_SCRIPT_ETHIOPIC }, + { 0x2dd8, 7, PANGO_SCRIPT_ETHIOPIC }, { 0x2e80, 26, PANGO_SCRIPT_HAN }, { 0x2e9b, 89, PANGO_SCRIPT_HAN }, { 0x2f00, 214, PANGO_SCRIPT_HAN }, @@ -339,19 +343,20 @@ static const struct { { 0x3131, 94, PANGO_SCRIPT_HANGUL }, { 0x31a0, 24, PANGO_SCRIPT_BOPOMOFO }, { 0x31f0, 16, PANGO_SCRIPT_KATAKANA }, + { 0x3200, 31, PANGO_SCRIPT_HANGUL }, + { 0x3260, 30, PANGO_SCRIPT_HANGUL }, { 0x3400, 6582, PANGO_SCRIPT_HAN }, - { 0x4e00, 20902, PANGO_SCRIPT_HAN }, + { 0x4e00, 20924, PANGO_SCRIPT_HAN }, { 0xa000, 1165, PANGO_SCRIPT_YI }, { 0xa490, 55, PANGO_SCRIPT_YI }, + { 0xa800, 44, PANGO_SCRIPT_SYLOTI_NAGRI }, { 0xac00, 11172, PANGO_SCRIPT_HANGUL }, { 0xf900, 302, PANGO_SCRIPT_HAN }, { 0xfa30, 59, PANGO_SCRIPT_HAN }, + { 0xfa70, 106, PANGO_SCRIPT_HAN }, { 0xfb00, 7, PANGO_SCRIPT_LATIN }, { 0xfb13, 5, PANGO_SCRIPT_ARMENIAN }, - { 0xfb1d, 1, PANGO_SCRIPT_HEBREW }, - { 0xfb1e, 1, PANGO_SCRIPT_INHERITED }, - { 0xfb1f, 10, PANGO_SCRIPT_HEBREW }, - { 0xfb2a, 13, PANGO_SCRIPT_HEBREW }, + { 0xfb1d, 26, PANGO_SCRIPT_HEBREW }, { 0xfb38, 5, PANGO_SCRIPT_HEBREW }, { 0xfb3e, 1, PANGO_SCRIPT_HEBREW }, { 0xfb40, 2, PANGO_SCRIPT_HEBREW }, @@ -361,7 +366,7 @@ static const struct { { 0xfbd3, 363, PANGO_SCRIPT_ARABIC }, { 0xfd50, 64, PANGO_SCRIPT_ARABIC }, { 0xfd92, 54, PANGO_SCRIPT_ARABIC }, - { 0xfdf0, 12, PANGO_SCRIPT_ARABIC }, + { 0xfdf0, 13, PANGO_SCRIPT_ARABIC }, { 0xfe00, 16, PANGO_SCRIPT_INHERITED }, { 0xfe20, 4, PANGO_SCRIPT_INHERITED }, { 0xfe70, 5, PANGO_SCRIPT_ARABIC }, @@ -382,9 +387,14 @@ static const struct { { 0x1003f, 15, PANGO_SCRIPT_LINEAR_B }, { 0x10050, 14, PANGO_SCRIPT_LINEAR_B }, { 0x10080, 123, PANGO_SCRIPT_LINEAR_B }, + { 0x10140, 75, PANGO_SCRIPT_GREEK }, { 0x10300, 31, PANGO_SCRIPT_OLD_ITALIC }, + { 0x10320, 4, PANGO_SCRIPT_OLD_ITALIC }, { 0x10330, 27, PANGO_SCRIPT_GOTHIC }, { 0x10380, 30, PANGO_SCRIPT_UGARITIC }, + { 0x1039f, 1, PANGO_SCRIPT_UGARITIC }, + { 0x103a0, 36, PANGO_SCRIPT_OLD_PERSIAN }, + { 0x103c8, 14, PANGO_SCRIPT_OLD_PERSIAN }, { 0x10400, 80, PANGO_SCRIPT_DESERET }, { 0x10450, 48, PANGO_SCRIPT_SHAVIAN }, { 0x10480, 30, PANGO_SCRIPT_OSMANYA }, @@ -395,10 +405,20 @@ static const struct { { 0x10837, 2, PANGO_SCRIPT_CYPRIOT }, { 0x1083c, 1, PANGO_SCRIPT_CYPRIOT }, { 0x1083f, 1, PANGO_SCRIPT_CYPRIOT }, + { 0x10a00, 4, PANGO_SCRIPT_KHAROSHTHI }, + { 0x10a05, 2, PANGO_SCRIPT_KHAROSHTHI }, + { 0x10a0c, 8, PANGO_SCRIPT_KHAROSHTHI }, + { 0x10a15, 3, PANGO_SCRIPT_KHAROSHTHI }, + { 0x10a19, 27, PANGO_SCRIPT_KHAROSHTHI }, + { 0x10a38, 3, PANGO_SCRIPT_KHAROSHTHI }, + { 0x10a3f, 9, PANGO_SCRIPT_KHAROSHTHI }, + { 0x10a50, 9, PANGO_SCRIPT_KHAROSHTHI }, { 0x1d167, 3, PANGO_SCRIPT_INHERITED }, { 0x1d17b, 8, PANGO_SCRIPT_INHERITED }, { 0x1d185, 7, PANGO_SCRIPT_INHERITED }, { 0x1d1aa, 4, PANGO_SCRIPT_INHERITED }, + { 0x1d200, 70, PANGO_SCRIPT_GREEK }, { 0x20000, 42711, PANGO_SCRIPT_HAN }, { 0x2f800, 542, PANGO_SCRIPT_HAN }, + { 0xe0100, 240, PANGO_SCRIPT_INHERITED }, }; diff --git a/pango/pango-script.c b/pango/pango-script.c index d57358dc..0fbc3462 100644 --- a/pango/pango-script.c +++ b/pango/pango-script.c @@ -535,6 +535,15 @@ pango_script_get_sample_language (PangoScript script) "", /* PANGO_SCRIPT_LINEAR_B */ "", /* PANGO_SCRIPT_TAI_LE */ "uga", /* PANGO_SCRIPT_UGARITIC */ + + "", /* PANGO_SCRIPT_NEW_TAI_LUE */ + "bug", /* PANGO_SCRIPT_BUGINESE */ + "cop", /* PANGO_SCRIPT_GLAGOLITIC */ + "ber", /* PANGO_SCRIPT_TIFINAGH */ + /* Syloti Nagri is used for Sylheti, no ISO 639 code */ + "", /* PANGO_SCRIPT_SYLOTI_NAGRI */ + "peo", /* PANGO_SCRIPT_OLD_PERSIAN */ + "", /* PANGO_SCRIPT_KHAROSHTHI */ }; const char *sample_language; diff --git a/pango/pango-script.h b/pango/pango-script.h index cc7e2c80..d7926913 100644 --- a/pango/pango-script.h +++ b/pango/pango-script.h @@ -94,7 +94,16 @@ typedef enum { /* ISO 15924 code */ PANGO_SCRIPT_SHAVIAN, /* Shaw */ PANGO_SCRIPT_LINEAR_B, /* Linb */ PANGO_SCRIPT_TAI_LE, /* Tale */ - PANGO_SCRIPT_UGARITIC /* Ugar */ + PANGO_SCRIPT_UGARITIC, /* Ugar */ + + /* Unicode-4.1 additions */ + PANGO_SCRIPT_NEW_TAI_LUE, /* Talu */ + PANGO_SCRIPT_BUGINESE, /* Bugi */ + PANGO_SCRIPT_GLAGOLITIC, /* Glag */ + PANGO_SCRIPT_TIFINAGH, /* Tfng */ + PANGO_SCRIPT_SYLOTI_NAGRI, /* Sylo */ + PANGO_SCRIPT_OLD_PERSIAN, /* Xpeo */ + PANGO_SCRIPT_KHAROSHTHI /* Khar */ } PangoScript; PangoScript pango_script_for_unichar (gunichar ch); diff --git a/tools/gen-script-table.pl b/tools/gen-script-table.pl index a2f81f54..6820eb5d 100755 --- a/tools/gen-script-table.pl +++ b/tools/gen-script-table.pl @@ -63,7 +63,9 @@ for (my $i = 0; $i <= $#ranges; $i++) { $end = $ranges[$i]->[1]; } - printf " { %#06x, %5d, PANGO_SCRIPT_%s },\n", $start, $end - $start + 1, $script; + if ($script ne "COMMON") { + printf " { %#06x, %5d, PANGO_SCRIPT_%s },\n", $start, $end - $start + 1, $script; + } } printf "};\n"; |