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 ()
 
void SetAverageWidthFactor (double nFactor)
 
double GetAverageWidthFactor () const
 
const FontSelectPatternGetFontSelectPattern () const
 
const PhysicalFontFaceGetFontFace () const
 
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
 

Friends

class PhysicalFontFace
 
class ImplFontCache
 

Additional Inherited Members

- Protected Attributes inherited from salhelper::SimpleReferenceObject
oslInterlockedCount m_nCount
 

Detailed Description

Definition at line 44 of file fontinstance.hxx.

Member Typedef Documentation

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

Definition at line 96 of file fontinstance.hxx.

Constructor & Destructor Documentation

LogicalFontInstance::~LogicalFontInstance ( )
overridevirtual

Definition at line 60 of file fontinstance.cxx.

References m_pHbFont, mpFontCache, mpUnicodeFallbackList, and mxFontMetric.

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

Definition at line 45 of file fontinstance.cxx.

Member Function Documentation

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

Definition at line 118 of file fontinstance.cxx.

References mpUnicodeFallbackList.

Referenced by PhysicalFontCollection::GetGlyphFallbackFont().

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

Definition at line 120 of file fontinstance.hxx.

double LogicalFontInstance::GetAverageWidthFactor ( ) const
inline

Definition at line 68 of file fontinstance.hxx.

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

Definition at line 125 of file fontinstance.cxx.

References mpUnicodeFallbackList.

Referenced by PhysicalFontCollection::GetGlyphFallbackFont().

const ImplFontCache* LogicalFontInstance::GetFontCache ( ) const
inline
const PhysicalFontFace* LogicalFontInstance::GetFontFace ( ) const
inline
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 82 of file fontinstance.cxx.

References GetHbFont(), and GetScale().

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 138 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 89 of file fontinstance.hxx.

Referenced by GetHbFont().

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

Definition at line 70 of file fontinstance.cxx.

void LogicalFontInstance::ReleaseHbFont ( )
inlineprotected

Definition at line 112 of file fontinstance.hxx.

References m_pHbFont.

void LogicalFontInstance::SetAverageWidthFactor ( double  nFactor)
inline

Definition at line 67 of file fontinstance.hxx.

Friends And Related Function Documentation

friend class ImplFontCache
friend

Definition at line 49 of file fontinstance.hxx.

friend class PhysicalFontFace
friend

Definition at line 48 of file fontinstance.hxx.

Member Data Documentation

const FontSelectPattern LogicalFontInstance::m_aFontSelData
private

Definition at line 99 of file fontinstance.hxx.

Referenced by GetScale().

double LogicalFontInstance::m_nAveWidthFactor
private

Definition at line 101 of file fontinstance.hxx.

Referenced by GetScale().

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

Definition at line 102 of file fontinstance.hxx.

hb_font_t* LogicalFontInstance::m_pHbFont
private

Definition at line 100 of file fontinstance.hxx.

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

bool LogicalFontInstance::mbInit

Definition at line 60 of file fontinstance.hxx.

Referenced by OutputDevice::ImplNewFont().

long LogicalFontInstance::mnLineHeight

Definition at line 57 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 55 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: