Commit 9be958ca39cdca0753ba99b741658733d1655d54

Behdad Esfahbod 2022-11-09T15:41:34

[truetype] In `ItemVariationStore`, value 0xFFFF for `dataCount` is valid. It corresponds to outer indices of 0 to 0xFFFE. * src/truetype/ttgxvar.c (tt_var_load_item_variation_store): Remove invalid code.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
diff --git a/src/truetype/ttgxvar.c b/src/truetype/ttgxvar.c
index 71ff20e..f9960c0 100644
--- a/src/truetype/ttgxvar.c
+++ b/src/truetype/ttgxvar.c
@@ -525,16 +525,6 @@
       goto Exit;
     }
 
-    /* new in OpenType 1.8.4: inner & outer index equal to 0xFFFF    */
-    /* has a special meaning (i.e., no variation data for this item) */
-    if ( itemStore->dataCount == 0xFFFFU )
-    {
-      FT_TRACE2(( "ft_var_load_item_variation_store:"
-                  " dataCount too large\n" ));
-      error = FT_THROW( Invalid_Table );
-      goto Exit;
-    }
-
     /* make temporary copy of item variation data offsets; */
     /* we will parse region list first, then come back     */
     if ( FT_QNEW_ARRAY( dataOffsetArray, itemStore->dataCount ) )