activiti部署到linux后流程图不显示汉字的问题

linux和windows的字体文件一般是不一样的,默认情况下,linux的java7中一般不支持中文,activiti的动态流程图中的汉字需要java调用汉字的字库,这里需要配置一下java的汉字字库,网上查了一些办法,发现都没有效果,google到石博文博客中有篇文章介绍修改fontconfig.properties方法可以奏效。具体步骤:

1、先把windows中字体文件复制出来

选择你要的字体,点右键复制出来。

2、在java的lib目录下创建fonts文件夹,我的是:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.55.x86_64/jre/lib/fonts,将字体TTF文件复制到该目录。

3、进到lib目录下执行下面的命令

# Make font scale
mkfontscale
  
# 寻找文件中含有iso10646的行
cat fonts.scale | grep iso10646 
 
# 会看到如下面这样的输出
wqy-microhei.ttc -misc-wenquanyi micro hei-medium-r-normal--0-0-0-0-p-0-iso10646-1

我的输出了三个字体

[root@AY140527152639851bc7Z fonts]# cat fonts.scale |grep iso10646
msyh.ttf -microsoft-microsoft yahei-medium-r-normal--0-0-0-0-p-0-iso10646-1
msyhbd.ttf -microsoft-microsoft yahei-bold-r-normal--0-0-0-0-p-0-iso10646-1
simsun.ttc -misc-simsun-medium-r-normal--0-0-0-0-p-0-iso10646-1

4、修改fontconfig.properties文件,我的linux上没有这个文件,也没有fontconfig.properties.src文件,我是从windows的D:\jdk1.7.0\jre\lib目录下找到的,你可以参考你的java目录,将该文件改名为fontconfig.properties,复制到linux的jre的lib目录下。

5、编辑lib/fontconfig.properties文件,在version=1后面加入:

version=1

#注意等号后面的和上面cat fonts.scale |grep iso10646输出的是一样的

allfonts.chinese-arphic1=-microsoft-microsoft yahei-medium-r-normal--0-0-0-0-p-0-iso10646-1
allfonts.chinese-arphic1=-misc-simsun-medium-r-normal--0-0-0-0-p-0-iso10646-1
allfonts.chinese-arphic1=-microsoft-microsoft yahei-bold-r-normal--0-0-0-0-p-0-iso10646-1

在配置文件中查找sequence.allfonts,如果其后的sequence开头的行中有chinese-arphics1,可以略过此步,否则在其后面加入一行:

sequence.fallback=chinese-arphic1

然后重新启动项目就可以显示汉字了。

posted @ 2015-03-26 16:44  程序员老刘  阅读(5618)  评论(0编辑  收藏  举报