在Ubuntu下運行JAVA GUI應用程序時發現裡面的漢字都是顯示為方框,同時我系統中部分應用程序打開時裡面的漢字也顯示為方框。
試著移除 /etc/fonts/conf.d/49-sansserif.conf 但是沒效果
現在Linuxidc搜集整理了一些解決辦法:
一、
出現方框字的原因是java 運行環境中找不到相應的字體,所以想到把系統的字體拷貝到java運行環境下去,方法如下:
cd /usr/local/jdk1.5.0_16/jre/lib/fonts/fallback //首先進入你的jdk安裝路徑下的字體位置
sudo cp /usr/share/fonts/truetype/arphic/uming.ttc ./ //拷貝系統中的字體到該目錄下
sudo mkfontdir //讓設置字體生效
sudo mkfontscale
這個時候再去看看,一切正常了 哈哈!
二、也許上面也是個辦法,我沒實驗過,不過我們要搞清楚,其實這個問題出現的原因是java配置文件的一個小BUG,他把字體後綴ttc弄錯成了ttf。
最簡單的解決辦法是:
編輯配置文件
sudo gedit /usr/lib/jvm/java-6-sun/jre/lib/fontconfig.properties
找到
filename.-arphic-ar_pl_shanheisun_uni-medium-r-normal--*-*-*-*-p-*-iso10646-1=/usr/share/fonts/truetype/arphic/uming.ttf
filename.-arphic-ar_pl_uming_uni-medium-r-normal--*-*-*-*-p-*-iso10646-1=/usr/share/fonts/truetype/arphic/uming.ttf
後綴改成ttc就可以了,因為我們usr/share/fonts中的文件就是uming.ttc而不是ttf結尾。