欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-02-16 23:14:16
...

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

{
    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多种不同的字体样式

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

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

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

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

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

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

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

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

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

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

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

相关标签: font bufferedimage