Macでフォント描画のアンチエイリアシングが効かない問題を解決する

現在の仕事環境

現在の仕事環境

会社から仕事用マシンとしてMacBook Pro (13 Early 2011)が支給されて、非常に快適に仕事をしている。今までのWindows機は外部モニタを2枚つないで本体は閉じていたのだが、Macになってからは本体のモニタ+外部モニタ構成にしたので、机の上もだいぶ省スペースにできた。

ところが、更なる快適さを求めてプライマリモニタを本体から外部モニタに変えてみたら、微妙な落とし穴にハマってしまった。

Twitterで嘆いたら幸いにもすぐ反応をいただき、しかもそれがドンピシャ。見事翌日には解決したので、経緯をメモとして残しておく。

現象

フォントのアンチエイリアシングがおかしい。かかってはいるが、なにかかすれている感がある。

アンチエイリアスが弱い

アンチエイリアスが弱い

こんな感じ。

いろいろ検証した結果、「外部モニタが接続され、そのモニタがプライマリ(メニューバーがあるほう)に指定されている」状態で起動したアプリケーションがこの現象に見舞われるようだった。

外部モニタを外した状態で起動したアプリケーションはきちんとアンチエイリアシングされ、そのあと外部モニタを接続しても問題なかった。

Twitterでのやりとり

  • http://twitter.com/#!/kwappa/status/106004002453467138

    外部モニタを接続した状態で起動したアプリでアンチエイリアスがおかしくなるな。起動したあとなら接続しても問題なく描画される。うーむむ。less than a minute ago via YoruFukurou Favorite Retweet Reply

  • http://twitter.com/#!/tkono1/status/106019767030259713

  • http://twitter.com/#!/kwappa/status/106020451599384576

  • http://twitter.com/#!/tkono1/status/106025517060329473

    @kwappa Snow Leopard時代にも外部モニタとアンチエイリアスで問題があった様です。明日にでもどうぞー http://t.co/GImThyCless than a minute ago via YoruFukurou Favorite Retweet Reply

  • http://twitter.com/#!/kwappa/status/106212816796655616

ジャストミートな情報をいただいたので早速試してみる。

解決方法

ターミナルで以下を実行する。

% defaults -currentHost write -globalDomain AppleFontSmoothing -int 1

リンク先を読んでみると…

  • Snow Leopardのころからあるバグだよ
  • サードパーティの液晶モニタをCRT(ブラウン管モニタ)と誤検出してしまうよ
    • Dell, Samsung, LG, HP, EIZO, and Lenovo
  • アンチエイリアシングの度合いを決める数字のデフォルトを変更すればいいよ
    • 0 : Standard (CRT向け)
    • 1 : Light
    • 2 : Medium (液晶向け)
    • 3 : Strong

リンク先の指示では「-int 2」と書かれていたが、Emacs + Rictyの組み合わせだとちょっと効き過ぎのような気がしたので「-int 1」を指定してみた。

アンチエイリアス : 1

アンチエイリアス : 1

アンチエイリアス : 2

アンチエイリアス : 2

この辺はやってみて好みで決めればいいのではなかろうか。

まとめとLinks

twitterで嘆いたらあっという間に解決するという大変幸運な事例であった。@tkono1さん、ありがとうございました!

10.6: Re-enable LCD font smoothing for some monitors – Mac OS X Hints
http://hints.macworld.com/article.php?story=20090828224632809

1 comment

Leave a comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です