List all single substitutions (lookup type 1) for a given script, language, and feature.
@param {string} script='DFLT'
@param {string} language='dflt'
@param {string} feature - 4-character feature name ('aalt', 'salt', 'ss01'...)
@return {Array} substitutions - The list of substitutions.
List all multiple substitutions (lookup type 2) for a given script, language, and feature.
@param {string} script='DFLT'
@param {string} language='dflt'
@param {string} feature - 4-character feature name ('ccmp', 'stch')
@return {Array} substitutions - The list of substitutions.
List all alternates (lookup type 3) for a given script, language, and feature.
@param {string} script='DFLT'
@param {string} language='dflt'
@param {string} feature - 4-character feature name ('aalt', 'salt'...)
@return {Array} alternates - The list of alternates
List all ligatures (lookup type 4) for a given script, language, and feature.
The result is an array of ligature objects like { sub: ids, by: id }
@param {string} feature - 4-letter feature name ('liga', 'rlig', 'dlig'...)
@param {string} script='DFLT'
@param {string} language='dflt'
@return {Array} ligatures - The list of ligatures.
Add or modify a single substitution (lookup type 1)
Format 2, more flexible, is always used.
@param {string} feature - 4-letter feature name ('liga', 'rlig', 'dlig'...)
@param {Object} substitution - { sub: id, by: id } (format 1 is not supported)
@param {string} script='DFLT'
@param {string} language='dflt'
Add a ligature (lookup type 4)
Ligatures with more components must be stored ahead of those with fewer components in order to be found
@param {string} feature - 4-letter feature name ('liga', 'rlig', 'dlig'...)
@param {Object} ligature - { sub: ids, by: id }
@param {string} script='DFLT'
@param {string} language='dflt'
List all feature data for a given script and language.
@param {string} feature - 4-letter feature name
@param {string} script='DFLT'
@param {string} language='dflt'
@return {Array} substitutions - The list of substitutions.
Add a substitution to a feature for a given script and language.
@param {string} feature - 4-letter feature name
@param {Object} sub - the substitution to add (an object like { sub: id or ids, by: id or ids })
@param {string} script='DFLT'
@param {string} language='dflt'