Wednesday, August 12, 2009

Vista fonts suck

I know I've complained about this before, but it's been really getting to me. The font rendering under Windows is killing me. Or making me go blind. Possibly both.

Under Linux, I had 4 methods of font rendering to choose from: "Monochrome", "Best Shape", "Best Contrast", "Subpixel smoothing (LCDs)". I think I used subpixel smoothing, which gave me great-looking fonts that were very readable on my flat-panel display. I had installed Microsoft's core fonts, and usually wrote documents using Times New Roman and Arial.

Now, on Windows Vista with the same Dell 1905FP flat-panel display, those same fonts are giving me a headache.

Why is Microsoft so limited with fonts? Under Windows, there are only two methods to smooth fonts: Standard (not smoothed, hard to read) and ClearType (blurry but smooth, and hard to read.) But note that this is not obvious to change under Windows Vista.

After writing a Word document, or browsing the web for any amount of time, I get a headache from squinting at the screen. Sure, I've increased my zoom level in Word, and increased the minimum font size in Firefox, but the fonts look out of focus and are just plain hard to work with. Not so under Linux.

Any tips for what I can do about fonts under Windows Vista? How do I get smooth easy-to-read fonts, like happens "out of the box" in Linux?

16 comments:

I was wondering why my brief incarceration in the world of XP was giving me headaches. I'd assumed it was just irritation with the system overall, and the (compared to Linux) long loading times of everything. Dodgy font rendering seems to be a much better explanation.

There are two causes of blurry text, hardware and software. This post handles the hardware cuase. If the display resolution is not set to the native resolution of the display, spatial aliasing will cause problems that many perceive as blurry text.

Display a spreadsheet and look at the lines that separate the columns and rows, or display a page filled with the capital letter E in a small sized font and look at the 4 lines that comprise the E. If some of them just aren't there, seem dimmer than the others, or have varying shades of gray, the display resolution is not set to the native value.

Until the display resolution is set to the native resolution, no software fix, including various methods of font smoothing, will work.

First, a correction to my previous post. In the second to last paragraph, the last line should have been: "...have varying shades of gray, the display resolution is _probably_ not set to the native resolution."

If the text appears sharp in some but not all applications, then the display resolution is probably set correctly. However, if the text is blurry everywhere in every application, it doesn't necessarily mean the display resolution is set incorrectly. If there is variation in line thickness or gray-scale that seems to repeat across the display, it is very likely the display resolution is set incorrectly.

My next post will assume the display resolution is set correctly and touch upon software issues. I say "touch upon" because font blurriness is often more subjective than objective. I've observed Linux users perceive Macintosh and Windows displays as blurry and Windows users perceive Macintosh displays as blurry. I know first-hand and second-hand that it's hard to believe that some forms of blurriness is actually subjective.

My main problem is that I can see the color shifts (sort of a green and pink) used to help shape the letters in Windows. To my eye, this makes the fonts blurry and hard to read.

This is really noticeable with vertical lines, like in the double quote, or L and 1. The letter M is probably the worst case for me; in the example I am looking at now, the left vertical is tinged sort of green, and the right vertical is tinged a kind of pink. But it's very annoyingly obvious with certain curves, like the dollar value $200.

It's even worse if I visit a web site with white text on a black background.

Under Windows, there are two font render settings: Standard, and ClearType. So I suppose my other option is to turn off font smoothing (Standard) but then fonts look blocky, which makes it hard to read for different reasons.

Under Linux, I have 4 font settings: Monochrome, Best Shape, Best Contrast, Subpixel Smoothing (LCDs.) So I could pick the font renderer that looked best for me. I was that kind of flexibility on Windows, but it's not there. Windows gives me either "on" (ClearType) or "off" (Standard).

For what it's worth, I'm running my flat-panel display at 1280x1024, which is the native resolution for the Dell 1905FP. But I also notice the blurriness on the laptop's built-in 1280x800.

Thanks, I'll try that URL later. It's amazing to me that this tool exists only on the web instead of being part of the operating system. I would never have known about this unless someone pointed it out to me.

That would be green and magenta (blue + red), not pink. I think it's rather interesting that you can see such separations; most people never notice it even on the ancient large color cathode ray displays.

If you were using a projector rather than a flat panel display I would have said that one of the LCDs or DLPs (specifically the green one) was not properly aligned. Do you see such things with any flat panel display or only with the specific one you have?

What happens if you set it to standard, and then turn up the graphics anti-aliasing? It sounds like the anti-aliasing implementations are different, and that the windows one is, for you, worse. The graphics driver may use a different one, thus solving the problem.

Travc: Yes, I forgot to mention that I'm connected to the monitor using DVI.

BillR: Yup, when I used to run Linux at work, I ran the same 1905FP, using DVI. And fonts didn't appear blurry under Linux. Not to mention, I notice the same thing with the built-in display (blurry fonts with Windows Vista, not-blurry fonts with Linux.)

Well, I'm not able to run the ClearType tuner on Microsoft's web site. Yes, I ran it from IE, like the page says. I let IE install the ActiveX control, had to type in the local admin password to do that.

To run the ActiveX control, I had to type in the local admin password again. (By default, our desktop support guys have us running as general users, with access to a local admin account if we need to do things like this.)

But then the page fails to do anything. I can't navigate off the first page! So I guess I can't tune my fonts under Windows Vista.

This is the first time I've encountered ClearType Tuner being stuck on the first page and no error message. Because of my limited experience with Vista, I can only speculate that either ClearType was disabled (but why the Tuner couldn't re-enable it is beyond me) or a privilege issue.

You could try the application itself (ClearType Tuner PowerToy) after downloading it from:http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspxDon't let the windowsxp mislead you. We have used it successfully with 32 bit Vista.

The description of the blurry type, green (could it be cyan?) left edge of letters, pink (magenta?) on right edge, is consistent with subpixel smoothing on a monitor that has GBR (green, blue, red) side-by-side subpixels but that's a rare ordering so it might really be BGR. ClearType is able to handle any color order of subpixels. I assumed that the description applies all across the screen; that eliminates the artifacts caused by incorrect setting of the pitch (dpi). Although the ClearType Tuner handles that too, there are complications that arise with out of date display driver. Unfortunately, Windows installation does not automatically search for the latest drivers.

Wikipedia has a nice overview of ClearType with linked references to subpixel smoothing and anti-aliasing at:http://en.wikipedia.org/wiki/ClearType

Here are two relevant comments from the overview:

1. Font designer Thomas Phinney, program manager for fonts and core technologies at Adobe Systems states "There is also considerable variation between individuals in their sensitivity to color fringing. Some people just notice it and are bothered by it a lot more than others.”

2. Font hinting expert Beat Stamm, who works on ClearType at Microsoft, agrees that ClearType may look blurry at 96 dpi, which was a typical[8] resolution for LCD displays in 2008...

Now, I do not know why Vista font rendering "out of the box" is not set up correctly for JH laptop display and external monitor the way Linux is. No user should have to "jump through the hoops" just to get a clear display. Based on the description of the font blurriness, I do expect the ClearType Tuner to resolve most (unfortunately not all, some applications have their own ideas about font rendering) of the perceived blurriness, if it would just run on JH's computer.

I tried downloading the cleartype powertoy when I was on XP. It helped, but not much. To throw the Mac info up here for agrgument's sake, there are also four options: standard, light, medium and strong.

Interesting to hear your thoughts about font rendering in Windows. I recently switched to using Fedora 11 as my main desktop operating system. I have used GNU/Linux on servers etc for many years but have only recently started using it as a full time desktop os.

When I first switched I found the found rendering in Linux a bit odd; everything appeared larger to me. However, having used it for about a month I have really grown to appreciate the smoothness of the fonts as rendered in Gnome. Whenever I see a Windows desktop now it looks terrible!

I guess it's partly down to what you're used to. The brain can become accustomed to anything after a time.

About me

I've been a Linux user since 1993, and since 2002 I've been fortunate enough to run Linux full-time at work. But, I've been asked to move back to Windows, at least for work. The difference between Windows and Linux has been shocking, to say the least. Since I find it interesting when long-time Windows users experiment with Linux for the first time, I thought it might be equally interesting for this long-time Linux user to blog about my first experience running Windows in over 6 or 7 years.