]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/fontenc.h
added adjustOrigin parameter to bounds calculation
[wxWidgets.git] / include / wx / fontenc.h
index 2ec2bc147aba2f03729f256988ad3b59a62e1a30..622c78fde3789f2f1c332330a82351cb8710ec47 100644 (file)
@@ -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
 {
@@ -70,64 +68,83 @@ enum wxFontEncoding
 
     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()
-        : 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"
+    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
 
-    // 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
 
-#endif // wxUSE_GUI
+        // Japanese (see http://zsigri.tripod.com/fontboard/cjk/jis.html)
+    wxFONTENCODING_SHIFT_JIS = wxFONTENCODING_CP932 // Shift JIS
+};
 
 #endif // _WX_FONTENC_H_
+