南方Linux论坛   首页 | 行业 | 下载 | Blog | 桌面应用 | 数据库 | 电子商务 | 文摘 | 网络服务 | 开源 | 系统管理 | 内核代码 | 教程

返回   南方Linux论坛 > 社区开源项目专栏 > 应用编程技术
注册账号 Blog 论坛帮助 会员列表 日历事件 搜索 今日新帖 标记讨论区已读

应用编程技术 C/C++/Gtk/Gnome/Qt/Kylix/Java等应用软件开发技术

发表新主题 回复
 
主题工具 显示模式
旧 2006-08-16, 08:46 PM   #1
书生
级别:2 | 在线时长:17小时 | 升级还需:4小时级别:2 | 在线时长:17小时 | 升级还需:4小时
开源爱好者
 
注册日期: 2006-06-19
帖子: 286
文章: 1
精华: 0
现金: 71 金币
资产: 34462 金币
声望: 11 书生 正向着好的方向发展
发 QQ 消息给 书生
默认 Linux 下 Java 中文环境设置方法

作者:家居猫

很多朋友在 Linux 下使用 Java 开发应用程序时发现中文显示不正常,在窗口应用中的中文显示为一串方块。这主要是由于字体设置不正确。JDK 自带的配置文件中,它所指定的中文字体不存在而造成了显示不正确。本文以 Mandrake Linux 8.2 、JDK 1.4.1 为例,简单的介绍了在 Linux 下 Java 中文环境的设置方法。其它 Linux 系统或 JDK 版本可参照本文作相应调整。

首先,检查你的 /usr/share/fonts/ttf/gb 目录下是否装有中文字体 gbsn00lp.ttf 。如果没有,也可以用 Windows 字体目录下的 song.ttf 来代替。将字体文件拷贝到 Java 安装目录下的 jre/lib/fonts 下。

第二,修改 Java 安装目录下的 jre/lib/fonts/fonts.dir 文件,将首行的 72 改为 73,然后添加下列内容:

gbsn00lp.ttf -Arphic Technology Co.-AR PL SungtiL GB-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0

注意:如果你用的是 song.ttf ,则应该将头部的 gbsn00lp.ttf 改为 song.ttf 。

第三,在 Java 安装目录下的 jre/lib 目录中,将字体配置文件 font.properties.zh.Turbo 复制为 font.properties.zh 。然后修改 font.properties.zh 。将文件中所有的:

-tlc-song-medium-r-normal--*-%d-*-*-c-*-gbk-0 替换为:
-Arphic Technology Co.-AR PL SungtiL GB-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0

第四,用 JDK 自带的演示程序 SwingSet2 测试,如果看到中文菜单则说明设置成功。

原文地址 http://www.javaidea.net/list.jsp?topic=4

其他文档http://ccpi.gov.cn/Linux/lg-zh-issue...inux_java.html
__________________

bbs.linuxunion.net
书生 当前离线  
回复时引用此帖
旧 2006-08-16, 08:46 PM   #2
书生
级别:2 | 在线时长:17小时 | 升级还需:4小时级别:2 | 在线时长:17小时 | 升级还需:4小时
开源爱好者
 
注册日期: 2006-06-19
帖子: 286
文章: 1
精华: 0
现金: 71 金币
资产: 34462 金币
声望: 11 书生 正向着好的方向发展
发 QQ 消息给 书生
默认 回复: Linux 下 Java 中文环境设置方法

8.18. 配置Java环境
8.18.1. 安装

Debian官方没有维护专门的Java软件包,所以不能直接用apt-get工具来安装。在Debian系统中要安装Java,有两种方式,一种是用传统方式;一种是Debian方式。下面分别介绍:

传统方式:

*

到SUN官方网站下载最新jre包,我下载的是jre-1_5_0_01-linux-i586.bin,并把该文件的属性改成可执行,直接执行该文件。

debian:~/inst# chmod +x jre-1_5_0_01-linux-i586.bin
debian:~/inst# ./jre-1_5_0_01-linux-i586.bin

程序运行后会当前目录下生成一个名为jre1.5.0_01的目录。
*

把该目录拷贝到/usr/local/jre1.5.0_01,并在你的系统初始化脚本中增加以下两个环境变量。在我的系统中,我把这两句放到~/.gnomerc文件中。

export CLASSPATH="/usr/local/jre1.5.0_01/lib"
export JAVA_HOME="/usr/local/jre1.5.0_01"

重启系统或手工执行以上两个export命令后,就可使用java命令了,你可用java -version命令进行测试。使用传统方式安装的java没有归并到Debian软件包体系中,所以在Debian的软件包数据库中不会存在java的依赖关系信息。且不能用Debian的软件包管理程序进行管理,只能手工维护。也就是说,如果我们要删除java,只能手工删除目录和环境变量。

Debian方式(推荐):

*

我们可以通过java-package包提供的make-jpkg程序,从SUN官方的java软件包生成一个Debian软件包。java-package软件包可通过apt-get命令安装。

debian:~# apt-get install java-package

*

下载官方的java软件包,并用以下命令生成Debian格式的java软件包。注意,make-jpkg程序不能在root环境下运行,我们要使用fakeroot程序。

debian~:# cp jre-1_5_0_01-linux-i586.bin /home/jims/.
debian~:# chown jims /home/jims/jre-1_5_0_01-linux-i586.bin
debian~:# su - jims
jims@debian:~$ fakeroot make-jpkg jre-1_5_0_01-linux-i586.bin

程序运行完成后,在当前目录下就会生成一个Debian软件包sun-j2re1.5_1.5.0+update01_i386.deb。
*

以root身份安装该软件包。

debian~:# dpkg -i sun-j2re1.5_1.5.0+update01_i386.deb

*

最后设置java的环境变量。

export CLASSPATH="/usr/lib/j2re1.5-sun/lib/"
export JAVA_HOME="/usr/lib/j2re1.5-sun/"

用java -version进行测试。用这种方式安装的java会把java软件包的相关信息储存在Debian软件包数据库,可用apt-get工具进行管理。如果要删除java,只要运行以下命令即可。

debian:~# apt-get --purge remove sun-j2re1.5

建议使用Debian方式安装java,这样其它依赖于Java的Debian软件包才能被正常安装。
8.18.2. 设置JAVA的中文显示

在Linux环境下,如果Java的字体设置不对,Java程序会把中文显示成一些方框符号或问号。为了使基于Java的程序能正常显示中文,需进行字体配置 。下面是在Debian环境下的配置方法,其它发行版的修改方法也一样,只是需修改的文件的路径名不同罢了。

1.

找到.../jre/lib/目录,在我的debian系统上是/usr/lib/j2se/1.4/jre/lib。该目录下有很多以font开头的文件,其中font.properties是java默认的字体配置文件。用font.properties.zh_CN.Sun覆盖原来的 font.properties文件。
2.

修改新的font.properties文件,以SimSum字体为例,把以下设置

serif.0=-b&h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1
serif.1=-Hanyi-HanyiSong-medium-r-normal--*-%d-*-*-c-*-gbk-0

更改成

serif.0=-b&h-lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1
serif.1=-misc-SimSun-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0

按以上的方式把文件中的所有字体进行同样的设置。如果不知道本机安装了什么字体,可用xlsfonts命令列出。

以上的设置适用于1.4版的java,1.5版的java的字体设置有较大的变化,字体配置文件名变成fontconfig.properties。经测试,在1.5中有两种设置中文字体的方法,一种就是与1.4的方法一样,需配置fontconfig.properties文件。在 /usr/lib/j2re1.5/lib目录下有很多以.src结尾的配置源文件,代表在不同平台下的标准配置。我们可以它们为蓝本拷贝成 fontconfig.properties。然后再根据你系统中所安装的X11核心中文字体来配置字体名和字体文件路径。第二种方法很简单,只要在 /usr/lib/j2re1.5/lib/fonts目录下建立一个fallback目录,并把中文字体文件拷贝或链接到该目录中即可,根本不用配置其它东西。
书生 当前离线  
回复时引用此帖
旧 2006-08-16, 08:48 PM   #3
书生
级别:2 | 在线时长:17小时 | 升级还需:4小时级别:2 | 在线时长:17小时 | 升级还需:4小时
开源爱好者
 
注册日期: 2006-06-19
帖子: 286
文章: 1
精华: 0
现金: 71 金币
资产: 34462 金币
声望: 11 书生 正向着好的方向发展
发 QQ 消息给 书生
默认 回复: Linux 下 Java 中文环境设置方法

Linux下java的Swing/AWT程序乱码解决

cd <JAVA_HOME>/lib/fonts或者cd <JAVA_HOME>/jre/lib/fonts
mkdir fallback

其中<JAVA_HOME>是你安装jdk/jre的路径,我的是/usr/lib/jdk1.5。复制或者链接一个中文字体至其下:

ln -s /usr/share/fonts/truetype/simsun.ttf /usr/lib/jdk1.5/jre/lib/fonts/fallback/simsun.ttf
书生 当前离线  
回复时引用此帖
发表新主题 回复


当前查看此主题的会员: 1 (0 位会员和 1 位游客)
 
主题工具
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

论坛启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


所有时间均为北京时间。现在的时间是 05:53 AM


vBulletin 3.6.8 Powered by 南方Linux联盟
版权所有 ©2004 - 2009, bbs.linuxunion.net