]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/fontenc.h
fixed the last of the off-by-one errors (some are refixed, again...)
[wxWidgets.git] / include / wx / fontenc.h
index 83300a6f403dcf3e0170fd44eee7e9407d9fa794..f9cf688ed5da1bc597616d01d68713e8a50c9291 100644 (file)
@@ -12,6 +12,8 @@
 #ifndef _WX_FONTENC_H_
 #define _WX_FONTENC_H_
 
 #ifndef _WX_FONTENC_H_
 #define _WX_FONTENC_H_
 
+#include "wx/string.h"
+
 // font encodings
 enum wxFontEncoding
 {
 // font encodings
 enum wxFontEncoding
 {
@@ -61,11 +63,60 @@ enum wxFontEncoding
     wxFONTENCODING_CP1256,          // WinArabic
     wxFONTENCODING_CP1257,          // WinBaltic (same as Latin 7)
     wxFONTENCODING_CP12_MAX,
     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
 };
 
     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_
 #endif // _WX_FONTENC_H_