WindowsでのUnicode合成文字の処理

初版:2008/12/31 (水)

Microsoft VOLT(Microsoft Visual OpenType Layout Tool)の入手

  1. Microsoft VOLT(Microsoft Visual OpenType Layout Tool)を入手し、インストールする。
  2. スタートメニューのプログラムにできた「Microsoft VOLT」から「VOLT supplemental files setup」を実行し、任意のディレクトリ下(とりあえずc:\tmpなど)に解凍する。
  3. 出てくるものは以下の通り。
    • サンプルのフォントが2個。
      • デバナガリのグリフバーツが882個入ったMangal SampleなるMangal.volt.ttf(Ver5.00 2008/04/29)
      • アラブ系文字のグリフバーツが2923個入ったArabic Typesetting Sampleなるarabtype.volt.ttf(Ver5.01 2008/04/29)
    • usp.cab
      • このcabを解凍するとUSP10.dllが出てくる。
        USP10.dllはUniscribeの意。dllの正式名称はMicrosoft(R) Unicode script processorというらしい。

Unicode script processor

USP10.dllが、合成文字の処理を司るようだ。

私の環境のWindowsXPに入っていたものはver 1.0420.2600.5512 (xpsp.080413-2105)であった。

Microsoft VOLT 1.3(31 July 2008)版から入手できるUSP10.dllは、ver 1.0626.6001.18000 (longhorn_rtm.080118-1840))であった。

VOLTの画面見本

VOLTからMangal Sampleを開いて、各種メニューを見ると、以下のような感じになる。

VOLTの画面例1

VOLTの画面例2

VOLTの画面例3

VOLTの画面例4

VOLTの画面例5

VOLTの画面例6

VOLTの画面例7

VOLTの画面例8

VOLTの画面例9

USP10.dllのインストール方法

  1. 入手した新しいUSP10.dllをWinXPに入れるには、セーフモードでログイン。
  2. %Systemroot%\system32(デフォルトでc:\WINDOWS\system32)にあるUSP10.dllをリネームする。
  3. VOLTから抽出したUSP10.dllをコピーする。

これで、行けるはずなんだが、セーフモードでログインしてても、システムにフックされていてコピー不能。
Unlocker 1.8.7 for Windows 2000, XP, 2003 and Vistaでファイルロックを外すと、システムの基幹部分に関わるDLLなため、リブートがかかる。
困ったね…。ま、パソコン自作派は、普通、複数のマシンを所有しているはずだから(余ったパーツを見渡すと、あれ?もう一台できるな…と、気づくとか。)、起動ドライブを外して、サブマシンにデータドライブとして繋げて、コピーするのが一番楽そうな気がする。
一般の人は、そもそもOSのコアに関わる部分など、いじらないほうが良いわけだし。

Windowsのシステム全体では古いままのUSP10.dllを使い、Microsoft Officeだけでは新しいUSP10.dllを使う、という場合は割と簡単。DLLを置く場所は(デフォルトインストール通りなら)以下の通り。

  • For Office XP(2002), into .\program files\common files\microsoft shared\office10.
  • For Office 2003, into .\program files\common files\microsoft shared\office11.
  • For Office 2007, into .\program files\Microsoft Office\Office12.

面倒なので、実際には表示がどうなるかは試していない。

自己責任でどうぞ。

VOLTが入手できない場合は、(ライセンスの問題は自己責任として…)Vistaから当該DLLを持ってくるのが手っ取り早いような気もする。それでチャンと動くかどうかはしらんけど。

関連リンク