8

我正在为我的应用程序使用这个Amazing Arabic ReshaperAndroid,一切正常,但它有一个小问题,它总是在 Android 中行的第一个字符之前显示最后一个 Harka (Harki),我也尝试过gravity right

它适用于高于 2.3.3 的 Android 版本,因为这是一种从右到左的语言我不明白为什么它在低于 2.3.3 的 Android 版本上不能正常工作,您可以查看下图以更好地理解。在此处输入图像描述

我还尝试将最后一个 Harka 移动到该行的第一个字符,它仅适用于第一行但在同样的问题出现之后。请帮助我解决这个问题。

4

1 回答 1

1

看来这是Bidi规则的原因;当您混合字母和符号时,最后一个符号不遵循句子方向,除非它位于两个字母之间。这就是为什么您只能通过最后一个 Haraka 获得它。

对于原生支持双向的 Android 版本,您不应使用阿拉伯语 reshaper 库。仅用于无法正确连接阿拉伯字母的 Android 版本。您可以在应用程序中添加一个选项,让用户决定天气或阿拉伯字母是否正确显示。

或者,您可以在您的应用程序中提供详尽的 Android 版本和天气列表,或者它是否原生支持 Bidi,因此您可以自动决定何时使用阿拉伯语整形器。

于 2012-12-29T23:14:31.373 回答