add top-level property
dynamic Function(dynamic feature, dynamic sub, dynamic script, dynamic language)
add
getter/setter pair
Implementation
Substitution.prototype.add = function(feature, sub, script, language) {
if (/ss\d\d/.test(feature)) {
// ss01 - ss20
return this.addSingle(feature, sub, script, language);
}
switch (feature) {
case 'aalt':
case 'salt':
if (typeof sub.by === 'number') {
return this.addSingle(feature, sub, script, language);
}
return this.addAlternate(feature, sub, script, language);
case 'dlig':
case 'liga':
case 'rlig':
return this.addLigature(feature, sub, script, language);
case 'ccmp':
if (sub.by instanceof Array) {
return this.addMultiple(feature, sub, script, language);
}
return this.addLigature(feature, sub, script, language);
}
return undefined;
};