diff --git a/Lib/fontTools/subset.py b/Lib/fontTools/subset.py index 3c148310e..e7238ada8 100644 --- a/Lib/fontTools/subset.py +++ b/Lib/fontTools/subset.py @@ -1372,7 +1372,14 @@ def subset_glyphs(self, s): del csi.file, csi.offsets if hasattr(font, "FDSelect"): sel = font.FDSelect - sel.format = None + # XXX We want to set sel.format to None, such that the most compact + # format is selected. However, OTS was broken and couldn't parse + # a FDSelect format 0 that happened before CharStrings. As such, + # always force format 3 until we fix cffLib to always generate + # FDSelect after CharStrings. + # https://github.com/khaledhosny/ots/pull/31 + #sel.format = None + sel.format = 3 sel.gidArray = [sel.gidArray[i] for i in indices] cs.charStrings = dict((g,indices.index(v)) for g,v in cs.charStrings.items()