code: def buildGSUB():
      """Build a GSUB table from scratch."""
      fontTable = newTable("GSUB")
      gsub = fontTable.table = ot.GSUB()
      gsub.Version = 0x00010001  # allow gsub.FeatureVariations
  
      gsub.ScriptList = ot.ScriptList()
      gsub.ScriptList.ScriptRecord = []
      gsub.FeatureList = ot.FeatureList()
      gsub.FeatureList.FeatureRecord = []
      gsub.LookupList = ot.LookupList()
      gsub.LookupList.Lookup = []
  
      srec = ot.ScriptRecord()
      srec.ScriptTag = "DFLT"
      srec.Script = ot.Script()
      srec.Script.DefaultLangSys = None
      srec.Script.LangSysRecord = []
      srec.Script.LangSysCount = 0
  
      langrec = ot.LangSysRecord()
      langrec.LangSys = ot.LangSys()
      langrec.LangSys.ReqFeatureIndex = 0xFFFF
      langrec.LangSys.FeatureIndex = []
      srec.Script.DefaultLangSys = langrec.LangSys
  
      gsub.ScriptList.ScriptRecord.append(srec)
      gsub.ScriptList.ScriptCount = 1
      gsub.FeatureVariations = None
  
      return fontTable
  
imports: from fontTools.misc.dictTools import hashdict
  from fontTools.misc.intTools import bit_count
  from fontTools.ttLib import newTable
  from fontTools.ttLib.tables import otTables
  from fontTools.ttLib.ttVisitor import TTVisitor
  from fontTools.otlLib.builder import buildLookup, buildSingleSubstSubtable
  from collections import OrderedDict
  from .errors import VarLibError, VarLibValidationError
label_desc: Use image node_id 8 for calling a global function with example usage: buildGSUB() and returns: fontTable