多语言Java应用程序中的字体问题

多语言Java应用程序中的字体问题,java,fonts,multilingual,jtextarea,Java,Fonts,Multilingual,Jtextarea,我正在开发一个多语言Java应用程序,其中大量使用了JTextArea。当插入基于非拉丁语的字符时,JTextAreas的字体会发生明显的(尽管不是实际的)变化。此外,JTextArea的其他特性,如选项卡大小,似乎也会发生变化 下图显示了默认字体(Lucinda Grande)和选项卡大小为2的JTextArea: 下图显示了插入一行印地语文本后JTextArea的情况: 正如您所看到的,字体的外观和选项卡的大小都发生了明显的变化,尽管当我在调试器中检查这些属性时,很明显它们没有发生变化。

我正在开发一个多语言Java应用程序,其中大量使用了JTextArea。当插入基于非拉丁语的字符时,JTextAreas的字体会发生明显的(尽管不是实际的)变化。此外,JTextArea的其他特性,如选项卡大小,似乎也会发生变化

下图显示了默认字体(Lucinda Grande)和选项卡大小为2的JTextArea:

下图显示了插入一行印地语文本后JTextArea的情况:


正如您所看到的,字体的外观和选项卡的大小都发生了明显的变化,尽管当我在调试器中检查这些属性时,很明显它们没有发生变化。问题不限于印地语-阿拉伯语文本产生相同的结果,尽管韩语和俄语文本不产生相同的结果。有什么想法吗?发生了什么事,我是否可以以及如何防止这种情况?

我相信这与渲染有关(当然)。看来抗锯齿现在已经被关闭了,可能是因为字体配置不支持抗锯齿。我会朝这个方向调查