Shrink that font -- automatically?

by Michael S. Kaplan, published on 2006/09/20 10:00 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2006/09/20/763219.aspx


An email from Chris gave me the most tremendous feeling of deja vu:

Obi Wan Kaplanoibi,

There must be a way to force Windows to render Tahoma at 8pt whenever it wants to render it at 9pt - systemwide?

You're my only hope.

Chris

Well, I admit to also being amused. :-)

Isn't Kaplanoibi misspelled? I would have expected Kaplanobi. Though I must admit that Obi Wan is not a name I have heard in a long time....

Of course according to George Lucas neither 'Obi Wan' nor 'Darth' had specific meaning. Though I always assumed the theory that all the 'Darth' names were based on removing the 'IN-' prefix.... thus (IN-)Vader and (IN-)Sidious. I suppose we are lucky we never met Darth Ane or Darth Sipid or Darth Cestuous....

Ok, back to the question Chris asked, and the deja vu it inspired.... :-)

You see, several years ago I was the primary developer working on the Microsoft Access wizards.

And for a while there the PM who owned the wizards was Laura Chi, and she had lots of good instincts about UI and usability issues (she is now an architect over at PIE, which seems to me like very good fit). Anyway, one of the things we did in Access was move the wizards to a more worldwide model, which included updating all the fonts (prior to our update, they were actually a whole bunch of different fonts, including some that were not even always on the machine!).

It occurred to Laura that we might want to up the size of the font from the 8pt Tahoma that they were in since 8pt for CJK is often unreadable. So I asked what size, and she suggested we try 9pt.

I proceeded to do as she asked and update all twenty-odd wizards to use Tahoma 9pt (and of course resizing all of the controls and dialogs to avoid any clipping of the now larger text). In situations where the CJK versions of the wizards were being used, GDI font fallback would work to appropriately map the font and the bigger size would make it much easier for them.

Of course what none of us really realized is that it turns out that Tahoma at 9pt is to put it simply about as butt-ugly of a font as one could have back then (since then we have advanced to Consolas with ClearType turned off, but remember this was many years ago, and ugly was not as advanced back then!).

It seemed kind of ugly to me, for what its worth, but I was so busy doing the changes that I wasn't really paying too much attention to the issue -- this is hundreds of dialogs we are talking about.

So the bug was put in requesting that I change all of the fonts back to 8pt (though not changing the dialog sizes (the nominal excuse was that we may as well still get the benefits of the resizing, though I suspect it was just not wanting me to feel like I had wasted all that time doing the update!).

The revert of the font name was actually harder than I expected, since keeping the dialogs and controls looking good without bad text breaks was a lot more challengimg than I would have thought

The bug title did not have curse words in it. Well, hang on a second. Is butt-ugly a curse word? :-)

Back to the question Chris asked -- I can truly understand why one might want some type of agent to globally make sure that any time someone asked for Tahoma 9pt that they would get back Tahoma 8pt. Having once as a matter of my actual job function being forced to act as such an agent and thus being very experienced in doing it, the only things keeping me from asking Chris if I could take the task on as a part time job are a) the moonlighting agreement and b) the fact that Chris is almost certainly asking for a runtime solution....

But the answer is that there really isn't such a mechanism available. One could certainly try hooking individual GDI functions for individual applications, but none of the folks I talked to knew of a way to see the update happen globally.

Though from personal experience, I could suggest just forcing the people who thought Tahoma 9pt was a good idea to spend some time looking at it. They may well size down everything themselves!

Sorry Chris, that is the best I can do (maybe someone reading this knows about a secret registry key or something). The one thing that sucks about being a person's only hope is that there is nowhere to go after that, is there? :-(

 

This post brought to you by (U+0fcf, a.k.a. TIBETAN SIGN RDEL NAG GSUM)


# Mike Dimmick on 21 Sep 2006 11:15 AM:

The Windows CE team decided on Tahoma 9pt as their system font way back in the mists of antiquity, so I'm used to it.

And if you want the 'normal' Windows 2000/Office 2000 appearance, you actually want 8.25pt, because 8pt gives you a different pixel count.

referenced by

2012/01/12 No, I am your father, Chris!

2006/09/21 Font sizes vary more than one might expect

go to newer or older post, or back to index or month or day