OLD | NEW |
1 /***************************************************************************/ | 1 /***************************************************************************/ |
2 /* */ | 2 /* */ |
3 /* ttobjs.h */ | 3 /* ttobjs.h */ |
4 /* */ | 4 /* */ |
5 /* Objects manager (specification). */ | 5 /* Objects manager (specification). */ |
6 /* */ | 6 /* */ |
7 /* Copyright 1996-2009, 2011-2012 by */ | 7 /* Copyright 1996-2009, 2011-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 |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
166 | 166 |
167 typedef TT_CodeRange TT_CodeRangeTable[TT_MAX_CODE_RANGES]; | 167 typedef TT_CodeRange TT_CodeRangeTable[TT_MAX_CODE_RANGES]; |
168 | 168 |
169 | 169 |
170 /*************************************************************************/ | 170 /*************************************************************************/ |
171 /* */ | 171 /* */ |
172 /* Defines a function/instruction definition record. */ | 172 /* Defines a function/instruction definition record. */ |
173 /* */ | 173 /* */ |
174 typedef struct TT_DefRecord_ | 174 typedef struct TT_DefRecord_ |
175 { | 175 { |
176 FT_Int range; /* in which code range is it located? */ | 176 FT_Int range; /* in which code range is it located? */ |
177 FT_Long start; /* where does it start? */ | 177 FT_Long start; /* where does it start? */ |
178 FT_Long end; /* where does it end? */ | 178 FT_Long end; /* where does it end? */ |
179 FT_UInt opc; /* function #, or instruction code */ | 179 FT_UInt opc; /* function #, or instruction code */ |
180 FT_Bool active; /* is it active? */ | 180 FT_Bool active; /* is it active? */ |
| 181 FT_Bool inline_delta; /* is function that defines inline delta? */ |
| 182 FT_ULong sph_fdef_flags; /* flags to identify special functions */ |
181 | 183 |
182 } TT_DefRecord, *TT_DefArray; | 184 } TT_DefRecord, *TT_DefArray; |
183 | 185 |
184 | 186 |
185 /*************************************************************************/ | 187 /*************************************************************************/ |
186 /* */ | 188 /* */ |
187 /* Subglyph transformation record. */ | 189 /* Subglyph transformation record. */ |
188 /* */ | 190 /* */ |
189 typedef struct TT_Transform_ | 191 typedef struct TT_Transform_ |
190 { | 192 { |
191 FT_Fixed xx, xy; /* transformation matrix coefficients */ | 193 FT_Fixed xx, xy; /* transformation matrix coefficients */ |
192 FT_Fixed yx, yy; | 194 FT_Fixed yx, yy; |
193 FT_F26Dot6 ox, oy; /* offsets */ | 195 FT_F26Dot6 ox, oy; /* offsets */ |
194 | 196 |
195 } TT_Transform; | 197 } TT_Transform; |
196 | 198 |
197 | 199 |
198 /*************************************************************************/ | 200 /*************************************************************************/ |
199 /* */ | 201 /* */ |
200 /* A note regarding non-squared pixels: */ | 202 /* A note regarding non-squared pixels: */ |
201 /* */ | 203 /* */ |
202 /* (This text will probably go into some docs at some time; for now, it */ | 204 /* (This text will probably go into some docs at some time; for now, it */ |
203 /* is kept here to explain some definitions in the TT_Size_Metrics */ | 205 /* is kept here to explain some definitions in the TT_Size_Metrics */ |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
338 | 340 |
339 } TT_SizeRec; | 341 } TT_SizeRec; |
340 | 342 |
341 | 343 |
342 /*************************************************************************/ | 344 /*************************************************************************/ |
343 /* */ | 345 /* */ |
344 /* TrueType driver class. */ | 346 /* TrueType driver class. */ |
345 /* */ | 347 /* */ |
346 typedef struct TT_DriverRec_ | 348 typedef struct TT_DriverRec_ |
347 { | 349 { |
348 FT_DriverRec root; | 350 FT_DriverRec root; |
| 351 |
349 TT_ExecContext context; /* execution context */ | 352 TT_ExecContext context; /* execution context */ |
350 TT_GlyphZoneRec zone; /* glyph loader points zone */ | 353 TT_GlyphZoneRec zone; /* glyph loader points zone */ |
351 | 354 |
352 void* extension_component; | 355 FT_UInt interpreter_version; |
353 | 356 |
354 } TT_DriverRec; | 357 } TT_DriverRec; |
355 | 358 |
356 | 359 |
357 /* Note: All of the functions below (except tt_size_reset()) are used */ | 360 /* Note: All of the functions below (except tt_size_reset()) are used */ |
358 /* as function pointers in a FT_Driver_ClassRec. Therefore their */ | 361 /* as function pointers in a FT_Driver_ClassRec. Therefore their */ |
359 /* parameters are of types FT_Face, FT_Size, etc., rather than TT_Face, */ | 362 /* parameters are of types FT_Face, FT_Size, etc., rather than TT_Face, */ |
360 /* TT_Size, etc., so that the compiler can confirm that the types and */ | 363 /* TT_Size, etc., so that the compiler can confirm that the types and */ |
361 /* number of parameters are correct. In all cases the FT_xxx types are */ | 364 /* number of parameters are correct. In all cases the FT_xxx types are */ |
362 /* cast to their TT_xxx counterparts inside the functions since FreeType */ | 365 /* cast to their TT_xxx counterparts inside the functions since FreeType */ |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
420 | 423 |
421 | 424 |
422 /*************************************************************************/ | 425 /*************************************************************************/ |
423 /* */ | 426 /* */ |
424 /* Slot functions */ | 427 /* Slot functions */ |
425 /* */ | 428 /* */ |
426 FT_LOCAL( FT_Error ) | 429 FT_LOCAL( FT_Error ) |
427 tt_slot_init( FT_GlyphSlot slot ); | 430 tt_slot_init( FT_GlyphSlot slot ); |
428 | 431 |
429 | 432 |
| 433 /* auxiliary */ |
| 434 #define IS_HINTED( flags ) ( ( flags & FT_LOAD_NO_HINTING ) == 0 ) |
| 435 |
| 436 |
430 FT_END_HEADER | 437 FT_END_HEADER |
431 | 438 |
432 #endif /* __TTOBJS_H__ */ | 439 #endif /* __TTOBJS_H__ */ |
433 | 440 |
434 | 441 |
435 /* END */ | 442 /* END */ |
OLD | NEW |