[cff] Add code to Adobe's engine to handle ppem > 2000.

* src/cff/cffgload.c (cff_slot_load): If we get
FT_Err_Glyph_Too_Big, retry unhinted and scale up later on.
This commit is contained in:
Dave Arnold 2013-06-13 07:46:32 +02:00 committed by Werner Lemberg
parent 294ce11b00
commit cb23a62880
2 changed files with 19 additions and 2 deletions

View File

@ -1,3 +1,11 @@
2013-06-06 Dave Arnold <darnold@adobe.com>
Werner Lemberg <wl@gnu.org>
[cff] Add code to Adobe's engine to handle ppem > 2000.
* src/cff/cffgload.c (cff_slot_load): If we get
FT_Err_Glyph_Too_Big, retry unhinted and scale up later on.
2013-06-12 Werner Lemberg <wl@gnu.org>.
Another try on pragmas.
@ -8,7 +16,7 @@
* include/freetype/internal/ftserv.h: Remove pragma which has no
effect.
2013-06-12 Werner Lemberg <wl@gnu.org>.
2013-06-12 Werner Lemberg <wl@gnu.org>
* include/freetype/internal/ftdebug.h: Disable MSVC warning C4127.

View File

@ -2849,7 +2849,16 @@
/* as a consequence, glyphs larger than 2000ppem get rejected */
if ( FT_ERR_EQ( error, Glyph_Too_Big ) )
{
/* XXX to be implemented */
/* this time, we retry unhinted and scale up the glyph later on */
/* (the engine uses and sets the hardcoded value 0x10000 / 64 = */
/* 0x400 for both `x_scale' and `y_scale' in this case) */
hinting = FALSE;
force_scaling = TRUE;
glyph->hint = hinting;
error = cf2_decoder_parse_charstrings( &decoder,
charstring,
charstring_len );
}
}