LibreOffice Module vcl (master) 1
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vcl::font::PhysicalFontFace Class Referenceabstract

abstract base class for physical font faces More...

#include <PhysicalFontFace.hxx>

Inheritance diagram for vcl::font::PhysicalFontFace:
[legend]
Collaboration diagram for vcl::font::PhysicalFontFace:
[legend]

Public Member Functions

 ~PhysicalFontFace ()
 
virtual rtl::Reference< LogicalFontInstanceCreateFontInstance (const vcl::font::FontSelectPattern &) const =0
 
virtual sal_IntPtr GetFontId () const =0
 
virtual FontCharMapRef GetFontCharMap () const
 
virtual bool GetFontCapabilities (vcl::FontCapabilities &) const
 
RawFontData GetRawFontData (uint32_t) const
 
bool IsBetterMatch (const vcl::font::FontSelectPattern &, FontMatchStatus &) const
 
sal_Int32 CompareIgnoreSize (const PhysicalFontFace &) const
 
bool CreateFontSubset (std::vector< sal_uInt8 > &, const sal_GlyphId *, const sal_uInt8 *, const int, FontSubsetInfo &) const
 
bool IsColorFont () const
 
bool HasColorLayers () const
 
std::vector< ColorLayerGetGlyphColorLayers (sal_GlyphId) const
 
const std::vector< ColorPalette > & GetColorPalettes () const
 
bool HasColorBitmaps () const
 
RawFontData GetGlyphColorBitmap (sal_GlyphId, tools::Rectangle &) const
 
OString GetGlyphName (sal_GlyphId, bool=false) const
 
uint32_t UnitsPerEm () const
 
OUString GetName (NameID, const LanguageTag &) const
 
OUString GetName (NameID aNameID) const
 
virtual hb_face_t * GetHbFace () const
 
virtual hb_blob_t * GetHbTable (hb_tag_t) const
 
virtual const std::vector< hb_variation_t > & GetVariations (const LogicalFontInstance &) const
 
- Public Member Functions inherited from FontAttributes
 FontAttributes ()
 
const OUString & GetFamilyName () const
 
FontFamily GetFamilyType () const
 
const OUString & GetStyleName () const
 
FontWeight GetWeight () const
 
FontItalic GetItalic () const
 
FontPitch GetPitch () const
 
FontWidth GetWidthType () const
 
bool IsMicrosoftSymbolEncoded () const
 
void SetFamilyName (const OUString &sFamilyName)
 
void SetStyleName (const OUString &sStyleName)
 
void SetFamilyType (const FontFamily eFontFamily)
 
void SetPitch (const FontPitch ePitch)
 
void SetItalic (const FontItalic eItalic)
 
void SetWeight (const FontWeight eWeight)
 
void SetWidthType (const FontWidth eWidthType)
 
void SetMicrosoftSymbolEncoded (const bool)
 
bool CompareDeviceIndependentFontAttributes (const FontAttributes &rOther) const
 
int GetQuality () const
 
const OUString & GetMapNames () const
 
void SetQuality (int nQuality)
 
void IncreaseQualityBy (int nQualityAmount)
 
void AddMapName (std::u16string_view)
 
- Public Member Functions inherited from salhelper::SimpleReferenceObject
 SimpleReferenceObject ()
 
void acquire ()
 
void release ()
 

Protected Member Functions

 PhysicalFontFace (const FontAttributes &)
 
hb_font_t * GetHbUnscaledFont () const
 
- Protected Member Functions inherited from salhelper::SimpleReferenceObject
virtual ~SimpleReferenceObject () COVERITY_NOEXCEPT_FALSE
 

Protected Attributes

hb_face_t * mpHbFace
 
hb_font_t * mpHbUnscaledFont
 
FontCharMapRef mxCharMap
 
std::optional< vcl::FontCapabilitiesmxFontCapabilities
 
std::optional< std::vector< ColorPalette > > mxColorPalettes
 
std::optional< std::vector< hb_variation_t > > mxVariations
 
- Protected Attributes inherited from salhelper::SimpleReferenceObject
oslInterlockedCount m_nCount
 

Additional Inherited Members

- Static Public Member Functions inherited from salhelper::SimpleReferenceObject
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)
 

Detailed Description

abstract base class for physical font faces

It acts as a factory for its corresponding LogicalFontInstances and can be extended to cache device and font instance specific data.

Definition at line 143 of file PhysicalFontFace.hxx.

Constructor & Destructor Documentation

◆ ~PhysicalFontFace()

vcl::font::PhysicalFontFace::~PhysicalFontFace ( )

Definition at line 50 of file PhysicalFontFace.cxx.

References mpHbFace, and mpHbUnscaledFont.

◆ PhysicalFontFace()

vcl::font::PhysicalFontFace::PhysicalFontFace ( const FontAttributes rDFA)
explicitprotected

Definition at line 43 of file PhysicalFontFace.cxx.

Member Function Documentation

◆ CompareIgnoreSize()

sal_Int32 vcl::font::PhysicalFontFace::CompareIgnoreSize ( const PhysicalFontFace rOther) const

◆ CreateFontInstance()

virtual rtl::Reference< LogicalFontInstance > vcl::font::PhysicalFontFace::CreateFontInstance ( const vcl::font::FontSelectPattern ) const
pure virtual

◆ CreateFontSubset()

bool vcl::font::PhysicalFontFace::CreateFontSubset ( std::vector< sal_uInt8 > &  rOutBuffer,
const sal_GlyphId pGlyphIds,
const sal_uInt8 pEncoding,
const int  nGlyphCount,
FontSubsetInfo rInfo 
) const

◆ GetColorPalettes()

const std::vector< ColorPalette > & vcl::font::PhysicalFontFace::GetColorPalettes ( ) const

Definition at line 376 of file PhysicalFontFace.cxx.

References a, GetHbFace(), mxColorPalettes, nCount, and u.

Referenced by vcl::PDFWriterImpl::emitType3Font().

◆ GetFontCapabilities()

bool vcl::font::PhysicalFontFace::GetFontCapabilities ( vcl::FontCapabilities rFontCapabilities) const
virtual

◆ GetFontCharMap()

FontCharMapRef vcl::font::PhysicalFontFace::GetFontCharMap ( ) const
virtual

◆ GetFontId()

virtual sal_IntPtr vcl::font::PhysicalFontFace::GetFontId ( ) const
pure virtual

◆ GetGlyphColorBitmap()

RawFontData vcl::font::PhysicalFontFace::GetGlyphColorBitmap ( sal_GlyphId  nGlyphIndex,
tools::Rectangle rRect 
) const

Definition at line 428 of file PhysicalFontFace.cxx.

References aData, GetHbUnscaledFont(), and HasColorBitmaps().

Referenced by vcl::PDFWriterImpl::registerGlyph().

◆ GetGlyphColorLayers()

std::vector< ColorLayer > vcl::font::PhysicalFontFace::GetGlyphColorLayers ( sal_GlyphId  nGlyphIndex) const

Definition at line 406 of file PhysicalFontFace.cxx.

References GetHbFace(), HasColorLayers(), nCount, and u.

Referenced by vcl::PDFWriterImpl::registerGlyph().

◆ GetGlyphName()

OString vcl::font::PhysicalFontFace::GetGlyphName ( sal_GlyphId  nGlyphIndex,
bool  bValidate = false 
) const

Definition at line 450 of file PhysicalFontFace.cxx.

References aBuffer, GetHbUnscaledFont(), and p.

Referenced by vcl::PDFWriterImpl::emitType3Font().

◆ GetHbFace()

hb_face_t * vcl::font::PhysicalFontFace::GetHbFace ( ) const
virtual

◆ GetHbTable()

virtual hb_blob_t * vcl::font::PhysicalFontFace::GetHbTable ( hb_tag_t  ) const
inlinevirtual

Reimplemented in QtFontFace, CoreTextFontFace, FreetypeFontFace, and WinFontFace.

Definition at line 192 of file PhysicalFontFace.hxx.

◆ GetHbUnscaledFont()

hb_font_t * vcl::font::PhysicalFontFace::GetHbUnscaledFont ( ) const
protected

Definition at line 240 of file PhysicalFontFace.cxx.

References GetHbFace(), and mpHbUnscaledFont.

Referenced by GetGlyphColorBitmap(), and GetGlyphName().

◆ GetName() [1/2]

OUString vcl::font::PhysicalFontFace::GetName ( NameID  aNameID) const
inline

Definition at line 189 of file PhysicalFontFace.hxx.

References GetName(), and LANGUAGE_NONE.

Referenced by GetName().

◆ GetName() [2/2]

OUString vcl::font::PhysicalFontFace::GetName ( NameID  aNameID,
const LanguageTag rLanguageTag 
) const

◆ GetRawFontData()

RawFontData vcl::font::PhysicalFontFace::GetRawFontData ( uint32_t  nTag) const

◆ GetVariations()

const std::vector< hb_variation_t > & vcl::font::PhysicalFontFace::GetVariations ( const LogicalFontInstance ) const
virtual

Reimplemented in CoreTextFontFace, FreetypeFontFace, and WinFontFace.

Definition at line 499 of file PhysicalFontFace.cxx.

References mxVariations, and SAL_WARN.

Referenced by vcl::PDFWriterImpl::registerGlyph().

◆ HasColorBitmaps()

bool vcl::font::PhysicalFontFace::HasColorBitmaps ( ) const

Definition at line 426 of file PhysicalFontFace.cxx.

References GetHbFace().

Referenced by GetGlyphColorBitmap().

◆ HasColorLayers()

bool vcl::font::PhysicalFontFace::HasColorLayers ( ) const

Definition at line 370 of file PhysicalFontFace.cxx.

References GetHbFace().

Referenced by GetGlyphColorLayers().

◆ IsBetterMatch()

bool vcl::font::PhysicalFontFace::IsBetterMatch ( const vcl::font::FontSelectPattern rFSP,
FontMatchStatus rStatus 
) const

◆ IsColorFont()

bool vcl::font::PhysicalFontFace::IsColorFont ( ) const
inline

Definition at line 174 of file PhysicalFontFace.hxx.

Referenced by vcl::PDFWriterImpl::registerGlyph().

◆ UnitsPerEm()

uint32_t vcl::font::PhysicalFontFace::UnitsPerEm ( ) const
inline

Member Data Documentation

◆ mpHbFace

hb_face_t* vcl::font::PhysicalFontFace::mpHbFace
mutableprotected

Definition at line 201 of file PhysicalFontFace.hxx.

Referenced by GetHbFace(), and ~PhysicalFontFace().

◆ mpHbUnscaledFont

hb_font_t* vcl::font::PhysicalFontFace::mpHbUnscaledFont
mutableprotected

Definition at line 202 of file PhysicalFontFace.hxx.

Referenced by GetHbUnscaledFont(), and ~PhysicalFontFace().

◆ mxCharMap

FontCharMapRef vcl::font::PhysicalFontFace::mxCharMap
mutableprotected

Definition at line 203 of file PhysicalFontFace.hxx.

Referenced by GetFontCharMap().

◆ mxColorPalettes

std::optional<std::vector<ColorPalette> > vcl::font::PhysicalFontFace::mxColorPalettes
mutableprotected

Definition at line 205 of file PhysicalFontFace.hxx.

Referenced by GetColorPalettes().

◆ mxFontCapabilities

std::optional<vcl::FontCapabilities> vcl::font::PhysicalFontFace::mxFontCapabilities
mutableprotected

Definition at line 204 of file PhysicalFontFace.hxx.

Referenced by GetFontCapabilities().

◆ mxVariations

std::optional<std::vector<hb_variation_t> > vcl::font::PhysicalFontFace::mxVariations
mutableprotected

Definition at line 206 of file PhysicalFontFace.hxx.

Referenced by GetVariations().


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