EnumFonts, EnumFontFamilies
If an OS/2 font is assigned to more than one Windows CharSet, the Open32
NLS Extension returns only CharSets listed below, for Win32 compatibility.
The font for different CharSet has the different qualifier at the end of
the facename. If facename string with qualifier exceeds the length limit
(32 bytes), that qualifier is not appended to the facename string.
Windows CharSet
ANSI_CHARSET
If the font is for SBCS only, and ANSI capable.
GREEK_CHARSET
If the font
is for SBCS only, and Greek capable. The facename is followed by " Greek"
EASTEUROPE_CHARSET
If the
font is for SBCS only, and East Europe capable. The facename is followed
by " CE"
RUSSIAN_CHARSET
If
the font is for SBCS only, and Cyrillic capable. The facename is followed
by " Cyr"
OEM_CHARSET
If
the font is for OEM. The facename is followed by "OEM". (not in Windows.
Open32 unique)
SYMBOL_CHARSET
If
the font is for SYMBOL.
SHIFTJIS_CHARSET
If
the font is for Japanese. Other CharSets should not be returned.
HANGEUL_CHARSET
If the font is for Hangeul (Wansung). Other CharSets
should not be returned.
GB2312_CHARSET
If
the font is for Simplified Chinese. Other CharSets should not be returned.
CHINESEBIG5_CHARSET
If the
font is for Traditional Chinese. Other CharSets should not be returned.
For example, OS/2 "MINCHO" font is returned as
SHIFTJIS_CHARSET,
OEM_CHARSET,
OS/2 "Courier"
font is returned as
ANSI_CHARSET,
GREEK_CHARSET,
EASTEUROPE_CHARSET,
RUSSIAN_CHARSET,
OEM_CHARSET,
EnumFontFamiliesEx
If an OS/2 font is assigned to more than one Windows CharSet, the Open32
NLS Extension returns all possible CharSets for that font. The font for
different CharSet has the same facename, with different scriptname (elfScript
member in ENUMLOGFONTEX structure).
Windows CharSet
ANSI_CHARSET
If the font is ANSI capable. The scriptname is "Western".
GREEK_CHARSET
If the font
is Greek capable. The scriptname is "Greek".
EASTEUROPE_CHARSET
If the font is East Europe capable. The scriptname
is "Central European".
RUSSIAN_CHARSET
If
the font is Cyrillic capable. The scriptname is "Cyrillic".
TURKISH_CHARSET
If the font is Turkish capable. The scriptname is
"Turkish".
HEBREW_CHARSET
If
the font is Hebrew capable. The scriptname is "Hebrew".
ARABIC_CHARSET
If the font is Arabic capable. The scriptname is
"Arabic".
BALTIC_CHARSET
If
the font is Baltic capable. The scriptname is "Baltic".
THAI_CHARSET
If the font is Thai capable. The scriptname is "Thai".
OEM_CHARSET
If the font
is for OEM. The scriptname is "OEM/DOS".
SYMBOL_CHARSET
If the font is for SYMBOL. The scriptname is "Symbol".
SHIFTJIS_CHARSET
If the
font is Japanese capable. The scriptname is T.B.D."Japanese".
HANGEUL_CHARSET
If the font is Hangeul (Wansung) capable. The scriptname
is T.B.D."HANGEUL".
JOHAB_CHARSET
If
the font is Hangeul (Johab) capable. The scriptname is T.B.D."JOHAB".
GB2312_CHARSET
If the font is Simplified Chinese capable. The scriptname
is T.B.D."GB2312".
CHINESEBIG5_CHARSET
If
the font is Traditional Chinese capable. The scriptname is T.B.D."CHINESEBIG5".
Note: The Open32 NLS Extensions uses above
script names in English, but on Windows 95 , translated script names are
used. Must consider that how string are used.
ChooseFont
ChooseFont will be implemented based on EnumFontFamiliesEx. The candidates
in the ListBox are shown in the following format:
[Back: Assigning Windows CharSet id to OS/2 Fonts]
[Next: Creating a Logical Font]