总结/朱季谦
楼主最近在做公司的工作流平台,发现一个很无语的事情,Activiti5.22的流程图在Windows环境上部署,是可以正常查看的,但发布到公司的Linux服务器上后,在上面进行流程图在线部署时,发现中文都变成了方块,如下图——
在工作流的配置文件里,是正常配置了“宋体”格式
经过一番对比,发现linux服务器上很多字体是没有的,例如“宋体”,“微软雅黑”等中文字体就没有。
由此可知,可以有两种解决思路——
1.找到linux上存在的字体,在xml配置文件里把linux支持的字体替换原来的“宋体”
2.在linux上安装“宋体”字体;
在linux上安装宋体字体的步骤如下:
1.在本地Windows系统的C:\Windows\Fonts目录下,可以拿到“宋体”格式的文件simsun.ttc
2.在Linux服务器上输入echo $JAVA_HOME,找到服务器上jdk的存放路径,/usr/lib/jvm/jdk/jdk1.7.0_67
3.cd /usr/lib/jvm/jdk/jdk1.7.0_67/jre/lib/fonts可进入到jdk路径的fonts目录下, 新建一个文件夹mkdir newfont
4.将simsun.ttc文件复制到newfont文件里;
5.将字体缓存到系统中,执行以下命令:
mkfontscale(注:若无法执行该命令,可根据提示先执行
或者yum install mkfontscale进行安装,然后再执行)
mkfontdir
fc-cache -fv(执行显示fc-cache:command not found ,则需要安装#yum install fontconfig)
安装完后,重启应用,重新部署一个新的流程图,即可正常在linux上显示”宋体“中文了