summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/freetype/src/autofit/aftypes.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/freetype/src/autofit/aftypes.h')
-rw-r--r--src/3rdparty/freetype/src/autofit/aftypes.h55
1 files changed, 54 insertions, 1 deletions
diff --git a/src/3rdparty/freetype/src/autofit/aftypes.h b/src/3rdparty/freetype/src/autofit/aftypes.h
index 626a38865e..5574f0c302 100644
--- a/src/3rdparty/freetype/src/autofit/aftypes.h
+++ b/src/3rdparty/freetype/src/autofit/aftypes.h
@@ -285,6 +285,7 @@ extern void* _af_debug_hints;
{
AF_ScriptClass clazz;
AF_ScalerRec scaler;
+ FT_Bool digits_have_same_width;
} AF_ScriptMetricsRec, *AF_ScriptMetrics;
@@ -321,6 +322,8 @@ extern void* _af_debug_hints;
} AF_Script_UniRangeRec;
+#define AF_UNIRANGE_REC( a, b ) { (FT_UInt32)(a), (FT_UInt32)(b) }
+
typedef const AF_Script_UniRangeRec *AF_Script_UniRange;
@@ -329,7 +332,7 @@ extern void* _af_debug_hints;
AF_Script script;
AF_Script_UniRange script_uni_ranges; /* last must be { 0, 0 } */
- FT_UInt script_metrics_size;
+ FT_Offset script_metrics_size;
AF_Script_InitMetricsFunc script_metrics_init;
AF_Script_ScaleMetricsFunc script_metrics_scale;
AF_Script_DoneMetricsFunc script_metrics_done;
@@ -339,6 +342,56 @@ extern void* _af_debug_hints;
} AF_ScriptClassRec;
+/* Declare and define vtables for classes */
+#ifndef FT_CONFIG_OPTION_PIC
+
+#define AF_DECLARE_SCRIPT_CLASS(script_class) \
+ FT_CALLBACK_TABLE const AF_ScriptClassRec \
+ script_class;
+
+#define AF_DEFINE_SCRIPT_CLASS(script_class, script_, ranges, m_size, \
+ m_init, m_scale, m_done, h_init, h_apply) \
+ FT_CALLBACK_TABLE_DEF const AF_ScriptClassRec \
+ script_class = \
+ { \
+ script_, \
+ ranges, \
+ \
+ m_size, \
+ \
+ m_init, \
+ m_scale, \
+ m_done, \
+ \
+ h_init, \
+ h_apply \
+ };
+
+#else
+
+#define AF_DECLARE_SCRIPT_CLASS(script_class) \
+ FT_LOCAL(void) \
+ FT_Init_Class_##script_class(AF_ScriptClassRec* ac);
+
+#define AF_DEFINE_SCRIPT_CLASS(script_class, script_, ranges, m_size, \
+ m_init, m_scale, m_done, h_init, h_apply) \
+ FT_LOCAL_DEF(void) \
+ FT_Init_Class_##script_class(AF_ScriptClassRec* ac) \
+ { \
+ ac->script = script_; \
+ ac->script_uni_ranges = ranges; \
+ \
+ ac->script_metrics_size = m_size; \
+ \
+ ac->script_metrics_init = m_init; \
+ ac->script_metrics_scale = m_scale; \
+ ac->script_metrics_done = m_done; \
+ \
+ ac->script_hints_init = h_init; \
+ ac->script_hints_apply = h_apply; \
+ }
+#endif
+
/* */