]> git.saurik.com Git - wxWidgets.git/blob - include/wx/fontenc.h
Added wxDC::GetPartialTextExtents
[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, // we don't support any of KOI8 variants
43 wxFONTENCODING_ALTERNATIVE, // same as MS-DOS CP866
44 wxFONTENCODING_BULGARIAN, // used under Linux in Bulgaria
45
46 // what would we do without Microsoft? They have their own encodings
47 // for DOS
48 wxFONTENCODING_CP437, // original MS-DOS codepage
49 wxFONTENCODING_CP850, // CP437 merged with Latin1
50 wxFONTENCODING_CP852, // CP437 merged with Latin2
51 wxFONTENCODING_CP855, // another cyrillic encoding
52 wxFONTENCODING_CP866, // and another one
53 // and for Windows
54 wxFONTENCODING_CP874, // WinThai
55 wxFONTENCODING_CP932, // Japanese (shift-JIS)
56 wxFONTENCODING_CP936, // Chinese simplified (GB)
57 wxFONTENCODING_CP949, // Korean (Hangul charset)
58 wxFONTENCODING_CP950, // Chinese (traditional - Big5)
59 wxFONTENCODING_CP1250, // WinLatin2
60 wxFONTENCODING_CP1251, // WinCyrillic
61 wxFONTENCODING_CP1252, // WinLatin1
62 wxFONTENCODING_CP1253, // WinGreek (8859-7)
63 wxFONTENCODING_CP1254, // WinTurkish
64 wxFONTENCODING_CP1255, // WinHebrew
65 wxFONTENCODING_CP1256, // WinArabic
66 wxFONTENCODING_CP1257, // WinBaltic (same as Latin 7)
67 wxFONTENCODING_CP12_MAX,
68
69 wxFONTENCODING_UTF7, // UTF-7 Unicode encoding
70 wxFONTENCODING_UTF8, // UTF-8 Unicode encoding
71 wxFONTENCODING_EUC_JP, // Extended Unix Codepage for Japanese
72 wxFONTENCODING_UTF16BE, // UTF-16 Big Endian Unicode encoding
73 wxFONTENCODING_UTF16LE, // UTF-16 Little Endian Unicode encoding
74 wxFONTENCODING_UTF32BE, // UTF-32 Big Endian Unicode encoding
75 wxFONTENCODING_UTF32LE, // UTF-32 Little Endian Unicode encoding
76
77 wxFONTENCODING_MACROMAN, // the standard mac encodings
78 wxFONTENCODING_MACJAPANESE,
79 wxFONTENCODING_MACCHINESETRAD,
80 wxFONTENCODING_MACKOREAN,
81 wxFONTENCODING_MACARABIC,
82 wxFONTENCODING_MACHEBREW,
83 wxFONTENCODING_MACGREEK,
84 wxFONTENCODING_MACCYRILLIC,
85 wxFONTENCODING_MACDEVANAGARI,
86 wxFONTENCODING_MACGURMUKHI,
87 wxFONTENCODING_MACGUJARATI,
88 wxFONTENCODING_MACORIYA,
89 wxFONTENCODING_MACBENGALI,
90 wxFONTENCODING_MACTAMIL,
91 wxFONTENCODING_MACTELUGU,
92 wxFONTENCODING_MACKANNADA,
93 wxFONTENCODING_MACMALAJALAM,
94 wxFONTENCODING_MACSINHALESE,
95 wxFONTENCODING_MACBURMESE,
96 wxFONTENCODING_MACKHMER,
97 wxFONTENCODING_MACTHAI,
98 wxFONTENCODING_MACLAOTIAN,
99 wxFONTENCODING_MACGEORGIAN,
100 wxFONTENCODING_MACARMENIAN,
101 wxFONTENCODING_MACCHINESESIMP,
102 wxFONTENCODING_MACTIBETAN,
103 wxFONTENCODING_MACMONGOLIAN,
104 wxFONTENCODING_MACETHIOPIC,
105 wxFONTENCODING_MACCENTRALEUR,
106 wxFONTENCODING_MACVIATNAMESE,
107 wxFONTENCODING_MACARABICEXT,
108 wxFONTENCODING_MACSYMBOL,
109 wxFONTENCODING_MACDINGBATS,
110 wxFONTENCODING_MACTURKISH,
111 wxFONTENCODING_MACCROATIAN,
112 wxFONTENCODING_MACICELANDIC,
113 wxFONTENCODING_MACROMANIAN,
114 wxFONTENCODING_MACCELTIC,
115 wxFONTENCODING_MACGAELIC,
116 wxFONTENCODING_MACKEYBOARD,
117
118 wxFONTENCODING_MAX, // highest enumerated encoding value
119
120 wxFONTENCODING_MACMIN = wxFONTENCODING_MACROMAN ,
121 wxFONTENCODING_MACMAX = wxFONTENCODING_MACKEYBOARD ,
122
123 // aliases for endian-dependent UTF encodings
124 #ifdef WORDS_BIGENDIAN
125 wxFONTENCODING_UTF16 = wxFONTENCODING_UTF16BE, // native UTF-16
126 wxFONTENCODING_UTF32 = wxFONTENCODING_UTF32BE, // native UTF-32
127 #else // WORDS_BIGENDIAN
128 wxFONTENCODING_UTF16 = wxFONTENCODING_UTF16LE, // native UTF-16
129 wxFONTENCODING_UTF32 = wxFONTENCODING_UTF32LE, // native UTF-32
130 #endif // WORDS_BIGENDIAN
131
132 // alias for the native Unicode encoding on this platform
133 // (this is used by wxEncodingConverter and wxUTFFile only for now)
134 #if SIZEOF_WCHAR_T == 2
135 wxFONTENCODING_UNICODE = wxFONTENCODING_UTF16,
136 #else // SIZEOF_WCHAR_T == 4
137 wxFONTENCODING_UNICODE = wxFONTENCODING_UTF32,
138 #endif
139
140 // alternative names for Far Eastern encodings
141 // Chinese
142 wxFONTENCODING_GB2312 = wxFONTENCODING_CP936, // Simplified Chinese
143 wxFONTENCODING_BIG5 = wxFONTENCODING_CP950, // Traditional Chinese
144
145 // Japanese (see http://zsigri.tripod.com/fontboard/cjk/jis.html)
146 wxFONTENCODING_SHIFT_JIS = wxFONTENCODING_CP932 // Shift JIS
147 };
148
149 #endif // _WX_FONTENC_H_
150