Fix cluster calculation for non-LTR text

This commit is contained in:
Behdad Esfahbod 2011-07-21 00:28:57 -04:00
parent 4a68684654
commit dd89d958c1
2 changed files with 5 additions and 6 deletions

6
TODO
View File

@ -1,12 +1,6 @@
General fixes: General fixes:
============= =============
- Instead of forming clusters immediately, only do it if we are reversing
the text. We'd need a separate bit to indicate cluster start then.
- Right now, BTW, for non-native direction runs, we get the cluster wrong...
Should do min(input-glyphs.cluster)
- Fix TT 'kern' on/off and GPOS interaction (move kerning before GPOS) - Fix TT 'kern' on/off and GPOS interaction (move kerning before GPOS)
- Do proper rounding when scaling from font space? - Do proper rounding when scaling from font space?

View File

@ -386,6 +386,11 @@ _hb_buffer_replace_glyphs_be16 (hb_buffer_t *buffer,
} }
hb_glyph_info_t orig_info = buffer->info[buffer->i]; hb_glyph_info_t orig_info = buffer->info[buffer->i];
for (unsigned int i = 1; i < num_in; i++)
{
hb_glyph_info_t *info = &buffer->info[buffer->i + i];
orig_info.cluster = MIN (orig_info.cluster, info->cluster);
}
for (unsigned int i = 0; i < num_out; i++) for (unsigned int i = 0; i < num_out; i++)
{ {