ref: 550fd43946cdb42aa8bbabbc5250691bb4f6c9a0
parent: 14018b4af9c4274e0b89cd31e94ef78109f0d912
author: Graham Asher <[email protected]>
date: Mon Jan 13 05:20:08 EST 2003
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.
--- 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;