如果发现使用Java的Swing或者AWT界面中的中文变成方框"口口"。就说明Java中没有找到相应的字体。
我的环境是SuSE Linux 10。
首先在需要将期望的字体文件复制到$JAVA_HOME/jre/lib/fonts目录中。我从Windows XP的字体目录拷贝了simsun.ttc文件到該目录中,将其改名为simsun.ttf。
然后运行字体库生成mkfontscale,生成所需的字体库文件fonts.dir
运行
$JAVA_HOME/jre/lib/fonts# mkfontscale
$JAVA_HOME/jre/lib/fonts# cp fonts.scale fonts.dir
然后在$JAVA_HOME/jre/lib下找到对应系统的字体属性文件.properties.src,因为我的系统是SuSE,所以应该使用的文件为fontconfig.SuSE.properties.src。使用fonts.dir中合适的字体替换改文件中的字体。
我使用的是-misc-simsun-medium-r-normal–0-0-0-0-p-0-gb18030.2000-0
然后将文件保存为fontconfig.SuSE.properties文件。
这时候重新启动Java应用程序,就可以看见中文了
我的环境是SuSE Linux 10。
首先在需要将期望的字体文件复制到$JAVA_HOME/jre/lib/fonts目录中。我从Windows XP的字体目录拷贝了simsun.ttc文件到該目录中,将其改名为simsun.ttf。
然后运行字体库生成mkfontscale,生成所需的字体库文件fonts.dir
运行
$JAVA_HOME/jre/lib/fonts# mkfontscale
$JAVA_HOME/jre/lib/fonts# cp fonts.scale fonts.dir
然后在$JAVA_HOME/jre/lib下找到对应系统的字体属性文件.properties.src,因为我的系统是SuSE,所以应该使用的文件为fontconfig.SuSE.properties.src。使用fonts.dir中合适的字体替换改文件中的字体。
我使用的是-misc-simsun-medium-r-normal–0-0-0-0-p-0-gb18030.2000-0
然后将文件保存为fontconfig.SuSE.properties文件。
这时候重新启动Java应用程序,就可以看见中文了