pdfmm 0.9.20
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
mm::PdfDifferenceEncoding Class Referencefinal

#include <PdfDifferenceEncoding.h>

Inheritance diagram for mm::PdfDifferenceEncoding:
mm::PdfEncodingMapSimple mm::PdfEncodingMap

Public Member Functions

 PdfDifferenceEncoding (const PdfEncodingDifference &difference, PdfBaseEncoding baseEncoding)
 
 PdfDifferenceEncoding (const PdfObject &obj, bool explicitNames=false)
 
const PdfEncodingDifferenceGetDifferences () const
 
- Public Member Functions inherited from mm::PdfEncodingMap
bool TryGetNextCharCode (std::string_view::iterator &it, const std::string_view::iterator &end, PdfCharCode &codeUnit) const
 
bool TryGetCharCode (char32_t codePoint, PdfCharCode &codeUnit) const
 
bool TryGetCharCode (const cspan< char32_t > &codePoints, PdfCharCode &codeUnit) const
 
bool TryGetCharCode (unsigned cid, PdfCharCode &codeUnit) const
 
bool TryGetNextCID (std::string_view::iterator &it, const std::string_view::iterator &end, PdfCID &cid) const
 
bool TryGetNextCodePoints (std::string_view::iterator &it, const std::string_view::iterator &end, std::vector< char32_t > &codePoints) const
 
bool TryGetCodePoints (const PdfCharCode &codeUnit, std::vector< char32_t > &codePoints) const
 
bool TryGetCIDId (const PdfCharCode &codeUnit, unsigned &id) const
 
virtual bool HasCIDMapping () const
 
virtual bool HasLigaturesSupport () const
 
bool TryGetExportObject (PdfIndirectObjectList &objects, PdfName &name, PdfObject *&obj) const
 

Static Public Member Functions

static char32_t NameToUnicodeID (const PdfName &name)
 
static PdfName UnicodeIDToName (char32_t inCodePoint)
 

Protected Member Functions

void getExportObject (PdfIndirectObjectList &objects, PdfName &name, PdfObject *&obj) const override
 
bool tryGetCharCode (char32_t codePoint, PdfCharCode &codeUnit) const override
 
bool tryGetCodePoints (const PdfCharCode &codeUnit, std::vector< char32_t > &codePoints) const override
 
- Protected Member Functions inherited from mm::PdfEncodingMapSimple
void appendBaseFontEntries (PdfStream &stream) const override
 
- Protected Member Functions inherited from mm::PdfEncodingMap
virtual bool tryGetNextCharCode (std::string_view::iterator &it, const std::string_view::iterator &end, PdfCharCode &codeUnit) const
 
virtual bool tryGetCharCodeSpan (const cspan< char32_t > &ligature, PdfCharCode &codeUnit) const
 
virtual bool tryGetCharCode (char32_t codePoint, PdfCharCode &codeUnit) const =0
 
virtual bool tryGetCodePoints (const PdfCharCode &codeUnit, std::vector< char32_t > &codePoints) const =0
 
virtual void getExportObject (PdfIndirectObjectList &objects, PdfName &name, PdfObject *&obj) const
 
virtual void appendBaseFontEntries (PdfStream &stream) const =0
 

Detailed Description

PdfDifferenceEncoding is an encoding, which is based on either the fonts encoding or a predefined encoding and defines differences to this base encoding.

Constructor & Destructor Documentation

◆ PdfDifferenceEncoding() [1/2]

PdfDifferenceEncoding::PdfDifferenceEncoding ( const PdfEncodingDifference difference,
PdfBaseEncoding  baseEncoding 
)

Create a new PdfDifferenceEncoding which is based on a predefined encoding.

Parameters
differencethe differences in this encoding
eBaseEncodingthe base encoding of this font

◆ PdfDifferenceEncoding() [2/2]

PdfDifferenceEncoding::PdfDifferenceEncoding ( const PdfObject obj,
bool  explicitNames = false 
)

Create a new PdfDifferenceEncoding from an existing object in a PDF file.

Parameters
objan existing differences encoding
bAutoDeleteif true the encoding is deleted by its owning font
bExplicitNamesif true, glyph names are meaningless explicit keys on the font (used for Type3 fonts)

Member Function Documentation

◆ GetDifferences()

const PdfEncodingDifference & mm::PdfDifferenceEncoding::GetDifferences ( ) const
inline

Get read-only access to the object containing the actual differences.

Returns
the container with the actual differences

◆ getExportObject()

void PdfDifferenceEncoding::getExportObject ( PdfIndirectObjectList objects,
PdfName name,
PdfObject *&  obj 
) const
overrideprotectedvirtual

Get an export object that will be used during font init

Remarks
Default implementation just throws

Reimplemented from mm::PdfEncodingMap.

◆ NameToUnicodeID()

char32_t PdfDifferenceEncoding::NameToUnicodeID ( const PdfName name)
static

Convert a standard character name to a unicode code point

Parameters
namea standard character name
Returns
an unicode code point

◆ tryGetCharCode()

bool PdfDifferenceEncoding::tryGetCharCode ( char32_t  codePoint,
PdfCharCode codeUnit 
) const
overrideprotectedvirtual

Try get char code unit from unicode code point

Implements mm::PdfEncodingMap.

◆ tryGetCodePoints()

bool PdfDifferenceEncoding::tryGetCodePoints ( const PdfCharCode codeUnit,
std::vector< char32_t > &  codePoints 
) const
overrideprotectedvirtual

Get code points from a code unit

Parameters
wantCIDtrue requires mapping to CID identifier, false for Unicode code points

Implements mm::PdfEncodingMap.

◆ UnicodeIDToName()

PdfName PdfDifferenceEncoding::UnicodeIDToName ( char32_t  inCodePoint)
static

Convert an unicode code point to a standard character name

Parameters
inCodePointa code point
Returns
a standard character name of /.notdef if none could be found