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:
[legend]
Collaboration diagram for LogicalFontInstance:
[legend]

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, const OUString &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 ConvertCharmpConversion
 
long mnLineHeight
 
short mnOwnOrientation
 
short 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 ()
 
void ReleaseHbFont ()
 
- 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
 
ImplFontCachempFontCache
 
const FontSelectPattern m_aFontSelData
 
hb_font_t * m_pHbFont
 
double m_nAveWidthFactor
 
rtl::Reference< PhysicalFontFacem_pFontFace
 
o3tl::optional< bool > m_xbIsGraphiteFont
 

Friends

class PhysicalFontFace
 
class ImplFontCache
 

Additional Inherited Members

- Protected Attributes inherited from salhelper::SimpleReferenceObject
oslInterlockedCount m_nCount
 

Detailed Description

Definition at line 45 of file fontinstance.hxx.

Member Typedef Documentation

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

Definition at line 99 of file fontinstance.hxx.

Constructor & Destructor Documentation

LogicalFontInstance::~LogicalFontInstance ( )
overridevirtual

Definition at line 61 of file fontinstance.cxx.

References m_pHbFont, mpFontCache, mpUnicodeFallbackList, and mxFontMetric.

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

Definition at line 46 of file fontinstance.cxx.

Member Function Documentation

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().

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

Definition at line 124 of file fontinstance.hxx.

double LogicalFontInstance::GetAverageWidthFactor ( ) const
inline

Definition at line 70 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().

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

Definition at line 74 of file fontinstance.hxx.

const FontSelectPattern& LogicalFontInstance::GetFontSelectPattern ( ) const
inline
bool LogicalFontInstance::GetGlyphBoundRect ( sal_GlyphId  nID,
tools::Rectangle rRect,
bool  bVertical 
) const
virtual bool LogicalFontInstance::GetGlyphOutline ( sal_GlyphId  ,
basegfx::B2DPolyPolygon ,
bool   
) const
pure virtual
hb_font_t * LogicalFontInstance::GetHbFont ( )
inline
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 
)
void LogicalFontInstance::IgnoreFallbackForUnicode ( sal_UCS4  cChar,
FontWeight  eWeight,
const OUString &  rFontName 
)

Definition at line 139 of file fontinstance.cxx.

References mpUnicodeFallbackList.

Referenced by PhysicalFontCollection::GetGlyphFallbackFont().

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

Reimplemented in WinFontInstance, FreetypeFontInstance, CoreTextStyle, and Qt5Font.

Definition at line 92 of file fontinstance.hxx.

Referenced by GetHbFont().

hb_font_t * LogicalFontInstance::InitHbFont ( hb_face_t *  pHbFace)
staticprotected

Definition at line 71 of file fontinstance.cxx.

bool LogicalFontInstance::IsGraphiteFont ( )

Definition at line 159 of file fontinstance.cxx.

References GetHbFont(), and m_xbIsGraphiteFont.

Referenced by GenericSalLayout::LayoutText().

void LogicalFontInstance::ReleaseHbFont ( )
inlineprotected

Definition at line 116 of file fontinstance.hxx.

References m_pHbFont.

void LogicalFontInstance::SetAverageWidthFactor ( double  nFactor)
inline

Definition at line 69 of file fontinstance.hxx.

Friends And Related Function Documentation

friend class ImplFontCache
friend

Definition at line 50 of file fontinstance.hxx.

friend class PhysicalFontFace
friend

Definition at line 49 of file fontinstance.hxx.

Member Data Documentation

const FontSelectPattern LogicalFontInstance::m_aFontSelData
private

Definition at line 102 of file fontinstance.hxx.

Referenced by GetScale().

double LogicalFontInstance::m_nAveWidthFactor
private

Definition at line 104 of file fontinstance.hxx.

Referenced by GetScale().

rtl::Reference<PhysicalFontFace> LogicalFontInstance::m_pFontFace
private

Definition at line 105 of file fontinstance.hxx.

hb_font_t* LogicalFontInstance::m_pHbFont
private

Definition at line 103 of file fontinstance.hxx.

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

o3tl::optional<bool> LogicalFontInstance::m_xbIsGraphiteFont
private

Definition at line 106 of file fontinstance.hxx.

Referenced by IsGraphiteFont().

bool LogicalFontInstance::mbInit

Definition at line 61 of file fontinstance.hxx.

Referenced by OutputDevice::ImplNewFont().

long LogicalFontInstance::mnLineHeight

Definition at line 58 of file fontinstance.hxx.

Referenced by vcl::PDFWriterImpl::drawShadow(), and OutputDevice::ImplNewFont().

short LogicalFontInstance::mnOrientation
short LogicalFontInstance::mnOwnOrientation
const ConvertChar* LogicalFontInstance::mpConversion

Definition at line 56 of file fontinstance.hxx.

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

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