* src/cff/cffgload.c (cff_slot_load): Map CID 0 to GID 0. This
fixes Savannah bug #24430.
This commit is contained in:
parent
89a1a51834
commit
b17fb11f93
|
@ -1,3 +1,8 @@
|
|||
2008-10-02 Bram Tassyns <bramt@enfocus.be>
|
||||
|
||||
* src/cff/cffgload.c (cff_slot_load): Map CID 0 to GID 0. This
|
||||
fixes Savannah bug #24430.
|
||||
|
||||
2008-10-02 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* builds/freetype.mk (BASE_H): Rename to...
|
||||
|
|
|
@ -2450,9 +2450,9 @@
|
|||
{
|
||||
FT_Error error;
|
||||
CFF_Decoder decoder;
|
||||
TT_Face face = (TT_Face)glyph->root.face;
|
||||
TT_Face face = (TT_Face)glyph->root.face;
|
||||
FT_Bool hinting, force_scaling;
|
||||
CFF_Font cff = (CFF_Font)face->extra.data;
|
||||
CFF_Font cff = (CFF_Font)face->extra.data;
|
||||
|
||||
FT_Matrix font_matrix;
|
||||
FT_Vector font_offset;
|
||||
|
@ -2466,9 +2466,14 @@
|
|||
if ( cff->top_font.font_dict.cid_registry != 0xFFFFU &&
|
||||
cff->charset.cids )
|
||||
{
|
||||
glyph_index = cff_charset_cid_to_gindex( &cff->charset, glyph_index );
|
||||
if ( glyph_index == 0 )
|
||||
return CFF_Err_Invalid_Argument;
|
||||
/* don't handle CID 0 (.notdef) which is directly mapped to GID 0 */
|
||||
if ( glyph_index != 0 )
|
||||
{
|
||||
glyph_index = cff_charset_cid_to_gindex( &cff->charset,
|
||||
glyph_index );
|
||||
if ( glyph_index == 0 )
|
||||
return CFF_Err_Invalid_Argument;
|
||||
}
|
||||
}
|
||||
else if ( glyph_index >= cff->num_glyphs )
|
||||
return CFF_Err_Invalid_Argument;
|
||||
|
|
Loading…
Reference in New Issue