From fcc1f472c3ace3a5c4b8ac39b3bb5622d71f9570 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Tue, 10 Apr 2007 11:51:50 +0000 Subject: [PATCH] * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]: Ignore `hhea' table. This fixes Savannah bug #19261. --- ChangeLog | 5 +++++ src/sfnt/sfobjs.c | 15 +++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/ChangeLog b/ChangeLog index 2a1ce5d43..ae0f9f8b1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-04-10 Martin Horak + + * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]: + Ignore `hhea' table. This fixes Savannah bug #19261. + 2007-04-09 Werner Lemberg * Version 2.3.4 released. diff --git a/src/sfnt/sfobjs.c b/src/sfnt/sfobjs.c index ffdc33bd1..cc901100d 100644 --- a/src/sfnt/sfobjs.c +++ b/src/sfnt/sfobjs.c @@ -619,7 +619,22 @@ error = SFNT_Err_Ok; } else + { error = SFNT_Err_Horiz_Header_Missing; + +#ifdef FT_CONFIG_OPTION_INCREMENTAL + /* If this is an incrementally loaded font and there are */ + /* overriding metrics, tolerate a missing `hhea' table. */ + if ( face->root.internal->incremental_interface && + face->root.internal->incremental_interface->funcs-> + get_glyph_metrics ) + { + face->horizontal.number_Of_HMetrics = 0; + error = SFNT_Err_Ok; + } +#endif + + } } if ( error )