MUI是指多语言的支持,可以在WinCE系统中支持多种语言,并根据需要进行切换。下面介绍一下具体的实现:

 1. 添加多种语言:

创建一个WinCE工程,然后在”Solution Explorer”中右击工程,选择”Properties”,会弹出一个对话框。在左侧的列表中选择”Local”,在右侧选择所要支持的语言,这里我选择了French,Japanese,Chinese(PRC)和English四种语言。在”Default Locale:”中选择系统的默认语言,这里选择的是英语。如图:


2. 添加MUI组件


在”Catalog Item View”中选择支持MUI的组件,选择”Core OS”->”CEBASE”->”International”->”Multilingual User Interface(MUI)”,如图:


在上面选择了French,Japanese,English和Chinese四种语言,如果要想WinCE能够正确显示,还要选择相应的字体。在这里只需为Chinese和Japanese添加字体。选择”Core OS”->”CEBASE”->”International”->”Locale Specify Support”->”Chinese(Simplified)”->”Fonts”->”SimSun & NSimSun”->”SimSun & NSimSun”来添加中文字体,同样的方法在”Locale Specify Support”下找到”Japanese”然后添加日语字体。

3. 编译MUI工程

重新编译工程。编译成功后,打开工程的release目录,调用createmui命令来创建多种语言的资源文件,每种语言对应一个LCID,可以在WinCE的帮助文档中查到,如下:

English:0409

Chinese(PRC):0804

French:040C

Japanese:0411

 命令如下:

createmui 0409,0804,040C,0411

 运行成功后会生成一个MultiUI.bib文件,打开该文件,拷贝所有内容到common.bib文件的末尾。MutiUI.bib文件中可能包含k.coredll.dll.xxx,在common.bib文件中删除所有的k.coredll.dll.xxx项。

 最后重新Makeimg就可以了。

 4. 运行测试

下载并运行WinCE,可以看到默认的语言是英文的。选择”start”->”setting”->”Control Panel”弹出控制面板,然后选择”Regional Settings”,再选择”User Interface Language”,选择要切换的语言,比如Chinese(PRC),如图:

 
重新启动目标板,如果你用WinCE模拟器的话,在菜单中选择File,然后选择Reset,选择Soft来重新启动。重起以后,界面就会变成中文的WinCE系统了。


本文来自: IT知道网(http://www.itwis.com/) 详细出处参考:http://www.itwis.com/html/net/netother/20090826/5770.html
本文来自: IT知道网(http://www.itwis.com/) 详细出处参考:http://www.itwis.com/html/net/netother/20090826/5770.html

 

posted @ 2009-11-03 11:31 Jade 阅读(486) 评论(1) 编辑
每次定制中文系统时,NK总是比英文大10M左右,启动时在bootloader中将内核Copy到内存时也花时间,同时也占用了很多内存,留给系统和应用的内存就少了10M左右,真是浪费呀,看到都心痛!本人研究了一下,同时也参考了网上的资料,现总结如下,如何减少中文字库大小和将字库放到外部存贮器上。核心思想是将默认选择的中文字体SimSun & NSimSun (SYSGEN_FONTS_SIMSUN)替换成SimSun & NSimSun (Subset 2_50) (SYSGEN_FONTS_SIMSUN_2_50)达到体积的缩小。在注册表中[HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\FontPath]和[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FontLink \SystemLink]改变字库simsun.ac3或simsun.ttc的存贮位置。

 

一、减少中文字库大小

1.先打开目标的工程文件,单击“Platform”菜单,再单击“Settings…”,执行”clear” ,

Locales:将”英文(美国)”“中文(中国)”打勾

Default languare:选择“中文(中国)”

完成第1步后,工程中采用默认的是新宋字体

2,回到Catalog,选择“Core OS”—>“International”—>“Locale Spectific Support”

   —> “Chinese[Simplified]”

▲ Agfa AC3 Font Compression:使用AC3对字库进行压缩,若CPU有300HZ以上,建议选上;这个可以根据自己的需要选还是不选.

▲ SimSun & NSimSun (Subset 2_50):字体大小是3M左右,WINCE选择Subset 2_50是最合适的,所以用(Subset 2_50)中文字体替换原来的中文字体,选择SimSun & NSimSun (Subset 2_50),按右键添加该组件即可,这样就会把原来的字体替换掉。这样对中文显示又没有影响又达到内核瘦身的效果。必须选上;

补充:在没有压缩字体的情况来,默认选择的新宋字库大小是10M多,文件为simsun.ttc,若选择Subset 2_50版本,文件为simsun_2_50.ttc,字体大小是将近3M,也是对WinCE体积进行裁剪关键所在。当然如果选择了AC3对字库进行压缩,哪么体积还可以进一步缩小,压缩后的文件为simsun_2_50.ac3,体积就只有不到2M。

字库所在目录:D:\WINCE500\PUBLIC\COMMON\OAK\FILES

▲ GB18030 Data Converter:汉字编码标准集转换器,必须选上

3,重新进行Sysgen,这样做出来的系统,既能正常显示中文,又不用担心NK体积过大。

 

二、将字体保存到外部存贮器上来减少内核的大小

   网上有很多介绍将字体保存到SD卡、Flash等来减少内核的大小,但要注意一点就是:在加载显示驱动前就要加载保存字体的存贮设备的驱动,否则中文字体不能加载,系统启动后显示框框。将字体保存到注册表保存的存贮设备上,因为该存贮设备驱动很早就加载了。

而我使用的是硬盘,注册表需要作如下修改

 1、在platform.reg中添加如下

[HKEY_LOCAL_MACHINE\SYSTEM\GDI]

    "FontLinkMethods"=dword:1

 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FontPath]

    "FontPath"="\\Hard Disk" ; 字库文件所在目录

 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FontLink\SystemLink]

      "Tahoma"="\\Hard Disk\\simsun.ac3,NSimSun" ;我是用的压缩字库,所以为simsun.ac3。

      "Courier New"="\\Hard Disk\\simsun.ac3,NSimSun"

      "Arial"="\\Hard Disk\\simsun.ac3,NSimSun"

      "Times New Roman"="\\Hard Disk\\simsun.ac3,NSimSun"

      "Symbol"="\\Hard Disk\\simsun.ac3,NSimSun"

2、在工程目录中common.bib文件中删掉simsun.ac3相关项,确认该文件不会编到内核中。

3、把文件拷到Hard Disk中,即可,再启动ok了。

个字库,可使用;号隔开。例如:

"Tahoma"="\\Boot Disk \\Windows\\simsun.ttc,NSimSun; \\Boot Disk \\Windows\\mingliu.ttc,PMingLiU"

posted @ 2009-11-03 11:24 Jade 阅读(304) 评论(0) 编辑