A modest proposal

by Michael S. Kaplan, published on 2010/03/30 07:01 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2010/03/30/9987288.aspx

Now my modest proposal about fonts  obtained in this blog lacks either the brazen absurdity or the sustained irony of Swift's A Modest Proposal, but maybe that could be countered by having the folks on the typography team eat the glyphs contained in their fonts they manage? :-)

The other day (well, it was Monday, by which I mean yesterday) I was giving a presentation to a bunch of engineers about font selection and how to do it an appropriate, localizable way.

I think I managed to make it interesting, which can be a challenge, sometimes.

Not everyone gets excited about that sort of thing, so you have to make an extra effort sometimes.

Anyway, at one point I talked about the importance of not using font face names to add font attributes.

I mean, it doesn't really make sense to make a font name show up in a string table with a name like Tahoma Bold.

Just for the pleasure of perhaps some Russian localizer calling it Tahoma Полужирный?

Or a Hungarian localizer to have to change it to Tahoma Kövér?

Or a Danish localizer to have to change it to Tahoma Fed?

Or a Norwegian localizer to have to change it to Tahoma Halvfet?

Or a Swedish localizer to have to change it to Tahoma Fet?

Or a Dutch localizer to have to change it to Tahoma Vet?

Or a German localizer to have to change it to Tahoma Fett?

Or an Italian localizer to have to change it to Tahoma Nero?

Or a Spanish localizer to have to change it to Tahoma Negrita?

Or a French localizer to have to change it to Tahoma Gras?

And so on. You get the idea.

Can you see why this would be a bad idea?

I mean, thinking about the following issues raised in Ready... set... Reboot Redux and Ready... set... Reboot Redux, part Deux!, it means all of the following is going on:

It means the likely possibility of not getting the desired font effect is really a problem in a bunch of cases.

Now I have been railing about the best practices issues here for a while now.

But code keeps getting written, by Microsoft developers and the ones outside Microsoft. And people keep on making this mistake over and over again.

For giggles keep the whole related East Asian Font Names.... issue in mind as well - note how they actually did some work to solve that problem. By registering both names.

Maybe that is what should be done here, as well.

My humble proposal:

Any time a) the system locale setting that the session level font cache uses and b) the user interface language of that session, and/or c) the actual default system locale do not match, the font names for all of the fonts under these 2 to 3 languages should be registered.

This would guarantee that the fonts would work no matter what setting/configuration the developer might be using to try to get the right name.

John Cowan on 30 Mar 2010 9:58 AM:

In fact, no, I don't see why it's a bad idea.  The name of a font is not just a name, like "Tahoma"; it contains a part which is meant to be intelligible, so the local form of "bold" should be translated.  What's more, I think that Тахома цйтощк is better localization than either Tahoma Bold or Tahoma цйтощк.

GunSmoker on 30 Mar 2010 10:04 AM:

>>> Russian localizer calling it Tahoma цйтощк

Looks like total garbage to me. Proper name should be "Tahoma Полужирный".

Michael S. Kaplan on 30 Mar 2010 10:46 AM:

It is now fixed. Oops. :)

(I got the word from a website as this machine did not have Russian on it at the moment!)

Random832 on 31 Mar 2010 6:17 AM:

"John Cowan: In fact, no, I don't see why it's a bad idea."

The problem is, it shouldn't be the application's responsibility to use a localized name when asking the system for the font it wants to display text in. Displaying a localized font name to the user in the font selection box isn't what's being argued against here.


Your proposal only solves half the issue - it makes it _possible_ to reliably localize font face names [which you said "would be a bad idea" anyway], but doesn't save you from the need to actually _do_ it.

Why isn't it possible to always use the english name? Is this the reason we don't have Тахома (or タホマ or 타호마)? Since there's no way around using the font face name to specify the font family.

Michael S. Kaplan on 31 Mar 2010 6:25 AM:

The pure "Tahoma" case works anyway. The proposal is a way to keep those who *do* this extra thing with attributes from being broken.

I agree the localized font name is a pain when it happens; it does not happen often....

Random832 on 31 Mar 2010 6:48 PM:

My point was more like - if "Tahoma" always works (even if Tahoma were a font that had actual other names like the east asian fonts), why not have "Tahoma Bold" always work - your proposal merely makes sure that you can always use the "Tahoma Полужирный" if that's the language your string table loaded as.

Basically, why not "and/or d) none of those languages is English"?

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