|
@@ -75,6 +75,20 @@ function fu(): StateMachine {
|
|
]);
|
|
]);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+function f(vowel: string): StateMachine {
|
|
|
|
+ return mergeMachines(
|
|
|
|
+ literal(`f${vowel}`, 0),
|
|
|
|
+ appendMachines(fu(), smallKana(literal(vowel)))
|
|
|
|
+ );
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+function v(vowel: string): StateMachine {
|
|
|
|
+ return mergeMachines(
|
|
|
|
+ literal(`v${vowel}`, 0),
|
|
|
|
+ appendMachines(literal('vu'), smallKana(literal(vowel)))
|
|
|
|
+ );
|
|
|
|
+}
|
|
|
|
+
|
|
function ji(): StateMachine {
|
|
function ji(): StateMachine {
|
|
return state.buildFromTransitions('ji', [
|
|
return state.buildFromTransitions('ji', [
|
|
t('ji', 'j', 'i'),
|
|
t('ji', 'j', 'i'),
|
|
@@ -129,11 +143,7 @@ function smallTsu(base: StateMachine): StateMachine {
|
|
|
|
|
|
return mergeMachines(
|
|
return mergeMachines(
|
|
new StateMachine(newState),
|
|
new StateMachine(newState),
|
|
- appendMachines(
|
|
|
|
- state.buildFromTransitions('l', [t('l', 'l', ''), t('l', 'x', '')]),
|
|
|
|
- tsu(),
|
|
|
|
- base
|
|
|
|
- )
|
|
|
|
|
|
+ appendMachines(smallKana(tsu()), base)
|
|
);
|
|
);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -392,14 +402,14 @@ const DOUBLE_KANA_MAPPING: KanaMapping = {
|
|
ぴゃ: literal('pya', 0),
|
|
ぴゃ: literal('pya', 0),
|
|
ぴゅ: literal('pyu', 0),
|
|
ぴゅ: literal('pyu', 0),
|
|
ぴょ: literal('pyo', 0),
|
|
ぴょ: literal('pyo', 0),
|
|
- ふぁ: literal('fa', 0),
|
|
|
|
- ふぃ: literal('fi', 0),
|
|
|
|
- ふぇ: literal('fe', 0),
|
|
|
|
- ふぉ: literal('fo', 0),
|
|
|
|
- ゔぁ: literal('va', 0),
|
|
|
|
- ゔぃ: literal('vi', 0),
|
|
|
|
- ゔぇ: literal('ve', 0),
|
|
|
|
- ゔぉ: literal('vo', 0),
|
|
|
|
|
|
+ ふぁ: f('a'),
|
|
|
|
+ ふぃ: f('i'),
|
|
|
|
+ ふぇ: f('e'),
|
|
|
|
+ ふぉ: f('o'),
|
|
|
|
+ ゔぁ: v('a'),
|
|
|
|
+ ゔぃ: v('i'),
|
|
|
|
+ ゔぇ: v('e'),
|
|
|
|
+ ゔぉ: v('o'),
|
|
};
|
|
};
|
|
|
|
|
|
const TRIPLE_KANA_MAPPING: KanaMapping = {};
|
|
const TRIPLE_KANA_MAPPING: KanaMapping = {};
|