311 {
314 FT_Service_PsCMaps psnames;
318
322
323
324 face->root.num_faces = 1;
325
327 face->psnames = psnames;
328
330 "psaux" );
333 {
334 FT_ERROR((
"T1_Face_Init: cannot access `psaux' module\n" ));
337 }
338
340 "pshinter" );
341
343
344
348
349 FT_TRACE2((
"T1_Face_Init: %p (index %d)\n",
351 face_index ));
352
353
354 if ( face_index < 0 )
356
357
358 if ( ( face_index & 0xFFFF ) > 0 )
359 {
360 FT_ERROR((
"T1_Face_Init: invalid face index\n" ));
363 }
364
365
366
367
368
369
370 {
372
373
375 root->face_index = 0;
376
381
382 if (
info->is_fixed_pitch )
384
387
388
389
390
391
392
393
394
395
396 root->family_name =
info->family_name;
398
399 if (
root->family_name )
400 {
401 char* full =
info->full_name;
402 char* family =
root->family_name;
403
404
405 if ( full )
406 {
408
409
410 while ( *full )
411 {
412 if ( *full == *family )
413 {
414 family++;
415 full++;
416 }
417 else
418 {
419 if ( *full == ' ' || *full == '-' )
420 full++;
421 else if ( *family == ' ' || *family == '-' )
422 family++;
423 else
424 {
426
427 if ( !*family )
428 root->style_name = full;
429 break;
430 }
431 }
432 }
433
434 if ( the_same )
435 root->style_name = (
char *)
"Regular";
436 }
437 }
438 else
439 {
440
443 }
444
445 if ( !
root->style_name )
446 {
449 else
450
451 root->style_name = (
char *)
"Regular";
452 }
453
454
455 root->style_flags = 0;
456 if (
info->italic_angle )
459 {
463 }
464
465
466 root->num_fixed_sizes = 0;
468
471
474
475
476 if ( !
root->units_per_EM )
477 root->units_per_EM = 1000;
478
481
485
486
487 root->max_advance_width =
489 {
491
492
494
495
498 else
500 }
501
502 root->max_advance_height =
root->height;
503
506 }
507
508 {
510
511
512 if ( psnames )
513 {
517
518
520
521
524 charmap.
encoding = FT_ENCODING_UNICODE;
525
532
533
536
538 {
540 charmap.
encoding = FT_ENCODING_ADOBE_STANDARD;
543 break;
544
546 charmap.
encoding = FT_ENCODING_ADOBE_EXPERT;
548 clazz = cmap_classes->
expert;
549 break;
550
552 charmap.
encoding = FT_ENCODING_ADOBE_CUSTOM;
554 clazz = cmap_classes->
custom;
555 break;
556
558 charmap.
encoding = FT_ENCODING_ADOBE_LATIN_1;
561 break;
562
563 default:
564 ;
565 }
566
567 if ( clazz )
569 }
570 }
571
574 }
#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
#define FT_FACE_FLAG_FIXED_WIDTH
struct FT_FaceRec_ * FT_Face
#define FT_FACE_FLAG_GLYPH_NAMES
#define FT_FACE_FLAG_MULTIPLE_MASTERS
#define FT_STYLE_FLAG_BOLD
#define FT_FACE_FLAG_HORIZONTAL
#define FT_ERROR(varformat)
#define FT_TRACE2(varformat)
FT_BEGIN_HEADER typedef signed long FT_Pos
#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_BEGIN_HEADER typedef unsigned char FT_Bool
GLenum const GLfloat * params
struct PSAux_ServiceRec_ * PSAux_Service
T1_CMap_Classes t1_cmap_classes
T1_EncodingType encoding_type
T1_Compute_Max_Advance(T1_Face face, FT_Pos *max_advance)
T1_Open_Face(T1_Face face)
@ T1_ENCODING_TYPE_ISOLATIN1
@ T1_ENCODING_TYPE_STANDARD
@ T1_ENCODING_TYPE_EXPERT
#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