LinuxSir.cn,穿越时空的Linuxsir!

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

怎么使sun-j2sdk1.5支持中文

[复制链接]
发表于 2004-11-13 17:02:43 | 显示全部楼层 |阅读模式
我看了http://www.linuxsir.cn/forum.php?mod=viewthread&tid=109912

中关于fontconfig的修改才知道可以让java支持中文,但是我找不到里面提到的相应文件.
我猜他里面说的那个目录,在我这对应的是/usr/lib/j2sdk1.5-sun/jre/lib
下面是我这个目录里的内容:
applet                         fontconfig.RedHat.2.1.properties.src  fontconfig.SuSE.properties.src       jvm.hprof.txt
audio                          fontconfig.RedHat.3.bfc               fontconfig.Turbo.8.0.bfc             locale
charsets.jar                   fontconfig.RedHat.3.properties.src    fontconfig.Turbo.8.0.properties.src  logging.properties
classlist                      fontconfig.RedHat.8.0.bfc             fontconfig.Turbo.bfc                 management
cmm                            fontconfig.RedHat.8.0.properties.src  fontconfig.Turbo.properties.src      net.properties
content-types.properties       fontconfig.RedHat.bfc                 fonts                                oblique-fonts
deploy.jar                     fontconfig.RedHat.properties.src      i386                                 plugin.jar
ext                            fontconfig.Sun.2003.bfc               im                                   psfontj2d.properties
flavormap.properties           fontconfig.Sun.2003.properties.src    images                               psfont.properties.ja
fontconfig.bfc                 fontconfig.Sun.bfc                    javaws                               rt.jar
fontconfig.properties.src      fontconfig.Sun.properties.src         javaws.jar                           security
fontconfig.properties.src.bak  fontconfig.Sun.properties.src.bak     jce.jar                              sound.properties
fontconfig.RedHat.2.1.bfc      fontconfig.SuSE.bfc                   jsse.jar                             zi
我不知道应该改哪个文件,但是试了几个都没起效果.

请哪位知道的指点一下.
谢谢
发表于 2004-11-13 20:27:12 | 显示全部楼层
发表于 2004-11-13 21:04:46 | 显示全部楼层
再转贴一个:
Linux下jdk1.5的安装及中文显示问题解决方案


Starcraft 原创  (参与分:31,专家分:10)   发表:2004-10-30 下午10:32   更新:2004-10-31 下午8:02   版本:1.0   阅读:855次





Linux下jdk1.5的安装及中文显示问题解决方案

本文未经本人许可切勿转载!

作者:terry
个人主页:http://infected.533.net
电子邮件:imterry@gmail.com
文档版本:v1.0 2004-10-30
图文版本:http://infected.html.533.net/download/linux.swf
操作系统:Fedora Core 2 (Kernel 2.6.7)
jdk版本:jdk 1.5.0

摘 要:随着Sun发布J2SE 5.0,即jdk1.5,众多新特性的加入和JVM性能的改善让人心动。Windows下安装和环境设置以及中文 显示自然没什么好说的,简直可以说是傻瓜式的。但是Linux下就不会那么顺利了,尤其是中文字体的显示一直以来总是困扰着初级用户。Jdk  1.5.0的中文显示设置和j2sdk 1.4.x时相比已经有了很大的改变。本文着重介绍jdk1.5在Linux操作系统下的安装、环境变 量设置和中文显示问题的解决。

1.    首先,从sun下载jdk1.5的安装文件,一般有两种。
下载地址:http://java.sun.com/j2se/1.5.0/download.jsp
Linux RPM in self-extracting file (jdk-1_5_0-linux-i586-rpm.bin, 42.50 MB)
Linux self-extracting file (jdk-1_5_0-linux-i586.bin, 43.95 MB)
简 单说一下两个安装文件的区别,Linux RPM in self-extracting file是一个把 rpm安装包封装在压缩包内的二进制格式,在linux操作系统的命令行下,给文件加上执行的权限chmod a+x jdk- 1_5_0-linux-i586-rpm.bin,然后./jdk-1_5_0-linux-i586-rpm.bin之后可以得到jdk-1_5_0 -linux-i586.rpm这个rpm包,之后安装rpm包还用多说么?rpm ?ivh package-name。前者的好 处是容易安装和维护,傻瓜式的。而后者则适合高级的用户,相当于一个zip版本的“绿色”jdk,没有安装程序,安装完之后可能需要做一些链接(具体可以 参考jdk安装指南文档)。同样地给后者加上执行权限之后直接执行二进制文件即可得到jdk 1.5.0,一般用户的习惯都是将jdk放在 /usr/java下,rpm安装后默认是在/usr/java下。
2.    安装好之后要做的便是环境变量的设置,也可分为两种不同的情况。
第 一种是对于单个用户的的环境变量设置。需要修改用户所对应的.bash_profile文件。我们可以通过vi  ~/.bash_profile来编辑当前用户的bash_profile文件,当然你也可以用你自己喜欢的编辑器。在开头或者适当的地方插入一下代码:
export JAVA_HOME=/usr/java/jdk1.5.0
export CLASSPATH=.
export PATH=$JAVA_HOME/binPATH
然后保存文件,注销重新登陆之后在控制台下输入java ?version,如果出现一下信息则说明安装设置已经成功。
注意:此代码是为了看起来简单,所以没有加上复杂的变量引用,熟悉shell的用户可以参  照第二种方法的代码进行修改。
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
Java HotSpot(TM) Client VM (build 1.5.0-b64, mixed mode, sharing)

第二种是设置Linux的全局环境变量(需要root权限),修改/etc/profile,在适当的地方加入以下代码:
JAVA_HOME=/usr/java/jdk1.5.0
PATH=$JAVA_HOME=$JAVA_HOME/binPATH
CLASSPATH=.JAVA_HOME/lib/tools.jarJAVA_HOME/lib/dt.jar
export PATH JAVA_HOME CLASSPATH
修改完成后保存,注销当前用户重新登陆后按照第一种同样的方法进行测试查看是否成功。
至此,基本的安装和环境变量设置已经完成了。
至于正确显示applet的浏览器的插件安装请查看Sun的文档:
http://java.sun.com/j2se/1.5.0/install-linux.html#plugin
http://java.sun.com/j2se/1.5.0/manual_install_linux.html
接下来要说如何修改配置来正确显示中文字体。
3.    最后来解决一下中文字体的显示问题。Jdk1.5.0的字体配置和1.4.x的时候相比有了很大的差别。先来看一下不作任何修改的情况下ControlPanel中文字体的显示情况,如图:

虽然能显示一下中文,但是有一大半是无法正常显示的方块,很不爽。下面我们就来解决这个问题。
先来看一下Sun公司对JRE1.5.0版的中文字体设置的官方说明中的一些资料:
介绍一下其字体配置文件的加载方案。其加载顺序为(JavaHome指JRE的根目录,下同):JavaHome/lib/fontconfig.OS.Version.properties
JavaHome/lib/fontconfig.OS.Version.bfc
JavaHome/lib/fontconfig.OS.properties
JavaHome/lib/fontconfig.OS.bfc
JavaHome/lib/fontconfig.Version.properties
JavaHome/lib/fontconfig.Version.bfc
JavaHome/lib/fontconfig.properties
JavaHome/lib/fontconfig.bfc
其中,OS字段可以是:
Windows: "98", "2000", "Me", "XP", "2003"。
Solaris:空。
Linux: "Sun", "RedHat", "Turbo", "SuSE"。
而Version字段指该OS的版本号。
在这些配置文件中,仅.properties文件是文本文件。其格式跟JRE1.4.2版的不同。文件分为几段,并在每段开始时标明。
我们需要关注的仅有两段:Component Font Mappings和Search Sequences。前者指定字体,后者指定要使用的properties的搜索顺序。
知道了这些,配置起来就简单了。
看了是不是有点晕,而且觉得没用?不要急下面会用到的。
先把字体文件Simsun.ttf(可以从windows下拷贝一份到linux下)拷贝到JRE的字体目录$JAVA_HOME/jre/lib/fonts下,接着编辑字体目录下的文件fonts.dir,把第一行的数字加1,然后在最后加一行加上:
simsun.ttf -SungtiL GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
然后保存文件。
最 后把字体配置文件改名为fontconfig.RedHat.properties这种形式(Fedora Core x也是 Redhat的衍生物),把$JAVA_HOME/jre/lib下多余的fontconfig开头的文件全部移到新建的bak目录下,当然你不备份也可 以只是除了问题不要找我^_^
注意:如果你的Linux不是Redhat和Fedora Core系列,请按照自己的发行版本对字体配 置文件做相应的修改,参照Sun公司的资料,jds、Suse和Turbo应该没问题了,至于Debian和Mandrake我就不得而知了,如果大家按 照自己的方式修改成功了请告诉我详细情况以便于我完善这个文档。
然后再在控制台下执行ControlPanel看看,是不是很爽!如图:

还有自己的程序也能完美的显示中文字体了!

4.    参考文献
http://addone.blogchina.com/blog/article_17203.216643.html
Sun公司对JRE1.5.0版的中文字体设置的官方说明:
http://java.sun.com/j2se/1.5.0/docs/guide/intl/fontconfig.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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