几天来,我一直在网上潜伏,试图寻找一种代码实现(最好是 Java)来翻转 Bidi 文本,以便它可以在不支持 Bidi 文本的平台内正确显示。(如AndEngine)。
最佳解决方案是一种方法,我会向它提供希伯来语文本,它会返回翻转的内容。我可以自己做到这一点,但是一旦混合了英语和希伯来语文本的字符串,它就会变得复杂,而且我认为实现它对我来说会很愚蠢,因为可能已经有更好的实现了。
我发现最接近的是这个 Unicode 算法 -
http://www.unicode.org/reports/tr9/
http://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/
这太复杂了,太大了,并没有完成所有的工作。
Java中还有这个Bidi类
http://docs.oracle.com/javase/7/docs/api/java/text/Bidi.html
但它只提供了简单的方法来分析 Bidi 文本。
我很确定这是一个常见问题,因为不幸的是许多平台和游戏引擎并不完全支持双向文本。
谢谢!