2011年11月14日月曜日

【トラブル解決レポート】Safariで表示フォントの一部が文字化けするようになった場合の対処方法。Font Bookで標準システムフォント構成を復元する(OS X Lion 10.7.2)

Share to Hatena

今回は、ここ数カ月ずっと悩まされ続けてきたトラブルの解決レポートです。

トラブルの内容は、「Mac OSでSafariを使用している時に、一部のみフォントが文字化け(正しくは文字化けではなく、一部文字が表示されない現象)する」です。

一般的なフォントの文字化けというと、よくメールなどである文字コードの違いなどが原因で、全く読めない文字になってしまうことが挙げられます。

が、今回の症状は文字コードは正常に認識されているように見えるにも関わらず、一部フォントの一部の文字のみ表示されない。という変わった症状で、OS X Lionにアップグレードする前の10.6の頃から悩まされ続けていました。

具体的な症状を挙げると、以下のようなものです。
タイトル部分:長崎空港(長崎)が表示されない

こちらもタイトル部分が表示されないが、本文は正常
この現象は、FirefoxやChromeなどのSafari以外のブラウザでは発生せず、しかも全てのWebサイトで発生する訳ではなく、特定のサイトの特定部分のみ発生という、珍しいものでした。

Safariを使わなければ良かったのですが、トラブルが解決できないままOSをアップグレードしてしまったのも悔しかったですし、何よりOSをアップグレードしても解決できなかったので、放置し続ける訳にもいかないかなと(^^;)

まずはSafari自体に異常が発生していると思い、環境設定/表示からフォントの切り替えや、デフォルトのエンコーディングの変更。Safariのキャッシュを空にして、Safariをリセット。ライブラリからSafariのPreferenceやCacheの手動削除など色々と試してみましたが、全く改善されませんでした。

そこで今までほとんど起動した事のなかったMac OS X標準アプリ「Font Book」の出番になります。
OS X標準搭載のアプリ「Font Book」
Font Book」はあまり馴染みのないアプリかも知れませんが、私のようにデザインやDTPの世界の方であれば避けては通れない「フォント」に関する各種設定を行えるアプリです。
Font Book アプリケーションを使って、フォントをインストール、削除、表示、整理、検証、使用停止、および使用できます。フォントとは、コンピュータがテキストの表示と印刷に使う書体のことです。Mac OS X には、さまざまなフォントがプリインストールされています。
良く使う機能としては、「重複したフォントを見つけて解決する」「特定のフォントを使用停止/使用する」「問題のあるフォントを検証する」あたりでしょうか。

実は一口にフォントと言っても、TrueType/OCF/CID/OpenTypeなど様々な種類があり、同じフォントの中にも内蔵されている文字種の違いなどがありますが、そのあたりは本当に深い話になってしまうので、また別の機会にでも。

今回トラブルの解決で使用した「Font Book」の機能は、「標準フォントを復元」です。
(重複フォントの改善も事前に試してみましたが、今回の症状には効果はありませんでした)
Font Bookの機能「標準フォントを復元」
これをクリックすると、下のようなウィンドウが表示され、システムのフォントデータベースから非標準のフォントが全て取り除かれ「Fonts (Removed)」に移動されます。
非標準のフォントを全て取り除く
すると、次のようなウィンドウになり、作業が完了したことをお知らせします。
作業が完了し、非標準フォントは移動される
完了時にユーザのライブラリフォルダを見ると、以下のように「Fonts (Removed)フォルダ」が新しく作成され、標準フォント以外は全てこの中に移動されているのが分かります。

※OS X Lionのデフォルトではユーザのライブラリフォルダは非表示になっています。これを表示させるには、「Finder/移動」を表示させている時に「optionキー」を押す、と隠れている「ライブラリ」の項目が表示されます。
新しく作成されたFonts (Removed)フォルダ
この状態で一旦Macを再起動し、Safariで先程のサイトを見てみると、
タイトルが正常表示されている
こちらも正常表示されている
という訳で、問題が発生していた全てのサイトで問題が解決しました。

この事から、今回問題が発生していた原因は「ユーザ/ライブラリ/Fonts」にインストールされていたフォント(私の場合は1,000近いのですが...)の、標準フォント以外のものに異常があり、取り除くことによって解決した。ということになります。

これがどのフォントだったのかというのは、また特定するのに時間がかかりますが、OS X 10.6から10.7へのアップグレードの時は、システムのクリーンインストールではなく、設定を残してのアップグレードだったので、異常のあったフォントまで引き継がれた。ということですね。

もし同じような症状でお困りの方がいらっしゃるようでしたら、ぜひ一度お試しください。

※価格や機能等は変更になることがありますので、ご注意ください。
※記事内容は2011年11月14日現在の情報になります。