diff options
author | marha <marha@users.sourceforge.net> | 2012-03-12 10:33:22 +0100 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-03-12 10:33:22 +0100 |
commit | 41bd254198b8b879a562a85f7dc868c3c0f7fbc1 (patch) | |
tree | 3db49b4d73b8c4c734c1382ab5469a4f9f8baf93 /freetype/src/autofit/afloader.c | |
parent | b91444584a64f4f7b3eaeee05ef36ac53691fb24 (diff) | |
download | vcxsrv-41bd254198b8b879a562a85f7dc868c3c0f7fbc1.tar.gz vcxsrv-41bd254198b8b879a562a85f7dc868c3c0f7fbc1.tar.bz2 vcxsrv-41bd254198b8b879a562a85f7dc868c3c0f7fbc1.zip |
Updated to freetype-2.4.9
Diffstat (limited to 'freetype/src/autofit/afloader.c')
-rw-r--r-- | freetype/src/autofit/afloader.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/freetype/src/autofit/afloader.c b/freetype/src/autofit/afloader.c index 966a0df73..34ef9d809 100644 --- a/freetype/src/autofit/afloader.c +++ b/freetype/src/autofit/afloader.c @@ -4,7 +4,7 @@ /* */ /* Auto-fitter glyph loading routines (body). */ /* */ -/* Copyright 2003-2009, 2011 by */ +/* Copyright 2003-2009, 2011-2012 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -433,9 +433,10 @@ slot->metrics.horiAdvance = FT_MulFix( slot->metrics.horiAdvance, x_scale ); #else - if ( FT_IS_FIXED_WIDTH( slot->face ) || - ( af_face_globals_is_digit( loader->globals, glyph_index ) && - metrics->digits_have_same_width ) ) + if ( scaler->render_mode != FT_RENDER_MODE_LIGHT && + ( FT_IS_FIXED_WIDTH( slot->face ) || + ( af_face_globals_is_digit( loader->globals, glyph_index ) && + metrics->digits_have_same_width ) ) ) { slot->metrics.horiAdvance = FT_MulFix( slot->metrics.horiAdvance, metrics->scaler.x_scale ); @@ -465,7 +466,13 @@ if ( error ) goto Exit; - slot->outline = internal->loader->base.outline; + /* reassign all outline fields except flags to protect them */ + slot->outline.n_contours = internal->loader->base.outline.n_contours; + slot->outline.n_points = internal->loader->base.outline.n_points; + slot->outline.points = internal->loader->base.outline.points; + slot->outline.tags = internal->loader->base.outline.tags; + slot->outline.contours = internal->loader->base.outline.contours; + slot->format = FT_GLYPH_FORMAT_OUTLINE; } @@ -480,7 +487,7 @@ af_loader_load_glyph( AF_Loader loader, FT_Face face, FT_UInt gindex, - FT_UInt32 load_flags ) + FT_Int32 load_flags ) { FT_Error error; FT_Size size = face->size; |