Commit a9e5e6e5b63fedbe9373e588afac70af19049e2e

Sascha Brawer 2017-05-08T19:57:16

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

diff --git a/ChangeLog b/ChangeLog
index e3a61c8..152e8cf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,18 @@
 2017-05-08  Sascha Brawer  <sascha@google.com>
 	    Werner Lemberg  <wl@gnu.org
 
+	[autofit] Add support for Vai script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Vai.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Vai standard character.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Vai data.
+
+2017-05-08  Sascha Brawer  <sascha@google.com>
+	    Werner Lemberg  <wl@gnu.org
+
 	[autofit] Add support for Osmanya script.
 
 	* src/autofit/afblue.dat: Add blue zone data for Osmanya.
diff --git a/src/autofit/afblue.c b/src/autofit/afblue.c
index 41be50f..d015c1e 100644
--- a/src/autofit/afblue.c
+++ b/src/autofit/afblue.c
@@ -343,6 +343,10 @@
     '\xE0', '\xB9', '\x90', ' ', '\xE0', '\xB9', '\x91', ' ', '\xE0', '\xB9', '\x93',  /* ๐ ๑ ๓ */
     '\0',
     '\xE2', '\xB5', '\x94', ' ', '\xE2', '\xB5', '\x99', ' ', '\xE2', '\xB5', '\x9B', ' ', '\xE2', '\xB5', '\x9E', ' ', '\xE2', '\xB4', '\xB5', ' ', '\xE2', '\xB4', '\xBC', ' ', '\xE2', '\xB4', '\xB9', ' ', '\xE2', '\xB5', '\x8E',  /* ⵔ ⵙ ⵛ ⵞ ⴵ ⴼ ⴹ ⵎ */
+    '\0',
+    '\xEA', '\x97', '\x8D', ' ', '\xEA', '\x98', '\x96', ' ', '\xEA', '\x98', '\x99', ' ', '\xEA', '\x98', '\x9C', ' ', '\xEA', '\x96', '\x9C', ' ', '\xEA', '\x96', '\x9D', ' ', '\xEA', '\x94', '\x85', ' ', '\xEA', '\x95', '\xA2',  /* ꗍ ꘖ ꘙ ꘜ ꖜ ꖝ ꔅ ꕢ */
+    '\0',
+    '\xEA', '\x97', '\x8D', ' ', '\xEA', '\x98', '\x96', ' ', '\xEA', '\x98', '\x99', ' ', '\xEA', '\x97', '\x9E', ' ', '\xEA', '\x94', '\x85', ' ', '\xEA', '\x95', '\xA2', ' ', '\xEA', '\x96', '\x9C', ' ', '\xEA', '\x94', '\x86',  /* ꗍ ꘖ ꘙ ꗞ ꔅ ꕢ ꖜ ꔆ */
 #ifdef AF_CONFIG_OPTION_CJK
     '\0',
     '\xE4', '\xBB', '\x96', ' ', '\xE4', '\xBB', '\xAC', ' ', '\xE4', '\xBD', '\xA0', ' ', '\xE4', '\xBE', '\x86', ' ', '\xE5', '\x80', '\x91', ' ', '\xE5', '\x88', '\xB0', ' ', '\xE5', '\x92', '\x8C', ' ', '\xE5', '\x9C', '\xB0',  /* 他 们 你 來 們 到 和 地 */
@@ -637,6 +641,9 @@
     { AF_BLUE_STRING_TIFINAGH, AF_BLUE_PROPERTY_LATIN_TOP },
     { AF_BLUE_STRING_TIFINAGH, 0                          },
     { AF_BLUE_STRING_MAX,      0                          },
+    { AF_BLUE_STRING_VAI_TOP,    AF_BLUE_PROPERTY_LATIN_TOP },
+    { AF_BLUE_STRING_VAI_BOTTOM, 0                          },
+    { AF_BLUE_STRING_MAX,        0                          },
 #ifdef AF_CONFIG_OPTION_CJK
     { AF_BLUE_STRING_CJK_TOP,    AF_BLUE_PROPERTY_CJK_TOP     },
     { AF_BLUE_STRING_CJK_BOTTOM, 0                            },
diff --git a/src/autofit/afblue.dat b/src/autofit/afblue.dat
index 9d21604..765b580 100644
--- a/src/autofit/afblue.dat
+++ b/src/autofit/afblue.dat
@@ -448,6 +448,11 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
   AF_BLUE_STRING_TIFINAGH
     "ⵔ ⵙ ⵛ ⵞ ⴵ ⴼ ⴹ ⵎ"
 
+  AF_BLUE_STRING_VAI_TOP
+    "ꗍ ꘖ ꘙ ꘜ ꖜ ꖝ ꔅ ꕢ"
+  AF_BLUE_STRING_VAI_BOTTOM
+    "ꗍ ꘖ ꘙ ꗞ ꔅ ꕢ ꖜ ꔆ"
+
 
 #ifdef AF_CONFIG_OPTION_CJK
 
@@ -948,6 +953,10 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
     { AF_BLUE_STRING_TIFINAGH, 0                          }
     { AF_BLUE_STRING_MAX,      0                          }
 
+  AF_BLUE_STRINGSET_VAII
+    { AF_BLUE_STRING_VAI_TOP,    AF_BLUE_PROPERTY_LATIN_TOP }
+    { AF_BLUE_STRING_VAI_BOTTOM, 0                          }
+    { AF_BLUE_STRING_MAX,        0                          }
 
 #ifdef AF_CONFIG_OPTION_CJK
 
diff --git a/src/autofit/afblue.h b/src/autofit/afblue.h
index 8dea0a3..a43310f 100644
--- a/src/autofit/afblue.h
+++ b/src/autofit/afblue.h
@@ -236,7 +236,9 @@ FT_BEGIN_HEADER
     AF_BLUE_STRING_THAI_LARGE_DESCENDER = 4166,
     AF_BLUE_STRING_THAI_DIGIT_TOP = 4174,
     AF_BLUE_STRING_TIFINAGH = 4186,
-    af_blue_1_1 = 4217,
+    AF_BLUE_STRING_VAI_TOP = 4218,
+    AF_BLUE_STRING_VAI_BOTTOM = 4250,
+    af_blue_1_1 = 4281,
 #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,
@@ -340,7 +342,8 @@ FT_BEGIN_HEADER
     AF_BLUE_STRINGSET_TELU = 201,
     AF_BLUE_STRINGSET_THAI = 204,
     AF_BLUE_STRINGSET_TFNG = 212,
-    af_blue_2_1 = 215,
+    AF_BLUE_STRINGSET_VAII = 215,
+    af_blue_2_1 = 218,
 #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 4c9deaa..c00494c 100644
--- a/src/autofit/afranges.c
+++ b/src/autofit/afranges.c
@@ -802,9 +802,21 @@
 
   const AF_Script_UniRangeRec  af_tfng_nonbase_uniranges[] =
   {
+    AF_UNIRANGE_REC( 0, 0 )
+  };
+
+
+  const AF_Script_UniRangeRec  af_vaii_uniranges[] =
+  {
+    AF_UNIRANGE_REC(  0xA500,  0xA63F ),   /* Vai */
     AF_UNIRANGE_REC(       0,       0 )
   };
 
+  const AF_Script_UniRangeRec  af_vaii_nonbase_uniranges[] =
+  {
+    AF_UNIRANGE_REC( 0, 0 )
+  };
+
 
 #ifdef AF_CONFIG_OPTION_INDIC
 
diff --git a/src/autofit/afscript.h b/src/autofit/afscript.h
index 5f778de..839b539 100644
--- a/src/autofit/afscript.h
+++ b/src/autofit/afscript.h
@@ -306,6 +306,12 @@
           HINTING_BOTTOM_TO_TOP,
           "\xE2\xB5\x94" ) /* ⵔ */
 
+  SCRIPT( vaii, VAII,
+          "Vai",
+          HB_SCRIPT_VAI,
+          HINTING_BOTTOM_TO_TOP,
+          "\xEA\x98\x93 \xEA\x96\x9C \xEA\x96\xB4" ) /* ꘓ ꖜ ꖴ */
+
 #ifdef AF_CONFIG_OPTION_INDIC
 
   SCRIPT( limb, LIMB,
diff --git a/src/autofit/afstyles.h b/src/autofit/afstyles.h
index 202add7..739e5ba 100644
--- a/src/autofit/afstyles.h
+++ b/src/autofit/afstyles.h
@@ -392,6 +392,13 @@
          AF_BLUE_STRINGSET_TFNG,
          AF_COVERAGE_DEFAULT )
 
+  STYLE( vaii_dflt, VAII_DFLT,
+         "Vai default style",
+         AF_WRITING_SYSTEM_LATIN,
+         AF_SCRIPT_VAII,
+         AF_BLUE_STRINGSET_VAII,
+         AF_COVERAGE_DEFAULT )
+
 #ifdef AF_CONFIG_OPTION_INDIC
 
   /* no blue stringset support for the Indic writing system yet */