LibreOffice Module vcl (master)  1
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Static Protected Member Functions | Private Types | Private Attributes | Friends | List of all members
LogicalFontInstance Class Referenceabstract

#include <fontinstance.hxx>

Inheritance diagram for LogicalFontInstance:
Collaboration diagram for LogicalFontInstance:

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 FontSelectPatternGetFontSelectPattern () const
const PhysicalFontFaceGetFontFace () const
PhysicalFontFaceGetFontFace ()
const ImplFontCacheGetFontCache () 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)
- Public Member Functions inherited from salhelper::SimpleReferenceObject
 SimpleReferenceObject ()
void acquire ()
void release ()

Static Public Member Functions

static void DecodeOpenTypeTag (const uint32_t nTableTag, char *pTagName)
- Static Public Member Functions inherited from salhelper::SimpleReferenceObject
static voidoperator new (std::size_t nSize)
static voidoperator 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 ()
- Protected Member Functions inherited from salhelper::SimpleReferenceObject
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< UnicodeFallbackListmpUnicodeFallbackList
const FontSelectPattern m_aFontSelData
hb_font_t * m_pHbFont
double m_nAveWidthFactor
rtl::Reference< PhysicalFontFacem_pFontFace
std::optional< bool > m_xbIsGraphiteFont


class PhysicalFontFace
class ImplFontCache

Additional Inherited Members

- Protected Attributes inherited from salhelper::SimpleReferenceObject
oslInterlockedCount m_nCount

Detailed Description

Definition at line 46 of file fontinstance.hxx.

Member Typedef Documentation

typedef ::std::unordered_map< ::std::pair<sal_UCS4,FontWeight>, OUString > LogicalFontInstance::UnicodeFallbackList

Definition at line 99 of file fontinstance.hxx.

Constructor & Destructor Documentation

LogicalFontInstance::~LogicalFontInstance ( )

Definition at line 62 of file fontinstance.cxx.

References m_pHbFont, mpFontCache, mpUnicodeFallbackList, and mxFontMetric.

LogicalFontInstance::LogicalFontInstance ( const PhysicalFontFace rFontFace,
const FontSelectPattern rFontSelData 

Definition at line 47 of file fontinstance.cxx.

Member Function Documentation

void LogicalFontInstance::AddFallbackForUnicode ( sal_UCS4  cChar,
FontWeight  eWeight,
const OUString &  rFontName 

Definition at line 120 of file fontinstance.cxx.

References mpUnicodeFallbackList.

Referenced by PhysicalFontCollection::GetGlyphFallbackFont().

void LogicalFontInstance::DecodeOpenTypeTag ( const uint32_t  nTableTag,
char *  pTagName 

Definition at line 116 of file fontinstance.hxx.

double LogicalFontInstance::GetAverageWidthFactor ( ) const

Definition at line 71 of file fontinstance.hxx.

bool LogicalFontInstance::GetFallbackForUnicode ( sal_UCS4  cChar,
FontWeight  eWeight,
OUString *  pFontName 
) const

Definition at line 127 of file fontinstance.cxx.

References mpUnicodeFallbackList.

Referenced by PhysicalFontCollection::GetGlyphFallbackFont().

const ImplFontCache* LogicalFontInstance::GetFontCache ( ) const
const PhysicalFontFace* LogicalFontInstance::GetFontFace ( ) const
PhysicalFontFace* LogicalFontInstance::GetFontFace ( )

Definition at line 75 of file fontinstance.hxx.

const FontSelectPattern& LogicalFontInstance::GetFontSelectPattern ( ) const
bool LogicalFontInstance::GetGlyphBoundRect ( sal_GlyphId  nID,
tools::Rectangle rRect,
bool  bVertical 
) const
virtual bool LogicalFontInstance::GetGlyphOutline ( sal_GlyphId  ,
basegfx::B2DPolyPolygon ,
) const
pure virtual
hb_font_t * LogicalFontInstance::GetHbFont ( )
int LogicalFontInstance::GetKashidaWidth ( )

Definition at line 84 of file fontinstance.cxx.

References GetHbFont(), GetScale(), and nIndex.

Referenced by GenericSalLayout::ApplyDXArray().

void LogicalFontInstance::GetScale ( double *  nXScale,
double *  nYScale 
void LogicalFontInstance::IgnoreFallbackForUnicode ( sal_UCS4  cChar,
FontWeight  eWeight,
std::u16string_view  rFontName 

Definition at line 140 of file fontinstance.cxx.

References mpUnicodeFallbackList.

Referenced by PhysicalFontCollection::GetGlyphFallbackFont().

virtual bool LogicalFontInstance::ImplGetGlyphBoundRect ( sal_GlyphId  ,
tools::Rectangle ,
) const
protectedpure virtual
virtual hb_font_t* LogicalFontInstance::ImplInitHbFont ( )

Reimplemented in FreetypeFontInstance, CoreTextStyle, WinFontInstance, and Qt5Font.

Definition at line 93 of file fontinstance.hxx.

Referenced by GetHbFont().

hb_font_t * LogicalFontInstance::InitHbFont ( hb_face_t *  pHbFace)

Definition at line 72 of file fontinstance.cxx.

bool LogicalFontInstance::IsGraphiteFont ( )

Definition at line 160 of file fontinstance.cxx.

References GetHbFont(), and m_xbIsGraphiteFont.

Referenced by GenericSalLayout::LayoutText().

void LogicalFontInstance::SetAverageWidthFactor ( double  nFactor)

Definition at line 70 of file fontinstance.hxx.

Friends And Related Function Documentation

friend class ImplFontCache

Definition at line 51 of file fontinstance.hxx.

friend class PhysicalFontFace

Definition at line 50 of file fontinstance.hxx.

Member Data Documentation

const FontSelectPattern LogicalFontInstance::m_aFontSelData

Definition at line 102 of file fontinstance.hxx.

Referenced by GetScale().

double LogicalFontInstance::m_nAveWidthFactor

Definition at line 104 of file fontinstance.hxx.

Referenced by GetScale().

rtl::Reference<PhysicalFontFace> LogicalFontInstance::m_pFontFace

Definition at line 105 of file fontinstance.hxx.

hb_font_t* LogicalFontInstance::m_pHbFont

Definition at line 103 of file fontinstance.hxx.

Referenced by GetHbFont(), and ~LogicalFontInstance().

std::optional<bool> LogicalFontInstance::m_xbIsGraphiteFont

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
Degree10 LogicalFontInstance::mnOwnOrientation
const ConvertChar* LogicalFontInstance::mpConversion

Definition at line 57 of file fontinstance.hxx.

ImplFontCache* LogicalFontInstance::mpFontCache
std::unique_ptr<UnicodeFallbackList> LogicalFontInstance::mpUnicodeFallbackList
ImplFontMetricDataRef LogicalFontInstance::mxFontMetric

The documentation for this class was generated from the following files: