From 550fd43946cdb42aa8bbabbc5250691bb4f6c9a0 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;