JDK1.4:
Linux 下 Java 的 Swing 默认不能显示汉字, 网上这方面的介绍很多, 只是似乎都不是很具体, 因此我觉得还是有必要再把这些陈词滥调再重复一遍。
首先, 使用 su 命令切换为 root, 再使用 cd 命令切换到你的 JDK 安装路径下, 例如, 在我机器上, JDK 安装在 /usr/java/j2sdk1.4.2_01/ 下。
然后, 切换到该目录下的 jre/lib 目录下, 将 font.properties 备份一下:
# cd /usr/java/j2sdk1.4.2_01/# cd jre/lib/# mv font.properties font.properties.bak
接下来, font.properties.zh_CN.Sun 复制为 font.properties。 假如你的机器上没有 font.properties.zh_CN.Sun, 那应该有“font.properties.zh_CN.别的单词”什么的。 假如都没有, 那你最好重装一份更新版本的 JDK。
# cp font.properties.zh_CN.Sun font.properties
最后, 编辑复制得到的 font.properties 文件, 跳到文件尾部, 找到“filename.xxx=”这一行, 将后面的路径修改为你机器上的 Simsun.ttf 所在的全路径, 下面的 appendedfontpath 一行也做相应修改, 将路径指向你的 Simsun.ttf 所在文件夹。
filename.-Hanyi-HanyiSong-medium-r-normal--*-%d-*-*-c-*-gbk-0=/usr/share/fonts/local/simsun.ttfappendedfontpath=/usr/share/fonts/local/
JDK1.5
Linux 下 Java 的 Swing 默认不能显示汉字, 网上对于 JDK 1.4 的中文配置介绍很多, 滇狐的网站也介绍了这方面的内容。 相比之下, 关于 JDK 1.5 的中文配置的相关资料就比较难找了, 滇狐费了不少功夫才配置好了 JDK 1.5 的中文显示, 现把配置过程具体叙述如下:
首先, 使用 su 命令切换为 root, 再使用 cd 命令切换到你的 JDK 安装路径下, 例如, 在我机器上, JDK 安装在 /usr/java/jdk1.5.0_05/ 下。
然后, 切换到该目录下的 jre/lib 目录下, 你会看到该目录下有许多形如 fontconfig.*.properties.src 的文件。 选择一个最接近你的系统的 properties, 将它复制为 fontconfig.properties。 例如, 我的系统是 Fedora Core, 因此我就使用 fontconfig.Redhat.properties:
# cp fontconfig.Redhat.properties.src fontconfig.properties
编辑复制得到的 font.properties 文件, 将文件开头处的 Component Font Mappings 块中的中文默认字体改为 simsun, 如下:
# Component Font Mappingsallfonts.chinese-cn-iso10646=-misc-simsun-medium-r-normal--*-%d-*-*-c-*-iso10646-1
接着, 在 Font File Names 块中添加 simsun 的路径映射, 把以下的路径改为你机器里的 SimSun.ttf 所在的路径:
# Font File Namesfilename.-misc-simsun-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/local/share/fonts/simsun.ttf
最后跳到文件尾部, 将 AWT 的字体搜索路径指向相应的目录:
# AWT X11 font pathsawtfontpath.chinese-tw-iso10646=/usr/local/share/fontsawtfontpath.chinese-cn-iso10646=/usr/local/share/fontsawtfontpath.japanese-iso10646=/usr/local/share/fontsawtfontpath.korean-iso10646=/usr/local/share/fonts