如果发现使用Java的Swing或者AWT或者BIRT图表界面中的中文变成方框"口口"。就说明Java中没有找到相应的字体。
我的环境是REDHat 5.3。
首先找一个开源的simsun.ttc字体文件,上传到%JAVA_HOME%/jre/lib/fonts下面,并且改名为simsun.ttf。
命令:~# cd %JAVA_HOME%/jre/lib/fonts
~# mv simsun.ttc simsun.ttf
然后执行mkfontscale命令,安装字体,并且生成fonts.scale
命令: ~# mkfontscale
~# cp fonts.scale font.dir
然后在$JAVA_HOME/jre/lib下找到对应系统的字体属性文件.properties.src,因为我的系统是REDHat 5,所以应该使用的文件为fontconfig.SuSE.properties.src。使用fonts.dir中合适的字体替换改文件中的字体。 我使用的是-misc-simsun-medium-r-normal–0-0-0-0-p-0-gb18030.2000-0
文件修改内容如下:
新增:
serif.plain.zh-1=-misc-simsun-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0
serif.bold.zh-1=-misc-simsun-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0
serif.italic.zh-1=-misc-simsun-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0
serif.bolditalic.zh-1=-misc-simsun-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0
sansserif.plain.zh-1=-misc-simsun-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0
sansserif.bold.zh-1=-misc-simsun-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0
sansserif.italic.zh-1=-misc-simsun-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0
sansserif.bolditalic.zh-1=-misc-simsun-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0
monospaced.plain.zh-1=-misc-simsun-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0
monospaced.bold.zh-1=-misc-simsun-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0
monospaced.italic.zh-1=-misc-simsun-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0
monospaced.bolditalic.zh-1=-misc-simsun-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0
dialog.plain.zh-1=-misc-simsun-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0
dialog.bold.zh-1=-misc-simsun-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0
dialog.italic.zh-1=-misc-simsun-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0
dialog.bolditalic.zh-1=-misc-simsun-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0
dialoginput.plain.zh-1=-misc-simsun-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0
dialoginput.bold.zh-1=-misc-simsun-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0
dialoginput.italic.zh-1=-misc-simsun-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0
dialoginput.bolditalic.zh-1=-misc-simsun-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0
修改:
将sequence.allfonts=latin1修改成sequence.allfonts=zh-1
最后重启应用!OK,问题解决!