如何检查字体是否存在

Cog*_*man 3 java fonts awt

我正在使用java.awt.Font,我怎样才能发现系统上是否安装了定义的字体?

具体来说,我有

Font font = new Font("FooBar", 0, 14);
Run Code Online (Sandbox Code Playgroud)

我想发现"font"是否是系统上的有效字体,如果不可用,则默认为更通用的字体.

Lev*_*nal 7

尝试在循环中检查您的字体,如下所示:

public class SO2 {
  public static void main(String args[]) {
      GraphicsEnvironment g= null;
        g=GraphicsEnvironment.getLocalGraphicsEnvironment();
        String []fonts=g.getAvailableFontFamilyNames();
            for (int i = 0; i < fonts.length; i++) {
            System.out.println(fonts[i]);
            if(fonts[i].equals("YOUR FONT")){
                System.out.println("Found!");
            }
    }

}}
Run Code Online (Sandbox Code Playgroud)

它应输出"Found!" 如果它找到你的字体.

祝好运!