フォントキャッシュの破損

 

Windows9x/Me のフォントに関して発生する主なトラブルについて説明を
します。



■ フォントキャッシュの破損

フォントトラブルの多くはフォントキャッシュファイル (ttfCache) の破損で発生します。
ttfCache が破損すると以下のような症状が発生します。

・ウィンドウ右上の最大化や最小化ボタンが数字などになる
・ドロップダウンリストの▼やスクロールバーの矢印が数字やおかしな文字になる
・アプリケーションで選択できるフォントが減る
・フォントをインストールできない
・フォントをインストールしても、アプリケーションのフォントリストに反映されない
・フォントが横向きになる

ttfCache ファイルは削除すると次回起動後に再作成されるので、このファイルを削除する
ことで問題を解消できます。

以下の手順を実行してください。

1.[スタート]−[検索]−[ファイルやフォルダ] をクリックします。
2.名前に ttfCache と記入し、「検索開始」ボタンをクリックします。
3.検索されたファイルを削除します。
4.[スタート]−[Windows の終了] で Windows を再起動します。

  

ttfCache が検出されない場合は、システムファイルを表示しない設定になっているので、
以下の作業を実施してから再度検索して下さい。

1.エクスプローラを起動します。
2.メニューバーの [表示]−[フォルダオプション]
  (もしくは [ツール]−[フォルダオプション])をクリックします。
3.[表示] タブをクリックし、「○すべてのファイルを表示する」にチェックします。
4.「OK」をクリックし、フォルダオプションを閉じます。



手動で ttfCache ファイルを削除しても、メモリー上にある破損したキャッシュが
書き戻されてしまい、回復に失敗することがあるので、MS-DOS モードで起動してから
削除するか、一度 Safe モードで起動すると確実に再作成できます。
(Safe モードで起動するとキャッシュファイルは自動的に再作成されます。)

この方法を 1 回実行してもトラブルが解消しない場合は、2、3 回実行してください。

  


■ MS-DOS モードで削除する方法

1.[スタート]−[Windows の終了] から「MS-DOS モードで再起動する」を選択して
 「 OK」をクリックします。
2.コマンドプロンプトで以下のコマンドを実行します。
  C:\WINDOWS>attrib -h ttfCache
  C:\WINDOWS>del ttfCache
  C:\WINDOWS>exit



■ Safe モードで起動する方法

1.PC の電源を投入します。
2.メモリーカウントが終わったあたりから Ctrl キーを押し続けます。
3.スタートアップメニューが表示されるので、「Safe Mode」を選択します。
4.Windows が Safe モードで起動したら、Windows を再起動します。
  (Safe Mode で起動時に特に実行する作業はありません。)

Safemodeでは特に必要な作業はありませんので、そのままパソコンをを終了し
ます。この時に、「再起動」ではなく「終了」を選択して、2〜3秒立ってか
ら電源を入れてください。

safeモードは一度でうまくいかない場合がありますので、3〜4度繰り返して
みてください。



■ Marlett フォント

ここまでの作業を行っても、最大化ボタンや最小化ボタンが化けたままの場合、
Marlett フォントが削除されているか、破損している可能性があります。

フォントフォルダに Marlett フォントが見つからない場合、次の手順で
再インストールすることができます。

1.[スタート]−[ファイル名を指定して実行] で SFC を起動します。
2.「インストールディスクからファイルを1つ抽出する」を選択し、
  Marlett.ttf を指定して「開始」をクリックします。
3.復元元として Windows98 CD-ROM の Win98 フォルダを、保存先として
   C:\ を指定して、「OK」をクリックします。
  (メーカー製 PC で Windows98 CD-ROM がない場合は、
  復元元として C:\Windows\Options\Cabs フォルダを指定します。)
4.[スタート]−[設定]−[コントロールパネル] から「フォント」フォルダを開きます。
5.[ファイル]−[新しいフォントのインストール] をクリックします。
6.「フォルダ(D)」で C:\ をダブルクリックすると、フォントの一覧に
  Marlett (TrueType) が表示されるので、これを選択して「OK」をクリックします。



■ ttfCache ファイルが破損するのを防ぐには

Windows は、TrueType フォントの表示を高速化するために、展開済みのフォントデータを
ttfCache ファイルに保管します。

しかし、日本語版 Windows は、英語版に比べて使用される文字の数が多いため、
あまり有効な効果は得られません。

ですから、必要最小限の英数フォントが展開された後に、ttfCache ファイルに
書き込み禁止属性をつけることで、キャッシュの破損を防ぐことができます。

1.上の記述を参考にして ttfCache ファイルを検索します。
2.検索された ttfCache ファイルを右クリックして [プロパティ] をクリックします。
3.「読み取り専用(R)」にチェックを入れて、「OK」をクリックします。



■ フォントフォルダの破損

フォントフォルダに問題があると、フォントのインストールができなくなります。

例えば、フォントフォルダのメニューバーから [ファイル]−[新しいフォントのインストール]
がなくなります。

多くの場合、Windows\Fonts フォルダのシステム属性が解除されているだけなので、
以下の作業で回復させることができます。

1.[スタート]−[Windows の終了] から「MS-DOS モードで再起動する」を選択して
  「OK」をクリックします。
2.コマンドプロンプトで以下のコマンドを実行します。
  C:\WINDOWS>attrib +s fonts
  C:\WINDOWS>exit

また TweakUI の [修復] タブからもフォントフォルダを修復できますので、
TweakUI が導入されている場合はこちらの方が簡単でしょう。



■ フォントレジストリの破損

インストールされたフォントはレジストリに登録されます。

レジストリのフォント関連キーが破損すると以下のような症状が発生します。

・フォントフォルダにあるはずのフォントがない
・フォントをインストールしようとすると、「すでにインストールされています」といわれる
・アプリケーションのフォント選択リストに TrueType フォントがない


このような症状が発生した場合、次の作業でレジストリを修復して下さい。

1.[スタート]−[ファイル名を指定して実行] から fontreg を実行します。
  (表面的には何もおきません)
2.コントロールパネルの [フォント] を開きます。
3.フォントフォルダの [ファイル]−[新しいフォントのインストール] をクリックします。
4.フォルダで Windows\Fonts をダブルクリックします。
5.「すべて選択」ボタンをクリックし、「OK」をクリックします。



■ Windows95/98 TrueType フォント数の限界

レジストリの限界

Windows9x の1つのレジストリキーサイズは最大 64KB です。

レジストリの Fonts キーはシステムに登録された全てのフォント名とフォントファイル名を
格納するために、マイクロソフトの試算では 1000 から 1500 程度のフォントが
限界とされています。

実際には HKEY_LOCAL_MACHINE \Software \Microsoft \Windows \CurrentVersion \Fonts キー
をエクスポートし、エクスポートファイルサイズで現在のおおよその目安を得ることができます。

GDI (グラフィックエンジン) の限界

GDI はフォントファイル名すべてを格納するエリアとして 10KB を保持しています。
フォントファイル名の長さの平均を 10 バイトと仮定すると、約 1000 のフォントが限界になります。



本日はこれにて終了です。