Commit 172db3254ca54c008b561e299f26590aa5e68764

Werner Lemberg 2015-12-24T08:17:51

[autofit] Add hinting direction to `AF_ScriptClassRec'. Still unused. * src/autofit/afglobal.c (SCRIPT): Handle hinting direction. * src/autofit/aftypes.h (AF_ScriptClassRec): Add `top_to_bottom_hinting' field. (AF_HINTING_BOTTOM_TO_TOP, AF_HINTING_TOP_TO_BOTTOM): New macros. (AF_DEFINE_SCRIPT_CLASS): Updated.

diff --git a/ChangeLog b/ChangeLog
index 11dcdbc..89d03ef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2015-12-24  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Add hinting direction to `AF_ScriptClassRec'.
+
+	Still unused.
+
+	* src/autofit/afglobal.c (SCRIPT): Handle hinting direction.
+
+	* src/autofit/aftypes.h (AF_ScriptClassRec): Add
+	`top_to_bottom_hinting' field.
+	(AF_HINTING_BOTTOM_TO_TOP, AF_HINTING_TOP_TO_BOTTOM): New macros.
+	(AF_DEFINE_SCRIPT_CLASS): Updated.
+
 2015-12-23  Werner Lemberg  <wl@gnu.org>
 
 	[autofit] Start implementing hinting direction (up/down, down/up).
diff --git a/src/autofit/afglobal.c b/src/autofit/afglobal.c
index 39ea9bb..c3a0818 100644
--- a/src/autofit/afglobal.c
+++ b/src/autofit/afglobal.c
@@ -48,6 +48,7 @@
             AF_SCRIPT_ ## S,                \
             af_ ## s ## _uniranges,         \
             af_ ## s ## _nonbase_uniranges, \
+            AF_ ## H,                       \
             ss )
 
 #include "afscript.h"
diff --git a/src/autofit/aftypes.h b/src/autofit/aftypes.h
index 0134877..57e8a26 100644
--- a/src/autofit/aftypes.h
+++ b/src/autofit/aftypes.h
@@ -343,6 +343,8 @@ extern void*  _af_debug_hints;
     AF_Script_UniRange  script_uni_ranges;
     AF_Script_UniRange  script_uni_nonbase_ranges;
 
+    FT_Bool  top_to_bottom_hinting;
+
     const char*  standard_charstring;      /* for default width and height */
 
   } AF_ScriptClassRec;
@@ -479,6 +481,10 @@ extern void*  _af_debug_hints;
   } AF_StyleMetricsRec;
 
 
+#define AF_HINTING_BOTTOM_TO_TOP  0
+#define AF_HINTING_TOP_TO_BOTTOM  1
+
+
   /* Declare and define vtables for classes */
 #ifndef FT_CONFIG_OPTION_PIC
 
@@ -522,6 +528,7 @@ extern void*  _af_debug_hints;
           script,                         \
           ranges,                         \
           nonbase_ranges,                 \
+          top_to_bottom,                  \
           std_charstring )                \
   FT_CALLBACK_TABLE_DEF                   \
   const AF_ScriptClassRec  script_class = \
@@ -529,6 +536,7 @@ extern void*  _af_debug_hints;
     script,                               \
     ranges,                               \
     nonbase_ranges,                       \
+    top_to_bottom,                        \
     std_charstring,                       \
   };
 
@@ -595,6 +603,7 @@ extern void*  _af_debug_hints;
           script_,                                         \
           ranges,                                          \
           nonbase_ranges,                                  \
+          top_to_bottom,                                   \
           std_charstring )                                 \
   FT_LOCAL_DEF( void )                                     \
   FT_Init_Class_ ## script_class( AF_ScriptClassRec*  ac ) \
@@ -602,6 +611,7 @@ extern void*  _af_debug_hints;
     ac->script                    = script_;               \
     ac->script_uni_ranges         = ranges;                \
     ac->script_uni_nonbase_ranges = nonbase_ranges;        \
+    ac->top_to_bottom_hinting     = top_to_bottom;         \
     ac->standard_charstring       = std_charstring;        \
   }