shithub: freetype+ttf2subf

Download patch

ref: 14ae17a25f787c966fa9e532499c93461181b81b
parent: 60bf264ee25dc08403dddb3e4cd2bf950cda9e90
author: Sascha Brawer <[email protected]>
date: Wed May 3 14:35:13 EDT 2017

[autofit] Add support for Avestan script.

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

* src/autofit/afscript.h: Add Avestan standard character.

* src/autofit/afranges.c, src/autofit/afstyles.h: Add Avestan data.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2017-05-03  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
+	[autofit] Add support for Avestan script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Avestan.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Avestan standard character.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Avestan data.
+
 2017-05-02  Behdad Esfahbod  <[email protected]>
 
 	[truetype] Make `IUP' gvar deltas do the same as Apple (#50832).
--- a/src/autofit/afblue.c
+++ b/src/autofit/afblue.c
@@ -52,6 +52,10 @@
     '\0',
     '\xD5', '\xA2', ' ', '\xD5', '\xA8', ' ', '\xD5', '\xAB', ' ', '\xD5', '\xAC', ' ', '\xD5', '\xB2', ' ', '\xD5', '\xBA', ' ', '\xD6', '\x83', ' ', '\xD6', '\x81',  /* բ ը ի լ ղ պ փ ց */
     '\0',
+    '\xF0', '\x90', '\xAC', '\x80', ' ', '\xF0', '\x90', '\xAC', '\x81', ' ', '\xF0', '\x90', '\xAC', '\x90', ' ', '\xF0', '\x90', '\xAC', '\x9B',  /* 𐬀 𐬁 𐬐 𐬛 */
+    '\0',
+    '\xF0', '\x90', '\xAC', '\x80', ' ', '\xF0', '\x90', '\xAC', '\x81',  /* 𐬀 𐬁 */
+    '\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',  /* ই ট ঠ ি ী ৈ ৗ */
@@ -373,6 +377,9 @@
     { AF_BLUE_STRING_ARMENIAN_SMALL_BOTTOM,    0                                 },
     { AF_BLUE_STRING_ARMENIAN_SMALL_DESCENDER, 0                                 },
     { AF_BLUE_STRING_MAX,                      0                                 },
+    { AF_BLUE_STRING_AVESTAN_TOP,    AF_BLUE_PROPERTY_LATIN_TOP },
+    { AF_BLUE_STRING_AVESTAN_BOTTOM, 0                          },
+    { AF_BLUE_STRING_MAX,            0                          },
     { AF_BLUE_STRING_BENGALI_TOP,  AF_BLUE_PROPERTY_LATIN_TOP        },
     { AF_BLUE_STRING_BENGALI_HEAD, AF_BLUE_PROPERTY_LATIN_TOP        },
     { AF_BLUE_STRING_BENGALI_BASE, AF_BLUE_PROPERTY_LATIN_TOP      |
--- a/src/autofit/afblue.dat
+++ b/src/autofit/afblue.dat
@@ -108,6 +108,11 @@
   AF_BLUE_STRING_ARMENIAN_SMALL_DESCENDER
     "բ ը ի լ ղ պ փ ց"
 
+  AF_BLUE_STRING_AVESTAN_TOP
+    "𐬀 𐬁 𐬐 𐬛"
+  AF_BLUE_STRING_AVESTAN_BOTTOM
+    "𐬀 𐬁"
+
   AF_BLUE_STRING_BENGALI_BASE
     "অ ড ত ন ব ভ ল ক"
   AF_BLUE_STRING_BENGALI_TOP
@@ -592,6 +597,11 @@
     { AF_BLUE_STRING_ARMENIAN_SMALL_BOTTOM,    0                                 }
     { AF_BLUE_STRING_ARMENIAN_SMALL_DESCENDER, 0                                 }
     { AF_BLUE_STRING_MAX,                      0                                 }
+
+  AF_BLUE_STRINGSET_AVST
+    { AF_BLUE_STRING_AVESTAN_TOP,    AF_BLUE_PROPERTY_LATIN_TOP }
+    { AF_BLUE_STRING_AVESTAN_BOTTOM, 0                          }
+    { AF_BLUE_STRING_MAX,            0                          }
 
   AF_BLUE_STRINGSET_BENG
     { AF_BLUE_STRING_BENGALI_TOP,  AF_BLUE_PROPERTY_LATIN_TOP        }
--- a/src/autofit/afblue.h
+++ b/src/autofit/afblue.h
@@ -90,134 +90,136 @@
     AF_BLUE_STRING_ARMENIAN_SMALL_TOP = 210,
     AF_BLUE_STRING_ARMENIAN_SMALL_BOTTOM = 234,
     AF_BLUE_STRING_ARMENIAN_SMALL_DESCENDER = 258,
-    AF_BLUE_STRING_BENGALI_BASE = 282,
-    AF_BLUE_STRING_BENGALI_TOP = 314,
-    AF_BLUE_STRING_BENGALI_HEAD = 342,
-    AF_BLUE_STRING_CHEROKEE_CAPITAL = 374,
-    AF_BLUE_STRING_CHEROKEE_SMALL_ASCENDER = 406,
-    AF_BLUE_STRING_CHEROKEE_SMALL = 438,
-    AF_BLUE_STRING_CHEROKEE_SMALL_DESCENDER = 470,
-    AF_BLUE_STRING_CYPRIOT_TOP = 486,
-    AF_BLUE_STRING_CYPRIOT_BOTTOM = 526,
-    AF_BLUE_STRING_CYPRIOT_SMALL = 561,
-    AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP = 576,
-    AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM = 600,
-    AF_BLUE_STRING_CYRILLIC_SMALL = 624,
-    AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER = 648,
-    AF_BLUE_STRING_DESERET_CAPITAL_TOP = 657,
-    AF_BLUE_STRING_DESERET_CAPITAL_BOTTOM = 682,
-    AF_BLUE_STRING_DESERET_SMALL_TOP = 707,
-    AF_BLUE_STRING_DESERET_SMALL_BOTTOM = 732,
-    AF_BLUE_STRING_DEVANAGARI_BASE = 757,
-    AF_BLUE_STRING_DEVANAGARI_TOP = 789,
-    AF_BLUE_STRING_DEVANAGARI_HEAD = 821,
-    AF_BLUE_STRING_DEVANAGARI_BOTTOM = 853,
-    AF_BLUE_STRING_ETHIOPIC_TOP = 861,
-    AF_BLUE_STRING_ETHIOPIC_BOTTOM = 893,
-    AF_BLUE_STRING_GEORGIAN_MKHEDRULI_TOP = 925,
-    AF_BLUE_STRING_GEORGIAN_MKHEDRULI_BOTTOM = 957,
-    AF_BLUE_STRING_GEORGIAN_MKHEDRULI_ASCENDER = 989,
-    AF_BLUE_STRING_GEORGIAN_MKHEDRULI_DESCENDER = 1021,
-    AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_TOP = 1053,
-    AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_BOTTOM = 1085,
-    AF_BLUE_STRING_GEORGIAN_NUSKHURI_TOP = 1117,
-    AF_BLUE_STRING_GEORGIAN_NUSKHURI_BOTTOM = 1149,
-    AF_BLUE_STRING_GEORGIAN_NUSKHURI_ASCENDER = 1181,
-    AF_BLUE_STRING_GEORGIAN_NUSKHURI_DESCENDER = 1213,
-    AF_BLUE_STRING_GLAGOLITIC_CAPITAL_TOP = 1245,
-    AF_BLUE_STRING_GLAGOLITIC_CAPITAL_BOTTOM = 1277,
-    AF_BLUE_STRING_GLAGOLITIC_SMALL_TOP = 1309,
-    AF_BLUE_STRING_GLAGOLITIC_SMALL_BOTTOM = 1341,
-    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_OLD_TURKIC_TOP = 3009,
-    AF_BLUE_STRING_OLD_TURKIC_BOTTOM = 3024,
-    AF_BLUE_STRING_OSAGE_CAPITAL_TOP = 3044,
-    AF_BLUE_STRING_OSAGE_CAPITAL_BOTTOM = 3084,
-    AF_BLUE_STRING_OSAGE_CAPITAL_DESCENDER = 3114,
-    AF_BLUE_STRING_OSAGE_SMALL_TOP = 3129,
-    AF_BLUE_STRING_OSAGE_SMALL_BOTTOM = 3169,
-    AF_BLUE_STRING_OSAGE_SMALL_ASCENDER = 3209,
-    AF_BLUE_STRING_OSAGE_SMALL_DESCENDER = 3234,
-    AF_BLUE_STRING_SINHALA_TOP = 3249,
-    AF_BLUE_STRING_SINHALA_BOTTOM = 3281,
-    AF_BLUE_STRING_SINHALA_DESCENDER = 3313,
-    AF_BLUE_STRING_TAI_VIET_TOP = 3357,
-    AF_BLUE_STRING_TAI_VIET_BOTTOM = 3377,
-    AF_BLUE_STRING_TAMIL_TOP = 3389,
-    AF_BLUE_STRING_TAMIL_BOTTOM = 3421,
-    AF_BLUE_STRING_TELUGU_TOP = 3453,
-    AF_BLUE_STRING_TELUGU_BOTTOM = 3481,
-    AF_BLUE_STRING_THAI_TOP = 3509,
-    AF_BLUE_STRING_THAI_BOTTOM = 3533,
-    AF_BLUE_STRING_THAI_ASCENDER = 3561,
-    AF_BLUE_STRING_THAI_LARGE_ASCENDER = 3573,
-    AF_BLUE_STRING_THAI_DESCENDER = 3585,
-    AF_BLUE_STRING_THAI_LARGE_DESCENDER = 3601,
-    AF_BLUE_STRING_THAI_DIGIT_TOP = 3609,
-    AF_BLUE_STRING_TIFINAGH = 3621,
-    af_blue_1_1 = 3652,
+    AF_BLUE_STRING_AVESTAN_TOP = 282,
+    AF_BLUE_STRING_AVESTAN_BOTTOM = 302,
+    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_TAI_VIET_TOP = 3387,
+    AF_BLUE_STRING_TAI_VIET_BOTTOM = 3407,
+    AF_BLUE_STRING_TAMIL_TOP = 3419,
+    AF_BLUE_STRING_TAMIL_BOTTOM = 3451,
+    AF_BLUE_STRING_TELUGU_TOP = 3483,
+    AF_BLUE_STRING_TELUGU_BOTTOM = 3511,
+    AF_BLUE_STRING_THAI_TOP = 3539,
+    AF_BLUE_STRING_THAI_BOTTOM = 3563,
+    AF_BLUE_STRING_THAI_ASCENDER = 3591,
+    AF_BLUE_STRING_THAI_LARGE_ASCENDER = 3603,
+    AF_BLUE_STRING_THAI_DESCENDER = 3615,
+    AF_BLUE_STRING_THAI_LARGE_DESCENDER = 3631,
+    AF_BLUE_STRING_THAI_DIGIT_TOP = 3639,
+    AF_BLUE_STRING_TIFINAGH = 3651,
+    af_blue_1_1 = 3682,
 #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,
@@ -279,43 +281,44 @@
     AF_BLUE_STRINGSET_ADLM = 0,
     AF_BLUE_STRINGSET_ARAB = 5,
     AF_BLUE_STRINGSET_ARMN = 9,
-    AF_BLUE_STRINGSET_BENG = 16,
-    AF_BLUE_STRINGSET_CHER = 21,
-    AF_BLUE_STRINGSET_CPRT = 28,
-    AF_BLUE_STRINGSET_CYRL = 33,
-    AF_BLUE_STRINGSET_DEVA = 39,
-    AF_BLUE_STRINGSET_DSRT = 45,
-    AF_BLUE_STRINGSET_ETHI = 50,
-    AF_BLUE_STRINGSET_GEOR = 53,
-    AF_BLUE_STRINGSET_GEOK = 58,
-    AF_BLUE_STRINGSET_GLAG = 65,
-    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_ORKH = 155,
-    AF_BLUE_STRINGSET_OSGE = 158,
-    AF_BLUE_STRINGSET_SINH = 166,
-    AF_BLUE_STRINGSET_TAML = 170,
-    AF_BLUE_STRINGSET_TAVT = 173,
-    AF_BLUE_STRINGSET_TELU = 176,
-    AF_BLUE_STRINGSET_THAI = 179,
-    AF_BLUE_STRINGSET_TFNG = 187,
-    af_blue_2_1 = 190,
+    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_TAML = 173,
+    AF_BLUE_STRINGSET_TAVT = 176,
+    AF_BLUE_STRINGSET_TELU = 179,
+    AF_BLUE_STRINGSET_THAI = 182,
+    AF_BLUE_STRINGSET_TFNG = 190,
+    af_blue_2_1 = 193,
 #ifdef AF_CONFIG_OPTION_CJK
     AF_BLUE_STRINGSET_HANI = af_blue_2_1 + 0,
     af_blue_2_1_1 = af_blue_2_1 + 2,
--- a/src/autofit/afranges.c
+++ b/src/autofit/afranges.c
@@ -119,6 +119,19 @@
   };
 
 
+  const AF_Script_UniRangeRec  af_avst_uniranges[] =
+  {
+    AF_UNIRANGE_REC( 0x10B00,  0x10B3F ),  /* Avestan */
+    AF_UNIRANGE_REC(       0,        0 )
+  };
+
+  const AF_Script_UniRangeRec  af_avst_nonbase_uniranges[] =
+  {
+    AF_UNIRANGE_REC( 0x10B39,  0x10B3F ),
+    AF_UNIRANGE_REC(       0,        0 )
+  };
+
+
   const AF_Script_UniRangeRec  af_beng_uniranges[] =
   {
     AF_UNIRANGE_REC(  0x0980,  0x09FF ),  /* Bengali */
--- a/src/autofit/afscript.h
+++ b/src/autofit/afscript.h
@@ -48,6 +48,12 @@
           HINTING_BOTTOM_TO_TOP,
           "\xD5\xBD \xD5\x8D" ) /* ս Ս */
 
+  SCRIPT( avst, AVST,
+          "Avestan",
+          HB_SCRIPT_AVESTAN,
+          HINTING_BOTTOM_TO_TOP,
+          "\xF0\x90\xAC\x9A" ) /* 𐬚 */
+
   /* there are no simple forms for letters; we thus use two digit shapes */
   SCRIPT( beng, BENG,
           "Bengali",
--- a/src/autofit/afstyles.h
+++ b/src/autofit/afstyles.h
@@ -104,6 +104,13 @@
          AF_BLUE_STRINGSET_ARMN,
          AF_COVERAGE_DEFAULT )
 
+  STYLE( avst_dflt, AVST_DFLT,
+         "Avestan default style",
+         AF_WRITING_SYSTEM_LATIN,
+         AF_SCRIPT_AVST,
+         AF_BLUE_STRINGSET_AVST,
+         AF_COVERAGE_DEFAULT )
+
   STYLE( beng_dflt, BENG_DFLT,
          "Bengali default style",
          AF_WRITING_SYSTEM_LATIN,