diff options
-rw-r--r-- | compilerplugins/clang/mergeclasses.results | 1 | ||||
-rw-r--r-- | vcl/generic/fontmanager/fontsubst.cxx | 19 | ||||
-rw-r--r-- | vcl/inc/PhysicalFontCollection.hxx | 4 | ||||
-rw-r--r-- | vcl/inc/outdev.h | 10 | ||||
-rw-r--r-- | vcl/inc/outfont.hxx | 2 | ||||
-rw-r--r-- | vcl/source/font/PhysicalFontCollection.cxx | 2 |
6 files changed, 24 insertions, 14 deletions
diff --git a/compilerplugins/clang/mergeclasses.results b/compilerplugins/clang/mergeclasses.results index ece9c54b407b..78e59dc07895 100644 --- a/compilerplugins/clang/mergeclasses.results +++ b/compilerplugins/clang/mergeclasses.results @@ -46,6 +46,7 @@ merge ISwFrameControl with SwFrameMenuButtonBase merge IXFAttrList with XFSaxAttrList merge IXFStream with XFSaxStream merge IXFStyle with XFStyle +merge ImplPreMatchFontSubstitution with FcPreMatchSubstititution merge LwpDLList with LwpParaProperty merge LwpDLVListHead with LwpPropList merge OldBasicPassword with basic::SfxScriptLibraryContainer diff --git a/vcl/generic/fontmanager/fontsubst.cxx b/vcl/generic/fontmanager/fontsubst.cxx index 26e502cce05b..c84b7ddbe4b1 100644 --- a/vcl/generic/fontmanager/fontsubst.cxx +++ b/vcl/generic/fontmanager/fontsubst.cxx @@ -35,6 +35,19 @@ #include <unotools/fontdefs.hxx> #include <list> +// platform specific font substitution hooks + +class FcPreMatchSubstititution +: public ImplPreMatchFontSubstitution +{ +public: + bool FindFontSubstitute( FontSelectPattern& ) const SAL_OVERRIDE; + typedef ::std::pair<FontSelectPatternAttributes, FontSelectPatternAttributes> value_type; +private: + typedef ::std::list<value_type> CachedFontMapType; + mutable CachedFontMapType maCachedFontMap; +}; + class FcGlyphFallbackSubstititution : public ImplGlyphFallbackFontSubstitution { @@ -82,7 +95,7 @@ void SalGenericInstance::RegisterFontSubstitutors( PhysicalFontCollection* pFont // register font fallback substitutions (unless disabled by bit0) if( (nDisableBits & 1) == 0 ) { - static PreMatchFontSubstititution aSubstPreMatch; + static FcPreMatchSubstititution aSubstPreMatch; pFontCollection->SetPreMatchHook( &aSubstPreMatch ); } @@ -125,12 +138,12 @@ namespace : mrAttributes(rAttributes) { } - bool operator()(const PreMatchFontSubstititution::value_type& rOther) const + bool operator()(const FcPreMatchSubstititution::value_type& rOther) const { return rOther.first == mrAttributes; } }; } -bool PreMatchFontSubstititution::FindFontSubstitute( FontSelectPattern &rFontSelData ) const +bool FcPreMatchSubstititution::FindFontSubstitute( FontSelectPattern &rFontSelData ) const { // We don't actually want to talk to Fontconfig at all for symbol fonts if( rFontSelData.IsSymbolFont() ) diff --git a/vcl/inc/PhysicalFontCollection.hxx b/vcl/inc/PhysicalFontCollection.hxx index e2d78d999c53..1625a358f2af 100644 --- a/vcl/inc/PhysicalFontCollection.hxx +++ b/vcl/inc/PhysicalFontCollection.hxx @@ -40,7 +40,7 @@ private: typedef std::unordered_map<OUString, PhysicalFontFamily*,OUStringHash> PhysicalFontFamilies; PhysicalFontFamilies maPhysicalFontFamilies; - PreMatchFontSubstititution* mpPreMatchHook; // device specific prematch substitution + ImplPreMatchFontSubstitution* mpPreMatchHook; // device specific prematch substitution ImplGlyphFallbackFontSubstitution* mpFallbackHook; // device specific glyph fallback substitution public: @@ -63,7 +63,7 @@ public: OUString& rMissingCodes, int nFallbackLevel ) const; // prepare platform specific font substitutions - void SetPreMatchHook( PreMatchFontSubstititution* ); + void SetPreMatchHook( ImplPreMatchFontSubstitution* ); void SetFallbackHook( ImplGlyphFallbackFontSubstitution* ); // misc utilities diff --git a/vcl/inc/outdev.h b/vcl/inc/outdev.h index 7032958d4903..628329ea77e4 100644 --- a/vcl/inc/outdev.h +++ b/vcl/inc/outdev.h @@ -112,17 +112,13 @@ public: // PreMatchFontSubstitution // abstracts the concept of a configured font substitution // before the availability of the originally selected font has been checked -class PreMatchFontSubstititution +class ImplPreMatchFontSubstitution +: public ImplFontSubstitution { public: - bool FindFontSubstitute( FontSelectPattern& ) const; - typedef ::std::pair<FontSelectPatternAttributes, FontSelectPatternAttributes> value_type; -private: - typedef ::std::list<value_type> CachedFontMapType; - mutable CachedFontMapType maCachedFontMap; + virtual bool FindFontSubstitute( FontSelectPattern& ) const = 0; }; - // ImplGlyphFallbackFontSubstitution // abstracts the concept of finding the best font to support an incomplete font class ImplGlyphFallbackFontSubstitution diff --git a/vcl/inc/outfont.hxx b/vcl/inc/outfont.hxx index 860f76779d8b..2b56acd4fdea 100644 --- a/vcl/inc/outfont.hxx +++ b/vcl/inc/outfont.hxx @@ -37,7 +37,7 @@ class ImplGetDevFontList; class ImplGetDevSizeList; class ImplFontEntry; class ImplFontCache; -class PreMatchFontSubstititution; +class ImplPreMatchFontSubstitution; class ImplGlyphFallbackFontSubstitution; class FontSelectPattern; namespace vcl { class Font; } diff --git a/vcl/source/font/PhysicalFontCollection.cxx b/vcl/source/font/PhysicalFontCollection.cxx index 9f01fe2291e0..cd89bdf0e6a1 100644 --- a/vcl/source/font/PhysicalFontCollection.cxx +++ b/vcl/source/font/PhysicalFontCollection.cxx @@ -84,7 +84,7 @@ PhysicalFontCollection::~PhysicalFontCollection() Clear(); } -void PhysicalFontCollection::SetPreMatchHook( PreMatchFontSubstititution* pHook ) +void PhysicalFontCollection::SetPreMatchHook( ImplPreMatchFontSubstitution* pHook ) { mpPreMatchHook = pHook; } |