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

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

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

現象

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

こんな感じ。

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

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

Twitterでのやりとり

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

解決方法

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

% 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

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

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

10.6: Re-enable LCD font smoothing for some monitors – Mac OS X Hints

http://hints.macworld.com/article.php?story=20090828224632809