ref: 5c4f5ebd0dc835a528e294a2d10626c813ad87ee
parent: e006675e67ec55b88c53cff85ad92074ce11b1c9
author: Werner Lemberg <[email protected]>
date: Fri Nov 17 23:42:41 EST 2000
formatting
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,10 +1,10 @@
2000-11-16 David Turner <[email protected]>
- * 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 <[email protected]>
--- 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;