43#ifdef FT_DEBUG_AUTOFIT
44#include FT_CONFIG_STANDARD_LIBRARY_H
58#ifdef FT_DEBUG_AUTOFIT
60extern int _af_debug_disable_horz_hints;
61extern int _af_debug_disable_vert_hints;
62extern int _af_debug_disable_blue_hints;
63extern void* _af_debug_hints;
112#define AF_ANGLE_PI 256
113#define AF_ANGLE_2PI ( AF_ANGLE_PI * 2 )
114#define AF_ANGLE_PI2 ( AF_ANGLE_PI / 2 )
115#define AF_ANGLE_PI4 ( AF_ANGLE_PI / 4 )
137#define AF_ANGLE_DIFF( result, angle1, angle2 ) \
139 AF_Angle _delta = (angle2) - (angle1); \
142 while ( _delta <= -AF_ANGLE_PI ) \
143 _delta += AF_ANGLE_2PI; \
145 while ( _delta > AF_ANGLE_PI ) \
146 _delta -= AF_ANGLE_2PI; \
172#define AF_SCALER_FLAG_NO_HORIZONTAL 1U
173#define AF_SCALER_FLAG_NO_VERTICAL 2U
174#define AF_SCALER_FLAG_NO_ADVANCE 4U
175#define AF_SCALER_FLAG_NO_WARPER 8U
191#define AF_SCALER_EQUAL_SCALES( a, b ) \
192 ( (a)->x_scale == (b)->x_scale && \
193 (a)->y_scale == (b)->y_scale && \
194 (a)->x_delta == (b)->x_delta && \
195 (a)->y_delta == (b)->y_delta )
261#define WRITING_SYSTEM( ws, WS ) \
262 AF_WRITING_SYSTEM_ ## WS,
313#define SCRIPT( s, S, d, h, H, ss ) \
334#define AF_UNIRANGE_REC( a, b ) { (FT_UInt32)(a), (FT_UInt32)(b) }
404#define COVERAGE( name, NAME, description, \
405 tag1, tag2, tag3, tag4 ) \
406 AF_COVERAGE_ ## NAME,
432#define STYLE( s, S, d, ws, sc, ss, c ) \
485#define AF_HINTING_BOTTOM_TO_TOP 0
486#define AF_HINTING_TOP_TO_BOTTOM 1
490#define AF_DECLARE_WRITING_SYSTEM_CLASS( writing_system_class ) \
491 FT_CALLBACK_TABLE const AF_WritingSystemClassRec \
492 writing_system_class;
494#define AF_DEFINE_WRITING_SYSTEM_CLASS( \
495 writing_system_class, \
504 FT_CALLBACK_TABLE_DEF \
505 const AF_WritingSystemClassRec writing_system_class = \
521#define AF_DECLARE_SCRIPT_CLASS( script_class ) \
522 FT_CALLBACK_TABLE const AF_ScriptClassRec \
525#define AF_DEFINE_SCRIPT_CLASS( \
532 FT_CALLBACK_TABLE_DEF \
533 const AF_ScriptClassRec script_class = \
543#define AF_DECLARE_STYLE_CLASS( style_class ) \
544 FT_CALLBACK_TABLE const AF_StyleClassRec \
547#define AF_DEFINE_STYLE_CLASS( \
554 FT_CALLBACK_TABLE_DEF \
555 const AF_StyleClassRec style_class = \
enum AF_Blue_Stringset_ AF_Blue_Stringset
struct AF_StyleMetricsRec_ * AF_StyleMetrics
const AF_ScriptClassRec * AF_ScriptClass
const AF_StyleClassRec * AF_StyleClass
struct AF_FaceGlobalsRec_ * AF_FaceGlobals
FT_Error(* AF_WritingSystem_InitMetricsFunc)(AF_StyleMetrics metrics, FT_Face face)
void(* AF_WritingSystem_ScaleMetricsFunc)(AF_StyleMetrics metrics, AF_Scaler scaler)
struct AF_StyleMetricsRec_ AF_StyleMetricsRec
enum AF_Script_ AF_Script
struct AF_ScriptClassRec_ AF_ScriptClassRec
af_sort_pos(FT_UInt count, FT_Pos *table)
struct AF_WritingSystemClassRec_ AF_WritingSystemClassRec
FT_BEGIN_HEADER struct AF_WidthRec_ AF_WidthRec
struct AF_StyleClassRec_ AF_StyleClassRec
FT_BEGIN_HEADER struct AF_WidthRec_ * AF_Width
void(* AF_WritingSystem_DoneMetricsFunc)(AF_StyleMetrics metrics)
const AF_WritingSystemClassRec * AF_WritingSystemClass
const AF_Script_UniRangeRec * AF_Script_UniRange
FT_Error(* AF_WritingSystem_InitHintsFunc)(AF_GlyphHints hints, AF_StyleMetrics metrics)
struct AF_ScalerRec_ * AF_Scaler
FT_Error(* AF_WritingSystem_ApplyHintsFunc)(FT_UInt glyph_index, AF_GlyphHints hints, FT_Outline *outline, AF_StyleMetrics metrics)
struct AF_GlyphHintsRec_ * AF_GlyphHints
struct AF_ScalerRec_ AF_ScalerRec
enum AF_WritingSystem_ AF_WritingSystem
enum AF_Coverage_ AF_Coverage
struct AF_Script_UniRangeRec_ AF_Script_UniRangeRec
af_sort_and_quantize_widths(FT_UInt *count, AF_Width widths, FT_Pos threshold)
void(* AF_WritingSystem_GetStdWidthsFunc)(AF_StyleMetrics metrics, FT_Pos *stdHW, FT_Pos *stdVW)
enum FT_Render_Mode_ FT_Render_Mode
FT_BEGIN_HEADER typedef signed long FT_Pos
FT_BEGIN_HEADER typedef unsigned char FT_Bool
GLuint GLuint GLsizei count
GLsizei GLenum const GLvoid GLuint GLsizei GLfloat * metrics
namespace GUID const ADDRINFOEXW * hints
FT_Render_Mode render_mode
const char * standard_charstring
FT_Bool top_to_bottom_hinting
AF_Script_UniRange script_uni_nonbase_ranges
AF_Script_UniRange script_uni_ranges
AF_WritingSystem writing_system
AF_Blue_Stringset blue_stringset
FT_Bool digits_have_same_width
AF_StyleClass style_class
AF_WritingSystem_InitHintsFunc style_hints_init
AF_WritingSystem writing_system
AF_WritingSystem_DoneMetricsFunc style_metrics_done
AF_WritingSystem_GetStdWidthsFunc style_metrics_getstdw
AF_WritingSystem_ScaleMetricsFunc style_metrics_scale
AF_WritingSystem_ApplyHintsFunc style_hints_apply
FT_Offset style_metrics_size
AF_WritingSystem_InitMetricsFunc style_metrics_init