diff --git a/src/hb-ot-shape-complex-use-machine.rl b/src/hb-ot-shape-complex-use-machine.rl index fa14701a1..f028f3881 100644 --- a/src/hb-ot-shape-complex-use-machine.rl +++ b/src/hb-ot-shape-complex-use-machine.rl @@ -129,6 +129,7 @@ number_joiner_terminated_cluster = N VS? (HN N VS?)* HN; numeral_cluster = N VS? (HN N VS?)*; symbol_cluster = S VS? SMAbv* SMBlw*; independent_cluster = (IND | O | Rsv | WJ) VS?; +other = any; main := |* independent_cluster => { found_syllable (independent_cluster); }; @@ -139,6 +140,7 @@ main := |* numeral_cluster => { found_syllable (numeral_cluster); }; symbol_cluster => { found_syllable (symbol_cluster); }; broken_cluster => { found_syllable (broken_cluster); }; + other => { found_syllable (non_cluster); }; *|; diff --git a/src/hb-ot-shape-complex-use.cc b/src/hb-ot-shape-complex-use.cc index 249268b34..67149efda 100644 --- a/src/hb-ot-shape-complex-use.cc +++ b/src/hb-ot-shape-complex-use.cc @@ -236,6 +236,7 @@ enum syllable_type_t { numeral_cluster, symbol_cluster, broken_cluster, + non_cluster, }; #include "hb-ot-shape-complex-use-machine.hh" @@ -315,6 +316,7 @@ setup_topographical_masks (const hb_ot_shape_plan_t *plan, { case independent_cluster: case symbol_cluster: + case non_cluster: /* These don't join. Nothing to do. */ last_form = _NONE; break;