312 {
315 FT_Service_PsCMaps psnames;
319
323
324
325 face->root.num_faces = 1;
326
328 face->psnames = psnames;
329
331 "psaux" );
334 {
335 FT_ERROR((
"T1_Face_Init: cannot access `psaux' module\n" ));
338 }
339
341 "pshinter" );
342
344
345
349
350 FT_TRACE2((
"T1_Face_Init: %08p (index %d)\n",
352 face_index ));
353
354
355 if ( face_index < 0 )
357
358
359 if ( ( face_index & 0xFFFF ) > 0 )
360 {
361 FT_ERROR((
"T1_Face_Init: invalid face index\n" ));
364 }
365
366
367
368
369
370
371 {
373
374
376 root->face_index = 0;
377
382
383 if (
info->is_fixed_pitch )
385
388
389
390
391
392
393
394
395
396
397 root->family_name =
info->family_name;
399
400 if (
root->family_name )
401 {
402 char* full =
info->full_name;
403 char* family =
root->family_name;
404
405
406 if ( full )
407 {
409
410
411 while ( *full )
412 {
413 if ( *full == *family )
414 {
415 family++;
416 full++;
417 }
418 else
419 {
420 if ( *full == ' ' || *full == '-' )
421 full++;
422 else if ( *family == ' ' || *family == '-' )
423 family++;
424 else
425 {
427
428 if ( !*family )
429 root->style_name = full;
430 break;
431 }
432 }
433 }
434
435 if ( the_same )
436 root->style_name = (
char *)
"Regular";
437 }
438 }
439 else
440 {
441
444 }
445
446 if ( !
root->style_name )
447 {
450 else
451
452 root->style_name = (
char *)
"Regular";
453 }
454
455
456 root->style_flags = 0;
457 if (
info->italic_angle )
460 {
464 }
465
466
467 root->num_fixed_sizes = 0;
469
472
475
476
477 if ( !
root->units_per_EM )
478 root->units_per_EM = 1000;
479
482
486
487
488 root->max_advance_width =
490 {
492
493
495
496
499 else
501 }
502
503 root->max_advance_height =
root->height;
504
507 }
508
509 {
511
512
513 if ( psnames )
514 {
518
519
521
522
525 charmap.
encoding = FT_ENCODING_UNICODE;
526
533
534
537
539 {
541 charmap.
encoding = FT_ENCODING_ADOBE_STANDARD;
544 break;
545
547 charmap.
encoding = FT_ENCODING_ADOBE_EXPERT;
549 clazz = cmap_classes->
expert;
550 break;
551
553 charmap.
encoding = FT_ENCODING_ADOBE_CUSTOM;
555 clazz = cmap_classes->
custom;
556 break;
557
559 charmap.
encoding = FT_ENCODING_ADOBE_LATIN_1;
562 break;
563
564 default:
565 ;
566 }
567
568 if ( clazz )
570 }
571 }
572
575 }
#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