如何使用Java查找是否在计算机上正确安装了某种字体

时间:2010-02-16 02:51:50

标签: java fonts detect

我有一台运行Win Vista的PC笔记本,当我第一次购买它时,某些中文字体不会显示,我只能看到矩形,但我玩了一段时间的控制设置,改变了一些属性,现在它正确显示中文字体,但我不记得我做了什么。

现在我的一些程序显示英文和中文,如下所示:“输入|输入”(这里的中文也意味着输入),但如果用户没有在他的机器上正确安装中文字体,他将会看到这样的事情:“输入| [] []”,我的问题是:在Java中如何检测这些字符是否会在某台机器上正确显示,如果没有,只显示“Enter”,如果是,则显示“输入|输入“。

2 个答案:

答案 0 :(得分:8)

java.awt.GraphicsEnvironment.getAvailableFontFamilyNames()可以为您提供当前系统上安装的可用字体列表。您还可以使用java.awt.GraphicsEnvironment.getAllFonts()来获取java.awt.Font个对象。

然后,您可以使用java.awt.Font.canDisplay(int)检查Unicode字符是否可以以该字体显示(其中int是多字节字符的整数表示形式)。

答案 1 :(得分:1)

懒人版:

Arrays.asList(GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames()).contains(FONT_NAME)