[util] Fix cluster sweeping during --verify

If *I* get this wrong in 2017, I have no idea how others get their head around
cluster math...

Fixes tests/arabic-fallback-shaping.tests
This commit is contained in:
Behdad Esfahbod 2017-08-30 17:25:10 -07:00
parent 69d701b02e
commit b262ebcc9c
1 changed files with 8 additions and 3 deletions

View File

@ -366,13 +366,18 @@ struct shape_options_t : option_group_t
}
else
{
unsigned int cluster = info[end].cluster;
if (forward)
while (text_end < num_chars && text[text_end].cluster != cluster)
{
unsigned int cluster = info[end].cluster;
while (text_end < num_chars && text[text_end].cluster < cluster)
text_end++;
}
else
while (text_start && text[text_start - 1].cluster != cluster)
{
unsigned int cluster = info[end - 1].cluster;
while (text_start && text[text_start - 1].cluster >= cluster)
text_start--;
}
}
assert (text_start < text_end);