WINCE6.0 Unicode Script Processor for Complex Scripts

相关网址http://msdn.microsoft.com/en-US/library/ee490956(v=winembedded.60).aspx

备注:script应该理解为文本比较合适。

 

Unicode ScriptProcessor for Complex Scripts(简称Uniscribe)技术,支持需要特殊处理的脚本,通过此技术,可以处理不是从左到右以线性布局的脚本的显示和编辑。WINCE系统为这些脚本提供正确的文本处理和布局,并且能够对它们进行镜像处理。

 

1.      Uniscribe OS设计开发

对于如何创建支持复杂脚本ComplexScriptsWINCE6.0系统,请见连接:http://blog.csdn.net/loongembedded/article/details/9113137

Uniscribe功能不能用于东亚脚本,比如韩语或是中文,我们可以在系统中通过增加注册表来让用户决定开启或是关闭Uniscribe功能,增加的注册表项如下:

[HKEY_LOCAL_MACHINE\SYSTEM\GDI\Uniscribe] 

"DisableUniscribe" =dword:0

如果DisableUniscribe的值为0表示开始Uniscribe功能,如果此值为1表示关闭Uniscribe功能,如果没有此值或是设备中没有设置此项,模块开启Uniscribe功能(当然前提是系统添加了Unicode Script Processor for Complex Scripts组件)。改变此键值后需要重启才生效。

 

2. Uniscribe应用开发

Uniscribe 能够非常精细的处理复杂文本,它支持在文本主公复杂规则的查找,如阿拉伯语、印度语和泰语。也处理文本从右到左写,如阿拉伯语和希伯来语,并且支持混合文本。

Uniscribe 导出API来支持国际文本,包括复杂规则的中东和亚洲文本。使用Uniscribe,应用程序只需要管理一个支持Unicode字符编码的存储,文本布局应用不需要用户维护任何用来跟踪字符顺序的buffer或是映射表(mapping table)。应用程序只需要存储和管理用户输入字符的顺序,这和Unicode定义的逻辑顺序相同。应用程序的辅助存储(backing store)不会改变布局操作的结果。从重新排序的群集(reordered clusters)到原始字符边界(original character boundaries)Uniscribe维护这些从应用程序传递进来的字符顺序。

相关连接:http://blog.csdn.net/jianlizhao66/article/details/1480748

 

3. OS是否带有Uniscribe的差异

⑴OS的大小

带有Uniscribe功能的系统比没带Uniscribe的大842KB,接近1Mbytes。

 

⑵带有Uniscribe功能的系统能够正常显示从右到左之类的语言

下面以阿拉伯语为例来介绍,在xp中文系统上访问http://arabic.arabia.msn.com/,从此网站下截取显示内容便于比较:

WINCE6.0 Unicode Script Processor for Complex Scripts_第1张图片

图1

把此内容拷贝在txt文件中,然后把此文件拷贝到带有Uniscribe英文系统的手持机上,显示如下:


图2

把此文件拷贝到没有Uniscribe英文系统的手持机上,显示如下:

WINCE6.0 Unicode Script Processor for Complex Scripts_第2张图片

 

图3

由上图可知,带Uniscribe功能的系统能够正常显示从左到右之类的阿拉伯语言。

 

⑶系统响应的速度

以1D读取code 39条码为例来看系统响应的时间差别。

 

测试项

开启Uniscribe

关闭Uniscribe

1D读取code39条码

(间隔时间400ms,连读1000次)

9分23秒

8分24秒

读取14443A-S70标签

(间隔时间200ms,连读1000次)

6分17秒

4分57秒

 

 

你可能感兴趣的:(WINCE6.0 Unicode Script Processor for Complex Scripts)