/**
Font encodings.
+
+ See wxFont::SetEncoding().
*/
enum wxFontEncoding
{
@see @ref overview_fontencoding, SetDefaultEncoding()
*/
static wxFontEncoding GetDefaultEncoding();
-
+
+ /**
+ Returns the encoding of this font.
+
+ Note that under wxGTK the returned value is always @c wxFONTENCODING_UTF8.
+
+ @see SetEncoding()
+ */
+ virtual wxFontEncoding GetEncoding() const;
+
/**
Returns the face name associated with the font, or the empty string if
there is no face information.
@see @ref overview_fontencoding, GetDefaultEncoding()
*/
static void SetDefaultEncoding(wxFontEncoding encoding);
+
+ /**
+ Sets the encoding for this font.
+
+ Note that under wxGTK this function has no effect (because the underlying
+ Pango library always uses @c wxFONTENCODING_UTF8).
+
+ @see GetEncoding()
+ */
+ virtual void SetEncoding(wxFontEncoding encoding);
/**
Sets the facename for the font.
void InitFromNative();
private:
- wxFontEncoding m_encoding;
bool m_underlined;
bool m_noAA; // No anti-aliasing
wxFontWeight weight,
bool underlined,
const wxString& faceName,
- wxFontEncoding encoding)
+ wxFontEncoding WXUNUSED(encoding))
{
if (family == wxFONTFAMILY_DEFAULT)
family = wxFONTFAMILY_SWISS;
m_underlined = underlined;
- m_encoding = encoding;
- if ( m_encoding == wxFONTENCODING_DEFAULT )
- m_encoding = wxFont::GetDefaultEncoding();
-
m_noAA = false;
// Create native font info
// And set its values
if (!faceName.empty())
{
- pango_font_description_set_family( m_nativeFontInfo.description,
+ pango_font_description_set_family( m_nativeFontInfo.description,
wxGTK_CONV_SYS(faceName) );
}
else
// Pango description are never underlined
m_underlined = false;
-
- // always with GTK+ 2
- m_encoding = wxFONTENCODING_UTF8;
}
wxFontRefData::wxFontRefData( const wxFontRefData& data )
: wxGDIRefData()
{
m_underlined = data.m_underlined;
- m_encoding = data.m_encoding;
m_noAA = data.m_noAA;
// Forces a copy of the internal data. wxNativeFontInfo should probably
return m_nativeFontInfo.SetFaceName(facename);
}
-void wxFontRefData::SetEncoding(wxFontEncoding encoding)
+void wxFontRefData::SetEncoding(wxFontEncoding WXUNUSED(encoding))
{
- m_encoding = encoding;
-
- // the internal Pango encoding is always UTF8; here we save the
- // encoding just to make it possible to return it from GetEncoding()
- // FIXME: this seems wrong; shouldn't GetEncoding() always return wxFONTENCODING_UTF8?
+ // with GTK+ 2 Pango always uses UTF8 internally, we cannot change it
}
void wxFontRefData::SetNativeFontInfo(const wxNativeFontInfo& info)
{
wxCHECK_MSG( IsOk(), wxFONTENCODING_SYSTEM, wxT("invalid font") );
- return M_FONTDATA->m_encoding;
+ return wxFONTENCODING_UTF8;
+ // Pango always uses UTF8... see also SetEncoding()
}
bool wxFont::GetNoAntiAliasing() const