Warn if composite glyph flags say there are instructions, but there are none.
diff --git a/Lib/fontTools/ttLib/tables/_g_l_y_f.py b/Lib/fontTools/ttLib/tables/_g_l_y_f.py
index b3edaac..271e8fa 100644
--- a/Lib/fontTools/ttLib/tables/_g_l_y_f.py
+++ b/Lib/fontTools/ttLib/tables/_g_l_y_f.py
@@ -677,6 +677,13 @@
haveInstructions = haveInstructions | haveInstr
self.components.append(component)
if haveInstructions:
+ if not data:
+ log.warning(
+ "Composite glyph flags announce presence of instructions, but there are none. %s",
+ [c.glyphName for c in self.components]
+ )
+ return
+
numInstructions, = struct.unpack(">h", data[:2])
data = data[2:]
self.program = ttProgram.Program()