Java AWT Graphics2D drawString 方法不适用于阿拉伯文本
Java AWT Graphics2D drawString method does not work with arabic text
我需要使用来自 Graphics2D (java.awt
) 的方法 .drawString
绘制阿拉伯语文本。
但是当我使用下面代码的方法时,它只会显示一堆空方块
BufferedImage bufferedImage = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = bufferedImage.createGraphics();
graphics.drawString("مرحبا هذا نص عربي",
xStartText, endY + smallRectHeight);
The resulted output
有人可以帮忙吗?我已经搜索了代码片段来解决这个问题,但我找不到任何东西?
除非提供可以支持阿拉伯字符的字体(随应用程序提供),否则最好find a suitable font at run-time。
I supplied Noto Sans Arabic as a font ..
提供字体是 IMO 最稳健 的解决方案。一些提示:另请参阅 How do you import a font? & note the font will become an embedded resource by the time the app. is deployed. The info page for embedded resources 的已接受答案提供了有关如何获得指向字体的 URL 的提示。
.. and it worked as desired.
很高兴你解决了这个问题。
我需要使用来自 Graphics2D (java.awt
) 的方法 .drawString
绘制阿拉伯语文本。
但是当我使用下面代码的方法时,它只会显示一堆空方块
BufferedImage bufferedImage = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = bufferedImage.createGraphics();
graphics.drawString("مرحبا هذا نص عربي",
xStartText, endY + smallRectHeight);
The resulted output
有人可以帮忙吗?我已经搜索了代码片段来解决这个问题,但我找不到任何东西?
除非提供可以支持阿拉伯字符的字体(随应用程序提供),否则最好find a suitable font at run-time。
I supplied Noto Sans Arabic as a font ..
提供字体是 IMO 最稳健 的解决方案。一些提示:另请参阅 How do you import a font? & note the font will become an embedded resource by the time the app. is deployed. The info page for embedded resources 的已接受答案提供了有关如何获得指向字体的 URL 的提示。
.. and it worked as desired.
很高兴你解决了这个问题。