如果要创建支持复杂脚本(Complex Scripts)的系统,我们需要完成下面一系列步骤来确保系统包含所有需要支持的具体区域设置 (locale–specific)。

1.     选择international下面的Unicode Processor for Complex Scripts组件

图1

此组件对应系统环境变量SYSGEN_UNISCRIBE。

2.     增加具体locale

从PB目录中,添加对具体locale的支持到系统中,比如,我们要在系统中包含Arabic,在PB中International\Locale Specific Support找到Arabic文件,并选择合适的字体和键盘,如图1所示。

3.     工程下面Property Pages中选择具体的locale

图2

在list目录下,为我们的系统选择适当的locale,选中的目标locale包含所需要的NLS(National Language Support,国际化语言支持)和相关的ANSI(美国国家标准协会)和此locale对应的默认OEM code page(字符集和字符编码方案,Codepage就是各国的文字编码和Unicode之间的映射表)

在图2中的Default locale选择默认的locale,并清空

4.     创建具体locale所需要的common.str

打开:\WINCE600\PUBLIC\COMMON\OAK\FILES\INTLTRNS文件夹,创建一个文件夹并用LCID(locale identifier)来命名,此LCID将作为系统默认的LCID。比如,我们如果要创建默认LCID为Arabic (Saudi Arabia,沙特阿拉伯)的系统,以0401命名此文件夹。

从INTLTRNS\0409(对应英文)复制common.str到0401文件夹下面,并打开此文件修改下面的定义:

#define LOC_LCID    ~"<default LCID>"

#define LOC_ACP    ~"<default code page>"

#define LOC_HKL_DEFAULT    ~"<default HKL value>"

对于沙特阿拉伯,上面的定义对应的值如下:

#define LOC_LCID     ~"401"

#define LOC_ACP      ~"4e8"//1256,ARA

#defineLOC_HKL_DEFAULT     "00000401"

图3

需要注意的是LCID和默认的code page都必须是十六进制,下面的表列出了复杂脚本locale的HKL。

图4

5.     选择Sysgen编译并运行

选择Sysgen编译并更新之后WINCE的界面如下:

图5

My device的显示也是由右到左,如下图:

图6

但为什么显示的还是英文呢?像Arabic这样的PB就没有直接提供res文件。当然这些res文件可以自己做(无非就是建立对话框,添加按钮,编辑框之类的),不过前提是你要懂得相关的语言。如果你要是在pb->setting->local中选择arabic相关语言的话,在你编译后的nk运行后,一直都english的。因为,在makeimage的时候,如果没有找到相关语言的res文件的话,就用默认的0x0409来代替。

WINCE6.0中特别提到WordPad、Inbox、Windows Messenger和File Viewers不支持复杂脚本。

图7

创建支持复杂脚本Complex Scripts的WINCE6.0系统的更多相关文章

  1. WIN7 64位系统搭建WINCE6.0系统遇到的问题

    WIN7 64位系统搭建WINCE6.0系统遇到的问题 安装顺序如下: .先装Visual Studio2005: .安装Visual Studio2005 Service Pack 1: .安装Vi ...

  2. <03>labview在winCE6.0系统下的程序移植与界面开发

    任务布置:labview与winCE开发<3> 要求一:学会TouchPane的环境配置,建立调试通道:要求二:掌握触控屏幕界面优化: 正文: 今天介绍labview虚拟仪器软件中 Tou ...

  3. BlazeMeter发布chrome扩展插件,支持JMeter脚本创建

    BlazeMeter发布chrome扩展插件,支持JMeter脚本创建http://www.automationqa.com/forum.php?mod=viewthread&tid=3898 ...

  4. 安装好php后,配置httpd以便支持php3脚本

    Apache是目前应用最广的Web服务器,PHP是一种类似ASP的易学的脚本语言,而且性能和功能都比ASP要强,而MySQL又是一个Linux上应用最多的数据库系统,特别是用于网站建设,这3个软件均是 ...

  5. 基于catalog 创建RMAN存储脚本

    --============================== -- 基于catalog 创建RMAN存储脚本 --============================== 简言之,将rman的 ...

  6. SpiderMonkey-让你的C++程序支持JavaScript脚本

    译序 有些网友对为什么D2JSP能执行JavaScript脚本程序感到奇怪,因此我翻译了这篇文章,原文在这里.这篇教程手把手教你怎样利用SpiderMonkey创建一个能执行JavaScript脚本的 ...

  7. 【ASP.NET Web API教程】2.1 创建支持CRUD操作的Web API

    原文 [ASP.NET Web API教程]2.1 创建支持CRUD操作的Web API 2.1 Creating a Web API that Supports CRUD Operations2.1 ...

  8. 20181225-Linux Shell Bash环境下自动化创建ssh互信脚本

    20181225-Linux Shell Bash环境下自动化创建ssh互信脚本 1. 我的Blog 博客园 https://www.cnblogs.com/piggybaba/ 个人网站 http: ...

  9. 利用docker创建支持centos的ssh镜像

    创建docker镜像需要基础镜像,目前官方已提供了多种基础镜像,参见: https://hub.docker.com/explore/ 要想创建支持centos的ssh镜像,就需要以centos镜像为 ...

随机推荐

  1. iOS多线程编程Part 3/3 - GCD

    前两部分介绍了NSThread.NSRunLoop和NSOperation,本文聊聊2011年WWDC时推出的神器GCD.GCD: Grand Central Dispatch,是一组用于实现并发编程 ...

  2. Thinkphp模板中使用自定义函数的方法

    注意:自定义函数要放在项目应用目录/common/common.php中. 这里是关键. 模板变量的函数调用格式:{$varname|function1|function2=arg1,arg2,### ...

  3. Daject初探 - 一个开源关系型数据库对象关系映射(ORM)模型

    Daject简介 Daject是用php写的一个关系型数据库抽象模型,通过该模型,可以在不写任何SQL或写很少的SQL就能执行大多数数据库查询操作.Daject具有面向对象,跨数据库的优点,通过数据库 ...

  4. android studio 不能在线更新android SDK Manager问题解决办法

    Failed to fetch URL https://dl-ssl.google.com/android/repository/addons_list-2.xml, reason: Connecti ...

  5. myeclipse trial expired[转]

    转自:http://blog.csdn.net/yuyuyuyuy/article/details/5878122 今天MyEclipse提示过期了,MyEclipse Trial Expired. ...

  6. JNI中使用cl命令生成DLL文件

    问题描述:     在使用JNI调用DLL时,首先需要生成DLL文件 问题解决:     (1)现在使用VS2008的cl.exe程序,生成DLL文件 (1.1)cl.exe环境搭建 注:   cl. ...

  7. CSS滤镜详解

    语法:STYLE="filter:filtername(fparameter1, fparameter2...)" (Filtername为滤镜的名称,fparameter1.fp ...

  8. 【BZOJ】【1565】【NOI2009】PVZ 植物大战僵尸

    网络流/最大权闭合子图+拓扑排序 感动死了>_<,一年多以前刚知道网络流的时候听说了这道名字很带感的题目,现在终于有实力切掉它了. 这题是最大权闭合子图模型的经典应用<_<,首 ...

  9. 剑指offer--面试题4

    题目:替换字符串中的空格为“%20”. 说明:在浏览器的地址栏中输入某个网址,在解析过程中会看到类似“%20”的字样,这应该就是网络编程涉及的内容... 该题总体来说比较简单(连我都能想到!),个人认 ...

  10. C#中Json和List/DataSet相互转换

    #region List<T> 转 Json        /// <summary>        /// List<T> 转 Json        /// & ...