macOS Mojaveや、Catalinaにアップグレードしたら何だかフォントが汚くなった。
Hight Sierraまでキレイだったのに…。
こんな方も多いのではないのでしょうか。
これはRetina以外のMacや、外部ディスプレイを使用している時に起こる現象で、Mac Mojaveから(Catalinaも)、テキストレンダリングの仕組みが変わってしまった為です。
Retinaディスプレイを使用している場合は、ほとんど気づかないかと思いますが、非Retinaディスプレイや外部ディスプレイは顕著にわかるかと思います。
Mojave又はCatalinaのフォントが「ボケる」、「見ずらい」、「汚い」等、どうしても我慢できない場合は、今回紹介する方法で解決してください。
設定は、ターミナルコマンドで2行入力すればOKです。
なぜこんなことになってしまったのか?
macOS Hight Sierraまで採用されていたフォント滑らか表示機能「カラーフリンジ」は、Retinaでも非Retinaでも文字をキレイにしてくれる機能でした。
ただ、この「カラーフリンジ」は画面表示時にGPUリソースを多く使用してしまうため、より負荷の低い表示機能に切り替えられました。
Retinaディスプレイではどちらの方式でも、結果きれいな滑らかフォントになるの問題ありませんが、非Retinaディスプレイでは文字のガタツキが否めません。
もうひとつの背景として、現在Appleから発売されているiMacやMacBook全てRetinaディスプレイになった為だと言われています。
「システム環境設定」から設定でもできる?
「システム環境設定」→「一般」の中にある「使用可能な場合は滑らか文字を使用」を有効化することでフォントを滑らか文字にしてくれますが、この設定は非Ratinaディスプレイや外部ディスプレイには反映してくれません。
解決方法:「カラーフリンジ・エフェクト機能」を復活させる
以前の滑らかテキストレンダリング方式「カラーフリンジ・エフェクト」の機能を有効化させてあげれば、MojaveでもCatalinaでもHigh Sierraまでのような滑らかフォントにすることができます。
設定方法
- STEP.1ターミナルからコマンドを入力する。
「ターミナル」を起動し、下記コマンドを実行します。defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO
- STEP.2ログアウト&ログインする。
一度ログアウトしてログインすれば完了です。再起動の必要ありませんが、再起動しても設定は残ったままとなります。
意訳すると、
「フォントスムージング処理にカラーフリンジを使用しない。 → いいえ」
ということです。
真面目に意味合いを考えると、コマンドが長い上に、否定形の否定形という表現で混乱してしまいますが、
つまりは昔の「カラーフリンジ機能使うよ!」ということです。
デフォルトに戻す設定
設定してみたけど、やっぱり「macOS Moajve」の標準状態(カラーフリンジ・エフェクトが無効化された状態)の方がいい、という場合は下記コマンドを実行して、ログアウト&ログインすれば、初期状態に戻ります。
defaults write -g CGFontRenderingFontSmoothingDisabled -bool YES
アンチエイリアシングの強度を調整する方法
上記紹介したターミナルコマンドではあくまでもカラーフリンジ・エフェクトを復活させているだけです。これに併せてアンチエイリアシングの強度を設定する必要があります。
強度のレベルは3段階に設定ができます。
defaults -currentHost write -globalDomain AppleFontSmoothing -int 1
上記の例は、強度の「1」で設定しています。
好みによってこの数値を1〜3まで設定可能です。
0は無効です。
強度の数値が大きいほどレンダリングの程度が強まり、見た目文字が太っていきます。
3(太い) > 2(普通) > 1(細い) > 0(無効)
デフォルトに戻す設定
以下のコマンドで、強度の設定を初期状態にすることができます。
defaults -currentHost delete -globalDomain AppleFontSmoothing
まとめと注意点
カラーフリンジ機能を復活させ有効化するには、CGFontRenderingFontSmoothingDisabled と AppleFontSmoothingの2つの設定が必要となります。
defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO defaults -currentHost write -globalDomain AppleFontSmoothing -int 1
2行目のintの数はお好みで1〜3まで設定できますが、
強度をあまり強くすると、無設定の他人様Macとの違いが出すぎてしまうので、1くらいがオススメです。
(特にWEB製作者は注意)
時期macOSに望むことは、これらの設定を「システム環境設定」から設定できたり、
非RetinaディスプレイMacの場合は自動的に以前のカラーフリンジ機能を有効にしたりしれくれたら良いなぁと思いますが、たぶんそうはならないでしょう。
Apple側からすれば、
「古い非RetinadディスプレイMacは、OSが徐々に対応しなくなっていくんで、できれば新しいMac買ってね。」
…ということなんだと思います。
コメント