Linux系统下 生成的图片中带中文字体,图片中的中文乱码的问题
Linux 系统下查看activiti流程图中文节点乱码,Linux下没有对应的中文字体导致。
1.安装命令工具
如果服务器可以联网,直接在线安装:
yum install -y fontconfig mkfontscale
如果服务器不能联网,先在一台能联网的服务器上,将安装包下载下来,可使用如下命令,只下载不安装:
yum install --downloadonly --downloaddir=/tmp <package-name> 将目标安装包下载到目标文件夹
fontconfig的安装包如下:
dejavu-fonts-common-2.33-6.el7.noarch.rpm
dejavu-sans-fonts-2.33-6.el7.noarch.rpm
fontconfig-2.13.0-4.3.el7.x86_64.rpm
fontpackages-filesystem-1.44-8.el7.noarch.rpm
freetype-2.8-14.el7.x86_64.rpm
libpng-1.5.13-7.el7_2.x86_64.rpm
mkfontscale的安装包如下:
libfontenc-1.1.3-3.el7.x86_64.rpm
xorg-x11-font-utils-7.5-21.el7.x86_64.rpm
安装下载好的包:
rpm -Uvh *.rpm --nodeps --force
2.将Windows上的字体复制到Linux下:
Windows的字体放在C:\Windows\Fonts
目录下,找到自己需要的字体,或者将整个文件夹复制到Linux下,Linux的字体放在/usr/share/fonts
目录下,我们在fonts
目录下,新建一个chinese
目录,然后将Windows上的字体上传到该目录下。
3.执行命令:
修改权限:
chmod -R 755 /usr/share/fonts/chinese
在执行安装字体命令前,先检查一下系统中的中文字体:
fc-list :lang=zh
如果之前没有没有安装过中文字体,应该是没有任何信息显示
进入到字体目录下:
cd /usr/share/fonts/chinese
刷新配置,依次执行以下命令:
mkfontscale
mkfontdir
fc-cache
然后再次执行fc-list :lang=zh
查看显示:
/usr/share/fonts/chinese/simsun.ttc: 宋体,SimSun:style=常规,Regular
/usr/share/fonts/chinese/simsun.ttc: 新宋体,NSimSun:style=常规,Regular
/usr/share/fonts/chinese/simhei.ttf: SimHei:style=Normal
至此中文字体安装成功。
项目中的流程图: