Commit 8406ae53244de1e4439802804c44aebccb66bb8e

Ben Wagner 2021-10-15T14:16:30

[truetype] Reload context after re-executing `prep`. When a different hinting mode from the current is selected, the `prep` table must be re-executed with the new mode. After this happens the context must be re-loaded in preparation for the glyph program to be run. Fixes #1104. * truetype/ttgload.c (tt_loader_init): Add call to `TT_Load_Context`.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
diff --git a/src/truetype/ttgload.c b/src/truetype/ttgload.c
index 9136c17..a341c83 100644
--- a/src/truetype/ttgload.c
+++ b/src/truetype/ttgload.c
@@ -2717,6 +2717,9 @@
         error = tt_size_run_prep( size, pedantic );
         if ( error )
           return error;
+        error = TT_Load_Context( exec, face, size );
+        if ( error )
+          return error;
       }
 
       /* check whether the cvt program has disabled hinting */