首页 > WORK > Java i18n工作记录2

Java i18n工作记录2

版权声明:本文可以任意转载,转载时请务必以超链接形式标明文章原始出处作者署名本版权声明

1、书接上文,继续实现多语言的Java显示,我的系统是WindowsXP+SP1(BTW:不知道现在升SP2还可不可以,激活等等有没有问题,据说IE7只能在SP2上运行,什么时候还是得把它升了),把字体文件Tibetan Machine Uni拷到windows/fonts目录下。

2、修改font.properties文件,从http://java.sun.com/j2se/1.4.2/docs查文档:

程序运行时JRE能找到如下的文件:(按先后顺序)

JavaHome/lib/font.properties.Language_Country_Encoding.OSVersion
JavaHome/lib/font.properties.Language_Country_Encoding.OS
JavaHome/lib/font.properties.Language_Country_Encoding.Version
JavaHome/lib/font.properties.Language_Country_Encoding
JavaHome/lib/font.properties.Language_Country.OSVersion
JavaHome/lib/font.properties.Language_Country.OS
JavaHome/lib/font.properties.Language_Country.Version
JavaHome/lib/font.properties.Language_Country
JavaHome/lib/font.properties.Language_Encoding.OSVersion
JavaHome/lib/font.properties.Language_Encoding.OS
JavaHome/lib/font.properties.Language_Encoding.Version
JavaHome/lib/font.properties.Language_Encoding
JavaHome/lib/font.properties.Language.OSVersion
JavaHome/lib/font.properties.Language.OS
JavaHome/lib/font.properties.Language.Version
JavaHome/lib/font.properties.Language
JavaHome/lib/font.properties.Encoding.OSVersion
JavaHome/lib/font.properties.Encoding.OS
JavaHome/lib/font.properties.Encoding.Version
JavaHome/lib/font.properties.Encoding
JavaHome/lib/font.properties.OSVersion
JavaHome/lib/font.properties.OS
JavaHome/lib/font.properties.Version
JavaHome/lib/font.properties

其中

  • JavaHome – JRE安装目录
  • Language – locale语言
  • Country – locale国家
  • Encoding – 编码名
  • OS – 操作系统名:
    • For Windows, "NT", "98", "2000", "Me", "XP".
    • For Solaris, empty.
    • For Linux, "Redhat", "Turbo", "SuSE".
  • Version – 操作系统版本.

3、在jre/lib下修改一个文件font.properties,把font.properties.zh中的内容拷进来,重新font mapping,修改所有这样的内容:

dialog.plain.0=Arial,ANSI_CHARSET
dialog.plain.1=\u5b8b\u4f53,GB2312_CHARSET
dialog.plain.2=WingDings,SYMBOL_CHARSET
dialog.plain.3=Symbol,SYMBOL_CHARSET

dialog.bold.0=Arial,ANSI_CHARSET
dialog.bold.1=\u5b8b\u4f53,GB2312_CHARSET
dialog.bold.2=WingDings,SYMBOL_CHARSET
dialog.bold.3=Symbol,SYMBOL_CHARSET

dialog.italic.0=Arial,ANSI_CHARSET
dialog.italic.1=\u5b8b\u4f53,GB2312_CHARSET
dialog.italic.2=WingDings,SYMBOL_CHARSET
dialog.italic.3=Symbol,SYMBOL_CHARSET

dialog.bolditalic.0=Arial,ANSI_CHARSET
dialog.bolditalic.1=\u5b8b\u4f53,GB2312_CHARSET
dialog.bolditalic.2=WingDings,SYMBOL_CHARSET
dialog.bolditalic.3=Symbol,SYMBOL_CHARSET

dialoginput.plain.0=Courier New,ANSI_CHARSET
dialoginput.plain.1=\u5b8b\u4f53,GB2312_CHARSET
dialoginput.plain.2=WingDings,SYMBOL_CHARSET
dialoginput.plain.3=Symbol,SYMBOL_CHARSET

……

先把中文的字体变一下,看看行不行。

其中"*.0=.." 是描述英文该用什么字体,所有 "*.1=…" 是描述中文该用什么字体。

上面的“\u5b8b\u4f53”就是中文“宋体”的unicode码,全部改为“\u9ED1\u4f53”(黑体),看看有没有变化。

4、没用,字符全部变成了方框,字体文件映射不对。还要改这部分:

# Font File Names
#
filename.\u5b8b\u4f53=SIMSUN.TTF

改为

# Font File Names
#
filename.\u96B6\u4f53=SIMHEI.TTF

其中SIMHEI.TTF是黑体的文件名。

5、这下不用在程序中setfont()了,程序中的中文全部变成了黑体。

6、注意windows下字体名和字体文件名的差别。

7、等下再建立font.properties.mk_MK,切换语言。

分类: WORK 标签:
  1. 本文目前尚无任何评论.