热门问题
时间线
聊天
视角

Uniscribe

来自维基百科,自由的百科全书

Remove ads

Uniscribe微软公司开发的Windows操作系统为正确演示Unicode文字而开发的组件。系统的核心是一个名为USP10.DLLDLL。它从Windows 2000开始连同Windows一起捆绑;Win9x的用户在更新至Internet Explorer 5.0之后,系统亦会安装有本组件。此外,Windows CE从5.0开始亦支持Uniscribe。

其实从Windows 7开始,Uniscribe已经随着功能更多的DirectWrite的引入而被取代,但该组件依然仍有继续开发及维护。

USP10.dll

“USP” 是 Unicode Scripts Processor 的首字母缩写 。其功能包括:

  • 将输入文本从输入序列排列到可视序列;
  • 根据上下文替换字形(例如,不同形式的阿拉伯字符);
  • 根据文本流向对显示的文本进行排序,例如从左到右或从右到左、水平或垂直。

其他常见的版本号码如下:

更多信息 文件版本, 文件大小 ...
Remove ads

通用整形引擎

具有复杂文本布局的脚本具有正确呈现其排版的上下文和非线性要求。这些要求包括: 连字 ,其中两个连续字符组合成一个形状(拉丁文、梵文);重新排序,即某些字符写在发音后跟的字母之前(孟加拉语、僧伽罗语和其他印度文字);以及上下文塑造,其中一些字母必须根据它们是出现在单词的开头、中间还是结尾来改变形状(阿拉伯语、蒙古语)。

Uniscribe 使用多个特定于脚本的整形引擎来处理支持的复杂脚本中的排版;这些是非复杂脚本(如拉丁语或西里尔语)的通用引擎的补充。目前使用的引擎包括  印度语(孟加拉语、梵文、古吉拉特语、果鲁穆奇语、卡纳达语等)、阿拉伯语、朝鲜语、希伯来语、高棉语、缅甸语和泰语/老挝语变体。

Unicode 标准的复杂性和 OpenType 规范中的歧义通常会导致复杂文本布局的不完整或错误实现。特定于脚本的定型引擎根据具体情况工作,并且不能始终如一地处理 OpenType 字体的常见功能,这使得作系统程序员和字体开发人员难以支持新脚本。在不破坏现有文档和字体的向后兼容性的情况下,在以后的阶段纠正实现错误非常困难或不可能,通常需要新的 OpenType 布局功能以及重新设计现有字体和排版渲染引擎。

在 Windows 10 中,Uniscribe 完成了重大重构工作,以实现通用整形模型,即通用整形引擎 (USE)。 此引擎直接基于 Unicode 标准中定义的字形属性,希望支持任何具有合适字体的复杂脚本,而无需花费时间和精力创建专用的整形引擎。

USE 建立在为印度文字开发的广义 “通用集群模型” 之上,该模型对人类书写系统的超集进行建模。该引擎将复杂脚本的每个字符分为几个类别、基类和子类。例如,临时印度语分类包括一般、音节和位置类别,进一步分为基础元音(数字、辅音、声调字母、从属元音等)、基础元音(独立元音)、数字(婆罗米语连接数字)、词尾、介音和修饰辅音、介音,以及上、下、左和右辅音和元音。Unicode 符号字符串使用定义完善的规则转换为 USE 类的集合,使字形组合成为标准过程,并允许使用 OpenType 规范中定义的当前语言功能进行字符间交互。

Universal Shaping Engine 在 2014 年的 OpenType 开发人员会议上进行了介绍;开源 HarfBuzz 文本整形器也实现了一种兼容方法。截至 2020 年,Windows 10 中的 USE 总共处理了 70 种复杂脚本:Adlam、Ahom、Balinese、Batak、Bhaiksuki、Brahmi、Buginese、Buhid、Chakma、Cham、Chorasmian、Dives Akuru、Duployan、埃及象形文字、Elymaic、Grantha、Gunjala Gondi、Hanifi Rohingya、Hanunoo、Javanese、Kaithi、Kayah Li、Kharoshthi、Khitan Small Script、Khojki、Khudawadi、Lepcha、Limbu、Mahajani、Makasar、Mandaic、Manichaean、Marchen、Masaram Gondi、 Medefaidrin、Meitei Mayek、苗语、莫迪语、蒙古语、穆尔塔尼语、南迪纳加里语、Newa、N'Ko、Nyiakeng Puachue Hmong、Pahawh Hmong、Phags-pa、Psalter Pahlavi、Rejang、Saurashtra、Sharada、Siddham、僧伽罗语、粟特语、旧粟特语、Soyombo、巽他语、Syloti Nagri、他加禄语、Tagbanwa、Tai Le、Tai Tham(有限支持)、Tai Viet、Takri、Tibetn、Tifinagh、Tirhuta、Wancho、Yezidi 和 Zanabazar Square。

Remove ads

如何更新?

虽然Uniscribe从Windows 2000开始随系统提供,但不同版本的Uniscribe对各地不同的文字有不同的支持:最初的版本只支持显示泰语越南语,之后到希伯来语阿拉伯语。从Windows XP开始支持几个主要的南亚文字及亚述语,但僧加罗语高棉语缅甸语及各种使用蒙古文字的语言,由于他们的具体编码方式在Windows XP推出时还未落实,因此未能正式支持。现时不少为这些语言而设计的软件,在USP10.dll未更新之前,都不能正确操作。

过往要更新USP10.dll并不容易,因为当时微软并未有提及载件让用户透过安装来自行更新有关文件,而必须要透过安装其他应用程式来更新。现时,有关更新已可透过安装特别的应用程式来达成[2]

备注

参考

参看

外部链接

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads