getSingle top-level property
List Function
(dynamic feature, dynamic script, dynamic language)
getSingle
getter/setter pair
Implementation
Substitution.prototype.getSingle = function(feature, script, language) {
const substitutions = [];
const lookupTables = this.getLookupTables(script, language, feature, 1);
for (let idx = 0; idx < lookupTables.length; idx++) {
const subtables = lookupTables[idx].subtables;
for (let i = 0; i < subtables.length; i++) {
const subtable = subtables[i];
const glyphs = this.expandCoverage(subtable.coverage);
let j;
if (subtable.substFormat === 1) {
const delta = subtable.deltaGlyphId;
for (j = 0; j < glyphs.length; j++) {
const glyph = glyphs[j];
substitutions.push({ sub: glyph, by: glyph + delta });
}
} else {
const substitute = subtable.substitute;
for (j = 0; j < glyphs.length; j++) {
substitutions.push({ sub: glyphs[j], by: substitute[j] });
}
}
}
}
return substitutions;
};