Linux 安装 windows 字体

在Linux服务器上部署项目时,由于默认缺少Microsoft字体,导致图片合成的汉字显示为乱码。解决方法是将Windows字体复制到Linux的字体目录,并通过fc-list命令检查和导入。在Ubuntu系统中,可能需要安装xfonts-utils来执行mkfontscale命令。完成字体导入后,重启应用服务(如Tomcat),即可正常显示汉字。
摘要由CSDN通过智能技术生成

做了一个项目,其中有一个图片合成的步骤,合成的过程中在图片上添加文字用到 微软雅黑 字体

 Font f = new Font("Microsoft Yahei UI",Font.TRUETYPE_FONT ,20);

在windows 下开发测试肯定是没有问题的,但把项目部署到Linux服务器上时,就会发现合成的图片上的汉字都是一个长方形乱码。
想了一下,应该是Linux上默认是没有Microsoft 的字体造成的,所以要把windows上的字库放到Linux上。
可以执行 fc-list :lang=zh-cn 命令,查看Linux下是否包含要使用的中文字体。

fc-list :lang=zh-cn

1. 复制字体
windows 的字体在 C:\Windows\Fonts 目录下
Linux 的字体一般在 /usr/share/fonts/ 目录下
可在/usr/share/fonts/ 下建立一个 winfonts 目录放要复制的windows 字体。

2. 导入字体
复制完成后,命令行下依次执行下面三条命令(root用户无须加sudo):

    sudo mkfontscale
   sudo mkfontdir
   sudo fc-cache -fv 

有可能在执行过程中提示 mkfontscale 没有安装,需要先安装 xfonts-utils 再使用,
下面是ubuntu的安装,导入成功后会提示fc-cache: succeeded
这时再执行fc-list :lang=zh-cn 就可以看到已导入的字体了。

已经部署的项目需要重新启动才生效,个人是部署在tomcat上,重启tomcat,再操作就不会出现乱码了。
Good luck!

root@sdfsfsfsfs:/usr/share/fonts/windfonts# mkfontscale
The program 'm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值