[autofit] Improve Arabic hinting.
Problem reported by Titus Nemeth <tn@tntypography.eu> (by using ttfautohint). * src/autofit/afblue.dat: Add neutral blue zone for the tatweel character. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
This commit is contained in:
parent
98e8e99986
commit
ff406e2e58
12
ChangeLog
12
ChangeLog
|
@ -1,3 +1,15 @@
|
|||
2015-08-06 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
[autofit] Improve Arabic hinting.
|
||||
|
||||
Problem reported by Titus Nemeth <tn@tntypography.eu> (by using
|
||||
ttfautohint).
|
||||
|
||||
* src/autofit/afblue.dat: Add neutral blue zone for the tatweel
|
||||
character.
|
||||
|
||||
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
|
||||
|
||||
2015-08-05 Alexei Podtelezhnikov <apodtele@gmail.com>
|
||||
|
||||
[truetype] Clean up types.
|
||||
|
|
|
@ -30,6 +30,8 @@
|
|||
'\0',
|
||||
'\xD8', '\xAA', '\xD8', '\xAB', '\xD8', '\xB7', '\xD8', '\xB8', '\xD9', '\x83', /* ت ث ط ظ ك */
|
||||
'\0',
|
||||
'\xD9', '\x80', /* ـ */
|
||||
'\0',
|
||||
'\xD0', '\x91', '\xD0', '\x92', '\xD0', '\x95', '\xD0', '\x9F', '\xD0', '\x97', '\xD0', '\x9E', '\xD0', '\xA1', '\xD0', '\xAD', /* БВЕПЗОСЭ */
|
||||
'\0',
|
||||
'\xD0', '\x91', '\xD0', '\x92', '\xD0', '\x95', '\xD0', '\xA8', '\xD0', '\x97', '\xD0', '\x9E', '\xD0', '\xA1', '\xD0', '\xAD', /* БВЕШЗОСЭ */
|
||||
|
@ -139,9 +141,10 @@
|
|||
af_blue_stringsets[] =
|
||||
{
|
||||
/* */
|
||||
{ AF_BLUE_STRING_ARABIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_ARABIC_JOIN, 0 },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_ARABIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_ARABIC_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_ARABIC_JOIN, AF_BLUE_PROPERTY_LATIN_NEUTRAL },
|
||||
{ AF_BLUE_STRING_MAX, 0 },
|
||||
{ AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP },
|
||||
{ AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM, 0 },
|
||||
{ AF_BLUE_STRING_CYRILLIC_SMALL, AF_BLUE_PROPERTY_LATIN_TOP |
|
||||
|
|
|
@ -69,8 +69,15 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
|
|||
|
||||
AF_BLUE_STRING_ARABIC_TOP
|
||||
"ا إ ل ك ط ظ"
|
||||
AF_BLUE_STRING_ARABIC_JOIN
|
||||
AF_BLUE_STRING_ARABIC_BOTTOM
|
||||
"ت ث ط ظ ك"
|
||||
// We don't necessarily have access to medial forms via Unicode in case
|
||||
// Arabic presentational forms are missing. The only character that is
|
||||
// guaranteed to have the same vertical position with joining (this is,
|
||||
// non-isolated) forms is U+0640, ARABIC TATWEEL, which must join both
|
||||
// round and flat curves.
|
||||
AF_BLUE_STRING_ARABIC_JOIN
|
||||
"ـ"
|
||||
|
||||
AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP
|
||||
"БВЕПЗОСЭ"
|
||||
|
@ -289,9 +296,10 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
|
|||
AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
|
||||
|
||||
AF_BLUE_STRINGSET_ARAB
|
||||
{ AF_BLUE_STRING_ARABIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_ARABIC_JOIN, 0 }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
{ AF_BLUE_STRING_ARABIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
{ AF_BLUE_STRING_ARABIC_BOTTOM, 0 }
|
||||
{ AF_BLUE_STRING_ARABIC_JOIN, AF_BLUE_PROPERTY_LATIN_NEUTRAL }
|
||||
{ AF_BLUE_STRING_MAX, 0 }
|
||||
|
||||
AF_BLUE_STRINGSET_CYRL
|
||||
{ AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
|
||||
|
|
|
@ -75,38 +75,39 @@ FT_BEGIN_HEADER
|
|||
typedef enum AF_Blue_String_
|
||||
{
|
||||
AF_BLUE_STRING_ARABIC_TOP = 0,
|
||||
AF_BLUE_STRING_ARABIC_JOIN = 13,
|
||||
AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP = 24,
|
||||
AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM = 41,
|
||||
AF_BLUE_STRING_CYRILLIC_SMALL = 58,
|
||||
AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER = 75,
|
||||
AF_BLUE_STRING_DEVANAGARI_BASE = 82,
|
||||
AF_BLUE_STRING_DEVANAGARI_TOP = 107,
|
||||
AF_BLUE_STRING_DEVANAGARI_HEAD = 132,
|
||||
AF_BLUE_STRING_DEVANAGARI_BOTTOM = 157,
|
||||
AF_BLUE_STRING_GREEK_CAPITAL_TOP = 164,
|
||||
AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM = 179,
|
||||
AF_BLUE_STRING_GREEK_SMALL_BETA_TOP = 192,
|
||||
AF_BLUE_STRING_GREEK_SMALL = 205,
|
||||
AF_BLUE_STRING_GREEK_SMALL_DESCENDER = 222,
|
||||
AF_BLUE_STRING_HEBREW_TOP = 239,
|
||||
AF_BLUE_STRING_HEBREW_BOTTOM = 256,
|
||||
AF_BLUE_STRING_HEBREW_DESCENDER = 269,
|
||||
AF_BLUE_STRING_LATIN_CAPITAL_TOP = 280,
|
||||
AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 289,
|
||||
AF_BLUE_STRING_LATIN_SMALL_F_TOP = 298,
|
||||
AF_BLUE_STRING_LATIN_SMALL = 306,
|
||||
AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 314,
|
||||
AF_BLUE_STRING_TELUGU_TOP = 320,
|
||||
AF_BLUE_STRING_TELUGU_BOTTOM = 342,
|
||||
AF_BLUE_STRING_THAI_TOP = 364,
|
||||
AF_BLUE_STRING_THAI_BOTTOM = 383,
|
||||
AF_BLUE_STRING_THAI_ASCENDER = 405,
|
||||
AF_BLUE_STRING_THAI_LARGE_ASCENDER = 415,
|
||||
AF_BLUE_STRING_THAI_DESCENDER = 425,
|
||||
AF_BLUE_STRING_THAI_LARGE_DESCENDER = 438,
|
||||
AF_BLUE_STRING_THAI_DIGIT_TOP = 445,
|
||||
af_blue_1_1 = 454,
|
||||
AF_BLUE_STRING_ARABIC_BOTTOM = 13,
|
||||
AF_BLUE_STRING_ARABIC_JOIN = 24,
|
||||
AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP = 27,
|
||||
AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM = 44,
|
||||
AF_BLUE_STRING_CYRILLIC_SMALL = 61,
|
||||
AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER = 78,
|
||||
AF_BLUE_STRING_DEVANAGARI_BASE = 85,
|
||||
AF_BLUE_STRING_DEVANAGARI_TOP = 110,
|
||||
AF_BLUE_STRING_DEVANAGARI_HEAD = 135,
|
||||
AF_BLUE_STRING_DEVANAGARI_BOTTOM = 160,
|
||||
AF_BLUE_STRING_GREEK_CAPITAL_TOP = 167,
|
||||
AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM = 182,
|
||||
AF_BLUE_STRING_GREEK_SMALL_BETA_TOP = 195,
|
||||
AF_BLUE_STRING_GREEK_SMALL = 208,
|
||||
AF_BLUE_STRING_GREEK_SMALL_DESCENDER = 225,
|
||||
AF_BLUE_STRING_HEBREW_TOP = 242,
|
||||
AF_BLUE_STRING_HEBREW_BOTTOM = 259,
|
||||
AF_BLUE_STRING_HEBREW_DESCENDER = 272,
|
||||
AF_BLUE_STRING_LATIN_CAPITAL_TOP = 283,
|
||||
AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 292,
|
||||
AF_BLUE_STRING_LATIN_SMALL_F_TOP = 301,
|
||||
AF_BLUE_STRING_LATIN_SMALL = 309,
|
||||
AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 317,
|
||||
AF_BLUE_STRING_TELUGU_TOP = 323,
|
||||
AF_BLUE_STRING_TELUGU_BOTTOM = 345,
|
||||
AF_BLUE_STRING_THAI_TOP = 367,
|
||||
AF_BLUE_STRING_THAI_BOTTOM = 386,
|
||||
AF_BLUE_STRING_THAI_ASCENDER = 408,
|
||||
AF_BLUE_STRING_THAI_LARGE_ASCENDER = 418,
|
||||
AF_BLUE_STRING_THAI_DESCENDER = 428,
|
||||
AF_BLUE_STRING_THAI_LARGE_DESCENDER = 441,
|
||||
AF_BLUE_STRING_THAI_DIGIT_TOP = 448,
|
||||
af_blue_1_1 = 457,
|
||||
#ifdef AF_CONFIG_OPTION_CJK
|
||||
AF_BLUE_STRING_CJK_TOP = af_blue_1_1 + 1,
|
||||
AF_BLUE_STRING_CJK_BOTTOM = af_blue_1_1 + 153,
|
||||
|
@ -165,14 +166,14 @@ FT_BEGIN_HEADER
|
|||
typedef enum AF_Blue_Stringset_
|
||||
{
|
||||
AF_BLUE_STRINGSET_ARAB = 0,
|
||||
AF_BLUE_STRINGSET_CYRL = 3,
|
||||
AF_BLUE_STRINGSET_DEVA = 9,
|
||||
AF_BLUE_STRINGSET_GREK = 15,
|
||||
AF_BLUE_STRINGSET_HEBR = 22,
|
||||
AF_BLUE_STRINGSET_LATN = 26,
|
||||
AF_BLUE_STRINGSET_TELU = 33,
|
||||
AF_BLUE_STRINGSET_THAI = 36,
|
||||
af_blue_2_1 = 44,
|
||||
AF_BLUE_STRINGSET_CYRL = 4,
|
||||
AF_BLUE_STRINGSET_DEVA = 10,
|
||||
AF_BLUE_STRINGSET_GREK = 16,
|
||||
AF_BLUE_STRINGSET_HEBR = 23,
|
||||
AF_BLUE_STRINGSET_LATN = 27,
|
||||
AF_BLUE_STRINGSET_TELU = 34,
|
||||
AF_BLUE_STRINGSET_THAI = 37,
|
||||
af_blue_2_1 = 45,
|
||||
#ifdef AF_CONFIG_OPTION_CJK
|
||||
AF_BLUE_STRINGSET_HANI = af_blue_2_1 + 0,
|
||||
af_blue_2_1_1 = af_blue_2_1 + 2,
|
||||
|
|
Loading…
Reference in New Issue