summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/vcl/outdev.hxx8
-rw-r--r--include/vcl/print.hxx2
-rw-r--r--vcl/Library_vcl.mk2
-rw-r--r--vcl/generic/fontmanager/fontconfig.cxx2
-rw-r--r--vcl/generic/fontmanager/fontsubst.cxx2
-rw-r--r--vcl/generic/glyphs/gcach_ftyp.cxx8
-rw-r--r--vcl/generic/glyphs/gcach_ftyp.hxx2
-rw-r--r--vcl/generic/glyphs/glyphcache.cxx4
-rw-r--r--vcl/generic/print/genpspgraphics.cxx6
-rw-r--r--vcl/inc/PhysicalFontCollection.hxx2
-rw-r--r--vcl/inc/PhysicalFontFace.hxx10
-rw-r--r--vcl/inc/fontinstance.hxx (renamed from vcl/inc/fontentry.hxx)7
-rw-r--r--vcl/inc/fontselect.hxx4
-rw-r--r--vcl/inc/generic/glyphcache.hxx4
-rw-r--r--vcl/inc/impfont.hxx2
-rw-r--r--vcl/inc/outdev.h20
-rw-r--r--vcl/inc/pch/precompiled_vcl.hxx20
-rw-r--r--vcl/inc/quartz/salgdi.h4
-rw-r--r--vcl/inc/win/salgdi.h6
-rw-r--r--vcl/quartz/ctfonts.cxx6
-rw-r--r--vcl/source/app/svmain.cxx2
-rw-r--r--vcl/source/font/PhysicalFontCollection.cxx12
-rw-r--r--vcl/source/font/PhysicalFontFace.cxx2
-rw-r--r--vcl/source/font/fontattributes.cxx2
-rw-r--r--vcl/source/font/fontcache.cxx70
-rw-r--r--vcl/source/font/fontinstance.cxx (renamed from vcl/source/font/fontentry.cxx)16
-rw-r--r--vcl/source/font/fontselect.cxx6
-rw-r--r--vcl/source/gdi/embeddedfontshelper.cxx2
-rw-r--r--vcl/source/gdi/font.cxx2
-rw-r--r--vcl/source/gdi/impfont.cxx2
-rw-r--r--vcl/source/gdi/pdffontcache.cxx2
-rw-r--r--vcl/source/gdi/pdfwriter_impl.cxx128
-rw-r--r--vcl/source/gdi/pdfwriter_impl.hxx2
-rw-r--r--vcl/source/gdi/print.cxx30
-rw-r--r--vcl/source/gdi/textlayout.cxx2
-rw-r--r--vcl/source/gdi/virdev.cxx10
-rw-r--r--vcl/source/outdev/font.cxx94
-rw-r--r--vcl/source/outdev/outdev.cxx6
-rw-r--r--vcl/source/outdev/outdevstate.cxx6
-rw-r--r--vcl/source/outdev/text.cxx62
-rw-r--r--vcl/source/outdev/textline.cxx92
-rw-r--r--vcl/source/window/accessibility.cxx2
-rw-r--r--vcl/source/window/window.cxx12
-rw-r--r--vcl/source/window/window2.cxx2
-rw-r--r--vcl/unx/generic/gdi/cairotextrender.cxx2
-rw-r--r--vcl/win/gdi/salfont.cxx2
-rw-r--r--vcl/win/gdi/winlayout.cxx10
47 files changed, 356 insertions, 345 deletions
diff --git a/include/vcl/outdev.hxx b/include/vcl/outdev.hxx
index 49028e58cb73..c8e397b0997a 100644
--- a/include/vcl/outdev.hxx
+++ b/include/vcl/outdev.hxx
@@ -58,7 +58,7 @@
#include <vector>
struct ImplOutDevData;
-class ImplFontEntry;
+class LogicalFontInstance;
class OutDevState;
struct SystemGraphicsData;
struct SystemFontData;
@@ -356,7 +356,7 @@ private:
mutable VclPtr<OutputDevice> mpPrevGraphics; ///< Previous output device in list
mutable VclPtr<OutputDevice> mpNextGraphics; ///< Next output device in list
GDIMetaFile* mpMetaFile;
- mutable ImplFontEntry* mpFontEntry;
+ mutable LogicalFontInstance* mpFontInstance;
mutable ImplFontCache* mpFontCache;
mutable PhysicalFontCollection* mpFontCollection;
mutable ImplDeviceFontList* mpDeviceFontList;
@@ -1322,7 +1322,7 @@ public:
protected:
virtual void InitFont() const;
- virtual void SetFontOrientation( ImplFontEntry* const pFontEntry ) const;
+ virtual void SetFontOrientation( LogicalFontInstance* const pFontInstance ) const;
virtual long GetFontExtLeading() const;
@@ -1371,7 +1371,7 @@ public:
vcl::TextLayoutCache const* = nullptr) const;
SAL_DLLPRIVATE SalLayout* ImplGlyphFallbackLayout( SalLayout*, ImplLayoutArgs& ) const;
// tells whether this output device is RTL in an LTR UI or LTR in a RTL UI
- SAL_DLLPRIVATE SalLayout* getFallbackFont(ImplFontEntry &rFallbackFont,
+ SAL_DLLPRIVATE SalLayout* getFallbackFont(LogicalFontInstance &rFallbackFont,
FontSelectPattern &rFontSelData, int nFallbackLevel,
ImplLayoutArgs& rLayoutArgs) const;
diff --git a/include/vcl/print.hxx b/include/vcl/print.hxx
index 6340095a0d50..a3125c762b03 100644
--- a/include/vcl/print.hxx
+++ b/include/vcl/print.hxx
@@ -285,7 +285,7 @@ protected:
sal_uInt16 nTransparencePercent ) override;
virtual void InitFont() const override;
- virtual void SetFontOrientation( ImplFontEntry* const pFontEntry ) const override;
+ virtual void SetFontOrientation( LogicalFontInstance* const pFontInstance ) const override;
public:
Printer();
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
index 6f2494287c5a..f7a1a65796e8 100644
--- a/vcl/Library_vcl.mk
+++ b/vcl/Library_vcl.mk
@@ -395,7 +395,7 @@ $(eval $(call gb_Library_add_exception_objects,vcl,\
vcl/source/font/PhysicalFontFamily \
vcl/source/font/fontattributes \
vcl/source/font/fontselect \
- vcl/source/font/fontentry \
+ vcl/source/font/fontinstance \
vcl/source/font/fontcache \
vcl/source/fontsubset/cff \
vcl/source/fontsubset/fontsubset \
diff --git a/vcl/generic/fontmanager/fontconfig.cxx b/vcl/generic/fontmanager/fontconfig.cxx
index 6170ee8d991b..531e62243f78 100644
--- a/vcl/generic/fontmanager/fontconfig.cxx
+++ b/vcl/generic/fontmanager/fontconfig.cxx
@@ -24,7 +24,7 @@
#include <vcl/sysdata.hxx>
#include <vcl/vclenum.hxx>
#include <vcl/wrkwin.hxx>
-#include "fontentry.hxx"
+#include "fontinstance.hxx"
#include <i18nlangtag/languagetag.hxx>
#include <i18nutil/unicode.hxx>
#include <rtl/strbuf.hxx>
diff --git a/vcl/generic/fontmanager/fontsubst.cxx b/vcl/generic/fontmanager/fontsubst.cxx
index d4d2ba885a25..5f7bfb361d46 100644
--- a/vcl/generic/fontmanager/fontsubst.cxx
+++ b/vcl/generic/fontmanager/fontsubst.cxx
@@ -22,7 +22,7 @@
#include "generic/glyphcache.hxx"
#include "vcl/sysdata.hxx"
-#include "fontentry.hxx"
+#include "fontinstance.hxx"
#include "generic/printergfx.hxx"
#include "salbmp.hxx"
diff --git a/vcl/generic/glyphs/gcach_ftyp.cxx b/vcl/generic/glyphs/gcach_ftyp.cxx
index c4c5754a05df..0af7cd91e829 100644
--- a/vcl/generic/glyphs/gcach_ftyp.cxx
+++ b/vcl/generic/glyphs/gcach_ftyp.cxx
@@ -23,7 +23,7 @@
#include "gcach_ftyp.hxx"
#include "vcl/svapp.hxx"
-#include <fontentry.hxx>
+#include <fontinstance.hxx>
#include <impfont.hxx>
#include "fontattributes.hxx"
@@ -432,7 +432,7 @@ ImplFTSFontData::ImplFTSFontData( FreetypeFontInfo* pFI, const ImplFontAttribute
SetOrientationFlag( true );
}
-ImplFontEntry* ImplFTSFontData::CreateFontInstance( FontSelectPattern& rFSD ) const
+LogicalFontInstance* ImplFTSFontData::CreateFontInstance( FontSelectPattern& rFSD ) const
{
ImplServerFontEntry* pEntry = new ImplServerFontEntry( rFSD );
return pEntry;
@@ -462,9 +462,9 @@ ServerFont::ServerFont( const FontSelectPattern& rFSD, FreetypeFontInfo* pFI )
mbUseGamma( false ),
mpLayoutEngine( nullptr )
{
- // TODO: move update of mpFontEntry into FontEntry class when
+ // TODO: move update of mpFontInstance into FontEntry class when
// it becomes responsible for the ServerFont instantiation
- static_cast<ImplServerFontEntry*>(rFSD.mpFontEntry)->SetServerFont( this );
+ static_cast<ImplServerFontEntry*>(rFSD.mpFontInstance)->SetServerFont( this );
maFaceFT = pFI->GetFaceFT();
diff --git a/vcl/generic/glyphs/gcach_ftyp.hxx b/vcl/generic/glyphs/gcach_ftyp.hxx
index acd74ec36263..530b2d39defd 100644
--- a/vcl/generic/glyphs/gcach_ftyp.hxx
+++ b/vcl/generic/glyphs/gcach_ftyp.hxx
@@ -154,7 +154,7 @@ private:
public:
ImplFTSFontData( FreetypeFontInfo*, const ImplFontAttributes& );
- virtual ImplFontEntry* CreateFontInstance( FontSelectPattern& ) const override;
+ virtual LogicalFontInstance* CreateFontInstance( FontSelectPattern& ) const override;
virtual PhysicalFontFace* Clone() const override { return new ImplFTSFontData( *this ); }
virtual sal_IntPtr GetFontId() const override { return mpFreetypeFontInfo->GetFontId(); }
};
diff --git a/vcl/generic/glyphs/glyphcache.cxx b/vcl/generic/glyphs/glyphcache.cxx
index 798b3e29305f..eab5277ec5c5 100644
--- a/vcl/generic/glyphs/glyphcache.cxx
+++ b/vcl/generic/glyphs/glyphcache.cxx
@@ -23,7 +23,7 @@
#include <vcl/svapp.hxx>
#include <vcl/bitmap.hxx>
-#include <fontentry.hxx>
+#include <fontinstance.hxx>
#include <fontattributes.hxx>
#include <config_graphite.h>
@@ -354,7 +354,7 @@ void ServerFont::GarbageCollect( long nMinLruIndex )
}
ImplServerFontEntry::ImplServerFontEntry( FontSelectPattern& rFSD )
-: ImplFontEntry( rFSD )
+: LogicalFontInstance( rFSD )
, mpServerFont( nullptr )
, mbGotFontOptions( false )
{}
diff --git a/vcl/generic/print/genpspgraphics.cxx b/vcl/generic/print/genpspgraphics.cxx
index d35816f11701..335f40c0a2cd 100644
--- a/vcl/generic/print/genpspgraphics.cxx
+++ b/vcl/generic/print/genpspgraphics.cxx
@@ -50,7 +50,7 @@
#include "generic/printergfx.hxx"
#include "impfont.hxx"
#include "langboost.hxx"
-#include "fontentry.hxx"
+#include "fontinstance.hxx"
#include "fontattributes.hxx"
#include "PhysicalFontCollection.hxx"
#include "PhysicalFontFace.hxx"
@@ -550,7 +550,7 @@ public:
explicit ImplPspFontData( const psp::FastPrintFontInfo& );
virtual sal_IntPtr GetFontId() const override { return mnFontId; }
virtual PhysicalFontFace* Clone() const override { return new ImplPspFontData( *this ); }
- virtual ImplFontEntry* CreateFontInstance( FontSelectPattern& ) const override;
+ virtual LogicalFontInstance* CreateFontInstance( FontSelectPattern& ) const override;
};
ImplPspFontData::ImplPspFontData( const psp::FastPrintFontInfo& rInfo )
@@ -558,7 +558,7 @@ ImplPspFontData::ImplPspFontData( const psp::FastPrintFontInfo& rInfo )
mnFontId( rInfo.m_nID )
{}
-ImplFontEntry* ImplPspFontData::CreateFontInstance( FontSelectPattern& rFSD ) const
+LogicalFontInstance* ImplPspFontData::CreateFontInstance( FontSelectPattern& rFSD ) const
{
ImplServerFontEntry* pEntry = new ImplServerFontEntry( rFSD );
return pEntry;
diff --git a/vcl/inc/PhysicalFontCollection.hxx b/vcl/inc/PhysicalFontCollection.hxx
index f283278c46bf..87f4181a56b7 100644
--- a/vcl/inc/PhysicalFontCollection.hxx
+++ b/vcl/inc/PhysicalFontCollection.hxx
@@ -22,7 +22,7 @@
#include <vcl/dllapi.h>
-#include "fontentry.hxx"
+#include "fontinstance.hxx"
#include "PhysicalFontFamily.hxx"
class ImplGlyphFallbackFontSubstitution;
diff --git a/vcl/inc/PhysicalFontFace.hxx b/vcl/inc/PhysicalFontFace.hxx
index 1f4857714b71..cebb6a0c792e 100644
--- a/vcl/inc/PhysicalFontFace.hxx
+++ b/vcl/inc/PhysicalFontFace.hxx
@@ -22,11 +22,11 @@
#include <vcl/dllapi.h>
-#include "fontentry.hxx"
+#include "fontinstance.hxx"
#include "fontattributes.hxx"
#include "fontselect.hxx"
-class ImplFontEntry;
+class LogicalFontInstance;
struct FontMatchStatus;
class FontSelectPattern;
class PhysicalFontFamily;
@@ -71,9 +71,9 @@ public:
virtual ~PhysicalFontFace() {}
// by using an PhysicalFontFace object as a factory for its corresponding
- // ImplFontEntry an ImplFontEntry can be extended to cache device and
- // font instance specific data
- virtual ImplFontEntry* CreateFontInstance( FontSelectPattern& ) const = 0;
+ // LogicalFontInstance can be extended to cache device and font instance
+ // specific data
+ virtual LogicalFontInstance* CreateFontInstance( FontSelectPattern& ) const = 0;
virtual PhysicalFontFace* Clone() const = 0;
int GetHeight() const { return mnHeight; }
diff --git a/vcl/inc/fontentry.hxx b/vcl/inc/fontinstance.hxx
index d654788c4fbe..01f4c5900f75 100644
--- a/vcl/inc/fontentry.hxx
+++ b/vcl/inc/fontinstance.hxx
@@ -31,14 +31,13 @@
class ImplFontCache;
class ConvertChar;
-// TODO: rename ImplFontEntry to LogicalFontInstance
// TODO: allow sharing of metrics for related fonts
-class VCL_PLUGIN_PUBLIC ImplFontEntry
+class VCL_PLUGIN_PUBLIC LogicalFontInstance
{
public:
- explicit ImplFontEntry( const FontSelectPattern& );
- virtual ~ImplFontEntry();
+ explicit LogicalFontInstance( const FontSelectPattern& );
+ virtual ~LogicalFontInstance();
public: // TODO: make data members private
ImplFontCache * m_pFontCache;
diff --git a/vcl/inc/fontselect.hxx b/vcl/inc/fontselect.hxx
index 595f3c9018fa..0a23105f66a0 100644
--- a/vcl/inc/fontselect.hxx
+++ b/vcl/inc/fontselect.hxx
@@ -26,7 +26,7 @@
#include <unordered_map>
class PhysicalFontFace;
-class ImplFontEntry;
+class LogicalFontInstance;
class ImplFontCache;
namespace vcl { class Font; }
class ConvertChar;
@@ -78,7 +78,7 @@ public:
public: // TODO: change to private
const PhysicalFontFace* mpFontData; // a matching PhysicalFontFace object
- ImplFontEntry* mpFontEntry; // pointer to the resulting FontCache entry
+ LogicalFontInstance* mpFontInstance; // pointer to the resulting FontCache entry
void copyAttributes(const FontSelectPatternAttributes &rAttributes);
};
diff --git a/vcl/inc/generic/glyphcache.hxx b/vcl/inc/generic/glyphcache.hxx
index e0513583540b..951c21186786 100644
--- a/vcl/inc/generic/glyphcache.hxx
+++ b/vcl/inc/generic/glyphcache.hxx
@@ -32,7 +32,7 @@
#include <vcl/dllapi.h>
#include <vcl/metric.hxx>
-#include <fontentry.hxx>
+#include <fontinstance.hxx>
#include <sallayout.hxx>
#include "fontattributes.hxx"
@@ -243,7 +243,7 @@ private:
};
// a class for cache entries for physical font instances that are based on serverfonts
-class VCL_DLLPUBLIC ImplServerFontEntry : public ImplFontEntry
+class VCL_DLLPUBLIC ImplServerFontEntry : public LogicalFontInstance
{
public:
ImplServerFontEntry( FontSelectPattern& );
diff --git a/vcl/inc/impfont.hxx b/vcl/inc/impfont.hxx
index 13ee4ecc7ec0..904c9ebc8da4 100644
--- a/vcl/inc/impfont.hxx
+++ b/vcl/inc/impfont.hxx
@@ -27,7 +27,7 @@
#include <vcl/dllapi.h>
#include <vcl/vclenum.hxx>
#include <vcl/fntstyle.hxx>
-#include <fontentry.hxx>
+#include <fontinstance.hxx>
#include <boost/intrusive_ptr.hpp>
diff --git a/vcl/inc/outdev.h b/vcl/inc/outdev.h
index 88a7f5c382e8..9310cfe2d55b 100644
--- a/vcl/inc/outdev.h
+++ b/vcl/inc/outdev.h
@@ -27,7 +27,7 @@
#include <tools/gen.hxx>
#include <vcl/vclptr.hxx>
-#include "fontentry.hxx"
+#include "fontinstance.hxx"
#include "PhysicalFontFace.hxx"
class Size;
@@ -129,13 +129,13 @@ public:
class ImplFontCache
{
private:
- ImplFontEntry* mpFirstEntry;
- int mnRef0Count; // number of unreferenced ImplFontEntries
+ LogicalFontInstance* mpFirstEntry;
+ int mnRef0Count; // number of unreferenced LogicalFontInstances
// cache of recently used font instances
struct IFSD_Equal { bool operator()( const FontSelectPattern&, const FontSelectPattern& ) const; };
struct IFSD_Hash { size_t operator()( const FontSelectPattern& ) const; };
- typedef std::unordered_map<FontSelectPattern,ImplFontEntry*,IFSD_Hash,IFSD_Equal > FontInstanceList;
+ typedef std::unordered_map<FontSelectPattern,LogicalFontInstance*,IFSD_Hash,IFSD_Equal > FontInstanceList;
FontInstanceList maFontInstanceList;
int CountUnreferencedEntries() const;
@@ -144,16 +144,16 @@ public:
ImplFontCache();
~ImplFontCache();
- ImplFontEntry* GetFontEntry( PhysicalFontCollection*,
+ LogicalFontInstance* GetFontInstance( PhysicalFontCollection*,
const vcl::Font&, const Size& rPixelSize, float fExactHeight);
- ImplFontEntry* GetFontEntry( PhysicalFontCollection*, FontSelectPattern& );
- ImplFontEntry* GetGlyphFallbackFont( PhysicalFontCollection*, FontSelectPattern&,
+ LogicalFontInstance* GetFontInstance( PhysicalFontCollection*, FontSelectPattern& );
+ LogicalFontInstance* GetGlyphFallbackFont( PhysicalFontCollection*, FontSelectPattern&,
int nFallbackLevel, OUString& rMissingCodes );
- /// Increase the refcount of the given ImplFontEntry.
- void Acquire(ImplFontEntry*);
+ /// Increase the refcount of the given LogicalFontInstance.
+ void Acquire(LogicalFontInstance*);
/// Decrease the refcount and potentially cleanup the entries with zero refcount from the cache.
- void Release(ImplFontEntry*);
+ void Release(LogicalFontInstance*);
void Invalidate();
};
diff --git a/vcl/inc/pch/precompiled_vcl.hxx b/vcl/inc/pch/precompiled_vcl.hxx
index 45c5dc6fa54b..99ba74689424 100644
--- a/vcl/inc/pch/precompiled_vcl.hxx
+++ b/vcl/inc/pch/precompiled_vcl.hxx
@@ -13,7 +13,7 @@
manual changes will be rewritten by the next run of update_pch.sh (which presumably
also fixes all possible problems, so it's usually better to use it).
- Generated on 2016-01-07 18:28:08 using:
+ Generated on 2016-01-08 23:14:46 using:
./bin/update_pch vcl vcl --cutoff=6 --exclude:system --include:module --include:local
If after updating build fails, use the following command to locate conflicting headers:
@@ -27,6 +27,7 @@
#include <config_features.h>
#include <config_folders.h>
#include <config_global.h>
+#include <config_graphite.h>
#include <cstddef>
#include <cstdlib>
#include <cstring>
@@ -35,7 +36,6 @@
#include <functional>
#include <iomanip>
#include <limits.h>
-#include <map>
#include <math.h>
#include <memory>
#include <new>
@@ -56,7 +56,6 @@
#include <window.h>
#include <boost/dynamic_bitset.hpp>
#include <boost/functional/hash.hpp>
-#include <boost/intrusive_ptr.hpp>
#include <boost/math/special_functions/sinc.hpp>
#include <boost/multi_array.hpp>
#include <boost/optional.hpp>
@@ -130,12 +129,14 @@
#include <salsys.hxx>
#include <saltimer.hxx>
#include <salvd.hxx>
+#include <vcl/FilterConfigItem.hxx>
#include <vcl/alpha.hxx>
#include <vcl/bitmap.hxx>
#include <vcl/bitmapex.hxx>
#include <vcl/bmpacc.hxx>
#include <vcl/button.hxx>
#include <vcl/canvastools.hxx>
+#include <vcl/combobox.hxx>
#include <vcl/configsettings.hxx>
#include <vcl/ctrl.hxx>
#include <vcl/cursor.hxx>
@@ -147,10 +148,13 @@
#include <vcl/dockwin.hxx>
#include <vcl/edit.hxx>
#include <vcl/event.hxx>
+#include <vcl/field.hxx>
#include <vcl/fixed.hxx>
#include <vcl/floatwin.hxx>
+#include <vcl/fltcall.hxx>
#include <vcl/fntstyle.hxx>
#include <vcl/font.hxx>
+#include <vcl/fontcharmap.hxx>
#include <vcl/gdimtf.hxx>
#include <vcl/gradient.hxx>
#include <vcl/graph.hxx>
@@ -178,6 +182,7 @@
#include <vcl/salnativewidgets.hxx>
#include <vcl/scrbar.hxx>
#include <vcl/settings.hxx>
+#include <vcl/spinfld.hxx>
#include <vcl/svapp.hxx>
#include <vcl/syswin.hxx>
#include <vcl/tabctrl.hxx>
@@ -194,6 +199,7 @@
#include <GL/glew.h>
#include <PhysicalFontCollection.hxx>
#include <PhysicalFontFace.hxx>
+#include <PhysicalFontFamily.hxx>
#include <basegfx/basegfxdllapi.h>
#include <basegfx/color/bcolor.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
@@ -215,6 +221,10 @@
#include <brdwin.hxx>
#include <com/sun/star/awt/Key.hpp>
#include <com/sun/star/awt/KeyGroup.hpp>
+#include <com/sun/star/awt/Size.hpp>
+#include <com/sun/star/beans/PropertyValue.hpp>
+#include <com/sun/star/beans/XPropertyAccess.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/container/XNameAccess.hpp>
#include <com/sun/star/datatransfer/clipboard/XClipboard.hpp>
#include <com/sun/star/datatransfer/dnd/XDropTarget.hpp>
@@ -225,6 +235,7 @@
#include <com/sun/star/lang/XComponent.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/lang/XTypeProvider.hpp>
+#include <com/sun/star/task/XStatusIndicator.hpp>
#include <com/sun/star/uno/Any.h>
#include <com/sun/star/uno/Any.hxx>
#include <com/sun/star/uno/Reference.h>
@@ -260,7 +271,8 @@
#include <cppuhelper/weakagg.hxx>
#include <cppuhelper/weakref.hxx>
#include <dndlcon.hxx>
-#include <fontentry.hxx>
+#include <fontattributes.hxx>
+#include <fontinstance.hxx>
#include <helpwin.hxx>
#include <i18nlangtag/i18nlangtagdllapi.h>
#include <i18nlangtag/lang.h>
diff --git a/vcl/inc/quartz/salgdi.h b/vcl/inc/quartz/salgdi.h
index 506895c1fe60..836eee2ed5b6 100644
--- a/vcl/inc/quartz/salgdi.h
+++ b/vcl/inc/quartz/salgdi.h
@@ -38,7 +38,7 @@
#include <vcl/fontcapabilities.hxx>
#include <vcl/metric.hxx>
-#include "fontentry.hxx"
+#include "fontinstance.hxx"
#include "PhysicalFontFace.hxx"
#include "salgdi.hxx"
@@ -61,7 +61,7 @@ public:
virtual ~CoreTextFontData();
PhysicalFontFace* Clone() const override;
- ImplFontEntry* CreateFontInstance( FontSelectPattern& ) const override;
+ LogicalFontInstance* CreateFontInstance( FontSelectPattern& ) const override;
sal_IntPtr GetFontId() const override;
int GetFontTable( const char pTagName[5], unsigned char* ) const;
diff --git a/vcl/inc/win/salgdi.h b/vcl/inc/win/salgdi.h
index c6dbd60a0aa7..f1c8c3a681bb 100644
--- a/vcl/inc/win/salgdi.h
+++ b/vcl/inc/win/salgdi.h
@@ -23,7 +23,7 @@
#include "sallayout.hxx"
#include "salgeom.hxx"
#include "salgdi.hxx"
-#include "fontentry.hxx"
+#include "fontinstance.hxx"
#include "fontattributes.hxx"
#include "PhysicalFontFace.hxx"
#include "impfont.hxx"
@@ -79,8 +79,8 @@ public:
BYTE nPitchAndFamily );
virtual ~ImplWinFontData();
- virtual PhysicalFontFace* Clone() const override;
- virtual ImplFontEntry* CreateFontInstance( FontSelectPattern& ) const override;
+ virtual PhysicalFontFace* Clone() const override;
+ virtual LogicalFontInstance* CreateFontInstance( FontSelectPattern& ) const override;
virtual sal_IntPtr GetFontId() const override;
void SetFontId( sal_IntPtr nId ) { mnId = nId; }
void UpdateFromHDC( HDC ) const;
diff --git a/vcl/quartz/ctfonts.cxx b/vcl/quartz/ctfonts.cxx
index d516d76ea7a9..4d847ba8f9af 100644
--- a/vcl/quartz/ctfonts.cxx
+++ b/vcl/quartz/ctfonts.cxx
@@ -31,7 +31,7 @@
#include "osx/saldata.hxx"
#include "osx/salinst.h"
#endif
-#include "fontentry.hxx"
+#include "fontinstance.hxx"
#include "fontattributes.hxx"
#include "PhysicalFontCollection.hxx"
#include "quartz/salgdi.h"
@@ -240,9 +240,9 @@ PhysicalFontFace* CoreTextFontData::Clone() const
return new CoreTextFontData( *this);
}
-ImplFontEntry* CoreTextFontData::CreateFontInstance( /*const*/ FontSelectPattern& rFSD ) const
+LogicalFontInstance* CoreTextFontData::CreateFontInstance( /*const*/ FontSelectPattern& rFSD ) const
{
- return new ImplFontEntry( rFSD);
+ return new LogicalFontInstance( rFSD);
}
int CoreTextFontData::GetFontTable( const char pTagName[5], unsigned char* pResultBuf ) const
diff --git a/vcl/source/app/svmain.cxx b/vcl/source/app/svmain.cxx
index 5eeaf9922df2..33d08dd5e91e 100644
--- a/vcl/source/app/svmain.cxx
+++ b/vcl/source/app/svmain.cxx
@@ -63,7 +63,7 @@
#include "accmgr.hxx"
#include "idlemgr.hxx"
#include "outdev.h"
-#include "fontentry.hxx"
+#include "fontinstance.hxx"
#include "PhysicalFontCollection.hxx"
#include "print.h"
#include "salgdi.hxx"
diff --git a/vcl/source/font/PhysicalFontCollection.cxx b/vcl/source/font/PhysicalFontCollection.cxx
index fbe484fd5cf3..bcfd9a71ec72 100644
--- a/vcl/source/font/PhysicalFontCollection.cxx
+++ b/vcl/source/font/PhysicalFontCollection.cxx
@@ -32,7 +32,7 @@
#include "magic.h"
#include "outdev.h"
-#include "fontentry.hxx"
+#include "fontinstance.hxx"
#include "fontattributes.hxx"
#include "PhysicalFontFace.hxx"
@@ -211,7 +211,7 @@ PhysicalFontFamily* PhysicalFontCollection::GetGlyphFallbackFont( FontSelectPatt
while( nStrIndex < rMissingCodes.getLength() )
{
cChar = rMissingCodes.iterateCodePoints( &nStrIndex );
- bCached = rFontSelData.mpFontEntry->GetFallbackForUnicode( cChar, rFontSelData.GetWeight(), &rFontSelData.maSearchName );
+ bCached = rFontSelData.mpFontInstance->GetFallbackForUnicode( cChar, rFontSelData.GetWeight(), &rFontSelData.maSearchName );
// ignore entries which don't have a fallback
if( !bCached || !rFontSelData.maSearchName.isEmpty() )
@@ -229,7 +229,7 @@ PhysicalFontFamily* PhysicalFontCollection::GetGlyphFallbackFont( FontSelectPatt
while( nStrIndex < rMissingCodes.getLength() )
{
cChar = rMissingCodes.iterateCodePoints( &nStrIndex );
- bCached = rFontSelData.mpFontEntry->GetFallbackForUnicode( cChar, rFontSelData.GetWeight(), &aFontName );
+ bCached = rFontSelData.mpFontInstance->GetFallbackForUnicode( cChar, rFontSelData.GetWeight(), &aFontName );
if( !bCached || (rFontSelData.maSearchName != aFontName) )
pRemainingCodes[ nRemainingLength++ ] = cChar;
}
@@ -257,8 +257,8 @@ PhysicalFontFamily* PhysicalFontCollection::GetGlyphFallbackFont( FontSelectPatt
{
for(;;)
{
- if( !rFontSelData.mpFontEntry->GetFallbackForUnicode( cChar, rFontSelData.GetWeight(), &rFontSelData.maSearchName ) )
- rFontSelData.mpFontEntry->AddFallbackForUnicode( cChar, rFontSelData.GetWeight(), rFontSelData.maSearchName );
+ if( !rFontSelData.mpFontInstance->GetFallbackForUnicode( cChar, rFontSelData.GetWeight(), &rFontSelData.maSearchName ) )
+ rFontSelData.mpFontInstance->AddFallbackForUnicode( cChar, rFontSelData.GetWeight(), rFontSelData.maSearchName );
if( nStrIndex >= aOldMissingCodes.getLength() )
break;
cChar = aOldMissingCodes.iterateCodePoints( &nStrIndex );
@@ -269,7 +269,7 @@ PhysicalFontFamily* PhysicalFontCollection::GetGlyphFallbackFont( FontSelectPatt
for( nStrIndex = 0; nStrIndex < rMissingCodes.getLength(); )
{
cChar = rMissingCodes.iterateCodePoints( &nStrIndex );
- rFontSelData.mpFontEntry->IgnoreFallbackForUnicode( cChar, rFontSelData.GetWeight(), rFontSelData.maSearchName );
+ rFontSelData.mpFontInstance->IgnoreFallbackForUnicode( cChar, rFontSelData.GetWeight(), rFontSelData.maSearchName );
}
}
}
diff --git a/vcl/source/font/PhysicalFontFace.cxx b/vcl/source/font/PhysicalFontFace.cxx
index de031139af5c..c5194fb1a72c 100644
--- a/vcl/source/font/PhysicalFontFace.cxx
+++ b/vcl/source/font/PhysicalFontFace.cxx
@@ -21,7 +21,7 @@
#include <tools/fontenum.hxx>
-#include "fontentry.hxx"
+#include "fontinstance.hxx"
#include "fontattributes.hxx"
#include "PhysicalFontFace.hxx"
diff --git a/vcl/source/font/fontattributes.cxx b/vcl/source/font/fontattributes.cxx
index c27be5bdbb00..d823748ff941 100644
--- a/vcl/source/font/fontattributes.cxx
+++ b/vcl/source/font/fontattributes.cxx
@@ -33,7 +33,7 @@
#include "impfont.hxx"
#include "outdata.hxx"
-#include "fontentry.hxx"
+#include "fontinstance.hxx"
#include "fontattributes.hxx"
#include "outdev.h"
diff --git a/vcl/source/font/fontcache.cxx b/vcl/source/font/fontcache.cxx
index 1b4b11079a00..d9e0dffe5976 100644
--- a/vcl/source/font/fontcache.cxx
+++ b/vcl/source/font/fontcache.cxx
@@ -33,7 +33,7 @@
#include "impfont.hxx"
#include "outdata.hxx"
-#include "fontentry.hxx"
+#include "fontinstance.hxx"
#include "fontattributes.hxx"
#include "outdev.h"
@@ -135,39 +135,39 @@ ImplFontCache::~ImplFontCache()
FontInstanceList::iterator it = maFontInstanceList.begin();
for(; it != maFontInstanceList.end(); ++it )
{
- ImplFontEntry* pEntry = (*it).second;
- delete pEntry;
+ LogicalFontInstance* pFontInstance = (*it).second;
+ delete pFontInstance;
}
}
-ImplFontEntry* ImplFontCache::GetFontEntry( PhysicalFontCollection* pFontList,
+LogicalFontInstance* ImplFontCache::GetFontInstance( PhysicalFontCollection* pFontList,
const vcl::Font& rFont, const Size& rSize, float fExactHeight )
{
OUString aSearchName = rFont.GetName();
// initialize internal font request object
FontSelectPattern aFontSelData( rFont, aSearchName, rSize, fExactHeight );
- return GetFontEntry( pFontList, aFontSelData );
+ return GetFontInstance( pFontList, aFontSelData );
}
-ImplFontEntry* ImplFontCache::GetFontEntry( PhysicalFontCollection* pFontList,
+LogicalFontInstance* ImplFontCache::GetFontInstance( PhysicalFontCollection* pFontList,
FontSelectPattern& aFontSelData )
{
// check if a directly matching logical font instance is already cached,
// the most recently used font usually has a hit rate of >50%
- ImplFontEntry *pEntry = nullptr;
+ LogicalFontInstance *pFontInstance = nullptr;
PhysicalFontFamily* pFontFamily = nullptr;
IFSD_Equal aIFSD_Equal;
if( mpFirstEntry && aIFSD_Equal( aFontSelData, mpFirstEntry->maFontSelData ) )
- pEntry = mpFirstEntry;
+ pFontInstance = mpFirstEntry;
else
{
FontInstanceList::iterator it = maFontInstanceList.find( aFontSelData );
if( it != maFontInstanceList.end() )
- pEntry = (*it).second;
+ pFontInstance = (*it).second;
}
- if( !pEntry ) // no direct cache hit
+ if( !pFontInstance ) // no direct cache hit
{
// find the best matching logical font family and update font selector accordingly
pFontFamily = pFontList->FindFontFamilyByFont( aFontSelData );
@@ -180,13 +180,13 @@ ImplFontEntry* ImplFontCache::GetFontEntry( PhysicalFontCollection* pFontList,
if( it != maFontInstanceList.end() )
{
// we have an indirect cache hit
- pEntry = (*it).second;
+ pFontInstance = (*it).second;
}
}
PhysicalFontFace* pFontData = nullptr;
- if (!pEntry && pFontFamily)// no cache hit => find the best matching physical font face
+ if (!pFontInstance && pFontFamily)// no cache hit => find the best matching physical font face
{
bool bOrigWasSymbol = aFontSelData.mpFontData && aFontSelData.mpFontData->IsSymbolFont();
pFontData = pFontFamily->FindBestFontFace( aFontSelData );
@@ -203,51 +203,51 @@ ImplFontEntry* ImplFontCache::GetFontEntry( PhysicalFontCollection* pFontList,
// wasn't a candidate
FontInstanceList::iterator it = maFontInstanceList.find( aFontSelData );
if( it != maFontInstanceList.end() )
- pEntry = (*it).second;
+ pFontInstance = (*it).second;
}
}
- if( pEntry ) // cache hit => use existing font instance
+ if( pFontInstance ) // cache hit => use existing font instance
{
// increase the font instance's reference count
- Acquire(pEntry);
+ Acquire(pFontInstance);
}
- if (!pEntry && pFontData)// still no cache hit => create a new font instance
+ if (!pFontInstance && pFontData)// still no cache hit => create a new font instance
{
// create a new logical font instance from this physical font face
- pEntry = pFontData->CreateFontInstance( aFontSelData );
- pEntry->m_pFontCache = this;
+ pFontInstance = pFontData->CreateFontInstance( aFontSelData );
+ pFontInstance->m_pFontCache = this;
// if we're subtituting from or to a symbol font we may need a symbol
// conversion table
if( pFontData->IsSymbolFont() || aFontSelData.IsSymbolFont() )
{
if( aFontSelData.maTargetName != aFontSelData.maSearchName )
- pEntry->mpConversion = ConvertChar::GetRecodeData( aFontSelData.maTargetName, aFontSelData.maSearchName );
+ pFontInstance->mpConversion = ConvertChar::GetRecodeData( aFontSelData.maTargetName, aFontSelData.maSearchName );
}
#ifdef MACOSX
//It might be better to dig out the font version of the target font
//to see if it's a modern re-coded apple symbol font in case that
//font shows up on a different platform
- if (!pEntry->mpConversion &&
+ if (!pFontInstance->mpConversion &&
aFontSelData.maTargetName.equalsIgnoreAsciiCase("symbol") &&
aFontSelData.maSearchName.equalsIgnoreAsciiCase("symbol"))
{
- pEntry->mpConversion = ConvertChar::GetRecodeData( "Symbol", "AppleSymbol" );
+ pFontInstance->mpConversion = ConvertChar::GetRecodeData( "Symbol", "AppleSymbol" );
}
#endif
// add the new entry to the cache
- maFontInstanceList[ aFontSelData ] = pEntry;
+ maFontInstanceList[ aFontSelData ] = pFontInstance;
}
- mpFirstEntry = pEntry;
- return pEntry;
+ mpFirstEntry = pFontInstance;
+ return pFontInstance;
}
-ImplFontEntry* ImplFontCache::GetGlyphFallbackFont( PhysicalFontCollection* pFontCollection,
+LogicalFontInstance* ImplFontCache::GetGlyphFallbackFont( PhysicalFontCollection* pFontCollection,
FontSelectPattern& rFontSelData, int nFallbackLevel, OUString& rMissingCodes )
{
// get a candidate font for glyph fallback
@@ -278,24 +278,24 @@ ImplFontEntry* ImplFontCache::GetGlyphFallbackFont( PhysicalFontCollection* pFon
rFontSelData.maSearchName.clear();
}
- ImplFontEntry* pFallbackFont = GetFontEntry( pFontCollection, rFontSelData );
+ LogicalFontInstance* pFallbackFont = GetFontInstance( pFontCollection, rFontSelData );
return pFallbackFont;
}
-void ImplFontCache::Acquire(ImplFontEntry* pEntry)
+void ImplFontCache::Acquire(LogicalFontInstance* pFontInstance)
{
- assert(pEntry->m_pFontCache == this);
+ assert(pFontInstance->m_pFontCache == this);
- if (0 == pEntry->mnRefCount++)
+ if (0 == pFontInstance->mnRefCount++)
--mnRef0Count;
}
-void ImplFontCache::Release(ImplFontEntry* pEntry)
+void ImplFontCache::Release(LogicalFontInstance* pFontInstance)
{
static const int FONTCACHE_MAX = getenv("LO_TESTNAME") ? 1 : 50;
- assert(pEntry->mnRefCount > 0 && "ImplFontCache::Release() - font refcount underflow");
- if( --pEntry->mnRefCount > 0 )
+ assert(pFontInstance->mnRefCount > 0 && "ImplFontCache::Release() - font refcount underflow");
+ if( --pFontInstance->mnRefCount > 0 )
return;
if (++mnRef0Count < FONTCACHE_MAX)
@@ -308,7 +308,7 @@ void ImplFontCache::Release(ImplFontEntry* pEntry)
while( it_next != maFontInstanceList.end() )
{
FontInstanceList::iterator it = it_next++;
- ImplFontEntry* pFontEntry = (*it).second;
+ LogicalFontInstance* pFontEntry = (*it).second;
if( pFontEntry->mnRefCount > 0 )
continue;
@@ -331,7 +331,7 @@ int ImplFontCache::CountUnreferencedEntries() const
for (FontInstanceList::const_iterator it = maFontInstanceList.begin();
it != maFontInstanceList.end(); ++it)
{
- const ImplFontEntry* pFontEntry = it->second;
+ const LogicalFontInstance* pFontEntry = it->second;
if (pFontEntry->mnRefCount > 0)
continue;
++nCount;
@@ -347,7 +347,7 @@ void ImplFontCache::Invalidate()
FontInstanceList::iterator it = maFontInstanceList.begin();
for(; it != maFontInstanceList.end(); ++it )
{
- ImplFontEntry* pFontEntry = (*it).second;
+ LogicalFontInstance* pFontEntry = (*it).second;
if( pFontEntry->mnRefCount > 0 )
continue;
diff --git a/vcl/source/font/fontentry.cxx b/vcl/source/font/fontinstance.cxx
index ebcf55639c8f..2da9b38c7903 100644
--- a/vcl/source/font/fontentry.cxx
+++ b/vcl/source/font/fontinstance.cxx
@@ -33,7 +33,7 @@
#include "impfont.hxx"
#include "outdata.hxx"
-#include "fontentry.hxx"
+#include "fontinstance.hxx"
#include "fontattributes.hxx"
#include "outdev.h"
@@ -63,7 +63,7 @@ using namespace ::com::sun::star::uno;
using namespace ::rtl;
using namespace ::utl;
-// extend std namespace to add custom hash needed for ImplFontEntry
+// extend std namespace to add custom hash needed for LogicalFontInstance
namespace std
{
@@ -79,7 +79,7 @@ namespace std
}
-ImplFontEntry::ImplFontEntry( const FontSelectPattern& rFontSelData )
+LogicalFontInstance::LogicalFontInstance( const FontSelectPattern& rFontSelData )
: m_pFontCache(nullptr)
, maFontSelData( rFontSelData )
, maFontAttributes( rFontSelData )
@@ -92,23 +92,23 @@ ImplFontEntry::ImplFontEntry( const FontSelectPattern& rFontSelData )
, mbInit( false )
, mpUnicodeFallbackList( nullptr )
{
- maFontSelData.mpFontEntry = this;
+ maFontSelData.mpFontInstance = this;
}
-ImplFontEntry::~ImplFontEntry()
+LogicalFontInstance::~LogicalFontInstance()
{
delete mpUnicodeFallbackList;
m_pFontCache = nullptr;
}
-void ImplFontEntry::AddFallbackForUnicode( sal_UCS4 cChar, FontWeight eWeight, const OUString& rFontName )
+void LogicalFontInstance::AddFallbackForUnicode( sal_UCS4 cChar, FontWeight eWeight, const OUString& rFontName )
{
if( !mpUnicodeFallbackList )
mpUnicodeFallbackList = new UnicodeFallbackList;
(*mpUnicodeFallbackList)[ std::pair< sal_UCS4, FontWeight >(cChar,eWeight) ] = rFontName;
}
-bool ImplFontEntry::GetFallbackForUnicode( sal_UCS4 cChar, FontWeight eWeight, OUString* pFontName ) const
+bool LogicalFontInstance::GetFallbackForUnicode( sal_UCS4 cChar, FontWeight eWeight, OUString* pFontName ) const
{
if( !mpUnicodeFallbackList )
return false;
@@ -121,7 +121,7 @@ bool ImplFontEntry::GetFallbackForUnicode( sal_UCS4 cChar, FontWeight eWeight, O
return true;
}
-void ImplFontEntry::IgnoreFallbackForUnicode( sal_UCS4 cChar, FontWeight eWeight, const OUString& rFontName )
+void LogicalFontInstance::IgnoreFallbackForUnicode( sal_UCS4 cChar, FontWeight eWeight, const OUString& rFontName )
{
UnicodeFallbackList::iterator it = mpUnicodeFallbackList->find( std::pair< sal_UCS4,FontWeight >(cChar,eWeight) );
if( it == mpUnicodeFallbackList->end() )
diff --git a/vcl/source/font/fontselect.cxx b/vcl/source/font/fontselect.cxx
index 5bcc3e44db11..e1b875734a42 100644
--- a/vcl/source/font/fontselect.cxx
+++ b/vcl/source/font/fontselect.cxx
@@ -33,7 +33,7 @@
#include "impfont.hxx"
#include "outdata.hxx"
-#include "fontentry.hxx"
+#include "fontinstance.hxx"
#include "fontattributes.hxx"
#include "outdev.h"
@@ -67,7 +67,7 @@ FontSelectPattern::FontSelectPattern( const vcl::Font& rFont,
const OUString& rSearchName, const Size& rSize, float fExactHeight)
: FontSelectPatternAttributes(rFont, rSearchName, rSize, fExactHeight)
, mpFontData( nullptr )
- , mpFontEntry( nullptr )
+ , mpFontInstance( nullptr )
{
}
@@ -93,7 +93,7 @@ FontSelectPattern::FontSelectPattern( const PhysicalFontFace& rFontData,
const Size& rSize, float fExactHeight, int nOrientation, bool bVertical )
: FontSelectPatternAttributes(rFontData, rSize, fExactHeight, nOrientation, bVertical)
, mpFontData( &rFontData )
- , mpFontEntry( NULL )
+ , mpFontInstance( NULL )
{
}
#endif
diff --git a/vcl/source/gdi/embeddedfontshelper.cxx b/vcl/source/gdi/embeddedfontshelper.cxx
index 6f52df9ae4a1..7b08e92bcd75 100644
--- a/vcl/source/gdi/embeddedfontshelper.cxx
+++ b/vcl/source/gdi/embeddedfontshelper.cxx
@@ -17,7 +17,7 @@
#include "fontsubset.hxx"
#include "outdev.h"
-#include "fontentry.hxx"
+#include "fontinstance.hxx"
#include "PhysicalFontCollection.hxx"
#include "salgdi.hxx"
#include "sft.hxx"
diff --git a/vcl/source/gdi/font.cxx b/vcl/source/gdi/font.cxx
index 58ecc0aa2843..d6b561efb0cf 100644
--- a/vcl/source/gdi/font.cxx
+++ b/vcl/source/gdi/font.cxx
@@ -27,7 +27,7 @@
#include "vcl/font.hxx"
#include "impfont.hxx"
-#include "fontentry.hxx"
+#include "fontinstance.hxx"
#include "fontattributes.hxx"
#include "sft.hxx"
diff --git a/vcl/source/gdi/impfont.cxx b/vcl/source/gdi/impfont.cxx
index ade5b851e180..4061a4004079 100644
--- a/vcl/source/gdi/impfont.cxx
+++ b/vcl/source/gdi/impfont.cxx
@@ -16,7 +16,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#include <vcl/fontcharmap.hxx>
-#include <fontentry.hxx>
+#include <fontinstance.hxx>
#include <impfont.hxx>
#include <vector>
diff --git a/vcl/source/gdi/pdffontcache.cxx b/vcl/source/gdi/pdffontcache.cxx
index 8aa0ad24e607..9c1b271b65ba 100644
--- a/vcl/source/gdi/pdffontcache.cxx
+++ b/vcl/source/gdi/pdffontcache.cxx
@@ -21,7 +21,7 @@
#include <sal/types.h>
-#include "fontentry.hxx"
+#include "fontinstance.hxx"
#include "PhysicalFontFace.hxx"
#include "salgdi.hxx"
#include "sallayout.hxx"
diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx
index 14cfa6c66a17..2159bc6c3e32 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -2265,9 +2265,9 @@ ImplPdfBuiltinFontData::ImplPdfBuiltinFontData( const PDFWriterImpl::BuiltinFont
mrBuiltin( rBuiltin )
{}
-ImplFontEntry* ImplPdfBuiltinFontData::CreateFontInstance( FontSelectPattern& rFSD ) const
+LogicalFontInstance* ImplPdfBuiltinFontData::CreateFontInstance( FontSelectPattern& rFSD ) const
{
- ImplFontEntry* pEntry = new ImplFontEntry( rFSD );
+ LogicalFontInstance* pEntry = new LogicalFontInstance( rFSD );
return pEntry;
}
@@ -8379,7 +8379,7 @@ sal_Int32 PDFWriterImpl::getSystemFont( const vcl::Font& i_rFont )
getReferenceDevice()->SetFont( i_rFont );
getReferenceDevice()->ImplNewFont();
- const PhysicalFontFace* pDevFont = m_pReferenceDevice->mpFontEntry->maFontSelData.mpFontData;
+ const PhysicalFontFace* pDevFont = m_pReferenceDevice->mpFontInstance->maFontSelData.mpFontData;
sal_Int32 nFontID = 0;
FontEmbedData::iterator it = m_aSystemFonts.find( pDevFont );
if( it != m_aSystemFonts.end() )
@@ -8411,7 +8411,7 @@ bool PDFWriterImpl::registerGlyphs( int nGlyphs,
if (!pGraphics)
return false;
- const PhysicalFontFace* pDevFont = m_pReferenceDevice->mpFontEntry->maFontSelData.mpFontData;
+ const PhysicalFontFace* pDevFont = m_pReferenceDevice->mpFontInstance->maFontSelData.mpFontData;
sal_Ucs* pCurUnicode = pUnicodes;
for( int i = 0; i < nGlyphs; pCurUnicode += pUnicodesPerGlyph[i] , i++ )
{
@@ -8620,7 +8620,7 @@ void PDFWriterImpl::drawShadow( SalLayout& rLayout, const OUString& rText, bool
setOverlineColor( rFont.GetColor() );
updateGraphicsState();
- long nOff = 1 + ((m_pReferenceDevice->mpFontEntry->mnLineHeight-24)/24);
+ long nOff = 1 + ((m_pReferenceDevice->mpFontInstance->mnLineHeight-24)/24);
if( rFont.IsOutline() )
nOff++;
rLayout.DrawBase() += Point( nOff, nOff );
@@ -8846,7 +8846,7 @@ void PDFWriterImpl::drawLayout( SalLayout& rLayout, const OUString& rText, bool
int nMinCharPos = 0, nMaxCharPos = rText.getLength()-1;
double fXScale = 1.0;
double fSkew = 0.0;
- sal_Int32 nPixelFontHeight = m_pReferenceDevice->mpFontEntry->maFontSelData.mnHeight;
+ sal_Int32 nPixelFontHeight = m_pReferenceDevice->mpFontInstance->maFontSelData.mnHeight;
TextAlign eAlign = m_aCurrentPDFState.m_aFont.GetAlign();
// transform font height back to current units
@@ -8870,8 +8870,8 @@ void PDFWriterImpl::drawLayout( SalLayout& rLayout, const OUString& rText, bool
// perform artificial italics if necessary
if( ( m_aCurrentPDFState.m_aFont.GetItalic() == ITALIC_NORMAL ||
m_aCurrentPDFState.m_aFont.GetItalic() == ITALIC_OBLIQUE ) &&
- !( m_pReferenceDevice->mpFontEntry->maFontSelData.mpFontData->GetSlantType() == ITALIC_NORMAL ||
- m_pReferenceDevice->mpFontEntry->maFontSelData.mpFontData->GetSlantType() == ITALIC_OBLIQUE )
+ !( m_pReferenceDevice->mpFontInstance->maFontSelData.mpFontData->GetSlantType() == ITALIC_NORMAL ||
+ m_pReferenceDevice->mpFontInstance->maFontSelData.mpFontData->GetSlantType() == ITALIC_OBLIQUE )
)
{
fSkew = M_PI/12.0;
@@ -8898,8 +8898,8 @@ void PDFWriterImpl::drawLayout( SalLayout& rLayout, const OUString& rText, bool
bool bPop = false;
bool bABold = false;
// artificial bold necessary ?
- if( m_pReferenceDevice->mpFontEntry->maFontSelData.mpFontData->GetWeight() <= WEIGHT_MEDIUM &&
- m_pReferenceDevice->mpFontEntry->maFontSelData.GetWeight() > WEIGHT_MEDIUM )
+ if( m_pReferenceDevice->mpFontInstance->maFontSelData.mpFontData->GetWeight() <= WEIGHT_MEDIUM &&
+ m_pReferenceDevice->mpFontInstance->maFontSelData.GetWeight() > WEIGHT_MEDIUM )
{
if( ! bPop )
aLine.append( "q " );
@@ -9152,7 +9152,7 @@ void PDFWriterImpl::drawLayout( SalLayout& rLayout, const OUString& rText, bool
nEmphWidth,
nEmphMark,
m_pReferenceDevice->ImplDevicePixelToLogicWidth(nEmphHeight),
- m_pReferenceDevice->mpFontEntry->mnOrientation );
+ m_pReferenceDevice->mpFontInstance->mnOrientation );
if ( bEmphPolyLine )
{
setLineColor( m_aCurrentPDFState.m_aFont.GetColor() );
@@ -9168,18 +9168,18 @@ void PDFWriterImpl::drawLayout( SalLayout& rLayout, const OUString& rText, bool
Point aOffset = Point(0,0);
if ( nEmphMark & EMPHASISMARK_POS_BELOW )
- aOffset.Y() += m_pReferenceDevice->mpFontEntry->maFontAttributes.GetDescent() + nEmphYOff;
+ aOffset.Y() += m_pReferenceDevice->mpFontInstance->maFontAttributes.GetDescent() + nEmphYOff;
else
- aOffset.Y() -= m_pReferenceDevice->mpFontEntry->maFontAttributes.GetAscent() + nEmphYOff;
+ aOffset.Y() -= m_pReferenceDevice->mpFontInstance->maFontAttributes.GetAscent() + nEmphYOff;
long nEmphWidth2 = nEmphWidth / 2;
long nEmphHeight2 = nEmphHeight / 2;
aOffset += Point( nEmphWidth2, nEmphHeight2 );
if ( eAlign == ALIGN_BOTTOM )
- aOffset.Y() -= m_pReferenceDevice->mpFontEntry->maFontAttributes.GetDescent();
+ aOffset.Y() -= m_pReferenceDevice->mpFontInstance->maFontAttributes.GetDescent();
else if ( eAlign == ALIGN_TOP )
- aOffset.Y() += m_pReferenceDevice->mpFontEntry->maFontAttributes.GetAscent();
+ aOffset.Y() += m_pReferenceDevice->mpFontInstance->maFontAttributes.GetAscent();
for( int nStart = 0;;)
{
@@ -9487,8 +9487,8 @@ void PDFWriterImpl::drawLine( const Point& rStart, const Point& rStop, const Lin
void PDFWriterImpl::drawWaveTextLine( OStringBuffer& aLine, long nWidth, FontUnderline eTextLine, Color aColor, bool bIsAbove )
{
- // note: units in pFontEntry are ref device pixel
- ImplFontEntry* pFontEntry = m_pReferenceDevice->mpFontEntry;
+ // note: units in pFontInstance are ref device pixel
+ LogicalFontInstance* pFontInstance = m_pReferenceDevice->mpFontInstance;
long nLineHeight = 0;
long nLinePos = 0;
@@ -9497,17 +9497,17 @@ void PDFWriterImpl::drawWaveTextLine( OStringBuffer& aLine, long nWidth, FontUnd
if ( bIsAbove )
{
- if ( !pFontEntry->maFontAttributes.GetAboveWavelineUnderlineSize() )
+ if ( !pFontInstance->maFontAttributes.GetAboveWavelineUnderlineSize() )
m_pReferenceDevice->ImplInitAboveTextLineSize();
- nLineHeight = HCONV( pFontEntry->maFontAttributes.GetAboveWavelineUnderlineSize() );
- nLinePos = HCONV( pFontEntry->maFontAttributes.GetAboveWavelineUnderlineOffset() );
+ nLineHeight = HCONV( pFontInstance->maFontAttributes.GetAboveWavelineUnderlineSize() );
+ nLinePos = HCONV( pFontInstance->maFontAttributes.GetAboveWavelineUnderlineOffset() );
}
else
{
- if ( !pFontEntry->maFontAttributes.GetWavelineUnderlineSize() )
+ if ( !pFontInstance->maFontAttributes.GetWavelineUnderlineSize() )
m_pReferenceDevice->ImplInitTextLineSize();
- nLineHeight = HCONV( pFontEntry->maFontAttributes.GetWavelineUnderlineSize() );
- nLinePos = HCONV( pFontEntry->maFontAttributes.GetWavelineUnderlineOffset() );
+ nLineHeight = HCONV( pFontInstance->maFontAttributes.GetWavelineUnderlineSize() );
+ nLinePos = HCONV( pFontInstance->maFontAttributes.GetWavelineUnderlineOffset() );
}
if ( (eTextLine == UNDERLINE_SMALLWAVE) && (nLineHeight > 3) )
nLineHeight = 3;
@@ -9557,8 +9557,8 @@ void PDFWriterImpl::drawWaveTextLine( OStringBuffer& aLine, long nWidth, FontUnd
void PDFWriterImpl::drawStraightTextLine( OStringBuffer& aLine, long nWidth, FontUnderline eTextLine, Color aColor, bool bIsAbove )
{
- // note: units in pFontEntry are ref device pixel
- ImplFontEntry* pFontEntry = m_pReferenceDevice->mpFontEntry;
+ // note: units in pFontInstance are ref device pixel
+ LogicalFontInstance* pFontInstance = m_pReferenceDevice->mpFontInstance;
long nLineHeight = 0;
long nLinePos = 0;
long nLinePos2 = 0;
@@ -9576,17 +9576,17 @@ void PDFWriterImpl::drawStraightTextLine( OStringBuffer& aLine, long nWidth, Fon
case UNDERLINE_DASHDOTDOT:
if ( bIsAbove )
{
- if ( !pFontEntry->maFontAttributes.GetAboveUnderlineSize() )
+ if ( !pFontInstance->maFontAttributes.GetAboveUnderlineSize() )
m_pReferenceDevice->ImplInitAboveTextLineSize();
- nLineHeight = HCONV( pFontEntry->maFontAttributes.GetAboveUnderlineSize() );
- nLinePos = HCONV( pFontEntry->maFontAttributes.GetAboveUnderlineOffset() );
+ nLineHeight = HCONV( pFontInstance->maFontAttributes.GetAboveUnderlineSize() );
+ nLinePos = HCONV( pFontInstance->maFontAttributes.GetAboveUnderlineOffset() );
}
else
{
- if ( !pFontEntry->maFontAttributes.GetUnderlineSize() )
+ if ( !pFontInstance->maFontAttributes.GetUnderlineSize() )
m_pReferenceDevice->ImplInitTextLineSize();
- nLineHeight = HCONV( pFontEntry->maFontAttributes.GetUnderlineSize() );
- nLinePos = HCONV( pFontEntry->maFontAttributes.GetUnderlineOffset() );
+ nLineHeight = HCONV( pFontInstance->maFontAttributes.GetUnderlineSize() );
+ nLinePos = HCONV( pFontInstance->maFontAttributes.GetUnderlineOffset() );
}
break;
case UNDERLINE_BOLD:
@@ -9597,36 +9597,36 @@ void PDFWriterImpl::drawStraightTextLine( OStringBuffer& aLine, long nWidth, Fon
case UNDERLINE_BOLDDASHDOTDOT:
if ( bIsAbove )
{
- if ( !pFontEntry->maFontAttributes.GetAboveBoldUnderlineSize() )
+ if ( !pFontInstance->maFontAttributes.GetAboveBoldUnderlineSize() )
m_pReferenceDevice->ImplInitAboveTextLineSize();
- nLineHeight = HCONV( pFontEntry->maFontAttributes.GetAboveBoldUnderlineSize() );
- nLinePos = HCONV( pFontEntry->maFontAttributes.GetAboveBoldUnderlineOffset() );
+ nLineHeight = HCONV( pFontInstance->maFontAttributes.GetAboveBoldUnderlineSize() );
+ nLinePos = HCONV( pFontInstance->maFontAttributes.GetAboveBoldUnderlineOffset() );
}
else
{
- if ( !pFontEntry->maFontAttributes.GetBoldUnderlineSize() )
+ if ( !pFontInstance->maFontAttributes.GetBoldUnderlineSize() )
m_pReferenceDevice->ImplInitTextLineSize();
- nLineHeight = HCONV( pFontEntry->maFontAttributes.GetBoldUnderlineSize() );
- nLinePos = HCONV( pFontEntry->maFontAttributes.GetBoldUnderlineOffset() );
+ nLineHeight = HCONV( pFontInstance->maFontAttributes.GetBoldUnderlineSize() );
+ nLinePos = HCONV( pFontInstance->maFontAttributes.GetBoldUnderlineOffset() );
nLinePos += nLineHeight/2;
}
break;
case UNDERLINE_DOUBLE:
if ( bIsAbove )
{
- if ( !pFontEntry->maFontAttributes.GetAboveDoubleUnderlineSize() )
+ if ( !pFontInstance->maFontAttributes.GetAboveDoubleUnderlineSize() )
m_pReferenceDevice->ImplInitAboveTextLineSize();
- nLineHeight = HCONV( pFontEntry->maFontAttributes.GetAboveDoubleUnderlineSize() );
- nLinePos = HCONV( pFontEntry->maFontAttributes.GetAboveDoubleUnderlineOffset1() );
- nLinePos2 = HCONV( pFontEntry->maFontAttributes.GetAboveDoubleUnderlineOffset2() );
+ nLineHeight = HCONV( pFontInstance->maFontAttributes.GetAboveDoubleUnderlineSize() );
+ nLinePos = HCONV( pFontInstance->maFontAttributes.GetAboveDoubleUnderlineOffset1() );
+ nLinePos2 = HCONV( pFontInstance->maFontAttributes.GetAboveDoubleUnderlineOffset2() );
}
else
{
- if ( !pFontEntry->maFontAttributes.GetDoubleUnderlineSize() )
+ if ( !pFontInstance->maFontAttributes.GetDoubleUnderlineSize() )
m_pReferenceDevice->ImplInitTextLineSize();
- nLineHeight = HCONV( pFontEntry->maFontAttributes.GetDoubleUnderlineSize() );
- nLinePos = HCONV( pFontEntry->maFontAttributes.GetDoubleUnderlineOffset1() );
- nLinePos2 = HCONV( pFontEntry->maFontAttributes.GetDoubleUnderlineOffset2() );
+ nLineHeight = HCONV( pFontInstance->maFontAttributes.GetDoubleUnderlineSize() );
+ nLinePos = HCONV( pFontInstance->maFontAttributes.GetDoubleUnderlineOffset1() );
+ nLinePos2 = HCONV( pFontInstance->maFontAttributes.GetDoubleUnderlineOffset2() );
}
break;
default:
@@ -9727,8 +9727,8 @@ void PDFWriterImpl::drawStraightTextLine( OStringBuffer& aLine, long nWidth, Fon
void PDFWriterImpl::drawStrikeoutLine( OStringBuffer& aLine, long nWidth, FontStrikeout eStrikeout, Color aColor )
{
- // note: units in pFontEntry are ref device pixel
- ImplFontEntry* pFontEntry = m_pReferenceDevice->mpFontEntry;
+ // note: units in pFontInstance are ref device pixel
+ LogicalFontInstance* pFontInstance = m_pReferenceDevice->mpFontInstance;
long nLineHeight = 0;
long nLinePos = 0;
long nLinePos2 = 0;
@@ -9739,23 +9739,23 @@ void PDFWriterImpl::drawStrikeoutLine( OStringBuffer& aLine, long nWidth, FontSt
switch ( eStrikeout )
{
case STRIKEOUT_SINGLE:
- if ( !pFontEntry->maFontAttributes.GetStrikeoutSize() )
+ if ( !pFontInstance->maFontAttributes.GetStrikeoutSize() )
m_pReferenceDevice->ImplInitTextLineSize();
- nLineHeight = HCONV( pFontEntry->maFontAttributes.GetStrikeoutSize() );
- nLinePos = HCONV( pFontEntry->maFontAttributes.GetStrikeoutOffset() );
+ nLineHeight = HCONV( pFontInstance->maFontAttributes.GetStrikeoutSize() );
+ nLinePos = HCONV( pFontInstance->maFontAttributes.GetStrikeoutOffset() );
break;
case STRIKEOUT_BOLD:
- if ( !pFontEntry->maFontAttributes.GetBoldStrikeoutSize() )
+ if ( !pFontInstance->maFontAttributes.GetBoldStrikeoutSize() )
m_pReferenceDevice->ImplInitTextLineSize();
- nLineHeight = HCONV( pFontEntry->maFontAttributes.GetBoldStrikeoutSize() );
- nLinePos = HCONV( pFontEntry->maFontAttributes.GetBoldStrikeoutOffset() );
+ nLineHeight = HCONV( pFontInstance->maFontAttributes.GetBoldStrikeoutSize() );
+ nLinePos = HCONV( pFontInstance->maFontAttributes.GetBoldStrikeoutOffset() );
break;
case STRIKEOUT_DOUBLE:
- if ( !pFontEntry->maFontAttributes.GetDoubleStrikeoutSize() )
+ if ( !pFontInstance->maFontAttributes.GetDoubleStrikeoutSize() )
m_pReferenceDevice->ImplInitTextLineSize();
- nLineHeight = HCONV( pFontEntry->maFontAttributes.GetDoubleStrikeoutSize() );
- nLinePos = HCONV( pFontEntry->maFontAttributes.GetDoubleStrikeoutOffset1() );
- nLinePos2 = HCONV( pFontEntry->maFontAttributes.GetDoubleStrikeoutOffset2() );
+ nLineHeight = HCONV( pFontInstance->maFontAttributes.GetDoubleStrikeoutSize() );
+ nLinePos = HCONV( pFontInstance->maFontAttributes.GetDoubleStrikeoutOffset1() );
+ nLinePos2 = HCONV( pFontInstance->maFontAttributes.GetDoubleStrikeoutOffset2() );
break;
default:
break;
@@ -9824,11 +9824,11 @@ void PDFWriterImpl::drawStrikeoutChar( const Point& rPos, long nWidth, FontStrik
aRect.Bottom() = rPos.Y()+aRefDevFontMetric.GetDescent();
aRect.Top() = rPos.Y()-aRefDevFontMetric.GetAscent();
- ImplFontEntry* pFontEntry = m_pReferenceDevice->mpFontEntry;
- if (pFontEntry->mnOrientation)
+ LogicalFontInstance* pFontInstance = m_pReferenceDevice->mpFontInstance;
+ if (pFontInstance->mnOrientation)
{
tools::Polygon aPoly( aRect );
- aPoly.Rotate( rPos, pFontEntry->mnOrientation);
+ aPoly.Rotate( rPos, pFontInstance->mnOrientation);
aRect = aPoly.GetBoundRect();
}
@@ -9858,8 +9858,8 @@ void PDFWriterImpl::drawTextLine( const Point& rPos, long nWidth, FontStrikeout
MARK( "drawTextLine" );
updateGraphicsState();
- // note: units in pFontEntry are ref device pixel
- ImplFontEntry* pFontEntry = m_pReferenceDevice->mpFontEntry;
+ // note: units in pFontInstance are ref device pixel
+ LogicalFontInstance* pFontInstance = m_pReferenceDevice->mpFontInstance;
Color aUnderlineColor = m_aCurrentPDFState.m_aTextLineColor;
Color aOverlineColor = m_aCurrentPDFState.m_aOverlineColor;
Color aStrikeoutColor = m_aCurrentPDFState.m_aFont.GetColor();
@@ -9876,9 +9876,9 @@ void PDFWriterImpl::drawTextLine( const Point& rPos, long nWidth, FontStrikeout
Point aPos( rPos );
TextAlign eAlign = m_aCurrentPDFState.m_aFont.GetAlign();
if( eAlign == ALIGN_TOP )
- aPos.Y() += HCONV( pFontEntry->maFontAttributes.GetAscent() );
+ aPos.Y() += HCONV( pFontInstance->maFontAttributes.GetAscent() );
else if( eAlign == ALIGN_BOTTOM )
- aPos.Y() -= HCONV( pFontEntry->maFontAttributes.GetDescent() );
+ aPos.Y() -= HCONV( pFontInstance->maFontAttributes.GetDescent() );
OStringBuffer aLine( 512 );
// save GS
diff --git a/vcl/source/gdi/pdfwriter_impl.hxx b/vcl/source/gdi/pdfwriter_impl.hxx
index 0e8ab54a5431..4e4ff4731549 100644
--- a/vcl/source/gdi/pdfwriter_impl.hxx
+++ b/vcl/source/gdi/pdfwriter_impl.hxx
@@ -1266,7 +1266,7 @@ public:
const PDFWriterImpl::BuiltinFont& GetBuiltinFont() const { return mrBuiltin; }
virtual PhysicalFontFace* Clone() const override { return new ImplPdfBuiltinFontData(*this); }
- virtual ImplFontEntry* CreateFontInstance( FontSelectPattern& ) const override;
+ virtual LogicalFontInstance* CreateFontInstance( FontSelectPattern& ) const override;
virtual sal_IntPtr GetFontId() const override { return reinterpret_cast<sal_IntPtr>(&mrBuiltin); }
};
diff --git a/vcl/source/gdi/print.cxx b/vcl/source/gdi/print.cxx
index 38d9c71d369e..fa3a0659b492 100644
--- a/vcl/source/gdi/print.cxx
+++ b/vcl/source/gdi/print.cxx
@@ -630,10 +630,10 @@ void Printer::ImplReleaseFonts()
mbNewFont = true;
mbInitFont = true;
- if ( mpFontEntry )
+ if ( mpFontInstance )
{
- mpFontCache->Release( mpFontEntry );
- mpFontEntry = nullptr;
+ mpFontCache->Release( mpFontInstance );
+ mpFontInstance = nullptr;
}
if ( mpDeviceFontList )
@@ -1008,10 +1008,10 @@ void Printer::dispose()
// OutputDevice Dtor is trying the same thing; that why we need to set
// the FontEntry to NULL here
// TODO: consolidate duplicate cleanup by Printer and OutputDevice
- if ( mpFontEntry )
+ if ( mpFontInstance )
{
- mpFontCache->Release( mpFontEntry );
- mpFontEntry = nullptr;
+ mpFontCache->Release( mpFontInstance );
+ mpFontInstance = nullptr;
}
if ( mpDeviceFontList )
{
@@ -1162,10 +1162,10 @@ bool Printer::SetPrinterProps( const Printer* pPrinter )
{
ReleaseGraphics();
pSVData->mpDefInst->DestroyInfoPrinter( mpInfoPrinter );
- if ( mpFontEntry )
+ if ( mpFontInstance )
{
- mpFontCache->Release( mpFontEntry );
- mpFontEntry = nullptr;
+ mpFontCache->Release( mpFontInstance );
+ mpFontInstance = nullptr;
}
if ( mpDeviceFontList )
{
@@ -1205,10 +1205,10 @@ bool Printer::SetPrinterProps( const Printer* pPrinter )
{
pSVData->mpDefInst->DestroyInfoPrinter( mpInfoPrinter );
- if ( mpFontEntry )
+ if ( mpFontInstance )
{
- mpFontCache->Release( mpFontEntry );
- mpFontEntry = nullptr;
+ mpFontCache->Release( mpFontInstance );
+ mpFontInstance = nullptr;
}
if ( mpDeviceFontList )
{
@@ -1804,18 +1804,18 @@ void Printer::InitFont() const
{
DBG_TESTSOLARMUTEX();
- if (!mpFontEntry)
+ if (!mpFontInstance)
return;
if ( mbInitFont )
{
// select font in the device layers
- mpFontEntry->mnSetFontFlags = mpGraphics->SetFont( &(mpFontEntry->maFontSelData), 0 );
+ mpFontInstance->mnSetFontFlags = mpGraphics->SetFont( &(mpFontInstance->maFontSelData), 0 );
mbInitFont = false;
}
}
-void Printer::SetFontOrientation( ImplFontEntry* const pFontEntry ) const
+void Printer::SetFontOrientation( LogicalFontInstance* const pFontEntry ) const
{
pFontEntry->mnOrientation = pFontEntry->maFontAttributes.GetOrientation();
}
diff --git a/vcl/source/gdi/textlayout.cxx b/vcl/source/gdi/textlayout.cxx
index ab9d69e2d215..872b0bdcadbc 100644
--- a/vcl/source/gdi/textlayout.cxx
+++ b/vcl/source/gdi/textlayout.cxx
@@ -20,7 +20,7 @@
#include "vcl/ctrl.hxx"
#include "vcl/outdev.hxx"
-#include "fontentry.hxx"
+#include "fontinstance.hxx"
#include "textlayout.hxx"
#include <com/sun/star/i18n/ScriptDirection.hpp>
diff --git a/vcl/source/gdi/virdev.cxx b/vcl/source/gdi/virdev.cxx
index 4f493b4e9d47..abd8a2ed4e0a 100644
--- a/vcl/source/gdi/virdev.cxx
+++ b/vcl/source/gdi/virdev.cxx
@@ -509,10 +509,10 @@ void VirtualDevice::ImplSetReferenceDevice( RefDevMode i_eRefDevMode, sal_Int32
// the reference device should have only scalable fonts
// => clean up the original font lists before getting new ones
- if ( mpFontEntry )
+ if ( mpFontInstance )
{
- mpFontCache->Release( mpFontEntry );
- mpFontEntry = nullptr;
+ mpFontCache->Release( mpFontInstance );
+ mpFontInstance = nullptr;
}
if ( mpDeviceFontList )
{
@@ -563,8 +563,8 @@ long VirtualDevice::GetFontExtLeading() const
return 0;
#endif
- ImplFontEntry* pEntry = mpFontEntry;
- ImplFontAttributes* pFontAttributes = &(pEntry->maFontAttributes);
+ LogicalFontInstance* pFontInstance = mpFontInstance;
+ ImplFontAttributes* pFontAttributes = &(pFontInstance->maFontAttributes);
return pFontAttributes->GetExternalLeading();
}
diff --git a/vcl/source/outdev/font.cxx b/vcl/source/outdev/font.cxx
index 6a0faa965dad..5032cbbc293b 100644
--- a/vcl/source/outdev/font.cxx
+++ b/vcl/source/outdev/font.cxx
@@ -33,7 +33,7 @@
#include "impfont.hxx"
#include "outdata.hxx"
-#include "fontentry.hxx"
+#include "fontinstance.hxx"
#include "fontattributes.hxx"
#include "outdev.h"
@@ -189,8 +189,8 @@ FontMetric OutputDevice::GetFontMetric() const
if( mbNewFont && !ImplNewFont() )
return aMetric;
- ImplFontEntry* pEntry = mpFontEntry;
- ImplFontAttributes* pFontAttributes = &(pEntry->maFontAttributes);
+ LogicalFontInstance* pFontInstance = mpFontInstance;
+ ImplFontAttributes* pFontAttributes = &(pFontInstance->maFontAttributes);
// prepare metric
aMetric.Font::operator=( maFont );
@@ -205,11 +205,11 @@ FontMetric OutputDevice::GetFontMetric() const
aMetric.SetWeight( pFontAttributes->GetWeight() );
aMetric.SetItalic( pFontAttributes->GetSlantType() );
aMetric.SetWidthType( pFontAttributes->GetWidthType() );
- if ( pEntry->mnOwnOrientation )
- aMetric.SetOrientation( pEntry->mnOwnOrientation );
+ if ( pFontInstance->mnOwnOrientation )
+ aMetric.SetOrientation( pFontInstance->mnOwnOrientation );
else
aMetric.SetOrientation( pFontAttributes->GetOrientation() );
- if( !pEntry->maFontAttributes.IsKernable() )
+ if( !pFontInstance->maFontAttributes.IsKernable() )
aMetric.SetKerning( maFont.GetKerning() & ~FontKerning::FontSpecific );
// set remaining metric fields
@@ -253,7 +253,7 @@ bool OutputDevice::GetFontCharMap( FontCharMapPtr& rFontCharMap ) const
ImplNewFont();
if( mbInitFont )
InitFont();
- if( !mpFontEntry )
+ if( !mpFontInstance )
return false;
FontCharMapPtr pFontCharMap ( mpGraphics->GetFontCharMap() );
@@ -280,7 +280,7 @@ bool OutputDevice::GetFontCapabilities( vcl::FontCapabilities& rFontCapabilities
ImplNewFont();
if( mbInitFont )
InitFont();
- if( !mpFontEntry )
+ if( !mpFontInstance )
return false;
return mpGraphics->GetFontCapabilities(rFontCapabilities);
@@ -485,8 +485,8 @@ FontEmphasisMark OutputDevice::ImplGetEmphasisMarkStyle( const vcl::Font& rFont
long OutputDevice::GetFontExtLeading() const
{
- ImplFontEntry* pEntry = mpFontEntry;
- ImplFontAttributes* pFontAttributes = &(pEntry->maFontAttributes);
+ LogicalFontInstance* pFontInstance = mpFontInstance;
+ ImplFontAttributes* pFontAttributes = &(pFontInstance->maFontAttributes);
return pFontAttributes->GetExternalLeading();
}
@@ -494,10 +494,10 @@ long OutputDevice::GetFontExtLeading() const
void OutputDevice::ImplClearFontData( const bool bNewFontLists )
{
// the currently selected logical font is no longer needed
- if ( mpFontEntry )
+ if ( mpFontInstance )
{
- mpFontCache->Release( mpFontEntry );
- mpFontEntry = nullptr;
+ mpFontCache->Release( mpFontInstance );
+ mpFontInstance = nullptr;
}
mbInitFont = true;
@@ -921,13 +921,13 @@ vcl::Font OutputDevice::GetDefaultFont( DefaultFontType nType, LanguageType eLan
// get the name of the first available font
float fExactHeight = static_cast<float>(aSize.Height());
- ImplFontEntry* pEntry = pOutDev->mpFontCache->GetFontEntry( pOutDev->mpFontCollection, aFont, aSize, fExactHeight );
- if (pEntry)
+ LogicalFontInstance* pFontInstance = pOutDev->mpFontCache->GetFontInstance( pOutDev->mpFontCollection, aFont, aSize, fExactHeight );
+ if (pFontInstance)
{
- if( pEntry->maFontSelData.mpFontData )
- aFont.SetName( pEntry->maFontSelData.mpFontData->GetFamilyName() );
+ if( pFontInstance->maFontSelData.mpFontData )
+ aFont.SetName( pFontInstance->maFontSelData.mpFontData->GetFamilyName() );
else
- aFont.SetName( pEntry->maFontSelData.maTargetName );
+ aFont.SetName( pFontInstance->maFontSelData.maTargetName );
}
}
}
@@ -1041,7 +1041,7 @@ void OutputDevice::InitFont() const
{
DBG_TESTSOLARMUTEX();
- if (!mpFontEntry)
+ if (!mpFontInstance)
return;
if ( mbInitFont )
@@ -1052,12 +1052,12 @@ void OutputDevice::InitFont() const
{
const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings();
bNonAntialiased |= bool(rStyleSettings.GetDisplayOptions() & DisplayOptions::AADisable);
- bNonAntialiased |= (int(rStyleSettings.GetAntialiasingMinPixelHeight()) > mpFontEntry->maFontSelData.mnHeight);
+ bNonAntialiased |= (int(rStyleSettings.GetAntialiasingMinPixelHeight()) > mpFontInstance->maFontSelData.mnHeight);
}
- mpFontEntry->maFontSelData.mbNonAntialiased = bNonAntialiased;
+ mpFontInstance->maFontSelData.mbNonAntialiased = bNonAntialiased;
// select font in the device layers
- mpFontEntry->mnSetFontFlags = mpGraphics->SetFont( &(mpFontEntry->maFontSelData), 0 );
+ mpFontInstance->mnSetFontFlags = mpGraphics->SetFont( &(mpFontInstance->maFontSelData), 0 );
mbInitFont = false;
}
}
@@ -1106,22 +1106,22 @@ bool OutputDevice::ImplNewFont() const
aSize.Width() = 1;
// get font entry
- ImplFontEntry* pOldEntry = mpFontEntry;
- mpFontEntry = mpFontCache->GetFontEntry( mpFontCollection, maFont, aSize, fExactHeight );
- if( pOldEntry )
- mpFontCache->Release( pOldEntry );
+ LogicalFontInstance* pOldFontInstance = mpFontInstance;
+ mpFontInstance = mpFontCache->GetFontInstance( mpFontCollection, maFont, aSize, fExactHeight );
+ if( pOldFontInstance )
+ mpFontCache->Release( pOldFontInstance );
- ImplFontEntry* pFontEntry = mpFontEntry;
+ LogicalFontInstance* pFontEntry = mpFontInstance;
if (!pFontEntry)
{
- SAL_WARN("vcl.gdi", "OutputDevice::ImplNewFont(): no ImplFontEntry, no Font");
+ SAL_WARN("vcl.gdi", "OutputDevice::ImplNewFont(): no LogicalFontInstance, no Font");
return false;
}
// mark when lower layers need to get involved
mbNewFont = false;
- if( pFontEntry != pOldEntry )
+ if( pFontEntry != pOldFontInstance )
mbInitFont = true;
// select font when it has not been initialized yet
@@ -1233,7 +1233,7 @@ bool OutputDevice::ImplNewFont() const
return true;
}
-void OutputDevice::SetFontOrientation( ImplFontEntry* const pFontEntry ) const
+void OutputDevice::SetFontOrientation( LogicalFontInstance* const pFontEntry ) const
{
if( pFontEntry->maFontSelData.mnOrientation && !pFontEntry->maFontAttributes.GetOrientation() )
{
@@ -1316,7 +1316,7 @@ void OutputDevice::ImplDrawEmphasisMarks( SalLayout& rSalLayout )
aRect1, aRect2,
nEmphasisYOff, nEmphasisWidth,
nEmphasisMark,
- nEmphasisHeight, mpFontEntry->mnOrientation );
+ nEmphasisHeight, mpFontInstance->mnOrientation );
if ( bPolyLine )
{
@@ -1332,9 +1332,9 @@ void OutputDevice::ImplDrawEmphasisMarks( SalLayout& rSalLayout )
Point aOffset = Point(0,0);
if ( nEmphasisMark & EMPHASISMARK_POS_BELOW )
- aOffset.Y() += mpFontEntry->maFontAttributes.GetDescent() + nEmphasisYOff;
+ aOffset.Y() += mpFontInstance->maFontAttributes.GetDescent() + nEmphasisYOff;
else
- aOffset.Y() -= mpFontEntry->maFontAttributes.GetAscent() + nEmphasisYOff;
+ aOffset.Y() -= mpFontInstance->maFontAttributes.GetAscent() + nEmphasisYOff;
long nEmphasisWidth2 = nEmphasisWidth / 2;
long nEmphasisHeight2 = nEmphasisHeight / 2;
@@ -1355,10 +1355,10 @@ void OutputDevice::ImplDrawEmphasisMarks( SalLayout& rSalLayout )
{
Point aAdjPoint = aOffset;
aAdjPoint.X() += aRectangle.Left() + (aRectangle.GetWidth() - nEmphasisWidth) / 2;
- if ( mpFontEntry->mnOrientation )
+ if ( mpFontInstance->mnOrientation )
{
Point aOriginPt(0, 0);
- aOriginPt.RotateAround( aAdjPoint.X(), aAdjPoint.Y(), mpFontEntry->mnOrientation );
+ aOriginPt.RotateAround( aAdjPoint.X(), aAdjPoint.Y(), mpFontInstance->mnOrientation );
}
aOutPoint += aAdjPoint;
aOutPoint -= Point( nEmphasisWidth2, nEmphasisHeight2 );
@@ -1374,7 +1374,7 @@ void OutputDevice::ImplDrawEmphasisMarks( SalLayout& rSalLayout )
mpMetaFile = pOldMetaFile;
}
-SalLayout* OutputDevice::getFallbackFont(ImplFontEntry &rFallbackFont,
+SalLayout* OutputDevice::getFallbackFont(LogicalFontInstance &rFallbackFont,
FontSelectPattern &rFontSelData, int nFallbackLevel,
ImplLayoutArgs& rLayoutArgs) const
{
@@ -1405,13 +1405,13 @@ SalLayout* OutputDevice::getFallbackFont(ImplFontEntry &rFallbackFont,
SalLayout* OutputDevice::ImplGlyphFallbackLayout( SalLayout* pSalLayout, ImplLayoutArgs& rLayoutArgs ) const
{
- // This function relies on a valid mpFontEntry, if it doesn't exist bail out
+ // This function relies on a valid mpFontInstance, if it doesn't exist bail out
// - we'd have crashed later on anyway. At least here we can catch the error in debug
// mode.
- if ( !mpFontEntry )
+ if ( !mpFontInstance )
{
SAL_WARN ("vcl.gdi", "No font entry set in OutputDevice");
- assert(mpFontEntry);
+ assert(mpFontInstance);
return nullptr;
}
@@ -1430,29 +1430,29 @@ SalLayout* OutputDevice::ImplGlyphFallbackLayout( SalLayout* pSalLayout, ImplLay
rLayoutArgs.ResetPos();
OUString aMissingCodes = aMissingCodeBuf.makeStringAndClear();
- FontSelectPattern aFontSelData = mpFontEntry->maFontSelData;
+ FontSelectPattern aFontSelData = mpFontInstance->maFontSelData;
// try if fallback fonts support the missing unicodes
for( int nFallbackLevel = 1; nFallbackLevel < MAX_FALLBACK; ++nFallbackLevel )
{
// find a font family suited for glyph fallback
- // GetGlyphFallbackFont() needs a valid aFontSelData.mpFontEntry
+ // GetGlyphFallbackFont() needs a valid aFontSelData.mpFontInstance
// if the system-specific glyph fallback is active
- aFontSelData.mpFontEntry = mpFontEntry; // reset the fontentry to base-level
+ aFontSelData.mpFontInstance = mpFontInstance; // reset the fontinstance to base-level
- ImplFontEntry* pFallbackFont = mpFontCache->GetGlyphFallbackFont( mpFontCollection,
+ LogicalFontInstance* pFallbackFont = mpFontCache->GetGlyphFallbackFont( mpFontCollection,
aFontSelData, nFallbackLevel, aMissingCodes );
if( !pFallbackFont )
break;
- aFontSelData.mpFontEntry = pFallbackFont;
+ aFontSelData.mpFontInstance = pFallbackFont;
aFontSelData.mpFontData = pFallbackFont->maFontSelData.mpFontData;
if( nFallbackLevel < MAX_FALLBACK-1)
{
// ignore fallback font if it is the same as the original font
// unless we are looking for a substituion for 0x202F, in which
// case we'll just use a normal space
- if( mpFontEntry->maFontSelData.mpFontData == aFontSelData.mpFontData &&
+ if( mpFontInstance->maFontSelData.mpFontData == aFontSelData.mpFontData &&
aMissingCodes.indexOf(0x202F) == -1 )
{
mpFontCache->Release( pFallbackFont );
@@ -1495,8 +1495,8 @@ long OutputDevice::GetMinKashida() const
if( mbNewFont && !ImplNewFont() )
return 0;
- ImplFontEntry* pEntry = mpFontEntry;
- ImplFontAttributes* pFontAttributes = &(pEntry->maFontAttributes);
+ LogicalFontInstance* pFontInstance = mpFontInstance;
+ ImplFontAttributes* pFontAttributes = &(pFontInstance->maFontAttributes);
return ImplDevicePixelToLogicWidth( pFontAttributes->GetMinKashida() );
}
diff --git a/vcl/source/outdev/outdev.cxx b/vcl/source/outdev/outdev.cxx
index ebcd6c0d33da..26346ed08e31 100644
--- a/vcl/source/outdev/outdev.cxx
+++ b/vcl/source/outdev/outdev.cxx
@@ -93,7 +93,7 @@ OutputDevice::OutputDevice() :
mpPrevGraphics = nullptr;
mpNextGraphics = nullptr;
mpMetaFile = nullptr;
- mpFontEntry = nullptr;
+ mpFontInstance = nullptr;
mpFontCache = nullptr;
mpFontCollection = nullptr;
mpDeviceFontList = nullptr;
@@ -234,8 +234,8 @@ void OutputDevice::dispose()
mpOutDevStateStack = nullptr;
// release the active font instance
- if( mpFontEntry )
- mpFontCache->Release( mpFontEntry );
+ if( mpFontInstance )
+ mpFontCache->Release( mpFontInstance );
// remove cached results of GetDevFontList/GetDevSizeList
// TODO: use smart pointers for them
diff --git a/vcl/source/outdev/outdevstate.cxx b/vcl/source/outdev/outdevstate.cxx
index 6f9d70819d09..354d6d0b460f 100644
--- a/vcl/source/outdev/outdevstate.cxx
+++ b/vcl/source/outdev/outdevstate.cxx
@@ -633,10 +633,10 @@ void OutputDevice::ImplReleaseFonts()
mbNewFont = true;
mbInitFont = true;
- if ( mpFontEntry )
+ if ( mpFontInstance )
{
- mpFontCache->Release( mpFontEntry );
- mpFontEntry = nullptr;
+ mpFontCache->Release( mpFontInstance );
+ mpFontInstance = nullptr;
}
if ( mpDeviceFontList )
diff --git a/vcl/source/outdev/text.cxx b/vcl/source/outdev/text.cxx
index 762e33ad8cec..e62ea7c318d9 100644
--- a/vcl/source/outdev/text.cxx
+++ b/vcl/source/outdev/text.cxx
@@ -109,7 +109,7 @@ void OutputDevice::ImplDrawTextRect( long nBaseX, long nBaseY,
long nX = nDistX;
long nY = nDistY;
- short nOrientation = mpFontEntry->mnOrientation;
+ short nOrientation = mpFontInstance->mnOrientation;
if ( nOrientation )
{
// Rotate rect without rounding problems for 90 degree rotations
@@ -150,7 +150,7 @@ void OutputDevice::ImplDrawTextRect( long nBaseX, long nBaseY,
// inflate because polygons are drawn smaller
Rectangle aRect( Point( nX, nY ), Size( nWidth+1, nHeight+1 ) );
tools::Polygon aPoly( aRect );
- aPoly.Rotate( Point( nBaseX, nBaseY ), mpFontEntry->mnOrientation );
+ aPoly.Rotate( Point( nBaseX, nBaseY ), mpFontInstance->mnOrientation );
ImplDrawPolygon( aPoly );
return;
}
@@ -177,9 +177,9 @@ void OutputDevice::ImplDrawTextBackground( const SalLayout& rSalLayout )
mpGraphics->SetFillColor( ImplColorToSal( GetTextFillColor() ) );
mbInitFillColor = true;
- ImplDrawTextRect( nX, nY, 0, -(mpFontEntry->maFontAttributes.GetAscent() + mnEmphasisAscent),
+ ImplDrawTextRect( nX, nY, 0, -(mpFontInstance->maFontAttributes.GetAscent() + mnEmphasisAscent),
nWidth,
- mpFontEntry->mnLineHeight+mnEmphasisAscent+mnEmphasisDescent );
+ mpFontInstance->mnLineHeight+mnEmphasisAscent+mnEmphasisDescent );
}
Rectangle OutputDevice::ImplGetTextBoundRect( const SalLayout& rSalLayout )
@@ -189,21 +189,21 @@ Rectangle OutputDevice::ImplGetTextBoundRect( const SalLayout& rSalLayout )
long nY = aPoint.Y();
long nWidth = rSalLayout.GetTextWidth();
- long nHeight = mpFontEntry->mnLineHeight + mnEmphasisAscent + mnEmphasisDescent;
+ long nHeight = mpFontInstance->mnLineHeight + mnEmphasisAscent + mnEmphasisDescent;
- nY -= mpFontEntry->maFontAttributes.GetAscent() + mnEmphasisAscent;
+ nY -= mpFontInstance->maFontAttributes.GetAscent() + mnEmphasisAscent;
- if ( mpFontEntry->mnOrientation )
+ if ( mpFontInstance->mnOrientation )
{
long nBaseX = nX, nBaseY = nY;
- if ( !(mpFontEntry->mnOrientation % 900) )
+ if ( !(mpFontInstance->mnOrientation % 900) )
{
long nX2 = nX+nWidth;
long nY2 = nY+nHeight;
Point aBasePt( nBaseX, nBaseY );
- aBasePt.RotateAround( nX, nY, mpFontEntry->mnOrientation );
- aBasePt.RotateAround( nX2, nY2, mpFontEntry->mnOrientation );
+ aBasePt.RotateAround( nX, nY, mpFontInstance->mnOrientation );
+ aBasePt.RotateAround( nX2, nY2, mpFontInstance->mnOrientation );
nWidth = nX2-nX;
nHeight = nY2-nY;
}
@@ -212,7 +212,7 @@ Rectangle OutputDevice::ImplGetTextBoundRect( const SalLayout& rSalLayout )
// inflate by +1+1 because polygons are drawn smaller
Rectangle aRect( Point( nX, nY ), Size( nWidth+1, nHeight+1 ) );
tools::Polygon aPoly( aRect );
- aPoly.Rotate( Point( nBaseX, nBaseY ), mpFontEntry->mnOrientation );
+ aPoly.Rotate( Point( nBaseX, nBaseY ), mpFontInstance->mnOrientation );
return aPoly.GetBoundRect();
}
}
@@ -232,8 +232,8 @@ bool OutputDevice::ImplDrawRotateText( SalLayout& rSalLayout )
{
// guess vertical text extents if GetBoundRect failed
int nRight = rSalLayout.GetTextWidth();
- int nTop = mpFontEntry->maFontAttributes.GetAscent() + mnEmphasisAscent;
- long nHeight = mpFontEntry->mnLineHeight + mnEmphasisAscent + mnEmphasisDescent;
+ int nTop = mpFontInstance->maFontAttributes.GetAscent() + mnEmphasisAscent;
+ long nHeight = mpFontInstance->mnLineHeight + mnEmphasisAscent + mnEmphasisDescent;
aBoundRect = Rectangle( 0, -nTop, nRight, nHeight - nTop );
}
@@ -248,7 +248,7 @@ bool OutputDevice::ImplDrawRotateText( SalLayout& rSalLayout )
vcl::Font aFont( GetFont() );
aFont.SetOrientation( 0 );
- aFont.SetSize( Size( mpFontEntry->maFontSelData.mnWidth, mpFontEntry->maFontSelData.mnHeight ) );
+ aFont.SetSize( Size( mpFontInstance->maFontSelData.mnWidth, mpFontInstance->maFontSelData.mnHeight ) );
pVDev->SetFont( aFont );
pVDev->SetTextColor( Color( COL_BLACK ) );
pVDev->SetTextFillColor();
@@ -261,12 +261,12 @@ bool OutputDevice::ImplDrawRotateText( SalLayout& rSalLayout )
rSalLayout.DrawText( *static_cast<OutputDevice*>(pVDev)->mpGraphics );
Bitmap aBmp = pVDev->GetBitmap( Point(), aBoundRect.GetSize() );
- if ( !aBmp || !aBmp.Rotate( mpFontEntry->mnOwnOrientation, COL_WHITE ) )
+ if ( !aBmp || !aBmp.Rotate( mpFontInstance->mnOwnOrientation, COL_WHITE ) )
return false;
// calculate rotation offset
tools::Polygon aPoly( aBoundRect );
- aPoly.Rotate( Point(), mpFontEntry->mnOwnOrientation );
+ aPoly.Rotate( Point(), mpFontInstance->mnOwnOrientation );
Point aPoint = aPoly.GetBoundRect().TopLeft();
aPoint += Point( nX, nY );
@@ -295,7 +295,7 @@ bool OutputDevice::ImplDrawTextDirect( SalLayout& rSalLayout,
bool bTextLines,
sal_uInt32 flags )
{
- if( mpFontEntry->mnOwnOrientation )
+ if( mpFontInstance->mnOwnOrientation )
if( ImplDrawRotateText( rSalLayout ) )
return true;
@@ -415,7 +415,7 @@ void OutputDevice::ImplDrawSpecialText( SalLayout& rSalLayout )
{
if ( maFont.IsShadow() )
{
- long nOff = 1 + ((mpFontEntry->mnLineHeight-24)/24);
+ long nOff = 1 + ((mpFontInstance->mnLineHeight-24)/24);
if ( maFont.IsOutline() )
nOff++;
SetTextLineColor();
@@ -947,7 +947,7 @@ long OutputDevice::GetTextHeight() const
if( !ImplNewFont() )
return 0;
- long nHeight = mpFontEntry->mnLineHeight + mnEmphasisAscent + mnEmphasisDescent;
+ long nHeight = mpFontInstance->mnLineHeight + mnEmphasisAscent + mnEmphasisDescent;
if ( mbMap )
nHeight = ImplDevicePixelToLogicHeight( nHeight );
@@ -1315,7 +1315,7 @@ ImplLayoutArgs OutputDevice::ImplPrepareLayoutArgs( OUString& rStr,
// set layout options
ImplLayoutArgs aLayoutArgs(rStr, nMinIndex, nEndIndex, nLayoutFlags, maFont.GetLanguageTag(), pLayoutCache);
- int nOrientation = mpFontEntry ? mpFontEntry->mnOrientation : 0;
+ int nOrientation = mpFontInstance ? mpFontInstance->mnOrientation : 0;
aLayoutArgs.SetOrientation( nOrientation );
aLayoutArgs.SetLayoutWidth( nPixelWidth );
@@ -1355,8 +1355,8 @@ SalLayout* OutputDevice::ImplLayout(const OUString& rOrigStr,
// convert from logical units to physical units
// recode string if needed
- if( mpFontEntry->mpConversion ) {
- mpFontEntry->mpConversion->RecodeString( aStr, 0, aStr.getLength() );
+ if( mpFontInstance->mpConversion ) {
+ mpFontInstance->mpConversion->RecodeString( aStr, 0, aStr.getLength() );
pLayoutCache = nullptr; // don't use cache with modified string!
}
DeviceCoordinate nPixelWidth = (DeviceCoordinate)nLogicalWidth;
@@ -1414,7 +1414,7 @@ SalLayout* OutputDevice::ImplLayout(const OUString& rOrigStr,
// do glyph fallback if needed
// #105768# avoid fallback for very small font sizes
- if (aLayoutArgs.NeedFallback() && mpFontEntry->maFontSelData.mnHeight >= 3)
+ if (aLayoutArgs.NeedFallback() && mpFontInstance->maFontSelData.mnHeight >= 3)
pSalLayout = ImplGlyphFallbackLayout(pSalLayout, aLayoutArgs);
// position, justify, etc. the layout
@@ -2518,7 +2518,7 @@ bool OutputDevice::GetTextBoundRect( Rectangle& rRect,
pSalLayout->Release();
}
- if( bRet || (OUTDEV_PRINTER == meOutDevType) || !mpFontEntry )
+ if( bRet || (OUTDEV_PRINTER == meOutDevType) || !mpFontInstance )
return bRet;
// fall back to bitmap method to get the bounding rectangle,
@@ -2529,7 +2529,7 @@ bool OutputDevice::GetTextBoundRect( Rectangle& rRect,
aFont.SetOutline( false );
aFont.SetRelief( RELIEF_NONE );
aFont.SetOrientation( 0 );
- aFont.SetSize( Size( mpFontEntry->maFontSelData.mnWidth, mpFontEntry->maFontSelData.mnHeight ) );
+ aFont.SetSize( Size( mpFontInstance->maFontSelData.mnWidth, mpFontInstance->maFontSelData.mnHeight ) );
aVDev->SetFont( aFont );
aVDev->SetTextAlign( ALIGN_TOP );
@@ -2541,7 +2541,7 @@ bool OutputDevice::GetTextBoundRect( Rectangle& rRect,
// make the bitmap big enough
// TODO: use factors when it would get too big
long nWidth = pSalLayout->GetTextWidth();
- long nHeight = mpFontEntry->mnLineHeight + mnEmphasisAscent + mnEmphasisDescent;
+ long nHeight = mpFontInstance->mnLineHeight + mnEmphasisAscent + mnEmphasisDescent;
Point aOffset( nWidth/2, 8 );
Size aOutSize( nWidth + 2*aOffset.X(), nHeight + 2*aOffset.Y() );
if( !nWidth || !aVDev->SetOutputSizePixel( aOutSize ) )
@@ -2621,7 +2621,7 @@ bool OutputDevice::GetTextBoundRect( Rectangle& rRect,
Point aTopLeft( nLeft, nTop );
aTopLeft -= aOffset;
// adjust to text alignment
- aTopLeft.Y()+= mnTextOffY - (mpFontEntry->maFontAttributes.GetAscent() + mnEmphasisAscent);
+ aTopLeft.Y()+= mnTextOffY - (mpFontInstance->maFontAttributes.GetAscent() + mnEmphasisAscent);
// convert to logical coordinates
aSize = PixelToLogic( aSize );
aTopLeft.X() = ImplDevicePixelToLogicWidth( aTopLeft.X() );
@@ -2648,7 +2648,7 @@ bool OutputDevice::GetTextOutlines( basegfx::B2DPolyPolygonVector& rVector,
ImplNewFont();
if( mbInitFont )
InitFont();
- if( !mpFontEntry )
+ if( !mpFontInstance )
return false;
bool bRet = false;
@@ -2728,7 +2728,7 @@ bool OutputDevice::GetTextOutlines( basegfx::B2DPolyPolygonVector& rVector,
const_cast<OutputDevice&>(*this).mbNewFont = true;
}
- if( bRet || (OUTDEV_PRINTER == meOutDevType) || !mpFontEntry )
+ if( bRet || (OUTDEV_PRINTER == meOutDevType) || !mpFontInstance )
return bRet;
// reset work done (tdf#81876)
@@ -2743,7 +2743,7 @@ bool OutputDevice::GetTextOutlines( basegfx::B2DPolyPolygonVector& rVector,
if (pSalLayout == nullptr)
return false;
long nOrgWidth = pSalLayout->GetTextWidth();
- long nOrgHeight = mpFontEntry->mnLineHeight + mnEmphasisAscent
+ long nOrgHeight = mpFontInstance->mnLineHeight + mnEmphasisAscent
+ mnEmphasisDescent;
pSalLayout->Release();
@@ -2768,7 +2768,7 @@ bool OutputDevice::GetTextOutlines( basegfx::B2DPolyPolygonVector& rVector,
if (pSalLayout == nullptr)
return false;
long nWidth = pSalLayout->GetTextWidth();
- long nHeight = aVDev->mpFontEntry->mnLineHeight + aVDev->mnEmphasisAscent +
+ long nHeight = aVDev->mpFontInstance->mnLineHeight + aVDev->mnEmphasisAscent +
aVDev->mnEmphasisDescent;
pSalLayout->Release();
diff --git a/vcl/source/outdev/textline.cxx b/vcl/source/outdev/textline.cxx
index ca8c45d2b935..3ced7c812ce1 100644
--- a/vcl/source/outdev/textline.cxx
+++ b/vcl/source/outdev/textline.cxx
@@ -56,12 +56,12 @@ bool OutputDevice::ImplIsUnderlineAbove( const vcl::Font& rFont )
void OutputDevice::ImplInitTextLineSize()
{
- mpFontEntry->maFontAttributes.ImplInitTextLineSize( this );
+ mpFontInstance->maFontAttributes.ImplInitTextLineSize( this );
}
void OutputDevice::ImplInitAboveTextLineSize()
{
- mpFontEntry->maFontAttributes.ImplInitAboveTextLineSize();
+ mpFontInstance->maFontAttributes.ImplInitAboveTextLineSize();
}
void OutputDevice::ImplDrawWavePixel( long nOriginX, long nOriginY,
@@ -215,19 +215,19 @@ void OutputDevice::ImplDrawWaveTextLine( long nBaseX, long nBaseY,
Color aColor,
bool bIsAbove )
{
- ImplFontEntry* pFontEntry = mpFontEntry;
+ LogicalFontInstance* pFontInstance = mpFontInstance;
long nLineHeight;
long nLinePos;
if ( bIsAbove )
{
- nLineHeight = pFontEntry->maFontAttributes.GetAboveWavelineUnderlineSize();
- nLinePos = pFontEntry->maFontAttributes.GetAboveWavelineUnderlineOffset();
+ nLineHeight = pFontInstance->maFontAttributes.GetAboveWavelineUnderlineSize();
+ nLinePos = pFontInstance->maFontAttributes.GetAboveWavelineUnderlineOffset();
}
else
{
- nLineHeight = pFontEntry->maFontAttributes.GetWavelineUnderlineSize();
- nLinePos = pFontEntry->maFontAttributes.GetWavelineUnderlineOffset();
+ nLineHeight = pFontInstance->maFontAttributes.GetWavelineUnderlineSize();
+ nLinePos = pFontInstance->maFontAttributes.GetWavelineUnderlineOffset();
}
if ( (eTextLine == UNDERLINE_SMALLWAVE) && (nLineHeight > 3) )
nLineHeight = 3;
@@ -264,16 +264,16 @@ void OutputDevice::ImplDrawWaveTextLine( long nBaseX, long nBaseY,
nLinePos -= nLineWidthHeight-nLineDY2;
ImplDrawWaveLine( nBaseX, nBaseY, nDistX, nLinePos, nWidth, nLineHeight,
- nLineWidth, mpFontEntry->mnOrientation, aColor );
+ nLineWidth, mpFontInstance->mnOrientation, aColor );
nLinePos += nLineWidthHeight+nLineDY;
ImplDrawWaveLine( nBaseX, nBaseY, nDistX, nLinePos, nWidth, nLineHeight,
- nLineWidth, mpFontEntry->mnOrientation, aColor );
+ nLineWidth, mpFontInstance->mnOrientation, aColor );
}
else
{
nLinePos -= nLineWidthHeight/2;
ImplDrawWaveLine( nBaseX, nBaseY, nDistX, nLinePos, nWidth, nLineHeight,
- nLineWidth, mpFontEntry->mnOrientation, aColor );
+ nLineWidth, mpFontInstance->mnOrientation, aColor );
}
}
@@ -283,7 +283,7 @@ void OutputDevice::ImplDrawStraightTextLine( long nBaseX, long nBaseY,
Color aColor,
bool bIsAbove )
{
- ImplFontEntry* pFontEntry = mpFontEntry;
+ LogicalFontInstance* pFontInstance = mpFontInstance;
long nLineHeight = 0;
long nLinePos = 0;
long nLinePos2 = 0;
@@ -303,13 +303,13 @@ void OutputDevice::ImplDrawStraightTextLine( long nBaseX, long nBaseY,
case UNDERLINE_DASHDOTDOT:
if ( bIsAbove )
{
- nLineHeight = pFontEntry->maFontAttributes.GetAboveUnderlineSize();
- nLinePos = nY + pFontEntry->maFontAttributes.GetAboveUnderlineOffset();
+ nLineHeight = pFontInstance->maFontAttributes.GetAboveUnderlineSize();
+ nLinePos = nY + pFontInstance->maFontAttributes.GetAboveUnderlineOffset();
}
else
{
- nLineHeight = pFontEntry->maFontAttributes.GetUnderlineSize();
- nLinePos = nY + pFontEntry->maFontAttributes.GetUnderlineOffset();
+ nLineHeight = pFontInstance->maFontAttributes.GetUnderlineSize();
+ nLinePos = nY + pFontInstance->maFontAttributes.GetUnderlineOffset();
}
break;
case UNDERLINE_BOLD:
@@ -320,27 +320,27 @@ void OutputDevice::ImplDrawStraightTextLine( long nBaseX, long nBaseY,
case UNDERLINE_BOLDDASHDOTDOT:
if ( bIsAbove )
{
- nLineHeight = pFontEntry->maFontAttributes.GetAboveBoldUnderlineSize();
- nLinePos = nY + pFontEntry->maFontAttributes.GetAboveBoldUnderlineOffset();
+ nLineHeight = pFontInstance->maFontAttributes.GetAboveBoldUnderlineSize();
+ nLinePos = nY + pFontInstance->maFontAttributes.GetAboveBoldUnderlineOffset();
}
else
{
- nLineHeight = pFontEntry->maFontAttributes.GetBoldUnderlineSize();
- nLinePos = nY + pFontEntry->maFontAttributes.GetBoldUnderlineOffset();
+ nLineHeight = pFontInstance->maFontAttributes.GetBoldUnderlineSize();
+ nLinePos = nY + pFontInstance->maFontAttributes.GetBoldUnderlineOffset();
}
break;
case UNDERLINE_DOUBLE:
if ( bIsAbove )
{
- nLineHeight = pFontEntry->maFontAttributes.GetAboveDoubleUnderlineSize();
- nLinePos = nY + pFontEntry->maFontAttributes.GetAboveDoubleUnderlineOffset1();
- nLinePos2 = nY + pFontEntry->maFontAttributes.GetAboveDoubleUnderlineOffset2();
+ nLineHeight = pFontInstance->maFontAttributes.GetAboveDoubleUnderlineSize();
+ nLinePos = nY + pFontInstance->maFontAttributes.GetAboveDoubleUnderlineOffset1();
+ nLinePos2 = nY + pFontInstance->maFontAttributes.GetAboveDoubleUnderlineOffset2();
}
else
{
- nLineHeight = pFontEntry->maFontAttributes.GetDoubleUnderlineSize();
- nLinePos = nY + pFontEntry->maFontAttributes.GetDoubleUnderlineOffset1();
- nLinePos2 = nY + pFontEntry->maFontAttributes.GetDoubleUnderlineOffset2();
+ nLineHeight = pFontInstance->maFontAttributes.GetDoubleUnderlineSize();
+ nLinePos = nY + pFontInstance->maFontAttributes.GetDoubleUnderlineOffset1();
+ nLinePos2 = nY + pFontInstance->maFontAttributes.GetDoubleUnderlineOffset2();
}
break;
default:
@@ -525,7 +525,7 @@ void OutputDevice::ImplDrawStrikeoutLine( long nBaseX, long nBaseY,
FontStrikeout eStrikeout,
Color aColor )
{
- ImplFontEntry* pFontEntry = mpFontEntry;
+ LogicalFontInstance* pFontInstance = mpFontInstance;
long nLineHeight = 0;
long nLinePos = 0;
long nLinePos2 = 0;
@@ -538,17 +538,17 @@ void OutputDevice::ImplDrawStrikeoutLine( long nBaseX, long nBaseY,
switch ( eStrikeout )
{
case STRIKEOUT_SINGLE:
- nLineHeight = pFontEntry->maFontAttributes.GetStrikeoutSize();
- nLinePos = nY + pFontEntry->maFontAttributes.GetStrikeoutOffset();
+ nLineHeight = pFontInstance->maFontAttributes.GetStrikeoutSize();
+ nLinePos = nY + pFontInstance->maFontAttributes.GetStrikeoutOffset();
break;
case STRIKEOUT_BOLD:
- nLineHeight = pFontEntry->maFontAttributes.GetBoldStrikeoutSize();
- nLinePos = nY + pFontEntry->maFontAttributes.GetBoldStrikeoutOffset();
+ nLineHeight = pFontInstance->maFontAttributes.GetBoldStrikeoutSize();
+ nLinePos = nY + pFontInstance->maFontAttributes.GetBoldStrikeoutOffset();
break;
case STRIKEOUT_DOUBLE:
- nLineHeight = pFontEntry->maFontAttributes.GetDoubleStrikeoutSize();
- nLinePos = nY + pFontEntry->maFontAttributes.GetDoubleStrikeoutOffset1();
- nLinePos2 = nY + pFontEntry->maFontAttributes.GetDoubleStrikeoutOffset2();
+ nLineHeight = pFontInstance->maFontAttributes.GetDoubleStrikeoutSize();
+ nLinePos = nY + pFontInstance->maFontAttributes.GetDoubleStrikeoutOffset1();
+ nLinePos2 = nY + pFontInstance->maFontAttributes.GetDoubleStrikeoutOffset2();
break;
default:
break;
@@ -624,10 +624,10 @@ void OutputDevice::ImplDrawStrikeoutChar( long nBaseX, long nBaseY,
const OUString aStrikeoutText(aChars, nStrikeStrLen);
- if( mpFontEntry->mnOrientation )
+ if( mpFontInstance->mnOrientation )
{
Point aOriginPt(0, 0);
- aOriginPt.RotateAround( nDistX, nDistY, mpFontEntry->mnOrientation );
+ aOriginPt.RotateAround( nDistX, nDistY, mpFontInstance->mnOrientation );
}
nBaseX += nDistX;
@@ -652,13 +652,13 @@ void OutputDevice::ImplDrawStrikeoutChar( long nBaseX, long nBaseY,
Rectangle aPixelRect;
aPixelRect.Left() = nBaseX+mnTextOffX;
aPixelRect.Right() = aPixelRect.Left()+nWidth;
- aPixelRect.Bottom() = nBaseY+mpFontEntry->maFontAttributes.GetDescent();
- aPixelRect.Top() = nBaseY-mpFontEntry->maFontAttributes.GetAscent();
+ aPixelRect.Bottom() = nBaseY+mpFontInstance->maFontAttributes.GetDescent();
+ aPixelRect.Top() = nBaseY-mpFontInstance->maFontAttributes.GetAscent();
- if (mpFontEntry->mnOrientation)
+ if (mpFontInstance->mnOrientation)
{
tools::Polygon aPoly( aPixelRect );
- aPoly.Rotate( Point(nBaseX+mnTextOffX, nBaseY+mnTextOffY), mpFontEntry->mnOrientation);
+ aPoly.Rotate( Point(nBaseX+mnTextOffX, nBaseY+mnTextOffY), mpFontInstance->mnOrientation);
aPixelRect = aPoly.GetBoundRect();
}
@@ -697,8 +697,8 @@ void OutputDevice::ImplDrawTextLine( long nX, long nY,
{
// --- RTL --- mirror at basex
long nXAdd = nWidth - nDistX;
- if( mpFontEntry->mnOrientation )
- nXAdd = FRound( nXAdd * cos( mpFontEntry->mnOrientation * F_PI1800 ) );
+ if( mpFontInstance->mnOrientation )
+ nXAdd = FRound( nXAdd * cos( mpFontInstance->mnOrientation * F_PI1800 ) );
nX += nXAdd - 1;
}
@@ -771,10 +771,10 @@ void OutputDevice::ImplDrawTextLines( SalLayout& rSalLayout, FontStrikeout eStri
{
// get the distance to the base point (as projected to baseline)
nDist = aPos.X() - aStartPt.X();
- if( mpFontEntry->mnOrientation )
+ if( mpFontInstance->mnOrientation )
{
const long nDY = aPos.Y() - aStartPt.Y();
- const double fRad = mpFontEntry->mnOrientation * F_PI1800;
+ const double fRad = mpFontInstance->mnOrientation * F_PI1800;
nDist = FRound( nDist*cos(fRad) - nDY*sin(fRad) );
}
}
@@ -1042,10 +1042,10 @@ void OutputDevice::DrawWaveLine( const Point& rStartPos, const Point& rEndPos )
}
// #109280# make sure the waveline does not exceed the descent to avoid paint problems
- ImplFontEntry* pFontEntry = mpFontEntry;
- if( nWaveHeight > pFontEntry->maFontAttributes.GetWavelineUnderlineSize() )
+ LogicalFontInstance* pFontInstance = mpFontInstance;
+ if( nWaveHeight > pFontInstance->maFontAttributes.GetWavelineUnderlineSize() )
{
- nWaveHeight = pFontEntry->maFontAttributes.GetWavelineUnderlineSize();
+ nWaveHeight = pFontInstance->maFontAttributes.GetWavelineUnderlineSize();
}
ImplDrawWaveLine(nStartX, nStartY, 0, 0,
nEndX-nStartX, nWaveHeight,
diff --git a/vcl/source/window/accessibility.cxx b/vcl/source/window/accessibility.cxx
index c8e2d88ab466..a36f0aa5eb9d 100644
--- a/vcl/source/window/accessibility.cxx
+++ b/vcl/source/window/accessibility.cxx
@@ -63,7 +63,7 @@
#include "salgdi.hxx"
#include "svdata.hxx"
#include "dbggui.hxx"
-#include "fontentry.hxx"
+#include "fontinstance.hxx"
#include "window.h"
#include "toolbox.h"
#include "outdev.h"
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index 0974d2f6185b..d50871932fd1 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -1884,7 +1884,7 @@ void Window::ImplNewInputContext()
SalInputContext aNewContext;
const vcl::Font& rFont = rInputContext.GetFont();
const OUString& rFontName = rFont.GetName();
- ImplFontEntry* pFontEntry = nullptr;
+ LogicalFontInstance* pFontInstance = nullptr;
aNewContext.mpFont = nullptr;
if (!rFontName.isEmpty())
{
@@ -1899,17 +1899,17 @@ void Window::ImplNewInputContext()
else
aSize.Height() = (12*pFocusWin->mnDPIY)/72;
}
- pFontEntry = pFocusWin->mpFontCache->GetFontEntry( pFocusWin->mpFontCollection,
+ pFontInstance = pFocusWin->mpFontCache->GetFontInstance( pFocusWin->mpFontCollection,
rFont, aSize, static_cast<float>(aSize.Height()) );
- if ( pFontEntry )
- aNewContext.mpFont = &pFontEntry->maFontSelData;
+ if ( pFontInstance )
+ aNewContext.mpFont = &pFontInstance->maFontSelData;
}
aNewContext.meLanguage = rFont.GetLanguage();
aNewContext.mnOptions = rInputContext.GetOptions();
pFocusWin->ImplGetFrame()->SetInputContext( &aNewContext );
- if ( pFontEntry )
- pFocusWin->mpFontCache->Release( pFontEntry );
+ if ( pFontInstance )
+ pFocusWin->mpFontCache->Release( pFontInstance );
}
void Window::doLazyDelete()
diff --git a/vcl/source/window/window2.cxx b/vcl/source/window/window2.cxx
index 3740e77cb07f..ff5d496a1da7 100644
--- a/vcl/source/window/window2.cxx
+++ b/vcl/source/window/window2.cxx
@@ -36,7 +36,7 @@
#include <vcl/settings.hxx>
#include <window.h>
-#include <fontentry.hxx>
+#include <fontinstance.hxx>
#include <outdev.h>
#include <svdata.hxx>
#include <impbmp.hxx>
diff --git a/vcl/unx/generic/gdi/cairotextrender.cxx b/vcl/unx/generic/gdi/cairotextrender.cxx
index 7727e12c34bf..52de75dee568 100644
--- a/vcl/unx/generic/gdi/cairotextrender.cxx
+++ b/vcl/unx/generic/gdi/cairotextrender.cxx
@@ -90,7 +90,7 @@ bool CairoTextRender::setFont( const FontSelectPattern *pEntry, int nFallbackLev
mpServerFont[ nFallbackLevel ] = pServerFont;
// apply font specific-hint settings
- ImplServerFontEntry* pSFE = static_cast<ImplServerFontEntry*>( pEntry->mpFontEntry );
+ ImplServerFontEntry* pSFE = static_cast<ImplServerFontEntry*>( pEntry->mpFontInstance );
pSFE->HandleFontOptions();
return true;
diff --git a/vcl/win/gdi/salfont.cxx b/vcl/win/gdi/salfont.cxx
index e2b4c2ebf0a2..bf32700b068a 100644
--- a/vcl/win/gdi/salfont.cxx
+++ b/vcl/win/gdi/salfont.cxx
@@ -1437,7 +1437,7 @@ sal_uInt16 WinSalGraphics::SetFont( FontSelectPattern* pFont, int nFallbackLevel
}
DBG_ASSERT( pFont->mpFontData, "WinSalGraphics mpFontData==NULL");
- mpWinFontEntry[ nFallbackLevel ] = reinterpret_cast<ImplWinFontEntry*>( pFont->mpFontEntry );
+ mpWinFontEntry[ nFallbackLevel ] = reinterpret_cast<ImplWinFontEntry*>( pFont->mpFontInstance );
mpWinFontData[ nFallbackLevel ] = static_cast<const ImplWinFontData*>( pFont->mpFontData );
HFONT hOldFont = 0;
diff --git a/vcl/win/gdi/winlayout.cxx b/vcl/win/gdi/winlayout.cxx
index 89054fa4a066..70c0dc5a4992 100644
--- a/vcl/win/gdi/winlayout.cxx
+++ b/vcl/win/gdi/winlayout.cxx
@@ -86,7 +86,7 @@ struct OpenGLGlyphCacheChunk
};
// win32 specific physical font instance
-class ImplWinFontEntry : public ImplFontEntry
+class ImplWinFontEntry : public LogicalFontInstance
{
public:
explicit ImplWinFontEntry( FontSelectPattern& );
@@ -2951,7 +2951,7 @@ int WinSalGraphics::GetMinKashidaWidth()
}
ImplWinFontEntry::ImplWinFontEntry( FontSelectPattern& rFSD )
-: ImplFontEntry( rFSD )
+: LogicalFontInstance( rFSD )
, mpGLyphyAtlas( nullptr )
, mpGLyphyFont( nullptr )
, mnMinKashidaWidth( -1 )
@@ -3001,10 +3001,10 @@ PhysicalFontFace* ImplWinFontData::Clone() const
return pClone;
}
-ImplFontEntry* ImplWinFontData::CreateFontInstance( FontSelectPattern& rFSD ) const
+LogicalFontInstance* ImplWinFontData::CreateFontInstance( FontSelectPattern& rFSD ) const
{
- ImplFontEntry* pEntry = new ImplWinFontEntry( rFSD );
- return pEntry;
+ LogicalFontInstance* pFontInstance = new ImplWinFontEntry( rFSD );
+ return pFontInstance;
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */