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