JAVA 设置外部字体

第一段是加载本地文件中的字体文件,并引用相关的字体属性,不过测试后没有生效,不只是不是本地环境的原因,如解决问题后会持续更新

放到方法外层的路径拼写
private static final String basePath = System.getProperty("user.dir") + File.separator + "webcgfclient" + File.separator + "src" + File.separator + "main" + File.separator + "resources"
            + File.separator + "static" + File.separator + "css";
//获取字体的路径,并使用File方法引用字体元素
    String fontUrl = basePath + File.separator + "font" + File.separator + "FZLTCHJW.TTF";
    File file = new File(fontUrl);
    FileInputStream aixing = new FileInputStream(file);
//获取字体属性信息
    Font dynamicFont = Font.createFont(Font.TRUETYPE_FONT, aixing);

第二段是获取本地所有的字体

 public static void main(String[] args) {
        String[] fonts =
                GraphicsEnvironment  // GraphicsEnvironment(抽象类)  图形环境类
                        .getLocalGraphicsEnvironment()  // 获取本地图形环境
                        .getAvailableFontFamilyNames();  // 获取可用字体family名

        int fontCount = 0;   // 字体数统计
        for(String font : fonts) {
            fontCount ++;
            System.out.println(font);
        }
        System.out.println("系统字体数:" + fontCount);
    }

最后描述一下我遇到的问题,一开始是安装字体后一直不生效,使用字体获取方法也没有找到先关的字体,最后无意发现一篇文章,说是字体配置的权限不够导致的,可以右键字体选择【为所有用户安装】,但是这个功能我只在本地win11系统中看到了,放到windows server 2012系统中是没有的,只好在控制面板重要到该字体,右键属性中为该字体添加所有用户的读取权限才成功。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值