• ベストアンサー

「ボタンの文字化け現象」の真の原因は?

例の超FAQである、最大化ボタンなどが数字やその他の文字に文字化けしてしまうという問題についての質問です。 ただし、私の知りたいのは、解決方法ではなく(これは熟知しています)、この問題の原因であるフォントキャッシュの破損が、どういうきっかけで発生するのかということです。 私は、職場と自宅を含めて10台以上の Windows95/98 マシンを使用していますが、様々なアプリを動かしているにもかかわらず、数年間未だかつて、このような文字化けを経験したことがありません。ここのサイトでも、あれほど繰り返し質問されているのに… Microsoft のサイトを見ても、「Windows98 および Windows98SE においてソフトウエア的にフォントを追加するアプリケーション・ソフトウエアを使用している場合、特定条件下において TrueType フォント・キャッシュに正しくないキャッシュ・データを書き込む場合があるためです。」とありますが、それ以上のことはわかりません。 皆さんの中で、「こういう環境でこういうアプリを動かしたら、あの文字化けが発生した」という情報をお持ちの方がいらっしゃいましたら、詳細を教えていただければと思います。

質問者が選んだベストアンサー

  • ベストアンサー
  • sekiya-h
  • ベストアンサー率61% (1543/2514)
回答No.2

まず、一般論 ●ttfcacheが壊れる原因 利用フォント数が多くなると ttfcache が壊れやすい様です。 ▼「 Fonts 」フォルダの上限は、Microsoftによれば、 ・ファイル数: およそ、1000個。(95・98・MEの場合) http://support.microsoft.com/support/kb/articles/Q131/9/43.ASP ・サイズ  : NTだと46MB。SP5・6以上は、128MB。         2000は制限なしです。 http://www.microsoft.com/JAPAN/support/kb/articles/JP274/3/22.HTM 95・98・MEは、およそ200MBくらいまでのようです。 この上限を超えるか、それに近いものだと、「 Fonts 」フォルダの機能が働かなくなるようです。 >こういう環境でこういうアプリを動かしたら 最近は発生していませんが、MS Publisher 等を利用し、多くのフォントを使用しての作業後、次回そのファイルを開く時に「○○フォントがありません」と言うようなトラブルは多発していました。メモリーも標準のまま、リソース対策もあまりされていない状態で、PCが安定していなかった為とも思います。メモリー/リソース対策をして Norton SystmWorks で定期的にメンテナンスをするようになってからは、殆ど発生していません。尚、_ □ × の文字化け等、Publisher 以外での文字化け(エンコードは別)は、今のところ経験しておりません。 対策: ・普段利用しないフォントはフォントフォルダーから削除するか、他にフォルダーを作り退避。 ・頻発する場合、以下の文をUTOEXEC.BAT に挿入します。 (Windows 95/98/98SE)   ATTRIB -H %WinBootDir%\ttfCache   DEL %WinBootDir%\ttfCache 注意 : この操作により起動ごとに ttfCache の削除が行われるため、起動時のパフォーマンスが多少劣化する場合があります。なお、Windows Me では、この手順は使うことができません。  ↓ http://www.mouse-jp.co.jp/support/faq/metrouble/met-50.htm 「必要最小限の英数フォントを展開した後、ttfCache ファイルに書き込み禁止属性をつけることで、キャッシュの破損を防ぐことができる。 」という対策もありますが、この対策の場合、本来の ttfCache の働きは?と疑問は残ります。

ysk6406
質問者

お礼

ご回答ありがとうございます。 > 95・98・MEは、およそ200MBくらいまでのようです。 > この上限を超えるか、それに近いものだと、「 Fonts 」フォルダの機能が働かなくなるようです。 なるほど、こういう要因もあったのですね。 私が扱っているPCは大抵 100MB 前後なので、問題なかったということですね。今後フォントを追加する時は、気をつけるようにします。 > なお、Windows Me では、この手順は使うことができません。 WINSTART.BAT に入れておくという方法は、この場合使えるでしょうか?(Me でも WINSTART.BAT の機能はあるのかな?)

その他の回答 (2)

  • h_sakaki
  • ベストアンサー率18% (175/970)
回答No.3

私の場合は、文字化けは起こりませんでしたが、一太郎で、使えるフォントが極端に少なくなり、(特にDF行書体) コントロールパネルでフォント一覧を見ると出てくるが、一太郎やワードでは選択の一覧に出てきませんでした! その前に、何度かワードがフリ-ズしましたので、それが原因だったのではないかと思っています。 私のは、セーフモードだけではダメで。DOSから削除したら、復活しました。

ysk6406
質問者

お礼

ご回答ありがとうございます。 こういう場合は、やはり搭載フォントが多くなりすぎたためにおかしくなったんですかね? 一太郎や Word は、標準インストールでも結構たくさんのフォントが入りますから。 先の回答で、Win9X の場合フォント容量が 200MB 程度でおかしくなる、というのがあったので、これを意識してフォントを管理したいと思います。

noname#25358
noname#25358
回答No.1

 えと。つまりは、アプリケーションの不具合です。  俺自身もそういうアプリにはめぐり合ったことはありませんが、マイクロソフトの解説を解釈すると、 1.キャッシュはウィンドウズが管理しているわけではなく、アプリケーションが操作可能である。 2.ただしアプリケーションは、キャッシュを特定の操作に従い、正しく操作する必要がある。 3.正しくない操作をするとキャッシュは破壊される。  ということになります。  たとえば、ysk6406 さんがプログラムを開発したとします。ワープロソフトです。  で、このソフトに自分で作った「ysk6406明朝」というフォントを添付し、パソコンにワープロをインストールすると自動的にこのフォントも追加されるようにしたとします。  ところがこのインストーラーに不具合があり、 1.フォントの一覧を取得する 2.一覧の最後に新しくフォントを追加 3.追加したことをウィンドウズシステムに通達  という手順を踏まなければならないところを、3番を怠ってしまったとします。  するとウィンドウズは新しいフォントを認識できず、新しく追加された部分を「破壊された」と誤解しまい、けっきょく文字化けが起こります。  まあ、実際にはこれだけではないでしょうけど、だいたいこんな感じで破壊が起こってるはずです。

ysk6406
質問者

お礼

ご回答ありがとうございます。 なるほど、フォント関連の操作で標準手順を守っていない場合に可能性がある、ということですね。 有益な情報を、ありがとうございました。

関連するQ&A