ブラウザで表示に使う標準フォントがおかしくなる現象が起きました。
具体的には、次のような感じです。
お世話になっている、sourceforge.net を表示させたとき、さすがにあり得ない全筆記体表示になってしまいます。この現象は、特定サイトのみに生じます。
グルメのメニューみたいで、読み辛すぎます。
ブラウザの標準フォントを正しく表示させる
他のサイトで表示が崩れる程度なら、「そのサイトの設定が甘いんじゃないの」で済ませて原因究明などしないのですが、sourceforge で崩れると、私自身の趣味生活に影響が出てしまいます。
正しくは、以下のように、読みやすいフォントで表示されてくれないといけません。
今回のお悩み現象
- 特定のサイトで、デフォルトで使われるフォントが筆記体系に強制される
- 特定 PDF で、デフォルトで使われるフォントが筆記体系に強制される
どうやら、Windows PC に特定のフォントをインストールしていると起きる症状のようです。
さまざまな EPS 出力デザインを鑑賞するのに、必要なフォントを様々多様にインストールしたことがありますが、これが原因なのかもしれません。
はじめはこの問題を重要視していませんでした。
閲覧サイトの CSS のフォント設定が甘い程度に考えていたからです。
しかし、pdf 表示にまでこの影響が同じように出てしまったときは、何とかせねばとは思いつつ、解決を先伸ばしにしてすでに一年近くなりました。
今回は本腰を入れて解決します。
調べているうちに、同様の現象は chrome のみならず、Edge や他の Chromium、WebKit 使用系ブラウザでもおきることがわかりました。Acrobat Reader で表示する PDF にも同様の現象が起きるので、PC 固有の問題であることは認識していました。スマホの chrome では同様の現象は確認できませんでした。
最終的な解決
Windows のフォントから以下のフォントを削除します。
- Easy Street EPS Bold.ttf(Easy Street EPS Bold)を削除
- ITCEDSCR.TTF(Edwardian Script ITC)を削除
- Alexandra Zeferino One.ttf(Alexandra Zeferino One)を削除
- Alexandra Script.ttf(Alexandra Script)を削除
フォントの削除方法はいくつもありますが、エクスプローラのアドレスバーに C:\Windows\Fonts
と入力し、上の怪しいフォントを検索窓から探し、削除するというのが一番簡単で確実だと思います。
特に必要がないと判断したので、バックアップはとりませんでしたが、怖い方はエクスプローラからドラッグ&ドロップして、適当な場所にバックアップしておいてください。
これは私の環境では、上のフォントの削除で大丈夫でしたが、日本語と英語以外の言語を多用している環境では、もう少し消すべき怪しいフォントがあるかもしれません。
正常にブラウザでフォントが表示されるかどうかを確認するためには、ブラウザのキャッシュを消去して、ブラウザを再起動させる必要があります。
フォントが崩れる理由を調査
PDF のフォントが意図しないもので表示されてしまう原因については、おおよそ理由は推察できます。
表示させる PDF に、表示させたいフォントが埋め込まれていない場合、その PDF はシステム(OS)のデフォルトのフォントで表示します(PCのフォント設定で一番先に表示される日本語フォントが使われるようです)。
また、フォント作成ツールによる問題も疑わしいですが、ここは時間をかけて調査してみたいと思います。
Windows アップデート後に表示がおかしくなった場合
ブラウザで、表示フォントが、想定していない多言語のフォントで表示されたり、勝手にマンガ字に変更された場合は、今までの方法で対処できるのですが、時折、フォントサイズがバラバラになったり、ビットマップフォントで表示されたりすることもあります。
DirectWrite関連、ビデオのドライバの不具合を疑う
このような場合は、DirectWrite 関連とビデオのドライバを疑う必要があります。
まず、nVidia でも AMD でも、最新のビデオドライバを確認して、バージョンが古すぎる場合はアップデートします。
次に、以下のブラウザの設定を見直します。
- Override software rendering list
- Accelerated 2D canvas
ブラウザの設定ですが、以下のようにしてアクセスします。
Edge の場合
アドレスバーに、edge://flags/
と入力してエンターキーを押して入ります。
Chrome の場合
アドレスバーに、chrome://flags/
と入力してエンターキーを押して入ります。
Override software rendering
もしくは Accelerated 2D canvas
と入力して、目的の設定項目を探します。
上が有効になっている場合は無効にし、無効になっている場合は有効にしてみて試します。試して確認する際には、念のためブラウザの再起動をかけてください。