Font definitely stays around and has all the required glyphs. I can
to check for the glyphs. For testing I use Arial MS Unicode.
connected to "locale" is getting in the way. Unfortunately, this is an
area that I know nothing about.
"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam
My guess would be, obviously, that you do not have a font selected that
includes all of the glyphs. If you want a simple test to get a better
handle of what's going on, build a simple, non-MFC test program using the
New Project wizard in your development IDE. This typically results in a
Hello, World program that will draw that string on the main window.
Adjust
the string that is drawn to be one of your Unicode strings and create and
select the font that you think you're using with CEdit and CListbox. What
result? If you still don't get the right glyphs, I'd bet that either a)
the
font doesn't have them (most-likely), or b) you are not creating the font
properly.
If the correct glyphs are displayed, you should check that you are
correctly
setting the font as the font for your controls. You might be using the
wrong message to do this, MFC might be ignoring some sort of SetFont()
call,
or you might be freeing the font after you set it into the control instead
of keeping it around.
Paul T.
"Henryk Birecki" <soaringpilot@sbcglobal.net> wrote in message
news:pb6sp313ghd3b093936543ect5mnh1dc87@4ax.com...
How do I get strings with multiple languages (let's say a mix of
english, russian, japanese characters) to display in a Unicode enabled
application (MFC42U.dll). I read data from file that is utf8, convert
them to WCHAR and want to display resulting strings. CEdit and
CListbox controls have Arial MS Unicode font selected into them that
contains all the characters. The WCHAR strings have correct
information as I can check that in debugger, however when displayed in
controls, english is fine but all else is displayed with "ANSI"
equivalents (read: "gibberish") instead of proper characters.
Can someone point me to what I may be doing wrong, or what needs to be
done to accomplish what I need?
Thanks,
Henryk Birecki