Under windows CE 6, I use AddFontResource() to load arialuni.ttf (Arial Unicode MS, version 1.0.1) into the system font list, and all our supported far east languages (Japanese, Korean, Simplified, and Traditional Chinese) appear correctly when the text draws to the screen using the font.
The same technique does not produce far east characters on the screen under Windows Compact 7. I get empty boxes instead of the actual characters appearing on the screen, something I've seen when the font doesn't support the necessary character set.
I'm using the same code for both platforms, and the same font file. I've debugged through the code to verify that a) The OS claims that the font is actually loaded into the system fonts list via AddFontResource(), b) The OS claims that the font loads into the screen device context before actually drawing the text, and c) The actual far east characters are in the buffer I hand off to DrawText(). This is exactly the same thing that works under CE6.
What's odd is that our supported eastern-European languages (Russian, Czech, Bulgarian) appear correctly on Windows Compact 7 whether or not I load arialuni.ttf. The registry says that the default system font is Tahoma, but I didn't think Tahoma supports anything other than basic western-European languages. It doesn't under CE6.
I would rather not add or use other fonts. Arialuni.ttf supports pretty much every language we're likely to support, and it's already the one and only one we use for non-western-European languages.
There are already several other true-type fonts installed, so that option (and not raster fonts) is already in our OS build.
- Is this arialuni.ttf compatible with Windows Compact 7?
- Is there something you have to build into the OS image to add support for far east languages to make this type of font loading and text drawing work?
- Am I wrong about Tahoma and it's now supporting eastern-European languages?
- What am I missing?
Thanks for any and all ideas.