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
16enum 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