diff options
author | Caolán McNamara <caolanm@redhat.com> | 2013-12-04 15:04:04 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-12-04 15:06:17 +0000 |
commit | 1ded21bfb99951ca947bd11a7442398668202ca6 (patch) | |
tree | a201aae9f7de718802ee84ff11a3547ab3edc46e /vcl | |
parent | 4bad16b2a27ba44998b107cb3cc5fdca92753ccf (diff) |
Resolves: rhbz#912529 Kerkis SmallCaps shown instead of Kerkis Regular
we encounter both fonts, but all their properties that we compare
are the same, so we think they are two versions of the same font
and throw away the "Regular" version.
Change-Id: I24369f10c7a0edba1faa02621bb78616e880966e
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/gdi/outdev3.cxx | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/vcl/source/gdi/outdev3.cxx b/vcl/source/gdi/outdev3.cxx index c27cd9353aa4..f3f5a77f28df 100644 --- a/vcl/source/gdi/outdev3.cxx +++ b/vcl/source/gdi/outdev3.cxx @@ -665,7 +665,7 @@ PhysicalFontFace::PhysicalFontFace( const ImplDevFontAttributes& rDFA, int nMagi sal_Int32 PhysicalFontFace::CompareIgnoreSize( const PhysicalFontFace& rOther ) const { - // compare their width, weight, italic and style name + // compare their width, weight, italic, style name and family name if( GetWidthType() < rOther.GetWidthType() ) return -1; else if( GetWidthType() > rOther.GetWidthType() ) @@ -681,7 +681,14 @@ sal_Int32 PhysicalFontFace::CompareIgnoreSize( const PhysicalFontFace& rOther ) else if( GetSlant() > rOther.GetSlant() ) return 1; - return GetFamilyName().compareTo( rOther.GetFamilyName() ); + sal_Int32 nRet = GetFamilyName().compareTo( rOther.GetFamilyName() ); + + if (nRet == 0) + { + nRet = GetStyleName().compareTo( rOther.GetStyleName() ); + } + + return nRet; } sal_Int32 PhysicalFontFace::CompareWithSize( const PhysicalFontFace& rOther ) const |