169 {
172 FT_Service_PsCMaps psnames;
177
181
182
184 face->root.num_faces = 1;
185
187 face->psnames = psnames;
188
190 "psaux" );
193 {
194 FT_ERROR((
"T42_Face_Init: cannot access `psaux' module\n" ));
197 }
198
200
201
205
206
207 if ( face_index < 0 )
209
210
211 if ( ( face_index & 0xFFFF ) > 0 )
212 {
213 FT_ERROR((
"T42_Face_Init: invalid face index\n" ));
216 }
217
218
219
220
221
222
223 root->num_glyphs = type1->num_glyphs;
224 root->num_charmaps = 0;
225 root->face_index = 0;
226
230
231 if (
info->is_fixed_pitch )
233
234#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
236#endif
237
238
239
240
241
242 root->family_name =
info->family_name;
243
244 root->style_name = (
char *)
"Regular";
245 if (
root->family_name )
246 {
247 char* full =
info->full_name;
248 char* family =
root->family_name;
249
250
251 if ( full )
252 {
253 while ( *full )
254 {
255 if ( *full == *family )
256 {
257 family++;
258 full++;
259 }
260 else
261 {
262 if ( *full == ' ' || *full == '-' )
263 full++;
264 else if ( *family == ' ' || *family == '-' )
265 family++;
266 else
267 {
268 if ( !*family )
269 root->style_name = full;
270 break;
271 }
272 }
273 }
274 }
275 }
276 else
277 {
278
279 if ( type1->font_name )
280 root->family_name = type1->font_name;
281 }
282
283
284 root->num_fixed_sizes = 0;
286
287
288 {
290
291
294 "truetype" );
297
298 if ( num_params )
299 {
301 args.num_params = num_params;
303 }
304
307 }
308
311
313
314
315
317 root->units_per_EM =
face->ttf_face->units_per_EM;
318
319 root->ascender =
face->ttf_face->ascender;
320 root->descender =
face->ttf_face->descender;
321 root->height =
face->ttf_face->height;
322
323 root->max_advance_width =
face->ttf_face->max_advance_width;
324 root->max_advance_height =
face->ttf_face->max_advance_height;
325
328
329
330 root->style_flags = 0;
331 if (
info->italic_angle )
333
336
339
340 {
341 if ( psnames )
342 {
346
347
349
350
353 charmap.
encoding = FT_ENCODING_UNICODE;
354
360
361
364
365 switch ( type1->encoding_type )
366 {
368 charmap.
encoding = FT_ENCODING_ADOBE_STANDARD;
371 break;
372
374 charmap.
encoding = FT_ENCODING_ADOBE_EXPERT;
376 clazz = cmap_classes->
expert;
377 break;
378
380 charmap.
encoding = FT_ENCODING_ADOBE_CUSTOM;
382 clazz = cmap_classes->
custom;
383 break;
384
386 charmap.
encoding = FT_ENCODING_ADOBE_LATIN_1;
389 break;
390
391 default:
392 ;
393 }
394
395 if ( clazz )
397 }
398 }
401 }
#define TT_MS_ID_UNICODE_CS
#define TT_PLATFORM_MICROSOFT
#define FT_STYLE_FLAG_ITALIC
#define FT_FACE_FLAG_SCALABLE
#define FT_FACE_FLAG_HINTER
FT_Open_Face(FT_Library library, const FT_Open_Args *args, FT_Long face_index, FT_Face *aface)
#define FT_FACE_FLAG_FIXED_WIDTH
#define FT_FACE_FLAG_VERTICAL
struct FT_FaceRec_ * FT_Face
#define FT_FACE_FLAG_GLYPH_NAMES
#define FT_STYLE_FLAG_BOLD
#define FT_FACE_FLAG_HORIZONTAL
#define FT_TRACE2(varformat)
#define FT_FACE_LIBRARY(x)
FT_CMap_New(FT_CMap_Class clazz, FT_Pointer init_data, FT_CharMap charmap, FT_CMap *acmap)
FT_Get_Module_Interface(FT_Library library, const char *mod_name)
#define FT_FACE_FIND_GLOBAL_SERVICE(face, ptr, id)
FT_Done_Size(FT_Size size)
GLenum const GLfloat * params
struct PSAux_ServiceRec_ * PSAux_Service
T1_CMap_Classes t1_cmap_classes
@ T1_ENCODING_TYPE_ISOLATIN1
@ T1_ENCODING_TYPE_STANDARD
@ T1_ENCODING_TYPE_EXPERT
static FT_Error T42_Open_Face(T42_Face face)
#define TT_ADOBE_ID_EXPERT
#define TT_ADOBE_ID_STANDARD
#define TT_PLATFORM_ADOBE
#define TT_ADOBE_ID_LATIN_1
#define TT_ADOBE_ID_CUSTOM