跳至內容

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). 

參考

[編輯]

參看

[編輯]

外部連結

[編輯]