Text Legibility: Using 120 DPI Fonts on High Resolution Displays

Let's talk about fonts. As somebody who spends far too much time in front of a computer each day, I've become incredibly picky about display quality, and fonts in particular. With Windows XP, ClearType, and a sufficiently high DPI display, onscreen type is now getting close to the legibility of paper.

There's only one problem (well, several actually, but they're related): People aren't taking advantage of this!

It's very unfortunate, but I run across all kinds of people running LCD displays below their native resolution. The irony is that they're suffering reading blurry low resolution fonts because their display is so high quality (high DPI) that normal font sizes are too small to read comfortably!

The solution is to bump up the DPI setting in Windows. This recalibrates Windows to better match the actual number of dots per inch on your display, so that when an application requests a 12 point font it's approximately 1/6th of an inch on your screen -- just like it would be on paper -- not 1/8th or 1/10th or even smaller.

Unlike when you reduce your resolution, when you increase the DPI there are more dots (pixels) that can be used to more precisely form the characters. This means instead of just getting bigger, the text gets more readable: O's look round, not blocky; serif fonts have serifs; spacing and kerning improves; and bold and italic text text doesn't turn into a muddy mess. ClearType improves these even more by taking advantage of sub-pixel rendering.

Setting your DPI

  1. Go to Display settings, click the Settings tab, and then click Advanced.
  2. Click the General tab, and read it.
  3. Choose your DPI. You can use "Custom Setting..." to view a ruler on your screen so that you can hold up a real ruler and match DPI exactly. However, a good rule of thumb is to start with 120 DPI if this is the first time you've tried increasing the DPI setting.
  4. OK out of the dialogs and (sigh...) reboot. Let XP update the fonts if needed.

Tweaking Font Settings

If you're like me, 120 DPI is just a bit too big for text in standard window decorations. I tweak the Display settings further:

  1. Go to Display settings, Appearance, Effects.
  2. Turn on ClearType! If you have a display that necessitates 120+ DPI fonts you need ClearType. Besides the obvious anti-aliasing aspects, ClearType gives fonts better weight. Without ClearType the fonts will be too thin and light, decreasing readability.
  3. Click OK, and then click the Advanced button.
  4. Bump down Icon, Menu, Message Box, Selected Items, and Tooltip by 1 pt.
  5. Reduce title bars and related controls to a sane size.
  6. Fix icon spacing and scroll bar width.

Alternatively, you can download and try my theme file..

Caveats

There are a few minor issues with running at 120 DPI or above in Windows. First, a few applications may have drawing issues or otherwise not work properly. I can't tell you what they are because they got purged from my software library a few years back. They must not have been important (heh).

Web pages have this problem as well, particularly when they use fixed-pixel font sizes. Like bad software they quickly get eliminated from the selection of sites I visit. Fortunately this problem is a lot less common than it used to be.

The other caveat is that icons and most toolbars do not scale with the DPI setting (although dialogs do), so those may become too small to use comfortably. For people with normal vision this isn't a problem unless you start getting into the extremely high-end displays such as IBM's T221 or Viewsonic's VP2290b. However, if you are having this problem I have an instant solution: send it to me. Maybe I'll go in and fix IE's PNG transparency support or CSS bugs if you do, but I can't make any promises. ;-)

Finally, if you increase the DPI setting and use Office 2003 you'll have to put up with the resampled toolbars and other UI elements:

Note that this is a PNG file, not a lossy-compressed JPEG. I talked to the Office folks about this before it shipped, and it is simply an unfortunate issue where the realities of software development (i.e. money and deadlines) meant that they couldn't substitute higher resolution images or offer an option to turn off scaling. Ironically, scaling the images was done to better support higher DPI displays.