You need to sign in or sign up before continuing.
提交 a15b70a8 编写于 作者: B Behdad Esfahbod

[hb-old] Fix cluster formation in RTL

Unlike Uniscribe, hb-old returns glyphs in logical order, so the logic
does not need to duplicated for RTL.
上级 8a7e70ef
......@@ -345,15 +345,9 @@ retry:
uint32_t *p = &vis_clusters[item.log_clusters[buffer->info[i].utf16_index()]];
*p = MIN (*p, buffer->info[i].cluster);
}
if (!backward) {
for (unsigned int i = 1; i < num_glyphs; i++)
if (vis_clusters[i] == -1)
vis_clusters[i] = vis_clusters[i - 1];
} else {
for (int i = num_glyphs - 2; i >= 0; i--)
if (vis_clusters[i] == -1)
vis_clusters[i] = vis_clusters[i + 1];
}
for (unsigned int i = 1; i < num_glyphs; i++)
if (vis_clusters[i] == -1)
vis_clusters[i] = vis_clusters[i - 1];
#undef utf16_index
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册