X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/db0ff83efbd6105c04d5ab84c85094e887e97b9a..fd657b8a5907c8584db84c85535ce281bdd65193:/wxPython/src/fonts.i diff --git a/wxPython/src/fonts.i b/wxPython/src/fonts.i index 7506801a9d..8137e23db8 100644 --- a/wxPython/src/fonts.i +++ b/wxPython/src/fonts.i @@ -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 @@ -131,14 +132,22 @@ enum wxFontEncoding wxFONTENCODING_UTF7, // UTF-7 Unicode encoding wxFONTENCODING_UTF8, // UTF-8 Unicode encoding - wxFONTENCODING_UNICODE, // Unicode - currently used only by - // wxEncodingConverter class + // 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 = wxFONTENCODING_UTF8 + 1, // Extended Unix Codepage + // for Japanese + + 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 @@ -147,26 +156,11 @@ enum wxFontEncoding // ToString() and restore them using FromString()) struct wxNativeFontInfo { -#ifdef __WXGTK__ - // init the elements from an XLFD, return TRUE if ok - bool FromXFontName(const wxString& xFontName); - - // return false if we were never initialized with a valid XLFD - bool IsDefault() const; - - // generate an XLFD using the fontElements - wxString GetXFontName() const; - - // set the XFLD - void SetXFontName(const wxString& xFontName); -#endif - - wxNativeFontInfo() { Init(); } + wxNativeFontInfo(); // reset to the default state void Init(); -#ifndef __WXGTK__ // accessors and modifiers for the font elements int GetPointSize() const; wxFontStyle GetStyle() const; @@ -183,7 +177,6 @@ struct wxNativeFontInfo void SetFaceName(wxString facename); void SetFamily(wxFontFamily family); void SetEncoding(wxFontEncoding encoding); -#endif // it is important to be able to serialize wxNativeFontInfo objects to be // able to store them (in config file, for example) @@ -204,6 +197,34 @@ struct wxNativeFontInfo }; +%{ +// Fix some link errors... Remove this when these methods get real implementations... +#if defined(__WXGTK__) || defined(__WXX11__) +#if wxUSE_PANGO +void wxNativeFontInfo::SetPointSize(int pointsize) + { wxFAIL_MSG( _T("not implemented") ); } + +void wxNativeFontInfo::SetStyle(wxFontStyle style) + { wxFAIL_MSG( _T("not implemented") ); } + +void wxNativeFontInfo::SetWeight(wxFontWeight weight) + { wxFAIL_MSG( _T("not implemented") ); } + +void wxNativeFontInfo::SetUnderlined(bool WXUNUSED(underlined)) + { wxFAIL_MSG( _T("not implemented") ); } + +void wxNativeFontInfo::SetFaceName(wxString facename) + { wxFAIL_MSG( _T("not implemented") ); } + +void wxNativeFontInfo::SetFamily(wxFontFamily family) + { wxFAIL_MSG( _T("not implemented") ); } + +void wxNativeFontInfo::SetEncoding(wxFontEncoding encoding) + { wxFAIL_MSG( _T("not implemented") ); } +#endif +#endif +%} + //--------------------------------------------------------------------------- // wxFontMapper manages user-definable correspondence between logical font // names and the fonts present on the machine. @@ -307,6 +328,13 @@ public: wxFontEncoding encoding=wxFONTENCODING_DEFAULT); %name(wxFontFromNativeInfo)wxFont(const wxNativeFontInfo& info); + %addmethods { + %new wxFont* wxFontFromNativeInfoString(const wxString& info) { + wxNativeFontInfo nfi; + nfi.FromString(info); + return new wxFont(nfi); + } + } ~wxFont(); @@ -340,9 +368,13 @@ public: wxString GetStyleString() const; wxString GetWeightString() const; + void SetNoAntiAliasing( bool no = TRUE ); + bool GetNoAntiAliasing(); + static wxFontEncoding GetDefaultEncoding(); static void SetDefaultEncoding(wxFontEncoding encoding); + %pragma(python) addtoclass = "def __nonzero__(self): return self.Ok()" }; @@ -412,7 +444,9 @@ public: enum wxLanguage { + // user's default/preffered language as got from OS: wxLANGUAGE_DEFAULT, + // unknown language, if wxLocale::GetSystemLanguage fails: wxLANGUAGE_UNKNOWN, wxLANGUAGE_ABKHAZIAN, @@ -691,16 +725,28 @@ public: wxLocale(int language = wxLANGUAGE_DEFAULT, int flags = wxLOCALE_LOAD_DEFAULT | wxLOCALE_CONV_ENCODING); - // the same as a function (returns TRUE on success) - bool Init(const wxString& szName, - const wxString& szShort = wxPyEmptyString, - const wxString& szLocale = wxPyEmptyString, - bool bLoadDefault = TRUE, - bool bConvertEncoding = FALSE); - // restores old locale ~wxLocale(); + %name(Init1)bool Init(const wxString& szName, + const wxString& szShort = wxPyEmptyString, + const wxString& szLocale = wxPyEmptyString, + bool bLoadDefault = TRUE, + bool bConvertEncoding = FALSE); + + %name(Init2) bool Init(int language = wxLANGUAGE_DEFAULT, + int flags = wxLOCALE_LOAD_DEFAULT | wxLOCALE_CONV_ENCODING); + + %pragma(python) addtoclass = " + def Init(self, *_args, **_kwargs): + if type(_args[0]) in [type(''), type(u'')]: + val = self.Init1(*_args, **_kwargs) + else: + val = self.Init2(*_args, **_kwargs) + return val + " + + // Try to get user's (or OS's) prefered language setting. // Return wxLANGUAGE_UNKNOWN if language-guessing algorithm failed static int GetSystemLanguage(); @@ -755,6 +801,18 @@ public: // check if the given catalog is loaded bool IsLoaded(const wxString& szDomain) const; + // Retrieve the language info struct for the given language + // + // Returns NULL if no info found, pointer must *not* be deleted by caller + static const wxLanguageInfo *GetLanguageInfo(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 @@ -912,6 +970,7 @@ public: // equivalent encodings, regardless the platform, including itself. static wxFontEncodingArray GetAllEquivalents(wxFontEncoding enc); + %pragma(python) addtoclass = "def __nonzero__(self): return self.IsOk()" };