问题 GUI:如何确定是否支持某些Unicode字符?


我注意到Metal L&F不支持Unicode中的某些箭头字符,而Nimbus和GTK L&F确实支持它们。

不支持的字符仅显示为: ...

我可以吗

  1. 或者查找(手动),L&F支持哪些Unicode字符,
  2. 或者在运行时找到它?

编辑: 或者,如果它只取决于L&F的默认字体,我的问题或许应该是:
“我怎么知道,哪种Java字体支持哪些Unicode字符?”


3922
2017-12-29 20:29


起源

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


答案:


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


11
2017-12-29 22:45



大!而已! download.oracle.com/javase/6/docs/api/java/awt/... - java.is.for.desktop


如果你知道哪个unicode块包含你需要的箭头,你可以查找它 这里。不幸的是,似乎没有新的JDK页面。


2
2017-12-29 21:05



不幸的是,链接现在已经破裂。 - Gili


使用这段代码几乎可以使用每个Unicode ta.setFont(new java.awt.Font(“Segoe UI Emoji”,1,20));


0
2018-05-16 04:34