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:
Collaboration diagram for vcl::font::PhysicalFontFace:

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)

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

◆ GetFontCharMap()

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

◆ 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

◆ GetHbTable()

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

Reimplemented in QtFontFace, CoreTextFontFace, FreetypeFontFace, and WinFontFace.

Definition at line 192 of file PhysicalFontFace.hxx.

◆ GetHbUnscaledFont()

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

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

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

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

Definition at line 174 of file PhysicalFontFace.hxx.

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

◆ UnitsPerEm()

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

Member Data Documentation

◆ mpHbFace

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

Definition at line 201 of file PhysicalFontFace.hxx.

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

◆ mpHbUnscaledFont

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

Definition at line 202 of file PhysicalFontFace.hxx.

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

◆ mxCharMap

FontCharMapRef vcl::font::PhysicalFontFace::mxCharMap

Definition at line 203 of file PhysicalFontFace.hxx.

Referenced by GetFontCharMap().

◆ mxColorPalettes

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

Definition at line 205 of file PhysicalFontFace.hxx.

Referenced by GetColorPalettes().

◆ mxFontCapabilities

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

Definition at line 204 of file PhysicalFontFace.hxx.

Referenced by GetFontCapabilities().

◆ mxVariations

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

Definition at line 206 of file PhysicalFontFace.hxx.

Referenced by GetVariations().

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