Ubuntu下 JAVA GUI 程序汉字显示为方框解决办法

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结尾。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/28247.html