diff --git a/ChangeLog b/ChangeLog index d6612c652..2be2972cf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2012-10-20 Andreas Pehnack + + [sfnt] Load pure CFF fonts wrapped in SFNT container. + + Such fonts only have a `cmap' and a `CFF' table. + + * src/sfnt/ttload.c (tt_face_load_font_dir): Don't call + `check_table_dir' if font signature is `OTTO'. + 2012-10-20 Werner Lemberg [psaux] Fix some value overflows and improve tracing. diff --git a/src/sfnt/ttload.c b/src/sfnt/ttload.c index 2beb57b67..16914f265 100644 --- a/src/sfnt/ttload.c +++ b/src/sfnt/ttload.c @@ -361,14 +361,17 @@ FT_TRACE2(( "-- Number of tables: %10u\n", sfnt.num_tables )); FT_TRACE2(( "-- Format version: 0x%08lx\n", sfnt.format_tag )); - /* check first */ - error = check_table_dir( &sfnt, stream ); - if ( error ) + if ( sfnt.format_tag != TTAG_OTTO ) { - FT_TRACE2(( "tt_face_load_font_dir:" - " invalid table directory for TrueType\n" )); + /* check first */ + error = check_table_dir( &sfnt, stream ); + if ( error ) + { + FT_TRACE2(( "tt_face_load_font_dir:" + " invalid table directory for TrueType\n" )); - goto Exit; + goto Exit; + } } face->num_tables = sfnt.num_tables;