diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2018-10-02 17:49:06 +0200 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2018-10-02 17:49:06 +0200 |
commit | 5101abd42f4027edf182eddfa58c629b11c2a7f6 (patch) | |
tree | 4e20239555d2de095be37adcc2ac07984d9b20da /src/hb-ot-shape-complex-indic-machine.rl | |
parent | 6f457f8370de5d96452ee3a2d1b0a97b025ef1d1 (diff) |
[indic/use] Factor common expressions in ragel machine
No machine change.
Diffstat (limited to 'src/hb-ot-shape-complex-indic-machine.rl')
-rw-r--r-- | src/hb-ot-shape-complex-indic-machine.rl | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/hb-ot-shape-complex-indic-machine.rl b/src/hb-ot-shape-complex-indic-machine.rl index 455938e9..c5d945d4 100644 --- a/src/hb-ot-shape-complex-indic-machine.rl +++ b/src/hb-ot-shape-complex-indic-machine.rl @@ -69,12 +69,14 @@ halant_group = (z?.H.(ZWJ.N?)?); final_halant_group = halant_group | H.ZWNJ; halant_or_matra_group = (final_halant_group | matra_group{0,4}); +complex_syllable_tail = (halant_group.cn){0,4} halant_or_matra_group syllable_tail; -consonant_syllable = (Repha|CS)? cn (halant_group.cn){0,4} halant_or_matra_group syllable_tail; -vowel_syllable = reph? V.n? (ZWJ | (halant_group.cn){0,4} halant_or_matra_group syllable_tail); -standalone_cluster = ((Repha|CS)? PLACEHOLDER | reph? DOTTEDCIRCLE).n? (halant_group.cn){0,4} halant_or_matra_group syllable_tail; + +consonant_syllable = (Repha|CS)? cn complex_syllable_tail; +vowel_syllable = reph? V.n? (ZWJ | complex_syllable_tail); +standalone_cluster = ((Repha|CS)? PLACEHOLDER | reph? DOTTEDCIRCLE).n? complex_syllable_tail; symbol_cluster = symbol syllable_tail; -broken_cluster = reph? n? (halant_group.cn){0,4} halant_or_matra_group syllable_tail; +broken_cluster = reph? n? complex_syllable_tail; other = any; main := |* |