Mac

Mac OS Xでフォントキャッシュとフォントデータベースをクリアして異常なフォント問題を解決する

Mac OS Xでフォントキャッシュとフォントデータベースをクリアして異常なフォント問題を解決する

OS Xのターミナル稀なケースですが、OS Xや様々なMacアプリのフォントが誤って表示されたり、全く表示されなくなったりすることがあります。これは通常、フォントが変更されたり、標準の~/Library/Fontsディレクトリ以外にフォントがインストールされたりした後に発生しますが、突如発生することもあります。フォントに関する問題の中には、アクセス権の修復で解決できるものもありますが、より分かりにくい問題の場合は、フォントキャッシュをダンプして再構築する必要があるかもしれません。


これは、キャッシュ、エラー、またはフォントではなくグリフが表示される特定の表示エラーに関連する非常に具体的なフォントの問題が発生していない限り、このタスクを実行する理由がないため、気軽に行うべきものではありません。

OS Xでフォントデータベースとフォントキャッシュをクリアする方法

ターミナルから以下のコマンド文字列を入力し、リターンキーを押します。これはsudoを使用しており、実行には管理者パスワードが必要です。通常のコマンドライン項目と同様に、コマンドは1行で記述する必要があります。

sudo atsutil databases -remove

これにより、OS Xシステムとユーザーからすべてのフォントデータベースとキャッシュが削除されます。atsutilのマニュアルページによると、-removeフラグは以下の処理を実行します。

fontdのシステムデータベースまたはユーザーデータベースとキャッシュファイルを削除します。データベースを削除すると、フォント登録状態(標準フォントディレクトリ外で有効化されたフォント、無効化されたフォントフェイス、フォントライブラリ)が
失われる可能性があります。ユーザーがログアウト、再起動、またはfontdサーバーを再起動した後、標準フォントディレクトリにインストールされたフォントから新しいデータベースが再生成されます。



権限と再起動によるフォント表示のトラブルシューティングの完了

atsutil の実行が終了したら、おそらく、すでにターミナルを使用しているため、disktuil コマンドを使用してターミナルから OS X の権限を修復することが必要になるでしょう。

sudo diskutil repairPermissions /

ディスクのアクセス権の修復にはかなり時間がかかる可能性があるため、ドライブのサイズと速度、および Mac 上にあるファイルの数に応じて、最大数時間待つことを覚悟してください。

上記の両方のプロセスが完了したら、通常どおり Mac を再起動してください。これでフォントが問題なく動作し、表示されるようになります。

ご参考までに、この画像はフォント表示の問題がどのようなものかを示した例です。

Mac OS Xでフォントが誤って表示される

明らかに、Mac 上のすべてのフォントが [A] [A] [A] のように大文字の A が入ったボックスとして表示されている場合、ほとんど何も実行できない可能性があります。その場合、OS X セーフ モードで起動するか、起動中に Command+S を押して上記のコマンドを実行してシングル ユーザー モードで起動する必要がある可能性があります。

この方法がうまくいったかどうか、あるいは Mac 上の特定のフォントの問題に対する別の解決策があるかどうか、コメントでお知らせください。