In my previous attempt to describe a problem that I believe exists in the current implementation of ClearType on XP, I forgot one important thing. A picture is worth a thousand words. The problem is that you can’t just blow up a bitmap to show sub-pixels. That’s why I decided to write a little C# app that would visualize sub-pixels for me so I could take another stab at describing how ClearType works, and why I feel it should support vertical ClearType for tablet users.
If you want to play with the program yourself, here is the source and executable.
First of all, what does clear type look like? Here is a blown up image of an “F” with ClearType turned on using RGB sub-pixel mode.

You should notice a few things. First of all, some pixels are tinted red’ish and some are tinted blue’ish. Further more, the red’ish pixels are all on the left side and the blue’ish pixels are all on the right side of the “F”. Finally, pixels on the top/bottom of the “F” are not affected by ClearType. In other words, it only functions in the horizontal direction.
Now, before I said that the above image is with ClearType in “RGB” mode. What does that mean? It means that the ClearType algorithm is going to assume that your physical pixels have the red, green, and blue elements in left to right order. This is in fact the case on my tablet when in landscape mode, so all is good. Let’s see how it looks on a sub-pixel level:

This is the same image, only blown up on a sub-pixel level. You can see that the top-left pixel (white in the source image) is fully red, green, and blue. You may also notice that if you stand back and squint your eyes, it looks like a nice anti-aliased “F”. You see, as you un-zoom the image the pixels get so small that you don’t notice the red/blue tints and instead it looks like a smooth black character on a white background.
The problems start when your physical pixels are not in RGB order, and yet your ClearType thinks they are. The following image show the same “F” as it would look on a monitor with BGR sub-pixels. (ie, with ClearType still configured for RGB)

Looks pretty bad huh? Try sqinting your eyes on this one…not so clear. To see exactly what’s going on, take a look at this area of the images side by side.

In the first image you can see that the red sub-pixel is slightly darkened because it is near the dark part of the pixels to it’s left. However when the order is reversed the darkened red pixel on the second image is not next to the dark pixels on it’s left. Instead it has bright green and blue sub-pixels between it and the dark pixels of the “F”.
This is exactly why the Microsoft typography webpage has a ClearType utility that lets you pick RGB or BGR ordering. If you choose the wrong one it looks horrible.
You might be thinking, “gee wiz, they let you choose both modes so it should work for everyone”. WRONG. If you’re a tablet user then you tend to rotate your screen into portrait mode. In this scenario your sub-pixels are ordered vertically. Furthermore, if you have an RGB display and you rotate clockwise 90 degress your pixels will be RGB vertically, but if you rotate counter-clockwise (I do) then they will be BGR vertically. The trouble is that neither way looks good with horizontal ClearType. Take a look:

The above images show vertical RGB and BGR respectively with the same source image as before. You can see that it doesn’t look right at all. The trouble is that you can’t place a darkened red pixel to the right of dark pixels because the red is either on the top or bottom. The highlighted areas below emphasize where the problems is compared to the nice looking RGB sub-pixels.

When you view the text un-zoomed it looks like its fuzzy and you can clearly make out red/blue tints.
The solution is to either automatically do the ClearType vertically when in portrait mode, or to automatically turn off ClearType in portrait mode. The ClearType tuning utility only lets me pick horizontal ClearType, so I have to assume vertical ClearType is not supported. So either solution would probably require a change on Microsoft’s end.
As I understand it, they did some initial usability studies and found that vertical ClearType is not needed. I disagree.
p.s. If there is in fact a hidden way to enable it, please tell. Oh and here’s a screen shot of the program I made to render the sub-pixels:
