X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7826e2dd838d59c6a8061b4fdd9f7326a6e06de3..4a4bf7eefbc04cb91652031d9a729720d52dde61:/include/wx/fontenc.h diff --git a/include/wx/fontenc.h b/include/wx/fontenc.h index 4af4ca20d2..69a7857179 100644 --- a/include/wx/fontenc.h +++ b/include/wx/fontenc.h @@ -6,14 +6,12 @@ // Created: 29.03.00 // RCS-ID: $Id$ // Copyright: (c) Vadim Zeitlin -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_FONTENC_H_ #define _WX_FONTENC_H_ -#include "wx/string.h" - // font encodings enum wxFontEncoding { @@ -41,7 +39,8 @@ enum wxFontEncoding wxFONTENCODING_ISO8859_MAX, // Cyrillic charset soup (see http://czyborra.com/charsets/cyrillic.html) - wxFONTENCODING_KOI8, // we don't support any of KOI8 variants + wxFONTENCODING_KOI8, // KOI8 Russian + wxFONTENCODING_KOI8_U, // KOI8 Ukrainian wxFONTENCODING_ALTERNATIVE, // same as MS-DOS CP866 wxFONTENCODING_BULGARIAN, // used under Linux in Bulgaria @@ -54,6 +53,10 @@ enum wxFontEncoding wxFONTENCODING_CP866, // and another one // and for Windows wxFONTENCODING_CP874, // WinThai + wxFONTENCODING_CP932, // Japanese (shift-JIS) + wxFONTENCODING_CP936, // Chinese simplified (GB) + wxFONTENCODING_CP949, // Korean (Hangul charset) + wxFONTENCODING_CP950, // Chinese (traditional - Big5) wxFONTENCODING_CP1250, // WinLatin2 wxFONTENCODING_CP1251, // WinCyrillic wxFONTENCODING_CP1252, // WinLatin1 @@ -63,51 +66,86 @@ enum wxFontEncoding wxFONTENCODING_CP1256, // WinArabic wxFONTENCODING_CP1257, // WinBaltic (same as Latin 7) wxFONTENCODING_CP12_MAX, - - wxFONTENCODING_UNICODE, // Unicode - currently used only by - // wxEncodingConverter class - wxFONTENCODING_MAX -}; + 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 -// ---------------------------------------------------------------------------- -// types -// ---------------------------------------------------------------------------- + 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, -// 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) + wxFONTENCODING_MAX, // highest enumerated encoding value -struct WXDLLEXPORT wxNativeEncodingInfo -{ - wxString facename; // may be empty meaning "any" - wxFontEncoding encoding; // so that we know what this struct represents + wxFONTENCODING_MACMIN = wxFONTENCODING_MACROMAN , + wxFONTENCODING_MACMAX = wxFONTENCODING_MACKEYBOARD , -#if defined(__WXMSW__) || defined(__WXPM__) || defined(__WXMAC__) - wxNativeEncodingInfo() { charset = 0; /* ANSI_CHARSET */ } + // 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 - int charset; -#elif defined(_WX_X_FONTLIKE) - wxString xregistry, - xencoding; -#else - #error "Unsupported toolkit" + // 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 - // 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; + // 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 }; #endif // _WX_FONTENC_H_ +