Chinaunix首页 | 论坛 | 博客
  • 博客访问: 762048
  • 博文数量: 790
  • 博客积分: 40560
  • 博客等级: 大将
  • 技术积分: 5065
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-28 16:29
文章分类

全部博文(790)

文章存档

2011年(1)

2008年(789)

我的朋友

分类: LINUX

2008-08-28 17:22:31

 
摘要:

最初以为是操作系统的字体显示问题,但SuSE9.1本身是包含中文字体的,很容易让我们想到了JRE。

文章标题为《SuSE9.1平台ArcIMS中文显示解决方案》,ArcIMS运行于JRE环境之上,因此问题的根本在于SuSE9.1平台下JRE运行时环境的中文显示,通过文中介绍的方案可以解决SuSE9.1操作系统中运行于JRE之上的所有应用程序的中文显示问题,如ArcIMSAuthor打开SDE空间数据库时以中文命名的表无法显示,数据属性字段中的中文显示为乱码等等。

操作系统:SuSE9.1
SunJRE运行时环境:1.5.0_06

问题:

ArcIMS发布地图中文显示为乱码,包括Author中添加数据时,名称为中文的表无法显示或显示为乱码,Author显示的地图数据,如属性字段包含中文则显示为乱码,在客户端浏览器浏览地图时,所有地图中的中文信息无法正确显示。

问题原因:

ArcIMS地图服务定制、管理、发布软件都是基于jre环境运行的,当jre运行时无法解析中文时,在Author等软件中看到的中文字体就是乱码,或是无法显示,因此需要配置jre的中文显示。

解决方法:

首先,必须先把字体文件(这里用宋体simsun.ttf测试,simsun为微软所有,建议使用开源中文字体)拷贝到JRE的字体目录JavaHome/lib/fonts下,然后编辑字体目录下的文件fonts.dir,把第一行的数字加1(一般情况下初始为48,改为49),然后在最后加一行,写上:

simsun.ttf-SungtiLGB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0,然后保存。

在JavaHome/lib中有许多字体相关的配置文件(JavaHome为JRE的根目录),找到fontconfig.SuSE.properties.src文件并进行修改:

#Version

version=1

#ComponentFontMappings

serif.plain.zh-1=-SungtiLGB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
serif.bold.zh-1=-SungtiLGB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
serif.italic.zh-1=-SungtiLGB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
serif.bolditalic.zh-1=-SungtiLGB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
sansserif.plain.zh-1=-SungtiLGB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
sansserif.bold.zh-1=-SungtiLGB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
sansserif.italic.zh-1=-SungtiLGB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
sansserif.bolditalic.zh-1=-SungtiLGB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
monospaced.plain.zh-1=-SungtiLGB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
monospaced.bold.zh-1=-SungtiLGB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
monospaced.italic.zh-1=-SungtiLGB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
monospaced.bolditalic.zh-1=-SungtiLGB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
dialog.plain.zh-1=-SungtiLGB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
dialog.bold.zh-1=-SungtiLGB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
dialog.italic.zh-1=-SungtiLGB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
dialog.bolditalic.zh-1=-SungtiLGB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
dialoginput.plain.zh-1=-SungtiLGB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
dialoginput.bold.zh-1=-SungtiLGB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
dialoginput.italic.zh-1=-SungtiLGB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0
dialoginput.bolditalic.zh-1=-SungtiLGB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0

然后sequence.allfonts设为zh-1,按照上面所述的文件名格式保存,启动Java程序,即可看到中文显示界面。

阅读(503) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~