我已经在网络上潜伏了好几天,试图寻找一个用于翻转 Bidi 文本的代码实现(最好是 Java),以便它可以在不支持开箱即用的 Bidi 文本的平台内正确显示。 (如AndEngine)。
最佳解决方案是我向它提供希伯来语文本的方法,它会返回翻转的内容。我可以自己做到这一点,但一旦涉及到英语和希伯来语文本的混合字符串,事情就会变得复杂,而且我认为实现它对我来说非常愚蠢,因为可能已经有更好的实现了。
我发现的最接近的是这个 Unicode 算法 -
http://www.unicode.org/reports/tr9/ http://www.unicode.org/reports/tr9/
http://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/ http://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/
它太复杂、太大了,并不能完成所有的工作。
Java中也有这个Bidi类
http://docs.oracle.com/javase/7/docs/api/java/text/Bidi.html http://docs.oracle.com/javase/7/docs/api/java/text/Bidi.html
但它只提供了分析 Bidi 文本的简单方法。
我很确定这是一个常见问题,因为不幸的是许多平台和游戏引擎并不完全支持 Bidi 文本。
Thanks!
Try ICU http://apps.icu-project.org/apiref/icu4j/
ICU是一套成熟的、广泛使用的C/C++
& Java libraries
为软件应用程序提供 Unicode 和全球化支持。
ICU 具有广泛的便携性,可以在所有平台和不同平台上为应用程序提供相同的结果C/C++
& Java software
.
Or
GNU 弗里比迪 http://fribidi.org/ for c++
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)