Commit d19859f16f2e760f71ff8631ff36a96d7d3965f3

Sascha Brawer 2017-05-10T23:38:05

[autofit] Add support for Kayah Li script. * src/autofit/afblue.dat: Add blue zone data for Kayah Li. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Kayah Li standard character. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Kayah Li data.

diff --git a/ChangeLog b/ChangeLog
index 29c7d47..14efeef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,18 @@
 2017-05-10  Sascha Brawer  <sascha@google.com>
 	    Werner Lemberg  <wl@gnu.org
 
+	[autofit] Add support for Kayah Li script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Kayah Li.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Kayah Li standard character.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Kayah Li data.
+
+2017-05-10  Sascha Brawer  <sascha@google.com>
+	    Werner Lemberg  <wl@gnu.org
+
 	[autofit] Add support for Bamum script.
 
 	* src/autofit/afblue.dat: Add blue zone data for Bamum.
diff --git a/src/autofit/afblue.c b/src/autofit/afblue.c
index ced3a77..6007649 100644
--- a/src/autofit/afblue.c
+++ b/src/autofit/afblue.c
@@ -212,6 +212,16 @@
     '\0',
     '\xE0', '\xB2', '\x85', ' ', '\xE0', '\xB2', '\x89', ' ', '\xE0', '\xB2', '\x8E', ' ', '\xE0', '\xB2', '\xB2', ' ', '\xE0', '\xB3', '\xA6', ' ', '\xE0', '\xB3', '\xA8', ' ', '\xE0', '\xB3', '\xAC', ' ', '\xE0', '\xB3', '\xAD',  /* ಅ ಉ ಎ ಲ ೦ ೨ ೬ ೭ */
     '\0',
+    '\xEA', '\xA4', '\x85', ' ', '\xEA', '\xA4', '\x8F', ' ', '\xEA', '\xA4', '\x81', ' ', '\xEA', '\xA4', '\x8B', ' ', '\xEA', '\xA4', '\x80', ' ', '\xEA', '\xA4', '\x8D',  /* ꤅ ꤏ ꤁ ꤋ ꤀ ꤍ */
+    '\0',
+    '\xEA', '\xA4', '\x88', ' ', '\xEA', '\xA4', '\x98', ' ', '\xEA', '\xA4', '\x80', ' ', '\xEA', '\xA4', '\x8D', ' ', '\xEA', '\xA4', '\xA2',  /* ꤈ ꤘ ꤀ ꤍ ꤢ */
+    '\0',
+    '\xEA', '\xA4', '\x96', ' ', '\xEA', '\xA4', '\xA1',  /* ꤖ ꤡ */
+    '\0',
+    '\xEA', '\xA4', '\x91', ' ', '\xEA', '\xA4', '\x9C', ' ', '\xEA', '\xA4', '\x9E',  /* ꤑ ꤜ ꤞ */
+    '\0',
+    '\xEA', '\xA4', '\x91', '\xEA', '\xA4', '\xAC', ' ', '\xEA', '\xA4', '\x9C', '\xEA', '\xA4', '\xAD', ' ', '\xEA', '\xA4', '\x94', '\xEA', '\xA4', '\xAC',  /* ꤑ꤬ ꤜ꤭ ꤔ꤬ */
+    '\0',
     '\xE1', '\x9E', '\x81', ' ', '\xE1', '\x9E', '\x91', ' ', '\xE1', '\x9E', '\x93', ' ', '\xE1', '\x9E', '\xA7', ' ', '\xE1', '\x9E', '\xA9', ' ', '\xE1', '\x9E', '\xB6',  /* ខ ទ ន ឧ ឩ ា */
     '\0',
     '\xE1', '\x9E', '\x80', '\xE1', '\x9F', '\x92', '\xE1', '\x9E', '\x80', ' ', '\xE1', '\x9E', '\x80', '\xE1', '\x9F', '\x92', '\xE1', '\x9E', '\x81', ' ', '\xE1', '\x9E', '\x80', '\xE1', '\x9F', '\x92', '\xE1', '\x9E', '\x82', ' ', '\xE1', '\x9E', '\x80', '\xE1', '\x9F', '\x92', '\xE1', '\x9E', '\x90',  /* ក្ក ក្ខ ក្គ ក្ថ */
@@ -565,6 +575,13 @@
     { AF_BLUE_STRING_HEBREW_BOTTOM,    0                             },
     { AF_BLUE_STRING_HEBREW_DESCENDER, 0                             },
     { AF_BLUE_STRING_MAX,              0                             },
+    { AF_BLUE_STRING_KAYAH_LI_TOP,             AF_BLUE_PROPERTY_LATIN_TOP      |
+                                               AF_BLUE_PROPERTY_LATIN_X_HEIGHT   },
+    { AF_BLUE_STRING_KAYAH_LI_BOTTOM,          0                                 },
+    { AF_BLUE_STRING_KAYAH_LI_ASCENDER,        AF_BLUE_PROPERTY_LATIN_TOP        },
+    { AF_BLUE_STRING_KAYAH_LI_DESCENDER,       0                                 },
+    { AF_BLUE_STRING_KAYAH_LI_LARGE_DESCENDER, 0                                 },
+    { AF_BLUE_STRING_MAX,                      0                                 },
     { AF_BLUE_STRING_KANNADA_TOP,    AF_BLUE_PROPERTY_LATIN_TOP },
     { AF_BLUE_STRING_KANNADA_BOTTOM, 0                          },
     { AF_BLUE_STRING_MAX,            0                          },
diff --git a/src/autofit/afblue.dat b/src/autofit/afblue.dat
index 91626a0..ae6fff8 100644
--- a/src/autofit/afblue.dat
+++ b/src/autofit/afblue.dat
@@ -294,6 +294,17 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
   AF_BLUE_STRING_KANNADA_BOTTOM
     "ಅ ಉ ಎ ಲ ೦ ೨ ೬ ೭"
 
+  AF_BLUE_STRING_KAYAH_LI_TOP
+    "꤅ ꤏ ꤁ ꤋ ꤀ ꤍ"
+  AF_BLUE_STRING_KAYAH_LI_BOTTOM
+    "꤈ ꤘ ꤀ ꤍ ꤢ"
+  AF_BLUE_STRING_KAYAH_LI_ASCENDER
+    "ꤖ ꤡ"
+  AF_BLUE_STRING_KAYAH_LI_DESCENDER
+    "ꤑ ꤜ ꤞ"
+  AF_BLUE_STRING_KAYAH_LI_LARGE_DESCENDER
+    "ꤑ꤬ ꤜ꤭ ꤔ꤬"
+
   AF_BLUE_STRING_KHMER_TOP
     "ខ ទ ន ឧ ឩ ា"
   AF_BLUE_STRING_KHMER_SUBSCRIPT_TOP
@@ -839,6 +850,15 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
     { AF_BLUE_STRING_HEBREW_DESCENDER, 0                             }
     { AF_BLUE_STRING_MAX,              0                             }
 
+  AF_BLUE_STRINGSET_KALI
+    { AF_BLUE_STRING_KAYAH_LI_TOP,             AF_BLUE_PROPERTY_LATIN_TOP      |
+                                               AF_BLUE_PROPERTY_LATIN_X_HEIGHT   }
+    { AF_BLUE_STRING_KAYAH_LI_BOTTOM,          0                                 }
+    { AF_BLUE_STRING_KAYAH_LI_ASCENDER,        AF_BLUE_PROPERTY_LATIN_TOP        }
+    { AF_BLUE_STRING_KAYAH_LI_DESCENDER,       0                                 }
+    { AF_BLUE_STRING_KAYAH_LI_LARGE_DESCENDER, 0                                 }
+    { AF_BLUE_STRING_MAX,                      0                                 }
+
   AF_BLUE_STRINGSET_KNDA
     { AF_BLUE_STRING_KANNADA_TOP,    AF_BLUE_PROPERTY_LATIN_TOP }
     { AF_BLUE_STRING_KANNADA_BOTTOM, 0                          }
diff --git a/src/autofit/afblue.h b/src/autofit/afblue.h
index 4915f68..a9b4626 100644
--- a/src/autofit/afblue.h
+++ b/src/autofit/afblue.h
@@ -170,88 +170,93 @@ FT_BEGIN_HEADER
     AF_BLUE_STRING_HEBREW_DESCENDER = 2444,
     AF_BLUE_STRING_KANNADA_TOP = 2459,
     AF_BLUE_STRING_KANNADA_BOTTOM = 2503,
-    AF_BLUE_STRING_KHMER_TOP = 2535,
-    AF_BLUE_STRING_KHMER_SUBSCRIPT_TOP = 2559,
-    AF_BLUE_STRING_KHMER_BOTTOM = 2599,
-    AF_BLUE_STRING_KHMER_DESCENDER = 2631,
-    AF_BLUE_STRING_KHMER_LARGE_DESCENDER = 2665,
-    AF_BLUE_STRING_KHMER_SYMBOLS_WAXING_TOP = 2752,
-    AF_BLUE_STRING_KHMER_SYMBOLS_WANING_BOTTOM = 2760,
-    AF_BLUE_STRING_LAO_TOP = 2768,
-    AF_BLUE_STRING_LAO_BOTTOM = 2800,
-    AF_BLUE_STRING_LAO_ASCENDER = 2832,
-    AF_BLUE_STRING_LAO_LARGE_ASCENDER = 2848,
-    AF_BLUE_STRING_LAO_DESCENDER = 2860,
-    AF_BLUE_STRING_LATIN_CAPITAL_TOP = 2884,
-    AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 2900,
-    AF_BLUE_STRING_LATIN_SMALL_F_TOP = 2916,
-    AF_BLUE_STRING_LATIN_SMALL_TOP = 2930,
-    AF_BLUE_STRING_LATIN_SMALL_BOTTOM = 2946,
-    AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 2962,
-    AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP = 2972,
-    AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM = 2992,
-    AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP = 3012,
-    AF_BLUE_STRING_LATIN_SUBS_SMALL = 3032,
-    AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER = 3068,
-    AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP = 3088,
-    AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM = 3119,
-    AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP = 3148,
-    AF_BLUE_STRING_LATIN_SUPS_SMALL = 3174,
-    AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER = 3199,
-    AF_BLUE_STRING_LISU_TOP = 3210,
-    AF_BLUE_STRING_LISU_BOTTOM = 3242,
-    AF_BLUE_STRING_MALAYALAM_TOP = 3274,
-    AF_BLUE_STRING_MALAYALAM_BOTTOM = 3318,
-    AF_BLUE_STRING_MYANMAR_TOP = 3350,
-    AF_BLUE_STRING_MYANMAR_BOTTOM = 3382,
-    AF_BLUE_STRING_MYANMAR_ASCENDER = 3414,
-    AF_BLUE_STRING_MYANMAR_DESCENDER = 3442,
-    AF_BLUE_STRING_NKO_TOP = 3474,
-    AF_BLUE_STRING_NKO_BOTTOM = 3498,
-    AF_BLUE_STRING_NKO_SMALL_TOP = 3513,
-    AF_BLUE_STRING_NKO_SMALL_BOTTOM = 3522,
-    AF_BLUE_STRING_OL_CHIKI = 3534,
-    AF_BLUE_STRING_OLD_TURKIC_TOP = 3558,
-    AF_BLUE_STRING_OLD_TURKIC_BOTTOM = 3573,
-    AF_BLUE_STRING_OSAGE_CAPITAL_TOP = 3593,
-    AF_BLUE_STRING_OSAGE_CAPITAL_BOTTOM = 3633,
-    AF_BLUE_STRING_OSAGE_CAPITAL_DESCENDER = 3663,
-    AF_BLUE_STRING_OSAGE_SMALL_TOP = 3678,
-    AF_BLUE_STRING_OSAGE_SMALL_BOTTOM = 3718,
-    AF_BLUE_STRING_OSAGE_SMALL_ASCENDER = 3758,
-    AF_BLUE_STRING_OSAGE_SMALL_DESCENDER = 3783,
-    AF_BLUE_STRING_OSMANYA_TOP = 3798,
-    AF_BLUE_STRING_OSMANYA_BOTTOM = 3838,
-    AF_BLUE_STRING_SAURASHTRA_TOP = 3878,
-    AF_BLUE_STRING_SAURASHTRA_BOTTOM = 3910,
-    AF_BLUE_STRING_SHAVIAN_TOP = 3930,
-    AF_BLUE_STRING_SHAVIAN_BOTTOM = 3940,
-    AF_BLUE_STRING_SHAVIAN_DESCENDER = 3965,
-    AF_BLUE_STRING_SHAVIAN_SMALL_TOP = 3975,
-    AF_BLUE_STRING_SHAVIAN_SMALL_BOTTOM = 4010,
-    AF_BLUE_STRING_SINHALA_TOP = 4025,
-    AF_BLUE_STRING_SINHALA_BOTTOM = 4057,
-    AF_BLUE_STRING_SINHALA_DESCENDER = 4089,
-    AF_BLUE_STRING_SUNDANESE_TOP = 4133,
-    AF_BLUE_STRING_SUNDANESE_BOTTOM = 4157,
-    AF_BLUE_STRING_SUNDANESE_DESCENDER = 4189,
-    AF_BLUE_STRING_TAI_VIET_TOP = 4197,
-    AF_BLUE_STRING_TAI_VIET_BOTTOM = 4217,
-    AF_BLUE_STRING_TAMIL_TOP = 4229,
-    AF_BLUE_STRING_TAMIL_BOTTOM = 4261,
-    AF_BLUE_STRING_TELUGU_TOP = 4293,
-    AF_BLUE_STRING_TELUGU_BOTTOM = 4321,
-    AF_BLUE_STRING_THAI_TOP = 4349,
-    AF_BLUE_STRING_THAI_BOTTOM = 4373,
-    AF_BLUE_STRING_THAI_ASCENDER = 4401,
-    AF_BLUE_STRING_THAI_LARGE_ASCENDER = 4413,
-    AF_BLUE_STRING_THAI_DESCENDER = 4425,
-    AF_BLUE_STRING_THAI_LARGE_DESCENDER = 4441,
-    AF_BLUE_STRING_THAI_DIGIT_TOP = 4449,
-    AF_BLUE_STRING_TIFINAGH = 4461,
-    AF_BLUE_STRING_VAI_TOP = 4493,
-    AF_BLUE_STRING_VAI_BOTTOM = 4525,
-    af_blue_1_1 = 4556,
+    AF_BLUE_STRING_KAYAH_LI_TOP = 2535,
+    AF_BLUE_STRING_KAYAH_LI_BOTTOM = 2559,
+    AF_BLUE_STRING_KAYAH_LI_ASCENDER = 2579,
+    AF_BLUE_STRING_KAYAH_LI_DESCENDER = 2587,
+    AF_BLUE_STRING_KAYAH_LI_LARGE_DESCENDER = 2599,
+    AF_BLUE_STRING_KHMER_TOP = 2620,
+    AF_BLUE_STRING_KHMER_SUBSCRIPT_TOP = 2644,
+    AF_BLUE_STRING_KHMER_BOTTOM = 2684,
+    AF_BLUE_STRING_KHMER_DESCENDER = 2716,
+    AF_BLUE_STRING_KHMER_LARGE_DESCENDER = 2750,
+    AF_BLUE_STRING_KHMER_SYMBOLS_WAXING_TOP = 2837,
+    AF_BLUE_STRING_KHMER_SYMBOLS_WANING_BOTTOM = 2845,
+    AF_BLUE_STRING_LAO_TOP = 2853,
+    AF_BLUE_STRING_LAO_BOTTOM = 2885,
+    AF_BLUE_STRING_LAO_ASCENDER = 2917,
+    AF_BLUE_STRING_LAO_LARGE_ASCENDER = 2933,
+    AF_BLUE_STRING_LAO_DESCENDER = 2945,
+    AF_BLUE_STRING_LATIN_CAPITAL_TOP = 2969,
+    AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 2985,
+    AF_BLUE_STRING_LATIN_SMALL_F_TOP = 3001,
+    AF_BLUE_STRING_LATIN_SMALL_TOP = 3015,
+    AF_BLUE_STRING_LATIN_SMALL_BOTTOM = 3031,
+    AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 3047,
+    AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP = 3057,
+    AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM = 3077,
+    AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP = 3097,
+    AF_BLUE_STRING_LATIN_SUBS_SMALL = 3117,
+    AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER = 3153,
+    AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP = 3173,
+    AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM = 3204,
+    AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP = 3233,
+    AF_BLUE_STRING_LATIN_SUPS_SMALL = 3259,
+    AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER = 3284,
+    AF_BLUE_STRING_LISU_TOP = 3295,
+    AF_BLUE_STRING_LISU_BOTTOM = 3327,
+    AF_BLUE_STRING_MALAYALAM_TOP = 3359,
+    AF_BLUE_STRING_MALAYALAM_BOTTOM = 3403,
+    AF_BLUE_STRING_MYANMAR_TOP = 3435,
+    AF_BLUE_STRING_MYANMAR_BOTTOM = 3467,
+    AF_BLUE_STRING_MYANMAR_ASCENDER = 3499,
+    AF_BLUE_STRING_MYANMAR_DESCENDER = 3527,
+    AF_BLUE_STRING_NKO_TOP = 3559,
+    AF_BLUE_STRING_NKO_BOTTOM = 3583,
+    AF_BLUE_STRING_NKO_SMALL_TOP = 3598,
+    AF_BLUE_STRING_NKO_SMALL_BOTTOM = 3607,
+    AF_BLUE_STRING_OL_CHIKI = 3619,
+    AF_BLUE_STRING_OLD_TURKIC_TOP = 3643,
+    AF_BLUE_STRING_OLD_TURKIC_BOTTOM = 3658,
+    AF_BLUE_STRING_OSAGE_CAPITAL_TOP = 3678,
+    AF_BLUE_STRING_OSAGE_CAPITAL_BOTTOM = 3718,
+    AF_BLUE_STRING_OSAGE_CAPITAL_DESCENDER = 3748,
+    AF_BLUE_STRING_OSAGE_SMALL_TOP = 3763,
+    AF_BLUE_STRING_OSAGE_SMALL_BOTTOM = 3803,
+    AF_BLUE_STRING_OSAGE_SMALL_ASCENDER = 3843,
+    AF_BLUE_STRING_OSAGE_SMALL_DESCENDER = 3868,
+    AF_BLUE_STRING_OSMANYA_TOP = 3883,
+    AF_BLUE_STRING_OSMANYA_BOTTOM = 3923,
+    AF_BLUE_STRING_SAURASHTRA_TOP = 3963,
+    AF_BLUE_STRING_SAURASHTRA_BOTTOM = 3995,
+    AF_BLUE_STRING_SHAVIAN_TOP = 4015,
+    AF_BLUE_STRING_SHAVIAN_BOTTOM = 4025,
+    AF_BLUE_STRING_SHAVIAN_DESCENDER = 4050,
+    AF_BLUE_STRING_SHAVIAN_SMALL_TOP = 4060,
+    AF_BLUE_STRING_SHAVIAN_SMALL_BOTTOM = 4095,
+    AF_BLUE_STRING_SINHALA_TOP = 4110,
+    AF_BLUE_STRING_SINHALA_BOTTOM = 4142,
+    AF_BLUE_STRING_SINHALA_DESCENDER = 4174,
+    AF_BLUE_STRING_SUNDANESE_TOP = 4218,
+    AF_BLUE_STRING_SUNDANESE_BOTTOM = 4242,
+    AF_BLUE_STRING_SUNDANESE_DESCENDER = 4274,
+    AF_BLUE_STRING_TAI_VIET_TOP = 4282,
+    AF_BLUE_STRING_TAI_VIET_BOTTOM = 4302,
+    AF_BLUE_STRING_TAMIL_TOP = 4314,
+    AF_BLUE_STRING_TAMIL_BOTTOM = 4346,
+    AF_BLUE_STRING_TELUGU_TOP = 4378,
+    AF_BLUE_STRING_TELUGU_BOTTOM = 4406,
+    AF_BLUE_STRING_THAI_TOP = 4434,
+    AF_BLUE_STRING_THAI_BOTTOM = 4458,
+    AF_BLUE_STRING_THAI_ASCENDER = 4486,
+    AF_BLUE_STRING_THAI_LARGE_ASCENDER = 4498,
+    AF_BLUE_STRING_THAI_DESCENDER = 4510,
+    AF_BLUE_STRING_THAI_LARGE_DESCENDER = 4526,
+    AF_BLUE_STRING_THAI_DIGIT_TOP = 4534,
+    AF_BLUE_STRING_TIFINAGH = 4546,
+    AF_BLUE_STRING_VAI_TOP = 4578,
+    AF_BLUE_STRING_VAI_BOTTOM = 4610,
+    af_blue_1_1 = 4641,
 #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,
@@ -334,33 +339,34 @@ FT_BEGIN_HEADER
     AF_BLUE_STRINGSET_GUJR = 106,
     AF_BLUE_STRINGSET_GURU = 112,
     AF_BLUE_STRINGSET_HEBR = 118,
-    AF_BLUE_STRINGSET_KNDA = 122,
-    AF_BLUE_STRINGSET_KHMR = 125,
-    AF_BLUE_STRINGSET_KHMS = 131,
-    AF_BLUE_STRINGSET_LAO = 134,
-    AF_BLUE_STRINGSET_LATN = 140,
-    AF_BLUE_STRINGSET_LATB = 147,
-    AF_BLUE_STRINGSET_LATP = 154,
-    AF_BLUE_STRINGSET_LISU = 161,
-    AF_BLUE_STRINGSET_MLYM = 164,
-    AF_BLUE_STRINGSET_MYMR = 167,
-    AF_BLUE_STRINGSET_NKOO = 172,
-    AF_BLUE_STRINGSET_NONE = 177,
-    AF_BLUE_STRINGSET_OLCK = 178,
-    AF_BLUE_STRINGSET_ORKH = 181,
-    AF_BLUE_STRINGSET_OSGE = 184,
-    AF_BLUE_STRINGSET_OSMA = 192,
-    AF_BLUE_STRINGSET_SAUR = 195,
-    AF_BLUE_STRINGSET_SHAW = 198,
-    AF_BLUE_STRINGSET_SINH = 204,
-    AF_BLUE_STRINGSET_SUND = 208,
-    AF_BLUE_STRINGSET_TAML = 212,
-    AF_BLUE_STRINGSET_TAVT = 215,
-    AF_BLUE_STRINGSET_TELU = 218,
-    AF_BLUE_STRINGSET_THAI = 221,
-    AF_BLUE_STRINGSET_TFNG = 229,
-    AF_BLUE_STRINGSET_VAII = 232,
-    af_blue_2_1 = 235,
+    AF_BLUE_STRINGSET_KALI = 122,
+    AF_BLUE_STRINGSET_KNDA = 128,
+    AF_BLUE_STRINGSET_KHMR = 131,
+    AF_BLUE_STRINGSET_KHMS = 137,
+    AF_BLUE_STRINGSET_LAO = 140,
+    AF_BLUE_STRINGSET_LATN = 146,
+    AF_BLUE_STRINGSET_LATB = 153,
+    AF_BLUE_STRINGSET_LATP = 160,
+    AF_BLUE_STRINGSET_LISU = 167,
+    AF_BLUE_STRINGSET_MLYM = 170,
+    AF_BLUE_STRINGSET_MYMR = 173,
+    AF_BLUE_STRINGSET_NKOO = 178,
+    AF_BLUE_STRINGSET_NONE = 183,
+    AF_BLUE_STRINGSET_OLCK = 184,
+    AF_BLUE_STRINGSET_ORKH = 187,
+    AF_BLUE_STRINGSET_OSGE = 190,
+    AF_BLUE_STRINGSET_OSMA = 198,
+    AF_BLUE_STRINGSET_SAUR = 201,
+    AF_BLUE_STRINGSET_SHAW = 204,
+    AF_BLUE_STRINGSET_SINH = 210,
+    AF_BLUE_STRINGSET_SUND = 214,
+    AF_BLUE_STRINGSET_TAML = 218,
+    AF_BLUE_STRINGSET_TAVT = 221,
+    AF_BLUE_STRINGSET_TELU = 224,
+    AF_BLUE_STRINGSET_THAI = 227,
+    AF_BLUE_STRINGSET_TFNG = 235,
+    AF_BLUE_STRINGSET_VAII = 238,
+    af_blue_2_1 = 241,
 #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 a96e6cb..101e6b7 100644
--- a/src/autofit/afranges.c
+++ b/src/autofit/afranges.c
@@ -450,6 +450,19 @@
   };
 
 
+  const AF_Script_UniRangeRec  af_kali_uniranges[] =
+  {
+    AF_UNIRANGE_REC(  0xA900,  0xA92F ),   /* Kayah Li */
+    AF_UNIRANGE_REC(       0,       0 )
+  };
+
+  const AF_Script_UniRangeRec  af_kali_nonbase_uniranges[] =
+  {
+    AF_UNIRANGE_REC(  0xA926,  0xA92D ),
+    AF_UNIRANGE_REC(       0,       0 )
+  };
+
+
   const AF_Script_UniRangeRec  af_knda_uniranges[] =
   {
     AF_UNIRANGE_REC(  0x0C80,  0x0CFF ),  /* Kannada */
diff --git a/src/autofit/afscript.h b/src/autofit/afscript.h
index 90facd2..cfb670f 100644
--- a/src/autofit/afscript.h
+++ b/src/autofit/afscript.h
@@ -175,6 +175,12 @@
           HINTING_BOTTOM_TO_TOP,
           "\xD7\x9D" ) /* ם */
 
+  SCRIPT( kali, KALI,
+          "Kayah Li",
+          HB_SCRIPT_KAYAH_LI,
+          HINTING_BOTTOM_TO_TOP,
+          "\xEA\xA4\x8D \xEA\xA4\x80" ) /* ꤍ ꤀ */
+
   SCRIPT( knda, KNDA,
           "Kannada",
           HB_SCRIPT_KANNADA,
diff --git a/src/autofit/afstyles.h b/src/autofit/afstyles.h
index d4784e0..b108248 100644
--- a/src/autofit/afstyles.h
+++ b/src/autofit/afstyles.h
@@ -241,6 +241,13 @@
          AF_BLUE_STRINGSET_HEBR,
          AF_COVERAGE_DEFAULT )
 
+  STYLE( kali_dflt, KALI_DFLT,
+         "Kayah Li default style",
+         AF_WRITING_SYSTEM_LATIN,
+         AF_SCRIPT_KALI,
+         AF_BLUE_STRINGSET_KALI,
+         AF_COVERAGE_DEFAULT )
+
   STYLE( knda_dflt, KNDA_DFLT,
          "Kannada default style",
          AF_WRITING_SYSTEM_LATIN,