【linux】java 代码生产水印图片,显示口的问题解决(缺少字体库)

线上环境服务器迁移,之前使用centOS 7.5 版本迁移到 centOS 7.2 版本服务器上。其中系统有生成水印功能,迁移前功能可以使用,但是迁移后全变成了口。开始本以为是服务器乱码照成。使用locale 查看发现都是支持中文的。之后猜想是服务器缺少字体库照成。安装字体库后恢复正常。

  • 查看服务器目前的字体fc-list

    image.png

    提示没有命令说明系统中没有安装字体库

  • 安装字体库
    yum -y install fontconfig
    安装完成后进入/usr/share目录可以看到fontsfontconfig 文件夹

  • 安装我们需要的字体
    在fonts 文件夹中创建chinese 目录,上传我们需要的字体。

    image.png

    然后修改目录权限
    chmod -R 755 /usr/share/fonts/chinese

  • 安装ttmkfdir来搜索目录中的所有的字体信息,并汇总生成fonts.scale文件
    yum -y install ttmkfdir
    然后执行ttmkfdir命令即可
    ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir

  • 修改字体配置文件vi /etc/fonts/fonts.conf:
    可以看到一个Font list,即字体列表,在这里需要把我们添加的中文字体位置加进去:

    image.png

  • 刷新字体库缓存
    fc-cache

  • 最后查看系统中 fc-list 查看已安装字体

    image.png

你可能感兴趣的:(【linux】java 代码生产水印图片,显示口的问题解决(缺少字体库))