86 |
{ |
{ |
87 |
AF_Flags flags; /* point flags used by hinter */ |
AF_Flags flags; /* point flags used by hinter */ |
88 |
FT_Pos ox, oy; /* original, scaled position */ |
FT_Pos ox, oy; /* original, scaled position */ |
89 |
FT_Pos fx, fy; /* original, unscaled position (font units) */ |
FT_Short fx, fy; /* original, unscaled position (font units) */ |
90 |
FT_Pos x, y; /* current position */ |
FT_Pos x, y; /* current position */ |
91 |
FT_Pos u, v; /* current (x,y) or (y,x) depending on context */ |
FT_Pos u, v; /* current (x,y) or (y,x) depending on context */ |
92 |
|
|
93 |
AF_Direction in_dir; /* direction of inwards vector */ |
FT_Char in_dir; /* direction of inwards vector */ |
94 |
AF_Direction out_dir; /* direction of outwards vector */ |
FT_Char out_dir; /* direction of outwards vector */ |
95 |
|
|
96 |
AF_Point next; /* next point in contour */ |
AF_Point next; /* next point in contour */ |
97 |
AF_Point prev; /* previous point in contour */ |
AF_Point prev; /* previous point in contour */ |
102 |
typedef struct AF_SegmentRec_ |
typedef struct AF_SegmentRec_ |
103 |
{ |
{ |
104 |
AF_Edge_Flags flags; /* edge/segment flags for this segment */ |
AF_Edge_Flags flags; /* edge/segment flags for this segment */ |
105 |
AF_Direction dir; /* segment direction */ |
FT_Char dir; /* segment direction */ |
106 |
FT_Pos pos; /* position of segment */ |
FT_Short pos; /* position of segment */ |
107 |
FT_Pos min_coord; /* minimum coordinate of segment */ |
FT_Short min_coord; /* minimum coordinate of segment */ |
108 |
FT_Pos max_coord; /* maximum coordinate of segment */ |
FT_Short max_coord; /* maximum coordinate of segment */ |
109 |
|
|
110 |
AF_Edge edge; /* the segment's parent edge */ |
AF_Edge edge; /* the segment's parent edge */ |
111 |
AF_Segment edge_next; /* link to next segment in parent edge */ |
AF_Segment edge_next; /* link to next segment in parent edge */ |
124 |
|
|
125 |
typedef struct AF_EdgeRec_ |
typedef struct AF_EdgeRec_ |
126 |
{ |
{ |
127 |
FT_Pos fpos; /* original, unscaled position (font units) */ |
FT_Short fpos; /* original, unscaled position (font units) */ |
128 |
FT_Pos opos; /* original, scaled position */ |
FT_Pos opos; /* original, scaled position */ |
129 |
FT_Pos pos; /* current position */ |
FT_Pos pos; /* current position */ |
130 |
|
|
131 |
AF_Edge_Flags flags; /* edge flags */ |
FT_Byte flags; /* edge flags */ |
132 |
AF_Direction dir; /* edge direction */ |
FT_Char dir; /* edge direction */ |
133 |
FT_Fixed scale; /* used to speed up interpolation between edges */ |
FT_Fixed scale; /* used to speed up interpolation between edges */ |
134 |
AF_Width blue_edge; /* non-NULL if this is a blue edge */ |
AF_Width blue_edge; /* non-NULL if this is a blue edge */ |
135 |
|
|
136 |
AF_Edge link; |
AF_Edge link; |
137 |
AF_Edge serif; |
AF_Edge serif; |
138 |
FT_Int num_linked; |
FT_Short num_linked; |
139 |
|
|
140 |
FT_Int score; |
FT_Int score; |
141 |
|
|
179 |
AF_Point* contours; |
AF_Point* contours; |
180 |
|
|
181 |
AF_AxisHintsRec axis[ AF_DIMENSION_MAX ]; |
AF_AxisHintsRec axis[ AF_DIMENSION_MAX ]; |
182 |
|
|
183 |
FT_UInt32 scaler_flags; /* copy of scaler flags */ |
FT_UInt32 scaler_flags; /* copy of scaler flags */ |
184 |
FT_UInt32 other_flags; /* free for script-specific implementations */ |
FT_UInt32 other_flags; /* free for script-specific implementations */ |
185 |
AF_ScriptMetrics metrics; |
AF_ScriptMetrics metrics; |