20 #ifndef INCLUDED_VCL_INC_GENERIC_GLYPHCACHE_HXX
21 #define INCLUDED_VCL_INC_GENERIC_GLYPHCACHE_HXX
24 #include <freetype/config/ftheader.h>
25 #include FT_FREETYPE_H
38 #include <unordered_map>
49 namespace basegfx {
class B2DPolyPolygon; }
50 namespace vcl {
struct FontCapabilities; }
81 void AddFontFile(
const OString& rNormalizedName,
82 int nFaceNum,
int nVariantNum,
88 void ClearFontCache();
97 static void InitFreetype();
100 typedef std::unordered_map<sal_IntPtr, std::shared_ptr<FreetypeFontInfo>>
FontInfoList;
101 typedef std::unordered_map<const char*, std::unique_ptr<FreetypeFontFile>, rtl::CStringHash, rtl::CStringEqual>
FontFileList;
114 const OString& GetFontFileName()
const;
115 int GetFontFaceIndex()
const;
116 int GetFontFaceVariation()
const;
118 FT_Face GetFtFace()
const;
124 const unsigned char* GetTable(
const char*
pName,
sal_uLong* pLength )
const;
130 bool GetAntialiasAdvice()
const;
132 void SetFontVariationsOnHBFont(hb_font_t* pHbFace)
const;
138 static bool AlmostHorizontalDrainsRenderingPool(
int nRatio,
const FontSelectPattern& rFSD);
146 void ApplyGlyphTransform(
bool bVertical, FT_Glyph)
const;
169 #endif // INCLUDED_VCL_INC_GENERIC_GLYPHCACHE_HXX
FreetypeFontInstance & mrFontInstance
FontFileList m_aFontFileList
std::unordered_map< const char *, std::unique_ptr< FreetypeFontFile >, rtl::CStringHash, rtl::CStringEqual > FontFileList
bool NeedsArtificialItalic() const
bool NeedsArtificialBold() const
The FreetypeManager caches various aspects of Freetype fonts.
void CreateFont(SvxFont &rFont, const SfxItemSet &rSet, bool bSearchInParent, SvtScriptType nScriptType)
std::shared_ptr< FreetypeFontInfo > mxFontInfo
FontInfoList m_aFontInfoList
std::unordered_map< sal_IntPtr, std::shared_ptr< FreetypeFontInfo > > FontInfoList
std::unique_ptr< FontConfigFontOptions > mxFontOptions