[use] Add a catch-all clause to the machine
authorBehdad Esfahbod <behdad@behdad.org>
Fri, 6 May 2016 16:28:25 +0000 (17:28 +0100)
committerBehdad Esfahbod <behdad@behdad.org>
Fri, 6 May 2016 16:28:25 +0000 (17:28 +0100)
src/hb-ot-shape-complex-use-machine.rl
src/hb-ot-shape-complex-use.cc

index fa14701..f028f38 100644 (file)
@@ -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); };
 *|;
 
 
index 249268b..67149ef 100644 (file)
@@ -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;