jfreechart在aix unix上的中文顯示問題
今天開始搭建新的平台,要把原來windows的應用遷移到Aix上,結果由於jfreechart的中文字體顯示耗了整個下午,好不郁悶,不過還好最後解決問題了
主機環境:
AIX Version 5.2 + Jboss4.03sp1 + J2RE 1.4.2 IBM AIX build ca142ifx-20050119
使用jfreechart1.0rc
添加啟動參數 -Djava.awt.headless=true才能正常顯示jfreechart的圖.
讓jre使用中文字體的過程如下:
1.解包字體文件
TrueType_zhCN_GBK.tar,列表如下:
fangsongti.ttf
heiti.ttf
kaiti.ttf
songti.ttf
注:字體包是我以前在solaris上整出來的.
3.修改JRE的字體配置
3.1 修改fonts.scale文件[${JAVA_HOME}/jre/lib/fonts/fonts.scale]
把一行的數字加4
在文件尾添加
fangsongti.ttf -zhongyi-fangsong-medium-r-normal--0-0-0-0-m-0-gbk-0
heiti.ttf -zhongyi-hei-medium-r-normal--0-0-0-0-m-0-gbk-0
kaiti.ttf -zhongyi-kai-medium-r-normal--0-0-0-0-m-0-gbk-0
songti.ttf -zhongyi-song-medium-r-normal--0-0-0-0-m-0-gbk-0
3.2 修改fonts.dir文件[${JAVA_HOME}/jre/lib/fonts/fonts.dir]
把一行的數字加4
在文件尾添加
fangsongti.ttf -zhongyi-fangsong-medium-r-normal--0-0-0-0-m-0-gbk-0
heiti.ttf -zhongyi-hei-medium-r-normal--0-0-0-0-m-0-gbk-0
kaiti.ttf -zhongyi-kai-medium-r-normal--0-0-0-0-m-0-gbk-0
songti.ttf -zhongyi-song-medium-r-normal--0-0-0-0-m-0-gbk-0
3.3 修改font.properties.zh文件[${JAVA_HOME}/jre/lib/font.properties.zh]
把所有的serif.1的值 進行如下替換
-zhongyi-song-medium-r-normal--0-0-0-0-m-0-gbk-0
4.重新啟動就可以了.
其他的unix上我試了一下hp-unix,可以通過,其他的沒有試過,或許也可以吧
我按照這篇文章的描述做了,但是中文還是沒有正確顯示,有幾個問題需要咨詢下:
2,3.3中提到:把所有的serif.1的值 進行如下替換。 這裡我有個問題是不是說包含"serif.1"這個串的值就替換,如xxserif1.sss=xxxxxx,還是說只有僅僅是serif1.=xxxxxx的這些值替換掉。