#ifndef _WX_FONTENC_H_
#define _WX_FONTENC_H_
-#include "wx/string.h"
-
// font encodings
enum wxFontEncoding
{
wxFONTENCODING_UTF7, // UTF-7 Unicode encoding
wxFONTENCODING_UTF8, // UTF-8 Unicode encoding
+ wxFONTENCODING_EUC_JP, // Extended Unix Codepage for Japanese
+ wxFONTENCODING_UTF16BE, // UTF-16 Big Endian Unicode encoding
+ wxFONTENCODING_UTF16LE, // UTF-16 Little Endian Unicode encoding
+ wxFONTENCODING_UTF32BE, // UTF-32 Big Endian Unicode encoding
+ wxFONTENCODING_UTF32LE, // UTF-32 Little Endian Unicode encoding
+
+ wxFONTENCODING_MACROMAN, // the standard mac encodings
+ wxFONTENCODING_MACJAPANESE,
+ wxFONTENCODING_MACCHINESETRAD,
+ wxFONTENCODING_MACKOREAN,
+ wxFONTENCODING_MACARABIC,
+ wxFONTENCODING_MACHEBREW,
+ wxFONTENCODING_MACGREEK,
+ wxFONTENCODING_MACCYRILLIC,
+ wxFONTENCODING_MACDEVANAGARI,
+ wxFONTENCODING_MACGURMUKHI,
+ wxFONTENCODING_MACGUJARATI,
+ wxFONTENCODING_MACORIYA,
+ wxFONTENCODING_MACBENGALI,
+ wxFONTENCODING_MACTAMIL,
+ wxFONTENCODING_MACTELUGU,
+ wxFONTENCODING_MACKANNADA,
+ wxFONTENCODING_MACMALAJALAM,
+ wxFONTENCODING_MACSINHALESE,
+ wxFONTENCODING_MACBURMESE,
+ wxFONTENCODING_MACKHMER,
+ wxFONTENCODING_MACTHAI,
+ wxFONTENCODING_MACLAOTIAN,
+ wxFONTENCODING_MACGEORGIAN,
+ wxFONTENCODING_MACARMENIAN,
+ wxFONTENCODING_MACCHINESESIMP,
+ wxFONTENCODING_MACTIBETAN,
+ wxFONTENCODING_MACMONGOLIAN,
+ wxFONTENCODING_MACETHIOPIC,
+ wxFONTENCODING_MACCENTRALEUR,
+ wxFONTENCODING_MACVIATNAMESE,
+ wxFONTENCODING_MACARABICEXT,
+ wxFONTENCODING_MACSYMBOL,
+ wxFONTENCODING_MACDINGBATS,
+ wxFONTENCODING_MACTURKISH,
+ wxFONTENCODING_MACCROATIAN,
+ wxFONTENCODING_MACICELANDIC,
+ wxFONTENCODING_MACROMANIAN,
+ wxFONTENCODING_MACCELTIC,
+ wxFONTENCODING_MACGAELIC,
+ wxFONTENCODING_MACKEYBOARD,
+
+ wxFONTENCODING_MAX, // highest enumerated encoding value
+
+ wxFONTENCODING_MACMIN = wxFONTENCODING_MACROMAN ,
+ wxFONTENCODING_MACMAX = wxFONTENCODING_MACKEYBOARD ,
+
+ // aliases for endian-dependent UTF encodings
+#ifdef WORDS_BIGENDIAN
+ wxFONTENCODING_UTF16 = wxFONTENCODING_UTF16BE, // native UTF-16
+ wxFONTENCODING_UTF32 = wxFONTENCODING_UTF32BE, // native UTF-32
+#else // WORDS_BIGENDIAN
+ wxFONTENCODING_UTF16 = wxFONTENCODING_UTF16LE, // native UTF-16
+ wxFONTENCODING_UTF32 = wxFONTENCODING_UTF32LE, // native UTF-32
+#endif // WORDS_BIGENDIAN
+
+ // alias for the native Unicode encoding on this platform
+ // (this is used by wxEncodingConverter and wxUTFFile only for now)
+#if SIZEOF_WCHAR_T == 2
+ wxFONTENCODING_UNICODE = wxFONTENCODING_UTF16,
+#else // SIZEOF_WCHAR_T == 4
+ wxFONTENCODING_UNICODE = wxFONTENCODING_UTF32,
+#endif
- // Far Eastern encodings
+ // alternative names for Far Eastern encodings
// Chinese
wxFONTENCODING_GB2312 = wxFONTENCODING_CP936, // Simplified Chinese
wxFONTENCODING_BIG5 = wxFONTENCODING_CP950, // Traditional Chinese
// Japanese (see http://zsigri.tripod.com/fontboard/cjk/jis.html)
- wxFONTENCODING_SHIFT_JIS = wxFONTENCODING_CP932, // Shift JIS
- wxFONTENCODING_EUC_JP = wxFONTENCODING_UTF8 + 1, // Extended Unix Codepage
- // for Japanese
-
- wxFONTENCODING_UNICODE, // Unicode (for wxEncodingConverter only)
-
- wxFONTENCODING_MAX
-};
-
-// ----------------------------------------------------------------------------
-// types
-// ----------------------------------------------------------------------------
-
-#if wxUSE_GUI
-
-// This private structure specifies all the parameters needed to create a font
-// with the given encoding on this platform.
-//
-// Under X, it contains the last 2 elements of the font specifications
-// (registry and encoding).
-//
-// Under Windows, it contains a number which is one of predefined CHARSET_XXX
-// values.
-//
-// Under all platforms it also contains a facename string which should be
-// used, if not empty, to create fonts in this encoding (this is the only way
-// to create a font of non-standard encoding (like KOI8) under Windows - the
-// facename specifies the encoding then)
-
-struct WXDLLEXPORT wxNativeEncodingInfo
-{
- wxString facename; // may be empty meaning "any"
- wxFontEncoding encoding; // so that we know what this struct represents
-
-#if defined(__WXMSW__) || defined(__WXPM__) || defined(__WXMAC__) || defined(__WXCOCOA__) // FIXME: __WXCOCOA__
- wxNativeEncodingInfo()
- : facename()
- , encoding(wxFONTENCODING_SYSTEM)
- , charset(0) /* ANSI_CHARSET */
- { }
-
- int charset;
-#elif defined(_WX_X_FONTLIKE)
- wxString xregistry,
- xencoding;
-#elif defined(__WXGTK20__)
- // No way to specify this in Pango as this
- // seems to be handled internally.
-#elif defined(__WXMGL__)
- int mglEncoding;
-#else
- #error "Unsupported toolkit"
-#endif
-
- // this struct is saved in config by wxFontMapper, so it should know to
- // serialise itself (implemented in platform-specific code)
- bool FromString(const wxString& s);
- wxString ToString() const;
+ wxFONTENCODING_SHIFT_JIS = wxFONTENCODING_CP932 // Shift JIS
};
-#endif // wxUSE_GUI
-
#endif // _WX_FONTENC_H_
+