diff --git a/ChangeLog b/ChangeLog index 2bbc35062..cc9ffdad4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-06-06 Werner Lemberg + + * src/truetype/ttinterp.c (Ins_IP): Handle case `org_dist == 0' + correctly. This fixes glyphs `t' and `h' of Arial Narrow at 12ppem. + 2008-06-03 Werner Lemberg * include/freetype/ftcache.h (FTC_FaceID): Change type back to diff --git a/src/truetype/ttinterp.c b/src/truetype/ttinterp.c index da2c8839f..f0f91e982 100644 --- a/src/truetype/ttinterp.c +++ b/src/truetype/ttinterp.c @@ -6232,9 +6232,13 @@ org_dist = CUR_Func_dualproj( &CUR.zp2.orus[point], orus_base ); cur_dist = CUR_Func_project ( &CUR.zp2.cur[point], cur_base ); - new_dist = ( old_range != 0 ) - ? TT_MULDIV( org_dist, cur_range, old_range ) - : cur_dist; + + if ( org_dist ) + new_dist = ( old_range != 0 ) + ? TT_MULDIV( org_dist, cur_range, old_range ) + : cur_dist; + else + new_dist = 0; CUR_Func_move( &CUR.zp2, (FT_UShort)point, new_dist - cur_dist ); }