shithub: freetype+ttf2subf

Download patch

ref: 90ccab3d785e9567200a585e82883007a69d7fea
parent: df2a7cd198dfc2b906c071e3ba95e3d19e5fedae
author: Werner Lemberg <[email protected]>
date: Sat Apr 8 13:58:57 EDT 2017

[autofit] Add support for Old Turkic script.

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

* src/autofit/afscript.h: Add Old Turkic standard characters.

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

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,18 @@
 2017-04-08  Sascha Brawer  <[email protected]>
 	    Werner Lemberg  <[email protected]
 
+	[autofit] Add support for Old Turkic script.
+
+	* src/autofit/afblue.dat: Add blue zone data for Old Turkic.
+	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
+
+	* src/autofit/afscript.h: Add Old Turkic standard characters.
+
+	* src/autofit/afranges.c, src/autofit/afstyles.h: Add Old Turkic data.
+
+2017-04-08  Sascha Brawer  <[email protected]>
+	    Werner Lemberg  <[email protected]
+
 	[autofit] Add support for Gothic script.
 
 	* src/autofit/afblue.dat: Add blue zone data for Gothic.
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -1,8 +1,10 @@
 
-CHANGES BETWEEN 2.7.1 and 2.7.2
+CHANGES BETWEEN 2.7.1 and 2.8
 
   I. IMPORTANT CHANGES
 
+    - Support for OpenType Variation Fonts is now complete.
+
     - A new  function `FT_Face_Properties' allows the  control of some
       module  and   library  properties  per  font.    Currently,  the
       following properties can be  handled: stem darkening, LCD filter
@@ -21,8 +23,15 @@
       tables also.
 
 
-  II. MISCELLANEOUS
+  II. IMPORTANT BUG FIXES
 
+    - If a TrueType font gets loaded with FT_LOAD_NO_HINTING, FreeType
+      now scales  the font linearly  again (bug introduced  in version
+      2.4.6).
+
+
+  III. MISCELLANEOUS
+
     - A  new function  `FT_Set_Default_Properties' has  been added  to
       parse    the    `FREETYPE_PROPERTIES'    environment    variable
       (previously, it  was internal only).   `FT_Init_FreeType' always
@@ -61,6 +70,9 @@
 
     - The `freetype-config' script is now a wrapper of `pkg-config' if
       this program is available in the path.
+
+    - FT_LOAD_TARGET_LCD  is now  a  variant of  FT_LOAD_TARGET_LIGHT;
+      this should provide better rendering results.
 
 
 ======================================================================
--- a/src/autofit/afblue.c
+++ b/src/autofit/afblue.c
@@ -254,6 +254,10 @@
     '\0',
     '\xE1', '\xB1', '\x9B', ' ', '\xE1', '\xB1', '\x9C', ' ', '\xE1', '\xB1', '\x9D', ' ', '\xE1', '\xB1', '\xA1', ' ', '\xE1', '\xB1', '\xA2', ' ', '\xE1', '\xB1', '\xA5',  /* ᱛ ᱜ ᱝ ᱡ ᱢ ᱥ */
     '\0',
+    '\xF0', '\x90', '\xB0', '\x97', ' ', '\xF0', '\x90', '\xB0', '\x98', ' ', '\xF0', '\x90', '\xB0', '\xA7',  /* 𐰗 𐰘 𐰧 */
+    '\0',
+    '\xF0', '\x90', '\xB0', '\x89', ' ', '\xF0', '\x90', '\xB0', '\x97', ' ', '\xF0', '\x90', '\xB0', '\xA6', ' ', '\xF0', '\x90', '\xB0', '\xA7',  /* 𐰉 𐰗 𐰦 𐰧 */
+    '\0',
     '\xF0', '\x90', '\x92', '\xBE', ' ', '\xF0', '\x90', '\x93', '\x8D', ' ', '\xF0', '\x90', '\x93', '\x92', ' ', '\xF0', '\x90', '\x93', '\x93', ' ', '\xF0', '\x90', '\x92', '\xBB', ' ', '\xF0', '\x90', '\x93', '\x82', ' ', '\xF0', '\x90', '\x92', '\xB5', ' ', '\xF0', '\x90', '\x93', '\x86',  /* 𐒾 𐓍 𐓒 𐓓 𐒻 𐓂 𐒵 𐓆 */
     '\0',
     '\xF0', '\x90', '\x92', '\xB0', ' ', '\xF0', '\x90', '\x93', '\x8D', ' ', '\xF0', '\x90', '\x93', '\x82', ' ', '\xF0', '\x90', '\x92', '\xBF', ' ', '\xF0', '\x90', '\x93', '\x8E', ' ', '\xF0', '\x90', '\x92', '\xB9',  /* 𐒰 𐓍 𐓂 𐒿 𐓎 𐒹 */
@@ -531,6 +535,9 @@
     { AF_BLUE_STRING_OL_CHIKI, AF_BLUE_PROPERTY_LATIN_TOP },
     { AF_BLUE_STRING_OL_CHIKI, 0                          },
     { AF_BLUE_STRING_MAX,      0                          },
+    { AF_BLUE_STRING_OLD_TURKIC_TOP,    AF_BLUE_PROPERTY_LATIN_TOP },
+    { AF_BLUE_STRING_OLD_TURKIC_BOTTOM, 0                          },
+    { AF_BLUE_STRING_MAX,               0                          },
     { AF_BLUE_STRING_OSAGE_CAPITAL_TOP,       AF_BLUE_PROPERTY_LATIN_TOP       },
     { AF_BLUE_STRING_OSAGE_CAPITAL_BOTTOM,    0                                },
     { AF_BLUE_STRING_OSAGE_CAPITAL_DESCENDER, 0                                },
--- a/src/autofit/afblue.dat
+++ b/src/autofit/afblue.dat
@@ -344,6 +344,11 @@
   AF_BLUE_STRING_OL_CHIKI
     "ᱛ ᱜ ᱝ ᱡ ᱢ ᱥ"
 
+  AF_BLUE_STRING_OLD_TURKIC_TOP
+    "𐰗 𐰘 𐰧"
+  AF_BLUE_STRING_OLD_TURKIC_BOTTOM
+    "𐰉 𐰗 𐰦 𐰧"
+
   AF_BLUE_STRING_OSAGE_CAPITAL_TOP
     "𐒾 𐓍 𐓒 𐓓 𐒻 𐓂 𐒵 𐓆"
   AF_BLUE_STRING_OSAGE_CAPITAL_BOTTOM
@@ -806,6 +811,11 @@
     { AF_BLUE_STRING_OL_CHIKI, AF_BLUE_PROPERTY_LATIN_TOP }
     { AF_BLUE_STRING_OL_CHIKI, 0                          }
     { AF_BLUE_STRING_MAX,      0                          }
+
+  AF_BLUE_STRINGSET_ORKH
+    { AF_BLUE_STRING_OLD_TURKIC_TOP,    AF_BLUE_PROPERTY_LATIN_TOP }
+    { AF_BLUE_STRING_OLD_TURKIC_BOTTOM, 0                          }
+    { AF_BLUE_STRING_MAX,               0                          }
 
   AF_BLUE_STRINGSET_OSGE
     { AF_BLUE_STRING_OSAGE_CAPITAL_TOP,       AF_BLUE_PROPERTY_LATIN_TOP       }
--- a/src/autofit/afblue.h
+++ b/src/autofit/afblue.h
@@ -191,31 +191,33 @@
     AF_BLUE_STRING_NKO_SMALL_TOP = 2964,
     AF_BLUE_STRING_NKO_SMALL_BOTTOM = 2973,
     AF_BLUE_STRING_OL_CHIKI = 2985,
-    AF_BLUE_STRING_OSAGE_CAPITAL_TOP = 3009,
-    AF_BLUE_STRING_OSAGE_CAPITAL_BOTTOM = 3049,
-    AF_BLUE_STRING_OSAGE_CAPITAL_DESCENDER = 3079,
-    AF_BLUE_STRING_OSAGE_SMALL_TOP = 3094,
-    AF_BLUE_STRING_OSAGE_SMALL_BOTTOM = 3134,
-    AF_BLUE_STRING_OSAGE_SMALL_ASCENDER = 3174,
-    AF_BLUE_STRING_OSAGE_SMALL_DESCENDER = 3199,
-    AF_BLUE_STRING_SINHALA_TOP = 3214,
-    AF_BLUE_STRING_SINHALA_BOTTOM = 3246,
-    AF_BLUE_STRING_SINHALA_DESCENDER = 3278,
-    AF_BLUE_STRING_TAI_VIET_TOP = 3322,
-    AF_BLUE_STRING_TAI_VIET_BOTTOM = 3342,
-    AF_BLUE_STRING_TAMIL_TOP = 3354,
-    AF_BLUE_STRING_TAMIL_BOTTOM = 3386,
-    AF_BLUE_STRING_TELUGU_TOP = 3418,
-    AF_BLUE_STRING_TELUGU_BOTTOM = 3446,
-    AF_BLUE_STRING_THAI_TOP = 3474,
-    AF_BLUE_STRING_THAI_BOTTOM = 3498,
-    AF_BLUE_STRING_THAI_ASCENDER = 3526,
-    AF_BLUE_STRING_THAI_LARGE_ASCENDER = 3538,
-    AF_BLUE_STRING_THAI_DESCENDER = 3550,
-    AF_BLUE_STRING_THAI_LARGE_DESCENDER = 3566,
-    AF_BLUE_STRING_THAI_DIGIT_TOP = 3574,
-    AF_BLUE_STRING_TIFINAGH = 3586,
-    af_blue_1_1 = 3617,
+    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,
 #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,
@@ -305,14 +307,15 @@
     AF_BLUE_STRINGSET_NKOO = 146,
     AF_BLUE_STRINGSET_NONE = 151,
     AF_BLUE_STRINGSET_OLCK = 152,
-    AF_BLUE_STRINGSET_OSGE = 155,
-    AF_BLUE_STRINGSET_SINH = 163,
-    AF_BLUE_STRINGSET_TAML = 167,
-    AF_BLUE_STRINGSET_TAVT = 170,
-    AF_BLUE_STRINGSET_TELU = 173,
-    AF_BLUE_STRINGSET_THAI = 176,
-    AF_BLUE_STRINGSET_TFNG = 184,
-    af_blue_2_1 = 187,
+    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,
 #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
@@ -615,6 +615,18 @@
   };
 
 
+  const AF_Script_UniRangeRec  af_orkh_uniranges[] =
+  {
+    AF_UNIRANGE_REC( 0x10C00, 0x10C4F ),    /* Old Turkic */
+    AF_UNIRANGE_REC(       0,       0 )
+  };
+
+  const AF_Script_UniRangeRec  af_orkh_nonbase_uniranges[] =
+  {
+    AF_UNIRANGE_REC( 0, 0 )
+  };
+
+
   const AF_Script_UniRangeRec  af_osge_uniranges[] =
   {
     AF_UNIRANGE_REC( 0x104B0, 0x104FF ),    /* Osage */
--- a/src/autofit/afscript.h
+++ b/src/autofit/afscript.h
@@ -219,6 +219,12 @@
           HINTING_BOTTOM_TO_TOP,
           "\xE1\xB1\x9B" ) /* ᱛ */
 
+  SCRIPT( orkh, ORKH,
+          "Old Turkic",
+          HB_SCRIPT_OLD_TURKIC,
+          HINTING_BOTTOM_TO_TOP,
+          "\xF0\x90\xB0\x97" ) /* 𐰗 */
+
   SCRIPT( osge, OSGE,
           "Osage",
           HB_SCRIPT_OSAGE,
--- a/src/autofit/afstyles.h
+++ b/src/autofit/afstyles.h
@@ -294,6 +294,13 @@
          AF_BLUE_STRINGSET_OLCK,
          AF_COVERAGE_DEFAULT )
 
+  STYLE( orkh_dflt, ORKH_DFLT,
+         "Old Turkic default style",
+         AF_WRITING_SYSTEM_LATIN,
+         AF_SCRIPT_ORKH,
+         AF_BLUE_STRINGSET_ORKH,
+         AF_COVERAGE_DEFAULT )
+
   STYLE( osge_dflt, OSGE_DFLT,
          "Osage default style",
          AF_WRITING_SYSTEM_LATIN,