在Java / Swing中显示特殊的unicode字符

时间:2011-11-14 20:43:26

标签: java swing unicode

我想在JLabel中绘制像这样的特殊字符(http://www.fileformat.info/info/unicode/char/2605/index.htm)。它在Mac OS X上运行良好。

为了避免编码问题,我已经将其定义为:

public static final char STAR = '\u2605';

但在Windows 7上,我有一个代表未知角色的方块。我用google搜索了,看起来我们需要手工编辑JRE使用的字体配置文件。

我希望我的应用程序是可移植的,不需要用户进行这种干预。

任何想法都表示赞赏。非常感谢!

1 个答案:

答案 0 :(得分:3)

问题很可能是特定字符不是Windows平台上字体的一部分。对于许多更高的unicode字符就是这种情况。您需要找到所有平台上存在的一个。

甚至在不同平台上称为相同字体的字体可能具有完全不同的字符支持。您可以尝试切换字体,看看是否可以找到跨平台一致的星号。

你对unicode char的编码是完全可移植的。