shithub: freetype+ttf2subf

Download patch

ref: 49f3394d7a531320e96170d13be471647d505f60
parent: 84d56589f04eb1f459d865e8401e9c723fbbefb3
author: Nikolaus Waxweiler <[email protected]>
date: Wed Feb 19 07:56:49 EST 2020

[autofit] Add support for Hanifi Rohingya script.

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

* src/autofit/afscript.h: Add Hanifi Rohingya standard character.

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

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2020-02-19  Nikolaus Waxweiler  <[email protected]>
+
+	[autofit] Add support for Hanifi Rohingya script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Hanifi Rohingya.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Hanifi Rohingya standard character.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Hanifi
+	  Rohingya data.
+
 2020-02-19  Werner Lemberg  <[email protected]>
 
 	Require HarfBuzz 1.8.
--- a/src/autofit/afblue.c
+++ b/src/autofit/afblue.c
@@ -340,6 +340,12 @@
     '\0',
     '\xF0', '\x90', '\x92', '\x80', ' ', '\xF0', '\x90', '\x92', '\x82', ' ', '\xF0', '\x90', '\x92', '\x86', ' ', '\xF0', '\x90', '\x92', '\x88', ' ', '\xF0', '\x90', '\x92', '\x8A', ' ', '\xF0', '\x90', '\x92', '\x92', ' ', '\xF0', '\x90', '\x92', '\xA0', ' ', '\xF0', '\x90', '\x92', '\xA9',  /* ๐’€ ๐’‚ ๐’† ๐’ˆ ๐’Š ๐’’ ๐’  ๐’ฉ */
     '\0',
+    '\xF0', '\x90', '\xB4', '\x83', ' ', '\xF0', '\x90', '\xB4', '\x80', ' ', '\xF0', '\x90', '\xB4', '\x86', ' ', '\xF0', '\x90', '\xB4', '\x96', ' ', '\xF0', '\x90', '\xB4', '\x95',  /* ๐ดƒ ๐ด€ ๐ด† ๐ด– ๐ด• */
+    '\0',
+    '\xF0', '\x90', '\xB4', '\x94', ' ', '\xF0', '\x90', '\xB4', '\x96', ' ', '\xF0', '\x90', '\xB4', '\x95', ' ', '\xF0', '\x90', '\xB4', '\x91', ' ', '\xF0', '\x90', '\xB4', '\x90',  /* ๐ด” ๐ด– ๐ด• ๐ด‘ ๐ด */
+    '\0',
+    '\xD9', '\x80',  /* ู€ */
+    '\0',
     '\xEA', '\xA2', '\x9C', ' ', '\xEA', '\xA2', '\x9E', ' ', '\xEA', '\xA2', '\xB3', ' ', '\xEA', '\xA2', '\x82', ' ', '\xEA', '\xA2', '\x96', ' ', '\xEA', '\xA2', '\x92', ' ', '\xEA', '\xA2', '\x9D', ' ', '\xEA', '\xA2', '\x9B',  /* ๊ขœ ๊ขž ๊ขณ ๊ข‚ ๊ข– ๊ข’ ๊ข ๊ข› */
     '\0',
     '\xEA', '\xA2', '\x82', ' ', '\xEA', '\xA2', '\xA8', ' ', '\xEA', '\xA2', '\xBA', ' ', '\xEA', '\xA2', '\xA4', ' ', '\xEA', '\xA2', '\x8E',  /* ๊ข‚ ๊ขจ ๊ขบ ๊ขค ๊ขŽ */
@@ -687,6 +693,10 @@
     { AF_BLUE_STRING_OSMANYA_TOP,    AF_BLUE_PROPERTY_LATIN_TOP },
     { AF_BLUE_STRING_OSMANYA_BOTTOM, 0                          },
     { AF_BLUE_STRING_MAX,            0                          },
+    { AF_BLUE_STRING_ROHINGYA_TOP,    AF_BLUE_PROPERTY_LATIN_TOP     },
+    { AF_BLUE_STRING_ROHINGYA_BOTTOM, 0                              },
+    { AF_BLUE_STRING_ROHINGYA_JOIN,   AF_BLUE_PROPERTY_LATIN_NEUTRAL },
+    { AF_BLUE_STRING_MAX,             0                              },
     { AF_BLUE_STRING_SAURASHTRA_TOP,    AF_BLUE_PROPERTY_LATIN_TOP },
     { AF_BLUE_STRING_SAURASHTRA_BOTTOM, 0                          },
     { AF_BLUE_STRING_MAX,               0                          },
--- a/src/autofit/afblue.dat
+++ b/src/autofit/afblue.dat
@@ -443,6 +443,13 @@
   AF_BLUE_STRING_OSMANYA_BOTTOM
     "๐’€ ๐’‚ ๐’† ๐’ˆ ๐’Š ๐’’ ๐’  ๐’ฉ"
 
+  AF_BLUE_STRING_ROHINGYA_TOP
+    "๐ดƒ ๐ด€ ๐ด† ๐ด– ๐ด•"
+  AF_BLUE_STRING_ROHINGYA_BOTTOM
+    "๐ด” ๐ด– ๐ด• ๐ด‘ ๐ด"
+  AF_BLUE_STRING_ROHINGYA_JOIN
+    "ู€"
+
   AF_BLUE_STRING_SAURASHTRA_TOP
     "๊ขœ ๊ขž ๊ขณ ๊ข‚ ๊ข– ๊ข’ ๊ข ๊ข›"
   AF_BLUE_STRING_SAURASHTRA_BOTTOM
@@ -1001,6 +1008,12 @@
     { AF_BLUE_STRING_OSMANYA_TOP,    AF_BLUE_PROPERTY_LATIN_TOP }
     { AF_BLUE_STRING_OSMANYA_BOTTOM, 0                          }
     { AF_BLUE_STRING_MAX,            0                          }
+
+  AF_BLUE_STRINGSET_ROHG
+    { AF_BLUE_STRING_ROHINGYA_TOP,    AF_BLUE_PROPERTY_LATIN_TOP     }
+    { AF_BLUE_STRING_ROHINGYA_BOTTOM, 0                              }
+    { AF_BLUE_STRING_ROHINGYA_JOIN,   AF_BLUE_PROPERTY_LATIN_NEUTRAL }
+    { AF_BLUE_STRING_MAX,             0                              }
 
   AF_BLUE_STRINGSET_SAUR
     { AF_BLUE_STRING_SAURASHTRA_TOP,    AF_BLUE_PROPERTY_LATIN_TOP }
--- a/src/autofit/afblue.h
+++ b/src/autofit/afblue.h
@@ -234,36 +234,39 @@
     AF_BLUE_STRING_OSAGE_SMALL_DESCENDER = 4095,
     AF_BLUE_STRING_OSMANYA_TOP = 4110,
     AF_BLUE_STRING_OSMANYA_BOTTOM = 4150,
-    AF_BLUE_STRING_SAURASHTRA_TOP = 4190,
-    AF_BLUE_STRING_SAURASHTRA_BOTTOM = 4222,
-    AF_BLUE_STRING_SHAVIAN_TOP = 4242,
-    AF_BLUE_STRING_SHAVIAN_BOTTOM = 4252,
-    AF_BLUE_STRING_SHAVIAN_DESCENDER = 4277,
-    AF_BLUE_STRING_SHAVIAN_SMALL_TOP = 4287,
-    AF_BLUE_STRING_SHAVIAN_SMALL_BOTTOM = 4322,
-    AF_BLUE_STRING_SINHALA_TOP = 4337,
-    AF_BLUE_STRING_SINHALA_BOTTOM = 4369,
-    AF_BLUE_STRING_SINHALA_DESCENDER = 4401,
-    AF_BLUE_STRING_SUNDANESE_TOP = 4445,
-    AF_BLUE_STRING_SUNDANESE_BOTTOM = 4469,
-    AF_BLUE_STRING_SUNDANESE_DESCENDER = 4501,
-    AF_BLUE_STRING_TAI_VIET_TOP = 4509,
-    AF_BLUE_STRING_TAI_VIET_BOTTOM = 4529,
-    AF_BLUE_STRING_TAMIL_TOP = 4541,
-    AF_BLUE_STRING_TAMIL_BOTTOM = 4573,
-    AF_BLUE_STRING_TELUGU_TOP = 4605,
-    AF_BLUE_STRING_TELUGU_BOTTOM = 4633,
-    AF_BLUE_STRING_THAI_TOP = 4661,
-    AF_BLUE_STRING_THAI_BOTTOM = 4685,
-    AF_BLUE_STRING_THAI_ASCENDER = 4713,
-    AF_BLUE_STRING_THAI_LARGE_ASCENDER = 4725,
-    AF_BLUE_STRING_THAI_DESCENDER = 4737,
-    AF_BLUE_STRING_THAI_LARGE_DESCENDER = 4753,
-    AF_BLUE_STRING_THAI_DIGIT_TOP = 4761,
-    AF_BLUE_STRING_TIFINAGH = 4773,
-    AF_BLUE_STRING_VAI_TOP = 4805,
-    AF_BLUE_STRING_VAI_BOTTOM = 4837,
-    af_blue_1_1 = 4868,
+    AF_BLUE_STRING_ROHINGYA_TOP = 4190,
+    AF_BLUE_STRING_ROHINGYA_BOTTOM = 4215,
+    AF_BLUE_STRING_ROHINGYA_JOIN = 4240,
+    AF_BLUE_STRING_SAURASHTRA_TOP = 4243,
+    AF_BLUE_STRING_SAURASHTRA_BOTTOM = 4275,
+    AF_BLUE_STRING_SHAVIAN_TOP = 4295,
+    AF_BLUE_STRING_SHAVIAN_BOTTOM = 4305,
+    AF_BLUE_STRING_SHAVIAN_DESCENDER = 4330,
+    AF_BLUE_STRING_SHAVIAN_SMALL_TOP = 4340,
+    AF_BLUE_STRING_SHAVIAN_SMALL_BOTTOM = 4375,
+    AF_BLUE_STRING_SINHALA_TOP = 4390,
+    AF_BLUE_STRING_SINHALA_BOTTOM = 4422,
+    AF_BLUE_STRING_SINHALA_DESCENDER = 4454,
+    AF_BLUE_STRING_SUNDANESE_TOP = 4498,
+    AF_BLUE_STRING_SUNDANESE_BOTTOM = 4522,
+    AF_BLUE_STRING_SUNDANESE_DESCENDER = 4554,
+    AF_BLUE_STRING_TAI_VIET_TOP = 4562,
+    AF_BLUE_STRING_TAI_VIET_BOTTOM = 4582,
+    AF_BLUE_STRING_TAMIL_TOP = 4594,
+    AF_BLUE_STRING_TAMIL_BOTTOM = 4626,
+    AF_BLUE_STRING_TELUGU_TOP = 4658,
+    AF_BLUE_STRING_TELUGU_BOTTOM = 4686,
+    AF_BLUE_STRING_THAI_TOP = 4714,
+    AF_BLUE_STRING_THAI_BOTTOM = 4738,
+    AF_BLUE_STRING_THAI_ASCENDER = 4766,
+    AF_BLUE_STRING_THAI_LARGE_ASCENDER = 4778,
+    AF_BLUE_STRING_THAI_DESCENDER = 4790,
+    AF_BLUE_STRING_THAI_LARGE_DESCENDER = 4806,
+    AF_BLUE_STRING_THAI_DIGIT_TOP = 4814,
+    AF_BLUE_STRING_TIFINAGH = 4826,
+    AF_BLUE_STRING_VAI_TOP = 4858,
+    AF_BLUE_STRING_VAI_BOTTOM = 4890,
+    af_blue_1_1 = 4921,
 #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,
@@ -365,17 +368,18 @@
     AF_BLUE_STRINGSET_ORKH = 196,
     AF_BLUE_STRINGSET_OSGE = 199,
     AF_BLUE_STRINGSET_OSMA = 207,
-    AF_BLUE_STRINGSET_SAUR = 210,
-    AF_BLUE_STRINGSET_SHAW = 213,
-    AF_BLUE_STRINGSET_SINH = 219,
-    AF_BLUE_STRINGSET_SUND = 223,
-    AF_BLUE_STRINGSET_TAML = 227,
-    AF_BLUE_STRINGSET_TAVT = 230,
-    AF_BLUE_STRINGSET_TELU = 233,
-    AF_BLUE_STRINGSET_TFNG = 236,
-    AF_BLUE_STRINGSET_THAI = 239,
-    AF_BLUE_STRINGSET_VAII = 247,
-    af_blue_2_1 = 250,
+    AF_BLUE_STRINGSET_ROHG = 210,
+    AF_BLUE_STRINGSET_SAUR = 214,
+    AF_BLUE_STRINGSET_SHAW = 217,
+    AF_BLUE_STRINGSET_SINH = 223,
+    AF_BLUE_STRINGSET_SUND = 227,
+    AF_BLUE_STRINGSET_TAML = 231,
+    AF_BLUE_STRINGSET_TAVT = 234,
+    AF_BLUE_STRINGSET_TELU = 237,
+    AF_BLUE_STRINGSET_TFNG = 240,
+    AF_BLUE_STRINGSET_THAI = 243,
+    AF_BLUE_STRINGSET_VAII = 251,
+    af_blue_2_1 = 254,
 #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
@@ -778,6 +778,18 @@
   };
 
 
+  const AF_Script_UniRangeRec  af_rohg_uniranges[] =
+  {
+    AF_UNIRANGE_REC( 0x10D00, 0x10D3F ),   /* Hanifi Rohingya */
+    AF_UNIRANGE_REC(       0,       0 )
+  };
+
+  const AF_Script_UniRangeRec  af_rohg_nonbase_uniranges[] =
+  {
+    AF_UNIRANGE_REC( 0, 0 )
+  };
+
+
   const AF_Script_UniRangeRec  af_saur_uniranges[] =
   {
     AF_UNIRANGE_REC(  0xA880,  0xA8DF ),   /* Saurashtra */
--- a/src/autofit/afscript.h
+++ b/src/autofit/afscript.h
@@ -291,6 +291,12 @@
           HINTING_BOTTOM_TO_TOP,
           "\xF0\x90\x92\x86 \xF0\x90\x92\xA0" ) /* ๐’† ๐’  */
 
+  SCRIPT( rohg, ROHG,
+          "Hanifi Rohingya",
+          HB_SCRIPT_HANIFI_ROHINGYA,
+          HINTING_BOTTOM_TO_TOP,
+          "\xF0\x90\xB4\xB0" ) /* ๐ดฐ */
+
   SCRIPT( saur, SAUR,
           "Saurashtra",
           HB_SCRIPT_SAURASHTRA,
--- a/src/autofit/afstyles.h
+++ b/src/autofit/afstyles.h
@@ -378,6 +378,13 @@
          AF_BLUE_STRINGSET_OSMA,
          AF_COVERAGE_DEFAULT )
 
+  STYLE( rohg_dflt, ROHG_DFLT,
+         "Hanifi Rohingya default style",
+         AF_WRITING_SYSTEM_LATIN,
+         AF_SCRIPT_ROHG,
+         AF_BLUE_STRINGSET_ROHG,
+         AF_COVERAGE_DEFAULT )
+
   STYLE( saur_dflt, SAUR_DFLT,
          "Saurashtra default style",
          AF_WRITING_SYSTEM_LATIN,