Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
CPDF_SimpleFont Class Referenceabstract

#include <cpdf_simplefont.h>

Inheritance diagram for CPDF_SimpleFont:
Collaboration diagram for CPDF_SimpleFont:

Public Member Functions

 ~CPDF_SimpleFont () override
int GetCharWidthF (uint32_t charcode) override
FX_RECT GetCharBBox (uint32_t charcode) override
int GlyphFromCharCode (uint32_t charcode, bool *pVertGlyph) override
bool IsUnicodeCompatible () const override
WideString UnicodeFromCharCode (uint32_t charcode) const override
uint32_t CharCodeFromUnicode (wchar_t Unicode) const override
const CPDF_FontEncodingGetEncoding () const
bool HasFontWidths () const override
Public Member Functions inherited from CPDF_Font
virtual bool IsType1Font () const
virtual bool IsTrueTypeFont () const
virtual bool IsType3Font () const
virtual bool IsCIDFont () const
virtual const CPDF_Type1FontAsType1Font () const
virtual CPDF_Type1FontAsType1Font ()
virtual const CPDF_TrueTypeFontAsTrueTypeFont () const
virtual CPDF_TrueTypeFontAsTrueTypeFont ()
virtual const CPDF_Type3FontAsType3Font () const
virtual CPDF_Type3FontAsType3Font ()
virtual const CPDF_CIDFontAsCIDFont () const
virtual CPDF_CIDFontAsCIDFont ()
virtual void WillBeDestroyed ()
virtual bool IsVertWriting () const
virtual uint32_t GetNextChar (ByteStringView pString, size_t *pOffset) const
virtual size_t CountChar (ByteStringView pString) const
virtual void AppendChar (ByteString *buf, uint32_t charcode) const
ByteString GetBaseFontName () const
std::optional< FX_CharsetGetSubstFontCharset () const
bool IsEmbedded () const
RetainPtr< CPDF_DictionaryGetMutableFontDict ()
RetainPtr< const CPDF_DictionaryGetFontDict () const
uint32_t GetFontDictObjNum () const
bool FontDictIs (const CPDF_Dictionary *pThat) const
void ClearFontDict ()
bool IsStandardFont () const
bool HasFace () const
const FX_RECTGetFontBBox () const
int GetTypeAscent () const
int GetTypeDescent () const
int GetStringWidth (ByteStringView pString)
uint32_t FallbackFontFromCharcode (uint32_t charcode)
int FallbackGlyphFromCharcode (int fallbackFont, uint32_t charcode)
int GetFontFlags () const
int GetItalicAngle () const
int GetFontWeight () const
CPDF_DocumentGetDocument () const
CFX_FontGetFont ()
const CFX_FontGetFont () const
CFX_FontGetFontFallback (int position)
const ByteStringGetResourceName () const
void SetResourceName (const ByteString &name)
Public Member Functions inherited from fxcrt::Retainable
 Retainable ()=default
bool HasOneRef () const
Public Member Functions inherited from fxcrt::Observable
 Observable ()
 Observable (const Observable &that)=delete
Observableoperator= (const Observable &that)=delete
 ~Observable ()
void AddObserver (ObserverIface *pObserver)
void RemoveObserver (ObserverIface *pObserver)
void NotifyObservers ()

Protected Member Functions

 CPDF_SimpleFont (CPDF_Document *pDocument, RetainPtr< CPDF_Dictionary > pFontDict)
virtual void LoadGlyphMap ()=0
bool LoadCommon ()
void LoadSubstFont ()
void LoadCharMetrics (int charcode)
void LoadCharWidths (const CPDF_Dictionary *font_desc)
void LoadDifferences (const CPDF_Dictionary *encoding)
void LoadPDFEncoding (bool bEmbedded, bool bTrueType)
Protected Member Functions inherited from CPDF_Font
 CPDF_Font (CPDF_Document *pDocument, RetainPtr< CPDF_Dictionary > pFontDict)
 ~CPDF_Font () override
virtual bool Load ()=0
void LoadUnicodeMap () const
void LoadFontDescriptor (const CPDF_Dictionary *pFontDesc)
void CheckFontMetrics ()
Protected Member Functions inherited from fxcrt::Retainable
virtual ~Retainable ()=default
Protected Member Functions inherited from fxcrt::Observable
size_t ActiveObserversForTesting () const

Protected Attributes

CPDF_FontEncoding m_Encoding {FontEncoding::kBuiltin}
FontEncoding m_BaseEncoding = FontEncoding::kBuiltin
bool m_bUseFontWidth = false
std::vector< ByteStringm_CharNames
std::array< uint16_t, kInternalTableSizem_GlyphIndex
std::array< uint16_t, kInternalTableSizem_CharWidth
std::array< FX_RECT, kInternalTableSizem_CharBBox
Protected Attributes inherited from CPDF_Font
UnownedPtr< CPDF_Document > const m_pDocument
ByteString m_ResourceName
CFX_Font m_Font
std::vector< std::unique_ptr< CFX_Font > > m_FontFallbacks
RetainPtr< CPDF_StreamAccm_pFontFile
RetainPtr< CPDF_Dictionarym_pFontDict
ByteString m_BaseFontName
std::unique_ptr< CPDF_ToUnicodeMapm_pToUnicodeMap
bool m_bToUnicodeLoaded = false
bool m_bWillBeDestroyed = false
int m_Flags = 0
int m_StemV = 0
int m_Ascent = 0
int m_Descent = 0
int m_ItalicAngle = 0
FX_RECT m_FontBBox

Static Protected Attributes

static constexpr size_t kInternalTableSize = 256

Additional Inherited Members

Static Public Member Functions inherited from CPDF_Font
static RetainPtr< CPDF_FontCreate (CPDF_Document *pDoc, RetainPtr< CPDF_Dictionary > pFontDict, FormFactoryIface *pFactory)
static RetainPtr< CPDF_FontGetStockFont (CPDF_Document *pDoc, ByteStringView fontname)
Static Public Attributes inherited from CPDF_Font
static constexpr uint32_t kInvalidCharCode = static_cast<uint32_t>(-1)
Static Protected Member Functions inherited from CPDF_Font
static bool UseTTCharmapMSUnicode (const RetainPtr< CFX_Face > &face)
static bool UseTTCharmapMSSymbol (const RetainPtr< CFX_Face > &face)
static bool UseTTCharmapMacRoman (const RetainPtr< CFX_Face > &face)
static bool UseTTCharmap (const RetainPtr< CFX_Face > &face, int platform_id, int encoding_id)
static const char * GetAdobeCharName (FontEncoding base_encoding, const std::vector< ByteString > &charnames, uint32_t charcode)

Detailed Description

Definition at line 19 of file cpdf_simplefont.h.

Constructor & Destructor Documentation

◆ ~CPDF_SimpleFont()

CPDF_SimpleFont::~CPDF_SimpleFont ( )
overridedefault

◆ CPDF_SimpleFont()

CPDF_SimpleFont::CPDF_SimpleFont ( CPDF_Document * pDocument,
RetainPtr< CPDF_Dictionary > pFontDict )
protected

Definition at line 37 of file cpdf_simplefont.cpp.

Member Function Documentation

◆ CharCodeFromUnicode()

uint32_t CPDF_SimpleFont::CharCodeFromUnicode ( wchar_t Unicode) const
overridevirtual

Reimplemented from CPDF_Font.

Definition at line 303 of file cpdf_simplefont.cpp.

References CPDF_Font::CharCodeFromUnicode().

Here is the call graph for this function:

◆ GetCharBBox()

FX_RECT CPDF_SimpleFont::GetCharBBox ( uint32_t charcode)
overridevirtual

Implements CPDF_Font.

Reimplemented in CPDF_Type3Font.

Definition at line 213 of file cpdf_simplefont.cpp.

References LoadCharMetrics().

Here is the call graph for this function:

◆ GetCharWidthF()

int CPDF_SimpleFont::GetCharWidthF ( uint32_t charcode)
overridevirtual

Implements CPDF_Font.

Reimplemented in CPDF_Type3Font.

Definition at line 200 of file cpdf_simplefont.cpp.

References LoadCharMetrics().

Here is the call graph for this function:

◆ GetEncoding()

const CPDF_FontEncoding * CPDF_SimpleFont::GetEncoding ( ) const
inline

Definition at line 31 of file cpdf_simplefont.h.

◆ GlyphFromCharCode()

int CPDF_SimpleFont::GlyphFromCharCode ( uint32_t charcode,
bool * pVertGlyph )
overridevirtual

Implements CPDF_Font.

Definition at line 47 of file cpdf_simplefont.cpp.

◆ HasFontWidths()

bool CPDF_SimpleFont::HasFontWidths ( ) const
overridevirtual

Reimplemented from CPDF_Font.

Definition at line 310 of file cpdf_simplefont.cpp.

References m_bUseFontWidth.

◆ IsUnicodeCompatible()

bool CPDF_SimpleFont::IsUnicodeCompatible ( ) const
overridevirtual

Implements CPDF_Font.

Definition at line 287 of file cpdf_simplefont.cpp.

References kAdobeSymbol, kBuiltin, kZapfDingbats, and m_BaseEncoding.

◆ LoadCharMetrics()

void CPDF_SimpleFont::LoadCharMetrics ( int charcode)
protected

Definition at line 61 of file cpdf_simplefont.cpp.

References CPDF_Font::IsEmbedded(), LoadCharMetrics(), and m_bUseFontWidth.

Referenced by GetCharBBox(), GetCharWidthF(), and LoadCharMetrics().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LoadCharWidths()

void CPDF_SimpleFont::LoadCharWidths ( const CPDF_Dictionary * font_desc)
protected

Definition at line 107 of file cpdf_simplefont.cpp.

References CPDF_Dictionary::GetIntegerFor(), CPDF_Dictionary::KeyExist(), and m_bUseFontWidth.

Referenced by LoadCommon().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LoadCommon()

bool CPDF_SimpleFont::LoadCommon ( )
protected

Definition at line 223 of file cpdf_simplefont.cpp.

References CPDF_Font::CheckFontMetrics(), FontStyleIsAllCaps(), FontStyleIsSymbolic(), CPDF_Font::HasFace(), kStandard, LoadCharWidths(), CPDF_Font::LoadFontDescriptor(), LoadGlyphMap(), LoadSubstFont(), m_BaseEncoding, and CPDF_Font::m_Flags.

Referenced by CPDF_TrueTypeFont::Load(), and CPDF_Type1Font::Load().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LoadDifferences()

void CPDF_SimpleFont::LoadDifferences ( const CPDF_Dictionary * encoding)
protected

Definition at line 131 of file cpdf_simplefont.cpp.

Referenced by LoadPDFEncoding().

Here is the caller graph for this function:

◆ LoadGlyphMap()

virtual void CPDF_SimpleFont::LoadGlyphMap ( )
protectedpure virtual

Implemented in CPDF_TrueTypeFont, CPDF_Type1Font, and CPDF_Type3Font.

Referenced by LoadCommon().

Here is the caller graph for this function:

◆ LoadPDFEncoding()

void CPDF_SimpleFont::LoadPDFEncoding ( bool bEmbedded,
bool bTrueType )
protected

Definition at line 154 of file cpdf_simplefont.cpp.

References CPDF_Dictionary::GetByteStringFor(), kAdobeSymbol, kBuiltin, pdfium::font_encodings::kMacExpertEncoding, kMsSymbol, kStandard, kWinAnsi, pdfium::font_encodings::kWinAnsiEncoding, kZapfDingbats, LoadDifferences(), m_BaseEncoding, fxcrt::ByteString::operator=(), and fxcrt::ByteString::operator==().

Referenced by CPDF_Type3Font::Load().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LoadSubstFont()

void CPDF_SimpleFont::LoadSubstFont ( )
protected

Definition at line 267 of file cpdf_simplefont.cpp.

References FontStyleIsFixedPitch(), m_bUseFontWidth, and CPDF_Font::m_Flags.

Referenced by LoadCommon().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UnicodeFromCharCode()

WideString CPDF_SimpleFont::UnicodeFromCharCode ( uint32_t charcode) const
overridevirtual

Reimplemented from CPDF_Font.

Definition at line 293 of file cpdf_simplefont.cpp.

References fxcrt::WideString::WideString(), fxcrt::WideString::WideString(), and CPDF_Font::UnicodeFromCharCode().

Referenced by CPDF_TrueTypeFont::LoadGlyphMap().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ kInternalTableSize

size_t CPDF_SimpleFont::kInternalTableSize = 256
staticconstexprprotected

Definition at line 36 of file cpdf_simplefont.h.

◆ m_BaseEncoding

FontEncoding CPDF_SimpleFont::m_BaseEncoding = FontEncoding::kBuiltin
protected

◆ m_bUseFontWidth

bool CPDF_SimpleFont::m_bUseFontWidth = false
protected

Definition at line 52 of file cpdf_simplefont.h.

Referenced by HasFontWidths(), LoadCharMetrics(), LoadCharWidths(), and LoadSubstFont().

◆ m_CharBBox

std::array<FX_RECT, kInternalTableSize> CPDF_SimpleFont::m_CharBBox
protected

Definition at line 56 of file cpdf_simplefont.h.

◆ m_CharNames

std::vector<ByteString> CPDF_SimpleFont::m_CharNames
protected

Definition at line 53 of file cpdf_simplefont.h.

◆ m_CharWidth

std::array<uint16_t, kInternalTableSize> CPDF_SimpleFont::m_CharWidth
protected

Definition at line 55 of file cpdf_simplefont.h.

◆ m_Encoding

CPDF_FontEncoding CPDF_SimpleFont::m_Encoding {FontEncoding::kBuiltin}
protected

Definition at line 50 of file cpdf_simplefont.h.

◆ m_GlyphIndex

std::array<uint16_t, kInternalTableSize> CPDF_SimpleFont::m_GlyphIndex
protected

Definition at line 54 of file cpdf_simplefont.h.


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