* src/cff/cffobjs.c (cff_face_init): Better handling of Type0 fonts.
This issue relates to the PDF specification and its usage of CFF-based embedded Type0 fonts. For Type0 fonts containing CID-keyed descendant CFF-based fonts, the glyph index is the CID present in the content stream. As a result, there is no requirement for a 'cmap' table to be present in the font since the glyph indices are derived directly from the CIDs. FreeType throws an error when it doesn’t find a 'cmap' table for such an Open Type font containing CFF outlines. This commit relaxes this requirement for a 'cmap' table for such fonts.
This commit is contained in:
parent
0ae7e60737
commit
3f3e3de34e
|
@ -550,13 +550,13 @@
|
|||
if ( error )
|
||||
goto Exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* load the `cmap' table explicitly */
|
||||
error = sfnt->load_cmap( face, stream );
|
||||
if ( error )
|
||||
goto Exit;
|
||||
}
|
||||
|
||||
/* load the `cmap' table explicitly */
|
||||
error = sfnt->load_cmap( face, stream );
|
||||
|
||||
/* this may fail because CID-keyed fonts don't have a cmap */
|
||||
if ( FT_ERR_NEQ( error, Table_Missing ) && FT_ERR_NEQ( error, Ok ) )
|
||||
goto Exit;
|
||||
|
||||
/* now load the CFF part of the file; */
|
||||
/* give priority to CFF2 */
|
||||
|
|
Loading…
Reference in New Issue