http://bugs.winehq.org/show_bug.cgi?id=8177
------- Additional Comments From dmitry@codeweavers.com 2007-18-07 06:54 -------
I compiled the program below, and its output was:
cs = 0, fs.fsCsb[0] = 2000009f
That's because you don't initialize LOGFONT except font name. If I do just AddFontResource("etsans.fon"); and look at the font charset in enumed font structs from EnumFontFamiliesEx I get SYMBOL_CHARSET.
It appears that explicit initialization of charset in LOGFONT to something different from SYMBOL_CHARSET leads to the fact that gdi32 in Windows uses that different charset for internal A<->W conversions.