#ifndef _WX_FONTENC_H_
#define _WX_FONTENC_H_
+#include "wx/string.h"
+
// font encodings
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
+
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() { charset = 0; /* ANSI_CHARSET */ }
+
+ int charset;
+#elif defined(_WX_X_FONTLIKE)
+ wxString xregistry,
+ xencoding;
+#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_