阅读提示:

本文已过时。

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 Mappings

allfonts.chinese-cn-iso10646=-misc-simsun-medium-r-normal--*-%d-*-*-c-*-iso10646-1

接着,在 Font File Names 块中添加 simsun 的路径映射,把以下的路径改为你机器里的 SimSun.ttf 所在的路径:

# Font File Names

filename.-misc-simsun-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/local/share/fonts/simsun.ttf

最后跳到文件尾部,将 AWT 的字体搜索路径指向相应的目录:

# AWT X11 font paths
awtfontpath.chinese-tw-iso10646=/usr/local/share/fonts
awtfontpath.chinese-cn-iso10646=/usr/local/share/fonts
awtfontpath.japanese-iso10646=/usr/local/share/fonts
awtfontpath.korean-iso10646=/usr/local/share/fonts