From c9e7063a01002fbfa2b19522c3d3e554378f7690 Mon Sep 17 00:00:00 2001 From: Sascha Brawer Date: Wed, 3 May 2017 23:21:13 +0200 Subject: [PATCH] [autofit] Add support for Unified Canadian Syllabics script. * src/autofit/afblue.dat: Add blue zone data for Unified Canadian Syllabics. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Unified Canadian Syllabics standard character. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Unified Canadian Syllabics data. --- ChangeLog | 15 ++ src/autofit/afblue.c | 20 +++ src/autofit/afblue.dat | 23 +++ src/autofit/afblue.h | 337 +++++++++++++++++++++-------------------- src/autofit/afranges.c | 13 ++ src/autofit/afscript.h | 6 + src/autofit/afstyles.h | 7 + 7 files changed, 256 insertions(+), 165 deletions(-) diff --git a/ChangeLog b/ChangeLog index 311eee0a3..d04d57684 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2017-05-03 Sascha Brawer + Werner Lemberg Werner Lemberg diff --git a/src/autofit/afblue.c b/src/autofit/afblue.c index 992d6b13e..4d60bac88 100644 --- a/src/autofit/afblue.c +++ b/src/autofit/afblue.c @@ -62,6 +62,18 @@ '\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', + '\xE1', '\x97', '\x9C', ' ', '\xE1', '\x96', '\xB4', ' ', '\xE1', '\x90', '\x81', ' ', '\xE1', '\x92', '\xA3', ' ', '\xE1', '\x91', '\xAB', ' ', '\xE1', '\x91', '\x8E', ' ', '\xE1', '\x94', '\x91', ' ', '\xE1', '\x97', '\xB0', /* ᗜ ᖴ ᐁ ᒣ ᑫ ᑎ ᔑ ᗰ */ + '\0', + '\xE1', '\x97', '\xB6', ' ', '\xE1', '\x96', '\xB5', ' ', '\xE1', '\x92', '\xA7', ' ', '\xE1', '\x90', '\x83', ' ', '\xE1', '\x91', '\x8C', ' ', '\xE1', '\x92', '\x8D', ' ', '\xE1', '\x94', '\x91', ' ', '\xE1', '\x97', '\xA2', /* ᗶ ᖵ ᒧ ᐃ ᑌ ᒍ ᔑ ᗢ */ + '\0', + '\xE1', '\x93', '\x93', ' ', '\xE1', '\x93', '\x95', ' ', '\xE1', '\x93', '\x80', ' ', '\xE1', '\x93', '\x82', ' ', '\xE1', '\x93', '\x84', ' ', '\xE1', '\x95', '\x84', ' ', '\xE1', '\x95', '\x86', ' ', '\xE1', '\x98', '\xA3', /* ᓓ ᓕ ᓀ ᓂ ᓄ ᕄ ᕆ ᘣ */ + '\0', + '\xE1', '\x95', '\x83', ' ', '\xE1', '\x93', '\x82', ' ', '\xE1', '\x93', '\x80', ' ', '\xE1', '\x95', '\x82', ' ', '\xE1', '\x93', '\x97', ' ', '\xE1', '\x93', '\x9A', ' ', '\xE1', '\x95', '\x86', ' ', '\xE1', '\x98', '\xA3', /* ᕃ ᓂ ᓀ ᕂ ᓗ ᓚ ᕆ ᘣ */ + '\0', + '\xE1', '\x90', '\xAA', ' ', '\xE1', '\x99', '\x86', ' ', '\xE1', '\xA3', '\x98', ' ', '\xE1', '\x90', '\xA2', ' ', '\xE1', '\x92', '\xBE', ' ', '\xE1', '\xA3', '\x97', ' ', '\xE1', '\x94', '\x86', /* ᐪ ᙆ ᣘ ᐢ ᒾ ᣗ ᔆ */ + '\0', + '\xE1', '\x99', '\x86', ' ', '\xE1', '\x97', '\xAE', ' ', '\xE1', '\x92', '\xBB', ' ', '\xE1', '\x90', '\x9E', ' ', '\xE1', '\x94', '\x86', ' ', '\xE1', '\x92', '\xA1', ' ', '\xE1', '\x92', '\xA2', ' ', '\xE1', '\x93', '\x91', /* ᙆ ᗮ ᒻ ᐞ ᔆ ᒡ ᒢ ᓑ */ + '\0', '\xE1', '\x8F', '\x86', ' ', '\xE1', '\x8E', '\xBB', ' ', '\xE1', '\x8E', '\xAC', ' ', '\xE1', '\x8F', '\x83', ' ', '\xE1', '\x8E', '\xA4', ' ', '\xE1', '\x8F', '\xA3', ' ', '\xE1', '\x8E', '\xA6', ' ', '\xE1', '\x8F', '\x95', /* Ꮖ Ꮋ Ꭼ Ꮓ Ꭴ Ꮳ Ꭶ Ꮥ */ '\0', '\xEA', '\xAE', '\x92', ' ', '\xEA', '\xAE', '\xA4', ' ', '\xEA', '\xAE', '\xB6', ' ', '\xEA', '\xAD', '\xB4', ' ', '\xEA', '\xAD', '\xBE', ' ', '\xEA', '\xAE', '\x97', ' ', '\xEA', '\xAE', '\x9D', ' ', '\xEA', '\xAE', '\xBF', /* ꮒ ꮤ ꮶ ꭴ ꭾ ꮗ ꮝ ꮿ */ @@ -393,6 +405,14 @@ AF_BLUE_PROPERTY_LATIN_X_HEIGHT }, { AF_BLUE_STRING_BENGALI_BASE, 0 }, { AF_BLUE_STRING_MAX, 0 }, + { AF_BLUE_STRING_CANADIAN_SYLLABICS_TOP, AF_BLUE_PROPERTY_LATIN_TOP }, + { AF_BLUE_STRING_CANADIAN_SYLLABICS_BOTTOM, 0 }, + { AF_BLUE_STRING_CANADIAN_SYLLABICS_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP | + AF_BLUE_PROPERTY_LATIN_X_HEIGHT }, + { AF_BLUE_STRING_CANADIAN_SYLLABICS_SMALL_BOTTOM, 0 }, + { AF_BLUE_STRING_CANADIAN_SYLLABICS_SUPS_TOP, AF_BLUE_PROPERTY_LATIN_TOP }, + { AF_BLUE_STRING_CANADIAN_SYLLABICS_SUPS_BOTTOM, 0 }, + { AF_BLUE_STRING_MAX, 0 }, { AF_BLUE_STRING_CHEROKEE_CAPITAL, AF_BLUE_PROPERTY_LATIN_TOP }, { AF_BLUE_STRING_CHEROKEE_CAPITAL, 0 }, { AF_BLUE_STRING_CHEROKEE_SMALL_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP }, diff --git a/src/autofit/afblue.dat b/src/autofit/afblue.dat index 00052f7f7..07a606e81 100644 --- a/src/autofit/afblue.dat +++ b/src/autofit/afblue.dat @@ -120,6 +120,19 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN: AF_BLUE_STRING_BENGALI_HEAD "ও এ ড ত ন ব ল ক" + AF_BLUE_STRING_CANADIAN_SYLLABICS_TOP + "ᗜ ᖴ ᐁ ᒣ ᑫ ᑎ ᔑ ᗰ" + AF_BLUE_STRING_CANADIAN_SYLLABICS_BOTTOM + "ᗶ ᖵ ᒧ ᐃ ᑌ ᒍ ᔑ ᗢ" + AF_BLUE_STRING_CANADIAN_SYLLABICS_SMALL_TOP + "ᓓ ᓕ ᓀ ᓂ ᓄ ᕄ ᕆ ᘣ" + AF_BLUE_STRING_CANADIAN_SYLLABICS_SMALL_BOTTOM + "ᕃ ᓂ ᓀ ᕂ ᓗ ᓚ ᕆ ᘣ" + AF_BLUE_STRING_CANADIAN_SYLLABICS_SUPS_TOP + "ᐪ ᙆ ᣘ ᐢ ᒾ ᣗ ᔆ" + AF_BLUE_STRING_CANADIAN_SYLLABICS_SUPS_BOTTOM + "ᙆ ᗮ ᒻ ᐞ ᔆ ᒡ ᒢ ᓑ" + AF_BLUE_STRING_CHEROKEE_CAPITAL "Ꮖ Ꮋ Ꭼ Ꮓ Ꭴ Ꮳ Ꭶ Ꮥ" AF_BLUE_STRING_CHEROKEE_SMALL_ASCENDER @@ -619,6 +632,16 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN: { AF_BLUE_STRING_BENGALI_BASE, 0 } { AF_BLUE_STRING_MAX, 0 } + AF_BLUE_STRINGSET_CANADIAN_SYLLABICS + { AF_BLUE_STRING_CANADIAN_SYLLABICS_TOP, AF_BLUE_PROPERTY_LATIN_TOP } + { AF_BLUE_STRING_CANADIAN_SYLLABICS_BOTTOM, 0 } + { AF_BLUE_STRING_CANADIAN_SYLLABICS_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP | + AF_BLUE_PROPERTY_LATIN_X_HEIGHT } + { AF_BLUE_STRING_CANADIAN_SYLLABICS_SMALL_BOTTOM, 0 } + { AF_BLUE_STRING_CANADIAN_SYLLABICS_SUPS_TOP, AF_BLUE_PROPERTY_LATIN_TOP } + { AF_BLUE_STRING_CANADIAN_SYLLABICS_SUPS_BOTTOM, 0 } + { AF_BLUE_STRING_MAX, 0 } + AF_BLUE_STRINGSET_CHER { AF_BLUE_STRING_CHEROKEE_CAPITAL, AF_BLUE_PROPERTY_LATIN_TOP } { AF_BLUE_STRING_CHEROKEE_CAPITAL, 0 } diff --git a/src/autofit/afblue.h b/src/autofit/afblue.h index 13016a2cb..fe94b1387 100644 --- a/src/autofit/afblue.h +++ b/src/autofit/afblue.h @@ -95,134 +95,140 @@ FT_BEGIN_HEADER AF_BLUE_STRING_BENGALI_BASE = 312, AF_BLUE_STRING_BENGALI_TOP = 344, AF_BLUE_STRING_BENGALI_HEAD = 372, - AF_BLUE_STRING_CHEROKEE_CAPITAL = 404, - AF_BLUE_STRING_CHEROKEE_SMALL_ASCENDER = 436, - AF_BLUE_STRING_CHEROKEE_SMALL = 468, - AF_BLUE_STRING_CHEROKEE_SMALL_DESCENDER = 500, - AF_BLUE_STRING_CYPRIOT_TOP = 516, - AF_BLUE_STRING_CYPRIOT_BOTTOM = 556, - AF_BLUE_STRING_CYPRIOT_SMALL = 591, - AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP = 606, - AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM = 630, - AF_BLUE_STRING_CYRILLIC_SMALL = 654, - AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER = 678, - AF_BLUE_STRING_DESERET_CAPITAL_TOP = 687, - AF_BLUE_STRING_DESERET_CAPITAL_BOTTOM = 712, - AF_BLUE_STRING_DESERET_SMALL_TOP = 737, - AF_BLUE_STRING_DESERET_SMALL_BOTTOM = 762, - AF_BLUE_STRING_DEVANAGARI_BASE = 787, - AF_BLUE_STRING_DEVANAGARI_TOP = 819, - AF_BLUE_STRING_DEVANAGARI_HEAD = 851, - AF_BLUE_STRING_DEVANAGARI_BOTTOM = 883, - AF_BLUE_STRING_ETHIOPIC_TOP = 891, - AF_BLUE_STRING_ETHIOPIC_BOTTOM = 923, - AF_BLUE_STRING_GEORGIAN_MKHEDRULI_TOP = 955, - AF_BLUE_STRING_GEORGIAN_MKHEDRULI_BOTTOM = 987, - AF_BLUE_STRING_GEORGIAN_MKHEDRULI_ASCENDER = 1019, - AF_BLUE_STRING_GEORGIAN_MKHEDRULI_DESCENDER = 1051, - AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_TOP = 1083, - AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_BOTTOM = 1115, - AF_BLUE_STRING_GEORGIAN_NUSKHURI_TOP = 1147, - AF_BLUE_STRING_GEORGIAN_NUSKHURI_BOTTOM = 1179, - AF_BLUE_STRING_GEORGIAN_NUSKHURI_ASCENDER = 1211, - AF_BLUE_STRING_GEORGIAN_NUSKHURI_DESCENDER = 1243, - AF_BLUE_STRING_GLAGOLITIC_CAPITAL_TOP = 1275, - AF_BLUE_STRING_GLAGOLITIC_CAPITAL_BOTTOM = 1307, - AF_BLUE_STRING_GLAGOLITIC_SMALL_TOP = 1339, - AF_BLUE_STRING_GLAGOLITIC_SMALL_BOTTOM = 1371, - AF_BLUE_STRING_GOTHIC_TOP = 1403, - AF_BLUE_STRING_GOTHIC_BOTTOM = 1443, - AF_BLUE_STRING_GREEK_CAPITAL_TOP = 1463, - AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM = 1484, - AF_BLUE_STRING_GREEK_SMALL_BETA_TOP = 1502, - AF_BLUE_STRING_GREEK_SMALL = 1520, - AF_BLUE_STRING_GREEK_SMALL_DESCENDER = 1544, - AF_BLUE_STRING_GUJARATI_TOP = 1568, - AF_BLUE_STRING_GUJARATI_BOTTOM = 1600, - AF_BLUE_STRING_GUJARATI_ASCENDER = 1632, - AF_BLUE_STRING_GUJARATI_DESCENDER = 1682, - AF_BLUE_STRING_GUJARATI_DIGIT_TOP = 1715, - AF_BLUE_STRING_GURMUKHI_BASE = 1735, - AF_BLUE_STRING_GURMUKHI_HEAD = 1767, - AF_BLUE_STRING_GURMUKHI_TOP = 1799, - AF_BLUE_STRING_GURMUKHI_BOTTOM = 1831, - AF_BLUE_STRING_GURMUKHI_DIGIT_TOP = 1863, - AF_BLUE_STRING_HEBREW_TOP = 1883, - AF_BLUE_STRING_HEBREW_BOTTOM = 1907, - AF_BLUE_STRING_HEBREW_DESCENDER = 1925, - AF_BLUE_STRING_KANNADA_TOP = 1940, - AF_BLUE_STRING_KANNADA_BOTTOM = 1984, - AF_BLUE_STRING_KHMER_TOP = 2016, - AF_BLUE_STRING_KHMER_SUBSCRIPT_TOP = 2040, - AF_BLUE_STRING_KHMER_BOTTOM = 2080, - AF_BLUE_STRING_KHMER_DESCENDER = 2112, - AF_BLUE_STRING_KHMER_LARGE_DESCENDER = 2146, - AF_BLUE_STRING_KHMER_SYMBOLS_WAXING_TOP = 2233, - AF_BLUE_STRING_KHMER_SYMBOLS_WANING_BOTTOM = 2241, - AF_BLUE_STRING_LAO_TOP = 2249, - AF_BLUE_STRING_LAO_BOTTOM = 2281, - AF_BLUE_STRING_LAO_ASCENDER = 2313, - AF_BLUE_STRING_LAO_LARGE_ASCENDER = 2329, - AF_BLUE_STRING_LAO_DESCENDER = 2341, - AF_BLUE_STRING_LATIN_CAPITAL_TOP = 2365, - AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 2381, - AF_BLUE_STRING_LATIN_SMALL_F_TOP = 2397, - AF_BLUE_STRING_LATIN_SMALL_TOP = 2411, - AF_BLUE_STRING_LATIN_SMALL_BOTTOM = 2427, - AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 2443, - AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP = 2453, - AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM = 2473, - AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP = 2493, - AF_BLUE_STRING_LATIN_SUBS_SMALL = 2513, - AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER = 2549, - AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP = 2569, - AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM = 2600, - AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP = 2629, - AF_BLUE_STRING_LATIN_SUPS_SMALL = 2655, - AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER = 2680, - AF_BLUE_STRING_LISU_TOP = 2691, - AF_BLUE_STRING_LISU_BOTTOM = 2723, - AF_BLUE_STRING_MALAYALAM_TOP = 2755, - AF_BLUE_STRING_MALAYALAM_BOTTOM = 2799, - AF_BLUE_STRING_MYANMAR_TOP = 2831, - AF_BLUE_STRING_MYANMAR_BOTTOM = 2863, - AF_BLUE_STRING_MYANMAR_ASCENDER = 2895, - AF_BLUE_STRING_MYANMAR_DESCENDER = 2923, - AF_BLUE_STRING_NKO_TOP = 2955, - AF_BLUE_STRING_NKO_BOTTOM = 2979, - AF_BLUE_STRING_NKO_SMALL_TOP = 2994, - AF_BLUE_STRING_NKO_SMALL_BOTTOM = 3003, - AF_BLUE_STRING_OL_CHIKI = 3015, - AF_BLUE_STRING_OLD_TURKIC_TOP = 3039, - AF_BLUE_STRING_OLD_TURKIC_BOTTOM = 3054, - AF_BLUE_STRING_OSAGE_CAPITAL_TOP = 3074, - AF_BLUE_STRING_OSAGE_CAPITAL_BOTTOM = 3114, - AF_BLUE_STRING_OSAGE_CAPITAL_DESCENDER = 3144, - AF_BLUE_STRING_OSAGE_SMALL_TOP = 3159, - AF_BLUE_STRING_OSAGE_SMALL_BOTTOM = 3199, - AF_BLUE_STRING_OSAGE_SMALL_ASCENDER = 3239, - AF_BLUE_STRING_OSAGE_SMALL_DESCENDER = 3264, - AF_BLUE_STRING_SINHALA_TOP = 3279, - AF_BLUE_STRING_SINHALA_BOTTOM = 3311, - AF_BLUE_STRING_SINHALA_DESCENDER = 3343, - AF_BLUE_STRING_SUNDANESE_TOP = 3387, - AF_BLUE_STRING_SUNDANESE_BOTTOM = 3411, - AF_BLUE_STRING_SUNDANESE_DESCENDER = 3443, - AF_BLUE_STRING_TAI_VIET_TOP = 3451, - AF_BLUE_STRING_TAI_VIET_BOTTOM = 3471, - AF_BLUE_STRING_TAMIL_TOP = 3483, - AF_BLUE_STRING_TAMIL_BOTTOM = 3515, - AF_BLUE_STRING_TELUGU_TOP = 3547, - AF_BLUE_STRING_TELUGU_BOTTOM = 3575, - AF_BLUE_STRING_THAI_TOP = 3603, - AF_BLUE_STRING_THAI_BOTTOM = 3627, - AF_BLUE_STRING_THAI_ASCENDER = 3655, - AF_BLUE_STRING_THAI_LARGE_ASCENDER = 3667, - AF_BLUE_STRING_THAI_DESCENDER = 3679, - AF_BLUE_STRING_THAI_LARGE_DESCENDER = 3695, - AF_BLUE_STRING_THAI_DIGIT_TOP = 3703, - AF_BLUE_STRING_TIFINAGH = 3715, - af_blue_1_1 = 3746, + AF_BLUE_STRING_CANADIAN_SYLLABICS_TOP = 404, + AF_BLUE_STRING_CANADIAN_SYLLABICS_BOTTOM = 436, + AF_BLUE_STRING_CANADIAN_SYLLABICS_SMALL_TOP = 468, + AF_BLUE_STRING_CANADIAN_SYLLABICS_SMALL_BOTTOM = 500, + AF_BLUE_STRING_CANADIAN_SYLLABICS_SUPS_TOP = 532, + AF_BLUE_STRING_CANADIAN_SYLLABICS_SUPS_BOTTOM = 560, + AF_BLUE_STRING_CHEROKEE_CAPITAL = 592, + AF_BLUE_STRING_CHEROKEE_SMALL_ASCENDER = 624, + AF_BLUE_STRING_CHEROKEE_SMALL = 656, + AF_BLUE_STRING_CHEROKEE_SMALL_DESCENDER = 688, + AF_BLUE_STRING_CYPRIOT_TOP = 704, + AF_BLUE_STRING_CYPRIOT_BOTTOM = 744, + AF_BLUE_STRING_CYPRIOT_SMALL = 779, + AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP = 794, + AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM = 818, + AF_BLUE_STRING_CYRILLIC_SMALL = 842, + AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER = 866, + AF_BLUE_STRING_DESERET_CAPITAL_TOP = 875, + AF_BLUE_STRING_DESERET_CAPITAL_BOTTOM = 900, + AF_BLUE_STRING_DESERET_SMALL_TOP = 925, + AF_BLUE_STRING_DESERET_SMALL_BOTTOM = 950, + AF_BLUE_STRING_DEVANAGARI_BASE = 975, + AF_BLUE_STRING_DEVANAGARI_TOP = 1007, + AF_BLUE_STRING_DEVANAGARI_HEAD = 1039, + AF_BLUE_STRING_DEVANAGARI_BOTTOM = 1071, + AF_BLUE_STRING_ETHIOPIC_TOP = 1079, + AF_BLUE_STRING_ETHIOPIC_BOTTOM = 1111, + AF_BLUE_STRING_GEORGIAN_MKHEDRULI_TOP = 1143, + AF_BLUE_STRING_GEORGIAN_MKHEDRULI_BOTTOM = 1175, + AF_BLUE_STRING_GEORGIAN_MKHEDRULI_ASCENDER = 1207, + AF_BLUE_STRING_GEORGIAN_MKHEDRULI_DESCENDER = 1239, + AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_TOP = 1271, + AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_BOTTOM = 1303, + AF_BLUE_STRING_GEORGIAN_NUSKHURI_TOP = 1335, + AF_BLUE_STRING_GEORGIAN_NUSKHURI_BOTTOM = 1367, + AF_BLUE_STRING_GEORGIAN_NUSKHURI_ASCENDER = 1399, + AF_BLUE_STRING_GEORGIAN_NUSKHURI_DESCENDER = 1431, + AF_BLUE_STRING_GLAGOLITIC_CAPITAL_TOP = 1463, + AF_BLUE_STRING_GLAGOLITIC_CAPITAL_BOTTOM = 1495, + AF_BLUE_STRING_GLAGOLITIC_SMALL_TOP = 1527, + AF_BLUE_STRING_GLAGOLITIC_SMALL_BOTTOM = 1559, + AF_BLUE_STRING_GOTHIC_TOP = 1591, + AF_BLUE_STRING_GOTHIC_BOTTOM = 1631, + AF_BLUE_STRING_GREEK_CAPITAL_TOP = 1651, + AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM = 1672, + AF_BLUE_STRING_GREEK_SMALL_BETA_TOP = 1690, + AF_BLUE_STRING_GREEK_SMALL = 1708, + AF_BLUE_STRING_GREEK_SMALL_DESCENDER = 1732, + AF_BLUE_STRING_GUJARATI_TOP = 1756, + AF_BLUE_STRING_GUJARATI_BOTTOM = 1788, + AF_BLUE_STRING_GUJARATI_ASCENDER = 1820, + AF_BLUE_STRING_GUJARATI_DESCENDER = 1870, + AF_BLUE_STRING_GUJARATI_DIGIT_TOP = 1903, + AF_BLUE_STRING_GURMUKHI_BASE = 1923, + AF_BLUE_STRING_GURMUKHI_HEAD = 1955, + AF_BLUE_STRING_GURMUKHI_TOP = 1987, + AF_BLUE_STRING_GURMUKHI_BOTTOM = 2019, + AF_BLUE_STRING_GURMUKHI_DIGIT_TOP = 2051, + AF_BLUE_STRING_HEBREW_TOP = 2071, + AF_BLUE_STRING_HEBREW_BOTTOM = 2095, + AF_BLUE_STRING_HEBREW_DESCENDER = 2113, + AF_BLUE_STRING_KANNADA_TOP = 2128, + AF_BLUE_STRING_KANNADA_BOTTOM = 2172, + AF_BLUE_STRING_KHMER_TOP = 2204, + AF_BLUE_STRING_KHMER_SUBSCRIPT_TOP = 2228, + AF_BLUE_STRING_KHMER_BOTTOM = 2268, + AF_BLUE_STRING_KHMER_DESCENDER = 2300, + AF_BLUE_STRING_KHMER_LARGE_DESCENDER = 2334, + AF_BLUE_STRING_KHMER_SYMBOLS_WAXING_TOP = 2421, + AF_BLUE_STRING_KHMER_SYMBOLS_WANING_BOTTOM = 2429, + AF_BLUE_STRING_LAO_TOP = 2437, + AF_BLUE_STRING_LAO_BOTTOM = 2469, + AF_BLUE_STRING_LAO_ASCENDER = 2501, + AF_BLUE_STRING_LAO_LARGE_ASCENDER = 2517, + AF_BLUE_STRING_LAO_DESCENDER = 2529, + AF_BLUE_STRING_LATIN_CAPITAL_TOP = 2553, + AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 2569, + AF_BLUE_STRING_LATIN_SMALL_F_TOP = 2585, + AF_BLUE_STRING_LATIN_SMALL_TOP = 2599, + AF_BLUE_STRING_LATIN_SMALL_BOTTOM = 2615, + AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 2631, + AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP = 2641, + AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM = 2661, + AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP = 2681, + AF_BLUE_STRING_LATIN_SUBS_SMALL = 2701, + AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER = 2737, + AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP = 2757, + AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM = 2788, + AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP = 2817, + AF_BLUE_STRING_LATIN_SUPS_SMALL = 2843, + AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER = 2868, + AF_BLUE_STRING_LISU_TOP = 2879, + AF_BLUE_STRING_LISU_BOTTOM = 2911, + AF_BLUE_STRING_MALAYALAM_TOP = 2943, + AF_BLUE_STRING_MALAYALAM_BOTTOM = 2987, + AF_BLUE_STRING_MYANMAR_TOP = 3019, + AF_BLUE_STRING_MYANMAR_BOTTOM = 3051, + AF_BLUE_STRING_MYANMAR_ASCENDER = 3083, + AF_BLUE_STRING_MYANMAR_DESCENDER = 3111, + AF_BLUE_STRING_NKO_TOP = 3143, + AF_BLUE_STRING_NKO_BOTTOM = 3167, + AF_BLUE_STRING_NKO_SMALL_TOP = 3182, + AF_BLUE_STRING_NKO_SMALL_BOTTOM = 3191, + AF_BLUE_STRING_OL_CHIKI = 3203, + AF_BLUE_STRING_OLD_TURKIC_TOP = 3227, + AF_BLUE_STRING_OLD_TURKIC_BOTTOM = 3242, + AF_BLUE_STRING_OSAGE_CAPITAL_TOP = 3262, + AF_BLUE_STRING_OSAGE_CAPITAL_BOTTOM = 3302, + AF_BLUE_STRING_OSAGE_CAPITAL_DESCENDER = 3332, + AF_BLUE_STRING_OSAGE_SMALL_TOP = 3347, + AF_BLUE_STRING_OSAGE_SMALL_BOTTOM = 3387, + AF_BLUE_STRING_OSAGE_SMALL_ASCENDER = 3427, + AF_BLUE_STRING_OSAGE_SMALL_DESCENDER = 3452, + AF_BLUE_STRING_SINHALA_TOP = 3467, + AF_BLUE_STRING_SINHALA_BOTTOM = 3499, + AF_BLUE_STRING_SINHALA_DESCENDER = 3531, + AF_BLUE_STRING_SUNDANESE_TOP = 3575, + AF_BLUE_STRING_SUNDANESE_BOTTOM = 3599, + AF_BLUE_STRING_SUNDANESE_DESCENDER = 3631, + AF_BLUE_STRING_TAI_VIET_TOP = 3639, + AF_BLUE_STRING_TAI_VIET_BOTTOM = 3659, + AF_BLUE_STRING_TAMIL_TOP = 3671, + AF_BLUE_STRING_TAMIL_BOTTOM = 3703, + AF_BLUE_STRING_TELUGU_TOP = 3735, + AF_BLUE_STRING_TELUGU_BOTTOM = 3763, + AF_BLUE_STRING_THAI_TOP = 3791, + AF_BLUE_STRING_THAI_BOTTOM = 3815, + AF_BLUE_STRING_THAI_ASCENDER = 3843, + AF_BLUE_STRING_THAI_LARGE_ASCENDER = 3855, + AF_BLUE_STRING_THAI_DESCENDER = 3867, + AF_BLUE_STRING_THAI_LARGE_DESCENDER = 3883, + AF_BLUE_STRING_THAI_DIGIT_TOP = 3891, + AF_BLUE_STRING_TIFINAGH = 3903, + af_blue_1_1 = 3934, #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, @@ -286,43 +292,44 @@ FT_BEGIN_HEADER AF_BLUE_STRINGSET_ARMN = 9, AF_BLUE_STRINGSET_AVST = 16, AF_BLUE_STRINGSET_BENG = 19, - AF_BLUE_STRINGSET_CHER = 24, - AF_BLUE_STRINGSET_CPRT = 31, - AF_BLUE_STRINGSET_CYRL = 36, - AF_BLUE_STRINGSET_DEVA = 42, - AF_BLUE_STRINGSET_DSRT = 48, - AF_BLUE_STRINGSET_ETHI = 53, - AF_BLUE_STRINGSET_GEOR = 56, - AF_BLUE_STRINGSET_GEOK = 61, - AF_BLUE_STRINGSET_GLAG = 68, - AF_BLUE_STRINGSET_GOTH = 73, - AF_BLUE_STRINGSET_GREK = 76, - AF_BLUE_STRINGSET_GUJR = 83, - AF_BLUE_STRINGSET_GURU = 89, - AF_BLUE_STRINGSET_HEBR = 95, - AF_BLUE_STRINGSET_KNDA = 99, - AF_BLUE_STRINGSET_KHMR = 102, - AF_BLUE_STRINGSET_KHMS = 108, - AF_BLUE_STRINGSET_LAO = 111, - AF_BLUE_STRINGSET_LATN = 117, - AF_BLUE_STRINGSET_LATB = 124, - AF_BLUE_STRINGSET_LATP = 131, - AF_BLUE_STRINGSET_LISU = 138, - AF_BLUE_STRINGSET_MLYM = 141, - AF_BLUE_STRINGSET_MYMR = 144, - AF_BLUE_STRINGSET_NKOO = 149, - AF_BLUE_STRINGSET_NONE = 154, - AF_BLUE_STRINGSET_OLCK = 155, - AF_BLUE_STRINGSET_ORKH = 158, - AF_BLUE_STRINGSET_OSGE = 161, - AF_BLUE_STRINGSET_SINH = 169, - AF_BLUE_STRINGSET_SUND = 173, - AF_BLUE_STRINGSET_TAML = 177, - AF_BLUE_STRINGSET_TAVT = 180, - AF_BLUE_STRINGSET_TELU = 183, - AF_BLUE_STRINGSET_THAI = 186, - AF_BLUE_STRINGSET_TFNG = 194, - af_blue_2_1 = 197, + AF_BLUE_STRINGSET_CANADIAN_SYLLABICS = 24, + AF_BLUE_STRINGSET_CHER = 31, + AF_BLUE_STRINGSET_CPRT = 38, + AF_BLUE_STRINGSET_CYRL = 43, + AF_BLUE_STRINGSET_DEVA = 49, + AF_BLUE_STRINGSET_DSRT = 55, + AF_BLUE_STRINGSET_ETHI = 60, + AF_BLUE_STRINGSET_GEOR = 63, + AF_BLUE_STRINGSET_GEOK = 68, + AF_BLUE_STRINGSET_GLAG = 75, + AF_BLUE_STRINGSET_GOTH = 80, + AF_BLUE_STRINGSET_GREK = 83, + AF_BLUE_STRINGSET_GUJR = 90, + AF_BLUE_STRINGSET_GURU = 96, + AF_BLUE_STRINGSET_HEBR = 102, + AF_BLUE_STRINGSET_KNDA = 106, + AF_BLUE_STRINGSET_KHMR = 109, + AF_BLUE_STRINGSET_KHMS = 115, + AF_BLUE_STRINGSET_LAO = 118, + AF_BLUE_STRINGSET_LATN = 124, + AF_BLUE_STRINGSET_LATB = 131, + AF_BLUE_STRINGSET_LATP = 138, + AF_BLUE_STRINGSET_LISU = 145, + AF_BLUE_STRINGSET_MLYM = 148, + AF_BLUE_STRINGSET_MYMR = 151, + AF_BLUE_STRINGSET_NKOO = 156, + AF_BLUE_STRINGSET_NONE = 161, + AF_BLUE_STRINGSET_OLCK = 162, + AF_BLUE_STRINGSET_ORKH = 165, + AF_BLUE_STRINGSET_OSGE = 168, + AF_BLUE_STRINGSET_SINH = 176, + AF_BLUE_STRINGSET_SUND = 180, + AF_BLUE_STRINGSET_TAML = 184, + AF_BLUE_STRINGSET_TAVT = 187, + AF_BLUE_STRINGSET_TELU = 190, + AF_BLUE_STRINGSET_THAI = 193, + AF_BLUE_STRINGSET_TFNG = 201, + af_blue_2_1 = 204, #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 66acf825e..1ab83f5ed 100644 --- a/src/autofit/afranges.c +++ b/src/autofit/afranges.c @@ -149,6 +149,19 @@ }; + const AF_Script_UniRangeRec af_cans_uniranges[] = + { + AF_UNIRANGE_REC( 0x1400, 0x167F ), /* Unified Canadian Aboriginal Syllabics */ + AF_UNIRANGE_REC( 0x18B0, 0x18FF ), /* Unified Canadian Aboriginal Syllabics Extended */ + AF_UNIRANGE_REC( 0, 0 ) + }; + + const AF_Script_UniRangeRec af_cans_nonbase_uniranges[] = + { + AF_UNIRANGE_REC( 0, 0 ) + }; + + const AF_Script_UniRangeRec af_cher_uniranges[] = { AF_UNIRANGE_REC( 0x13A0, 0x13FF ), /* Cherokee */ diff --git a/src/autofit/afscript.h b/src/autofit/afscript.h index 239a9cf24..120725d9c 100644 --- a/src/autofit/afscript.h +++ b/src/autofit/afscript.h @@ -61,6 +61,12 @@ HINTING_TOP_TO_BOTTOM, "\xE0\xA7\xA6 \xE0\xA7\xAA" ) /* ০ ৪ */ + SCRIPT( cans, CANS, + "Canadian Syllabics", + HB_SCRIPT_CANADIAN_SYLLABICS, + HINTING_BOTTOM_TO_TOP, + "\xE1\x91\x8C \xE1\x93\x9A" ) /* ᑌ ᓚ */ + SCRIPT( cher, CHER, "Cherokee", HB_SCRIPT_CHEROKEE, diff --git a/src/autofit/afstyles.h b/src/autofit/afstyles.h index 257f46779..8c81db5de 100644 --- a/src/autofit/afstyles.h +++ b/src/autofit/afstyles.h @@ -118,6 +118,13 @@ AF_BLUE_STRINGSET_BENG, AF_COVERAGE_DEFAULT ) + STYLE( cans_dflt, CANS_DFLT, + "Canadian Syllabics default style", + AF_WRITING_SYSTEM_LATIN, + AF_SCRIPT_CANS, + AF_BLUE_STRINGSET_CANADIAN_SYLLABICS, + AF_COVERAGE_DEFAULT ) + STYLE( cher_dflt, CHER_DFLT, "Cherokee default style", AF_WRITING_SYSTEM_LATIN,