java gui 程序 汉字显示为方框

系统字体配置、中文显示和输入法问题
renren4
帖子: 9
注册时间: 2008-07-11 21:26

java gui 程序 汉字显示为方框

#1

帖子 renren4 » 2009-02-12 10:26

我运行java gui应用程序时发现里面的汉字都是显示为方框,同时我系统中部分应用程序打开时里面的汉字也显示为方框。
help me!!

我试着移除 /etc/fonts/conf.d/49-sansserif.conf 但是没效果
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: java gui 程序 汉字显示为方框

#2

帖子 eexpress » 2009-02-12 10:29

~/应用/SweetHome3D-1.2 ☎ ll jre1.6.0_03/lib/fonts/fallback/
总用量 0
lrwxrwxrwx 1 exp exp 73 2008-01-05 23:39 VeraSansYuanTi-Regular.ttf -> /home/exp/安装/备份/●可用字体/YuanTi/VeraSansYuanTi-Regular.ttf
● 鸣学
renren4
帖子: 9
注册时间: 2008-07-11 21:26

Re: java gui 程序 汉字显示为方框

#3

帖子 renren4 » 2009-02-12 10:52

先谢谢楼上这位兄弟的回答 但是我还是有点看不明白你写的是什么意思 能具体点吗
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: java gui 程序 汉字显示为方框

#4

帖子 eexpress » 2009-02-12 11:06

你的java使用哪个jre什么的,你就找那 jrexxxx/lib/fonts/fallback/ 的这目录。里面增加一个中文字体的链接。
● 鸣学
renren4
帖子: 9
注册时间: 2008-07-11 21:26

Re: java gui 程序 汉字显示为方框

#5

帖子 renren4 » 2009-02-13 14:44

出现方框字的原因是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

这个时候再去看看,一切正常了 哈哈!
wowtxp
帖子: 499
注册时间: 2009-01-14 23:00

Re: java gui 程序 汉字显示为方框

#6

帖子 wowtxp » 2009-04-13 6:40

也许楼上也是个办法,我没实验过,不过我们要搞清楚,其实这个问题出现的原因是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结尾。
rock177486
帖子: 94
注册时间: 2008-05-27 9:12

Re: java gui 程序 汉字显示为方框

#7

帖子 rock177486 » 2009-04-13 8:21

这个事情还是很怪异的,我的配置文件里面没有6楼说的字体文件名,但是有正确的wqy。
我自由,我快乐!
头像
fanshuliuxin
帖子: 24
注册时间: 2009-04-12 21:29

Re: java gui 程序 汉字显示为方框

#8

帖子 fanshuliuxin » 2009-04-17 0:59

lz有的系统程序也显示为方框怎么办啊?
:em05
头像
peachcolor
帖子: 898
注册时间: 2006-05-20 14:03

Re: java gui 程序 汉字显示为方框

#9

帖子 peachcolor » 2009-04-17 3:05

其实吧,最好的办法应该是用unicode
Hefa
帖子: 21
注册时间: 2008-05-23 19:24

Re: java gui 程序 汉字显示为方框

#10

帖子 Hefa » 2009-04-26 0:30

wowtxp 写了:也许楼上也是个办法,我没实验过,不过我们要搞清楚,其实这个问题出现的原因是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结尾。
正确! :em06
wowtxp
帖子: 499
注册时间: 2009-01-14 23:00

Re: java gui 程序 汉字显示为方框

#11

帖子 wowtxp » 2009-04-27 12:53

rock177486 写了:这个事情还是很怪异的,我的配置文件里面没有6楼说的字体文件名,但是有正确的wqy。
详细路径是:/usr/share/fonts/truetype/arphic
只要你用的是ubuntu都有,而不是直接在fonts里面。
头像
aitilang
帖子: 1026
注册时间: 2007-04-28 21:38

Re: java gui 程序 汉字显示为方框

#12

帖子 aitilang » 2009-04-30 18:43

在Ubuntu 8.04里安装java后,会发现所有java的gui都会乱码,这是因为在Ubuntu 8.04里uming.ttf变成了uming.ttc,而Ubuntu里java默认的中文字体就是uming.ttf,所以只要获得它就可以了,比如:

sudo ln -s /usr/share/fonts/truetype/arphic/uming.ttc \

/usr/share/fonts/truetype/arphic/uming.ttf

这个一下就解决了
thinkpad x61 2G DDR no cdrom
--------------------------------------------
ABS学习中
sed学习中
awk学习中
perl学习中
新手描述不清,老手猜测不到,胡乱指挥一通,后果难以预料
sirxenofex
帖子: 204
注册时间: 2008-01-07 16:39

Re: java gui 程序 汉字显示为方框

#13

帖子 sirxenofex » 2009-05-01 10:09

总之是fontconfig.properties的配置
wowtxp
帖子: 499
注册时间: 2009-01-14 23:00

Re: java gui 程序 汉字显示为方框

#14

帖子 wowtxp » 2009-05-02 5:46

9.04也没有解决这个问题,希望有人反映到ubuntu开发团队那边去.
abigriver
帖子: 95
注册时间: 2006-07-07 16:49

Re: java gui 程序 汉字显示为方框

#15

帖子 abigriver » 2009-05-04 17:43

顶6楼,搞定
回复