diff --git a/include/wx/font.h b/include/wx/font.h index b6826df56d..ec64650c14 100644 --- a/include/wx/font.h +++ b/include/wx/font.h @@ -208,6 +208,9 @@ public: float GetFractionalPointSize() const { return m_pointSize; } int GetPointSize() const { return ToIntPointSize(m_pointSize); } wxSize GetPixelSize() const { return m_pixelSize; } + + // If face name is not empty, it has priority, otherwise use family. + bool HasFaceName() const { return !m_faceName.empty(); } wxFontFamily GetFamily() const { return m_family; } const wxString& GetFaceName() const { return m_faceName; } diff --git a/src/gtk/font.cpp b/src/gtk/font.cpp index db8100333c..d023e6db79 100644 --- a/src/gtk/font.cpp +++ b/src/gtk/font.cpp @@ -86,11 +86,10 @@ wxFontRefData::wxFontRefData(const wxFontInfo& info) m_nativeFontInfo.description = pango_font_description_new(); // And set its values - const wxString& faceName = info.GetFaceName(); - if (!faceName.empty()) + if ( info.HasFaceName() ) { pango_font_description_set_family( m_nativeFontInfo.description, - wxGTK_CONV_SYS(faceName) ); + wxGTK_CONV_SYS(info.GetFaceName()) ); } else { diff --git a/src/msw/font.cpp b/src/msw/font.cpp index 15f618ce23..6fa270c79e 100644 --- a/src/msw/font.cpp +++ b/src/msw/font.cpp @@ -330,7 +330,7 @@ wxFontRefData::wxFontRefData(const wxFontInfo& info) // set the family/facename SetFamily(info.GetFamily()); - if ( !info.GetFaceName().empty() ) + if ( info.HasFaceName() ) SetFaceName(info.GetFaceName()); // deal with encoding now (it may override the font family and facename diff --git a/src/osx/carbon/font.cpp b/src/osx/carbon/font.cpp index 177b3d62f1..c677301481 100644 --- a/src/osx/carbon/font.cpp +++ b/src/osx/carbon/font.cpp @@ -255,9 +255,8 @@ wxFontRefData::wxFontRefData(const wxFontInfo& info) { m_info.Init(); - const wxString& faceName = info.GetFaceName(); - if ( !faceName.empty() ) - SetFaceName(faceName); + if ( info.HasFaceName() ) + SetFaceName(info.GetFaceName()); else SetFamily(info.GetFamily());