X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/34be948fdb79b001bfd81e402e786a802a2bfee5..345ff9c65b3ef17709785708b224dfcbf5135583:/src/gtk/font.cpp diff --git a/src/gtk/font.cpp b/src/gtk/font.cpp index 30828c0fac..72b651732c 100644 --- a/src/gtk/font.cpp +++ b/src/gtk/font.cpp @@ -93,8 +93,6 @@ protected: void InitFromNative(); private: - wxFontFamily m_family; - wxFontEncoding m_encoding; bool m_underlined; bool m_noAA; // No anti-aliasing @@ -116,15 +114,12 @@ void wxFontRefData::Init(int pointSize, wxFontWeight weight, bool underlined, const wxString& faceName, - wxFontEncoding encoding) + wxFontEncoding WXUNUSED(encoding)) { - m_family = family == wxFONTFAMILY_DEFAULT ? wxFONTFAMILY_SWISS : family; + 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 @@ -133,26 +128,12 @@ void wxFontRefData::Init(int pointSize, // 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 { - switch (m_family) - { - case wxFONTFAMILY_MODERN: - case wxFONTFAMILY_TELETYPE: - pango_font_description_set_family( m_nativeFontInfo.description, "monospace" ); - break; - case wxFONTFAMILY_ROMAN: - pango_font_description_set_family( m_nativeFontInfo.description, "serif" ); - break; - case wxFONTFAMILY_SWISS: - // SWISS = sans serif - default: - pango_font_description_set_family( m_nativeFontInfo.description, "sans" ); - break; - } + SetFamily(family); } SetStyle( style == wxDEFAULT ? wxFONTSTYLE_NORMAL : style ); @@ -174,37 +155,14 @@ void wxFontRefData::InitFromNative() if (pango_size == 0) m_nativeFontInfo.SetPointSize(wxDEFAULT_FONT_SIZE); - wxString faceName = wxGTK_CONV_BACK_SYS(pango_font_description_get_family(desc)); - if (faceName == wxT("monospace")) - { - m_family = wxFONTFAMILY_TELETYPE; - } - else if (faceName == wxT("sans")) - { - m_family = wxFONTFAMILY_SWISS; - } - else if (faceName == wxT("serif")) - { - m_family = wxFONTFAMILY_ROMAN; - } - else - { - m_family = wxFONTFAMILY_UNKNOWN; - } - // Pango description are never underlined m_underlined = false; - - // always with GTK+ 2 - m_encoding = wxFONTENCODING_UTF8; } wxFontRefData::wxFontRefData( const wxFontRefData& data ) : wxGDIRefData() { - m_family = data.m_family; 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 @@ -263,30 +221,26 @@ bool wxFontRefData::SetPixelSize(const wxSize& pixelSize) return false; } - pango_font_description_set_absolute_size( m_nativeFontInfo.description, + pango_font_description_set_absolute_size( m_nativeFontInfo.description, pixelSize.GetHeight() * PANGO_SCALE ); return true; } - */ void wxFontRefData::SetFamily(wxFontFamily family) { - m_family = family; - - // wxNativeInfo::SetFamily asserts because is currently not implemented--- - // we just save the family here FIXME + m_nativeFontInfo.SetFamily(family); } void wxFontRefData::SetStyle(wxFontStyle style) { - m_nativeFontInfo.SetStyle((wxFontStyle)style); + m_nativeFontInfo.SetStyle(style); } void wxFontRefData::SetWeight(wxFontWeight weight) { - m_nativeFontInfo.SetWeight((wxFontWeight)weight); + m_nativeFontInfo.SetWeight(weight); } void wxFontRefData::SetUnderlined(bool underlined) @@ -304,13 +258,9 @@ bool wxFontRefData::SetFaceName(const wxString& facename) 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) @@ -395,12 +345,7 @@ wxFontFamily wxFont::GetFamily() const { wxCHECK_MSG( IsOk(), wxFONTFAMILY_MAX, wxT("invalid font") ); - wxFontFamily ret = M_FONTDATA->m_nativeFontInfo.GetFamily(); - - if (ret == wxFONTFAMILY_DEFAULT) - ret = M_FONTDATA->m_family; - - return ret; + return M_FONTDATA->m_nativeFontInfo.GetFamily(); } wxFontStyle wxFont::GetStyle() const @@ -428,7 +373,8 @@ wxFontEncoding wxFont::GetEncoding() const { 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