Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java AWT中的阿拉伯文文本_Java_Internationalization_Awt_Arabic - Fatal编程技术网

Java AWT中的阿拉伯文文本

Java AWT中的阿拉伯文文本,java,internationalization,awt,arabic,Java,Internationalization,Awt,Arabic,我需要修改一个现有的Java应用程序,以便用阿拉伯语显示一些(静态)文本。问题是这个Java应用程序运行在只支持Java1.1的设备上(是的,我知道,我不得不接受) 我知道Swing支持RTL语言,但我只能使用AWT。应用程序不使用任何重量级组件;所有文本都使用Graphics.drawString()绘制 这可能吗?(我的意思是,没有从头实现文本呈现引擎)。有人能指出现有的例子吗?有什么有用的建议吗 谢谢 如果它确实是静态的,那么制作一些位图。您将无法使渲染正常工作。如果渲染确实是静态的,请制

我需要修改一个现有的Java应用程序,以便用阿拉伯语显示一些(静态)文本。问题是这个Java应用程序运行在只支持Java1.1的设备上(是的,我知道,我不得不接受)

我知道Swing支持RTL语言,但我只能使用AWT。应用程序不使用任何重量级组件;所有文本都使用
Graphics.drawString()
绘制

这可能吗?(我的意思是,没有从头实现文本呈现引擎)。有人能指出现有的例子吗?有什么有用的建议吗


谢谢

如果它确实是静态的,那么制作一些位图。您将无法使渲染正常工作。

如果渲染确实是静态的,请制作一些位图。您将无法进行渲染。

我通过将用于预处理字符串中每个阿拉伯语单词的算法与自定义BiDi实现相结合,成功地解决了这一问题

到目前为止,渲染在我尝试过的所有情况下都非常有效

以防万一,其他人也有同样的问题,无论是Java 1.1还是其他不支持阿拉伯语的环境(事实上,上面链接的重塑器最初是从Android编写的)

编辑:


原始链接不再工作,但代码现在在github中可用:

我已经成功地解决了这个问题,方法是将用于预处理字符串中每个阿拉伯语单词的算法与自定义BiDi实现相结合

到目前为止,渲染在我尝试过的所有情况下都非常有效

以防万一,其他人也有同样的问题,无论是Java 1.1还是其他不支持阿拉伯语的环境(事实上,上面链接的重塑器最初是从Android编写的)

编辑:


原来的链接不再工作了,但是代码现在在github中可用:

Ehm,但为什么会这样?我猜有一些开发人员使用阿拉伯语编写应用程序,但根本不使用Java..Java 1.1?在那个古老的时代,甚至没有人考虑过Java中的复杂脚本和RTL。ICU项目可能有一个巨大的图书馆附加组件,但我怀疑6年来是否有人看过它。嗯,但这是为什么?我猜有一些开发人员使用阿拉伯语编写应用程序,但根本不使用Java..Java 1.1?在那个古老的时代,甚至没有人考虑过Java中的复杂脚本和RTL。ICU项目可能有一个巨大的图书馆附加组件,但我怀疑6年来是否有人看过它。嗨,罗伯特。谢谢你的提醒。我正在用一个工作链接更新答案。你好,罗伯特。谢谢你的提醒。我正在用一个工作链接更新答案。