X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..d894c201132341a31790bba39a0c33d03d71aeb8:/include/wx/fontenc.h diff --git a/include/wx/fontenc.h b/include/wx/fontenc.h index 83300a6f40..afa99f08f1 100644 --- a/include/wx/fontenc.h +++ b/include/wx/fontenc.h @@ -12,6 +12,8 @@ #ifndef _WX_FONTENC_H_ #define _WX_FONTENC_H_ +#include "wx/string.h" + // font encodings enum wxFontEncoding { @@ -52,6 +54,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 @@ -61,11 +67,76 @@ enum wxFontEncoding wxFONTENCODING_CP1256, // WinArabic wxFONTENCODING_CP1257, // WinBaltic (same as Latin 7) wxFONTENCODING_CP12_MAX, - + + wxFONTENCODING_UTF7, // UTF-7 Unicode encoding + wxFONTENCODING_UTF8, // UTF-8 Unicode encoding + + // 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, // Extended Unix Codepage for Japanese + wxFONTENCODING_UNICODE, // Unicode - currently used only by // wxEncodingConverter class 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__) + 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; +}; + +#endif // wxUSE_GUI + #endif // _WX_FONTENC_H_