From 8210ee4b69569a04add80301c51ed226616ac93d Mon Sep 17 00:00:00 2001 From: Sascha Brawer Date: Thu, 6 Apr 2017 05:39:51 +0200 Subject: [PATCH] [autofit] Add support for Ol Chiki script. * src/autofit/afblue.dat: Add blue zone data for Ol Chiki. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Ol Chiki standard character. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Ol Chiki data. --- ChangeLog | 11 +++++++++++ src/autofit/afblue.c | 5 +++++ src/autofit/afblue.dat | 8 ++++++++ src/autofit/afblue.h | 42 ++++++++++++++++++++++-------------------- src/autofit/afranges.c | 12 ++++++++++++ src/autofit/afscript.h | 6 ++++++ src/autofit/afstyles.h | 7 +++++++ 7 files changed, 71 insertions(+), 20 deletions(-) diff --git a/ChangeLog b/ChangeLog index b6cc3b644..9a5d54973 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2017-04-06 Sascha Brawer + + [autofit] Add support for Ol Chiki script. + + * src/autofit/afblue.dat: Add blue zone data for Ol Chiki. + * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. + + * src/autofit/afscript.h: Add Ol Chiki standard character. + + * src/autofit/afranges.c, src/autofit/afstyles.h: Add Ol Chiki data. + 2017-04-03 Werner Lemberg [truetype] Avoid reexecution of `fpgm' and `prep' in case of error. diff --git a/src/autofit/afblue.c b/src/autofit/afblue.c index 524f68874..1cfb35530 100644 --- a/src/autofit/afblue.c +++ b/src/autofit/afblue.c @@ -206,6 +206,8 @@ '\0', '\xE1', '\x80', '\x89', ' ', '\xE1', '\x80', '\x8A', ' ', '\xE1', '\x80', '\xA5', ' ', '\xE1', '\x80', '\xA9', ' ', '\xE1', '\x80', '\xA8', ' ', '\xE1', '\x81', '\x82', ' ', '\xE1', '\x81', '\x85', ' ', '\xE1', '\x81', '\x89', /* ဉ ည ဥ ဩ ဨ ၂ ၅ ၉ */ '\0', + '\xE1', '\xB1', '\x9B', ' ', '\xE1', '\xB1', '\x9C', ' ', '\xE1', '\xB1', '\x9D', ' ', '\xE1', '\xB1', '\xA1', ' ', '\xE1', '\xB1', '\xA2', ' ', '\xE1', '\xB1', '\xA5', /* ᱛ ᱜ ᱝ ᱡ ᱢ ᱥ */ + '\0', '\xE0', '\xB6', '\x89', ' ', '\xE0', '\xB6', '\x9A', ' ', '\xE0', '\xB6', '\x9D', ' ', '\xE0', '\xB6', '\xB3', ' ', '\xE0', '\xB6', '\xB4', ' ', '\xE0', '\xB6', '\xBA', ' ', '\xE0', '\xB6', '\xBD', ' ', '\xE0', '\xB7', '\x86', /* ඉ ක ඝ ඳ ප ය ල ෆ */ '\0', '\xE0', '\xB6', '\x91', ' ', '\xE0', '\xB6', '\x94', ' ', '\xE0', '\xB6', '\x9D', ' ', '\xE0', '\xB6', '\xA2', ' ', '\xE0', '\xB6', '\xA7', ' ', '\xE0', '\xB6', '\xAE', ' ', '\xE0', '\xB6', '\xB0', ' ', '\xE0', '\xB6', '\xBB', /* එ ඔ ඝ ජ ට ථ ධ ර */ @@ -425,6 +427,9 @@ { AF_BLUE_STRING_MYANMAR_DESCENDER, 0 }, { AF_BLUE_STRING_MAX, 0 }, { AF_BLUE_STRING_MAX, 0 }, + { AF_BLUE_STRING_OL_CHIKI, AF_BLUE_PROPERTY_LATIN_TOP }, + { AF_BLUE_STRING_OL_CHIKI, 0 }, + { AF_BLUE_STRING_MAX, 0 }, { AF_BLUE_STRING_SINHALA_TOP, AF_BLUE_PROPERTY_LATIN_TOP }, { AF_BLUE_STRING_SINHALA_BOTTOM, 0 }, { AF_BLUE_STRING_SINHALA_DESCENDER, 0 }, diff --git a/src/autofit/afblue.dat b/src/autofit/afblue.dat index 8b75aecf3..c1f63fbe6 100644 --- a/src/autofit/afblue.dat +++ b/src/autofit/afblue.dat @@ -288,6 +288,9 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN: AF_BLUE_STRING_MYANMAR_DESCENDER "ဉ ည ဥ ဩ ဨ ၂ ၅ ၉" + AF_BLUE_STRING_OL_CHIKI + "ᱛ ᱜ ᱝ ᱡ ᱢ ᱥ" + AF_BLUE_STRING_SINHALA_TOP "ඉ ක ඝ ඳ ප ය ල ෆ" AF_BLUE_STRING_SINHALA_BOTTOM @@ -674,6 +677,11 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN: AF_BLUE_STRINGSET_NONE { AF_BLUE_STRING_MAX, 0 } + AF_BLUE_STRINGSET_OLCK + { AF_BLUE_STRING_OL_CHIKI, AF_BLUE_PROPERTY_LATIN_TOP } + { AF_BLUE_STRING_OL_CHIKI, 0 } + { AF_BLUE_STRING_MAX, 0 } + AF_BLUE_STRINGSET_SINH { AF_BLUE_STRING_SINHALA_TOP, AF_BLUE_PROPERTY_LATIN_TOP } { AF_BLUE_STRING_SINHALA_BOTTOM, 0 } diff --git a/src/autofit/afblue.h b/src/autofit/afblue.h index f4720edd5..56bc216df 100644 --- a/src/autofit/afblue.h +++ b/src/autofit/afblue.h @@ -167,21 +167,22 @@ FT_BEGIN_HEADER AF_BLUE_STRING_MYANMAR_BOTTOM = 2286, AF_BLUE_STRING_MYANMAR_ASCENDER = 2318, AF_BLUE_STRING_MYANMAR_DESCENDER = 2346, - AF_BLUE_STRING_SINHALA_TOP = 2378, - AF_BLUE_STRING_SINHALA_BOTTOM = 2410, - AF_BLUE_STRING_SINHALA_DESCENDER = 2442, - AF_BLUE_STRING_TAMIL_TOP = 2486, - AF_BLUE_STRING_TAMIL_BOTTOM = 2518, - AF_BLUE_STRING_TELUGU_TOP = 2550, - AF_BLUE_STRING_TELUGU_BOTTOM = 2578, - AF_BLUE_STRING_THAI_TOP = 2606, - AF_BLUE_STRING_THAI_BOTTOM = 2630, - AF_BLUE_STRING_THAI_ASCENDER = 2658, - AF_BLUE_STRING_THAI_LARGE_ASCENDER = 2670, - AF_BLUE_STRING_THAI_DESCENDER = 2682, - AF_BLUE_STRING_THAI_LARGE_DESCENDER = 2698, - AF_BLUE_STRING_THAI_DIGIT_TOP = 2706, - af_blue_1_1 = 2717, + AF_BLUE_STRING_OL_CHIKI = 2378, + AF_BLUE_STRING_SINHALA_TOP = 2402, + AF_BLUE_STRING_SINHALA_BOTTOM = 2434, + AF_BLUE_STRING_SINHALA_DESCENDER = 2466, + AF_BLUE_STRING_TAMIL_TOP = 2510, + AF_BLUE_STRING_TAMIL_BOTTOM = 2542, + AF_BLUE_STRING_TELUGU_TOP = 2574, + AF_BLUE_STRING_TELUGU_BOTTOM = 2602, + AF_BLUE_STRING_THAI_TOP = 2630, + AF_BLUE_STRING_THAI_BOTTOM = 2654, + AF_BLUE_STRING_THAI_ASCENDER = 2682, + AF_BLUE_STRING_THAI_LARGE_ASCENDER = 2694, + AF_BLUE_STRING_THAI_DESCENDER = 2706, + AF_BLUE_STRING_THAI_LARGE_DESCENDER = 2722, + AF_BLUE_STRING_THAI_DIGIT_TOP = 2730, + af_blue_1_1 = 2741, #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, @@ -263,11 +264,12 @@ FT_BEGIN_HEADER AF_BLUE_STRINGSET_MLYM = 112, AF_BLUE_STRINGSET_MYMR = 115, AF_BLUE_STRINGSET_NONE = 120, - AF_BLUE_STRINGSET_SINH = 121, - AF_BLUE_STRINGSET_TAML = 125, - AF_BLUE_STRINGSET_TELU = 128, - AF_BLUE_STRINGSET_THAI = 131, - af_blue_2_1 = 139, + AF_BLUE_STRINGSET_OLCK = 121, + AF_BLUE_STRINGSET_SINH = 124, + AF_BLUE_STRINGSET_TAML = 128, + AF_BLUE_STRINGSET_TELU = 131, + AF_BLUE_STRINGSET_THAI = 134, + af_blue_2_1 = 142, #ifdef AF_CONFIG_OPTION_CJK AF_BLUE_STRINGSET_HANI = af_blue_2_1 + 0, af_blue_2_1_1 = af_blue_2_1 + 2, diff --git a/src/autofit/afranges.c b/src/autofit/afranges.c index fdd28006f..24bc31fe2 100644 --- a/src/autofit/afranges.c +++ b/src/autofit/afranges.c @@ -515,6 +515,18 @@ }; + const AF_Script_UniRangeRec af_olck_uniranges[] = + { + AF_UNIRANGE_REC( 0x1C50, 0x1C7F ), /* Ol Chiki */ + AF_UNIRANGE_REC( 0, 0 ) + }; + + const AF_Script_UniRangeRec af_olck_nonbase_uniranges[] = + { + AF_UNIRANGE_REC( 0, 0 ) + }; + + const AF_Script_UniRangeRec af_sinh_uniranges[] = { AF_UNIRANGE_REC( 0x0D80, 0x0DFF ), /* Sinhala */ diff --git a/src/autofit/afscript.h b/src/autofit/afscript.h index c656c7839..c38b96fba 100644 --- a/src/autofit/afscript.h +++ b/src/autofit/afscript.h @@ -171,6 +171,12 @@ HINTING_BOTTOM_TO_TOP, "" ) + SCRIPT( olck, OLCK, + "Ol Chiki", + HB_SCRIPT_OL_CHIKI, + HINTING_BOTTOM_TO_TOP, + "\xE1\xB1\x9B" ) /* ᱛ */ + SCRIPT( sinh, SINH, "Sinhala", HB_SCRIPT_SINHALA, diff --git a/src/autofit/afstyles.h b/src/autofit/afstyles.h index 3afa8395e..eb9b8b1f8 100644 --- a/src/autofit/afstyles.h +++ b/src/autofit/afstyles.h @@ -238,6 +238,13 @@ AF_BLUE_STRINGSET_NONE, AF_COVERAGE_DEFAULT ) + STYLE( olck_dflt, OLCK_DFLT, + "Ol Chiki default style", + AF_WRITING_SYSTEM_LATIN, + AF_SCRIPT_OLCK, + AF_BLUE_STRINGSET_OLCK, + AF_COVERAGE_DEFAULT ) + STYLE( sinh_dflt, SINH_DFLT, "Sinhala default style", AF_WRITING_SYSTEM_LATIN,