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: fontenc.h 29139 2004-09-14 12:08:28Z ABX $
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)
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_CP12_MAX,
69 
70     wxFONTENCODING_UTF7,            // UTF-7 Unicode encoding
71     wxFONTENCODING_UTF8,            // UTF-8 Unicode encoding
72     wxFONTENCODING_EUC_JP,          // Extended Unix Codepage for Japanese
73     wxFONTENCODING_UTF16BE,         // UTF-16 Big Endian Unicode encoding
74     wxFONTENCODING_UTF16LE,         // UTF-16 Little Endian Unicode encoding
75     wxFONTENCODING_UTF32BE,         // UTF-32 Big Endian Unicode encoding
76     wxFONTENCODING_UTF32LE,         // UTF-32 Little Endian Unicode encoding
77 
78     wxFONTENCODING_MACROMAN,        // the standard mac encodings
79     wxFONTENCODING_MACJAPANESE,
80     wxFONTENCODING_MACCHINESETRAD,
81     wxFONTENCODING_MACKOREAN,
82     wxFONTENCODING_MACARABIC,
83     wxFONTENCODING_MACHEBREW,
84     wxFONTENCODING_MACGREEK,
85     wxFONTENCODING_MACCYRILLIC,
86     wxFONTENCODING_MACDEVANAGARI,
87     wxFONTENCODING_MACGURMUKHI,
88     wxFONTENCODING_MACGUJARATI,
89     wxFONTENCODING_MACORIYA,
90     wxFONTENCODING_MACBENGALI,
91     wxFONTENCODING_MACTAMIL,
92     wxFONTENCODING_MACTELUGU,
93     wxFONTENCODING_MACKANNADA,
94     wxFONTENCODING_MACMALAJALAM,
95     wxFONTENCODING_MACSINHALESE,
96     wxFONTENCODING_MACBURMESE,
97     wxFONTENCODING_MACKHMER,
98     wxFONTENCODING_MACTHAI,
99     wxFONTENCODING_MACLAOTIAN,
100     wxFONTENCODING_MACGEORGIAN,
101     wxFONTENCODING_MACARMENIAN,
102     wxFONTENCODING_MACCHINESESIMP,
103     wxFONTENCODING_MACTIBETAN,
104     wxFONTENCODING_MACMONGOLIAN,
105     wxFONTENCODING_MACETHIOPIC,
106     wxFONTENCODING_MACCENTRALEUR,
107     wxFONTENCODING_MACVIATNAMESE,
108     wxFONTENCODING_MACARABICEXT,
109     wxFONTENCODING_MACSYMBOL,
110     wxFONTENCODING_MACDINGBATS,
111     wxFONTENCODING_MACTURKISH,
112     wxFONTENCODING_MACCROATIAN,
113     wxFONTENCODING_MACICELANDIC,
114     wxFONTENCODING_MACROMANIAN,
115     wxFONTENCODING_MACCELTIC,
116     wxFONTENCODING_MACGAELIC,
117     wxFONTENCODING_MACKEYBOARD,
118 
119     wxFONTENCODING_MAX,             // highest enumerated encoding value
120 
121     wxFONTENCODING_MACMIN = wxFONTENCODING_MACROMAN ,
122     wxFONTENCODING_MACMAX = wxFONTENCODING_MACKEYBOARD ,
123 
124     // aliases for endian-dependent UTF encodings
125 #ifdef WORDS_BIGENDIAN
126     wxFONTENCODING_UTF16 = wxFONTENCODING_UTF16BE,  // native UTF-16
127     wxFONTENCODING_UTF32 = wxFONTENCODING_UTF32BE,  // native UTF-32
128 #else // WORDS_BIGENDIAN
129     wxFONTENCODING_UTF16 = wxFONTENCODING_UTF16LE,  // native UTF-16
130     wxFONTENCODING_UTF32 = wxFONTENCODING_UTF32LE,  // native UTF-32
131 #endif // WORDS_BIGENDIAN
132 
133     // alias for the native Unicode encoding on this platform
134     // (this is used by wxEncodingConverter and wxUTFFile only for now)
135 #if SIZEOF_WCHAR_T == 2
136     wxFONTENCODING_UNICODE = wxFONTENCODING_UTF16,
137 #else // SIZEOF_WCHAR_T == 4
138     wxFONTENCODING_UNICODE = wxFONTENCODING_UTF32,
139 #endif
140 
141     // alternative names for Far Eastern encodings
142         // Chinese
143     wxFONTENCODING_GB2312 = wxFONTENCODING_CP936, // Simplified Chinese
144     wxFONTENCODING_BIG5 = wxFONTENCODING_CP950,   // Traditional Chinese
145 
146         // Japanese (see http://zsigri.tripod.com/fontboard/cjk/jis.html)
147     wxFONTENCODING_SHIFT_JIS = wxFONTENCODING_CP932 // Shift JIS
148 };
149 
150 #endif // _WX_FONTENC_H_
151 
152