From b897e4c9c10b669ab29b57bf5688f949bf76213d Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Tue, 28 Dec 2004 07:49:15 +0000 Subject: [PATCH] * src/cff/cffobjs.c (cff_face_init): A CFF within an SFNT can have only a single font. This is undocumented but has been verified on the opentype list. --- ChangeLog | 6 ++++++ src/cff/cffobjs.c | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/ChangeLog b/ChangeLog index c46baca6a..0dd772916 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-12-27 Werner Lemberg + + * src/cff/cffobjs.c (cff_face_init): A CFF within an SFNT can have + only a single font. This is undocumented but has been verified on + the opentype list. + 2004-12-26 Werner Lemberg * Jamfile (FT2_COMPONENTS): Add `otvalid'. diff --git a/src/cff/cffobjs.c b/src/cff/cffobjs.c index c896daddc..cd63524b1 100644 --- a/src/cff/cffobjs.c +++ b/src/cff/cffobjs.c @@ -367,6 +367,7 @@ FT_Bool pure_cff = 1; FT_Bool sfnt_format = 0; + #if 0 FT_FACE_FIND_GLOBAL_SERVICE( face, sfnt, SFNT ); FT_FACE_FIND_GLOBAL_SERVICE( face, psnames, POSTSCRIPT_NAMES ); @@ -404,6 +405,14 @@ if ( face_index < 0 ) return CFF_Err_Ok; + /* UNDOCUMENTED! A CFF in an SFNT can have only a single font. */ + if ( face_index > 0 ) + { + FT_ERROR(( "cff_face_init: invalid face index\n" )); + error = CFF_Err_Invalid_Argument; + goto Exit; + } + sfnt_format = 1; /* now, the font can be either an OpenType/CFF font, or an SVG CEF */