diff -uNr freetype-2.3.7/src/cff/cffgload.c freetype-2.3.7-new/src/cff/cffgload.c --- freetype-2.3.7/src/cff/cffgload.c 2008-05-13 23:31:14.000000000 -0700 +++ freetype-2.3.7-new/src/cff/cffgload.c 2008-12-29 12:35:16.000000000 -0800 @@ -2357,9 +2357,12 @@ 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; + if ( glyph_index ) + { + 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;