[cff] fix incremental interface with new cff code.

* src/cff/cf2ft.c (cf2_getSeacComponent): When using the incremental
interface to retrieve glyph data for a SEAC, it be left to the
incremental interface callback to apply the encoding to raw
character index (as it was in the previous code).
This commit is contained in:
Chris Liddell 2015-05-12 07:16:46 +02:00 committed by Werner Lemberg
parent 4091495271
commit d65bf72c3e
2 changed files with 21 additions and 3 deletions

View File

@ -1,3 +1,12 @@
2015-05-12 Chris Liddell <chris.liddell@artifex.com>
[cff] fix incremental interface with new cff code.
* src/cff/cf2ft.c (cf2_getSeacComponent): When using the incremental
interface to retrieve glyph data for a SEAC, it be left to the
incremental interface callback to apply the encoding to raw
character index (as it was in the previous code).
2015-04-29 Alexei Podtelezhnikov <apodtele@gmail.com>
[autofit] Speed up IUP.

View File

@ -582,9 +582,18 @@
FT_ZERO( buf );
gid = cff_lookup_glyph_by_stdcharcode( decoder->cff, code );
if ( gid < 0 )
return FT_THROW( Invalid_Glyph_Format );
#ifdef FT_CONFIG_OPTION_INCREMENTAL
/* Incremental fonts don't necessarily have valid charsets. */
/* They use the character code, not the glyph index, in this case. */
if ( decoder->builder.face->root.internal->incremental_interface )
gid = code;
else
#endif /* FT_CONFIG_OPTION_INCREMENTAL */
{
gid = cff_lookup_glyph_by_stdcharcode( decoder->cff, code );
if ( gid < 0 )
return FT_THROW( Invalid_Glyph_Format );
}
error = cff_get_glyph_data( decoder->builder.face,
(CF2_UInt)gid,