Index: src/autofit/aftypes.h |
diff --git a/src/autofit/aftypes.h b/src/autofit/aftypes.h |
index 21e442c237b8c551a36231da5c24100b64da7760..9acd7ad6d244483ae79fa054204a269e9dee4890 100644 |
--- a/src/autofit/aftypes.h |
+++ b/src/autofit/aftypes.h |
@@ -4,7 +4,7 @@ |
/* */ |
/* Auto-fitter types (specification only). */ |
/* */ |
-/* Copyright 2003-2009, 2011 by */ |
+/* Copyright 2003-2009, 2011-2012 by */ |
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
/* */ |
/* This file is part of the FreeType project, and may only be used, */ |
@@ -87,8 +87,9 @@ extern void* _af_debug_hints; |
FT_Pos* table ); |
FT_LOCAL( void ) |
- af_sort_widths( FT_UInt count, |
- AF_Width widths ); |
+ af_sort_and_quantize_widths( FT_UInt* count, |
+ AF_Width widths, |
+ FT_Pos threshold ); |
/*************************************************************************/ |
@@ -228,12 +229,12 @@ extern void* _af_debug_hints; |
typedef enum AF_Script_ |
{ |
- AF_SCRIPT_NONE = 0, |
+ AF_SCRIPT_DUMMY = 0, |
AF_SCRIPT_LATIN = 1, |
AF_SCRIPT_CJK = 2, |
AF_SCRIPT_INDIC = 3, |
#ifdef FT_OPTION_AUTOFIT2 |
- AF_SCRIPT_LATIN2, |
+ AF_SCRIPT_LATIN2 = 4, |
#endif |
/* add new scripts here. Don't forget to update the list in */ |
@@ -245,6 +246,7 @@ extern void* _af_debug_hints; |
typedef struct AF_ScriptClassRec_ const* AF_ScriptClass; |
+ typedef struct AF_FaceGlobalsRec_* AF_FaceGlobals; |
typedef struct AF_ScriptMetricsRec_ |
{ |
@@ -252,6 +254,8 @@ extern void* _af_debug_hints; |
AF_ScalerRec scaler; |
FT_Bool digits_have_same_width; |
+ AF_FaceGlobals globals; /* to access properties */ |
+ |
} AF_ScriptMetricsRec, *AF_ScriptMetrics; |
@@ -294,8 +298,9 @@ extern void* _af_debug_hints; |
typedef struct AF_ScriptClassRec_ |
{ |
- AF_Script script; |
- AF_Script_UniRange script_uni_ranges; /* last must be { 0, 0 } */ |
+ AF_Script script; |
+ AF_Script_UniRange script_uni_ranges; /* last must be { 0, 0 } */ |
+ FT_UInt32 standard_char; /* for default width and height */ |
FT_Offset script_metrics_size; |
AF_Script_InitMetricsFunc script_metrics_init; |
@@ -315,13 +320,14 @@ extern void* _af_debug_hints; |
FT_CALLBACK_TABLE const AF_ScriptClassRec \ |
script_class; |
-#define AF_DEFINE_SCRIPT_CLASS( script_class, script_, ranges, m_size, \ |
+#define AF_DEFINE_SCRIPT_CLASS( script_class, script_, ranges, def_char, \ |
+ m_size, \ |
m_init, m_scale, m_done, h_init, h_apply ) \ |
- FT_CALLBACK_TABLE_DEF const AF_ScriptClassRec \ |
- script_class = \ |
+ FT_CALLBACK_TABLE_DEF const AF_ScriptClassRec script_class = \ |
{ \ |
script_, \ |
ranges, \ |
+ def_char, \ |
\ |
m_size, \ |
\ |
@@ -335,17 +341,19 @@ extern void* _af_debug_hints; |
#else /* FT_CONFIG_OPTION_PIC */ |
-#define AF_DECLARE_SCRIPT_CLASS( script_class ) \ |
- FT_LOCAL( void ) \ |
- FT_Init_Class_##script_class( AF_ScriptClassRec* ac ); |
+#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, \ |
+#define AF_DEFINE_SCRIPT_CLASS( script_class, script_, ranges, def_char, \ |
+ m_size, \ |
m_init, m_scale, m_done, h_init, h_apply ) \ |
FT_LOCAL_DEF( void ) \ |
- FT_Init_Class_##script_class( AF_ScriptClassRec* ac ) \ |
+ FT_Init_Class_ ## script_class( AF_ScriptClassRec* ac ) \ |
{ \ |
ac->script = script_; \ |
ac->script_uni_ranges = ranges; \ |
+ ac->default_char = def_char; \ |
\ |
ac->script_metrics_size = m_size; \ |
\ |