[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'))