LibreOffice Module vcl (master)
1
|
#include <fontinstance.hxx>
Public Member Functions | |
virtual | ~LogicalFontInstance () override |
void | AddFallbackForUnicode (sal_UCS4, FontWeight eWeight, const OUString &rFontName) |
bool | GetFallbackForUnicode (sal_UCS4, FontWeight eWeight, OUString *pFontName) const |
void | IgnoreFallbackForUnicode (sal_UCS4, FontWeight eWeight, std::u16string_view rFontName) |
hb_font_t * | GetHbFont () |
bool | IsGraphiteFont () |
void | SetAverageWidthFactor (double nFactor) |
double | GetAverageWidthFactor () const |
const FontSelectPattern & | GetFontSelectPattern () const |
const PhysicalFontFace * | GetFontFace () const |
PhysicalFontFace * | GetFontFace () |
const ImplFontCache * | GetFontCache () const |
bool | GetGlyphBoundRect (sal_GlyphId, tools::Rectangle &, bool) const |
virtual bool | GetGlyphOutline (sal_GlyphId, basegfx::B2DPolyPolygon &, bool) const =0 |
int | GetKashidaWidth () |
void | GetScale (double *nXScale, double *nYScale) |
![]() | |
SimpleReferenceObject () | |
void | acquire () |
void | release () |
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 PhysicalFontFace &, const 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 | |
typedef ::std::unordered_map< ::std::pair< sal_UCS4, FontWeight >, OUString > | UnicodeFallbackList |
Private Attributes | |
std::unique_ptr< UnicodeFallbackList > | mpUnicodeFallbackList |
ImplFontCache * | mpFontCache |
const FontSelectPattern | m_aFontSelData |
hb_font_t * | m_pHbFont |
double | m_nAveWidthFactor |
rtl::Reference< PhysicalFontFace > | m_pFontFace |
std::optional< bool > | m_xbIsGraphiteFont |
Friends | |
class | PhysicalFontFace |
class | ImplFontCache |
Additional Inherited Members | |
![]() | |
oslInterlockedCount | m_nCount |
Definition at line 46 of file fontinstance.hxx.
|
private |
Definition at line 99 of file fontinstance.hxx.
|
overridevirtual |
Definition at line 61 of file fontinstance.cxx.
References m_pHbFont, mpFontCache, mpUnicodeFallbackList, and mxFontMetric.
|
explicitprotected |
Definition at line 46 of file fontinstance.cxx.
void LogicalFontInstance::AddFallbackForUnicode | ( | sal_UCS4 | cChar, |
FontWeight | eWeight, | ||
const OUString & | rFontName | ||
) |
Definition at line 119 of file fontinstance.cxx.
References mpUnicodeFallbackList.
Referenced by PhysicalFontCollection::GetGlyphFallbackFont().
|
inlinestatic |
Definition at line 116 of file fontinstance.hxx.
|
inline |
Definition at line 71 of file fontinstance.hxx.
bool LogicalFontInstance::GetFallbackForUnicode | ( | sal_UCS4 | cChar, |
FontWeight | eWeight, | ||
OUString * | pFontName | ||
) | const |
Definition at line 126 of file fontinstance.cxx.
References mpUnicodeFallbackList.
Referenced by PhysicalFontCollection::GetGlyphFallbackFont().
|
inline |
Definition at line 76 of file fontinstance.hxx.
Referenced by ImplFontCache::CacheGlyphBoundRect(), and ImplFontCache::GetCachedGlyphBoundRect().
|
inline |
Definition at line 74 of file fontinstance.hxx.
Referenced by vcl::PDFWriterImpl::createDefaultCheckBoxAppearance(), WinFontInstance::GetFontFace(), MultiSalLayout::GetNextGlyph(), and vcl::PDFWriterImpl::getSystemFont().
|
inline |
Definition at line 75 of file fontinstance.hxx.
|
inline |
Definition at line 72 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 148 of file fontinstance.cxx.
References ImplFontCache::CacheGlyphBoundRect(), ImplFontCache::GetCachedGlyphBoundRect(), ImplGetGlyphBoundRect(), and mpFontCache.
Referenced by GlyphItem::GetGlyphBoundRect().
|
pure virtual |
Implemented in FreetypeFontInstance, CoreTextStyle, vcl::pdf::BuildinFontInstance, WinFontInstance, and Qt5Font.
Referenced by GlyphItem::GetGlyphOutline().
|
inline |
Definition at line 109 of file fontinstance.hxx.
References ImplInitHbFont(), and m_pHbFont.
Referenced by GenericSalLayout::ApplyDXArray(), OutputDevice::GetFontFeatures(), GetKashidaWidth(), GetScale(), GenericSalLayout::HasVerticalAlternate(), ImplFontMetricData::ImplCalcLineSpacing(), IsGraphiteFont(), and GenericSalLayout::LayoutText().
int LogicalFontInstance::GetKashidaWidth | ( | ) |
Definition at line 83 of file fontinstance.cxx.
References GetHbFont(), GetScale(), and nIndex.
Referenced by GenericSalLayout::ApplyDXArray().
void LogicalFontInstance::GetScale | ( | double * | nXScale, |
double * | nYScale | ||
) |
Definition at line 99 of file fontinstance.cxx.
References GetHbFont(), m_aFontSelData, m_nAveWidthFactor, FontSelectPattern::mnHeight, and FontSelectPattern::mnWidth.
Referenced by GetKashidaWidth(), and GenericSalLayout::LayoutText().
void LogicalFontInstance::IgnoreFallbackForUnicode | ( | sal_UCS4 | cChar, |
FontWeight | eWeight, | ||
std::u16string_view | rFontName | ||
) |
Definition at line 139 of file fontinstance.cxx.
References mpUnicodeFallbackList.
Referenced by PhysicalFontCollection::GetGlyphFallbackFont().
|
protectedpure virtual |
Implemented in FreetypeFontInstance, CoreTextStyle, WinFontInstance, vcl::pdf::BuildinFontInstance, and Qt5Font.
Referenced by GetGlyphBoundRect().
|
inlineprotectedvirtual |
Reimplemented in FreetypeFontInstance, CoreTextStyle, WinFontInstance, and Qt5Font.
Definition at line 93 of file fontinstance.hxx.
References assert().
Referenced by GetHbFont().
|
staticprotected |
Definition at line 71 of file fontinstance.cxx.
References assert().
bool LogicalFontInstance::IsGraphiteFont | ( | ) |
Definition at line 159 of file fontinstance.cxx.
References GetHbFont(), and m_xbIsGraphiteFont.
Referenced by GenericSalLayout::LayoutText().
|
inline |
Definition at line 70 of file fontinstance.hxx.
|
friend |
Definition at line 51 of file fontinstance.hxx.
|
friend |
Definition at line 50 of file fontinstance.hxx.
|
private |
Definition at line 102 of file fontinstance.hxx.
Referenced by GetScale().
|
private |
Definition at line 104 of file fontinstance.hxx.
Referenced by GetScale().
|
private |
Definition at line 105 of file fontinstance.hxx.
|
private |
Definition at line 103 of file fontinstance.hxx.
Referenced by GetHbFont(), and ~LogicalFontInstance().
|
private |
Definition at line 106 of file fontinstance.hxx.
Referenced by IsGraphiteFont().
bool LogicalFontInstance::mbInit |
Definition at line 62 of file fontinstance.hxx.
Referenced by OutputDevice::ImplNewFont().
tools::Long LogicalFontInstance::mnLineHeight |
Definition at line 59 of file fontinstance.hxx.
Referenced by OutputDevice::ImplNewFont().
Degree10 LogicalFontInstance::mnOrientation |
Definition at line 61 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 60 of file fontinstance.hxx.
Referenced by OutputDevice::GetFontMetric(), and OutputDevice::SetFontOrientation().
const ConvertChar* LogicalFontInstance::mpConversion |
Definition at line 57 of file fontinstance.hxx.
|
mutableprivate |
Definition at line 101 of file fontinstance.hxx.
Referenced by GetGlyphBoundRect(), ImplFontCache::Invalidate(), and ~LogicalFontInstance().
|
private |
Definition at line 100 of file fontinstance.hxx.
Referenced by AddFallbackForUnicode(), GetFallbackForUnicode(), IgnoreFallbackForUnicode(), and ~LogicalFontInstance().
ImplFontMetricDataRef LogicalFontInstance::mxFontMetric |
Definition at line 56 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().