Here's why we have to talk about fonts in the middle of the keyboard chapter. We've established that when a Windows user on a non-U.S. keyboard types a character with a diacritic, the wParam parameter of the WM_CHAR message is the code for that character in the ANSI character set.
So, if you need to echo that character to the display, you had better be using a font with the ANSI character set (such as the SYSTEM_FONT or SYSTEM_FIXED_FONT). If you instead use the OEM_FIXED_FONT, the character you write to the display will be incorrect and will surprise the user. A few other simple rules will allow the keyboard logic in your Windows programs to survive intact when you convert your programs for a Euro- pean market.