LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3868|回复: 13

关于如何让jre显示中文字体的方法。

[复制链接]
发表于 2002-11-16 13:58:17 | 显示全部楼层 |阅读模式
由于jre里font.properies默认的字体是Turbolinux里的-tlc-song-字体,如果你没有这种字体,肯定显示的都是“口”,解决方法有2种,一个就是按照jre里的说明,按照它的方法自己添加字体,但是这个难度比较大,需要用它提供的脚本,但是对于我们这些不是很了解java程序的菜鸟来说,这个方法显然有点难度。于是,我就想,既然我自己没有办法生成字体目录,我就改我原来的fonts.dir,让它支持这种-tlc-song-字体,同时保持原来的字体-misc-simsun-。更改的方法有很多种,我的方法不一定最好,也不一定是最简单,如果那个兄弟有更好的方法,可以写出来。
1> 新生成一个fonts.dir;
2> 在原来的fonts.dir里增加新的字体定义。
我以前一种为例子,具体方法如下:
1.在/usr/X11R6/lib/X11/fonts/trutype/下建立一个新的目录ttf-zh(目录名随便你起),然后将simsun.ttf,tahoma字体拷贝至这个新建立的目录。
2.将simsun.ttf改名为tlc_song.ttf,将tahoma.ttf改为tlc_song_ascii.ttf。
3.生成fonts.dir文件:
132
tlc_song_ascii.ttf -tlc-song-medium-r-normal--0-0-0-0-p-0-iso8859-1
tlc_song.ttf -tlc-song-medium-r-normal--0-0-0-0-c-0-iso10646-1
tlc_song.ttf -tlc-song-medium-r-normal--0-0-0-0-c-0-gbk-0
tlc_song.ttf -tlc-song-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0
tlc_song.ttf -tlc-song-medium-r-normal--0-0-0-0-c-0-gb18030.2000-1
tlc_song.ttf -tlc-song-medium-r-normal--0-0-0-0-c-0-gb18030.2000-0
tlc_song.ttf -tlc-song-medium-r-normal--0-0-0-0-c-0-gb18030-0
tlc_song.ttf -tlc-song-medium-r-normal--0-0-0-0-c-0-big5.eten-0
tlc_song.ttf -tlc-song-medium-r-normal--0-0-0-0-c-0-big5.et-0
tlc_song.ttf -tlc-song-medium-r-normal--0-0-0-0-c-0-big5-0
ai=0.3:tlc_song_ascii.ttf -tlc-song-medium-i-normal--0-0-0-0-p-0-iso8859-1
ai=0.3:tlc_song.ttf -tlc-song-medium-i-normal--0-0-0-0-c-0-iso10646-1
ai=0.3:tlc_song.ttf -tlc-song-medium-i-normal--0-0-0-0-c-0-gbk-0
ai=0.3:tlc_song.ttf -tlc-song-medium-i-normal--0-0-0-0-c-0-gb2312.1980-0
ai=0.3:tlc_song.ttf -tlc-song-medium-i-normal--0-0-0-0-c-0-gb18030.2000-1
ai=0.3:tlc_song.ttf -tlc-song-medium-i-normal--0-0-0-0-c-0-gb18030.2000-0
ai=0.3:tlc_song.ttf -tlc-song-medium-i-normal--0-0-0-0-c-0-gb18030-0
ai=0.3:tlc_song.ttf -tlc-song-medium-i-normal--0-0-0-0-c-0-big5.eten-0
ai=0.3:tlc_song.ttf -tlc-song-medium-i-normal--0-0-0-0-c-0-big5.et-0
ai=0.3:tlc_song.ttf -tlc-song-medium-i-normal--0-0-0-0-c-0-big5-0
ds=y:tlc_song_ascii.ttf -tlc-song-bold-r-normal--0-0-0-0-p-0-iso8859-1
ds=y:tlc_song.ttf -tlc-song-bold-r-normal--0-0-0-0-c-0-iso10646-1
ds=y:tlc_song.ttf -tlc-song-bold-r-normal--0-0-0-0-c-0-gbk-0
ds=y:tlc_song.ttf -tlc-song-bold-r-normal--0-0-0-0-c-0-gb2312.1980-0
ds=y:tlc_song.ttf -tlc-song-bold-r-normal--0-0-0-0-c-0-gb18030.2000-1
ds=y:tlc_song.ttf -tlc-song-bold-r-normal--0-0-0-0-c-0-gb18030.2000-0
ds=y:tlc_song.ttf -tlc-song-bold-r-normal--0-0-0-0-c-0-gb18030-0
ds=y:tlc_song.ttf -tlc-song-bold-r-normal--0-0-0-0-c-0-big5.eten-0
ds=y:tlc_song.ttf -tlc-song-bold-r-normal--0-0-0-0-c-0-big5.et-0
ds=y:tlc_song.ttf -tlc-song-bold-r-normal--0-0-0-0-c-0-big5-0
ai=0.3:ds=y:tlc_song_ascii.ttf -tlc-song-bold-i-normal--0-0-0-0-p-0-iso8859-1
ai=0.3:ds=y:tlc_song.ttf -tlc-song-bold-i-normal--0-0-0-0-c-0-iso10646-1
ai=0.3:ds=y:tlc_song.ttf -tlc-song-bold-i-normal--0-0-0-0-c-0-gbk-0
ai=0.3:ds=y:tlc_song.ttf -tlc-song-bold-i-normal--0-0-0-0-c-0-gb2312.1980-0
ai=0.3:ds=y:tlc_song.ttf -tlc-song-bold-i-normal--0-0-0-0-c-0-gb18030.2000-1
ai=0.3:ds=y:tlc_song.ttf -tlc-song-bold-i-normal--0-0-0-0-c-0-gb18030.2000-0
ai=0.3:ds=y:tlc_song.ttf -tlc-song-bold-i-normal--0-0-0-0-c-0-gb18030-0
ai=0.3:ds=y:tlc_song.ttf -tlc-song-bold-i-normal--0-0-0-0-c-0-big5.eten-0
ai=0.3:ds=y:tlc_song.ttf -tlc-song-bold-i-normal--0-0-0-0-c-0-big5.et-0
ai=0.3:ds=y:tlc_song.ttf -tlc-song-bold-i-normal--0-0-0-0-c-0-big5-0
tlc_song_ascii.ttf -tlc-ming-medium-r-normal--0-0-0-0-p-0-iso8859-1
tlc_song.ttf -tlc-ming-medium-r-normal--0-0-0-0-c-0-big5.eten-0
tlc_song.ttf -tlc-ming-medium-r-normal--0-0-0-0-c-0-big5.et-0
tlc_song.ttf -tlc-ming-medium-r-normal--0-0-0-0-c-0-big5-0
ai=0.3:tlc_song_ascii.ttf -tlc-ming-medium-i-normal--0-0-0-0-p-0-iso8859-1
ai=0.3:tlc_song.ttf -tlc-ming-medium-i-normal--0-0-0-0-c-0-big5.eten-0
ai=0.3:tlc_song.ttf -tlc-ming-medium-i-normal--0-0-0-0-c-0-big5.et-0
ai=0.3:tlc_song.ttf -tlc-ming-medium-i-normal--0-0-0-0-c-0-big5-0
ds=y:tlc_song_ascii.ttf -tlc-ming-bold-r-normal--0-0-0-0-p-0-iso8859-1
ds=y:tlc_song.ttf -tlc-ming-bold-r-normal--0-0-0-0-c-0-big5.eten-0
ds=y:tlc_song.ttf -tlc-ming-bold-r-normal--0-0-0-0-c-0-big5.et-0
ds=y:tlc_song.ttf -tlc-ming-bold-r-normal--0-0-0-0-c-0-big5-0
ai=0.3:ds=y:tlc_song_ascii.ttf -tlc-ming-bold-i-normal--0-0-0-0-p-0-iso8859-1
ai=0.3:ds=y:tlc_song.ttf -tlc-ming-bold-i-normal--0-0-0-0-c-0-big5.eten-0
ai=0.3:ds=y:tlc_song.ttf -tlc-ming-bold-i-normal--0-0-0-0-c-0-big5.et-0
ai=0.3:ds=y:tlc_song.ttf -tlc-ming-bold-i-normal--0-0-0-0-c-0-big5-0
tlc_song.ttf -tlc-mincho-medium-r-normal--0-0-0-0-c-0-jisx0212.1990-0
tlc_song.ttf -tlc-mincho-medium-r-normal--0-0-0-0-c-0-jisx0208.1990-0
tlc_song.ttf -tlc-mincho-medium-r-normal--0-0-0-0-c-0-jisx0208.1983-0
tlc_song.ttf -tlc-mincho-medium-r-normal--0-0-0-0-c-0-jisx0201.1976-0
tlc_song_ascii.ttf -tlc-mincho-medium-r-normal--0-0-0-0-p-0-iso8859-1
ai=0.3:tlc_song.ttf -tlc-mincho-medium-i-normal--0-0-0-0-c-0-jisx0212.1990-0
ai=0.3:tlc_song.ttf -tlc-mincho-medium-i-normal--0-0-0-0-c-0-jisx0208.1990-0
ai=0.3:tlc_song.ttf -tlc-mincho-medium-i-normal--0-0-0-0-c-0-jisx0208.1983-0
ai=0.3:tlc_song.ttf -tlc-mincho-medium-i-normal--0-0-0-0-c-0-jisx0201.1976-0
ai=0.3:tlc_song_ascii.ttf -tlc-mincho-medium-i-normal--0-0-0-0-p-0-iso8859-1
ds=y:tlc_song.ttf -tlc-mincho-bold-r-normal--0-0-0-0-c-0-jisx0212.1990-0
ds=y:tlc_song.ttf -tlc-mincho-bold-r-normal--0-0-0-0-c-0-jisx0208.1990-0
ds=y:tlc_song.ttf -tlc-mincho-bold-r-normal--0-0-0-0-c-0-jisx0208.1983-0
ds=y:tlc_song.ttf -tlc-mincho-bold-r-normal--0-0-0-0-c-0-jisx0201.1976-0
ds=y:tlc_song_ascii.ttf -tlc-mincho-bold-r-normal--0-0-0-0-p-0-iso8859-1
ai=0.3:ds=y:tlc_song.ttf -tlc-mincho-bold-i-normal--0-0-0-0-c-0-jisx0212.1990-0
ai=0.3:ds=y:tlc_song.ttf -tlc-mincho-bold-i-normal--0-0-0-0-c-0-jisx0208.1990-0
ai=0.3:ds=y:tlc_song.ttf -tlc-mincho-bold-i-normal--0-0-0-0-c-0-jisx0208.1983-0
ai=0.3:ds=y:tlc_song.ttf -tlc-mincho-bold-i-normal--0-0-0-0-c-0-jisx0201.1976-0
ai=0.3:ds=y:tlc_song_ascii.ttf -tlc-mincho-bold-i-normal--0-0-0-0-p-0-iso8859-1
tlc_song_ascii.ttf -tlc-HanyiSong-medium-r-normal--0-0-0-0-p-0-iso8859-1
tlc_song.ttf -tlc-HanyiSong-medium-r-normal--0-0-0-0-c-0-iso10646-1
tlc_song.ttf -tlc-HanyiSong-medium-r-normal--0-0-0-0-c-0-gbk-0
tlc_song.ttf -tlc-HanyiSong-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0
tlc_song.ttf -tlc-HanyiSong-medium-r-normal--0-0-0-0-c-0-gb18030-0
tlc_song.ttf -tlc-HanyiSong-medium-r-normal--0-0-0-0-c-0-big5-0
ai=0.3:tlc_song_ascii.ttf -tlc-HanyiSong-medium-i-normal--0-0-0-0-p-0-iso8859-1
ai=0.3:tlc_song.ttf -tlc-HanyiSong-medium-i-normal--0-0-0-0-c-0-iso10646-1
ai=0.3:tlc_song.ttf -tlc-HanyiSong-medium-i-normal--0-0-0-0-c-0-gbk-0
ai=0.3:tlc_song.ttf -tlc-HanyiSong-medium-i-normal--0-0-0-0-c-0-gb2312.1980-0
ai=0.3:tlc_song.ttf -tlc-HanyiSong-medium-i-normal--0-0-0-0-c-0-gb18030-0
ai=0.3:tlc_song.ttf -tlc-HanyiSong-medium-i-normal--0-0-0-0-c-0-big5-0
ds=y:tlc_song_ascii.ttf -tlc-HanyiSong-bold-r-normal--0-0-0-0-p-0-iso8859-1
ds=y:tlc_song.ttf -tlc-HanyiSong-bold-r-normal--0-0-0-0-c-0-iso10646-1
ds=y:tlc_song.ttf -tlc-HanyiSong-bold-r-normal--0-0-0-0-c-0-gbk-0
ds=y:tlc_song.ttf -tlc-HanyiSong-bold-r-normal--0-0-0-0-c-0-gb2312.1980-0
ds=y:tlc_song.ttf -tlc-HanyiSong-bold-r-normal--0-0-0-0-c-0-gb18030-0
ds=y:tlc_song.ttf -tlc-HanyiSong-bold-r-normal--0-0-0-0-c-0-big5-0
ai=0.3:ds=y:tlc_song_ascii.ttf -tlc-HanyiSong-bold-i-normal--0-0-0-0-p-0-iso8859-1
ai=0.3:ds=y:tlc_song.ttf -tlc-HanyiSong-bold-i-normal--0-0-0-0-c-0-iso10646-1
ai=0.3:ds=y:tlc_song.ttf -tlc-HanyiSong-bold-i-normal--0-0-0-0-c-0-gbk-0
ai=0.3:ds=y:tlc_song.ttf -tlc-HanyiSong-bold-i-normal--0-0-0-0-c-0-gb2312.1980-0
ai=0.3:ds=y:tlc_song.ttf -tlc-HanyiSong-bold-i-normal--0-0-0-0-c-0-gb18030-0
ai=0.3:ds=y:tlc_song.ttf -tlc-HanyiSong-bold-i-normal--0-0-0-0-c-0-big5-0
tlc_song_ascii.ttf -tlc-default-medium-r-normal--0-0-0-0-p-0-iso8859-1
tlc_song.ttf -tlc-default-medium-r-normal--0-0-0-0-c-0-iso10646-1
tlc_song.ttf -tlc-default-medium-r-normal--0-0-0-0-c-0-gbk-0
tlc_song.ttf -tlc-default-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0
tlc_song.ttf -tlc-default-medium-r-normal--0-0-0-0-c-0-gb18030-0
tlc_song.ttf -tlc-default-medium-r-normal--0-0-0-0-c-0-big5.eten-0
tlc_song.ttf -tlc-default-medium-r-normal--0-0-0-0-c-0-big5.et-0
tlc_song.ttf -tlc-default-medium-r-normal--0-0-0-0-c-0-big5-0
ai=0.3:tlc_song_ascii.ttf -tlc-default-medium-i-normal--0-0-0-0-p-0-iso8859-1
ai=0.3:tlc_song.ttf -tlc-default-medium-i-normal--0-0-0-0-c-0-iso10646-1
ai=0.3:tlc_song.ttf -tlc-default-medium-i-normal--0-0-0-0-c-0-gbk-0
ai=0.3:tlc_song.ttf -tlc-default-medium-i-normal--0-0-0-0-c-0-gb2312.1980-0
ai=0.3:tlc_song.ttf -tlc-default-medium-i-normal--0-0-0-0-c-0-gb18030-0
ai=0.3:tlc_song.ttf -tlc-default-medium-i-normal--0-0-0-0-c-0-big5.eten-0
ai=0.3:tlc_song.ttf -tlc-default-medium-i-normal--0-0-0-0-c-0-big5.et-0
ai=0.3:tlc_song.ttf -tlc-default-medium-i-normal--0-0-0-0-c-0-big5-0
ds=y:tlc_song_ascii.ttf -tlc-default-bold-r-normal--0-0-0-0-p-0-iso8859-1
ds=y:tlc_song.ttf -tlc-default-bold-r-normal--0-0-0-0-c-0-iso10646-1
ds=y:tlc_song.ttf -tlc-default-bold-r-normal--0-0-0-0-c-0-gbk-0
ds=y:tlc_song.ttf -tlc-default-bold-r-normal--0-0-0-0-c-0-gb2312.1980-0
ds=y:tlc_song.ttf -tlc-default-bold-r-normal--0-0-0-0-c-0-gb18030-0
ds=y:tlc_song.ttf -tlc-default-bold-r-normal--0-0-0-0-c-0-big5.eten-0
ds=y:tlc_song.ttf -tlc-default-bold-r-normal--0-0-0-0-c-0-big5.et-0
ds=y:tlc_song.ttf -tlc-default-bold-r-normal--0-0-0-0-c-0-big5-0
ai=0.3:ds=y:tlc_song_ascii.ttf -tlc-default-bold-i-normal--0-0-0-0-p-0-iso8859-1
ai=0.3:ds=y:tlc_song.ttf -tlc-default-bold-i-normal--0-0-0-0-c-0-iso10646-1
ai=0.3:ds=y:tlc_song.ttf -tlc-default-bold-i-normal--0-0-0-0-c-0-gbk-0
ai=0.3:ds=y:tlc_song.ttf -tlc-default-bold-i-normal--0-0-0-0-c-0-gb2312.1980-0
ai=0.3:ds=y:tlc_song.ttf -tlc-default-bold-i-normal--0-0-0-0-c-0-gb18030-0
ai=0.3:ds=y:tlc_song.ttf -tlc-default-bold-i-normal--0-0-0-0-c-0-big5.eten-0
ai=0.3:ds=y:tlc_song.ttf -tlc-default-bold-i-normal--0-0-0-0-c-0-big5.et-0
ai=0.3:ds=y:tlc_song.ttf -tlc-default-bold-i-normal--0-0-0-0-c-0-big5-0
生成fonts.scale:cp fonts.dir fonts.scale。
4.修改/etc/X11/XF86config文件,增加字体目录FontPath     "/usr/X11R6/lib/X11/fonts/truetype/ttf-zh"
5.运行SuSEconfig,如果没有什么错误提示,重新启动xwindow,你此时运行/jre/bin/ControlPanel就会见到下面的图样。

注意事项:如果你新安装了jre1.4.1_01的话,建议安装到原来系统的默认目录/usr/lib/SunJava2-1.3.1中。同时修改./jre/lib/font.properties.zh.Turbo,将其改名为font.properties.zh。否则仍然是“口”。
至此,一切就搞定了。

尝试:如果不想新建立目录和fonts.dir,可以在原来的fonts.dir中增加上面的字体脚本,但是要将开头的数字改为x+132(这个是说明下面有多少行,必需改)。然后做2个联接,ln -s simsun.ttf tlc_song.ttf,ln -s tahoma.ttf tlc_song_ascii.ttf。然后运行SuSEconfig,重新启动xwindow。这种改动最小,只是我当时怕这样该引起原来的字体混乱,所以按照前述的方法修改。如有不对之处,还请大家指教。
发表于 2002-11-16 23:46:23 | 显示全部楼层
好用。感谢beyond_2000兄的实践。

我做一个实验,在自己的fonts.dir加上xxx -tlc-song-medium-r-normal--0-0-0-0-c-0-gbk-0这句就可以了(注:xxx最好是多编码中文字体,比如simsun).
 楼主| 发表于 2002-11-17 00:55:17 | 显示全部楼层
在我的fonts.dir加上?你指什么就可以了?
发表于 2002-11-17 01:08:43 | 显示全部楼层
最初由 beyond_2000 发布
在我的fonts.dir加上?你指什么就可以了?


我指是各人自己的fonts.dir文件.
发表于 2002-11-28 23:13:45 | 显示全部楼层
最初由 dl59 发布
好用。感谢beyond_2000兄的实践。

我做一个实验,在自己的fonts.dir加上xxx -tlc-song-medium-r-normal--0-0-0-0-c-0-gbk-0这句就可以了(注:xxx最好是多编码中文字体,比如simsun).



这种方法不行啊....还有没有简单一点的方法..???
 楼主| 发表于 2002-11-28 23:18:46 | 显示全部楼层
怎么会不行呢?我就是这样做的,成功了啊。这样做的原理就是在fonts.dir里有-tlc-song-这样的说明。肯定可以的。你是怎么做的,有什么提示?
发表于 2002-11-28 23:35:16 | 显示全部楼层

谢谢回复...

我装的是 j2sdk1.4.1_01.....

  在目录 :/usr/java/j2sdk1.4.1_01/jre/fonts/  下有个 fonts.dir 文件和一些...ttf 字体文件.....我将simsun.ttf 拷贝过来...然后..修改 fonts.dir文件....加上

simsun.ttf -tlc-song-medium-r-normal--0-0-0-0-c-0-gbk-0

  可是..重启之后..还是不行啊.....

  有没有简单一点的方法啊...??/

  谢谢
 楼主| 发表于 2002-11-29 00:57:42 | 显示全部楼层
你必需注意,同时修改./jre/lib/font.properties.zh.Turbo,将其改名为font.properties.zh。否则仍然是“口”。
发表于 2002-11-29 09:07:08 | 显示全部楼层

还是不行...

如下提示:

  Cannot convert string "-tlc-song-medium-r-normal--*-140-*-*-c-*-gbk-0" to type FontStruct


(我已经修改了....fonts.properties.zh.Turbo->fonts.properties.zh)
 楼主| 发表于 2002-11-29 12:36:06 | 显示全部楼层
注意fonts.dir不是jre目录里的,而是你汉化用的那个fonts.dir,如果你的simsun.ttf在/usr/X11R6/lib/X11/fonts/truetype/simsun,那么就修改这个目录里的fonts.dir和fonts.scale,同时注意将开始的数字增加1(因为你增加了一行)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表