OLD | NEW |
1 /***************************************************************************/ | 1 /***************************************************************************/ |
2 /* */ | 2 /* */ |
3 /* afloader.h */ | 3 /* afloader.h */ |
4 /* */ | 4 /* */ |
5 /* Auto-fitter glyph loading routines (specification). */ | 5 /* Auto-fitter glyph loading routines (specification). */ |
6 /* */ | 6 /* */ |
7 /* Copyright 2003-2005, 2011-2012 by */ | 7 /* Copyright 2003-2005, 2011-2012 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 __AFLOADER_H__ | 19 #ifndef __AFLOADER_H__ |
20 #define __AFLOADER_H__ | 20 #define __AFLOADER_H__ |
21 | 21 |
22 #include "afhints.h" | 22 #include "afhints.h" |
23 #include "afglobal.h" | 23 #include "afglobal.h" |
24 | 24 |
25 | 25 |
26 FT_BEGIN_HEADER | 26 FT_BEGIN_HEADER |
27 | 27 |
28 typedef struct AF_LoaderRec_ | 28 typedef struct AF_ModuleRec_* AF_Module; |
| 29 |
| 30 /* |
| 31 * The autofitter module's (global) data structure to communicate with |
| 32 * actual fonts. If necessary, `local' data like the current face, the |
| 33 * current face's auto-hint data, or the current glyph's parameters |
| 34 * relevant to auto-hinting are `swapped in'. Cf. functions like |
| 35 * `af_loader_reset' and `af_loader_load_g'. |
| 36 */ |
| 37 |
| 38 typedef struct AF_LoaderRec_ |
29 { | 39 { |
30 FT_Face face; /* current face */ | 40 /* current face data */ |
31 AF_FaceGlobals globals; /* current face globals */ | 41 FT_Face face; |
32 FT_GlyphLoader gloader; /* glyph loader */ | 42 AF_FaceGlobals globals; |
| 43 |
| 44 /* current glyph data */ |
| 45 FT_GlyphLoader gloader; |
33 AF_GlyphHintsRec hints; | 46 AF_GlyphHintsRec hints; |
34 AF_ScriptMetrics metrics; | 47 AF_ScriptMetrics metrics; |
35 FT_Bool transformed; | 48 FT_Bool transformed; |
36 FT_Matrix trans_matrix; | 49 FT_Matrix trans_matrix; |
37 FT_Vector trans_delta; | 50 FT_Vector trans_delta; |
38 FT_Vector pp1; | 51 FT_Vector pp1; |
39 FT_Vector pp2; | 52 FT_Vector pp2; |
40 /* we don't handle vertical phantom points */ | 53 /* we don't handle vertical phantom points */ |
41 | 54 |
42 } AF_LoaderRec, *AF_Loader; | 55 } AF_LoaderRec, *AF_Loader; |
43 | 56 |
44 | 57 |
45 FT_LOCAL( FT_Error ) | 58 FT_LOCAL( FT_Error ) |
46 af_loader_init( AF_Loader loader, | 59 af_loader_init( AF_Module module ); |
47 FT_Memory memory ); | |
48 | 60 |
49 | 61 |
50 FT_LOCAL( FT_Error ) | 62 FT_LOCAL( FT_Error ) |
51 af_loader_reset( AF_Loader loader, | 63 af_loader_reset( AF_Module module, |
52 FT_Face face ); | 64 FT_Face face ); |
53 | 65 |
54 | 66 |
55 FT_LOCAL( void ) | 67 FT_LOCAL( void ) |
56 af_loader_done( AF_Loader loader ); | 68 af_loader_done( AF_Module module ); |
57 | 69 |
58 | 70 |
59 FT_LOCAL( FT_Error ) | 71 FT_LOCAL( FT_Error ) |
60 af_loader_load_glyph( AF_Loader loader, | 72 af_loader_load_glyph( AF_Module module, |
61 FT_Face face, | 73 FT_Face face, |
62 FT_UInt gindex, | 74 FT_UInt gindex, |
63 FT_Int32 load_flags ); | 75 FT_Int32 load_flags ); |
64 | 76 |
65 /* */ | 77 /* */ |
66 | 78 |
67 | 79 |
68 FT_END_HEADER | 80 FT_END_HEADER |
69 | 81 |
70 #endif /* __AFLOADER_H__ */ | 82 #endif /* __AFLOADER_H__ */ |
71 | 83 |
72 | 84 |
73 /* END */ | 85 /* END */ |
OLD | NEW |