Hi, I have submitted a patch for review:
https://gerrit.libreoffice.org/1565 To pull it, you can do: git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/65/1565/1 Change public variables of class ImplDevFontAttributes to private. Change-Id: I256a1ca329f715270ba31261b16858341c91fc26 --- M vcl/generic/glyphs/gcach_ftyp.cxx M vcl/generic/print/genpspgraphics.cxx M vcl/headless/svptext.cxx M vcl/inc/outfont.hxx M vcl/source/gdi/outdev3.cxx M vcl/source/gdi/pdfwriter_impl.cxx M vcl/unx/generic/gdi/salgdi3.cxx 7 files changed, 51 insertions(+), 44 deletions(-) diff --git a/vcl/generic/glyphs/gcach_ftyp.cxx b/vcl/generic/glyphs/gcach_ftyp.cxx index de44e31..591fd46 100644 --- a/vcl/generic/glyphs/gcach_ftyp.cxx +++ b/vcl/generic/glyphs/gcach_ftyp.cxx @@ -315,12 +315,12 @@ mpExtraKernInfo( pExtraKernInfo ) { // prefer font with low ID - maDevFontAttributes.mnQuality += 10000 - nFontId; + maDevFontAttributes.SetQuality( maDevFontAttributes.GetQuality() + (10000 - nFontId) ); // prefer font with matching file names - maDevFontAttributes.mnQuality += mpFontFile->GetLangBoost(); + maDevFontAttributes.SetQuality( maDevFontAttributes.GetQuality() + mpFontFile->GetLangBoost() ); // prefer font with more external info if( pExtraKernInfo ) - maDevFontAttributes.mnQuality += 100; + maDevFontAttributes.SetQuality( maDevFontAttributes.GetQuality() + 100 ); } // ----------------------------------------------------------------------- @@ -619,8 +619,8 @@ : PhysicalFontFace( rDFA, IFTSFONT_MAGIC ), mpFtFontInfo( pFI ) { - mbDevice = false; - mbOrientation = true; + SetDevice( false ); + SetRotatable( true ); } // ----------------------------------------------------------------------- diff --git a/vcl/generic/print/genpspgraphics.cxx b/vcl/generic/print/genpspgraphics.cxx index 7b2ce32..1b5d592 100644 --- a/vcl/generic/print/genpspgraphics.cxx +++ b/vcl/generic/print/genpspgraphics.cxx @@ -932,7 +932,7 @@ { ImplDevFontAttributes aDFA = Info2DevFontAttributes( aInfo ); static_cast<ImplFontAttributes&>(*pMetric) = aDFA; - pMetric->mbDevice = aDFA.mbDevice; + pMetric->mbDevice = aDFA.IsDeviceFont(); pMetric->mbScalableFont = true; pMetric->mnOrientation = m_pPrinterGfx->GetFontAngle(); @@ -1132,42 +1132,43 @@ aDFA.SetWidthType( rInfo.m_eWidth ); aDFA.SetPitch( rInfo.m_ePitch ); aDFA.SetSymbolFlag( (rInfo.m_aEncoding == RTL_TEXTENCODING_SYMBOL) ); - aDFA.mbSubsettable = rInfo.m_bSubsettable; - aDFA.mbEmbeddable = rInfo.m_bEmbeddable; + aDFA.SetSubsettable( rInfo.m_bSubsettable ); + aDFA.SetEmbeddable( rInfo.m_bEmbeddable ); switch( rInfo.m_eType ) { case psp::fonttype::Builtin: - aDFA.mnQuality = 1024; - aDFA.mbDevice = true; + aDFA.SetQuality( 1024 ); + aDFA.SetDevice( true ); break; case psp::fonttype::TrueType: - aDFA.mnQuality = 512; - aDFA.mbDevice = false; + aDFA.SetQuality( 512 ); + aDFA.SetDevice( false ); break; case psp::fonttype::Type1: - aDFA.mnQuality = 0; - aDFA.mbDevice = false; + aDFA.SetQuality( 0 ); + aDFA.SetDevice( false ); break; default: - aDFA.mnQuality = 0; - aDFA.mbDevice = false; + aDFA.SetQuality( 0 ); + aDFA.SetDevice( false ); break; } - aDFA.mbOrientation = true; + aDFA.SetRotatable( true ); // add font family name aliases + String sMapNames = aDFA.GetAliasNames(); ::std::list< OUString >::const_iterator it = rInfo.m_aAliases.begin(); bool bHasMapNames = false; for(; it != rInfo.m_aAliases.end(); ++it ) { if( bHasMapNames ) - aDFA.maMapNames.Append( ';' ); - aDFA.maMapNames.Append( (*it).getStr() ); - bHasMapNames = true; + sMapNames.Append( ';' ); + sMapNames.Append( (*it).getStr() ); + bHasMapNames = true; } - + aDFA.SetMapNames( sMapNames ); #if OSL_DEBUG_LEVEL > 2 if( bHasMapNames ) { @@ -1232,7 +1233,8 @@ } ImplPspFontData* pFD = new ImplPspFontData( aInfo ); - pFD->mnQuality += nQuality; + nQuality += pFD->GetQuality(); + pFD->SetQuality( nQuality ); pFontList->Add( pFD ); } diff --git a/vcl/headless/svptext.cxx b/vcl/headless/svptext.cxx index 834f6a0..327f356 100644 --- a/vcl/headless/svptext.cxx +++ b/vcl/headless/svptext.cxx @@ -339,7 +339,7 @@ // inform GlyphCache about this font provided by the PsPrint subsystem ImplDevFontAttributes aDFA = GenPspGraphics::Info2DevFontAttributes( aInfo ); - aDFA.mnQuality += 4096; + aDFA.SetQuality( aDFA.GetQuality() + 4096 ); const rtl::OString& rFileName = rMgr.getFontFileSysPath( aInfo.m_nID ); rGC.AddFontFile( rFileName, nFaceNum, aInfo.m_nID, aDFA, pExtraKernInfo ); } diff --git a/vcl/inc/outfont.hxx b/vcl/inc/outfont.hxx index 53ec909..0fbdb1c 100644 --- a/vcl/inc/outfont.hxx +++ b/vcl/inc/outfont.hxx @@ -101,8 +101,13 @@ bool IsDeviceFont() const { return mbDevice; } bool IsEmbeddable() const { return mbEmbeddable; } bool IsSubsettable() const { return mbSubsettable; } - -public: // TODO: hide members behind accessor methods + void SetMapNames(const String sMapNames) { maMapNames = sMapNames; } + void SetRotatable(const bool bOrientation) { mbOrientation = bOrientation; } + void SetQuality(const bool bQuality) { mnQuality = bQuality; } + void SetDevice(const bool bDevice) { mbDevice = bDevice; } + void SetSubsettable(const bool bSubsettable) { mbSubsettable = bSubsettable; } + void SetEmbeddable(const bool bEmbeddable) { mbEmbeddable = mbEmbeddable; } +private: String maMapNames; // List of family name aliass separated with ';' int mnQuality; // Quality (used when similar fonts compete) bool mbOrientation; // true: physical font can be rotated diff --git a/vcl/source/gdi/outdev3.cxx b/vcl/source/gdi/outdev3.cxx index 6d3b02e..eb33309 100644 --- a/vcl/source/gdi/outdev3.cxx +++ b/vcl/source/gdi/outdev3.cxx @@ -881,7 +881,7 @@ nMatch += 600; } - if( mbDevice ) + if( IsDeviceFont() ) nMatch += 1; int nHeightMatch = 0; @@ -1052,10 +1052,10 @@ if( !mpFirst ) { maName = pNewData->GetFamilyName(); - maMapNames = pNewData->maMapNames; + maMapNames = pNewData->GetAliasNames(); meFamily = pNewData->GetFamilyType(); mePitch = pNewData->GetPitch(); - mnMinQuality = pNewData->mnQuality; + mnMinQuality = pNewData->GetQuality(); } else { @@ -1063,8 +1063,8 @@ meFamily = pNewData->GetFamilyType(); if( mePitch == PITCH_DONTKNOW ) mePitch = pNewData->GetPitch(); - if( mnMinQuality > pNewData->mnQuality ) - mnMinQuality = pNewData->mnQuality; + if( mnMinQuality > pNewData->GetQuality() ) + mnMinQuality = pNewData->GetQuality(); } // set attributes for attribute based font matching @@ -1122,12 +1122,12 @@ break; // ignore duplicate if its quality is worse - if( pNewData->mnQuality < pData->mnQuality ) + if( pNewData->GetQuality() < pData->GetQuality() ) return false; // keep the device font if its quality is good enough - if( (pNewData->mnQuality == pData->mnQuality) - && (pData->mbDevice || !pNewData->mbDevice) ) + if( (pNewData->GetQuality() == pData->GetQuality()) + && (pData->IsDeviceFont() || !pNewData->IsDeviceFont()) ) return false; // replace existing font face with a better one @@ -3401,7 +3401,7 @@ { SetFamilyName( rFontSelData.mpFontData->GetFamilyName() ); SetStyleName( rFontSelData.mpFontData->GetStyleName() ); - mbDevice = rFontSelData.mpFontData->mbDevice; + mbDevice = rFontSelData.mpFontData->IsDeviceFont(); mbKernableFont = true; } else @@ -7314,7 +7314,7 @@ aFontInfo.SetWidthType( rData.GetWidthType() ); if( rData.IsScalable() ) aFontInfo.mpImplMetric->mnMiscFlags |= ImplFontMetric::SCALABLE_FLAG; - if( rData.mbDevice ) + if( rData.IsDeviceFont() ) aFontInfo.mpImplMetric->mnMiscFlags |= ImplFontMetric::DEVICE_FLAG; } diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx index 83f5753..e87b5dd 100644 --- a/vcl/source/gdi/pdfwriter_impl.cxx +++ b/vcl/source/gdi/pdfwriter_impl.cxx @@ -2301,11 +2301,11 @@ aDFA.SetItalic( rBuiltin.m_eItalic ); aDFA.SetWidthType( rBuiltin.m_eWidthType ); - aDFA.mbOrientation = true; - aDFA.mbDevice = true; - aDFA.mnQuality = 50000; - aDFA.mbSubsettable = false; - aDFA.mbEmbeddable = false; + aDFA.SetRotatable( true ); + aDFA.SetQuality( true ); + aDFA.SetQuality( 50000 ); + aDFA.SetSubsettable( false ); + aDFA.SetEmbeddable( false ); return aDFA; } @@ -3179,7 +3179,7 @@ } } } - else if( pFont->mbSubsettable ) + else if( pFont->IsSubsettable() ) { aSubType = rtl::OString( "/TrueType" ); Int32Vector aGlyphWidths; @@ -7258,7 +7258,7 @@ pGlyphWidths[i] = pBuiltinFont->m_aWidths[ nFontGlyphId & 0x00ff ]; } } - else if( pCurrentFont->mbSubsettable ) + else if( pCurrentFont->IsSubsettable() ) { FontSubset& rSubset = m_aSubsets[ pCurrentFont ]; // search for font specific glyphID diff --git a/vcl/unx/generic/gdi/salgdi3.cxx b/vcl/unx/generic/gdi/salgdi3.cxx index fb7027e..1964f2d 100644 --- a/vcl/unx/generic/gdi/salgdi3.cxx +++ b/vcl/unx/generic/gdi/salgdi3.cxx @@ -552,7 +552,7 @@ // inform glyph cache of new font ImplDevFontAttributes aDFA = GenPspGraphics::Info2DevFontAttributes( aInfo ); - aDFA.mnQuality += 5800; + aDFA.SetQuality( aDFA.GetQuality() + 5800 ); int nFaceNum = rMgr.getFontFaceNumber( aInfo.m_nID ); @@ -602,7 +602,7 @@ // inform GlyphCache about this font provided by the PsPrint subsystem ImplDevFontAttributes aDFA = GenPspGraphics::Info2DevFontAttributes( aInfo ); - aDFA.mnQuality += 4096; + aDFA.SetQuality( aDFA.GetQuality() + 4096 ); const rtl::OString& rFileName = rMgr.getFontFileSysPath( aInfo.m_nID ); rGC.AddFontFile( rFileName, nFaceNum, aInfo.m_nID, aDFA, pExtraKernInfo ); } -- To view, visit https://gerrit.libreoffice.org/1565 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I256a1ca329f715270ba31261b16858341c91fc26 Gerrit-PatchSet: 1 Gerrit-Project: core Gerrit-Branch: master Gerrit-Owner: navin patidar <pati...@kacst.edu.sa> _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice