LinuxSir.cn,穿越时空的Linuxsir!

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

一个在Debian下面Java程序成乱码(小方框)的解决方法送给大家

[复制链接]
发表于 2006-7-23 19:38:32 | 显示全部楼层 |阅读模式
情况:
在Linux下面使用这个程序,汉字部分显示的是小方框。这个错误说明没有相应的字体,并不是出现的乱码。解决方法如下:

在Java的安装目录下面(JAVA_HOME)/sailing/sailingProg/jdk15/

进入/sailing/sailingProg/jdk15/jre/lib

首先,将fontconfig.properties.src进行备份(转换成fontconfig.properties.src.bak)

然后将文件fontconfig.RedHat.2.1.properties.src复制一个附件为:fontconfig.properties

(其实复制哪一个文件都无所谓,因为最终还是需要调整里面的内容。这里就以这个fontconfig.RedHat.2.1.properties.src为例)

打开新创建的这个fontconfig.properties文件

在下面有这么一段描述:
filename.-arphic-ar_pl_mingti2l_big5-medium-r-normal--*-%d-*-*-c-*-big5-0=/usr/share/fonts/ttf/bsmi00lp.ttf
filename.-arphic-ar_pl_sungtil_gb-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0=/usr/share/fonts/ttf/gbsn00lp.ttf
filename.-baekmuk-batang-medium-r-normal--*-%d-*-*-c-*-ksc5601.1987-0=/usr/share/fonts/ko/TrueType/batang.ttf
filename.-baekmuk-batang-bold-r-normal--*-%d-*-*-c-*-ksc5601.1987-0=/usr/share/fonts/ko/TrueType/batang.ttf
filename.-baekmuk-gulim-medium-r-normal--*-%d-*-*-c-*-ksc5601.1987-0=/usr/share/fonts/ko/TrueType/gulim.ttf
filename.-baekmuk-gulim-bold-r-normal--*-%d-*-*-c-*-ksc5601.1987-0=/usr/share/fonts/ko/TrueType/gulim.ttf
filename.-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0=/usr/share/fonts/ja/TrueType/kochi-gothic.ttf
filename.-kochi-mincho-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0=/usr/share/fonts/ja/TrueType/kochi-mincho.ttf

# AWT X11 font paths
awtfontpath.chinese-gb2312=/usr/share/fonts/ttf
awtfontpath.chinese-big5=/usr/share/fonts/ttf
awtfontpath.japanese-x0208=/usr/share/fonts/ja/TrueType
awtfontpath.korean=/usr/share/fonts/ko/TrueType
==============================

接下来要做的工作就是对它进行配置,在这里只需要更改2个地方:

1、首先在/usr/share/fonts目录下面创建ttf这个文件夹。
2、复制一个ttf的字体(我用的是simsun.ttf)到这个文件夹。并且同时复制一个附件。
3、将这两个文件分别改名为:bsmi00lp.ttf和gbsn00lp.ttf。

好了,这样在起动程序的时候就OK了!

以前我遇到的这个问题问了好多地方都没有解决。当初我记得好象是一个J2ME的程序。
嘿嘿,现在好了。问题解决了。共享出来!
发表于 2006-7-23 20:34:24 | 显示全部楼层
jre的font目录下建个fallback子目录
扔个中文字体进去或者做个符号连接到任何一款中文ttf字体
over

比你的省事多了 哈哈哈
回复 支持 反对

使用道具 举报

发表于 2006-7-23 20:35:03 | 显示全部楼层
哪有这么麻烦啊?
1.5的最简单的做法是

在/usr/lib/jvm/java-1.5.0-sun/jre/lib/fonts里建一个目录
fallback
然后sudo ln -s /path/to/chinese fonts/simsun.ttf .
这样就可以了

楼主的做法适合于1.4
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-23 20:51:30 | 显示全部楼层
这个方法我试过,没用。
回复 支持 反对

使用道具 举报

发表于 2006-7-23 21:15:14 | 显示全部楼层
除非你的jdk or jre装的不是标准的deb包
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-23 22:27:18 | 显示全部楼层
没错~~~我没有装deb的包。

我直接从sun下的1.5的JDK。
回复 支持 反对

使用道具 举报

发表于 2006-7-23 23:22:47 | 显示全部楼层
直接下的也支持fallback目录,跟是不是deb无关
回复 支持 反对

使用道具 举报

发表于 2006-7-24 06:52:51 | 显示全部楼层
估计楼主英文不好,fallback写错了吧?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-24 08:19:21 | 显示全部楼层
Post by potator
估计楼主英文不好,fallback写错了吧?


你说呢…………
回复 支持 反对

使用道具 举报

发表于 2006-7-24 18:18:10 | 显示全部楼层
在/usr/lib/jvm/java-1.5.0-sun/jre/lib/fonts里建一个目录
fallback
然后sudo ln -s /path/to/chinese fonts/simsun.ttf .
这样就可以了
========================================
好使。不过我的目录是/usr/lib/j2sdk1.5-sun/jre/lib/fonts,也谢谢楼主!:thank
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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