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, 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
const FontSelectPattern m_aFontSelData
hb_font_t * m_pHbFont
double m_nAveWidthFactor
rtl::Reference< PhysicalFontFacem_pFontFace


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

Definition at line 96 of file fontinstance.hxx.

Constructor & Destructor Documentation

LogicalFontInstance::~LogicalFontInstance ( )

Definition at line 60 of file fontinstance.cxx.

References m_pHbFont, mpFontCache, mpUnicodeFallbackList, and mxFontMetric.

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

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 

Definition at line 120 of file fontinstance.hxx.

double LogicalFontInstance::GetAverageWidthFactor ( ) const

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
const PhysicalFontFace* LogicalFontInstance::GetFontFace ( ) const
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 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 ,
) const
protectedpure virtual
virtual hb_font_t* LogicalFontInstance::ImplInitHbFont ( )

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)

Definition at line 70 of file fontinstance.cxx.

void LogicalFontInstance::ReleaseHbFont ( )

Definition at line 112 of file fontinstance.hxx.

References m_pHbFont.

void LogicalFontInstance::SetAverageWidthFactor ( double  nFactor)

Definition at line 67 of file fontinstance.hxx.

Friends And Related Function Documentation

friend class ImplFontCache

Definition at line 49 of file fontinstance.hxx.

friend class PhysicalFontFace

Definition at line 48 of file fontinstance.hxx.

Member Data Documentation

const FontSelectPattern LogicalFontInstance::m_aFontSelData

Definition at line 99 of file fontinstance.hxx.

Referenced by GetScale().

double LogicalFontInstance::m_nAveWidthFactor

Definition at line 101 of file fontinstance.hxx.

Referenced by GetScale().

rtl::Reference<PhysicalFontFace> LogicalFontInstance::m_pFontFace

Definition at line 102 of file fontinstance.hxx.

hb_font_t* LogicalFontInstance::m_pHbFont

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
std::unique_ptr<UnicodeFallbackList> LogicalFontInstance::mpUnicodeFallbackList
ImplFontMetricDataRef LogicalFontInstance::mxFontMetric

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