jre在Linux下中文显示的来龙去脉[JAVA汉化经验]
经过长时间"尝试"和各位大侠的帮助,总算在我的rh8.0上显示出中文了 :mrgreen:但中间经历很多疙瘩的过程,所以想把所悟写一下,以报答帮助过我的人:
1,jre里面,哪个是中文的字体配制文件?
$JAVA_HOME/jre/lib/font.properties.zh
是不是没发现有这个文件?但是有font.properties.zh.Trubo,你改一下名变成font.properties.zh就可以了!
为免别的配制文件"骚扰",我把所有的font.properties*的文件都移动到备份目录去了.
2,运行java程序,出现无法找到字体"-tlc-xxxxxx"之类的提示?
其实jre是从X系统已经装入的字体里找在font.properties.zh里登记的字体的.你用xlsfonts | grep tlc 来看看你是否有那个-tlc-xxxxxxx字体.
3,确实没有在xlsfonts中发现那个字体,怎么办?
办法就是让X装入那个字体.怎么装入,改哪个配制文件?检查你的/etc/fonts/fonts.conf里面有<dir>xxxxx<dir>
我是用公社rpm美化包美化的,因次我的目录是<dir>/usr/local/zhfonts</dir>
你需要增加的字体的登记,就是写到那个目录里的fonts.dir里面!
4,修改X的字体登记文件/usr/local/zhfonts/fonts.dir.
首先在最后加上:tahoma.ttf -tlc-song-medium-r-normal--0-0-0-0-c-0-gbk-0
注意tahoma.ttf就是你要为字体"-tlc-song-medium-r-normal-xxxx"装入的字体文件,你可以自己改,只要在这个fonts.dir下能找到就可以了.
其次是去fonts.dir的第一行,把那个数字加1而写上.这个数字标明本fonts.dir有多少个字体需要装入,因为我们加了一个字体,所以要加1.
最后是把fonts.dir拷贝成fonts.scale,让两个文件一致.
5,检查我们要的字体装入了吗?
记得要重新注消/登录X系统,才会重新装入字体,刚才修改的fonts.dir才会起效.
重新进入X后,用xlsfonts | grep tlc ,看到已经装入的字体了吗?如果没有就再检查上面的步骤哪里做的不对.jre只能使用xlsfonts中已经有的字体.
6,如果已经成功装入-tlc-song-xxxx字体,就可以开始修改我们jre的fonts.propertise.zh了,其实要改的只有一行,就是最后的appendedfontpath=xxxxxx,改成你放tahoma.ttf的目录/usr/local/zhfonts就可以了(也就是刚才你改fonts.dir的那个目录)
7,改完后,运行$JAVA_HOME/jre/bin/ControlPanel,是否出现中文了?
还是"口口"?我也是这样子哦?怎么办?
8,最后一招,检查$JAVA_FONTS变量.
你用命令echo $JAVA_FONTS,看看是不是定义了些目录?如果有,jre就会到那里去找字体,前面搞了一大堆都白费功夫的.所以要执行
export $JAVA_FONTS=""
一下,把这个变量弄掉(我用的bash,如果是tcsh的,请用setenv $JAVA_FONTS="")
9,最后时刻,运行ControlPanel,出现中文了吗?
还是没有?@_@那就请大家继续讨论罗,我的是出来了.
出不来中文的朋友请把xlsfonts|grep gb贴一下,把fonts.conf和fonts.dir和fonts.propertise.zh也贴一下看罗.
10,大年初一,终于搞定这个问题了,祝大家新年新气象! 贴张画画看看吧?
It's too easy
first step:cp font.properties.zh.Turbo font.propertiessecond step: open font.properties
third step: replace all "tlc" with "misc" & replace all "song" with "simsun" & replace all "gbk" with "gb2312.1980"& save file "font.properties"
That's OK!
Good Lucky! 如果用seaboy朋友的方法,必需注意在font.properties.zh里的appendedfontpath=.....里面的路径指向的目录,必需是x系统装入simsun字体的目录,否则也照样报告找不到字体的.
另外一定要注意$JAVA_FONTS变量要清空,否则jre会到那里去装入字体.
过年在家用的是PSTN拨号,比较慢,上班了再贴图吧! 看到ninjaxena兄的实践,我都做了一个实践。
用-misc-zysong18030代替-tlc-song方案
我用j2re1.4.1_01,系统是没经美化的RedHat8.0。
目地用-misc-zysong18030代替-tlc-song
先将font.properties.zh.Trubo改成font.properties.zh
之后将-misc-zysong18030代替-tlc-song,将iso10646-1代替gbk-0
重起机器。
经实践完全可行。 去linuxforum看看这个问题是几年前解决的?
我也来一个
linuxfans.orglinuxsir.com也有很经典的文章,大家可以看看. :-
还是要谢谢
D:lol::oops::P:wink::mrgreen::-) 我觉得我的方法更简单一点
不过也许没有你的完善
但是中文applet显示是没有什么问题的 能将方法有条理地写出来让大家都看得明白,不简单了 非常感谢各位的努力!!!!cry~~~~ 不错,不错 ! 用楼主的方法,不知是不是我没得要领,汉字是出来了,但是,一运行openoffice或mozilla,x-windows就崩溃,后来改了一下楼主的方法,很简单:
1)直接在jre目录下建一个font目录,将windows下的simsun.ttc拷到该目录下。
然后用命令
ttmkfdir>fonts.dir
在改目录下生成fonts.dir,复制一份更名为fonts.scale。然后在两者的最后都添加上
simsun.ttfc -tlc-song-medium-r-normal--0-0-0-0-c-0-gbk-0
并将第一个数字加1后保存。
2)按楼主的方法,将jre/lib目录下的font.properties.zh.Trubo,改名成font.properties.zh。
并在其最后将appendedfontpath=xxxxxx,改成你放simsun.ttc的目录/usr/java/j2sdk1.4.1/jre/font就可以了
3)然后重启x-windows即可,这样就可以运行jre/bin中的CtrolPanel程序,我的就出了中文字体,和M$下一样。
附:象fonts.conf和XF86Config都不用改,我的是redhat8,只要一改,x-windows就出我一开始说的问题。 我是linux菜鸟 大哥请问java字体在那里找?我在学校作设计机房上不了国外的网站,如果你有java字体能不能给我上传一个啊或者发到我的油箱[email protected]
谢谢啊!我很急的。。。。。。。。。。。。。。。。。。。。!!!!!!!!!!!!!!!!
:cry: 我是linux菜鸟 大哥请问java字体在那里找?我在学校作设计机房上不了国外的网站,如果你有java字体能不能给我上传一个啊或者发到我的油箱[email protected]
谢谢啊!我很急的。。。。。。。。。。。。。。。。。。。。!!!!!!!!!!!!!!!!
:cry:
不用外加,你如是RedHat8.0\9.0,没美化的用上边个附件。
如美化过就用下面这个,方在你的JAVA目录/lib中。记得将.txt去掉。(注simsun必需在/usr/share/fonts目录中) OK,我按照说明步骤,也已经搞好了。不错。
页:
[1]
2