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 int AppendChar (char *buf, uint32_t charcode) const
 
ByteString GetBaseFontName () const
 
absl::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
 
void AppendChar (ByteString *str, uint32_t charcode) 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
 
uint16_t m_GlyphIndex [kInternalTableSize]
 
uint16_t m_CharWidth [kInternalTableSize]
 
FX_RECT m_CharBBox [kInternalTableSize]
 
- 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
 
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 int TT2PDF (FT_Pos m, const RetainPtr< CFX_Face > &face)
 
static FX_RECT GetCharBBoxForFace (const RetainPtr< CFX_Face > &face)
 
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 18 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 36 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 302 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 212 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 199 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 30 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 309 of file cpdf_simplefont.cpp.

References m_bUseFontWidth.

◆ IsUnicodeCompatible()

bool CPDF_SimpleFont::IsUnicodeCompatible ( ) const
overridevirtual

Implements CPDF_Font.

Definition at line 286 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 106 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 222 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 130 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 153 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 266 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 292 of file cpdf_simplefont.cpp.

References fxcrt::WideString::WideString(), fxcrt::WideString::WideString(), fxcrt::WideString::IsEmpty(), 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 35 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 51 of file cpdf_simplefont.h.

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

◆ m_CharBBox

FX_RECT CPDF_SimpleFont::m_CharBBox[kInternalTableSize]
protected

Definition at line 55 of file cpdf_simplefont.h.

◆ m_CharNames

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

Definition at line 52 of file cpdf_simplefont.h.

◆ m_CharWidth

uint16_t CPDF_SimpleFont::m_CharWidth[kInternalTableSize]
protected

Definition at line 54 of file cpdf_simplefont.h.

◆ m_Encoding

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

Definition at line 49 of file cpdf_simplefont.h.

◆ m_GlyphIndex

uint16_t CPDF_SimpleFont::m_GlyphIndex[kInternalTableSize]
protected

Definition at line 53 of file cpdf_simplefont.h.


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