shithub: freetype+ttf2subf

Download patch

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.

git/fs: mount .git/fs: mount/attach disallowed
--- 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;