35#define PSH_HINT_GHOST PS_HINT_FLAG_GHOST
36#define PSH_HINT_BOTTOM PS_HINT_FLAG_BOTTOM
37#define PSH_HINT_ACTIVE 4U
38#define PSH_HINT_FITTED 8U
41#define psh_hint_is_active( x ) ( ( (x)->flags & PSH_HINT_ACTIVE ) != 0 )
42#define psh_hint_is_ghost( x ) ( ( (x)->flags & PSH_HINT_GHOST ) != 0 )
43#define psh_hint_is_fitted( x ) ( ( (x)->flags & PSH_HINT_FITTED ) != 0 )
45#define psh_hint_activate( x ) (x)->flags |= PSH_HINT_ACTIVE
46#define psh_hint_deactivate( x ) (x)->flags &= ~PSH_HINT_ACTIVE
47#define psh_hint_set_fitted( x ) (x)->flags |= PSH_HINT_FITTED
105#define PSH_DIR_HORIZONTAL 2
106#define PSH_DIR_VERTICAL 1
108#define PSH_DIR_COMPARE( d1, d2 ) ( (d1) == (d2) || (d1) == -(d2) )
109#define PSH_DIR_IS_HORIZONTAL( d ) PSH_DIR_COMPARE( d, PSH_DIR_HORIZONTAL )
110#define PSH_DIR_IS_VERTICAL( d ) PSH_DIR_COMPARE( d, PSH_DIR_VERTICAL )
115#define PSH_POINT_OFF 1U
116#define PSH_POINT_SMOOTH 2U
117#define PSH_POINT_INFLEX 4U
120#define psh_point_is_smooth( p ) ( (p)->flags & PSH_POINT_SMOOTH )
121#define psh_point_is_off( p ) ( (p)->flags & PSH_POINT_OFF )
122#define psh_point_is_inflex( p ) ( (p)->flags & PSH_POINT_INFLEX )
124#define psh_point_set_smooth( p ) (p)->flags |= PSH_POINT_SMOOTH
125#define psh_point_set_off( p ) (p)->flags |= PSH_POINT_OFF
126#define psh_point_set_inflex( p ) (p)->flags |= PSH_POINT_INFLEX
130#define PSH_POINT_STRONG 16U
131#define PSH_POINT_FITTED 32U
132#define PSH_POINT_EXTREMUM 64U
133#define PSH_POINT_POSITIVE 128U
134#define PSH_POINT_NEGATIVE 256U
135#define PSH_POINT_EDGE_MIN 512U
136#define PSH_POINT_EDGE_MAX 1024U
139#define psh_point_is_strong( p ) ( (p)->flags2 & PSH_POINT_STRONG )
140#define psh_point_is_fitted( p ) ( (p)->flags2 & PSH_POINT_FITTED )
141#define psh_point_is_extremum( p ) ( (p)->flags2 & PSH_POINT_EXTREMUM )
142#define psh_point_is_positive( p ) ( (p)->flags2 & PSH_POINT_POSITIVE )
143#define psh_point_is_negative( p ) ( (p)->flags2 & PSH_POINT_NEGATIVE )
144#define psh_point_is_edge_min( p ) ( (p)->flags2 & PSH_POINT_EDGE_MIN )
145#define psh_point_is_edge_max( p ) ( (p)->flags2 & PSH_POINT_EDGE_MAX )
147#define psh_point_set_strong( p ) (p)->flags2 |= PSH_POINT_STRONG
148#define psh_point_set_fitted( p ) (p)->flags2 |= PSH_POINT_FITTED
149#define psh_point_set_extremum( p ) (p)->flags2 |= PSH_POINT_EXTREMUM
150#define psh_point_set_positive( p ) (p)->flags2 |= PSH_POINT_POSITIVE
151#define psh_point_set_negative( p ) (p)->flags2 |= PSH_POINT_NEGATIVE
152#define psh_point_set_edge_min( p ) (p)->flags2 |= PSH_POINT_EDGE_MIN
153#define psh_point_set_edge_max( p ) (p)->flags2 |= PSH_POINT_EDGE_MAX
222 extern PSH_HintFunc ps_debug_hint_func;
enum FT_Render_Mode_ FT_Render_Mode
FT_BEGIN_HEADER typedef signed long FT_Pos
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
FT_BEGIN_HEADER typedef unsigned char FT_Bool
typedefFT_BEGIN_HEADER struct PSH_GlobalsRec_ * PSH_Globals
struct PSH_ContourRec_ PSH_ContourRec
struct PSH_ZoneRec_ * PSH_Zone
struct PSH_PointRec_ PSH_PointRec
typedefFT_BEGIN_HEADER struct PSH_HintRec_ * PSH_Hint
struct PSH_Hint_TableRec_ * PSH_Hint_Table
struct PSH_GlyphRec_ PSH_GlyphRec
struct PSH_HintRec_ PSH_HintRec
struct PSH_GlyphRec_ * PSH_Glyph
FT_Error ps_hints_apply(PS_Hints ps_hints, FT_Outline *outline, PSH_Globals globals, FT_Render_Mode hint_mode)
struct PSH_PointRec_ * PSH_Point
struct PSH_ContourRec_ * PSH_Contour
struct PSH_ZoneRec_ PSH_ZoneRec
struct PSH_Hint_TableRec_ PSH_Hint_TableRec
PSH_Hint_TableRec hint_tables[2]
PS_Mask_Table counter_masks