Ready... set... Reboot Redux, part Deux!

by Michael S. Kaplan, published on 2008/10/28 12:31 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2008/10/28/9020410.aspx


Now it all started with Ready... set... Reboot! back in February of 2005, where the issues of reboot and the default system locale were first discussed.

And then the follow-up (Ready... set... Reboot Redux), which talks about how sometimes you might even need two reboots to get the right results, due to the fact that words like Bold are sometimes localized as well -- based on system locale. and the way fonts are registered is not really code that people are anxious to muck with.

For a moment, ignore the lessons of Ready... set... Don't Reboot!, as they are about a different issue. But I'll get back to them in a minute.

I'd like to take the whole scenario and turn it on its head, if I may.

You see, we always tell core team members that one of the important issues in localizability is to always expose font settings like the name and the size to localizers, so they can change it when they need to in order to get the expected UI look.

And that is true.

Often, the way that it ends up being exposed, when the font is being created in code, is to put them in a string table.

Okay, nopw the localizer can change them and the code can use them. Great!

Or maybe not....

Because there is this Bold/Gras issue -- the system decides which one to expect based on the default system locale, but application resources are by default loaded with the user interface language.

That string might be Tahoma Bold -- which when localized will never match....

That means you could reboot a hundred times and never see things the way that the localizer intended!

If you lpook at the solution from East Asian Font Names...., it won't scale here. Because that is just registering two names if two names are defined in the font.

But these attributes are not in the font, and do not exist in any runtime query-able form. Not to mention the fact that you would want the system to register every font dozens of times to handle every attribute (bold, italic, bold italic, etc) and every language that localizes them.

And now getting back to Ready... set... Don't Reboot! for a moment.

In that blog I talked about how the NLS folks took bold steps to not force a reboot or logoff when the code pages don't change.

But now here is the kicker -- there are lots of cases (unlike the English/French one) where the code pages don't change but the font attributes localization would -- like French and Danish for example -- this would be a Gras/Fed issue -- and once again a problem that would cause the localizer's intent to never be realized....

Oops! :-)

 

This post brought to you by (U+0f28, a.k.a. TIBETAN DIGIT EIGHT)


no comments

referenced by

2010/03/30 A modest proposal

2008/12/11 On why it's a bad thing to choose font information by name only

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