http://bugs.winehq.org/show_bug.cgi?id=33137
Bug #: 33137 Summary: Can display characters with WM_SETFONT but not with DrawText - same font Arial Product: Wine Version: unspecified Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: gdi32 AssignedTo: wine-bugs@winehq.org ReportedBy: forums@robertinventor.com Classification: Unclassified
I used CreateFontIndirect to create the font, with "Arial Unicode MS" as the font name.
Using GetTextFace(..) I find that the font actually created is "Arial".
In one place I set it as the font for a text control using WM_SETFONT
In another place I draw the text directly to a window using DrawTextW(..)
I'm using characters such as:
☀ ☁ ☂ ☃ ☄ ★ ✾ ✰ ✲ ✳ ❉ ✿ ❂ ✺ ❀
They get shown fine in the text control.
But when drawn directly to the window with DrawTextW you just see boxes.
To make sure it isn't some error in my code, I made sure to use EXACTLY THE SAME FONT HANDLE in both cases. Same thing happens as before.
Under Windows both show the same way..
So, just want to know - why can't DrawTextW find the font glyphs used by WM_SETFONT?
Seems like a bug of some sort, so that's why reported it here as a bug.
OTHER OBSERVATIONS
I had a similar result when it was able to find Arial Unicode MS - in that case again showed them all fine with WM_SETFONT, but when I used DrawTextW, only the ★ of ★ ✾ ✰ ✲ was shown correctly.
If I install unifont, then it finds it as the best match for "Arial Unicode MS", and then shows the characters in both cases correctly (but is no good for my purposes, too pixellated).
THIS IS A VERY MINOR FEATURE
It is a minor feature of my app so not a priority bug to fix, just for completeness. I am about to submit my app to the Wine database and this is one of the remaining unfixed differences when testing for compatibility of the app with Windows.