Commit a4df0373c71f426711fb77e3a21d4b58b7c42e66

Nikhil Ramakrishnan 2019-12-31T16:04:01

[woff2] Allow bitmap-only fonts (#57394). * src/sfnt/sfwoff2.c (reconstruct_font): Fix test for `glyf' and `loca' tables.

diff --git a/ChangeLog b/ChangeLog
index 7629573..5447fc4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2019-12-31  Nikhil Ramakrishnan  <ramakrishnan.nikhil@gmail.com>
+
+	[woff2] Allow bitmap-only fonts (#57394).
+
+	* src/sfnt/sfwoff2.c (reconstruct_font): Fix test for `glyf' and
+	`loca' tables.
+
 2019-12-21  Hugh McMaster  <hugh.mcmaster@outlook.com>
 
 	[docs] (2/2) Fix generation of API documentation (#56745).
diff --git a/src/sfnt/sfwoff2.c b/src/sfnt/sfwoff2.c
index 3134ccd..36ae6e7 100644
--- a/src/sfnt/sfwoff2.c
+++ b/src/sfnt/sfwoff2.c
@@ -1513,9 +1513,9 @@
     info->glyf_table = find_table( indices, num_tables, TTAG_glyf );
     info->loca_table = find_table( indices, num_tables, TTAG_loca );
 
-    if ( !( info->glyf_table && info->loca_table ) )
+    if ( ( info->glyf_table == NULL ) ^ ( info->loca_table == NULL ) )
     {
-      FT_ERROR(( "Both `glyph' and `loca' tables must be present.\n" ));
+      FT_ERROR(( "One of `glyf'/`loca' tables missing.\n" ));
       return FT_THROW( Invalid_Table );
     }