379 {
382#ifdef __REACTOS__
384 if (!decoder)
386
387#define decoder (*decoder)
388 {
389#else
391#endif
399
404#ifdef FT_CONFIG_OPTION_INCREMENTAL
406#endif
407
408
409#ifdef FT_CONFIG_OPTION_INCREMENTAL
410 if ( glyph_index >= (
FT_UInt)
face->root.num_glyphs &&
411 !
face->root.internal->incremental_interface )
412#else
413 if ( glyph_index >= (
FT_UInt)
face->root.num_glyphs )
414#endif
415 {
418 }
419
420 FT_TRACE1((
"T1_Load_Glyph: glyph index %d\n", glyph_index ));
421
423
426
427 if ( t1size )
428 {
431 }
432 else
433 {
436 }
437
440
444
445 glyph->
hint = hinting;
448
451 t1size,
452 t1glyph,
460
461 must_finish_decoder =
TRUE;
462
465
467 decoder.
subrs = type1->subrs;
470
473
474
476 &glyph_data,
477 &force_scaling );
480#ifdef FT_CONFIG_OPTION_INCREMENTAL
481 glyph_data_loaded = 1;
482#endif
483
484 hinting = glyph->
hint;
487
488
489 decoder_funcs->
done( &decoder );
490
491 must_finish_decoder =
FALSE;
492
493
494
495
497 {
500
501
502
504 {
506
507
508 t1glyph->
metrics.horiBearingX =
512
513 internal->glyph_matrix = font_matrix;
514 internal->glyph_delta = font_offset;
516 }
517 else
518 {
521
522
523
529
531 {
532
533 metrics->vertAdvance = (
face->type1.font_bbox.yMax -
534 face->type1.font_bbox.yMin ) >> 16;
536 }
537 else
538 {
543 }
544
546
549
550#if 1
551
552 if ( font_matrix.
xx != 0x10000L || font_matrix.
yy != 0x10000L ||
553 font_matrix.
xy != 0 || font_matrix.
yx != 0 )
554 {
556
561 }
562
563 if ( font_offset.
x || font_offset.
y )
564 {
568
569 metrics->horiAdvance += font_offset.
x;
570 metrics->vertAdvance += font_offset.
y;
571 }
572#endif
573
575 {
576
582
583
584
586 for (
n =
cur->n_points;
n > 0;
n--,
vec++ )
587 {
590 }
591
592
595 }
596
597
599
602
605
607 {
608
611 }
612 }
613
614
615
618 }
619
620
622
623#ifdef FT_CONFIG_OPTION_INCREMENTAL
624 if ( glyph_data_loaded &&
face->root.internal->incremental_interface )
625 {
626 face->root.internal->incremental_interface->funcs->free_glyph_data(
627 face->root.internal->incremental_interface->object,
628 &glyph_data );
629
630
631
634 }
635#endif
636
637 if ( must_finish_decoder )
638 decoder_funcs->
done( &decoder );
639
640#ifdef __REACTOS__
642#undef decoder
643 }
644#endif
646 }
ios_base &_STLP_CALL internal(ios_base &__s)
#define FT_LOAD_TARGET_MODE(x)
FT_BEGIN_HEADER struct FT_Glyph_Metrics_ FT_Glyph_Metrics
#define FT_LOAD_NO_RECURSE
#define FT_LOAD_NO_HINTING
FT_MulFix(FT_Long a, FT_Long b)
#define FT_TRACE1(varformat)
#define FT_OUTLINE_HIGH_PRECISION
#define FT_OUTLINE_REVERSE_FILL
ft_synthesize_vertical_metrics(FT_Glyph_Metrics *metrics, FT_Pos advance)
FT_Outline_Translate(const FT_Outline *outline, FT_Pos xOffset, FT_Pos yOffset)
FT_Outline_Transform(const FT_Outline *outline, const FT_Matrix *matrix)
FT_Outline_Get_CBox(const FT_Outline *outline, FT_BBox *acbox)
smooth FT_Module_Constructor FT_Module_Destructor FT_Module_Requester FT_GLYPH_FORMAT_OUTLINE
FT_BEGIN_HEADER typedef unsigned char FT_Bool
GLsizei GLenum const GLvoid GLuint GLsizei GLfloat * metrics
FT_Slot_Internal internal
FT_Fixed linearHoriAdvance
FT_Fixed linearVertAdvance
FT_Bool glyph_transformed
static FT_Error T1_Parse_Glyph_And_Get_Char_String(T1_Decoder decoder, FT_UInt glyph_index, FT_Data *char_string, FT_Bool *force_scaling)
struct T1_GlyphSlotRec_ * T1_GlyphSlot