public void DoSubstitution(IGlyphIndexList outputCodePoints) { if (lookupTables == null) { return; } //early exit if no lookup tables // //load int j = lookupTables.Count; for (int i = 0; i < j; ++i) { GSUB.LookupTable lookupTable = lookupTables[i]; // if (!EnableLigation && lookupTable.ForUseWithFeatureId == Features.liga.shortname) { //skip this feature continue; } lookupTable.DoSubstitution(outputCodePoints, 0, outputCodePoints.Count); } }