GUI:如何确定是否支持特定的Unicode字符?

14
我注意到Metal L&F不支持Unicode中的某些箭头字符,而Nimbus和GTK L&Fs则支持它们。
未支持的字符仅显示为:... 我能否:
1.手动查找支持哪个Unicode字符的L&F
2.或在运行时找到?
编辑:或者,它是否只取决于L&F的默认字体,我的问题也许应该是:
“如何找出哪个Java字体支持哪些Unicode字符?”

我不是专家,但可能是由于Metal/Ocean使用的默认字体。 - Powerlord
我非常确定是字体决定了支持哪些字符。 - Michael Borgwardt
3个回答

14
您可以使用canDisplay方法测试java.awt.Font对象是否可以显示给定的字符。 通常可以使用getFont()方法从GUI组件获取字体。

太好了!就是这样!http://download.oracle.com/javase/6/docs/api/java/awt/Font.html#canDisplay%28char%29 - java.is.for.desktop

2

如果您知道包含所需箭头的Unicode块,可以在这里查找。不幸的是,似乎没有新版JDK的页面。


很遗憾,链接现在已经失效了。 - Gili

1
使用这段代码,您可以使用几乎所有Unicode。 ta.setFont(new java.awt.Font("Segoe UI Emoji", 1, 20));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接