GUI:如何确定是不是支持某些 Unicode 字符?
Posted
技术标签:
【中文标题】GUI:如何确定是不是支持某些 Unicode 字符?【英文标题】:GUI: How can I find out if certain Unicode characters are supported?GUI:如何确定是否支持某些 Unicode 字符? 【发布时间】:2011-06-01 06:02:33 【问题描述】:我注意到 Metal L&F 不支持 Unicode 中的某些箭头字符,而 Nimbus 和 GTK L&F 确实支持它们。
不支持的字符只显示为:...
我可以
-
要么查找(手动)L&F 支持哪些 Unicode 字符,
还是在运行时发现?
编辑: 或者,如果它只依赖于 L&F 的默认字体,我的问题可能应该是:“我如何找出哪些 Java 字体支持哪些 Unicode 字符?”
【问题讨论】:
我不是专家,但这可能是由于 Metal/Ocean 使用的默认字体。 我很确定是字体决定了支持哪些字符。 【参考方案1】:您可以使用canDisplay
方法测试java.awt.Font
对象是否可以显示给定字符。
您通常可以使用 getFont()
方法从 GUI 组件中获取字体。
【讨论】:
太棒了!而已! download.oracle.com/javase/6/docs/api/java/awt/…【参考方案2】:如果你知道哪个 unicode 块包含你需要的箭头,你可以查一下here。不幸的是,似乎没有更新 JDK 的页面。
【讨论】:
很遗憾,链接现在已损坏。【参考方案3】:使用这段代码,您几乎可以使用所有 Unicode ta.setFont(new java.awt.Font("Segoe UI Emoji", 1, 20));
【讨论】:
以上是关于GUI:如何确定是不是支持某些 Unicode 字符?的主要内容,如果未能解决你的问题,请参考以下文章
MessageBox 从 TCHAR 缓冲区打印额外的 unicode 字符