shithub: freetype+ttf2subf

Download patch

ref: a74f40f9e77aa4eb49e5a7b7a2e8f5b41adf295b
parent: 771d3c8ae25d5042a3f6b76a329ad3dd782eca66
author: Werner Lemberg <[email protected]>
date: Tue May 24 14:27:18 EDT 2016

[autofit] Add support for Armenian script.

* src/autofit/afblue.dat: Add blue zone data for Armenian.

* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.

* src/autofit/afscript.h: Add Armenian standard characters.

* src/autofit/afranges.c: Add Armenian data.

* src/autofit/afstyles.h: Add Armenian data.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2016-05-24  Werner Lemberg  <[email protected]>
+
+	[autofit] Add support for Armenian script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Armenian.
+
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Armenian standard characters.
+
+	* src/autofit/afranges.c: Add Armenian data.
+
+	* src/autofit/afstyles.h: Add Armenian data.
+
 2016-05-23  Werner Lemberg  <[email protected]>
 
 	* builds/unix/unix-cc.in (LINK_LIBRARY): Use `-export-symbols'.
--- a/src/autofit/afblue.c
+++ b/src/autofit/afblue.c
@@ -32,6 +32,18 @@
     '\0',
     '\xD9', '\x80',  /* ـ */
     '\0',
+    '\xD4', '\xB1', ' ', '\xD5', '\x84', ' ', '\xD5', '\x92', ' ', '\xD5', '\x93', ' ', '\xD4', '\xB2', ' ', '\xD4', '\xB3', ' ', '\xD4', '\xB4', ' ', '\xD5', '\x95',  /* Ա Մ Ւ Փ Բ Գ Դ Օ */
+    '\0',
+    '\xD5', '\x92', ' ', '\xD5', '\x88', ' ', '\xD5', '\x93', ' ', '\xD5', '\x83', ' ', '\xD5', '\x87', ' ', '\xD5', '\x8D', ' ', '\xD5', '\x8F', ' ', '\xD5', '\x95',  /* Ւ Ո Փ Ճ Շ Ս Տ Օ */
+    '\0',
+    '\xD5', '\xA5', ' ', '\xD5', '\xA7', ' ', '\xD5', '\xAB', ' ', '\xD5', '\xB4', ' ', '\xD5', '\xBE', ' ', '\xD6', '\x83', ' ', '\xD6', '\x86', ' ', '\xD6', '\x83',  /* ե է ի մ վ փ ֆ փ */
+    '\0',
+    '\xD5', '\xA1', ' ', '\xD5', '\xB5', ' ', '\xD6', '\x82', ' ', '\xD5', '\xBD', ' ', '\xD5', '\xA3', ' ', '\xD5', '\xBB', ' ', '\xD6', '\x80', ' ', '\xD6', '\x85',  /* ա յ ւ ս գ ջ ր օ */
+    '\0',
+    '\xD5', '\xB0', ' ', '\xD5', '\xB8', ' ', '\xD5', '\xB3', ' ', '\xD5', '\xA1', ' ', '\xD5', '\xA5', ' ', '\xD5', '\xAE', ' ', '\xD5', '\xBD', ' ', '\xD6', '\x85',  /* հ ո ճ ա ե ծ ս օ */
+    '\0',
+    '\xD5', '\xA2', ' ', '\xD5', '\xA8', ' ', '\xD5', '\xAB', ' ', '\xD5', '\xAC', ' ', '\xD5', '\xB2', ' ', '\xD5', '\xBA', ' ', '\xD6', '\x83', ' ', '\xD6', '\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',  /* ই ট ঠ ি ী ৈ ৗ */
@@ -268,6 +280,14 @@
                                      AF_BLUE_PROPERTY_LATIN_X_HEIGHT   },
     { AF_BLUE_STRING_BENGALI_BASE,   0                                 },
     { AF_BLUE_STRING_MAX,            0                                 },
+    { AF_BLUE_STRING_ARMENIAN_CAPITAL_TOP,     AF_BLUE_PROPERTY_LATIN_TOP        },
+    { AF_BLUE_STRING_ARMENIAN_CAPITAL_BOTTOM,  0                                 },
+    { AF_BLUE_STRING_ARMENIAN_SMALL_ASCENDER,  AF_BLUE_PROPERTY_LATIN_TOP        },
+    { AF_BLUE_STRING_ARMENIAN_SMALL_TOP,       AF_BLUE_PROPERTY_LATIN_TOP      |
+                                               AF_BLUE_PROPERTY_LATIN_X_HEIGHT   },
+    { AF_BLUE_STRING_ARMENIAN_SMALL_BOTTOM,    0                                 },
+    { AF_BLUE_STRING_ARMENIAN_SMALL_DESCENDER, 0                                 },
+    { 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      |
--- a/src/autofit/afblue.dat
+++ b/src/autofit/afblue.dat
@@ -86,6 +86,19 @@
   AF_BLUE_STRING_ARABIC_JOIN
     "ـ"
 
+  AF_BLUE_STRING_ARMENIAN_CAPITAL_TOP
+    "Ա Մ Ւ Փ Բ Գ Դ Օ"
+  AF_BLUE_STRING_ARMENIAN_CAPITAL_BOTTOM
+    "Ւ Ո Փ Ճ Շ Ս Տ Օ"
+  AF_BLUE_STRING_ARMENIAN_SMALL_ASCENDER
+    "ե է ի մ վ փ ֆ փ"
+  AF_BLUE_STRING_ARMENIAN_SMALL_TOP
+    "ա յ ւ ս գ ջ ր օ"
+  AF_BLUE_STRING_ARMENIAN_SMALL_BOTTOM
+    "հ ո ճ ա ե ծ ս օ"
+  AF_BLUE_STRING_ARMENIAN_SMALL_DESCENDER
+    "բ ը ի լ ղ պ փ ց"
+
   AF_BLUE_STRING_BENGALI_BASE
     "অ ড ত ন ব ভ ল ক"
   AF_BLUE_STRING_BENGALI_TOP
@@ -470,6 +483,16 @@
                                      AF_BLUE_PROPERTY_LATIN_X_HEIGHT   }
     { AF_BLUE_STRING_BENGALI_BASE,   0                                 }
     { AF_BLUE_STRING_MAX,            0                                 }
+
+  AF_BLUE_STRINGSET_ARMN
+    { AF_BLUE_STRING_ARMENIAN_CAPITAL_TOP,     AF_BLUE_PROPERTY_LATIN_TOP        }
+    { AF_BLUE_STRING_ARMENIAN_CAPITAL_BOTTOM,  0                                 }
+    { AF_BLUE_STRING_ARMENIAN_SMALL_ASCENDER,  AF_BLUE_PROPERTY_LATIN_TOP        }
+    { AF_BLUE_STRING_ARMENIAN_SMALL_TOP,       AF_BLUE_PROPERTY_LATIN_TOP      |
+                                               AF_BLUE_PROPERTY_LATIN_X_HEIGHT   }
+    { AF_BLUE_STRING_ARMENIAN_SMALL_BOTTOM,    0                                 }
+    { AF_BLUE_STRING_ARMENIAN_SMALL_DESCENDER, 0                                 }
+    { AF_BLUE_STRING_MAX,                      0                                 }
 
   AF_BLUE_STRINGSET_CYRL
     { AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP,     AF_BLUE_PROPERTY_LATIN_TOP        }
--- a/src/autofit/afblue.h
+++ b/src/autofit/afblue.h
@@ -80,95 +80,101 @@
     AF_BLUE_STRING_ARABIC_TOP = 0,
     AF_BLUE_STRING_ARABIC_BOTTOM = 18,
     AF_BLUE_STRING_ARABIC_JOIN = 33,
-    AF_BLUE_STRING_BENGALI_BASE = 36,
-    AF_BLUE_STRING_BENGALI_TOP = 68,
-    AF_BLUE_STRING_BENGALI_HEAD = 96,
-    AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP = 128,
-    AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM = 152,
-    AF_BLUE_STRING_CYRILLIC_SMALL = 176,
-    AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER = 200,
-    AF_BLUE_STRING_DEVANAGARI_BASE = 209,
-    AF_BLUE_STRING_DEVANAGARI_TOP = 241,
-    AF_BLUE_STRING_DEVANAGARI_HEAD = 273,
-    AF_BLUE_STRING_DEVANAGARI_BOTTOM = 305,
-    AF_BLUE_STRING_GEORGIAN_MKHEDRULI_TOP = 313,
-    AF_BLUE_STRING_GEORGIAN_MKHEDRULI_BOTTOM = 345,
-    AF_BLUE_STRING_GEORGIAN_MKHEDRULI_ASCENDER = 377,
-    AF_BLUE_STRING_GEORGIAN_MKHEDRULI_DESCENDER = 409,
-    AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_TOP = 441,
-    AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_BOTTOM = 473,
-    AF_BLUE_STRING_GEORGIAN_NUSKHURI_TOP = 505,
-    AF_BLUE_STRING_GEORGIAN_NUSKHURI_BOTTOM = 537,
-    AF_BLUE_STRING_GEORGIAN_NUSKHURI_ASCENDER = 569,
-    AF_BLUE_STRING_GEORGIAN_NUSKHURI_DESCENDER = 601,
-    AF_BLUE_STRING_GREEK_CAPITAL_TOP = 633,
-    AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM = 654,
-    AF_BLUE_STRING_GREEK_SMALL_BETA_TOP = 672,
-    AF_BLUE_STRING_GREEK_SMALL = 690,
-    AF_BLUE_STRING_GREEK_SMALL_DESCENDER = 714,
-    AF_BLUE_STRING_GUJARATI_TOP = 738,
-    AF_BLUE_STRING_GUJARATI_BOTTOM = 770,
-    AF_BLUE_STRING_GUJARATI_ASCENDER = 802,
-    AF_BLUE_STRING_GUJARATI_DESCENDER = 852,
-    AF_BLUE_STRING_GUJARATI_DIGIT_TOP = 885,
-    AF_BLUE_STRING_GURMUKHI_BASE = 905,
-    AF_BLUE_STRING_GURMUKHI_HEAD = 937,
-    AF_BLUE_STRING_GURMUKHI_TOP = 969,
-    AF_BLUE_STRING_GURMUKHI_BOTTOM = 1001,
-    AF_BLUE_STRING_GURMUKHI_DIGIT_TOP = 1033,
-    AF_BLUE_STRING_HEBREW_TOP = 1053,
-    AF_BLUE_STRING_HEBREW_BOTTOM = 1077,
-    AF_BLUE_STRING_HEBREW_DESCENDER = 1095,
-    AF_BLUE_STRING_KANNADA_TOP = 1110,
-    AF_BLUE_STRING_KANNADA_BOTTOM = 1154,
-    AF_BLUE_STRING_KHMER_TOP = 1186,
-    AF_BLUE_STRING_KHMER_SUBSCRIPT_TOP = 1210,
-    AF_BLUE_STRING_KHMER_BOTTOM = 1250,
-    AF_BLUE_STRING_KHMER_DESCENDER = 1282,
-    AF_BLUE_STRING_KHMER_LARGE_DESCENDER = 1316,
-    AF_BLUE_STRING_KHMER_SYMBOLS_WAXING_TOP = 1403,
-    AF_BLUE_STRING_KHMER_SYMBOLS_WANING_BOTTOM = 1411,
-    AF_BLUE_STRING_LAO_TOP = 1419,
-    AF_BLUE_STRING_LAO_BOTTOM = 1451,
-    AF_BLUE_STRING_LAO_ASCENDER = 1483,
-    AF_BLUE_STRING_LAO_LARGE_ASCENDER = 1499,
-    AF_BLUE_STRING_LAO_DESCENDER = 1511,
-    AF_BLUE_STRING_LATIN_CAPITAL_TOP = 1535,
-    AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 1551,
-    AF_BLUE_STRING_LATIN_SMALL_F_TOP = 1567,
-    AF_BLUE_STRING_LATIN_SMALL = 1581,
-    AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 1595,
-    AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP = 1605,
-    AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM = 1625,
-    AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP = 1645,
-    AF_BLUE_STRING_LATIN_SUBS_SMALL = 1665,
-    AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER = 1701,
-    AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP = 1721,
-    AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM = 1752,
-    AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP = 1781,
-    AF_BLUE_STRING_LATIN_SUPS_SMALL = 1807,
-    AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER = 1832,
-    AF_BLUE_STRING_MALAYALAM_TOP = 1843,
-    AF_BLUE_STRING_MALAYALAM_BOTTOM = 1887,
-    AF_BLUE_STRING_MYANMAR_TOP = 1919,
-    AF_BLUE_STRING_MYANMAR_BOTTOM = 1951,
-    AF_BLUE_STRING_MYANMAR_ASCENDER = 1983,
-    AF_BLUE_STRING_MYANMAR_DESCENDER = 2011,
-    AF_BLUE_STRING_SINHALA_TOP = 2043,
-    AF_BLUE_STRING_SINHALA_BOTTOM = 2075,
-    AF_BLUE_STRING_SINHALA_DESCENDER = 2107,
-    AF_BLUE_STRING_TAMIL_TOP = 2151,
-    AF_BLUE_STRING_TAMIL_BOTTOM = 2183,
-    AF_BLUE_STRING_TELUGU_TOP = 2215,
-    AF_BLUE_STRING_TELUGU_BOTTOM = 2243,
-    AF_BLUE_STRING_THAI_TOP = 2271,
-    AF_BLUE_STRING_THAI_BOTTOM = 2295,
-    AF_BLUE_STRING_THAI_ASCENDER = 2323,
-    AF_BLUE_STRING_THAI_LARGE_ASCENDER = 2335,
-    AF_BLUE_STRING_THAI_DESCENDER = 2347,
-    AF_BLUE_STRING_THAI_LARGE_DESCENDER = 2363,
-    AF_BLUE_STRING_THAI_DIGIT_TOP = 2371,
-    af_blue_1_1 = 2382,
+    AF_BLUE_STRING_ARMENIAN_CAPITAL_TOP = 36,
+    AF_BLUE_STRING_ARMENIAN_CAPITAL_BOTTOM = 60,
+    AF_BLUE_STRING_ARMENIAN_SMALL_ASCENDER = 84,
+    AF_BLUE_STRING_ARMENIAN_SMALL_TOP = 108,
+    AF_BLUE_STRING_ARMENIAN_SMALL_BOTTOM = 132,
+    AF_BLUE_STRING_ARMENIAN_SMALL_DESCENDER = 156,
+    AF_BLUE_STRING_BENGALI_BASE = 180,
+    AF_BLUE_STRING_BENGALI_TOP = 212,
+    AF_BLUE_STRING_BENGALI_HEAD = 240,
+    AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP = 272,
+    AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM = 296,
+    AF_BLUE_STRING_CYRILLIC_SMALL = 320,
+    AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER = 344,
+    AF_BLUE_STRING_DEVANAGARI_BASE = 353,
+    AF_BLUE_STRING_DEVANAGARI_TOP = 385,
+    AF_BLUE_STRING_DEVANAGARI_HEAD = 417,
+    AF_BLUE_STRING_DEVANAGARI_BOTTOM = 449,
+    AF_BLUE_STRING_GEORGIAN_MKHEDRULI_TOP = 457,
+    AF_BLUE_STRING_GEORGIAN_MKHEDRULI_BOTTOM = 489,
+    AF_BLUE_STRING_GEORGIAN_MKHEDRULI_ASCENDER = 521,
+    AF_BLUE_STRING_GEORGIAN_MKHEDRULI_DESCENDER = 553,
+    AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_TOP = 585,
+    AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_BOTTOM = 617,
+    AF_BLUE_STRING_GEORGIAN_NUSKHURI_TOP = 649,
+    AF_BLUE_STRING_GEORGIAN_NUSKHURI_BOTTOM = 681,
+    AF_BLUE_STRING_GEORGIAN_NUSKHURI_ASCENDER = 713,
+    AF_BLUE_STRING_GEORGIAN_NUSKHURI_DESCENDER = 745,
+    AF_BLUE_STRING_GREEK_CAPITAL_TOP = 777,
+    AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM = 798,
+    AF_BLUE_STRING_GREEK_SMALL_BETA_TOP = 816,
+    AF_BLUE_STRING_GREEK_SMALL = 834,
+    AF_BLUE_STRING_GREEK_SMALL_DESCENDER = 858,
+    AF_BLUE_STRING_GUJARATI_TOP = 882,
+    AF_BLUE_STRING_GUJARATI_BOTTOM = 914,
+    AF_BLUE_STRING_GUJARATI_ASCENDER = 946,
+    AF_BLUE_STRING_GUJARATI_DESCENDER = 996,
+    AF_BLUE_STRING_GUJARATI_DIGIT_TOP = 1029,
+    AF_BLUE_STRING_GURMUKHI_BASE = 1049,
+    AF_BLUE_STRING_GURMUKHI_HEAD = 1081,
+    AF_BLUE_STRING_GURMUKHI_TOP = 1113,
+    AF_BLUE_STRING_GURMUKHI_BOTTOM = 1145,
+    AF_BLUE_STRING_GURMUKHI_DIGIT_TOP = 1177,
+    AF_BLUE_STRING_HEBREW_TOP = 1197,
+    AF_BLUE_STRING_HEBREW_BOTTOM = 1221,
+    AF_BLUE_STRING_HEBREW_DESCENDER = 1239,
+    AF_BLUE_STRING_KANNADA_TOP = 1254,
+    AF_BLUE_STRING_KANNADA_BOTTOM = 1298,
+    AF_BLUE_STRING_KHMER_TOP = 1330,
+    AF_BLUE_STRING_KHMER_SUBSCRIPT_TOP = 1354,
+    AF_BLUE_STRING_KHMER_BOTTOM = 1394,
+    AF_BLUE_STRING_KHMER_DESCENDER = 1426,
+    AF_BLUE_STRING_KHMER_LARGE_DESCENDER = 1460,
+    AF_BLUE_STRING_KHMER_SYMBOLS_WAXING_TOP = 1547,
+    AF_BLUE_STRING_KHMER_SYMBOLS_WANING_BOTTOM = 1555,
+    AF_BLUE_STRING_LAO_TOP = 1563,
+    AF_BLUE_STRING_LAO_BOTTOM = 1595,
+    AF_BLUE_STRING_LAO_ASCENDER = 1627,
+    AF_BLUE_STRING_LAO_LARGE_ASCENDER = 1643,
+    AF_BLUE_STRING_LAO_DESCENDER = 1655,
+    AF_BLUE_STRING_LATIN_CAPITAL_TOP = 1679,
+    AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 1695,
+    AF_BLUE_STRING_LATIN_SMALL_F_TOP = 1711,
+    AF_BLUE_STRING_LATIN_SMALL = 1725,
+    AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 1739,
+    AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP = 1749,
+    AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM = 1769,
+    AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP = 1789,
+    AF_BLUE_STRING_LATIN_SUBS_SMALL = 1809,
+    AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER = 1845,
+    AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP = 1865,
+    AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM = 1896,
+    AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP = 1925,
+    AF_BLUE_STRING_LATIN_SUPS_SMALL = 1951,
+    AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER = 1976,
+    AF_BLUE_STRING_MALAYALAM_TOP = 1987,
+    AF_BLUE_STRING_MALAYALAM_BOTTOM = 2031,
+    AF_BLUE_STRING_MYANMAR_TOP = 2063,
+    AF_BLUE_STRING_MYANMAR_BOTTOM = 2095,
+    AF_BLUE_STRING_MYANMAR_ASCENDER = 2127,
+    AF_BLUE_STRING_MYANMAR_DESCENDER = 2155,
+    AF_BLUE_STRING_SINHALA_TOP = 2187,
+    AF_BLUE_STRING_SINHALA_BOTTOM = 2219,
+    AF_BLUE_STRING_SINHALA_DESCENDER = 2251,
+    AF_BLUE_STRING_TAMIL_TOP = 2295,
+    AF_BLUE_STRING_TAMIL_BOTTOM = 2327,
+    AF_BLUE_STRING_TELUGU_TOP = 2359,
+    AF_BLUE_STRING_TELUGU_BOTTOM = 2387,
+    AF_BLUE_STRING_THAI_TOP = 2415,
+    AF_BLUE_STRING_THAI_BOTTOM = 2439,
+    AF_BLUE_STRING_THAI_ASCENDER = 2467,
+    AF_BLUE_STRING_THAI_LARGE_ASCENDER = 2479,
+    AF_BLUE_STRING_THAI_DESCENDER = 2491,
+    AF_BLUE_STRING_THAI_LARGE_DESCENDER = 2507,
+    AF_BLUE_STRING_THAI_DIGIT_TOP = 2515,
+    af_blue_1_1 = 2526,
 #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,
@@ -229,29 +235,30 @@
   {
     AF_BLUE_STRINGSET_ARAB = 0,
     AF_BLUE_STRINGSET_BENG = 4,
-    AF_BLUE_STRINGSET_CYRL = 9,
-    AF_BLUE_STRINGSET_DEVA = 15,
-    AF_BLUE_STRINGSET_GEOR = 21,
-    AF_BLUE_STRINGSET_GEOK = 26,
-    AF_BLUE_STRINGSET_GREK = 33,
-    AF_BLUE_STRINGSET_GUJR = 40,
-    AF_BLUE_STRINGSET_GURU = 46,
-    AF_BLUE_STRINGSET_HEBR = 52,
-    AF_BLUE_STRINGSET_KNDA = 56,
-    AF_BLUE_STRINGSET_KHMR = 59,
-    AF_BLUE_STRINGSET_KHMS = 65,
-    AF_BLUE_STRINGSET_LAO = 68,
-    AF_BLUE_STRINGSET_LATN = 74,
-    AF_BLUE_STRINGSET_LATB = 81,
-    AF_BLUE_STRINGSET_LATP = 88,
-    AF_BLUE_STRINGSET_MLYM = 95,
-    AF_BLUE_STRINGSET_MYMR = 98,
-    AF_BLUE_STRINGSET_NONE = 103,
-    AF_BLUE_STRINGSET_SINH = 104,
-    AF_BLUE_STRINGSET_TAML = 108,
-    AF_BLUE_STRINGSET_TELU = 111,
-    AF_BLUE_STRINGSET_THAI = 114,
-    af_blue_2_1 = 122,
+    AF_BLUE_STRINGSET_ARMN = 9,
+    AF_BLUE_STRINGSET_CYRL = 16,
+    AF_BLUE_STRINGSET_DEVA = 22,
+    AF_BLUE_STRINGSET_GEOR = 28,
+    AF_BLUE_STRINGSET_GEOK = 33,
+    AF_BLUE_STRINGSET_GREK = 40,
+    AF_BLUE_STRINGSET_GUJR = 47,
+    AF_BLUE_STRINGSET_GURU = 53,
+    AF_BLUE_STRINGSET_HEBR = 59,
+    AF_BLUE_STRINGSET_KNDA = 63,
+    AF_BLUE_STRINGSET_KHMR = 66,
+    AF_BLUE_STRINGSET_KHMS = 72,
+    AF_BLUE_STRINGSET_LAO = 75,
+    AF_BLUE_STRINGSET_LATN = 81,
+    AF_BLUE_STRINGSET_LATB = 88,
+    AF_BLUE_STRINGSET_LATP = 95,
+    AF_BLUE_STRINGSET_MLYM = 102,
+    AF_BLUE_STRINGSET_MYMR = 105,
+    AF_BLUE_STRINGSET_NONE = 110,
+    AF_BLUE_STRINGSET_SINH = 111,
+    AF_BLUE_STRINGSET_TAML = 115,
+    AF_BLUE_STRINGSET_TELU = 118,
+    AF_BLUE_STRINGSET_THAI = 121,
+    af_blue_2_1 = 129,
 #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
@@ -91,6 +91,21 @@
   };
 
 
+  const AF_Script_UniRangeRec  af_armn_uniranges[] =
+  {
+    AF_UNIRANGE_REC(  0x0530UL,  0x0558UL ),  /* Armenian                          */
+    AF_UNIRANGE_REC(  0x0560UL,  0x058FUL ),
+    AF_UNIRANGE_REC(  0xFB13UL,  0xFB17UL ),  /* Alphab. Present. Forms (Armenian) */
+    AF_UNIRANGE_REC(       0UL,       0UL )
+  };
+
+  const AF_Script_UniRangeRec  af_armn_nonbase_uniranges[] =
+  {
+    AF_UNIRANGE_REC(  0x0559UL,  0x055FUL ),
+    AF_UNIRANGE_REC(       0UL,       0UL )
+  };
+
+
   const AF_Script_UniRangeRec  af_beng_uniranges[] =
   {
     AF_UNIRANGE_REC(  0x0980UL,  0x09FFUL ),  /* Bengali */
--- a/src/autofit/afscript.h
+++ b/src/autofit/afscript.h
@@ -36,6 +36,12 @@
           HINTING_BOTTOM_TO_TOP,
           "\xD9\x84 \xD8\xAD \xD9\x80" ) /* ل ح ـ */
 
+  SCRIPT( armn, ARMN,
+          "Armenian",
+          HB_SCRIPT_ARMENIAN,
+          HINTING_BOTTOM_TO_TOP,
+          "\xD6\x85 \xD5\x95" ) /* օ Օ */
+
   /* 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
@@ -90,6 +90,13 @@
          AF_BLUE_STRINGSET_ARAB,
          AF_COVERAGE_DEFAULT )
 
+  STYLE( armn_dflt, ARMN_DFLT,
+         "Armenian default style",
+         AF_WRITING_SYSTEM_LATIN,
+         AF_SCRIPT_ARMN,
+         AF_BLUE_STRINGSET_ARMN,
+         AF_COVERAGE_DEFAULT )
+
   STYLE( beng_dflt, BENG_DFLT,
          "Bengali default style",
          AF_WRITING_SYSTEM_LATIN,