speech-rule-engine
Version:
A standalone speech rule engine for XML structures, based on the original engine from ChromeVox.
48 lines (47 loc) • 2.31 kB
JavaScript
import { DynamicCstr } from '../rule_engine/dynamic_cstr.js';
import * as StoreUtil from '../rule_engine/store_util.js';
import * as MathspeakKoreanUtil from './mathspeak_korean_util.js';
import * as MathspeakUtil from './mathspeak_util.js';
import * as NemethUtil from './nemeth_util.js';
import * as NumbersUtil from './numbers_util.js';
import * as SpeechRules from './speech_rules.js';
export function PrefixRules() {
SpeechRules.addStore('en.prefix.default', '', {
CSFordinalPosition: NumbersUtil.ordinalPosition
});
}
export function OtherRules() {
SpeechRules.addStore('en.speech.chromevox', '', {
CTFnodeCounter: StoreUtil.nodeCounter,
CTFcontentIterator: StoreUtil.contentIterator
});
SpeechRules.addStore('en.speech.emacspeak', 'en.speech.chromevox', {
CQFvulgarFractionSmall: MathspeakUtil.isSmallVulgarFraction,
CSFvulgarFraction: NumbersUtil.vulgarFraction
});
SpeechRules.addStore('ko.summary.', 'ko.speech.mathspeak', {
CSFordinalConversion: MathspeakKoreanUtil.ordinalConversion,
CSFdecreasedOrdinalConversion: MathspeakKoreanUtil.decreasedOrdinalConversion,
CSFlistOrdinalConversion: MathspeakKoreanUtil.listOrdinalConversion
});
}
export function BrailleRules() {
SpeechRules.addStore('nemeth.braille.default', DynamicCstr.BASE_LOCALE + '.speech.mathspeak', {
CSFopenFraction: NemethUtil.openingFraction,
CSFcloseFraction: NemethUtil.closingFraction,
CSFoverFraction: NemethUtil.overFraction,
CSFoverBevFraction: NemethUtil.overBevelledFraction,
CQFhyperFraction: NemethUtil.hyperFractionBoundary,
CSFopenRadical: NemethUtil.openingRadical,
CSFcloseRadical: NemethUtil.closingRadical,
CSFindexRadical: NemethUtil.indexRadical,
CSFsubscript: MathspeakUtil.subscriptVerbose,
CSFsuperscript: MathspeakUtil.superscriptVerbose,
CSFbaseline: MathspeakUtil.baselineVerbose,
CGFtensorRules: (st) => MathspeakUtil.generateTensorRules(st, false),
CTFcontentIterator: NemethUtil.contentIterator,
CTFrelationIterator: NemethUtil.relationIterator,
CTFimplicitIterator: NemethUtil.implicitIterator
});
SpeechRules.addStore('euro.braille.default', 'nemeth.braille.default', {});
}