Add support for CP1258 (Vietnamese) and CP1361 (Korean Johab) encodings.
[wxWidgets.git] / include / wx / fontenc.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/fontenc.h
3 // Purpose: wxFontEncoding constants
4 // Author: Vadim Zeitlin
5 // Modified by:
6 // Created: 29.03.00
7 // RCS-ID: $Id$
8 // Copyright: (c) Vadim Zeitlin
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_FONTENC_H_
13 #define _WX_FONTENC_H_
14
15 // font encodings
16 enum wxFontEncoding
17 {
18 wxFONTENCODING_SYSTEM = -1, // system default
19 wxFONTENCODING_DEFAULT, // current default encoding
20
21 // ISO8859 standard defines a number of single-byte charsets
22 wxFONTENCODING_ISO8859_1, // West European (Latin1)
23 wxFONTENCODING_ISO8859_2, // Central and East European (Latin2)
24 wxFONTENCODING_ISO8859_3, // Esperanto (Latin3)
25 wxFONTENCODING_ISO8859_4, // Baltic (old) (Latin4)
26 wxFONTENCODING_ISO8859_5, // Cyrillic
27 wxFONTENCODING_ISO8859_6, // Arabic
28 wxFONTENCODING_ISO8859_7, // Greek
29 wxFONTENCODING_ISO8859_8, // Hebrew
30 wxFONTENCODING_ISO8859_9, // Turkish (Latin5)
31 wxFONTENCODING_ISO8859_10, // Variation of Latin4 (Latin6)
32 wxFONTENCODING_ISO8859_11, // Thai
33 wxFONTENCODING_ISO8859_12, // doesn't exist currently, but put it
34 // here anyhow to make all ISO8859
35 // consecutive numbers
36 wxFONTENCODING_ISO8859_13, // Baltic (Latin7)
37 wxFONTENCODING_ISO8859_14, // Latin8
38 wxFONTENCODING_ISO8859_15, // Latin9 (a.k.a. Latin0, includes euro)
39 wxFONTENCODING_ISO8859_MAX,
40
41 // Cyrillic charset soup (see http://czyborra.com/charsets/cyrillic.html)
42 wxFONTENCODING_KOI8, // KOI8 Russian
43 wxFONTENCODING_KOI8_U, // KOI8 Ukrainian
44 wxFONTENCODING_ALTERNATIVE, // same as MS-DOS CP866
45 wxFONTENCODING_BULGARIAN, // used under Linux in Bulgaria
46
47 // what would we do without Microsoft? They have their own encodings
48 // for DOS
49 wxFONTENCODING_CP437, // original MS-DOS codepage
50 wxFONTENCODING_CP850, // CP437 merged with Latin1
51 wxFONTENCODING_CP852, // CP437 merged with Latin2
52 wxFONTENCODING_CP855, // another cyrillic encoding
53 wxFONTENCODING_CP866, // and another one
54 // and for Windows
55 wxFONTENCODING_CP874, // WinThai
56 wxFONTENCODING_CP932, // Japanese (shift-JIS)
57 wxFONTENCODING_CP936, // Chinese simplified (GB)
58 wxFONTENCODING_CP949, // Korean (Hangul charset, a.k.a. EUC-KR)
59 wxFONTENCODING_CP950, // Chinese (traditional - Big5)
60 wxFONTENCODING_CP1250, // WinLatin2
61 wxFONTENCODING_CP1251, // WinCyrillic
62 wxFONTENCODING_CP1252, // WinLatin1
63 wxFONTENCODING_CP1253, // WinGreek (8859-7)
64 wxFONTENCODING_CP1254, // WinTurkish
65 wxFONTENCODING_CP1255, // WinHebrew
66 wxFONTENCODING_CP1256, // WinArabic
67 wxFONTENCODING_CP1257, // WinBaltic (same as Latin 7)
68 wxFONTENCODING_CP1258, // WinVietnamese
69 wxFONTENCODING_CP1361, // Johab Korean character set.
70 wxFONTENCODING_CP12_MAX,
71
72 wxFONTENCODING_UTF7, // UTF-7 Unicode encoding
73 wxFONTENCODING_UTF8, // UTF-8 Unicode encoding
74 wxFONTENCODING_EUC_JP, // Extended Unix Codepage for Japanese
75 wxFONTENCODING_UTF16BE, // UTF-16 Big Endian Unicode encoding
76 wxFONTENCODING_UTF16LE, // UTF-16 Little Endian Unicode encoding
77 wxFONTENCODING_UTF32BE, // UTF-32 Big Endian Unicode encoding
78 wxFONTENCODING_UTF32LE, // UTF-32 Little Endian Unicode encoding
79
80 wxFONTENCODING_MACROMAN, // the standard mac encodings
81 wxFONTENCODING_MACJAPANESE,
82 wxFONTENCODING_MACCHINESETRAD,
83 wxFONTENCODING_MACKOREAN,
84 wxFONTENCODING_MACARABIC,
85 wxFONTENCODING_MACHEBREW,
86 wxFONTENCODING_MACGREEK,
87 wxFONTENCODING_MACCYRILLIC,
88 wxFONTENCODING_MACDEVANAGARI,
89 wxFONTENCODING_MACGURMUKHI,
90 wxFONTENCODING_MACGUJARATI,
91 wxFONTENCODING_MACORIYA,
92 wxFONTENCODING_MACBENGALI,
93 wxFONTENCODING_MACTAMIL,
94 wxFONTENCODING_MACTELUGU,
95 wxFONTENCODING_MACKANNADA,
96 wxFONTENCODING_MACMALAJALAM,
97 wxFONTENCODING_MACSINHALESE,
98 wxFONTENCODING_MACBURMESE,
99 wxFONTENCODING_MACKHMER,
100 wxFONTENCODING_MACTHAI,
101 wxFONTENCODING_MACLAOTIAN,
102 wxFONTENCODING_MACGEORGIAN,
103 wxFONTENCODING_MACARMENIAN,
104 wxFONTENCODING_MACCHINESESIMP,
105 wxFONTENCODING_MACTIBETAN,
106 wxFONTENCODING_MACMONGOLIAN,
107 wxFONTENCODING_MACETHIOPIC,
108 wxFONTENCODING_MACCENTRALEUR,
109 wxFONTENCODING_MACVIATNAMESE,
110 wxFONTENCODING_MACARABICEXT,
111 wxFONTENCODING_MACSYMBOL,
112 wxFONTENCODING_MACDINGBATS,
113 wxFONTENCODING_MACTURKISH,
114 wxFONTENCODING_MACCROATIAN,
115 wxFONTENCODING_MACICELANDIC,
116 wxFONTENCODING_MACROMANIAN,
117 wxFONTENCODING_MACCELTIC,
118 wxFONTENCODING_MACGAELIC,
119 wxFONTENCODING_MACKEYBOARD,
120
121 // more CJK encodings (for historical reasons some are already declared
122 // above)
123 wxFONTENCODING_ISO2022_JP, // ISO-2022-JP JIS encoding
124
125 wxFONTENCODING_MAX, // highest enumerated encoding value
126
127 wxFONTENCODING_MACMIN = wxFONTENCODING_MACROMAN ,
128 wxFONTENCODING_MACMAX = wxFONTENCODING_MACKEYBOARD ,
129
130 // aliases for endian-dependent UTF encodings
131 #ifdef WORDS_BIGENDIAN
132 wxFONTENCODING_UTF16 = wxFONTENCODING_UTF16BE, // native UTF-16
133 wxFONTENCODING_UTF32 = wxFONTENCODING_UTF32BE, // native UTF-32
134 #else // WORDS_BIGENDIAN
135 wxFONTENCODING_UTF16 = wxFONTENCODING_UTF16LE, // native UTF-16
136 wxFONTENCODING_UTF32 = wxFONTENCODING_UTF32LE, // native UTF-32
137 #endif // WORDS_BIGENDIAN
138
139 // alias for the native Unicode encoding on this platform
140 // (this is used by wxEncodingConverter and wxUTFFile only for now)
141 #if SIZEOF_WCHAR_T == 2
142 wxFONTENCODING_UNICODE = wxFONTENCODING_UTF16,
143 #else // SIZEOF_WCHAR_T == 4
144 wxFONTENCODING_UNICODE = wxFONTENCODING_UTF32,
145 #endif
146
147 // alternative names for Far Eastern encodings
148 // Chinese
149 wxFONTENCODING_GB2312 = wxFONTENCODING_CP936, // Simplified Chinese
150 wxFONTENCODING_BIG5 = wxFONTENCODING_CP950, // Traditional Chinese
151
152 // Japanese (see http://zsigri.tripod.com/fontboard/cjk/jis.html)
153 wxFONTENCODING_SHIFT_JIS = wxFONTENCODING_CP932, // Shift JIS
154
155 // Korean (CP 949 not actually the same but close enough)
156 wxFONTENCODING_EUC_KR = wxFONTENCODING_CP949,
157 wxFONTENCODING_JOHAB = wxFONTENCODING_CP1361,
158
159 // Vietnamese
160 wxFONTENCODING_VIETNAMESE = wxFONTENCODING_CP1258
161 };
162
163 #endif // _WX_FONTENC_H_
164