Code pages encompassed by a font can be obtained by calling the dtFontGetNumericValue function and setting the numeric_id parameter to 2102 (DV_NVAL_CPAGE_A) or 2103 (DV_NVAL_CPAGE_B). This information is not always available. Only more recent TrueType and OpenType fonts contain this information.
Format: | 32-bit long (2 copies returned via DV_NVAL_CPAGE_A and DV_NVAL_CPAGE_B) totaling 64 bits. |
---|---|
Description: | These two values can be used to retrieve the code pages encompassed by the font. If the font file is a Microsoft Symbol Font, then the Symbol Character Set bit should be set. If the bit is set (1) then the code page is considered functional. If the bit is clear (0) then the code page is not considered functional. Each of the bits is treated as an independent flag and the bits can be set in any combination. The determination of "functional" is left up to the font designer, although character set selection should attempt to be functional by code pages if at all possible. Symbol character sets have a special meaning. If the symbol bit is set, and the font file is a Microsoft Unicode Font, then all of the characters in the Unicode range 0xF000 - 0xF0FF (inclusive) will be used to enumerate the symbol character set. If the bit is not set, any characters present in that range will not be enumerated as a symbol character set. All reserved fields must be zero. |
DV_NVAL_CPAGE_A
Bit | Code Page | Description |
---|---|---|
0 | 1252 | Latin 1 |
1 | 1250 | Latin 2: Eastern Europe |
2 | 1251 | Cyrillic |
3 | 1253 | Greek |
4 | 1254 | Turkish |
5 | 1255 | Hebrew |
6 | 1256 | Arabic |
7 | 1257 | Windows Baltic |
8 | 1258 | Vietnamese |
9-15 | Reserved for Alternate ANSI | |
16 | 874 | Thai |
17 | 932 | JIS/Japan |
18 | 936 | Chinese: Simplified chars--PRC and Singapore |
19 | 949 | Korean Wansung |
20 | 950 | Chinese: Traditional chars--Taiwan and Hong Kong |
21 | 1361 | Korean Johab |
22 - 28 | Reserved for Alternate ANSI & OEM | |
29 | Macintosh Character Set (US Roman) | |
30 | OEM Character Set | |
31 | Symbol Character Set |
DV_NVAL_CPAGE_B
Bit | Code Page | Description |
---|---|---|
0 - 15 | Reserved for OEM | |
16 | 869 | IBM Greek |
17 | 866 | MS-DOS Russian |
18 | 865 | MS-DOS Nordic |
19 | 864 | Arabic |
20 | 863 | MS-DOS Canadian French |
21 | 862 | Hebrew |
22 | 861 | MS-DOS Icelandic |
23 | 860 | MS-DOS Portuguese |
24 | 857 | IBM Turkish |
25 | 855 | IBM Cyrillic; primarily Russian |
26 | 852 | Latin 2 |
27 | 775 | MS-DOS Baltic |
28 | 737 | Greek; former 437 G |
29 | 708 | Arabic; ASMO 708 |
30 | 850 | WE/Latin 1 |
31 | 437 | US |