Lines Matching full:gsub
71 if "GSUB" not in font:
72 font["GSUB"] = buildGSUB()
74 existingTags = _existingVariableFeatures(font["GSUB"].table).intersection(
84 font["GSUB"].table, allSubstitutions, processLast
96 addFeatureVariationsRaw(font, font["GSUB"].table, conditionsAndLookups, featureTags)
475 # Building GSUB/FeatureVariations internals
480 """Build a GSUB table from scratch."""
481 fontTable = newTable("GSUB")
482 gsub = fontTable.table = ot.GSUB()
483 gsub.Version = 0x00010001 # allow gsub.FeatureVariations
485 gsub.ScriptList = ot.ScriptList()
486 gsub.ScriptList.ScriptRecord = []
487 gsub.FeatureList = ot.FeatureList()
488 gsub.FeatureList.FeatureRecord = []
489 gsub.LookupList = ot.LookupList()
490 gsub.LookupList.Lookup = []
505 gsub.ScriptList.ScriptRecord.append(srec)
506 gsub.ScriptList.ScriptCount = 1
507 gsub.FeatureVariations = None
533 @ShifterVisitor.register_attr(ot.Feature, "LookupListIndex") # GSUB/GPOS
547 def buildSubstitutionLookups(gsub, allSubstitutions, processLast=False): argument
554 firstIndex = len(gsub.LookupList.Lookup) if processLast else 0
560 # Shift all lookup indices in gsub by len(allSubstitutions)
563 visitor.visit(gsub.FeatureList.FeatureRecord)
564 visitor.visit(gsub.LookupList.Lookup)
570 gsub.LookupList.Lookup.append(lookup)
572 gsub.LookupList.Lookup.insert(i, lookup)
573 assert gsub.LookupList.Lookup[lookupMap[subst]] is lookup
574 gsub.LookupList.LookupCount = len(gsub.LookupList.Lookup)