diff --git a/ChangeLog b/ChangeLog index de55ffa80..50e2676d6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2015-08-06 Alexei Podtelezhnikov + + [type42] Parse FontMatrix according to specifications. + + * src/type42/t42parse.c (t42_parse_font_matrix): Type 42 FontMatrix + does not need scaling by 1000. Units_per_EM are taken from the + embedded TrueType. + 2015-08-06 Werner Lemberg [autofit] Improve Arabic hinting. diff --git a/src/type42/t42parse.c b/src/type42/t42parse.c index 109e996e0..66107f3b9 100644 --- a/src/type42/t42parse.c +++ b/src/type42/t42parse.c @@ -252,7 +252,7 @@ FT_Int result; - result = T1_ToFixedArray( parser, 6, temp, 3 ); + result = T1_ToFixedArray( parser, 6, temp, 0 ); if ( result < 6 ) { @@ -264,17 +264,11 @@ if ( temp_scale == 0 ) { - FT_ERROR(( "t1_parse_font_matrix: invalid font matrix\n" )); + FT_ERROR(( "t42_parse_font_matrix: invalid font matrix\n" )); parser->root.error = FT_THROW( Invalid_File_Format ); return; } - /* Set Units per EM based on FontMatrix values. We set the value to */ - /* 1000 / temp_scale, because temp_scale was already multiplied by */ - /* 1000 (in t1_tofixed, from psobjs.c). */ - - root->units_per_EM = (FT_UShort)FT_DivFix( 1000, temp_scale ); - /* we need to scale the values by 1.0/temp_scale */ if ( temp_scale != 0x10000L ) {