MacOS – After Upgrade to Mountain Lion I get blurry fonts

fontmacosresolution

Since the upgrade to Mountain Lion, I get blurry fonts system-wide. It doesn't matter where it is: I've seen them on the log-in screen, Safari, Mail, Xcode, and Skype. Every font is very blurry.

It seems as though a non-native screen resolution is in use, but, in System Preferences, the "built in screen resolution" option is chosen.

I have a 15" MacBook Pro (Model A1286) with the High Resolution panel (1680×1050).

Can someone confirm or help here?

Some screenshots:

enter image description here
enter image description here

Best Answer

Toggling LCD font smoothing (subpixel rendering) should have an immediate effect on the System Preferences window with most displays.

LCD font smoothing is not enabled automatically on some LCD displays though. You might be able to force them to use it with defaults write -g AppleFontSmoothing -int 2, which corresponds to the pre-10.6 medium setting or enabling LCD font smoothing on most displays.

10.5 used to allow choosing from two additional text rendering settings, light and strong. If the default was light before you upgraded to 10.8, you can restore it with defaults write -g AppleFontSmoothing -int 1.

High Resolution Guidelines for OS X: Advanced Optimization Techniques

In OS X v10.8, the default value of the NSFontDefaultScreenFontSubstitutionEnabled setting is NO. This setting determines whether or not text APIs (such as NSLayoutManager, NSCell, and the NSStringDrawing categories on NSString and NSAttributedString) substitute screen fonts when calculating layout and display of text.

Although screen font substitution will no longer be the default, using screen font might still be appropriate to support:

  • Compatibility with documents created with previous versions of your app. The difference in glyph advancement measurements between integral and floating-point values can cause a change in text layout.
  • Fixed-pitch plain text style output—for example, the Plain Text mode in Text Edit. To keep the OS X v10.7 screen font substitution behavior as the default, set the NSUserDefaults key NSFontDefaultScreenFontSubstitutionEnabled to YES.

To maintain the screen font setting on a per-document basis, specify NSUsesScreenFontsDocumentAttribute as a document attribute when you initialize an attributed string object.

defaults write -g NSFontDefaultScreenFontSubstitutionEnabled -bool true didn't seem to have (almost) any effect in most applications. But for some reason it disabled kerning in AppleScript Editor.