From 4c157cd02395572ee7d37db240ecb96427816ec7 Mon Sep 17 00:00:00 2001 From: Graham Asher Date: Mon, 13 Jan 2003 10:20:08 +0000 Subject: [PATCH] TrueType typefaces lacking hmtx (horizontal metrics) tables are tolerated if the incremental interface system is enabaled and an incremental interface has been specified. This is necessary to support some typefaces passed from GhostScript. --- src/sfnt/ttload.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/sfnt/ttload.c b/src/sfnt/ttload.c index 669f365e4..c4a596047 100644 --- a/src/sfnt/ttload.c +++ b/src/sfnt/ttload.c @@ -831,6 +831,20 @@ error = face->goto_table( face, TTAG_hmtx, stream, &table_len ); if ( error ) { + +#ifdef FT_CONFIG_OPTION_INCREMENTAL + /* If this is an incrementally loaded font and there are */ + /* overriding metrics tolerate a missing 'hmtx' 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; + goto Exit; + } +#endif + FT_ERROR(( " no horizontal metrics in file!\n" )); error = SFNT_Err_Hmtx_Table_Missing; goto Exit;