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

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程序,即可看到中文显示界面。

你可能感兴趣的:(SuSE 9.1 平台 ArcIMS(JRE) 中文显示解决方案)