OLD | NEW |
1 /***************************************************************************/ | 1 /***************************************************************************/ |
2 /* */ | 2 /* */ |
3 /* cffgload.h */ | 3 /* cffgload.h */ |
4 /* */ | 4 /* */ |
5 /* OpenType Glyph Loader (specification). */ | 5 /* OpenType Glyph Loader (specification). */ |
6 /* */ | 6 /* */ |
7 /* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007, 2008, 2009 by */ | 7 /* Copyright 1996-2004, 2006-2009, 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 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 FT_Bool no_recurse; | 99 FT_Bool no_recurse; |
100 | 100 |
101 FT_Bool metrics_only; | 101 FT_Bool metrics_only; |
102 | 102 |
103 void* hints_funcs; /* hinter-specific */ | 103 void* hints_funcs; /* hinter-specific */ |
104 void* hints_globals; /* hinter-specific */ | 104 void* hints_globals; /* hinter-specific */ |
105 | 105 |
106 } CFF_Builder; | 106 } CFF_Builder; |
107 | 107 |
108 | 108 |
| 109 FT_LOCAL( FT_Error ) |
| 110 cff_check_points( CFF_Builder* builder, |
| 111 FT_Int count ); |
| 112 |
| 113 FT_LOCAL( void ) |
| 114 cff_builder_add_point( CFF_Builder* builder, |
| 115 FT_Pos x, |
| 116 FT_Pos y, |
| 117 FT_Byte flag ); |
| 118 FT_LOCAL( FT_Error ) |
| 119 cff_builder_add_point1( CFF_Builder* builder, |
| 120 FT_Pos x, |
| 121 FT_Pos y ); |
| 122 FT_LOCAL( FT_Error ) |
| 123 cff_builder_start_point( CFF_Builder* builder, |
| 124 FT_Pos x, |
| 125 FT_Pos y ); |
| 126 FT_LOCAL( void ) |
| 127 cff_builder_close_contour( CFF_Builder* builder ); |
| 128 |
| 129 |
| 130 FT_LOCAL( FT_Int ) |
| 131 cff_lookup_glyph_by_stdcharcode( CFF_Font cff, |
| 132 FT_Int charcode ); |
| 133 FT_LOCAL( FT_Error ) |
| 134 cff_get_glyph_data( TT_Face face, |
| 135 FT_UInt glyph_index, |
| 136 FT_Byte** pointer, |
| 137 FT_ULong* length ); |
| 138 FT_LOCAL( void ) |
| 139 cff_free_glyph_data( TT_Face face, |
| 140 FT_Byte** pointer, |
| 141 FT_ULong length ); |
| 142 |
| 143 |
109 /* execution context charstring zone */ | 144 /* execution context charstring zone */ |
110 | 145 |
111 typedef struct CFF_Decoder_Zone_ | 146 typedef struct CFF_Decoder_Zone_ |
112 { | 147 { |
113 FT_Byte* base; | 148 FT_Byte* base; |
114 FT_Byte* limit; | 149 FT_Byte* limit; |
115 FT_Byte* cursor; | 150 FT_Byte* cursor; |
116 | 151 |
117 } CFF_Decoder_Zone; | 152 } CFF_Decoder_Zone; |
118 | 153 |
(...skipping 30 matching lines...) Expand all Loading... |
149 FT_Byte** locals; | 184 FT_Byte** locals; |
150 FT_Byte** globals; | 185 FT_Byte** globals; |
151 | 186 |
152 FT_Byte** glyph_names; /* for pure CFF fonts only */ | 187 FT_Byte** glyph_names; /* for pure CFF fonts only */ |
153 FT_UInt num_glyphs; /* number of glyphs in font */ | 188 FT_UInt num_glyphs; /* number of glyphs in font */ |
154 | 189 |
155 FT_Render_Mode hint_mode; | 190 FT_Render_Mode hint_mode; |
156 | 191 |
157 FT_Bool seac; | 192 FT_Bool seac; |
158 | 193 |
| 194 CFF_SubFont current_subfont; /* for current glyph_index */ |
| 195 |
159 } CFF_Decoder; | 196 } CFF_Decoder; |
160 | 197 |
161 | 198 |
162 FT_LOCAL( void ) | 199 FT_LOCAL( void ) |
163 cff_decoder_init( CFF_Decoder* decoder, | 200 cff_decoder_init( CFF_Decoder* decoder, |
164 TT_Face face, | 201 TT_Face face, |
165 CFF_Size size, | 202 CFF_Size size, |
166 CFF_GlyphSlot slot, | 203 CFF_GlyphSlot slot, |
167 FT_Bool hinting, | 204 FT_Bool hinting, |
168 FT_Render_Mode hint_mode ); | 205 FT_Render_Mode hint_mode ); |
169 | 206 |
170 FT_LOCAL( FT_Error ) | 207 FT_LOCAL( FT_Error ) |
171 cff_decoder_prepare( CFF_Decoder* decoder, | 208 cff_decoder_prepare( CFF_Decoder* decoder, |
172 CFF_Size size, | 209 CFF_Size size, |
173 FT_UInt glyph_index ); | 210 FT_UInt glyph_index ); |
174 | 211 |
175 #if 0 /* unused until we support pure CFF fonts */ | 212 #if 0 /* unused until we support pure CFF fonts */ |
176 | 213 |
177 /* Compute the maximum advance width of a font through quick parsing */ | 214 /* Compute the maximum advance width of a font through quick parsing */ |
178 FT_LOCAL( FT_Error ) | 215 FT_LOCAL( FT_Error ) |
179 cff_compute_max_advance( TT_Face face, | 216 cff_compute_max_advance( TT_Face face, |
180 FT_Int* max_advance ); | 217 FT_Int* max_advance ); |
181 | 218 |
182 #endif /* 0 */ | 219 #endif /* 0 */ |
183 | 220 |
| 221 #ifdef CFF_CONFIG_OPTION_OLD_ENGINE |
184 FT_LOCAL( FT_Error ) | 222 FT_LOCAL( FT_Error ) |
185 cff_decoder_parse_charstrings( CFF_Decoder* decoder, | 223 cff_decoder_parse_charstrings( CFF_Decoder* decoder, |
186 FT_Byte* charstring_base, | 224 FT_Byte* charstring_base, |
187 FT_ULong charstring_len ); | 225 FT_ULong charstring_len ); |
| 226 #endif |
188 | 227 |
189 FT_LOCAL( FT_Error ) | 228 FT_LOCAL( FT_Error ) |
190 cff_slot_load( CFF_GlyphSlot glyph, | 229 cff_slot_load( CFF_GlyphSlot glyph, |
191 CFF_Size size, | 230 CFF_Size size, |
192 FT_UInt glyph_index, | 231 FT_UInt glyph_index, |
193 FT_Int32 load_flags ); | 232 FT_Int32 load_flags ); |
194 | 233 |
195 | 234 |
196 FT_END_HEADER | 235 FT_END_HEADER |
197 | 236 |
198 #endif /* __CFFGLOAD_H__ */ | 237 #endif /* __CFFGLOAD_H__ */ |
199 | 238 |
200 | 239 |
201 /* END */ | 240 /* END */ |
OLD | NEW |