跳转到内容

Uniscribe

本页使用了标题或全文手工转换
维基百科,自由的百科全书

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 的首字母缩写 。其功能包括:

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

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

档案版本 档案大小 档案日期 编译日期 相随软件 新增功能
10.0.14393.0
79,360 字节
2016-08-02 Windows 10 周年更新
10.0.10240.16834 626,688 字节
2015-07-10
Windows 10 通用整形引擎支持 Unicode 7.0 复杂脚本
1.626.7600.20602 623 KiB
2010-01-07 2009-12-22 Microsoft Office 2010(RTM) 支援PR-37:澄清零字距连接字符印度文字的用途[1]
1.626.7600.16385 628 KiB
2009-08-04 Microsoft Office 2010(Beta) ?
612 KiB
2009-07-14 2009-07-14 Windows 7(RTM) ?
1.626.7100.0 612 KiB
2009-04-22 Windows 7 RC ?
1.626.6002.22402 491 KiB
2010-07-11 2010-05-12 Microsoft Office 2007(SP2)安全性更新KB2288621 [1]页面存档备份,存于互联网档案馆 MS10-063:说明2007 Office套件安全性更新:2010年9月14日
1.626.6002.22384 491 KiB
2010-04-16 2010-04-16 Windows Server 2008 SP2, Windows Vista SP2安全性更新KB981322 [2]页面存档备份,存于互联网档案馆 MS10-063:说明Windows Unicode Scripts Processor安全性更新:2010年9月14日
1.626.6002.18244 491 KiB
2010-04-16 2010-04-16 Windows Server 2008 SP2, Windows Vista SP2安全性更新KB981322 [3]页面存档备份,存于互联网档案馆 MS10-063:说明Windows Unicode Scripts Processor安全性更新:2010年9月14日
1.626.6002.18005 491 KiB
2009-04-11 Windows Server 2008 SP2, Windows Vista SP2 ?
1.626.6001.22672 491 KiB
2010-04-16 2010-04-16 Windows Server 2008, Windows Vista SP1安全性更新KB981322 [4]页面存档备份,存于互联网档案馆 MS10-063:说明Windows Unicode Scripts Processor安全性更新:2010年9月14日
1.626.6001.18461 490 KiB
2010-04-16 2010-04-16 Windows Server 2008, Windows Vista SP1安全性更新KB981322 [5]页面存档备份,存于互联网档案馆 MS10-063:说明Windows Unicode Scripts Processor安全性更新:2010年9月14日
1.626.6001.18000 490 KiB
2008-01-19 Windows Server 2008(RTM), Windows Vista SP1, VOLT补充文件 (July 2008), MS VOLT 1.3 [6]页面存档备份,存于互联网档案馆)(2008-07-31发行), SIL FieldWorks, Keyman Desktop 7.1 Supports newer OpenType table features; improved support for ligatures and contextual shapes in Indic scripts with simpler fonts
1.626.6001.16510 491 KiB
2007-04-18 Windows Server "Longhorn"(Beta 3) ?
1.626.6000.21258 491 KiB
2010-04-16 2010-04-16 Microsoft Office 2003(SP3)安全性更新KB2288613 [7]页面存档备份,存于互联网档案馆 MS10-063:说明2003 Office组件安全性更新:2010年9月14日
1.626.6000.20581 491 KiB
(502,784位元组)
2007-04-19 02:15:55 UTC Windows Vista修补程序KB936176页面存档备份,存于互联网档案馆 修复:incorrect rendering of fully decomposed characters in NFD form encoded in sequences with more than 2 characters(affects 114 Latin characters decomposed in sequences of 3 codes)
1.626.6000.16386 491 KiB
(502,784位元组)
2006-11-02 09:44:03 UTC Windows Vista Ultimate(RTM) DirectX 10? WDDM?
1.626.5756.0 491 KiB
2006-10-13 Microsoft Office 2007 Ultimate(RTM) 支援奥里亚以及卡纳达文字
1.615.5384.4 484 KiB
2006-06-17 Windows Vista(Beta 2) DirectX 9?
1.614.5315.0 454 KiB
2006-03-13 Microsoft Office 2007(Beta 2) OpenType排版功能?
1.613.5291.0 481 KiB
(492,544位元组)
2006-01-04 Windows Vista(Beta 1) Microsoft VOLT 1.2 [8]
1.609.5219.0 469 KiB
2005-08-17 Microsoft Office 12 Professional(Beta 1) OpenType排版功能?
1.606.5065.1 ?
? 第三方软件 支援蒙古文
1.606.5078.0 ?
? SIL字体修复 修复:Combining mark sequences in Latin script may be incorrectly rendered
1.601.5022.8 428 KiB
2005-01-07 WinXP僧伽罗语增益插件0.42版(参见“How to write Sinhala”部分) 正式支援僧伽罗语
1.473.4067.0 415 KiB
(424,960位元组)
2004-10-22 第三方软件 支援马拉雅拉姆文;VOLT补充文件(2004年11月); rendering improvement up to 3 diacritics with CGJ
1.473.4067.15 ? KiB
2004-10-22 第三方软件 Microsoft Visual OpenType Layout Tool (VOLT) 1.1.225更新程序
1.471.4063.0 415 KiB
(424,960位元组)
2004-02-04 Microsoft Office 2003 (修补程序), SIL FieldWorks(Speech Tools Phonology Assistant 3.0.1) ?
1.471.4030.0 404 KiB
(413,184位元组)
2004-04-15 Microsoft Office 2003, Google Earth
1.468.4015.0 ? KiB ? Paratext 6 支援藏语文字显示
1.468.4011.0 ? KiB ? ?
1.460.3707.0 ? KiB ? MS VOLT 1.1.206 支援高棉文字
1.453.3665.0 ? KiB ? VOLT补充文件(2002年8月) ?
1.422.3790.4695 371 KiB 2010-04-20 2010-04-20 Windows Server 2003(SP2)安全性更新KB981322 [9]页面存档备份,存于互联网档案馆 MS10-063:说明Windows Unicode Scripts Processor安全性更新:2010年9月14日
1.422.3790.3959 371 KiB 2007-02-17 2007-02-17 Windows Server 2003(SP2)
1.422.3790.1830 355 KiB
(364,032位元组)
2005-03-30 Windows Server 2003(SP1)
1.421.3790.0 345 KiB
(353,280位元组)
2003-03-25 Windows Server 2003 支援DirectX、GDI+以及较新的显示驱动程序模型
1.420.2600.5969 397 KiB
(406,016位元组)
2010-04-16 2010-04-16 Windows XP(SP3)安全性更新KB981322 [10]页面存档备份,存于互联网档案馆
Microsoft Office XP(SP3)安全性更新KB2288608 [11]页面存档备份,存于互联网档案馆
MS10-063:说明Windows Unicode Scripts Processor安全性更新:2010年9月14日
1.420.2600.5512 397 KiB
(406,016位元组)
2008-04-14 2008-04-14 Windows XP Build 5512(SP3) 修复?
1.420.2600.3163 397 KiB
(406,016位元组)
2007-06-26 Windows XP(SP2)修补程序KB939450 [12]页面存档备份,存于互联网档案馆 修复:The GetCharacterPlacement function unexpectedly returns zero
1.420.2600.2791 397 KiB
(406,016位元组)
2005-11-05 Windows XP(SP2)修补程序KB910466 [13]页面存档备份,存于互联网档案馆 修复:你可能在使用Windows XP SP2的电脑收到"MEM_BAD_POINTER"出错信息
1.420.2600.2180 397 KiB
(406,528位元组)
2004-08-12 2004-08-17 Windows XP Build 2180(SP2) 支援孟加拉文以及马拉雅拉姆文;支援复杂拉丁字符(越南语字母);修复:声调轮廓的结扎
1.409.2600.1106 331 KiB
(339,456位元组)
2002-08-29 Windows XP Build 1106(SP1) ?
1.408.2600.1020 331 KiB
(339,456位元组)
2002-04-17 2002-04-17 Internet Explorer 6.0.2800.1106(SP1) ?
1.407.2600.0 331 KiB
(339,456位元组)
2001-08-17 Windows XP 支援它拿字母古吉拉特文卡纳达文古木基文(旁遮普语)、叙利亚字母以及泰卢固
1.405.2416.1 317 KiB
(325,120位元组)
2001-01-15 2001-01-06 Microsoft Office XP (2002), Microsoft Word 2000(SP1) 完全支援希伯来文天城文泰米尔文
1.400.2411.1 316 KiB
(323,072位元组)
2000-12-13 Internet Explorer 6 [14]页面存档备份,存于互联网档案馆
1.325.2195.6692 308 KiB
(315,664位元组)
2003-06-19 Windows 2000 SP4
1.325.2195.4506 308 KiB
(315,664位元组)
2002-07-22 2002-07-23 Windows 2000 SP3
1.325.2195.1340 308 KiB
(315,664位元组)
2000-07-21 Windows 2000 SP1 完全支援阿拉伯字母
1.325.2180.1 316 KiB
(323,584位元组)
2000-06-08 2000-06-28 Windows Me Improved API for scripts with bidirectional and complex layouts ; minimum support for Arabic and Hebrew scripts (no contextual letter forms, requires compatibility character mappings in fonts)
Needed for Microsoft viewers (which otherwise require 98SE at least) of Powerpoint 2003 (and later) presentations on Windows 95 and 98
307 KiB
(315,152位元组)
1999-11-30 1999-11-30 Microsoft Windows Installer 2.0 Redistributable for Windows 95/98/Me KB827763页面存档备份,存于互联网档案馆
Microsoft Global IME for Microsoft Office XP
Internet Explorer 5.5 release, SP1 & SP2
1.175.0.1 268 KiB
(274,432位元组)
1999-05-05 1999-05-12 Windows 98 SE Uniscribe API的第一个稳定版本;支援简单字母系统——包括个别附加符号(拉丁字母希腊字母西里尔字母
258 KiB
(264,976位元组)
1999-01-28 Internet Explorer 5.01
1.163.1890.1 262 KiB
(268,288位元组)
1998-09-22 第三方软件 多语言文字编排以及复杂文字(MTLCS)快照(早期发行于测试者)

通用整形引擎

[编辑]

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

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。

如何更新?

[编辑]

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

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

备注

[编辑]
  1. ^ 公开评议议题#37页面存档备份,存于互联网档案馆) 提议书:澄清与统一零字距连接字符印度文字的用途,统一码联盟
  2. ^ 存档副本. [2012-12-12]. (原始内容存档于2020-07-31). 

参考

[编辑]

参看

[编辑]

外部链接

[编辑]