直接sudo apt-get install netbeans装的。
装完发现自动下载的是OpenJDK而不是Sun的JDK。OpenJDK好像在中文字体映射的配置上有些小问题。具体的症状就是Netbeans里显示的中文只能占正常宽度的一半,成了“超窄体”。
改正方法参考的是http://bbs.lehu.shu.edu.cn/Article.aspx?aid=124539帖子。具体如下:
OpenJDK的fontconfig和sun-java的fontconfig的默认写法是不一样的。所以用两个环境运行起来的netbeans 默认出现的问题是不一样的。OpenJDK运行的出现的问题既是LZ的花字现象,而sun-java运行起来出现的问题是方块字现象。
我发 现把OpenJDK默认的fontconfig原封不动地覆盖掉sun-java的fontconfig,用sun-java运行起来的netbeans 方块字的问题就解决了!分析了一下OpenJDK的fontconfig.properties文件,我发现uming和wqy的路径如下:
filename.AR_PL_UMing_CN=/usr/share/fonts/truetype/arphic/uming.ttc
filename.AR_PL_UMing_HK=/usr/share/fonts/truetype/arphic/uming.ttc
filename.AR_PL_UMing_TW=/usr/share/fonts/truetype/arphic/uming.ttc
filename.AR_PL_ShanHeiSun_Uni=/usr/share/fonts/truetype/arphic/uming.ttf
filename.WenQuanYi_Zen_Hei=/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc然 后到这几个目录下去找,发现前三个uming的路径及文件名是对的,而第四个写错了,wqy的文件名则是写错了。
于是我觉得问题是这样的:
OpenJDK 对于uming字体的支持有问题,所以用OpenJDK运行起来的netbeans出现的是花字(文字都能找到)而不是方块(文字找不到)。而sun- java对uming字体的支持是到位的,所以把OpenJDK的字体配置拷贝给sun-java,sun-java就能正确显示文字。
那 么解决办法就是改fontconfig。
我以OpenJDK的fontconfig为蓝本,首先讲wqy的正确文件找到。其实就是把ttc 改成ttf。然后找到文件的最前面
# Chinese fonts
allfonts.umingcn=AR PL UMing CN
#allfonts.umingcn.motif=AR PL UMing CN
allfonts.uminghk=AR PL UMing HK
#allfonts.uminghk.motif=AR PL UMing HK
allfonts.umingtw=AR PL UMing TW
#allfonts.umingtw.motif=AR PL UMing TW
allfonts.wqy-zenhei=WenQuanYi Zen Hei
#allfonts.wqy-zenhei.motif=WenQuanYi Zen Hei
allfonts.shanheisun=AR PL ShanHeiSun Uni
#allfonts.shanheisun.motif=AR PL ShanHeiSun Uni除 了wqy,其他统统注释掉。
这样,用OpenJDK运行的netbeans字体就正常显示了。
而用sun-java的,我只 是尝试了把OpenJDK的fontconfig覆盖进去,具体怎么改我也没研究过。
下面贴一下修改过的fontconfig,无论是 OpenJDK还是sun-java都能正确显示字体。。
下面的一长串修改以后的代码我就不贴了。不过我这么做以后发现确实能正常显示了,但是有一些字变成了方块。同时,在wqy的字体目录下发现其实还有一种微米黑,于是我就直接把
filename.WenQuanYi_Zen_Hei=/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc
改成了
filename.WenQuanYi_Zen_Hei=/usr/share/fonts/truetype/wqy/wqy-microhei.ttc
再重新启动Netbeans,没发现再出现方块。我也还比较喜欢微米黑显示的效果。
虽然这样的话原来文件里命名的WenQuanYi_Zen_Hei这个对象对应了微米黑字体,有点牛头对马嘴,不过暂时就先这样不管了~
在Ubuntu 10.04中,使用OpenJDK安装Netbeans后,中文显示异常。通过分析OpenJDK的fontconfig.properties文件并进行修改,尤其是调整uming和wqy字体的路径和名称,可以解决Netbeans的中文显示问题。将OpenJDK的fontconfig覆盖到Sun JDK的配置,可以避免方块字现象。最终,通过使用正确的wqy字体(微米黑),成功实现了Netbeans中正常显示中文。
1万+

被折叠的 条评论
为什么被折叠?



