[autofit] Add support for Gothic script.

* src/autofit/afblue.dat: Add blue zone data for Gothic.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.

* src/autofit/afscript.h: Add Gothic standard characters.

* src/autofit/afranges.c, src/autofit/afstyles.h: Add Gothic data.
This commit is contained in:
Sascha Brawer 2017-04-08 16:11:44 +02:00 committed by Werner Lemberg
parent 5bf4b1aaf7
commit df2a7cd198
7 changed files with 168 additions and 111 deletions

View File

@ -1,3 +1,15 @@
2017-04-08 Sascha Brawer <sascha@google.com>
Werner Lemberg <wl@gnu.org
[autofit] Add support for Gothic script.
* src/autofit/afblue.dat: Add blue zone data for Gothic.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Gothic standard characters.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Gothic data.
2017-04-08 Sascha Brawer <sascha@google.com>
Werner Lemberg <wl@gnu.org

View File

@ -128,6 +128,10 @@
'\0',
'\xE2', '\xB0', '\xB5', ' ', '\xE2', '\xB0', '\xB4', ' ', '\xE2', '\xB0', '\xB2', ' ', '\xE2', '\xB1', '\x9A', ' ', '\xE2', '\xB1', '\x8E', ' ', '\xE2', '\xB1', '\x91', ' ', '\xE2', '\xB0', '\xBA', ' ', '\xE2', '\xB1', '\x84', /* ⰵ ⰴ ⰲ ⱚ ⱎ ⱑ ⰺ ⱄ */
'\0',
'\xF0', '\x90', '\x8C', '\xB2', ' ', '\xF0', '\x90', '\x8C', '\xB6', ' ', '\xF0', '\x90', '\x8D', '\x80', ' ', '\xF0', '\x90', '\x8D', '\x84', ' ', '\xF0', '\x90', '\x8C', '\xB4', ' ', '\xF0', '\x90', '\x8D', '\x83', ' ', '\xF0', '\x90', '\x8D', '\x88', ' ', '\xF0', '\x90', '\x8C', '\xBE', /* 𐌲 𐌶 𐍀 𐍄 𐌴 𐍃 𐍈 𐌾 */
'\0',
'\xF0', '\x90', '\x8C', '\xB6', ' ', '\xF0', '\x90', '\x8C', '\xB4', ' ', '\xF0', '\x90', '\x8D', '\x83', ' ', '\xF0', '\x90', '\x8D', '\x88', /* 𐌶 𐌴 𐍃 𐍈 */
'\0',
'\xCE', '\x93', ' ', '\xCE', '\x92', ' ', '\xCE', '\x95', ' ', '\xCE', '\x96', ' ', '\xCE', '\x98', ' ', '\xCE', '\x9F', ' ', '\xCE', '\xA9', /* Γ Β Ε Ζ Θ Ο Ω */
'\0',
'\xCE', '\x92', ' ', '\xCE', '\x94', ' ', '\xCE', '\x96', ' ', '\xCE', '\x9E', ' ', '\xCE', '\x98', ' ', '\xCE', '\x9F', /* Β Δ Ζ Ξ Θ Ο */
@ -429,6 +433,9 @@
AF_BLUE_PROPERTY_LATIN_X_HEIGHT },
{ AF_BLUE_STRING_GLAGOLITIC_SMALL_BOTTOM, 0 },
{ AF_BLUE_STRING_MAX, 0 },
{ AF_BLUE_STRING_GOTHIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
{ AF_BLUE_STRING_GOTHIC_BOTTOM, 0 },
{ AF_BLUE_STRING_MAX, 0 },
{ AF_BLUE_STRING_GREEK_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
{ AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM, 0 },
{ AF_BLUE_STRING_GREEK_SMALL_BETA_TOP, AF_BLUE_PROPERTY_LATIN_TOP },

View File

@ -198,6 +198,11 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
AF_BLUE_STRING_GLAGOLITIC_SMALL_BOTTOM
"ⰵ ⰴ ⰲ ⱚ ⱎ ⱑ ⰺ ⱄ"
AF_BLUE_STRING_GOTHIC_TOP
"𐌲 𐌶 𐍀 𐍄 𐌴 𐍃 𐍈 𐌾"
AF_BLUE_STRING_GOTHIC_BOTTOM
"𐌶 𐌴 𐍃 𐍈"
AF_BLUE_STRING_GREEK_CAPITAL_TOP
Β Ε Ζ Θ Ο Ω"
AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM
@ -668,6 +673,11 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
{ AF_BLUE_STRING_GLAGOLITIC_SMALL_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_GOTH
{ AF_BLUE_STRING_GOTHIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_GOTHIC_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_GREK
{ AF_BLUE_STRING_GREEK_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM, 0 }

View File

@ -128,92 +128,94 @@ FT_BEGIN_HEADER
AF_BLUE_STRING_GLAGOLITIC_CAPITAL_BOTTOM = 1277,
AF_BLUE_STRING_GLAGOLITIC_SMALL_TOP = 1309,
AF_BLUE_STRING_GLAGOLITIC_SMALL_BOTTOM = 1341,
AF_BLUE_STRING_GREEK_CAPITAL_TOP = 1373,
AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM = 1394,
AF_BLUE_STRING_GREEK_SMALL_BETA_TOP = 1412,
AF_BLUE_STRING_GREEK_SMALL = 1430,
AF_BLUE_STRING_GREEK_SMALL_DESCENDER = 1454,
AF_BLUE_STRING_GUJARATI_TOP = 1478,
AF_BLUE_STRING_GUJARATI_BOTTOM = 1510,
AF_BLUE_STRING_GUJARATI_ASCENDER = 1542,
AF_BLUE_STRING_GUJARATI_DESCENDER = 1592,
AF_BLUE_STRING_GUJARATI_DIGIT_TOP = 1625,
AF_BLUE_STRING_GURMUKHI_BASE = 1645,
AF_BLUE_STRING_GURMUKHI_HEAD = 1677,
AF_BLUE_STRING_GURMUKHI_TOP = 1709,
AF_BLUE_STRING_GURMUKHI_BOTTOM = 1741,
AF_BLUE_STRING_GURMUKHI_DIGIT_TOP = 1773,
AF_BLUE_STRING_HEBREW_TOP = 1793,
AF_BLUE_STRING_HEBREW_BOTTOM = 1817,
AF_BLUE_STRING_HEBREW_DESCENDER = 1835,
AF_BLUE_STRING_KANNADA_TOP = 1850,
AF_BLUE_STRING_KANNADA_BOTTOM = 1894,
AF_BLUE_STRING_KHMER_TOP = 1926,
AF_BLUE_STRING_KHMER_SUBSCRIPT_TOP = 1950,
AF_BLUE_STRING_KHMER_BOTTOM = 1990,
AF_BLUE_STRING_KHMER_DESCENDER = 2022,
AF_BLUE_STRING_KHMER_LARGE_DESCENDER = 2056,
AF_BLUE_STRING_KHMER_SYMBOLS_WAXING_TOP = 2143,
AF_BLUE_STRING_KHMER_SYMBOLS_WANING_BOTTOM = 2151,
AF_BLUE_STRING_LAO_TOP = 2159,
AF_BLUE_STRING_LAO_BOTTOM = 2191,
AF_BLUE_STRING_LAO_ASCENDER = 2223,
AF_BLUE_STRING_LAO_LARGE_ASCENDER = 2239,
AF_BLUE_STRING_LAO_DESCENDER = 2251,
AF_BLUE_STRING_LATIN_CAPITAL_TOP = 2275,
AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 2291,
AF_BLUE_STRING_LATIN_SMALL_F_TOP = 2307,
AF_BLUE_STRING_LATIN_SMALL_TOP = 2321,
AF_BLUE_STRING_LATIN_SMALL_BOTTOM = 2337,
AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 2353,
AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP = 2363,
AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM = 2383,
AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP = 2403,
AF_BLUE_STRING_LATIN_SUBS_SMALL = 2423,
AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER = 2459,
AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP = 2479,
AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM = 2510,
AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP = 2539,
AF_BLUE_STRING_LATIN_SUPS_SMALL = 2565,
AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER = 2590,
AF_BLUE_STRING_LISU_TOP = 2601,
AF_BLUE_STRING_LISU_BOTTOM = 2633,
AF_BLUE_STRING_MALAYALAM_TOP = 2665,
AF_BLUE_STRING_MALAYALAM_BOTTOM = 2709,
AF_BLUE_STRING_MYANMAR_TOP = 2741,
AF_BLUE_STRING_MYANMAR_BOTTOM = 2773,
AF_BLUE_STRING_MYANMAR_ASCENDER = 2805,
AF_BLUE_STRING_MYANMAR_DESCENDER = 2833,
AF_BLUE_STRING_NKO_TOP = 2865,
AF_BLUE_STRING_NKO_BOTTOM = 2889,
AF_BLUE_STRING_NKO_SMALL_TOP = 2904,
AF_BLUE_STRING_NKO_SMALL_BOTTOM = 2913,
AF_BLUE_STRING_OL_CHIKI = 2925,
AF_BLUE_STRING_OSAGE_CAPITAL_TOP = 2949,
AF_BLUE_STRING_OSAGE_CAPITAL_BOTTOM = 2989,
AF_BLUE_STRING_OSAGE_CAPITAL_DESCENDER = 3019,
AF_BLUE_STRING_OSAGE_SMALL_TOP = 3034,
AF_BLUE_STRING_OSAGE_SMALL_BOTTOM = 3074,
AF_BLUE_STRING_OSAGE_SMALL_ASCENDER = 3114,
AF_BLUE_STRING_OSAGE_SMALL_DESCENDER = 3139,
AF_BLUE_STRING_SINHALA_TOP = 3154,
AF_BLUE_STRING_SINHALA_BOTTOM = 3186,
AF_BLUE_STRING_SINHALA_DESCENDER = 3218,
AF_BLUE_STRING_TAI_VIET_TOP = 3262,
AF_BLUE_STRING_TAI_VIET_BOTTOM = 3282,
AF_BLUE_STRING_TAMIL_TOP = 3294,
AF_BLUE_STRING_TAMIL_BOTTOM = 3326,
AF_BLUE_STRING_TELUGU_TOP = 3358,
AF_BLUE_STRING_TELUGU_BOTTOM = 3386,
AF_BLUE_STRING_THAI_TOP = 3414,
AF_BLUE_STRING_THAI_BOTTOM = 3438,
AF_BLUE_STRING_THAI_ASCENDER = 3466,
AF_BLUE_STRING_THAI_LARGE_ASCENDER = 3478,
AF_BLUE_STRING_THAI_DESCENDER = 3490,
AF_BLUE_STRING_THAI_LARGE_DESCENDER = 3506,
AF_BLUE_STRING_THAI_DIGIT_TOP = 3514,
AF_BLUE_STRING_TIFINAGH = 3526,
af_blue_1_1 = 3557,
AF_BLUE_STRING_GOTHIC_TOP = 1373,
AF_BLUE_STRING_GOTHIC_BOTTOM = 1413,
AF_BLUE_STRING_GREEK_CAPITAL_TOP = 1433,
AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM = 1454,
AF_BLUE_STRING_GREEK_SMALL_BETA_TOP = 1472,
AF_BLUE_STRING_GREEK_SMALL = 1490,
AF_BLUE_STRING_GREEK_SMALL_DESCENDER = 1514,
AF_BLUE_STRING_GUJARATI_TOP = 1538,
AF_BLUE_STRING_GUJARATI_BOTTOM = 1570,
AF_BLUE_STRING_GUJARATI_ASCENDER = 1602,
AF_BLUE_STRING_GUJARATI_DESCENDER = 1652,
AF_BLUE_STRING_GUJARATI_DIGIT_TOP = 1685,
AF_BLUE_STRING_GURMUKHI_BASE = 1705,
AF_BLUE_STRING_GURMUKHI_HEAD = 1737,
AF_BLUE_STRING_GURMUKHI_TOP = 1769,
AF_BLUE_STRING_GURMUKHI_BOTTOM = 1801,
AF_BLUE_STRING_GURMUKHI_DIGIT_TOP = 1833,
AF_BLUE_STRING_HEBREW_TOP = 1853,
AF_BLUE_STRING_HEBREW_BOTTOM = 1877,
AF_BLUE_STRING_HEBREW_DESCENDER = 1895,
AF_BLUE_STRING_KANNADA_TOP = 1910,
AF_BLUE_STRING_KANNADA_BOTTOM = 1954,
AF_BLUE_STRING_KHMER_TOP = 1986,
AF_BLUE_STRING_KHMER_SUBSCRIPT_TOP = 2010,
AF_BLUE_STRING_KHMER_BOTTOM = 2050,
AF_BLUE_STRING_KHMER_DESCENDER = 2082,
AF_BLUE_STRING_KHMER_LARGE_DESCENDER = 2116,
AF_BLUE_STRING_KHMER_SYMBOLS_WAXING_TOP = 2203,
AF_BLUE_STRING_KHMER_SYMBOLS_WANING_BOTTOM = 2211,
AF_BLUE_STRING_LAO_TOP = 2219,
AF_BLUE_STRING_LAO_BOTTOM = 2251,
AF_BLUE_STRING_LAO_ASCENDER = 2283,
AF_BLUE_STRING_LAO_LARGE_ASCENDER = 2299,
AF_BLUE_STRING_LAO_DESCENDER = 2311,
AF_BLUE_STRING_LATIN_CAPITAL_TOP = 2335,
AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 2351,
AF_BLUE_STRING_LATIN_SMALL_F_TOP = 2367,
AF_BLUE_STRING_LATIN_SMALL_TOP = 2381,
AF_BLUE_STRING_LATIN_SMALL_BOTTOM = 2397,
AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 2413,
AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP = 2423,
AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM = 2443,
AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP = 2463,
AF_BLUE_STRING_LATIN_SUBS_SMALL = 2483,
AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER = 2519,
AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP = 2539,
AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM = 2570,
AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP = 2599,
AF_BLUE_STRING_LATIN_SUPS_SMALL = 2625,
AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER = 2650,
AF_BLUE_STRING_LISU_TOP = 2661,
AF_BLUE_STRING_LISU_BOTTOM = 2693,
AF_BLUE_STRING_MALAYALAM_TOP = 2725,
AF_BLUE_STRING_MALAYALAM_BOTTOM = 2769,
AF_BLUE_STRING_MYANMAR_TOP = 2801,
AF_BLUE_STRING_MYANMAR_BOTTOM = 2833,
AF_BLUE_STRING_MYANMAR_ASCENDER = 2865,
AF_BLUE_STRING_MYANMAR_DESCENDER = 2893,
AF_BLUE_STRING_NKO_TOP = 2925,
AF_BLUE_STRING_NKO_BOTTOM = 2949,
AF_BLUE_STRING_NKO_SMALL_TOP = 2964,
AF_BLUE_STRING_NKO_SMALL_BOTTOM = 2973,
AF_BLUE_STRING_OL_CHIKI = 2985,
AF_BLUE_STRING_OSAGE_CAPITAL_TOP = 3009,
AF_BLUE_STRING_OSAGE_CAPITAL_BOTTOM = 3049,
AF_BLUE_STRING_OSAGE_CAPITAL_DESCENDER = 3079,
AF_BLUE_STRING_OSAGE_SMALL_TOP = 3094,
AF_BLUE_STRING_OSAGE_SMALL_BOTTOM = 3134,
AF_BLUE_STRING_OSAGE_SMALL_ASCENDER = 3174,
AF_BLUE_STRING_OSAGE_SMALL_DESCENDER = 3199,
AF_BLUE_STRING_SINHALA_TOP = 3214,
AF_BLUE_STRING_SINHALA_BOTTOM = 3246,
AF_BLUE_STRING_SINHALA_DESCENDER = 3278,
AF_BLUE_STRING_TAI_VIET_TOP = 3322,
AF_BLUE_STRING_TAI_VIET_BOTTOM = 3342,
AF_BLUE_STRING_TAMIL_TOP = 3354,
AF_BLUE_STRING_TAMIL_BOTTOM = 3386,
AF_BLUE_STRING_TELUGU_TOP = 3418,
AF_BLUE_STRING_TELUGU_BOTTOM = 3446,
AF_BLUE_STRING_THAI_TOP = 3474,
AF_BLUE_STRING_THAI_BOTTOM = 3498,
AF_BLUE_STRING_THAI_ASCENDER = 3526,
AF_BLUE_STRING_THAI_LARGE_ASCENDER = 3538,
AF_BLUE_STRING_THAI_DESCENDER = 3550,
AF_BLUE_STRING_THAI_LARGE_DESCENDER = 3566,
AF_BLUE_STRING_THAI_DIGIT_TOP = 3574,
AF_BLUE_STRING_TIFINAGH = 3586,
af_blue_1_1 = 3617,
#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,
@ -285,31 +287,32 @@ FT_BEGIN_HEADER
AF_BLUE_STRINGSET_GEOR = 53,
AF_BLUE_STRINGSET_GEOK = 58,
AF_BLUE_STRINGSET_GLAG = 65,
AF_BLUE_STRINGSET_GREK = 70,
AF_BLUE_STRINGSET_GUJR = 77,
AF_BLUE_STRINGSET_GURU = 83,
AF_BLUE_STRINGSET_HEBR = 89,
AF_BLUE_STRINGSET_KNDA = 93,
AF_BLUE_STRINGSET_KHMR = 96,
AF_BLUE_STRINGSET_KHMS = 102,
AF_BLUE_STRINGSET_LAO = 105,
AF_BLUE_STRINGSET_LATN = 111,
AF_BLUE_STRINGSET_LATB = 118,
AF_BLUE_STRINGSET_LATP = 125,
AF_BLUE_STRINGSET_LISU = 132,
AF_BLUE_STRINGSET_MLYM = 135,
AF_BLUE_STRINGSET_MYMR = 138,
AF_BLUE_STRINGSET_NKOO = 143,
AF_BLUE_STRINGSET_NONE = 148,
AF_BLUE_STRINGSET_OLCK = 149,
AF_BLUE_STRINGSET_OSGE = 152,
AF_BLUE_STRINGSET_SINH = 160,
AF_BLUE_STRINGSET_TAML = 164,
AF_BLUE_STRINGSET_TAVT = 167,
AF_BLUE_STRINGSET_TELU = 170,
AF_BLUE_STRINGSET_THAI = 173,
AF_BLUE_STRINGSET_TFNG = 181,
af_blue_2_1 = 184,
AF_BLUE_STRINGSET_GOTH = 70,
AF_BLUE_STRINGSET_GREK = 73,
AF_BLUE_STRINGSET_GUJR = 80,
AF_BLUE_STRINGSET_GURU = 86,
AF_BLUE_STRINGSET_HEBR = 92,
AF_BLUE_STRINGSET_KNDA = 96,
AF_BLUE_STRINGSET_KHMR = 99,
AF_BLUE_STRINGSET_KHMS = 105,
AF_BLUE_STRINGSET_LAO = 108,
AF_BLUE_STRINGSET_LATN = 114,
AF_BLUE_STRINGSET_LATB = 121,
AF_BLUE_STRINGSET_LATP = 128,
AF_BLUE_STRINGSET_LISU = 135,
AF_BLUE_STRINGSET_MLYM = 138,
AF_BLUE_STRINGSET_MYMR = 141,
AF_BLUE_STRINGSET_NKOO = 146,
AF_BLUE_STRINGSET_NONE = 151,
AF_BLUE_STRINGSET_OLCK = 152,
AF_BLUE_STRINGSET_OSGE = 155,
AF_BLUE_STRINGSET_SINH = 163,
AF_BLUE_STRINGSET_TAML = 167,
AF_BLUE_STRINGSET_TAVT = 170,
AF_BLUE_STRINGSET_TELU = 173,
AF_BLUE_STRINGSET_THAI = 176,
AF_BLUE_STRINGSET_TFNG = 184,
af_blue_2_1 = 187,
#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

@ -284,6 +284,18 @@
};
const AF_Script_UniRangeRec af_goth_uniranges[] =
{
AF_UNIRANGE_REC( 0x10330, 0x1034F ), /* Gothic */
AF_UNIRANGE_REC( 0, 0 )
};
const AF_Script_UniRangeRec af_goth_nonbase_uniranges[] =
{
AF_UNIRANGE_REC( 0, 0 )
};
const AF_Script_UniRangeRec af_grek_uniranges[] =
{
AF_UNIRANGE_REC( 0x0370, 0x03FF ), /* Greek and Coptic */

View File

@ -109,6 +109,12 @@
HINTING_BOTTOM_TO_TOP,
"\xE2\xB0\x95 \xE2\xB1\x85" ) /* Ⱅ ⱅ */
SCRIPT( goth, GOTH,
"Gothic",
HB_SCRIPT_GOTHIC,
HINTING_TOP_TO_BOTTOM,
"\xF0\x90\x8C\xB4 \xF0\x90\x8C\xBE \xF0\x90\x8D\x83") /* 𐌴 𐌾 𐍃 */
SCRIPT( grek, GREK,
"Greek",
HB_SCRIPT_GREEK,

View File

@ -169,6 +169,13 @@
AF_BLUE_STRINGSET_GLAG,
AF_COVERAGE_DEFAULT )
STYLE( goth_dflt, GOTH_DFLT,
"Gothic default style",
AF_WRITING_SYSTEM_LATIN,
AF_SCRIPT_GOTH,
AF_BLUE_STRINGSET_GOTH,
AF_COVERAGE_DEFAULT )
META_STYLE_LATIN( grek, GREK, "Greek" )
STYLE( gujr_dflt, GUJR_DFLT,