diff --git a/ChangeLog b/ChangeLog index a64e2ce42..f7c84f87a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,10 +1,10 @@ 2000-11-16 David Turner - * src/autohint/ahtypes.h (AH_Hinter): added new fields used to - control the auto-hinting of synthetic Type 1 fonts. + * src/autohint/ahtypes.h (AH_Hinter): Added new fields to control + auto-hinting of synthetic Type 1 fonts. * src/autohint/ahhint.c (ah_hinter_load ah_hinter_load_glyph): - added auto-hinting support of synthetic Type 1 fonts. + Added auto-hinting support of synthetic Type 1 fonts. 2000-11-12 Tom Kacvinsky diff --git a/src/autohint/ahhint.c b/src/autohint/ahhint.c index 21c88a383..0d2b475ab 100644 --- a/src/autohint/ahhint.c +++ b/src/autohint/ahhint.c @@ -1051,11 +1051,12 @@ case ft_glyph_format_outline: /* translate glyph outline if we need to */ - if (hinter->transformed) + if ( hinter->transformed ) { FT_UInt n = slot->outline.n_points; FT_Vector* point = slot->outline.points; + for ( ; n > 0; point++, n-- ) { point->x += hinter->trans_delta.x; @@ -1284,6 +1285,7 @@ { FT_BBox bbox; + /* transform the hinted outline if needed */ if ( hinter->transformed ) FT_Outline_Transform( &gloader->base.outline, &hinter->trans_matrix ); @@ -1335,6 +1337,7 @@ FT_Fixed y_scale = size->metrics.y_scale; AH_Face_Globals* face_globals = FACE_GLOBALS( face ); + /* first of all, we need to check that we're using the correct face and */ /* global hints to load the glyph */ if ( hinter->face != face || hinter->globals != face_globals ) @@ -1363,11 +1366,13 @@ { FT_Slot_Internal internal = slot->internal; + hinter->transformed = internal->glyph_transformed; - if (hinter->transformed) + if ( hinter->transformed ) { FT_Matrix imatrix; + imatrix = internal->glyph_matrix; hinter->trans_delta = internal->glyph_delta; hinter->trans_matrix = imatrix;