概要
Excel 5.0 では、内部で使用されるフォントに標準明朝が使われます。ところが、オプションでサードパーティより発売されている Microsoft(R) Windows(TM) Version 3.1 (以下 Windows 3.1、もしくはバージョンに関りがないときには単に Windows) 用フォントをインストールすると、これらのフォントが別のフォントに変わったり、表示が汚くなったり、まったく表示されなくなることがあります。本文書は、これらの原因とその対応策について紹介するものです。この問題は大きく 2 つの原因が考えられます。
-
標準明朝がインストールされていない
-
市販のフォントが間違えて選択されている
標準明朝がインストールされていないケース
この問題は比較的簡単です。Windows 3.1 にはどのメーカーのものにも「標準明朝」
と「標準ゴシック」の 2 つの WIFE フォントがインストールされています。WIFEフォントとは、日本語などの 2 バイトフォントを扱うための機構の 1 つである WIFE の仕様に基づいて作られたフォントです。Excel 5.0 はダイアログ ボックスやツールバーのスタイル ボックスやフォント ボックス、ワークシート見出しなどのいろいろな箇所でこのフォントを使用しています。
このフォントがインストールされていない (削除されている) と、最も近いフォントが選択され、代用されます。しかし「最も近い」とは言っても、お客様の環境によってインストールされているフォントは異なる可能性がありますので、何が表示されるかはわかりません。最もひどいケースでは、適当なフォントが見つからないときに、メニューなどで使われている System フォントが選択されるときです。このフォントは 1 つのサイズしか持っていませんので、それより小さなサイズや大きなサイズのフォントを要求すると、ソフトウェアでその大きさを作りだすため、大変汚くなります。
標準明朝がインストールされているかどうかを確認するには、「コントロール パネル」の「フォント」をダブルクリックして「フォントの設定」ダイアログボックスを表示し、[組み込まれているフォント] リストボックスにそれがあるかどうかで行えます。もし削除されていたら、同じダイアログ ボックス内の<追加> ボタンをクリックして [フォントの追加] ダイアログ ボックスを表示し、[ドライブ] と [ディレクトリ] リスト ボックスで Windows 3.1 がインストールされているディレクトリの中にある System ディレクトリの中を指定してください。[フォントの選択] リストボックスに「標準明朝」があればこれを選択し、<OK> ボタンをクリックすればインストールできます。もし無ければ状況は複雑かもしれませんので Windows 3.1 を上書きでインストールしなおした方が早いかもしれません。その後、Excel 5.0 を再起動させて現象が回避されたかどうか確認してください。
市販のフォントが間違えて選択されているケース
この問題のときには、若干複雑になります。これは Excel 5.0 のフォントの選択に対する柔軟性からくる問題です。まず、Windows 3.1 のフォントの選択のメカニズムからごく簡単に紹介します。詳しくお知りになりたい方は専門の書籍を参照ください。
Windows でフォントを表示させるには、Windows アプリケーションが Windows に対して使用したいフォントを要求します。この要求はフォントの属性である数多くのパラメータで指定します。これらをすべて指定すれば完全なフォントの指定が行えますが、お客様が使われる環境やインストールされているフォントの種類はまちまちですので、かなり省略して指定するのが一般的です。この指定でフォントが見つかれば問題は無いのですが、もし見つからなければまったく表示しないか、インストールされているフォントで似ているものから強引に作成する方法があります。これらはアプリケーションのデザインに任されています。Microsoft(R) Word for Windows(TM) Version 5.0 (以下 Word 5.0) のような印刷物のイメージが重要なアプリケーションでは、パラメータは比較的細かく指定しているのですが、Excel 5.0 はこの点でルーズな指定になっています。このため、指定に適合するインストールされたフォントが複数存在することもでてきます。特に Microsoft(R) Excel for Windows(TM) Version 4.0 では発売当初、フォント市場が小さかったために、よりルーズな指定しかしておりません(この点 Excel 5.0 では Word 5.0 程ではないにしてもより厳しく指定しています) 。
インストールされているフォントとそれを駆動するドライバは、WIFE 機構の制御下に置かれ、WIFEMAN.INI の中に記述されます。Windows アプリケーションがフォントを要求すると、WIFEMAN.INI に記述された順でフォント ドライバが検索/決定され、その後同じく WIFEMAN.INI に記述された順でフォントが検索/決定されます。つまり、複数のマッチするフォント ドライバおよびフォントがあったときには WIFEMAN.INI 内のフォント ドライバおよびフォントの順序によって最終的に決定されるフォントが異なることになります。
以下は、WIFEMAN.INI の一例です。
[CodeRanges]
ShiftJIS=80(81,9f,e0,fc)
[FontDrivers]
JISフォントドライバー=C:\WIN31J\SYSTEM\JISFONTR.FOD
[FontPackages]
標準明朝 (all res)=JISSMR.FON,JISフォントドライバー
標準ゴシック (all res)=JISSGR.FON,JISフォントドライバー
[DefaultFont]
PreCacheCharacters=取消再試行書込禁止読出共有違反準備
FontDriver=GSYS16.FOD
FontPackage=GSYSTAG.FON
[EUDC_Environment]
FontDriver=USERFONT.FOD
FontPackage=USERFONT.FON
[EUDC_Ranges]
ShiftJIS=80(f0,f9)
この例は、マイクロソフト版の DOS/V 用 Windows 3.1 の標準的な一つの例です。[ ] で囲まれた名前から次の [ ] で囲まれた名前までを「セクション」と呼びます。
上記の例では、
[CodeRanges]
ShiftJIS=80(81,9f,e0,fc)
が [CodeRenges] セクションと呼ぶことができます。
ここで注目するのは [FontDrivers] セクションと [FontPackages] セクションの 2つです。名前の通り、[FontDrivers] には WIFE フォント ドライバが、[FontPackages] セクションには WIFE フォントが定義されています。MS 明朝やMS ゴシックは TrueType フォントですので、ここには記述されません。もし、市販の WIFE フォントをインストールしたり、ジャストシステム社の一太郎(R) Ver.5 for Windows のような WIFE フォントを用意しているアプリケーションをインストールすると、これらのセクションに追加されます (同じフォント ドライバを使用するフォントを追加したときには、[FontPackages] セクションだけにフォントが追加されます。
ここで注意が必要なのは、フォントが選択される順は、上からではなく、下からになるということです。下にあるほうが優先されることになります。
本来表示されるべきフォントでは無く、別のフォントが表示されるのは、この順序を変えれば解決することがあります。以下、 WIFEMAN.INI の変更方法を紹介します。
以下にその手順を示します。
-
「メモ帳」を起動してください。
-
[ファイル] - [開く] コマンドで、Windows のディレクトリにある WIFEMAN.INI を開いてください。
-
[FontDrivers] と書かれた行の下に注目してください。Windows に標準でインストールされているフォント ドライバの記述があります。この名前はWidnows を出荷しているメーカーによって異なります。まずこれを特定してください。以下に主要 Windows の例を紹介します。
-
マイクロソフト版 (DOS/V 用、NEC PC-9801 用) :
JISフォントドライバー=C:\WINDOWS\SYSTEM\JISFONTR.FOD
-
日本電気版:
FontAvenueドライバ=C:\WINDOWS\SYSTEM\AVENUE.FOD
-
富士通版:
デバイスフォントドライバー=C:\WINDOWS\SYSTEM\JISROM.FOD
-
東芝版:
JISフォントドライバー=C:\WINDOWS\SYSTEM\JISFONTR.FOD
-
次に、3. で特定した行をそのセクションの最下行に移動させます。これには「メモ帳」の切り取りと貼り付けの機能を使います。具体的に説明しますと、その行 1 行を選択します。[編集] - [切り取り] コマンドで 1 行まるごと切り取ります。次にそのセクションの一番下の行にカーソルを移動させ、[編集] - [貼り付け] コマンドで貼り付けを行います。
-
同様に [FontPackages] セクションも書き換えます。このセクションには、[FontDrivers] セクションで設定されているフォント ドライバがサポートするすべてのフォントがリストされています。しかし、この中で変更が必要なのはどのメーカーの Windows であっても「標準明朝」と「標準ゴシック」で始まる 2 行です。以下に例を示します。
標準明朝 (all res)=JISSMR.FON,JISフォントドライバー
標準ゴシック (all res)=JISSGR.FON,JISフォントドライバー
この 2 行をまとめて [FontPackages] セクションの最後に移動します。
-
[FontDrivers] のときと同様に 4. で説明した方法を使って、5. で特定した 2 行をそのセクションの最下行に移動させます。
-
[ファイル] - [上書き保存] コマンドを実行後、[ファイル] - [メモ帳の終了] コマンドでファイルの保管とメモ帳の終了を行います。
-
Windows 3.1 を再起動させて、問題が回避されたかどうか確認してください。