... |
... |
@@ -834,15 +834,14 @@ |
834
|
834
|
TT_GlyphZone zone = &loader->zone;
|
835
|
835
|
|
836
|
836
|
#ifdef TT_USE_BYTECODE_INTERPRETER
|
837
|
|
- FT_Long n_ins;
|
|
837
|
+ TT_ExecContext exec = loader->exec;
|
|
838
|
+ FT_Long n_ins = exec->glyphSize;
|
838
|
839
|
#else
|
839
|
840
|
FT_UNUSED( is_composite );
|
840
|
841
|
#endif
|
841
|
842
|
|
842
|
843
|
|
843
|
844
|
#ifdef TT_USE_BYTECODE_INTERPRETER
|
844
|
|
- n_ins = loader->glyph->control_len;
|
845
|
|
-
|
846
|
845
|
/* save original point positions in `org' array */
|
847
|
846
|
if ( n_ins > 0 )
|
848
|
847
|
FT_ARRAY_COPY( zone->org, zone->cur, zone->n_points );
|
... |
... |
@@ -854,15 +853,15 @@ |
854
|
853
|
/* completely refer to the (already) hinted subglyphs. */
|
855
|
854
|
if ( is_composite )
|
856
|
855
|
{
|
857
|
|
- loader->exec->metrics.x_scale = 1 << 16;
|
858
|
|
- loader->exec->metrics.y_scale = 1 << 16;
|
|
856
|
+ exec->metrics.x_scale = 1 << 16;
|
|
857
|
+ exec->metrics.y_scale = 1 << 16;
|
859
|
858
|
|
860
|
859
|
FT_ARRAY_COPY( zone->orus, zone->cur, zone->n_points );
|
861
|
860
|
}
|
862
|
861
|
else
|
863
|
862
|
{
|
864
|
|
- loader->exec->metrics.x_scale = loader->size->metrics->x_scale;
|
865
|
|
- loader->exec->metrics.y_scale = loader->size->metrics->y_scale;
|
|
863
|
+ exec->metrics.x_scale = loader->size->metrics->x_scale;
|
|
864
|
+ exec->metrics.y_scale = loader->size->metrics->y_scale;
|
866
|
865
|
}
|
867
|
866
|
#endif
|
868
|
867
|
|
... |
... |
@@ -886,19 +885,18 @@ |
886
|
885
|
FT_Outline current_outline = gloader->current.outline;
|
887
|
886
|
|
888
|
887
|
|
889
|
|
- TT_Set_CodeRange( loader->exec, tt_coderange_glyph,
|
890
|
|
- loader->exec->glyphIns, n_ins );
|
|
888
|
+ TT_Set_CodeRange( exec, tt_coderange_glyph, exec->glyphIns, n_ins );
|
891
|
889
|
|
892
|
|
- loader->exec->is_composite = is_composite;
|
893
|
|
- loader->exec->pts = *zone;
|
|
890
|
+ exec->is_composite = is_composite;
|
|
891
|
+ exec->pts = *zone;
|
894
|
892
|
|
895
|
893
|
error = TT_Run_Context( loader->exec );
|
896
|
|
- if ( error && loader->exec->pedantic_hinting )
|
|
894
|
+ if ( error && exec->pedantic_hinting )
|
897
|
895
|
return error;
|
898
|
896
|
|
899
|
897
|
/* store drop-out mode in bits 5-7; set bit 2 also as a marker */
|
900
|
898
|
current_outline.tags[0] |=
|
901
|
|
- ( loader->exec->GS.scan_type << 5 ) | FT_CURVE_TAG_HAS_SCANMODE;
|
|
899
|
+ ( exec->GS.scan_type << 5 ) | FT_CURVE_TAG_HAS_SCANMODE;
|
902
|
900
|
}
|
903
|
901
|
|
904
|
902
|
#endif
|
... |
... |
@@ -908,7 +906,7 @@ |
908
|
906
|
/* compatibility mode, where no movement on the x axis means no reason */
|
909
|
907
|
/* to change bearings or advance widths. */
|
910
|
908
|
if ( !( driver->interpreter_version == TT_INTERPRETER_VERSION_40 &&
|
911
|
|
- loader->exec->backward_compatibility ) )
|
|
909
|
+ exec->backward_compatibility ) )
|
912
|
910
|
{
|
913
|
911
|
#endif
|
914
|
912
|
loader->pp1 = zone->cur[zone->n_points - 4];
|
... |
... |
@@ -922,10 +920,10 @@ |
922
|
920
|
#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
|
923
|
921
|
if ( driver->interpreter_version == TT_INTERPRETER_VERSION_38 )
|
924
|
922
|
{
|
925
|
|
- if ( loader->exec->sph_tweak_flags & SPH_TWEAK_DEEMBOLDEN )
|
|
923
|
+ if ( exec->sph_tweak_flags & SPH_TWEAK_DEEMBOLDEN )
|
926
|
924
|
FT_Outline_EmboldenXY( &loader->gloader->current.outline, -24, 0 );
|
927
|
925
|
|
928
|
|
- else if ( loader->exec->sph_tweak_flags & SPH_TWEAK_EMBOLDEN )
|
|
926
|
+ else if ( exec->sph_tweak_flags & SPH_TWEAK_EMBOLDEN )
|
929
|
927
|
FT_Outline_EmboldenXY( &loader->gloader->current.outline, 24, 0 );
|
930
|
928
|
}
|
931
|
929
|
#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
|