LibreOffice Module vcl (master)
1
|
#include <fontinstance.hxx>
Classes | |
struct | MapEntry |
Static Public Member Functions | |
static void | DecodeOpenTypeTag (const uint32_t nTableTag, char *pTagName) |
![]() | |
static void * | operator new (std::size_t nSize) |
static void * | operator new (std::size_t nSize, std::nothrow_t const &rNothrow) |
static void | operator delete (void *pPtr) |
static void | operator delete (void *pPtr, std::nothrow_t const &rNothrow) |
Public Attributes | |
ImplFontMetricDataRef | mxFontMetric |
const ConvertChar * | mpConversion |
tools::Long | mnLineHeight |
Degree10 | mnOwnOrientation |
Degree10 | mnOrientation |
bool | mbInit |
Protected Member Functions | |
LogicalFontInstance (const vcl::font::PhysicalFontFace &, const vcl::font::FontSelectPattern &) | |
virtual bool | ImplGetGlyphBoundRect (sal_GlyphId, tools::Rectangle &, bool) const =0 |
virtual hb_font_t * | ImplInitHbFont () |
![]() | |
virtual | ~SimpleReferenceObject () COVERITY_NOEXCEPT_FALSE |
Static Protected Member Functions | |
static hb_font_t * | InitHbFont (hb_face_t *pHbFace) |
Private Types | |
enum | FontFamilyEnum { FontFamilyEnum::Unclassified, FontFamilyEnum::DFKaiSB } |
typedef ::std::unordered_map< ::std::pair< sal_UCS4, FontWeight >, MapEntry > | UnicodeFallbackList |
Private Attributes | |
UnicodeFallbackList | maUnicodeFallbackList |
ImplFontCache * | mpFontCache |
const vcl::font::FontSelectPattern | m_aFontSelData |
hb_font_t * | m_pHbFont |
double | m_nAveWidthFactor |
rtl::Reference< vcl::font::PhysicalFontFace > | m_pFontFace |
std::optional< bool > | m_xbIsGraphiteFont |
std::optional< FontFamilyEnum > | m_xeFontFamilyEnum |
Friends | |
class | vcl::font::PhysicalFontFace |
class | ImplFontCache |
Additional Inherited Members | |
![]() | |
oslInterlockedCount | m_nCount |
Definition at line 63 of file fontinstance.hxx.
|
private |
Definition at line 127 of file fontinstance.hxx.
|
strongprivate |
Enumerator | |
---|---|
Unclassified | |
DFKaiSB |
Definition at line 136 of file fontinstance.hxx.
|
overridevirtual |
Definition at line 44 of file fontinstance.cxx.
References m_pHbFont, maUnicodeFallbackList, mpFontCache, and mxFontMetric.
|
explicitprotected |
Definition at line 29 of file fontinstance.cxx.
References false.
void LogicalFontInstance::AddFallbackForUnicode | ( | sal_UCS4 | cChar, |
FontWeight | eWeight, | ||
const OUString & | rFontName, | ||
bool | bEmbolden, | ||
const ItalicMatrix & | rMatrix | ||
) |
Definition at line 102 of file fontinstance.cxx.
References LogicalFontInstance::MapEntry::aItalicMatrix, LogicalFontInstance::MapEntry::bEmbolden, maUnicodeFallbackList, and LogicalFontInstance::MapEntry::sFontName.
Referenced by vcl::font::PhysicalFontCollection::GetGlyphFallbackFont().
|
inlinestatic |
Definition at line 149 of file fontinstance.hxx.
|
inline |
Definition at line 93 of file fontinstance.hxx.
bool LogicalFontInstance::GetFallbackForUnicode | ( | sal_UCS4 | cInChar, |
FontWeight | eInWeight, | ||
OUString * | pOutFontName, | ||
bool * | pOutEmbolden, | ||
ItalicMatrix * | pOutItalicMatrix | ||
) | const |
Definition at line 111 of file fontinstance.cxx.
References LogicalFontInstance::MapEntry::aItalicMatrix, LogicalFontInstance::MapEntry::bEmbolden, maUnicodeFallbackList, and LogicalFontInstance::MapEntry::sFontName.
Referenced by vcl::font::PhysicalFontCollection::GetGlyphFallbackFont().
|
inline |
Definition at line 98 of file fontinstance.hxx.
Referenced by ImplFontCache::CacheGlyphBoundRect(), and ImplFontCache::GetCachedGlyphBoundRect().
|
inline |
Definition at line 96 of file fontinstance.hxx.
Referenced by vcl::PDFWriterImpl::createDefaultCheckBoxAppearance(), WinFontInstance::GetFontFace(), MultiSalLayout::GetNextGlyph(), and vcl::PDFWriterImpl::getSystemFont().
|
inline |
Definition at line 97 of file fontinstance.hxx.
|
inline |
Definition at line 94 of file fontinstance.hxx.
Referenced by ImplFontCache::GetFontInstance(), GenericSalLayout::LayoutText(), and OutputDevice::SetFontOrientation().
bool LogicalFontInstance::GetGlyphBoundRect | ( | sal_GlyphId | nID, |
tools::Rectangle & | rRect, | ||
bool | bVertical | ||
) | const |
Definition at line 135 of file fontinstance.cxx.
References ImplFontCache::CacheGlyphBoundRect(), ImplFontCache::GetCachedGlyphBoundRect(), ImplGetGlyphBoundRect(), and mpFontCache.
Referenced by GlyphItem::GetGlyphBoundRect(), and GenericSalLayout::LayoutText().
|
pure virtual |
Implemented in FreetypeFontInstance, CoreTextStyle, vcl::pdf::BuildinFontInstance, WinFontInstance, and QtFont.
Referenced by GlyphItem::GetGlyphOutline().
|
inline |
Definition at line 142 of file fontinstance.hxx.
References ImplInitHbFont(), and m_pHbFont.
Referenced by GenericSalLayout::ApplyDXArray(), OutputDevice::GetFontFeatures(), GetKashidaWidth(), GetScale(), GenericSalLayout::HasVerticalAlternate(), ImplFontMetricData::ImplCalcLineSpacing(), ImplFontMetricData::ImplInitBaselines(), IsGraphiteFont(), GenericSalLayout::LayoutText(), and NeedOffsetCorrection().
int LogicalFontInstance::GetKashidaWidth | ( | ) | const |
Definition at line 66 of file fontinstance.cxx.
References GetHbFont(), GetScale(), and nIndex.
Referenced by GenericSalLayout::ApplyDXArray().
void LogicalFontInstance::GetScale | ( | double * | nXScale, |
double * | nYScale | ||
) | const |
Definition at line 82 of file fontinstance.cxx.
References GetHbFont(), m_aFontSelData, m_nAveWidthFactor, vcl::font::FontSelectPattern::mnHeight, and vcl::font::FontSelectPattern::mnWidth.
Referenced by SalLayoutGlyphsCache::CachedGlyphsKey::CachedGlyphsKey(), GetKashidaWidth(), and GenericSalLayout::LayoutText().
void LogicalFontInstance::IgnoreFallbackForUnicode | ( | sal_UCS4 | cChar, |
FontWeight | eWeight, | ||
std::u16string_view | rFontName | ||
) |
Definition at line 125 of file fontinstance.cxx.
References maUnicodeFallbackList, and LogicalFontInstance::MapEntry::sFontName.
Referenced by vcl::font::PhysicalFontCollection::GetGlyphFallbackFont().
|
protectedpure virtual |
Implemented in FreetypeFontInstance, CoreTextStyle, WinFontInstance, vcl::pdf::BuildinFontInstance, and QtFont.
Referenced by GetGlyphBoundRect().
|
inlineprotectedvirtual |
Reimplemented in FreetypeFontInstance, CoreTextStyle, WinFontInstance, and QtFont.
Definition at line 115 of file fontinstance.hxx.
Referenced by GetHbFont().
|
staticprotected |
Definition at line 54 of file fontinstance.cxx.
bool LogicalFontInstance::IsGraphiteFont | ( | ) |
Definition at line 146 of file fontinstance.cxx.
References GetHbFont(), and m_xbIsGraphiteFont.
Referenced by GenericSalLayout::LayoutText().
bool LogicalFontInstance::NeedOffsetCorrection | ( | sal_Int32 | nYOffset | ) |
Definition at line 155 of file fontinstance.cxx.
References DFKaiSB, GetHbFont(), m_xeFontFamilyEnum, and Unclassified.
|
inline |
Definition at line 92 of file fontinstance.hxx.
|
friend |
Definition at line 68 of file fontinstance.hxx.
|
friend |
Definition at line 67 of file fontinstance.hxx.
|
private |
Definition at line 130 of file fontinstance.hxx.
Referenced by GetScale().
|
private |
Definition at line 132 of file fontinstance.hxx.
Referenced by GetScale().
|
private |
Definition at line 133 of file fontinstance.hxx.
|
private |
Definition at line 131 of file fontinstance.hxx.
Referenced by GetHbFont(), and ~LogicalFontInstance().
|
private |
Definition at line 134 of file fontinstance.hxx.
Referenced by IsGraphiteFont().
|
private |
Definition at line 139 of file fontinstance.hxx.
Referenced by NeedOffsetCorrection().
|
private |
Definition at line 128 of file fontinstance.hxx.
Referenced by AddFallbackForUnicode(), GetFallbackForUnicode(), IgnoreFallbackForUnicode(), and ~LogicalFontInstance().
bool LogicalFontInstance::mbInit |
Definition at line 79 of file fontinstance.hxx.
Referenced by OutputDevice::ImplNewFont().
tools::Long LogicalFontInstance::mnLineHeight |
Definition at line 76 of file fontinstance.hxx.
Referenced by OutputDevice::ImplNewFont().
Degree10 LogicalFontInstance::mnOrientation |
Definition at line 78 of file fontinstance.hxx.
Referenced by vcl::PDFWriterImpl::drawLayout(), vcl::PDFWriterImpl::drawStrikeoutChar(), OutputDevice::ImplNewFont(), Printer::SetFontOrientation(), and OutputDevice::SetFontOrientation().
Degree10 LogicalFontInstance::mnOwnOrientation |
Definition at line 77 of file fontinstance.hxx.
Referenced by OutputDevice::GetFontMetric(), and OutputDevice::SetFontOrientation().
const ConvertChar* LogicalFontInstance::mpConversion |
Definition at line 74 of file fontinstance.hxx.
|
mutableprivate |
Definition at line 129 of file fontinstance.hxx.
Referenced by GetGlyphBoundRect(), ImplFontCache::Invalidate(), and ~LogicalFontInstance().
ImplFontMetricDataRef LogicalFontInstance::mxFontMetric |
Definition at line 73 of file fontinstance.hxx.
Referenced by vcl::PDFWriterImpl::drawStraightTextLine(), vcl::PDFWriterImpl::drawStrikeoutLine(), vcl::PDFWriterImpl::drawTextLine(), OutputDevice::DrawWaveLine(), vcl::PDFWriterImpl::drawWaveTextLine(), OutputDevice::GetFontMetric(), OutputDevice::ImplDrawStraightTextLine(), OutputDevice::ImplDrawStrikeoutLine(), OutputDevice::ImplDrawWaveTextLine(), OutputDevice::ImplNewFont(), Printer::SetFontOrientation(), OutputDevice::SetFontOrientation(), and ~LogicalFontInstance().