From f70cf453e0ef19093281589c9ea06d9f1b374df2 Mon Sep 17 00:00:00 2001 From: Jonathan Kew Date: Tue, 6 Mar 2012 10:58:16 +0000 Subject: [PATCH] bug 729626 - fix cluster formation in Indic, cherrypicked from harfbuzz-ng commit 461b9b6347e4f58589f5be82c40a2df61da2c715. r=behdad --- .../src/hb-ot-shape-complex-indic-machine.hh | 16 ++++++++-------- .../src/hb-ot-shape-complex-indic-machine.rl | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/gfx/harfbuzz/src/hb-ot-shape-complex-indic-machine.hh b/gfx/harfbuzz/src/hb-ot-shape-complex-indic-machine.hh index 334e607fdbe..28160f2c069 100644 --- a/gfx/harfbuzz/src/hb-ot-shape-complex-indic-machine.hh +++ b/gfx/harfbuzz/src/hb-ot-shape-complex-indic-machine.hh @@ -232,25 +232,25 @@ _resume: #line 62 "hb-ot-shape-complex-indic-machine.rl" { found_consonant_syllable (map, buffer, mask_array, last, p); } #line 67 "hb-ot-shape-complex-indic-machine.rl" - { set_cluster (buffer, p, last); last = p; } + { set_cluster (buffer, last, p); last = p; } break; case 3: #line 63 "hb-ot-shape-complex-indic-machine.rl" { found_vowel_syllable (map, buffer, mask_array, last, p); } #line 67 "hb-ot-shape-complex-indic-machine.rl" - { set_cluster (buffer, p, last); last = p; } + { set_cluster (buffer, last, p); last = p; } break; case 4: #line 64 "hb-ot-shape-complex-indic-machine.rl" { found_standalone_cluster (map, buffer, mask_array, last, p); } #line 67 "hb-ot-shape-complex-indic-machine.rl" - { set_cluster (buffer, p, last); last = p; } + { set_cluster (buffer, last, p); last = p; } break; case 1: #line 65 "hb-ot-shape-complex-indic-machine.rl" { found_non_indic (map, buffer, mask_array, last, p); } #line 67 "hb-ot-shape-complex-indic-machine.rl" - { set_cluster (buffer, p, last); last = p; } + { set_cluster (buffer, last, p); last = p; } break; #line 256 "hb-ot-shape-complex-indic-machine.hh" } @@ -268,25 +268,25 @@ _again: #line 62 "hb-ot-shape-complex-indic-machine.rl" { found_consonant_syllable (map, buffer, mask_array, last, p); } #line 67 "hb-ot-shape-complex-indic-machine.rl" - { set_cluster (buffer, p, last); last = p; } + { set_cluster (buffer, last, p); last = p; } break; case 3: #line 63 "hb-ot-shape-complex-indic-machine.rl" { found_vowel_syllable (map, buffer, mask_array, last, p); } #line 67 "hb-ot-shape-complex-indic-machine.rl" - { set_cluster (buffer, p, last); last = p; } + { set_cluster (buffer, last, p); last = p; } break; case 4: #line 64 "hb-ot-shape-complex-indic-machine.rl" { found_standalone_cluster (map, buffer, mask_array, last, p); } #line 67 "hb-ot-shape-complex-indic-machine.rl" - { set_cluster (buffer, p, last); last = p; } + { set_cluster (buffer, last, p); last = p; } break; case 1: #line 65 "hb-ot-shape-complex-indic-machine.rl" { found_non_indic (map, buffer, mask_array, last, p); } #line 67 "hb-ot-shape-complex-indic-machine.rl" - { set_cluster (buffer, p, last); last = p; } + { set_cluster (buffer, last, p); last = p; } break; #line 292 "hb-ot-shape-complex-indic-machine.hh" } diff --git a/gfx/harfbuzz/src/hb-ot-shape-complex-indic-machine.rl b/gfx/harfbuzz/src/hb-ot-shape-complex-indic-machine.rl index 53dc20df54b..bcca6dab26f 100644 --- a/gfx/harfbuzz/src/hb-ot-shape-complex-indic-machine.rl +++ b/gfx/harfbuzz/src/hb-ot-shape-complex-indic-machine.rl @@ -64,7 +64,7 @@ action found_vowel_syllable { found_vowel_syllable (map, buffer, mask_array, las action found_standalone_cluster { found_standalone_cluster (map, buffer, mask_array, last, p); } action found_non_indic { found_non_indic (map, buffer, mask_array, last, p); } -action next_syllable { set_cluster (buffer, p, last); last = p; } +action next_syllable { set_cluster (buffer, last, p); last = p; } consonant_syllable = (c.N? (z.H|H.z?))* c.N? A? (H.z? | matra_group*)? syllable_tail %(found_consonant_syllable); vowel_syllable = (Ra H)? V N? (z.H.c | ZWJ.c)? matra_group* syllable_tail %(found_vowel_syllable);