summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoozbeh Pournader <roozbeh@farsiweb.info>2005-08-09 09:43:35 +0000
committerRoozbeh Pournader <roozbeh@src.gnome.org>2005-08-09 09:43:35 +0000
commitd25e791ba3edccbe38bcb0ee415399531872b795 (patch)
tree7233101e47bef8f0ec9a451b174908b5a695d2b9
parent5b9854238f1c147e7110096f0b42a894efd73070 (diff)
downloadpango-d25e791ba3edccbe38bcb0ee415399531872b795.tar.gz
Updated to Unicode 4.1, adding new scripts and Arabic joining data.
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)
-rw-r--r--ChangeLog7
-rw-r--r--ChangeLog.pre-1-107
-rw-r--r--docs/tmpl/scripts.sgml7
-rw-r--r--modules/arabic/arabic-ot.c49
-rw-r--r--pango/pango-script-table.h210
-rw-r--r--pango/pango-script.c9
-rw-r--r--pango/pango-script.h11
-rwxr-xr-xtools/gen-script-table.pl4
8 files changed, 193 insertions, 111 deletions
diff --git a/ChangeLog b/ChangeLog
index 6df1562e..a93bf1e3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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-07-30 Hans Breuer <hans@breuer.org>
* pango/makefile.msc : updated
diff --git a/ChangeLog.pre-1-10 b/ChangeLog.pre-1-10
index 6df1562e..a93bf1e3 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-07-30 Hans Breuer <hans@breuer.org>
* pango/makefile.msc : updated
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";