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 <patidar@kacst.edu.sa>
Context
- [PATCH] Change public variables of class ImplDevFontAttributes to pr... · navin patidar (via Code Review)
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.