Uniscribe

Uniscribeは、Microsoft Windowsにおいて、Unicodeによって符号化されたテキストを描画するためのレンダリングサービスである。「USP10.DLL」というダイナミックリンクライブラリとして実装されている。USP10.dllは、Windows 2000およびInternet Explorer 5.0以降、一般に利用できるようになった。さらに、Windows CE環境ではバージョン5.0からUniscribeに対応した。

 解説 

Uniscribeの主な目的は以下のとおり:
 テキストの入力列を表示列にする。
 文脈に応じてグリフの置換を行う (例えばアラビア文字での、語中の位置に依存する字形など)。
 テキストの書字方向 (LTR [左から右] かRTL [右から左] か、横書きか縦書きか、など) に基づき、表示されるテキストを並べ替える。

 USP10.dll 
USPは、Unicode Scripts Processor の略号である。以下に、usp10.dllの主なバージョンと、それぞれの配布の形態を示す。
バージョン番号ファイルサイズファイル日付バンドルされたソフトウェアこのバージョンでの新仕様1.626.7601.17105611 KiB2010年9月30日Windows 7 SP1 RC追加多言語面で未定義のコードポイントおよび私用面が表示されない問題を修正。1.626.7600.20602623 KiB2010年1月7日Microsoft Office 20101.626.7600.16385612 KiB2009年7月14日Windows 7 RTM異体字セレクタに対応。一方、どういうわけか追加多言語面の当時（Unicode 5.1の時点で）未定義であったコードポイントの文字、および私用面（Unicodeの第15面、第16面）の文字が表示できなくなってしまっている。そのためUnicode 5.2以降に完全対応できない。1.626.7100.0612 KiB2009年4月22日Windows 7 RC1.626.6001.16510491 KiB2007年4月18日Windows Server "Longhorn" Beta 3   1.626.6000.20581491 KiB(502,784 バイト)2007/04/19 02:15:55 UTCWindows Vista Hotfix KB936176   1.626.6000.16386491 KiB(502,784 バイト)2006/11/02 09:44:03 UTCWindows Vista RTM  PR-37に対応: インド系文字におけるZero Width Joinerの使用を明確化https://unicode.org/review/pr-37.pdf1.626.5756.0491 KiB2006年10月13日Microsoft Office 2007 RTM1.615.5384.4484 KiB2006年6月17日Windows Vista Beta 21.614.5315.0454 KiB2006年3月13日Microsoft Office 2007 Beta 21.613.5291.0481 KiB(492,544 バイト)2006年1月4日Microsoft VOLT 1.2  - Windows Vistaに同梱1.609.5219.0469 KiB2005年8月17日Microsoft Office 12 Professional beta 11.601.5022.8428 KiB2005年1月7日Sinhala Enabling Pack for XP 0.42シンハラ語対応1.473.4067.0415 KiB(424,960 バイト)2004年10月22日MSN groupsのMicrosoft VOLT discussion forum1.471.4063.0415 KiB(424,960 バイト)2004年2月4日Microsoft Office 2003クメール文字サポートを提供。1.471.4030.0404 KiB(413,184 バイト)2004年4月15日Google Earth1.453.3665.0? KiB(? バイト)??チベット語サポートを提供。1.422.3790.1830355 KiB (364,032 バイト)2005年3月30日Windows Server 2003 SP11.421.3790.0  353,280 バイト  2003年3月25日  Windows Server 20031.420.2600.2180397 KiB(406,528 バイト)2004年8月12日Windows XP SP2 Build 2180ベンガル語とマラヤーラム語に対応1.409.2600.1106331 KiB(339,456 バイト)2002年8月29日Windows XP SP1 Build 11061.0408.2600.1020331 KiB (339,456 バイト) 2002年4月17日Internet Explorer 6.0.2800.1106 (SP1)1.407.2600.0331 KiB(339,456 バイト)2001年8月17日Windows XPターナ文字、グジャラーティー文字、カンナダ文字、グルムキー文字 (パンジャーブ語)、シリア文字およびテルグ文字1.405.2416.1317 KiB(325,120 バイト)2001年1月15日Microsoft Office XPヘブライ語サポート1.400.2411.1 ?? Internet Explorer 61.325.2195.6692からアラビア語サポート1.325.2195.6692308 KiB(315,664 バイト)2003年6月19日Windows 2000 SP4 (?)1.325.2195.1340308 KiB(315,664 バイト)2000年7月21日Windows 2000 SP1 1.325.2180.1316 KiB (323,584 バイト)2000年6月8日Windows Me307 KiB(315,152 バイト)2000年4月26日Microsoft Global IME for Office XP307 KiB(315,152 バイト)1999年11月30日Internet Explorer 5.5 release, SP1 & SP2 1.175.0.1268 KiB(274,432 バイト)1999年5月5日Windows 98258 KiB(264,976 バイト)1999年1月28日Internet Explorer 5.011.163.1890.1262 KiB(268,288 バイト)1998年9月22日Multilanguage Text Layout and Complex Scripts (MTLCS) のスナップショット

 更新するには 

UniscribeはWindows 2000以上で利用可能だが、その後のバージョンアップでさらに機能が追加されている。つまり、さらに多くの用字系 (文字体系) に対応できる。初期の更新では、アラビア語とヘブライ語に、その後タイ語とベトナム語に対応した。Windows XP以降は、さらに南アジアおよびアッシリアの音素文字に対応した。

より新しいusp10.dllを特定のアプリケーションでだけ使えればよいのであれば、より新しいバージョンのファイルをそのアプリケーションのディレクトリにコピーすればよい。

 参考資料 

 Uniscribe (英語)
 Microsoft Typography (英語)
 Uniscribe at MSDN (英語)
 国際SIL. Uniscribe versions (英語)

 外部リンク 
 How to update usp10.dll at Windows 2000 (英語)
 FAQ about usp10.dll (英語)
 Uniscribe versions (英語)

Uniscribe
Category:Unicode