業務システムのクライアントを Windows 95 から Windows 2000 に移行することを考えています。 Windows 95 で利用していた外字も Windows 2000 に移行しないといけないのですが、方法がよくわかりません。 マイクロソフト社のサポート外だとも聞いたのですが、何か方法はないのでしょうか?
外字という日本独自の「文字」の存在意義自体がなかなか理解されないこともあってか、残念ながら、マイクロソフト社では外字の移行時に不具合が発生してもサポートはしないというスタンスをとっています。
ただしサポート外ではありますが、移行の手順自体は提供されていますので、以下見ていきましょう。
まず、Windows 9x マシンから外字ファイルを取り出します。
外字ファイルの実体は通常 C:\Windows にある EUDC.EUF と EUDC.TTE というファイルになります。
このファイルを取り出して保存しておいてください。
TTEファイルが外字ファイルの本体で、EUFファイルが外字の再編集に必要な情報になります。
TTEファイルのみで EUF ファイルがないと、外字エディタが起動できないなどの障害が発生しますので、必ず両方のファイルを取り出してください。
なお、フォント毎に外字を割り当てている場合は、通常 C:\Windows 以下に、各フォントに対応する TTE ファイルと EUF ファイルが保存されていますので、これらのファイルも取り出しておいてください。
次に、これらのファイルをコマンドプロンプトを利用して、%SystemRoot%\Fonts ディレクトリ (通常 C:\WINNT\Fonts) にコピーします。 なおコピー先にすでに同じ名前の外字ファイルが存在する場合、図1のようなエラーメッセージがでて、 EUDC.TTE ファイルのコピーが失敗してしまいます。
図1: EUDC.TTEファイルを上書きしようとすると発生するエラーメッセージ
この場合は、あらかじめ
C:\WINNT\Fonts> ren EUDC.TTE EUDC.TT0
のようにしてファイル名を変更してからコピーを行うようにしてください。
また、 Explorer 上では Fontsディレクトリは特別なディレクトリとして扱われるため、単純にファイルのコピーを行うことができません。この操作は必ずコマンドプロンプト上で行う必要があります。
コピーが終了したら、「外字エディタ」を起動します。 起動すると、図2のようなダイアログが現れた後、図3のような「コードの選択」ダイアログが出現します。
図2: フォント取り込み時に現れるダイアログ
図3: 「コードの選択」ダイアログ
これをキャンセルしてから、メニューにある[ファイル]-[フォントのリンク」をたどっていくと図4のダイアログが現れますので、「すべてのフォントにリンクする」を選択して[OK]を押してください。 なお外字エディタ上で作業を行なう代わりに再ログオンを行なっても構いません。
図4: 「フォントのリンク」画面
これで、移行は完了です。
このように、単一PCへの外字の移行は比較的簡単ですが、この作業はユーザ毎に行う必要があります。
システムで大量のPCに外字を導入する場合、このように手作業が発生してしまう移行方法は、決して望ましいものとはいえないでしょう。
こうした移行を支援するフリーソフトウェアとして筆者が利用しているものに、「外字コピー屋さん(http://www.eastvalley.or.jp/cpeudc/)」があります。
ログオンスクリプトなどでの利用も想定している非常に使い勝手がよいツールです。
詳細はツールのホームページを参照してください。
なお自分で同様の処理を行いたい場合は、レジストリの修正が必要です。 標準の外字を関連付けする場合は、図5のように HKEY_CURRENT_USER\EUDC\932 の下にある「REG_SZ: SystemDefaultEUDCFont」の値としてフォントファイル (TTEファイル) へのパスを指定します。 個別のフォントに対して外字を関連付ける場合は、フォント名と同じ名前の値を作成して対応させる外字フォントへのパスを設定します。
図5: 外字フォントの割り当て
標準の外字として、%SystemRoot%FONTS\EUDC.TTE が、MSゴシックに対して、%SystemRoot%Fonts\MS1.TTE が割り当てられていることが確認できます。
後はログオンスクリプトなどでこの処理を自動化するようにしてください。