]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/fonts.i
Unicode fix from Will
[wxWidgets.git] / wxPython / src / fonts.i
index dffe3ed4d2d8ffb55e5f0729524e5044e9924808..289562f068d842557ffaae7bfb9d900b426062ff 100644 (file)
@@ -74,6 +74,7 @@ enum wxFontWeight
 };
 
 
+
 // font encodings
 enum wxFontEncoding
 {
@@ -115,7 +116,7 @@ enum wxFontEncoding
         // and for Windows
     wxFONTENCODING_CP874,           // WinThai
     wxFONTENCODING_CP932,           // Japanese (shift-JIS)
-    wxFONTENCODING_CP936,           // Chiniese simplified (GB)
+    wxFONTENCODING_CP936,           // Chinese simplified (GB)
     wxFONTENCODING_CP949,           // Korean (Hangul charset)
     wxFONTENCODING_CP950,           // Chinese (traditional - Big5)
     wxFONTENCODING_CP1250,          // WinLatin2
@@ -138,16 +139,15 @@ enum wxFontEncoding
 
         // 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_EUC_JP = wxFONTENCODING_UTF8 + 1,  // Extended Unix Codepage
+                                                      // for Japanese
 
-    wxFONTENCODING_UNICODE,         // Unicode - currently used only by
-                                    // wxEncodingConverter class
+    wxFONTENCODING_UNICODE,         // Unicode (for wxEncodingConverter only)
 
     wxFONTENCODING_MAX
 };
 
 
-
 //---------------------------------------------------------------------------
 // wxNativeFontInfo is platform-specific font representation: this struct
 // should be considered as opaque font description only used by the native
@@ -249,13 +249,40 @@ public:
     static wxFontMapper *Set(wxFontMapper *mapper);
 
 
-    // find an alternative for the given encoding (which is supposed to not be
-    // available on this system). If successful, return TRUE and rwxFontEcoding
-    // that can be used it wxFont ctor otherwise return FALSE
-    //bool GetAltForEncoding(wxFontEncoding encoding,
-    //                       wxFontEncoding *alt_encoding,
-    //                       const wxString& facename = wxPyEmptyString,
-    //                       bool interactive = TRUE);
+    // returns the encoding for the given charset (in the form of RFC 2046) or
+    // wxFONTENCODING_SYSTEM if couldn't decode it
+    //
+    // interactive parameter is ignored in the base class, we behave as if it
+    // were always false
+    virtual wxFontEncoding CharsetToEncoding(const wxString& charset,
+                                             bool interactive = true);
+
+
+    // get the number of font encodings we know about
+    static size_t GetSupportedEncodingsCount();
+
+    // get the n-th supported encoding
+    static wxFontEncoding GetEncoding(size_t n);
+
+    // return internal string identifier for the encoding (see also
+    // GetEncodingDescription())
+    static wxString GetEncodingName(wxFontEncoding encoding);
+
+    // return user-readable string describing the given encoding
+    //
+    // NB: hard-coded now, but might change later (read it from config?)
+    static wxString GetEncodingDescription(wxFontEncoding encoding);
+
+
+    // set the config object to use (may be NULL to use default)
+    void SetConfig(wxConfigBase *config);
+
+    // set the root config path to use (should be an absolute path)
+    void SetConfigPath(const wxString& prefix);
+
+    // return default config path
+    static const wxChar *GetDefaultConfigPath();
+
 
 
     // Find an alternative for the given encoding (which is supposed to not be
@@ -281,40 +308,12 @@ public:
     bool IsEncodingAvailable(wxFontEncoding encoding,
                              const wxString& facename = wxPyEmptyString);
 
-    // returns the encoding for the given charset (in the form of RFC 2046) or
-    // wxFONTENCODING_SYSTEM if couldn't decode it
-    wxFontEncoding CharsetToEncoding(const wxString& charset,
-                                     bool interactive = TRUE);
-
-    // return internal string identifier for the encoding (see also
-    // GetEncodingDescription())
-    static wxString GetEncodingName(wxFontEncoding encoding);
-
-    // return user-readable string describing the given encoding
-    //
-    // NB: hard-coded now, but might change later (read it from config?)
-    static wxString GetEncodingDescription(wxFontEncoding encoding);
-
     // the parent window for modal dialogs
-    void SetDialogParent(wxWindow *parent);
+    void SetDialogParent(wxWindow *parent) { m_windowParent = parent; }
 
     // the title for the dialogs (note that default is quite reasonable)
-    void SetDialogTitle(const wxString& title);
+    void SetDialogTitle(const wxString& title) { m_titleDialog = title; }
 
-    // functions which allow to configure the config object used: by default,
-    // the global one (from wxConfigBase::Get() will be used) and the default
-    // root path for the config settings is the string returned by
-    // GetDefaultConfigPath()
-
-
-    // set the config object to use (may be NULL to use default)
-    void SetConfig(wxConfigBase *config);
-
-    // set the root config path to use (should be an absolute path)
-    void SetConfigPath(const wxString& prefix);
-
-    // return default config path
-    static wxString GetDefaultConfigPath();
 };
 
 
@@ -374,6 +373,7 @@ public:
     static wxFontEncoding GetDefaultEncoding();
     static void SetDefaultEncoding(wxFontEncoding encoding);
 
+    %pragma(python) addtoclass = "def __nonzero__(self): return self.Ok()"
 };
 
 
@@ -739,9 +739,9 @@ public:
     %pragma(python) addtoclass = "
     def Init(self, *_args, **_kwargs):
         if type(_args[0]) in [type(''), type(u'')]:
-            val = apply(self.Init1, _args, _kwargs)
+            val = self.Init1(*_args, **_kwargs)
         else:
-            val = apply(self.Init2, _args, _kwargs)
+            val = self.Init2(*_args, **_kwargs)
         return val
     "
 
@@ -805,6 +805,17 @@ public:
     // Returns NULL if no info found, pointer must *not* be deleted by caller
     static const wxLanguageInfo *GetLanguageInfo(int lang);
 
+    // Returns language name in English or empty string if the language
+    // is not in database
+    static wxString GetLanguageName(int lang);
+
+    // Find the language for the given locale string which may be either a
+    // canonical ISO 2 letter language code ("xx"), a language code followed by
+    // the country code ("xx_XX") or a Windows full language name ("Xxxxx...")
+    //
+    // Returns NULL if no info found, pointer must *not* be deleted by caller
+    static const wxLanguageInfo *FindLanguageInfo(const wxString& locale);
+
     // Add custom language to the list of known languages.
     // Notes: 1) wxLanguageInfo contains platform-specific data
     //        2) must be called before Init to have effect
@@ -962,6 +973,7 @@ public:
     // equivalent encodings, regardless the platform, including itself.
     static wxFontEncodingArray GetAllEquivalents(wxFontEncoding enc);
 
+    %pragma(python) addtoclass = "def __nonzero__(self): return self.IsOk()"
 };