[subset] Drop GSUB/GPOS main list items if empty
diff --git a/Lib/fontTools/subset.py b/Lib/fontTools/subset.py
index a8f24e3..1da1962 100644
--- a/Lib/fontTools/subset.py
+++ b/Lib/fontTools/subset.py
@@ -1068,8 +1068,15 @@
@_add_method(ttLib.getTableClass('GSUB'),
ttLib.getTableClass('GPOS'))
def prune_post_subset(self, options):
- if self.table.LookupList:
- self.table.LookupList.prune_post_subset(options);
+ table = self.table
+ if table.ScriptList and not table.ScriptList.ScriptRecord:
+ table.ScriptList = None
+ if table.FeatureList and not table.FeatureList.FeatureRecord:
+ table.FeatureList = None
+ if table.LookupList:
+ table.LookupList.prune_post_subset(options);
+ if not table.LookupList.Lookup:
+ table.LookupList = None
return True
@_add_method(ttLib.getTableClass('GDEF'))