Q

業務システムをWindows 95からWindows 2000に移行することを考えています。Windows 95で利用していた外字もWindows 2000に移行しないといけないのですが,方法がよく分かりません。マイクロソフトはサポート対象外にしていると聞いたのですが,何かよい方法はないのでしょうか?

A

外字という日本独自の「文字」の存在意義自体がなかなか理解されないこともあってか,残念ながら,マイクロソフトでは外字の移行時に不具合が発生してもサポートしないというスタンスです。

 ただしサポート外ですが,移行の手順自体は提供されています。

 まず,Windows 9xマシンから外字ファイルを取り出します。外字ファイルの実体は通常C:\WindowsにあるEUDC.EUFとEUDC.TTEというファイルになります。このファイルを取り出して保存しておいてください。TTEファイルが外字ファイルの本体で,EUFファイルが外字の再編集に必要な情報になります。TTEファイルのみでEUFファイルがないと,外字エディタが起動できないなどの障害が発生しますので,必ず両方を取り出してください。

 なお,フォントごとに外字を割り当てている場合は,通常C:\Windows以下に対応するTTEファイルとEUFファイルが保存されていますので,これらのファイルも取り出してください。


図1●EUDC.TTEファイルを上書きしようとすると発生するエラー・メッセージ

 次に,これらのファイルをコマンド・プロンプトを利用して,%SystemRoot%\Fontsディレクトリ(通常C:\WINNT\Fonts)にコピーします。なおコピー先に既に同じ名前の外字ファイルが存在する場合,図1のようなエラー・メッセージがでて,EUDC.TTEファイルのコピーに失敗します。この場合は,コマンド・プロンプトで

 ren EUDC.TTE EUDC.TT0

 のようにしてファイル名をあらかじめ変更してからコピーしてください。また,エクスプローラ上ではFontsディレクトリが特別なディレクトリとして扱われるため,そこでは単純なファイルのコピーができません。この操作は必ずコマンド・プロンプト上で行う必要があります。


図2●外字フォントの読み込み手順

 コピーが終了したら,「外字エディタ」を起動します。起動すると,「前バージョンの外字フォント ファイルを取り込みます」と書かれたダイアログが現れた後,「コードの選択」画面が出現します(図2)。これをキャンセルしてから,メニューにある[ファイル]-[フォントのリンク」をたどっていくとダイアログが現れますので「すべてのフォントにリンクする」を選択して[OK]を押してください。

 なお外字エディタ上で作業を行う代わりに再ログオンを行っても構いません。これで,移行は完了です。

外字配布を自動化したい
 このように単一PCでの外字移行は比較的簡単ですが,大量のPCに外字を導入する場合,このように手作業が発生する移行方法は,決して望ましいものとはいえないでしょう。

 こうした移行を支援するフリー・ソフトウエアとして筆者が利用しているものに「外字コピー屋さん(http://www.eastvalley.or.jp/cpeudc/)」があります。ログオン・スクリプトなどでの利用も想定している非常に使い勝手がよいツールです。詳細は上記ホームページを参照してください。

 なお自分で同様の処理を行いたい場合は,図3のようにレジストリの修正が必要です。標準の外字を関連付けする場合は,HKEY_CURRENT_USER\EUDC\932の下にある「REG_SZ: SystemDefaultEUDCFont」の値としてフォント・ファイル(TTEファイル)へのパスを指定します。個別のフォントに対して外字を関連付ける場合は,フォント名と同じ名前の値を作成して対応させる外字フォントへのパスを設定します。後はログオン・スクリプトなどでこの処理を自動化するようにしてください。


△ 図をクリックすると拡大されます
図3●外字に関するレジストリの設定画面
高橋基信