Jump to content
Wikipedia The Free Encyclopedia

Uniscribe

From Wikipedia, the free encyclopedia

Uniscribe is the Microsoft Windows set of services for rendering Unicode-encoded text, supporting complex text layout. It is implemented in the dynamic link library USP10.DLL. Uniscribe was released with Windows 2000 and Internet Explorer 5.0. In addition, the Windows CE platform has supported Uniscribe since version 5.0.

"USP" is an initialism for Unicode Scripts Processor. Its features include:

  • arranging input text from the input sequence to visual sequence;
  • substituting glyphs according to context (e.g., different forms of Arabic characters);
  • ordering displayed text based on text flow direction, such as left-to-right or right-to left, horizontal or vertical.

Although Uniscribe continues to be maintained as of 2021, its intended replacement DirectWrite, which has more features, was introduced with Windows 7.[1]

USP10.DLL Versions

[edit ]

Below are listed some common versions of usp10.dll, as well as the methods by which they are distributed.

Features are added according only the "major.minor" part of the version number, the third part in the full version number is used for system target identification numbers for which the DLL was ported by Microsoft, and the last part is the build number on each target system version (which may change within regular system/software updates). Some hotfixes provide upgrades only for specific applications (notably in the Office installation directory), and are not suitable for use in the Windows system directory (whose version of the DLL should never be updated and is often protected by the system):

File sizes may vary depending on specific localizations of the DLL (depending on the target system or application for which it was compiled); those given here are for the US-English localization.

Versions of USP10.DLL for the US-English localized platforms
Version number File Size File Date Software Bundled by New feature of this version
10.0.14393.0 79,360 bytes (x64) 2016年08月02日 Windows 10 Anniversary Update ?
1.626.7601.23259 627,712 bytes (x86) 2015年11月03日 ? ?
1.626.7601.19054 627,712 bytes (x86) 2015年11月03日 ? ?
10.0.10240.16834 626,688 bytes (x64) 2015年07月10日 Windows 10 Universal Shaping Engine support for Unicode 7.0 complex scripts [2] [3] [4]
1.626.7601.18454 (Windows 7 GDR) 626,688 bytes (x86)
801,280 bytes (x64)
2014年04月25日 KB2957509 [1] – Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008, Windows Server 2003 Security update
1.626.7601.22666 (Windows 7 LDR) 626,688 bytes (x86)
801,792 bytes (x64)
6.3.9431.0 76,288 bytes 2013年06月16日 Windows 8.1 (preview) ?
6.2.9200.16384 74 KiB
2012年07月26日 Windows 8 ?
1.626.7601.22171 626,688 bytes (x86) 2012年11月22日 ? ?
1.626.7601.18009 612 KiB
2012年11月22日 KB2786400 [2] An update is available that changes the default settings of the shaping behavior for Arabic text rendering in Windows 7 and Windows Server 2008 R2.
1.626.7601.17514 781 KiB
2010年11月20日 Windows 7 SP1 x64 (RTM) ?
611 KiB
Windows 7 SP1 x86 (RTM)
1.626.7601.17105 611 KiB
2010年09月30日 Windows 7 SP1 (RC) Restore support for unassigned code points[5]
1.626.7600.20796 625 KiB
2010年09月21日 PowerPoint Viewer 2010 (SP1) KB2460050 [3] ?
1.626.7600.20602 623 KiB
2010年01月07日 Microsoft Office 2010 (RTM) Support PR-37: Clarification of the Use of Zero Width Joiner in Indic Scripts;[6] This version supports OpenType on Windows XP.
1.626.7600.16385 628 KiB
2009年08月04日 Microsoft Office 2010 (Beta) ?
612 KiB
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日 Microsoft Office 2007 (SP2) Security Update KB2288621 [4] MS10-063: Description of the security update for the 2007 Office suites: September 14, 2010
1.626.6002.18244 607 KiB
2010年04月16日 Windows Server 2008 SP2, Windows Vista SP2 Security Update KB981322 [5] MS10-063: Description of the security update for Windows Unicode Scripts Processor: September 14, 2010
1.626.6002.18005 607 KiB
2009年04月11日 Windows Server 2008 SP2, Windows Vista SP2 ?
1.626.6001.18000 490 KiB
2008年01月19日 Windows Server 2008 (RTM), Windows Vista SP1, VOLTSupplementalFiles (July 2008), MS VOLT 1.3 [6] (released July 31, 2008), 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.20581 491 KiB
(502,784 bytes)
2007年04月19日 02:15:55 UTC Windows Vista Hotfix KB936176 FIX: 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 bytes)
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) Supports Oriya and Kannada scripts
1.615.5384.4 484 KiB
(495,616 bytes)
2006年06月17日 Windows Vista (Beta 2) DirectX 9?
1.614.5315.0 454 KiB

(464,896 bytes)

2006年03月13日 Microsoft Office 2007 (Beta 2) OpenType typographic features?
1.613.5291.0 481 KiB
(492,544 bytes)
2006年01月04日 Windows Vista (Beta 1) Microsoft VOLT 1.2 [7]
1.609.5219.0 469 KiB
2005年08月17日 Microsoft Office 12 Professional (Beta 1) OpenType typographic features?
1.606.5065.1 ?
? Third-party software Supports Mongolian script
1.606.5078.0 ?
? Hotfix for SIL fonts FIX : Combining mark sequences in Latin script may be incorrectly rendered
1.601.5022.8 428 KiB
(438,272 bytes)
2005年01月07日 Microsoft Sinhala Enabling Pack for XP 0.42 Supports Sinhala script
1.473.4067.15 415 KiB
(424,960 bytes)
2004年10月22日 Third-party software Microsoft Visual OpenType Layout Tool (VOLT) 1.1.225 update
1.473.4067.0 415 KiB
(424,960 bytes)
2004年10月22日 Third-party software Supports Malayalam script; VOLTSupplementalFiles (Nov 2004); rendering improvement up to 3 diacritics with CGJ
1.471.4063.0 415 KiB
(424,960 bytes)
2004年02月04日 Microsoft Office 2003 (fix), SIL FieldWorks (Speech Tools Phonology Assistant 3.0.1) ?
1.471.4030.0 404 KiB
(413,184 bytes)
2004年04月15日 Microsoft Office 2003, Google Earth
1.468.4015.0 ? KiB
(? bytes)
? Paratext 6 Supports Tibetan script.
1.468.4011.0 ? KiB
(? bytes)
? ?
1.460.3707.0 ? KiB
(? bytes)
? MS VOLT 1.1.206 Supports Khmer script
1.453.3665.0 ? KiB
(? bytes)
? VOLTSupplementalFiles (Aug 2002) ?
1.422.3790.1830 355 KiB
(364,032 bytes)
2005年03月30日 Windows Server 2003 (SP1) FIX?
1.421.3790.0 345 KiB
(353,280 bytes)
2003年03月25日 Windows Server 2003 Support for DirectX, GDI+ and newer display driver model
1.420.2600.5969 397 KiB
(406,016 bytes)
2010年04月16日 Windows XP (SP3) Security Update KB981322 [8] MS10-063: Description of the security update for Windows Unicode Scripts Processor: September 14, 2010
1.420.2600.5512 397 KiB
(406,016 bytes)
2008年04月14日 Windows XP Build 5512 (SP3) FIX?
1.420.2600.3163 397 KiB
(406,016 bytes)
2007年06月26日 Windows XP (SP2) Hotfix KB939450 [9] FIX: The GetCharacterPlacement function unexpectedly returns zero
1.420.2600.2791 397 KiB
(406,016 bytes)
2005年11月05日 Windows XP (SP2) Hotfix KB910466 [10] FIX: You may receive a "MEM_BAD_POINTER" error message on a computer that is running Windows XP with Service Pack 2
1.420.2600.2180 397 KiB
(406,528 bytes)
2004年08月12日 Windows XP Build 2180 (SP2) Supports Bengali and Malayalam scripts; supports complex Latin (for Vietnamese); FIX: ligation of tone contours
1.409.2600.1106 331 KiB
(339,456 bytes)
2002年08月29日 Windows XP Build 1106 (SP1) ?
1.408.2600.1020 331 KiB
(339,456 bytes)
2002年04月17日 Internet Explorer 6.0.2800.1106 (SP1) ?
1.407.2600.0 331 KiB
(339,456 bytes)
2001年08月17日 Windows XP Supports Thaana, Gujarati, Kannada, Gurmukhi (Punjabi), Syriac and Telugu scripts
1.405.2416.1 317 KiB
(325,120 bytes)
2001年01月15日 Microsoft Office XP (2002), Microsoft Word 2000 (SP1) Fully supports Hebrew, Devanagari and Tamil scripts
1.400.2411.1 316 KiB
(323,072 bytes)
2000年12月13日 Internet Explorer 6 [11] ?
1.325.2195.6692 308 KiB
(315,664 bytes)
2003年06月19日 Windows 2000 SP4 (?) ?
1.325.2195.? ?
2001年09月25日 Microsoft Windows Installer 2.0 Redistributable for Windows 95/98/Me KB827763 Needed for Microsoft viewers (which otherwise require 98SE at least) of Powerpoint 2003 (and later) presentations on Windows 95 and 98
1.325.2195.1340 308 KiB
(315,664 bytes)
2000年07月21日 Windows 2000 SP1 Fully supports Arabic script
1.325.2180.1 316 KiB
(323,584 bytes)
2000年06月08日 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)
307 KiB
(315,152 bytes)
2000年04月26日 Microsoft Global IME for Microsoft Office XP
307 KiB
(315,152 bytes)
1999年11月30日 Internet Explorer 5.5 release, SP1 & SP2
1.175.0.1 268 KiB
(274,432 bytes)
1999年04月05日 Windows 98 SE First stable Uniscribe API; supports simple alphabetic scripts with decomposed diacritics (Latin, Greek, Cyrillic)
258 KiB
(264,976 bytes)
1999年01月28日 Internet Explorer 5.01
1.163.1890.1 262 KiB
(268,288 bytes)
1998年09月22日 Third-party software Multilanguage Text Layout and Complex Scripts (MTLCS) snapshot (early release for developers)

Universal Shaping Engine

[edit ]

Scripts with complex text layout have contextual and non-linear requirements to render their typography correctly. These requirements include: ligatures, where two consecutive characters are combined into one shape (Latin, Devanagari); reordering, where some characters are written before the letter they follow in pronunciation (Bengali, Sinhala, and other Indic scripts); and context-shaping, where some letters have to change shape depending on whether they occur in the beginning, middle, or the end of the word (Arabic, Mongolian).

Uniscribe uses several script-specific shaping engines for handling typography in supported complex scripts; these are implemented in addition to a generic engine for non-complex scripts (such as Latin or Cyrillic). The currently used engines include[3] Indic (Bengali, Devanagari, Gujarati, Gurmukhi, Kannada, etc.), Arabic, Hangul, Hebrew, Khmer, Myanmar, and Thai/Lao variants.

The complexity of the Unicode standard and ambiguities in OpenType specification often result in incomplete or erroneous implementations of complex text layout. Script-specific shaping engines work on a case-by-case basis and do not consistently handle common features of OpenType fonts, which makes it difficult for OS programmers and font developers to support new scripts. Implementation errors are very hard or impossible to correct at a later stage without breaking up backward compatibility for existing documents and fonts, often requiring new OpenType layout features and a redesign of existing fonts and typography rendering engines.[3] [7] [8] [9]

In Windows 10, major refactoring work was done for Uniscribe to implement a generalized shaping model, the Universal Shaping Engine (USE).[10] This engine is directly based on glyph properties defined in the Unicode standard, in the hope that any complex script with a suitable font would be supported without the time and effort required to create a dedicated shaping engine.[4]

USE builds on a generalized "universal cluster model" developed for the Indic scripts, which models a superset of human writing systems. The engine classifies each character of a complex script into several categories, base classes and subclasses. For example, a provisional Indic classification includes general, syllabic and positional categories, further divided into base (number, consonant, tone letter, dependent vowel, etc.), base vowel (independent vowel), number (Brahmi joining number), final, medial, and modifier consonants, medial consonants, as well as top, bottom, left and right consonants and vowels. Unicode symbol strings are converted into collections of USE classes using well-defined rules, making glyph composition a standard procedure and allowing inter-character interactions not possible with current language features defined in OpenType specifications.[3]

The Universal Shaping Engine was presented at the OpenType Developer Meeting in 2014; a compatible approach was also implemented by the open source HarfBuzz text shaper. As of 2020, the USE in Windows 10 handles a total of 70 complex scripts: Adlam, Ahom, Balinese, Batak, Bhaiksuki, Brahmi, Buginese, Buhid, Chakma, Cham, Chorasmian, Dives Akuru, Duployan, Egyptian Hieroglyphs, 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, Miao, Modi, Mongolian, Multani, Nandinagari, Newa, N’Ko, Nyiakeng Puachue Hmong, Pahawh Hmong, Phags-pa, Psalter Pahlavi, Rejang, Saurashtra, Sharada, Siddham, Sinhala, Sogdian, Old Sogdian, Soyombo, Sundanese, Syloti Nagri, Tagalog, Tagbanwa, Tai Le, Tai Tham (limited support), Tai Viet, Takri, Tibetan, Tifinagh, Tirhuta, Wancho, Yezidi, and Zanabazar Square.[10]

Versions

[edit ]

Although Uniscribe has been available since Windows 2000, new versions of Uniscribe have provided more functions to the system, namely, support for other writing systems. An earlier update of it supports the display of Arabic and Hebrew, then Thai and Vietnamese. Since Windows XP, more South Asian and Assyrian scripts are supported.

See also

[edit ]

References

[edit ]
  1. ^ "Windows 7: Introducing Direct2D and DirectWrite". Channel 9. PDC2008. Microsoft Corp. 2008年10月29日. Retrieved 2021年06月01日.
  2. ^ "Script and Font Support in Windows". Archived from the original on 2014年12月25日.
  3. ^ a b c d John Hudson (10 May 2016). "Making fonts for the Universal Shaping Engine" (PDF). Tiro Typeworks. Retrieved 2020年06月09日.
  4. ^ a b Blog, Windows Experience; Glass, Andrew (February 23, 2015). "Windows shapes the world's languages". Windows Experience Blog.
  5. ^ "RE: Symbola font (was: James Kass and Code2000 font)" . Retrieved 2011年01月29日.
  6. ^ Public Review Issue #37, Proposal on Clarification and Consolidation of the Function of ZERO WIDTH JOINER in Indic Scripts, Unicode Consortium
  7. ^ "Problems for Indic typography in current OpenType Layout implementations - John Hudson" (PDF).
  8. ^ "Fixing Indic2 OpenType Layout - John Hudson" (PDF).
  9. ^ "Beyond shaping and towards a general model of OpenType typography - John Hudson" (PDF).
  10. ^ a b "Creating and supporting OpenType fonts for the Universal Shaping Engine - Typography". 30 September 2022.
Notes
[edit ]
Graphics and UI
Audio
Multimedia
Web
Data access
Networking
Communication
Administration and
management
Component model
Libraries
Device drivers
Security
.NET
Software factories
IPC
Accessibility
Text and multilingual
support

AltStyle によって変換されたページ (->オリジナル) /