openJDK awt 字体支持

因为sun jdk1.8之后要开始收费了,不得已转入使用openJDK。相对于sun JDK来讲openJDK缺少了部分组件支持,并且重写了一些实现。在openJDK中,是不包含任何字体的,在生成图形验证码等使用awt.font的需求时,需要额外的字体支持。

 

一, 环境

openJDK 1.8, springboot2.x

 

二, 外部字体加载

可以在本地windows环境中找到字体的支持包。控制面板-》 外观和个性化 -》字体

控制面板 -》 外观和个性化 -》 字体

在这个目录下, 你可以找到想要的字体包。例如,我想要华文细黑,直接复制这个包到你的项目下。

在springboot环境里,我放在resource  -->font 目录下。

华文细黑对应的包为STXIHEI.TTF

awt.font加载代码

    private Font loadFontResource() {

        InputStream resourceAsStream = null;
        try {
            String path = "/font/STXIHEI.TTF";
            resourceAsStream = this.getClass().getResourceAsStream(path);
            Font font = Font.createFont(Font.TRUETYPE_FONT, resourceAsStream);
            Font targetFont = font.deriveFont(Font.PLAIN);
            return targetFont;
        } catch (FontFormatException e) {
            e.printStackTrace();
            return null;
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        } finally {
            if (resourceAsStream != null){
                resourceAsStream.close();
            }
        }
    }

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值