2006-07-03

Download Opera

OperaをWindows95で使う

 OperaはCPU能力が貧相な旧式のパソコンでも、きびきび使える優れたブラウザです。
 しかし残念ながら、Opera日本語版は、Windows95はサポート対象外になっているのです。
 旧式のトロいパソコンだからこそ、安定してきびきび動くWindows95が手放せない人が多いのではないでしょうか。それなのにOperaが使えないとは…

 ちまきは現在、所有パソコンをWindows95とWindows2000のデュアルブートで使用しています。比率としてはWindows95の使用の方がやや多く、当然ネット接続もWindows95で行う事の方が多いです。
 パッチの提供も中止され、不安を抱えつつ使用しなければならないInternet Explorer 5.5や、起動こそ早いものの使用感がぬめぬめしているFirefoxを使う気にはなれず、もっぱらOperaを使用しています。

「OperaをWindows95で使いたい」そんな要望がまだまだ結構ある事をこのほど知りましたので、このページをまとめてみました。

1. OperaがWindows95だとダメなわけ

 Opera社サイトで配付されている素のままのOperaをWindows95で使うと、少しブラウジングをしただけで簡単に不正終了してしまう事に気づくと思います。

サンプル
Opera&Windows95で落ちるページ
サンプルのソース
<span style="font-family:verdana">(  ̄´Д` ̄)</span>
Operaが異常終了した時の画面。GDI.EXEエラーと表示される。
「このプログラムは不正な処理を行ったので強制終了されます。」「OPERA の一般保護違反です。」「モジュール : GDI.EXE」

 どうにもこうにも治らないものだから、Opera社はVer7からはついに対応OSから日本語Windows95を外してしまいました。(英語版ではWindows95に対応している)

 この不正終了の原因は、Windows95のフォントの扱いにあります。使用中のフォントには収録されていない文字を無理矢理表示しようとして正体を見失う、と言う事の様です。
 Opera社の見解によると、これはWindows95側のバグであって、Opera側では対策の取りようがないそうです。

 Windows95は、Shift_JISからUnicodeへと移行する過渡期のOSで、Unicodeの扱いがちょっと弱いのでしょう。一方、OperaはUnicode対応にする事によって多国語対応のブラウザになりました。多分、その辺の絡みから、Windows95の日本語環境では使い物にならないのではないかと思います。

2. 対策をすれば使える

対策にはふたつの段階があります。

2.1. MSゴシックとMS明朝を取り換える

 Windows95添付のMSゴシックMS明朝にはUnicodeの扱いに一部不備があるので、正常なフォントに取り換えてしまいます。
 かつてはMoonStone'S Laboratoryで、Windows95のMSゴシックとMS明朝にパッチ当てをしてしまうプログラム(Opera Japanese Starter Kit)を配付していましたが、現在は公開されていません。(うちのHDにはあるけれど)

  1. Windows98以上に添付されているMSゴシックとMS明朝のフォントファイルを調達する
    Windows98以上であれば、WindowsXPのものでも大丈夫の様です。ちまきはWindows2000のものを使いました。
  2. 調達して来たMSゴシックとMS明朝のフォントファイルで、Windows95のフォントファイルを上書きしてしまう。
    Windows95稼働中はフォントも使用中なので、上書きはできません。
    起動中に[f8]を押し、コマンドプロンプトモードで起動して、copyしてやります。
    次↓の入力例は、D:\に調達して来たフォントを仮置きした場合の例です。
    C:\>copy d:\msgothic.ttc windows\fonts
    msgothic.ttc を上書きしますか (Yes/No/All)?y
    C:\>copy d:\msmincho.ttc windows\fonts
    msmincho.ttc を上書きしますか (Yes/No/All)?y
    C:\>
  3. ttfcacheの削除をします。
    フォント上書き後、これを削除してからでないとWindows95を起動してはいけません。
    ttfcacheはc:\windowsにある隠しファイルです。attribで隠し属性を解除してから削除します。
    C:\>cd windows
    C:\WINDOWS>command\attrib -h ttfcache
    C:\WINDOWS>del ttfcache
    C*\WINDOWS>
  4. Windows95を起動する。

 日本語のページで落ちる場合の多くは、特殊な実態参照文字の表示を試みての事が多い様です。MSゴシックとMS明朝を取り換えてしまう事により、この現象がほとんど起きなくなります。(よっぽど特殊な文字がそのページに書かれていたら、これでもやっぱり落ちるみたい)

2.2. 半角フォントを表示させない

 上記のフォント取り換えでも、主に海外のサイトや、日本語でもデザインに凝ったサイトになると、やっぱり突然落ちてしまいます。
 Operaはおバカさんなので、たとえ指定されたものが半角フォントであったとしても、無理矢理そのフォントで全角でも何でも表示しようとして、Windows95のバグを引っかけてお亡くなりになってしまうのです。

2.2.1. Operaの環境設定で

 Opera6の頃はユーザー代表の手により日本語化が行われていて、日本語向の設定の書き換えがていねいでしたが、Opera7以降は日本語向設定に漏れが多いです。日本語版を使用している人でも、フォントが日本語向設定になっているか、忘れずに点検して下さい。
 英語版Operaを日本語化して使おうと思っている人も、きちんと設定をして下さい。

2.2.1.1. Operaの設定画面で
  1. Operaのフォント設定画面を開く
    ファイル>設定>フォント (6.0〜7.23)
    または
    ツール>設定>フォント (7.50〜7.54)
    または
    ツール>設定>高度な設定>フォント (8.0〜)
    で開きます。
  2. フォント設定の点検
    そこに表示されているフォント名の中に、日本語フォントでないものがあれば、全部設定し直して半角フォントを駆逐します。
    カーシブにComic Sans MSを、ファンタジーにImpactが指定されていても大丈夫みたいですが、不安ならこれも適当な日本語フォントに指定し直してしまいましょう。(カーシブ→HGP創英角ポップ体、ファンタジー→HGP創英角ゴシックUB にするのがよいでしょう)

 実はOperaの表示フォントを決定づけているのは、これだけではありません。Operaをインストールしたフォルダ内にあるStylesフォルダの中に、たくさんの表示用cssがあって、そこでたくさんの半角フォントが指定されているのです。

2.2.1.2. Stylesフォルダのcss
  1. cssファイルをテキストエディタで開く
    Stylesフォルダ、および、そのサブフォルダにあるcssファイルの全てを、テキストエディタなどで開く。全角文字を入力しなければ、UTF-8対応エディタでなくても構いません。
  2. 1行1行点検して、半角フォントの指定を削除する。
    全てのフォント名の設定を、serif, sans-serif, monospaceの3種類のみにしてしまいます。
    フォント名は「,」で区切る事によって複数指定する事ができ、たいていの場合、一番最後に安全のためにserif等の一般名が書かれています。
  3. もののついでに、フォントの大きさも、日本語向に直しておくと幸せになれます。
    ちまきは、pxなら4pxアップ、ptなら2ptアップさせています。
修正例1
font-family: Lucida Console, Courier New, monospace !important;

font-family: monospace !important;
修正例2
font: 18px/1.4kbd normal normal Sassoon, Arial, Helvetica, sans-serif !important;

font: 18px/1.4kbd normal normal sans-serif !important;

 修正済のStylesフォルダを、ここに置いておきます。

2.2.2. ArialとVerdanaを使用不可にする

 上記2.2.1.の対策はOperaがデフォルトで使うフォントの設定です。サイトの方でフォントの指定がされていた場合は無力です。
 見ていると、Operaが落ちる時は、ほとんどの場合がArialVerdanaが指定されていた時です。その他のフォント(georgiaTimes New Roman等)でも落ちる事はあるのですが、とりあえずこのふたつのフォントの表示を抑止してしまうだけで、ほぼ実用レベルとなります。

 方法はみっつあります。

2.2.2.1. 方法1 ArialとVerdanaをシステムから削除してしまう。

 かつてちまきが使っていた方法です。
 海外のソフトの中には、これらのフォントは必ず入っているものと仮定して作り込まれたものがあり、表示が変になってしまうものがあります。
 Firefoxでは、フォントがないのに無理矢理表示しようとして落ちるケースが出て来ます。
 Excelの動作が少々不安定になります。

2.2.2.2. 方法2 ユーザースタイルシートを使う

 Operaの一大特徴であるこの機能を使えば、常に私たち閲覧者が選択した任意のフォント以外は使用不可にしてしまう事ができます。
* { font-family: 'MS Pゴシック' !important }
これを書き込んだcssを用意して(サンプルをダウンロード→operaw95.css)、ユーザーcssに指定し、次の様な設定にします。

Operaの設定画面。「作成者モード」で「ユーザースタイルシート」を有効に設定。

 ひとつしかフォントが選べないので、日本語のサイトでも味気ないものになったり、表示が崩れたりする場合があります。

 こんな設定もアリかも知れません。

Operaの設定画面。「作成者モード」はデフォルトのままで、「ユーザーモード」で「作成者css」と「作成者フォントと配色」を有効に設定。

 この様な設定にしておいて、落ちるページに出会ったらユーザーモードを使う様にするのもいいでしょう。

2.2.2.3. 方法3 Proxomitronを使う

 かつてちまきが使っていた方法です。

 Proxomitronを使ってArialやVerdanaの文字列を、sans-serifに書き換えてしまってからOperaに読ませると言う方法です。

 難易度が少々高いし、サイトの表示が遅くなるのですが、上記ふたつの方法よりも不具合が少なくて確実な方法ですので、スキルがある人は挑戦してみて下さい。

 ちまきが使っているパターン設定ファイルを、ここに置いておきます。→o95cfg.zip

3. その他の対処法

 現在ちまきが使っている方法です。

 Windows95のGDI.EXEがバグっているのだから、これを取り換えてしまえばよいと言う考え方があります。
 具体的には、Windows98か98SEのGDI.EXEとGDI.DLLを調達して来て入れてしまいます。2.1.の説明の通り、MSゴシックとMS明朝のフォントもバグいので、フォントの入れ替えは必要なのですが、その他の手当ては不要になります。
 当然ですが、OSの核となる部品そのものを取り換えるのですから、当然Windows95の挙動が怪しくなる可能性が大きいです。
 成功したと言う話もあれば、上手く行かなかったと言う話もあります。

 調達方法や入れ替え方がわからない人は、正直言ってスキル不足です。そう言う人にとっては抱え込むリスクがあまりにも大き過ぎるので、挑戦しようなんて考えないで下さい。(と言うか、そのレベルのスキルの人は、セキュリティ上からもWindows95にこだわるのをやめた方がいい)
 それから、そのパソコン用のWindows98のライセンスを持っていないのであれば、ライセンス違反になってしまう点にも注意して下さい。(もしかしたらライセンスがあってもダメなのかな?)

4. 各社のWindows95の状況

Microsoft謹製版
Operaが落ちるため、この対策が必要です。
NEC版
Operaが落ちるため、この対策が必要です。
富士通版
Operaが落ちる事はないとの報告をいただきました。対策をほどこすと、かえっておかしくなる様です。
EPSON版
どうなのでしょう?