PRB: ExtTextOutW or TextOutW Unicode Text Output Is BlankID: Q145754
|
When you use ExtTextOutW or TextOutW to display a character that is in the unicode range but not in the particular codepage with which the font file is associated, a blank character is displayed.
The Unicode font glyphs are stored inside the font file. However, one font
file does not contain all the glyphs required to display all 64K possible
Unicode characters.
Windows NT and Windows 95 support the Unicode Font file. Therefore all of
the Unicode glyphs can be rendered if the glyph is found in the font file.
However, Windows 95 does not support the Unicode characters other than the
characters for which the particular codepage of the font file is defined.
When Windows 95 opens a font file, it will first determine which encoding
standard the font file contains (for example the ANSI, SHIFTJIS, BIG5, or
HANGEUL character set) by looking at the LanguageID in the name table.
After Windows 95 determines the file's LanguageID, the font file can only
support that particular language, even though other glyphs may exist in the
font file. For example, a Japanese font file can not support Hangeul
because the Japanese codepage does not define any Hangeul characters. But a
Japanese font can support part of Cyrillic because the Japanese codepage
defines part of those.
On the other hand, Windows 95 supports multiple character sets from one
font file. For a given font file that supports multiple character sets,
Windows 95 will enumerate the multiple character sets as a seperate fonts.
The user can determine if a font supports multiple character sets in the
Font common dialog under the Script combo box. If the selected font
supports multiple character sets, then the Script combo box will have
entries for the various scripts available.
The functionality as described above is by design and is different from the
Windows NT Unicode Font support. In Far East Windows NT versions, FontLinks
make it possible to have a font which can supports whole 64K Unicode
characters. The difference between Windows 95 and Windows NT is due to the
fact that the former is ANSI-based while the latter is Unicode-based.
However, Windows NT does not support a method to input all characters while
Windows 95 defines those methods as multilingual specification.
In furture versions of Windows 95 and Windows NT, the multilingual
specification will be merged into both platforms.
This behavior is by design.
See the Win32 SDK's Multilingual support sections for more information on multiple character set handling and multilingual operation. Additionally, see Developing International Software For Windows 95 and Windows NT, Microsoft Press 1995.
Additional query words: 4.00
Keywords : kbIntlDev
Version : 4.00
Platform : WINDOWS
Issue type :
Last Reviewed: March 6, 1999