summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@behdad.org>2016-05-06 17:28:25 +0100
committerBehdad Esfahbod <behdad@behdad.org>2016-05-06 17:28:25 +0100
commit3e4e7616a8ca80a50a438601b84428b4ba4c8694 (patch)
tree70e7f6923753afaec3c0059822ba79f5f50ac56e
parentd04e461fe3310ccaf8633efcb79b8eb6ca2201c3 (diff)
downloadharfbuzz-3e4e7616a8ca80a50a438601b84428b4ba4c8694.tar.gz
[use] Add a catch-all clause to the machine
-rw-r--r--src/hb-ot-shape-complex-use-machine.rl2
-rw-r--r--src/hb-ot-shape-complex-use.cc2
2 files changed, 4 insertions, 0 deletions
diff --git a/src/hb-ot-shape-complex-use-machine.rl b/src/hb-ot-shape-complex-use-machine.rl
index fa14701a..f028f388 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 249268b3..67149efd 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;