by Michael S. Kaplan, published on 2008/08/14 16:25 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2008/08/14/8867856.aspx
When you call the WM_GETFONT message to get the font from a control, the documentation says:
The return value is a handle to the font used by the control, or NULL if the control is using the system font.
And then when you look at the GetStockObject function, which mentions:
SYSTEM_FONT -- System font. By default, the system uses the system font to draw menus, dialog box controls, and text.
It seems like the most intuitive thing in the world to assume they are talking about the same thing.
They aren't.
In fact, as Raymond Chen pointed out in What are SYSTEM_FONT and DEFAULT_GUI_FONT? and I pointed out in DEFAULT_GUI_FONT really stinks, SYSTEM_FONT is not the system font.
Or to be more accurate, once upon a time it was the system font.
Many years ago.
When internationalization support was a joke and language support was a dream.
And Reagan was starting to think about his re-election campaign.
So they really could rename the constant to SYSTEM_FONT_CIRCA_1992, deprecate the old one, and save everyone the confusion. :-)
This blog brought to you by ! (U+0021, aka EXCLAMATION MARK, a character that was quite proud to be in the system font of even the earliest versions of Windows)
# Serge Wautier on 15 Aug 2008 2:22 AM:
Reagan was re-elected in 1984, right?
# Michael S. Kaplan on 15 Aug 2008 2:51 AM:
I was hoping no one would notice that!
The original title I had was "...since George Bush wasn't re-elected" (thinking George H.W.) but some people were really thinking the name was too much like the current prez and just a bad idea to get into, so I slid back to the previous one, who was elected for a second term, so I had to change that too. Of course now it was way before the value stopped getting used, but I decided now it was just hyperbole, which isn't inaccurate per se. :-)
Though like the ribbon it is now somewhat unraveled or unfurled. No sense trying to fix it since it is not the actual point of the article but more of a cute title thing....