【问题标题】:Swing components does not show thai charactersSwing 组件不显示泰文字符
【发布时间】:2015-10-09 12:39:05
【问题描述】:

我有一个简单的摇摆应用程序。当我将泰语文本设置为 JLabel 或其他组件时,它们会显示类似字符的问号而不是泰语文本。

有什么办法可以在 Swing 应用程序中支持泰语吗?

【问题讨论】:

  • 我们可以发布一些代码,以便我了解您在这里遇到的错误。
  • 我的代码有点复杂,所以我没有简短而漂亮的代码。我将尝试编写一个示例进行测试。我会把它贴在这里。

标签: java swing fonts character-encoding internationalization


【解决方案1】:

没有特殊的功能或配置要做。 请确保您的字体支持泰文字符。

当我遇到同样的问题时,组件字体设置为 calibri。 将其更改为无衬线后,它起作用了。

但我不知道任何其他支持泰语的字体,我只是通过蛮力尝试找到它。

【讨论】:

  • 我的字体是 arial,当我将它更改为 SansSerif 时,它会显示泰文。看来 arial 也不支持泰语,所以我必须为泰语版本找到正确的字体。
  • 参见Font.canDisplayUpTo(String) & Font.canDisplay(char) & 重载变体。另请参阅 UGlys (Unicode Glyphs) 应用程序。我写的是广泛使用第二个变体。
  • 哦,我差点忘了。 SANS_SERIF 是一种逻辑字体,它从许多其他字体(如其他逻辑字体)中获取字符字形。它可能将 Arial 用于部分代码点范围(并且可能在 Windows 上),而 Segoe UI Symbol 用于其他代码点范围,以及更专业的字体用于其他语言。 OTOH 像 Arial 这样的每种“物理字体”都只会显示其设计的字形..
猜你喜欢
  • 2011-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-20
  • 2017-07-18
  • 1970-01-01
  • 2011-08-14
  • 1970-01-01
相关资源
最近更新 更多