热门问题
时间线
聊天
视角

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