http://bugs.winehq.org/show_bug.cgi?id=7571
------- Additional Comments From dmitry@codeweavers.com 2007-06-06 03:13 -------
I did that, and I'm attaching a set of logs and diffs showing the effects of my patch.
Since current Wine behaviour is not entirely correct you also need to compare the results with real Windows in order to get the picture how it's supposed to be eventually.
I noticed I forgot to mention where I got the idea for the patch, so here it goes: upon inspecting the tests output both on Windows and on Wine I saw that, discarding repetitions, EnumFontFamilies() enumerated the charsets for <empty> and DEFAULT_CHARSET in ascending order on the former, but in descending order in the latter.
I looked at the test results under Windows once again and can not confirm that.
(Moreover, I saw that all the fonts and charsets were there, so my best guess was that Notes was relying on some other ordering - and bingo!)
My understanding of the problem is that Notes simply uses last enumerated LOGFONT structure to create the font that is used to display the text, and since Wine enumerates charsets that are not supposed to be enumerated that is causing the bug.
Looking at the attached log diffs makes it clear that your patch is not correct: it adds font enumeration duplicates, and as were pointed out loses russian charset.