OLD | NEW |
1 /***************************************************************************/ | 1 /***************************************************************************/ |
2 /* */ | 2 /* */ |
3 /* pshalgo.h */ | 3 /* pshalgo.h */ |
4 /* */ | 4 /* */ |
5 /* PostScript hinting algorithm (specification). */ | 5 /* PostScript hinting algorithm (specification). */ |
6 /* */ | 6 /* */ |
7 /* Copyright 2001, 2002, 2003, 2008 by */ | 7 /* Copyright 2001-2003, 2008, 2013 by */ |
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ | 8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
9 /* */ | 9 /* */ |
10 /* This file is part of the FreeType project, and may only be used, */ | 10 /* This file is part of the FreeType project, and may only be used, */ |
11 /* modified, and distributed under the terms of the FreeType project */ | 11 /* modified, and distributed under the terms of the FreeType project */ |
12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ | 12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ |
13 /* this file you indicate that you have read the license and */ | 13 /* this file you indicate that you have read the license and */ |
14 /* understand and accept it fully. */ | 14 /* understand and accept it fully. */ |
15 /* */ | 15 /* */ |
16 /***************************************************************************/ | 16 /***************************************************************************/ |
17 | 17 |
18 | 18 |
19 #ifndef __PSHALGO_H__ | 19 #ifndef __PSHALGO_H__ |
20 #define __PSHALGO_H__ | 20 #define __PSHALGO_H__ |
21 | 21 |
22 | 22 |
23 #include "pshrec.h" | 23 #include "pshrec.h" |
24 #include "pshglob.h" | 24 #include "pshglob.h" |
25 #include FT_TRIGONOMETRY_H | |
26 | 25 |
27 | 26 |
28 FT_BEGIN_HEADER | 27 FT_BEGIN_HEADER |
29 | 28 |
30 | 29 |
31 /* handle to Hint structure */ | 30 /* handle to Hint structure */ |
32 typedef struct PSH_HintRec_* PSH_Hint; | 31 typedef struct PSH_HintRec_* PSH_Hint; |
33 | 32 |
34 /* hint bit-flags */ | 33 /* hint bit-flags */ |
35 typedef enum PSH_Hint_Flags_ | 34 typedef enum PSH_Hint_Flags_ |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
161 | 160 |
162 typedef struct PSH_PointRec_ | 161 typedef struct PSH_PointRec_ |
163 { | 162 { |
164 PSH_Point prev; | 163 PSH_Point prev; |
165 PSH_Point next; | 164 PSH_Point next; |
166 PSH_Contour contour; | 165 PSH_Contour contour; |
167 FT_UInt flags; | 166 FT_UInt flags; |
168 FT_UInt flags2; | 167 FT_UInt flags2; |
169 FT_Char dir_in; | 168 FT_Char dir_in; |
170 FT_Char dir_out; | 169 FT_Char dir_out; |
171 FT_Angle angle_in; | |
172 FT_Angle angle_out; | |
173 PSH_Hint hint; | 170 PSH_Hint hint; |
174 FT_Pos org_u; | 171 FT_Pos org_u; |
175 FT_Pos org_v; | 172 FT_Pos org_v; |
176 FT_Pos cur_u; | 173 FT_Pos cur_u; |
177 #ifdef DEBUG_HINTER | 174 #ifdef DEBUG_HINTER |
178 FT_Pos org_x; | 175 FT_Pos org_x; |
179 FT_Pos cur_x; | 176 FT_Pos cur_x; |
180 FT_Pos org_y; | 177 FT_Pos org_y; |
181 FT_Pos cur_y; | 178 FT_Pos cur_y; |
182 FT_UInt flags_x; | 179 FT_UInt flags_x; |
183 FT_UInt flags_y; | 180 FT_UInt flags_y; |
184 #endif | 181 #endif |
185 | 182 |
186 } PSH_PointRec; | 183 } PSH_PointRec; |
187 | 184 |
188 | 185 |
189 #define PSH_POINT_EQUAL_ORG( a, b ) ( (a)->org_u == (b)->org_u && \ | |
190 (a)->org_v == (b)->org_v ) | |
191 | |
192 #define PSH_POINT_ANGLE( a, b ) FT_Atan2( (b)->org_u - (a)->org_u, \ | |
193 (b)->org_v - (a)->org_v ) | |
194 | |
195 typedef struct PSH_ContourRec_ | 186 typedef struct PSH_ContourRec_ |
196 { | 187 { |
197 PSH_Point start; | 188 PSH_Point start; |
198 FT_UInt count; | 189 FT_UInt count; |
199 | 190 |
200 } PSH_ContourRec; | 191 } PSH_ContourRec; |
201 | 192 |
202 | 193 |
203 typedef struct PSH_GlyphRec_ | 194 typedef struct PSH_GlyphRec_ |
204 { | 195 { |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
246 FT_Render_Mode hint_mode ); | 237 FT_Render_Mode hint_mode ); |
247 | 238 |
248 | 239 |
249 FT_END_HEADER | 240 FT_END_HEADER |
250 | 241 |
251 | 242 |
252 #endif /* __PSHALGO_H__ */ | 243 #endif /* __PSHALGO_H__ */ |
253 | 244 |
254 | 245 |
255 /* END */ | 246 /* END */ |
OLD | NEW |