[autofit] Add blue-zone support for Kannada script.

This essentially moves the Kannada script from the `Indic' hinter to
the `Latin' hinter.

* src/autofit/afblue.dat: Add blue zone data for Kannada.

* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.

* src/autofit/afscript.h: Add Kannada standard characters and move
data out of AF_CONFIG_OPTION_INDIC block.

* src/autofit/afranges.c: Move Kannada data out of
AF_CONFIG_OPTION_INDIC block.

* src/autofit/afstyles.h: Update Kannada data; in particular, use
AF_WRITING_SYSTEM_LATIN.
This commit is contained in:
Werner Lemberg 2016-01-28 10:13:24 +01:00
parent c272070381
commit 8d810097fd
7 changed files with 140 additions and 94 deletions

View File

@ -1,3 +1,23 @@
2016-01-28 Werner Lemberg <wl@gnu.org>
[autofit] Add blue-zone support for Kannada script.
This essentially moves the Kannada script from the `Indic' hinter to
the `Latin' hinter.
* src/autofit/afblue.dat: Add blue zone data for Kannada.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Kannada standard characters and move
data out of AF_CONFIG_OPTION_INDIC block.
* src/autofit/afranges.c: Move Kannada data out of
AF_CONFIG_OPTION_INDIC block.
* src/autofit/afstyles.h: Update Kannada data; in particular, use
AF_WRITING_SYSTEM_LATIN.
2016-01-22 Alexei Podtelezhnikov <apodtele@gmail.com>
Better access to 64-bit integers for C99 compilers.

View File

@ -34,7 +34,7 @@
'\0',
'\xE0', '\xA6', '\x85', ' ', '\xE0', '\xA6', '\xA1', ' ', '\xE0', '\xA6', '\xA4', ' ', '\xE0', '\xA6', '\xA8', ' ', '\xE0', '\xA6', '\xAC', ' ', '\xE0', '\xA6', '\xAD', ' ', '\xE0', '\xA6', '\xB2', ' ', '\xE0', '\xA6', '\x95', /* অ ড ত ন ব ভ ল ক */
'\0',
'\xE0', '\xA6', '\x87', ' ', '\xE0', '\xA6', '\x9F', ' ', '\xE0', '\xA6', '\xA0', ' ', '\xE0', '\xA6', '\xBF', ' ', '\xE0', '\xA7', '\x80', ' ', '\xE0', '\xA7', '\x88', ' ', '\xE0', '\xA7', '\x97', ' ', /* ই ট ঠ ি ী ৈ ৗ */
'\xE0', '\xA6', '\x87', ' ', '\xE0', '\xA6', '\x9F', ' ', '\xE0', '\xA6', '\xA0', ' ', '\xE0', '\xA6', '\xBF', ' ', '\xE0', '\xA7', '\x80', ' ', '\xE0', '\xA7', '\x88', ' ', '\xE0', '\xA7', '\x97', /* ই ট ঠ ি ী ৈ ৗ */
'\0',
'\xE0', '\xA6', '\x93', ' ', '\xE0', '\xA6', '\x8F', ' ', '\xE0', '\xA6', '\xA1', ' ', '\xE0', '\xA6', '\xA4', ' ', '\xE0', '\xA6', '\xA8', ' ', '\xE0', '\xA6', '\xAC', ' ', '\xE0', '\xA6', '\xB2', ' ', '\xE0', '\xA6', '\x95', /* ও এ ড ত ন ব ল ক */
'\0',
@ -70,6 +70,10 @@
'\0',
'\xD7', '\xA7', ' ', '\xD7', '\x9A', ' ', '\xD7', '\x9F', ' ', '\xD7', '\xA3', ' ', '\xD7', '\xA5', /* ק ך ן ף ץ */
'\0',
'\xE0', '\xB2', '\x87', ' ', '\xE0', '\xB2', '\x8A', ' ', '\xE0', '\xB2', '\x90', ' ', '\xE0', '\xB2', '\xA3', ' ', '\xE0', '\xB2', '\xB8', '\xE0', '\xB2', '\xBE', ' ', '\xE0', '\xB2', '\xA8', '\xE0', '\xB2', '\xBE', ' ', '\xE0', '\xB2', '\xA6', '\xE0', '\xB2', '\xBE', ' ', '\xE0', '\xB2', '\xB0', '\xE0', '\xB2', '\xBE', /* ಇ ಊ ಐ ಣ ಸಾ ನಾ ದಾ ರಾ */
'\0',
'\xE0', '\xB2', '\x85', ' ', '\xE0', '\xB2', '\x89', ' ', '\xE0', '\xB2', '\x8E', ' ', '\xE0', '\xB2', '\xB2', ' ', '\xE0', '\xB3', '\xA6', ' ', '\xE0', '\xB3', '\xA8', ' ', '\xE0', '\xB3', '\xAC', ' ', '\xE0', '\xB3', '\xAD', /* ಅ ಉ ಎ ಲ ೨ ೬ ೭ */
'\0',
'\xE1', '\x9E', '\x81', ' ', '\xE1', '\x9E', '\x91', ' ', '\xE1', '\x9E', '\x93', ' ', '\xE1', '\x9E', '\xA7', ' ', '\xE1', '\x9E', '\xA9', ' ', '\xE1', '\x9E', '\xB6', /* ខ ទ ន ឧ ឩ ា */
'\0',
'\xE1', '\x9E', '\x80', '\xE1', '\x9F', '\x92', '\xE1', '\x9E', '\x80', ' ', '\xE1', '\x9E', '\x80', '\xE1', '\x9F', '\x92', '\xE1', '\x9E', '\x81', ' ', '\xE1', '\x9E', '\x80', '\xE1', '\x9F', '\x92', '\xE1', '\x9E', '\x82', ' ', '\xE1', '\x9E', '\x80', '\xE1', '\x9F', '\x92', '\xE1', '\x9E', '\x90', /* ក្ក ក្ខ ក្គ ក្ថ */
@ -238,6 +242,9 @@
{ AF_BLUE_STRING_HEBREW_BOTTOM, 0 },
{ AF_BLUE_STRING_HEBREW_DESCENDER, 0 },
{ AF_BLUE_STRING_MAX, 0 },
{ AF_BLUE_STRING_KANNADA_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
{ AF_BLUE_STRING_KANNADA_BOTTOM, 0 },
{ AF_BLUE_STRING_MAX, 0 },
{ AF_BLUE_STRING_KHMER_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT },
{ AF_BLUE_STRING_KHMER_SUBSCRIPT_TOP, AF_BLUE_PROPERTY_LATIN_SUB_TOP },

View File

@ -132,6 +132,11 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
AF_BLUE_STRING_HEBREW_DESCENDER
"ק ך ן ף ץ"
AF_BLUE_STRING_KANNADA_TOP
"ಇ ಊ ಐ ಣ ಸಾ ನಾ ದಾ ರಾ"
AF_BLUE_STRING_KANNADA_BOTTOM
"ಅ ಉ ಎ ಲ ೨ ೬ ೭"
AF_BLUE_STRING_KHMER_TOP
"ខ ទ ន ឧ ឩ ា"
AF_BLUE_STRING_KHMER_SUBSCRIPT_TOP
@ -440,6 +445,11 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
{ AF_BLUE_STRING_HEBREW_DESCENDER, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_KNDA
{ AF_BLUE_STRING_KANNADA_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_KANNADA_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_KHMR
{ AF_BLUE_STRING_KHMER_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }

View File

@ -82,64 +82,66 @@ FT_BEGIN_HEADER
AF_BLUE_STRING_ARABIC_JOIN = 33,
AF_BLUE_STRING_BENGALI_BASE = 36,
AF_BLUE_STRING_BENGALI_TOP = 68,
AF_BLUE_STRING_BENGALI_HEAD = 97,
AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP = 129,
AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM = 153,
AF_BLUE_STRING_CYRILLIC_SMALL = 177,
AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER = 201,
AF_BLUE_STRING_DEVANAGARI_BASE = 210,
AF_BLUE_STRING_DEVANAGARI_TOP = 242,
AF_BLUE_STRING_DEVANAGARI_HEAD = 274,
AF_BLUE_STRING_DEVANAGARI_BOTTOM = 306,
AF_BLUE_STRING_GREEK_CAPITAL_TOP = 314,
AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM = 335,
AF_BLUE_STRING_GREEK_SMALL_BETA_TOP = 353,
AF_BLUE_STRING_GREEK_SMALL = 371,
AF_BLUE_STRING_GREEK_SMALL_DESCENDER = 395,
AF_BLUE_STRING_HEBREW_TOP = 419,
AF_BLUE_STRING_HEBREW_BOTTOM = 443,
AF_BLUE_STRING_HEBREW_DESCENDER = 461,
AF_BLUE_STRING_KHMER_TOP = 476,
AF_BLUE_STRING_KHMER_SUBSCRIPT_TOP = 500,
AF_BLUE_STRING_KHMER_BOTTOM = 540,
AF_BLUE_STRING_KHMER_DESCENDER = 572,
AF_BLUE_STRING_KHMER_LARGE_DESCENDER = 606,
AF_BLUE_STRING_KHMER_SYMBOLS_WAXING_TOP = 693,
AF_BLUE_STRING_KHMER_SYMBOLS_WANING_BOTTOM = 701,
AF_BLUE_STRING_LAO_TOP = 709,
AF_BLUE_STRING_LAO_BOTTOM = 741,
AF_BLUE_STRING_LAO_ASCENDER = 773,
AF_BLUE_STRING_LAO_LARGE_ASCENDER = 789,
AF_BLUE_STRING_LAO_DESCENDER = 801,
AF_BLUE_STRING_LATIN_CAPITAL_TOP = 825,
AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 841,
AF_BLUE_STRING_LATIN_SMALL_F_TOP = 857,
AF_BLUE_STRING_LATIN_SMALL = 871,
AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 885,
AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP = 895,
AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM = 915,
AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP = 935,
AF_BLUE_STRING_LATIN_SUBS_SMALL = 955,
AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER = 991,
AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP = 1011,
AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM = 1042,
AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP = 1071,
AF_BLUE_STRING_LATIN_SUPS_SMALL = 1097,
AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER = 1122,
AF_BLUE_STRING_MYANMAR_TOP = 1133,
AF_BLUE_STRING_MYANMAR_BOTTOM = 1165,
AF_BLUE_STRING_MYANMAR_ASCENDER = 1197,
AF_BLUE_STRING_MYANMAR_DESCENDER = 1225,
AF_BLUE_STRING_TELUGU_TOP = 1257,
AF_BLUE_STRING_TELUGU_BOTTOM = 1285,
AF_BLUE_STRING_THAI_TOP = 1313,
AF_BLUE_STRING_THAI_BOTTOM = 1337,
AF_BLUE_STRING_THAI_ASCENDER = 1365,
AF_BLUE_STRING_THAI_LARGE_ASCENDER = 1377,
AF_BLUE_STRING_THAI_DESCENDER = 1389,
AF_BLUE_STRING_THAI_LARGE_DESCENDER = 1405,
AF_BLUE_STRING_THAI_DIGIT_TOP = 1413,
af_blue_1_1 = 1424,
AF_BLUE_STRING_BENGALI_HEAD = 96,
AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP = 128,
AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM = 152,
AF_BLUE_STRING_CYRILLIC_SMALL = 176,
AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER = 200,
AF_BLUE_STRING_DEVANAGARI_BASE = 209,
AF_BLUE_STRING_DEVANAGARI_TOP = 241,
AF_BLUE_STRING_DEVANAGARI_HEAD = 273,
AF_BLUE_STRING_DEVANAGARI_BOTTOM = 305,
AF_BLUE_STRING_GREEK_CAPITAL_TOP = 313,
AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM = 334,
AF_BLUE_STRING_GREEK_SMALL_BETA_TOP = 352,
AF_BLUE_STRING_GREEK_SMALL = 370,
AF_BLUE_STRING_GREEK_SMALL_DESCENDER = 394,
AF_BLUE_STRING_HEBREW_TOP = 418,
AF_BLUE_STRING_HEBREW_BOTTOM = 442,
AF_BLUE_STRING_HEBREW_DESCENDER = 460,
AF_BLUE_STRING_KANNADA_TOP = 475,
AF_BLUE_STRING_KANNADA_BOTTOM = 519,
AF_BLUE_STRING_KHMER_TOP = 551,
AF_BLUE_STRING_KHMER_SUBSCRIPT_TOP = 575,
AF_BLUE_STRING_KHMER_BOTTOM = 615,
AF_BLUE_STRING_KHMER_DESCENDER = 647,
AF_BLUE_STRING_KHMER_LARGE_DESCENDER = 681,
AF_BLUE_STRING_KHMER_SYMBOLS_WAXING_TOP = 768,
AF_BLUE_STRING_KHMER_SYMBOLS_WANING_BOTTOM = 776,
AF_BLUE_STRING_LAO_TOP = 784,
AF_BLUE_STRING_LAO_BOTTOM = 816,
AF_BLUE_STRING_LAO_ASCENDER = 848,
AF_BLUE_STRING_LAO_LARGE_ASCENDER = 864,
AF_BLUE_STRING_LAO_DESCENDER = 876,
AF_BLUE_STRING_LATIN_CAPITAL_TOP = 900,
AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 916,
AF_BLUE_STRING_LATIN_SMALL_F_TOP = 932,
AF_BLUE_STRING_LATIN_SMALL = 946,
AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 960,
AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP = 970,
AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM = 990,
AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP = 1010,
AF_BLUE_STRING_LATIN_SUBS_SMALL = 1030,
AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER = 1066,
AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP = 1086,
AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM = 1117,
AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP = 1146,
AF_BLUE_STRING_LATIN_SUPS_SMALL = 1172,
AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER = 1197,
AF_BLUE_STRING_MYANMAR_TOP = 1208,
AF_BLUE_STRING_MYANMAR_BOTTOM = 1240,
AF_BLUE_STRING_MYANMAR_ASCENDER = 1272,
AF_BLUE_STRING_MYANMAR_DESCENDER = 1300,
AF_BLUE_STRING_TELUGU_TOP = 1332,
AF_BLUE_STRING_TELUGU_BOTTOM = 1360,
AF_BLUE_STRING_THAI_TOP = 1388,
AF_BLUE_STRING_THAI_BOTTOM = 1412,
AF_BLUE_STRING_THAI_ASCENDER = 1440,
AF_BLUE_STRING_THAI_LARGE_ASCENDER = 1452,
AF_BLUE_STRING_THAI_DESCENDER = 1464,
AF_BLUE_STRING_THAI_LARGE_DESCENDER = 1480,
AF_BLUE_STRING_THAI_DIGIT_TOP = 1488,
af_blue_1_1 = 1499,
#ifdef AF_CONFIG_OPTION_CJK
AF_BLUE_STRING_CJK_TOP = af_blue_1_1 + 1,
AF_BLUE_STRING_CJK_BOTTOM = af_blue_1_1 + 203,
@ -204,16 +206,17 @@ FT_BEGIN_HEADER
AF_BLUE_STRINGSET_DEVA = 15,
AF_BLUE_STRINGSET_GREK = 21,
AF_BLUE_STRINGSET_HEBR = 28,
AF_BLUE_STRINGSET_KHMR = 32,
AF_BLUE_STRINGSET_KHMS = 38,
AF_BLUE_STRINGSET_LAO = 41,
AF_BLUE_STRINGSET_LATN = 47,
AF_BLUE_STRINGSET_LATB = 54,
AF_BLUE_STRINGSET_LATP = 61,
AF_BLUE_STRINGSET_MYMR = 68,
AF_BLUE_STRINGSET_TELU = 73,
AF_BLUE_STRINGSET_THAI = 76,
af_blue_2_1 = 84,
AF_BLUE_STRINGSET_KNDA = 32,
AF_BLUE_STRINGSET_KHMR = 35,
AF_BLUE_STRINGSET_KHMS = 41,
AF_BLUE_STRINGSET_LAO = 44,
AF_BLUE_STRINGSET_LATN = 50,
AF_BLUE_STRINGSET_LATB = 57,
AF_BLUE_STRINGSET_LATP = 64,
AF_BLUE_STRINGSET_MYMR = 71,
AF_BLUE_STRINGSET_TELU = 76,
AF_BLUE_STRINGSET_THAI = 79,
af_blue_2_1 = 87,
#ifdef AF_CONFIG_OPTION_CJK
AF_BLUE_STRINGSET_HANI = af_blue_2_1 + 0,
af_blue_2_1_1 = af_blue_2_1 + 2,

View File

@ -196,6 +196,24 @@
};
const AF_Script_UniRangeRec af_knda_uniranges[] =
{
AF_UNIRANGE_REC( 0x0C80UL, 0x0CFFUL ), /* Kannada */
AF_UNIRANGE_REC( 0UL, 0UL )
};
const AF_Script_UniRangeRec af_knda_nonbase_uniranges[] =
{
AF_UNIRANGE_REC( 0x0C81UL, 0x0C81UL ),
AF_UNIRANGE_REC( 0x0CBCUL, 0x0CBCUL ),
AF_UNIRANGE_REC( 0x0CBFUL, 0x0CBFUL ),
AF_UNIRANGE_REC( 0x0CC6UL, 0x0CC6UL ),
AF_UNIRANGE_REC( 0x0CCCUL, 0x0CCDUL ),
AF_UNIRANGE_REC( 0x0CE2UL, 0x0CE3UL ),
AF_UNIRANGE_REC( 0UL, 0UL )
};
const AF_Script_UniRangeRec af_khmr_uniranges[] =
{
AF_UNIRANGE_REC( 0x1780UL, 0x17FFUL ), /* Khmer */
@ -440,24 +458,6 @@
};
const AF_Script_UniRangeRec af_knda_uniranges[] =
{
AF_UNIRANGE_REC( 0x0C80UL, 0x0CFFUL ), /* Kannada */
AF_UNIRANGE_REC( 0UL, 0UL )
};
const AF_Script_UniRangeRec af_knda_nonbase_uniranges[] =
{
AF_UNIRANGE_REC( 0x0C81UL, 0x0C81UL ),
AF_UNIRANGE_REC( 0x0CBCUL, 0x0CBCUL ),
AF_UNIRANGE_REC( 0x0CBFUL, 0x0CBFUL ),
AF_UNIRANGE_REC( 0x0CC6UL, 0x0CC6UL ),
AF_UNIRANGE_REC( 0x0CCCUL, 0x0CCDUL ),
AF_UNIRANGE_REC( 0x0CE2UL, 0x0CE3UL ),
AF_UNIRANGE_REC( 0UL, 0UL )
};
const AF_Script_UniRangeRec af_limb_uniranges[] =
{
AF_UNIRANGE_REC( 0x1900UL, 0x194FUL ), /* Limbu */

View File

@ -67,6 +67,12 @@
HINTING_BOTTOM_TO_TOP,
"\xD7\x9D" ) /* ם */
SCRIPT( knda, KNDA,
"Kannada",
HB_SCRIPT_KANNADA,
HINTING_BOTTOM_TO_TOP,
"\xE0\xB3\xA6 \xE0\xB2\xAC" ) /* ಬ */
/* only digit zero has a simple shape in the Khmer script */
SCRIPT( khmr, KHMR,
"Khmer",
@ -144,12 +150,6 @@
HINTING_BOTTOM_TO_TOP,
"o" ) /* XXX */
SCRIPT( knda, KNDA,
"Kannada",
HB_SCRIPT_KANNADA,
HINTING_BOTTOM_TO_TOP,
"o" ) /* XXX */
SCRIPT( limb, LIMB,
"Limbu",
HB_SCRIPT_LIMBU,

View File

@ -115,6 +115,13 @@
AF_BLUE_STRINGSET_HEBR,
AF_COVERAGE_DEFAULT )
STYLE( knda_dflt, KNDA_DFLT,
"KANNADA default style",
AF_WRITING_SYSTEM_LATIN,
AF_SCRIPT_KNDA,
AF_BLUE_STRINGSET_KNDA,
AF_COVERAGE_DEFAULT )
STYLE( khmr_dflt, KHMR_DFLT,
"Khmer default style",
AF_WRITING_SYSTEM_LATIN,
@ -203,7 +210,6 @@
STYLE_DEFAULT_INDIC( gujr, GUJR, "Gujarati" )
STYLE_DEFAULT_INDIC( guru, GURU, "Gurmukhi" )
STYLE_DEFAULT_INDIC( knda, KNDA, "Kannada" )
STYLE_DEFAULT_INDIC( limb, LIMB, "Limbu" )
STYLE_DEFAULT_INDIC( mlym, MLYM, "Malayalam" )
STYLE_DEFAULT_INDIC( orya, ORYA, "Oriya" )