热门问题
时间线
聊天
视角

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