From 9c27494f871b0f46fa2951f30160e7a882423f8a Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Sat, 20 Aug 2005 05:45:42 +0000 Subject: [PATCH] * src/sfnt/ttload.c (tt_face_load_metrics_header): Ignore missing `hhea' table for SFNT Mac fonts. Change based on a patch by mpsuzuki@hiroshima-u.ac.jp. --- ChangeLog | 6 ++++++ src/sfnt/ttload.c | 12 ++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0833e9793..87e70ce28 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-08-20 Werner Lemberg + + * src/sfnt/ttload.c (tt_face_load_metrics_header): Ignore missing + `hhea' table for SFNT Mac fonts. Change based on a patch by + mpsuzuki@hiroshima-u.ac.jp. + 2005-08-20 Masatake YAMATO * src/otvalid/otvmod.c (otv_validate): Use ft_validator_run instead diff --git a/src/sfnt/ttload.c b/src/sfnt/ttload.c index 0f9198402..701dc98b9 100644 --- a/src/sfnt/ttload.c +++ b/src/sfnt/ttload.c @@ -1092,12 +1092,20 @@ } else { - /* The horizontal header is mandatory; return an error if we */ - /* don't find it. */ + /* The horizontal header is mandatory for most fonts; return */ + /* an error if we don't find it. */ error = face->goto_table( face, TTAG_hhea, stream, 0 ); if ( error ) { error = SFNT_Err_Horiz_Header_Missing; + + /* No `hhea' table necessary for SFNT Mac fonts. */ + if ( face->format_tag == TTAG_true ) + { + FT_TRACE2(( "missing. This is an SFNT Mac font.\n")); + error = SFNT_Err_Ok; + } + goto Exit; }