Java 读取系统所有字体的两种方法与区别

系统所有字体系列名称的数组

{
    GraphicsEnvironment e = GraphicsEnvironment.getLocalGraphicsEnvironment();
    String[] fontNames = e.getAvailableFontFamilyNames();
    for (String fontName : fontNames) {
        System.out.println(fontName);
    }
}


获取所有字体样式数组

{
    GraphicsEnvironment e = GraphicsEnvironment.getLocalGraphicsEnvironment();
    Font[] fonts = e.getAllFonts();
    for (Font font : fonts) {
        String fontName = font.getFontName();
        System.out.println(fontName);
    }
}

如下图所有字体是字体的系列名称,而Light\Regular\Bold多种不同的字体样式

Regular样式是默认字体样式,使用如定义Font字体对像

new Font("Microsoft YaHei", Font.PLAIN, 12)

Light字体样式 ,需要使用读取所有字体样式找到名称,定义格式如下
new Font("MicrosoftYaHeiLight", Font.PLAIN, 38)

Bold字体样式与Light定义方法一样,找到名称再定义

new Font("MicrosoftYaHei-Bold", Font.PLAIN, 38);


第一个字Regular;第二个字是Light;第三个字是Bold样式; 

猜你喜欢

转载自blog.csdn.net/zengrenyuan/article/details/80046999