java处理字体

1.docker部署微服务不支持中文字体的解决方案
  项目中用到了工作流,在查看流程图时图中的中文字体都变成了一个个白框。之前也遇到过这个问题,是因为服务器没有安装中文字体(宋体为例),因此在服务器安装一个宋体字体即可解决。但是现在是用docker部署服务,每个docker都是一个单独的离线环境,且没有安装宋体,因此问题重现。

    尝试把字体拷贝到容器环境所在的系统字体目录:/usr/share/fonts 目录,并没有效果

   解决方案:在制作微服务镜像的时候,把需要用到的字体拷贝到jvm的字体库目录即可。基础镜像包含有jdk

   Dockerfile 增加如下内容

   #配置字体

   COPY simhei.ttf /usr/jdk8/jdk1.8.0_181/jre/lib/fonts/simhei.ttf

   代码中使用字体的地方配置好字体名称,比如simhei即可。

参考链接:docker部署微服务不支持中文字体的解决方案

2.Java引用外部字体(路径引用)的一些坑
Java引用外部字体(路径引用)的一些坑

3.将字体复制到resource目录下然后创建字体:

ClassPathResource fontResource = new ClassPathResource("demonstration_oblique_blackbody.otf");
            Font font = Font.createFont(Font.TRUETYPE_FONT, fontResource.getInputStream());
            font.deriveFont(fontSize);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值