wxFONTENCODING_ISO8859_MAX,
// Cyrillic charset soup (see http://czyborra.com/charsets/cyrillic.html)
- wxFONTENCODING_KOI8, // we don't support any of KOI8 variants
+ wxFONTENCODING_KOI8, // KOI8 Russian
+ wxFONTENCODING_KOI8_U, // KOI8 Ukrainian
wxFONTENCODING_ALTERNATIVE, // same as MS-DOS CP866
wxFONTENCODING_BULGARIAN, // used under Linux in Bulgaria
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_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_MACMIN = wxFONTENCODING_MACROMAN ,
wxFONTENCODING_MACMAX = wxFONTENCODING_MACKEYBOARD ,
// accessors and modifiers for the font elements
int GetPointSize() const;
+#ifdef __WXMSW__
+ wxSize GetPixelSize() const;
+#endif
wxFontStyle GetStyle() const;
wxFontWeight GetWeight() const;
bool GetUnderlined() const;
wxFontEncoding GetEncoding() const;
void SetPointSize(int pointsize);
+#ifdef __WXMSW__
+ void SetPixelSize(const wxSize& pixelSize);
+#endif
void SetStyle(wxFontStyle style);
void SetWeight(wxFontWeight weight);
void SetUnderlined(bool underlined);
wxNativeEncodingInfo();
~wxNativeEncodingInfo();
-
+
// 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);
%inline %{
wxNativeEncodingInfo* wxGetNativeFontEncoding(wxFontEncoding encoding)
{ wxPyRaiseNotImplemented(); return NULL; }
-
+
bool wxTestFontEncoding(const wxNativeEncodingInfo& info)
- { wxPyRaiseNotImplemented(); return False; }
+ { wxPyRaiseNotImplemented(); return false; }
%}
#endif
// 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);
+ bool interactive = true);
// get the number of font encodings we know about
// NB: hard-coded now, but might change later (read it from config?)
static wxString GetEncodingDescription(wxFontEncoding encoding);
+ // find the encoding corresponding to the given name, inverse of
+ // GetEncodingName() and less general than CharsetToEncoding()
+ //
+ // returns wxFONTENCODING_MAX if the name is not a supported encoding
+ static wxFontEncoding GetEncodingFromName(const wxString& name);
+
// set the config object to use (may be NULL to use default)
void SetConfig(wxConfigBase *config);
%extend {
PyObject* GetAltForEncoding(wxFontEncoding encoding,
const wxString& facename = wxPyEmptyString,
- bool interactive = True) {
+ bool interactive = true) {
wxFontEncoding alt_enc;
if (self->GetAltForEncoding(encoding, &alt_enc, facename, interactive))
return PyInt_FromLong(alt_enc);
// checks whether given encoding is available in given face or not.
- // If no facename is given,
+ // If no facename is given (default), return true if it's available in any
+ // facename at all.
bool IsEncodingAvailable(wxFontEncoding encoding,
const wxString& facename = wxPyEmptyString);
%newgroup
+MustHaveApp(wxFont);
+MustHaveApp(wxFont::GetDefaultEncoding);
+MustHaveApp(wxFont::SetDefaultEncoding);
+
class wxFont : public wxGDIObject {
public:
+ %pythonPrepend wxFont "if kwargs.has_key('faceName'): kwargs['face'] = kwargs['faceName'];del kwargs['faceName']"
+
wxFont( int pointSize, int family, int style, int weight,
- bool underline=False, const wxString& face = wxPyEmptyString,
+ bool underline=false, const wxString& face = wxPyEmptyString,
wxFontEncoding encoding=wxFONTENCODING_DEFAULT);
~wxFont();
}
%name(Font2) wxFont(int pointSize,
- wxFontFamily family,
- int flags = wxFONTFLAG_DEFAULT,
- const wxString& face = wxPyEmptyString,
- wxFontEncoding encoding = wxFONTENCODING_DEFAULT) {
+ wxFontFamily family,
+ int flags = wxFONTFLAG_DEFAULT,
+ const wxString& face = wxPyEmptyString,
+ wxFontEncoding encoding = wxFONTENCODING_DEFAULT) {
return wxFont::New(pointSize, family, flags, face, encoding);
}
}
+ // There is a real ctor for this on wxMSW, but not the others, so just use
+ // the factory funciton in all cases.
+ %extend {
+ %name(FontFromPixelSize) wxFont(const wxSize& pixelSize,
+ int family,
+ int style,
+ int weight,
+ bool underlined = false,
+ const wxString& face = wxEmptyString,
+ wxFontEncoding encoding = wxFONTENCODING_DEFAULT) {
+ return wxFontBase::New(pixelSize, family,
+ style, weight, underlined,
+ face, encoding);
+ }
+ }
+
+
// was the font successfully created?
bool Ok() const;
%pythoncode { def __nonzero__(self): return self.Ok() }
// comparison
- bool operator == (const wxFont& font) const;
- bool operator != (const wxFont& font) const;
+ %extend {
+ bool __eq__(const wxFont* other) { return other ? (*self == *other) : false; }
+ bool __ne__(const wxFont* other) { return other ? (*self != *other) : true; }
+ }
// accessors: get the font characteristics
virtual int GetPointSize() const;
+ virtual wxSize GetPixelSize() const;
+ virtual bool IsUsingSizeInPixels() const;
virtual int GetFamily() const;
virtual int GetStyle() const;
virtual int GetWeight() const;
// change the font characteristics
virtual void SetPointSize( int pointSize );
+ virtual void SetPixelSize( const wxSize& pixelSize );
virtual void SetFamily( int family );
virtual void SetStyle( int style );
virtual void SetWeight( int weight );
wxString GetWeightString() const;
// Unofficial API, don't use
- virtual void SetNoAntiAliasing( bool no = True );
- virtual bool GetNoAntiAliasing();
+ virtual void SetNoAntiAliasing( bool no = true );
+ virtual bool GetNoAntiAliasing() const;
// the default encoding is used for creating all fonts with default
// encoding parameter
static wxFontEncoding GetDefaultEncoding() { return ms_encodingDefault; }
static void SetDefaultEncoding(wxFontEncoding encoding);
-};
+};
%}
+MustHaveApp(wxPyFontEnumerator);
+
%name(FontEnumerator) class wxPyFontEnumerator {
public:
%pythonAppend wxPyFontEnumerator "self._setCallbackInfo(self, FontEnumerator, 0)"
bool EnumerateFacenames(
wxFontEncoding encoding = wxFONTENCODING_SYSTEM, // all
- bool fixedWidthOnly = False);
+ bool fixedWidthOnly = false);
bool EnumerateEncodings(const wxString& facename = wxPyEmptyString);
%extend {
PyObject* GetEncodings() {
wxArrayString* arr = self->GetEncodings();
- return wxArrayString2PyList_helper(*arr);
+ if (arr)
+ return wxArrayString2PyList_helper(*arr);
+ else
+ return PyList_New(0);
}
PyObject* GetFacenames() {
wxArrayString* arr = self->GetFacenames();
- return wxArrayString2PyList_helper(*arr);
+ if (arr)
+ return wxArrayString2PyList_helper(*arr);
+ else
+ return PyList_New(0);
}
}
};