From eba3eeecd9578bd6217d276cb1b715d77ecaab87 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Mon, 4 Aug 2008 15:54:24 +0000 Subject: [PATCH] * src/cff/cffparse.c (cff_parse_fixed_scaled): Fix thinko which resulted in incorrect scaling. This fixes Savannah bug #23973. --- ChangeLog | 5 +++++ src/cff/cffparse.c | 7 +++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7bf3f72fb..97504f826 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-08-04 Bram Tassyns + + * src/cff/cffparse.c (cff_parse_fixed_scaled): Fix thinko which + resulted in incorrect scaling. This fixes Savannah bug #23973. + 2008-08-04 Werner Lemberg Be more tolerant w.r.t. invalid entries in SFNT table directory. diff --git a/src/cff/cffparse.c b/src/cff/cffparse.c index d6d77dd08..7347bdb5b 100644 --- a/src/cff/cffparse.c +++ b/src/cff/cffparse.c @@ -406,10 +406,9 @@ cff_parse_fixed_scaled( FT_Byte** d, FT_Int scaling ) { - return **d == - 30 ? cff_parse_real( d[0], d[1], scaling, NULL ) - : (FT_Fixed)FT_MulFix( cff_parse_integer( d[0], d[1] ) << 16, - power_tens[scaling] ); + return **d == 30 ? cff_parse_real( d[0], d[1], scaling, NULL ) + : ( cff_parse_integer( d[0], d[1] ) * + power_tens[scaling] ) << 16; }