Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

I have a 24" HP LP2475w at my home and 23" Apple Cinema Display at work. Today when I turned on my laptop at work, I noticed that all fonts look perfect (after having an issue with rendering for the past two days). I thought the issue somehow got fixed and happily went on with my day.

Later when I came home, everything still worked, because I didn't turn off my MacBook. This is how it looks (correct), even on my home LCD

correct

but when I quit the Terminal.app (or any other app for that matter) and launch it again, while the 24" is still connected, the fonts get ugly

ugly

Notice even the background color is different, which doesn't make any sense at all, since the screenshots are taken about 15 seconds apart.

When I disconnect my LCD the Terminal still looks ugly, until I relaunch it, then it looks ok again.

The important thing here is, that I've been using the 24" LCD for the past year and never had this issue, it just started happening without me changing anything.

Is it possible, that my MacBook is somehow having trouble communicating with the LCD when the app starts? I would understand if this happened to everything that is displayed on the 24" LCD, but it happens only to apps that are launched when the LCD is connected.

Even if I quit all the windows in the terminal and open new ones it still looks ok, until I actually quit the application itself and relaunch it.

share|improve this question
    
Which display is your primary one (the one with the menu bar)? –  MattiSG Jan 17 '12 at 7:57
    
@MattiSG I only use one of them at a time, and I always set the external LCD as primary. –  Jakub Arnold Jan 17 '12 at 8:23
add comment

4 Answers

up vote 15 down vote accepted
+50

You should try adjusting font smoothing globally. Open up terminal and type:

defaults -currentHost read -globalDomain AppleFontSmoothing

Depending if it's enabled or not you might get a message such as:

The domain/default pair of (kCFPreferencesAnyApplication,
 AppleFontSmoothing) does not exist

(which is actually good, since it tells us it's not set, and why you have the issue).

Next, type:

defaults -currentHost write -globalDomain AppleFontSmoothing -int 2

If it doesn't look any different, worse, etc. or want to adjust it even more replace the number '2' with '1'.

To remove the global setting you can use:

defaults -currentHost delete -globalDomain AppleFontSmoothing

*Hopefully this solves your troubles.

share|improve this answer
    
Perfect! Thanks for the solution. –  Jakub Arnold Jan 20 '12 at 0:23
    
wow, thanks for the solution @ioi I had the same issue when upgrading to Mountain Lion...I was wondering if there's any way to change that from System Preferences? –  zanona Jul 31 '12 at 10:41
    
There could also be a key for it in ~/Library/Preferences/.GlobalPreferences.plist. –  Lauri Ranta Sep 3 '12 at 2:41
2  
What is the difference between 1 and 2 then? –  Sam Sep 10 '12 at 11:18
    
Note that (1) removing the global setting as shown above is same as checking System Preferences > General > Use LCD font smoothing when available, (2) unchecking this is equivalent to setting -int 0, (3) a value of 0, 1, and 2 is no, light, and medium font smoothing, and (4) setting a preference in System Preferences overrides the terminal commands above (and vice versa). I have a Mac Pro with OSX 10.6.8 connected to NEC LCD2490WUXi working great out of the box, but when I purchased a new 15" MacbookPro retina the same monitor on OSX 10.9.1 messes up text. Setting -int=0 helped somewhat. –  ggkmath Feb 19 at 13:51
add comment

The first image is using sub-pixel anti-aliasing, which is takes advantage of the way the RGB sub components of an LCD monitor happen to line up. You can see this by using "DigitalColor Meter", or any other utility, to zoom in on the pixels.

The second image is using full-pixel anti-aliasing, which is 3x blockier, but works on non-LCD displays and LCD displays which use a different sub-pixel ordering.

At least in Mac OS X 10.6, this is controlled by the Appearance control panel and the "Use LCD font smoothing when available". The key is "when available". The OS must correctly detect when your display is an LCD.

A peculiar quirk that I've noticed is that if you change that setting, it does not immediately change the fonts already on the screen. You have to at least close and reopen a window, sometimes quit and restart an application, for the new setting to apply.

My guess is that you have "LCD font smoothing" turned on, but you are moving back and forth between a display which OS X recognizes as an LCD and one which it does not.

Here's an article which talks about this problem and suggestions work arounds, including what @ioi touched on earlier.

http://osx86.co/f57/lcd-font-smoothing-in-snow-leopard-how-to-t4407/

share|improve this answer
add comment

This is OSX "Text Smoothing" I believe.

In "General" preferences, the last option is to turn off text Smoothing for font sizes below a certain size. I guess that value has changed to one higher than your current font size.

share|improve this answer
    
I have it set to the lowest - 4, but it doesn't seem to change anything when I turn it on and off. –  Jakub Arnold Jan 14 '12 at 23:24
    
@stuwilson — +1 definitely good thinking on the text smoothing. The global setting in terminal is probably where it needs to be adjusted. –  l'L'l Jan 19 '12 at 15:15
add comment

Have you per chance enabled any specialized settings via the Developer Tools? Such that your computer would now be showing HiDPA resolutions? You can verify quickly by going into System Preferences > Displays and you can see what kind of resolution setting your computer is using.

share|improve this answer
    
No I haven't changed anything. I'm using my monitor's native 1920x1200. It seems to happen in all applications that I restart, so something must've changed since I last rebooted my MacBook. –  Jakub Arnold Jan 14 '12 at 13:06
    
Very likely, have you tried restarting the computer and reseting the PRAM (NVRAM)? Maybe that would reset your computer back to defaults. Otherwise you could see if the issue occurs under another user on your computer/test account. –  Andrew U. Jan 14 '12 at 13:10
    
I was just going to recommend a new user account as Andrew does. –  Richard Jan 14 '12 at 14:08
    
I've actually did a complete system wipe, reformatted the whole disk, reinstalled and the issue still persists. I didn't recover any backups, just made a clean install of Snow Leopard and direct upgrade to Lion. –  Jakub Arnold Jan 15 '12 at 12:11
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.