Flyingis

Talking and thinking freely !
Flying in the world of GIS !
随笔 - 156, 文章 - 16, 评论 - 589, 引用 - 0
数据加载中……

SuSE 9.1 平台 ArcIMS(JRE) 中文显示解决方案

    作者:Flyingis

    操作系统:SuSE 9.1
    Sun JRE 运行时环境: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 -SungtiL GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0,然后保存。

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

# Version

version
=1

# Component Font Mappings

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


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

posted on 2007-05-28 09:29 Flyingis 阅读(3686) 评论(1)  编辑  收藏 所属分类: JavaSEArcIMS

评论

# re: SuSE 9.1 平台 ArcIMS(JRE) 中文显示解决方案  回复  更多评论   

补充:将fontconfig.SuSE.properties.src更名为fontconfig.SuSE.properties。
此时发布出来的地图若还是不能显示中文,应检查arcims用户环境变量LANG=zh_CN.UTF-8,arcxml中涉及到中文的地方使用suse中已有的字体(fontinfo)。
2007-06-04 11:06 | Flyingis

只有注册用户登录后才能发表评论。


网站导航: