26 #include <rtl/ref.hxx>
37 #include <unordered_map>
51 size_t operator()(
const pair< sal_UCS4, FontWeight >& rData)
const
81 void AddFallbackForUnicode(
sal_UCS4 cChar,
FontWeight eWeight,
const OUString& rFontName,
84 OUString* pOutFontName,
bool* pOutEmbolden,
ItalicMatrix* pOutItalicMatrix)
const;
85 void IgnoreFallbackForUnicode(
sal_UCS4,
FontWeight eWeight, std::u16string_view rFontName );
87 inline hb_font_t* GetHbFont();
88 bool IsGraphiteFont();
91 bool NeedOffsetCorrection(sal_Int32 nYOffset);
103 int GetKashidaWidth()
const;
105 void GetScale(
double* nXScale,
double* nYScale)
const;
106 static inline void DecodeOpenTypeTag(
const uint32_t nTableTag,
char* pTagName);
114 static hb_font_t* InitHbFont(hb_face_t* pHbFace);
115 virtual hb_font_t*
ImplInitHbFont() { assert(
false);
return hb_font_get_empty(); }
151 pTagName[0] =
static_cast<char>(nTableTag >> 24);
152 pTagName[1] =
static_cast<char>(nTableTag >> 16);
153 pTagName[2] =
static_cast<char>(nTableTag >> 8);
154 pTagName[3] =
static_cast<char>(nTableTag);
std::optional< bool > m_xbIsGraphiteFont
ImplFontCache * mpFontCache
size_t operator()(const pair< sal_UCS4, FontWeight > &rData) const
void SetAverageWidthFactor(double nFactor)
const ConvertChar * mpConversion
vcl::font::PhysicalFontFace * GetFontFace()
::std::unordered_map< ::std::pair< sal_UCS4, FontWeight >, MapEntry > UnicodeFallbackList
std::optional< FontFamilyEnum > m_xeFontFamilyEnum
static void DecodeOpenTypeTag(const uint32_t nTableTag, char *pTagName)
ImplFontMetricDataRef mxFontMetric
double GetAverageWidthFactor() const
const vcl::font::FontSelectPattern & GetFontSelectPattern() const
ItalicMatrix aItalicMatrix
const vcl::font::FontSelectPattern m_aFontSelData
std::enable_if_t<(sizeof(N)==4)> hash_combine(N &nSeed, T const *pValue, size_t nCount)
abstract base class for physical font faces
#define VCL_PLUGIN_PUBLIC
rtl::Reference< vcl::font::PhysicalFontFace > m_pFontFace
const ImplFontCache * GetFontCache() const
virtual hb_font_t * ImplInitHbFont()
Degree10 mnOwnOrientation
UnicodeFallbackList maUnicodeFallbackList
const vcl::font::PhysicalFontFace * GetFontFace() const