總結/朱季謙
樓主最近在做公司的工作流平台,發現一個很無語的事情,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(注:若無法執行該命令,可根據提示先執行
進行安裝,然后再執行)


mkfontdir

fc-cache -fv

安裝完后,重啟應用,重新部署一個新的流程圖,即可正常在linux上顯示”宋體“中文了
