[subset] Fix glyf component closure
https://github.com/behdad/fonttools/pull/11
diff --git a/Lib/fontTools/subset.py b/Lib/fontTools/subset.py
index eb21076..36a349e 100644
--- a/Lib/fontTools/subset.py
+++ b/Lib/fontTools/subset.py
@@ -1155,7 +1155,7 @@
if g not in self.glyphs:
continue
gl = self.glyphs[g]
- for c in gl.getComponents(self):
+ for c in gl.getComponentNames(self):
if c not in s.glyphs:
components.add(c)
components = set(c for c in components if c not in s.glyphs)
diff --git a/Lib/fontTools/ttLib/tables/_g_l_y_f.py b/Lib/fontTools/ttLib/tables/_g_l_y_f.py
index f5ab386..2b1e1a1 100644
--- a/Lib/fontTools/ttLib/tables/_g_l_y_f.py
+++ b/Lib/fontTools/ttLib/tables/_g_l_y_f.py
@@ -606,10 +606,10 @@
else:
return GlyphCoordinates(), [], array.array("B")
- def getComponents(self, glyfTable):
+ def getComponentNames(self, glyfTable):
if not hasattr(self, "data"):
if self.isComposite():
- return self.components
+ return [c.glyphName for c in self.components]
else:
return []