GUI:如何查明是否支持某些 Unicode 字符?
我注意到 Metal L&F 不支持 Unicode 中的某些箭头字符,而 Nimbus 和 GTK L&F 则支持它们。
不支持的字符仅显示为:...
我可以
- (手动)查找哪个 L&F 支持哪些 Unicode 字符,
- 或者在运行时找到它吗?
编辑:或者,如果它只取决于 L&F 的默认字体,我的问题也许应该是:
“我如何知道哪种 Java 字体支持哪些 Unicode 字符?”
I noticed that Metal L&F doesn't support certain arrow characters from Unicode, while Nimbus and GTK L&Fs do support them.
Unsupported characters are just displayed as: ...
Can I
- either look up (manually), which L&F supports which Unicode chars,
- or find it out at runtime?
EDIT: Or, should it only depend on the L&F's default font, my question perhaps should be:
"how do I find out, which Java font supports which Unicode characters?"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用
canDisplay
方法来测试java.awt.Font
对象是否可以显示给定字符。您通常可以使用 getFont() 方法从 GUI 组件获取字体。
You can use the
canDisplay
method to test if ajava.awt.Font
object can display a given character.You can typically get the font from GUI components using the
getFont()
method.如果您知道哪个 unicode 块包含您需要的箭头,您可以查找它 此处。不幸的是,似乎没有更新 JDK 的页面。
If you know which unicode block contains the arrows you need, you can look it up here. Unfortunately there doesn't seem to be a page for newer JDK's.
使用这段代码,您几乎可以使用所有 Unicode
ta.setFont(new java.awt.Font("Segoe UI 表情符号", 1, 20));
Using this piece of code you use almost every Unicode
ta.setFont(new java.awt.Font("Segoe UI Emoji", 1, 20));