PoDoFo 0.9.20
PoDoFo::PdfDifferenceEncoding Class Referencefinal

#include <PdfDifferenceEncoding.h>

Inheritance diagram for PoDoFo::PdfDifferenceEncoding:
PoDoFo::PdfEncodingMapOneByte PoDoFo::PdfEncodingMap

Public Member Functions

 PdfDifferenceEncoding (const PdfDifferenceList &difference, const PdfEncodingMapConstPtr &baseEncoding)
 
const PdfDifferenceListGetDifferences () const
 
- Public Member Functions inherited from PoDoFo::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 unicodeview &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
 
PdfEncodingMapType GetType () const
 
virtual bool IsBuiltinEncoding () const
 
virtual bool HasLigaturesSupport () const
 
bool TryGetExportObject (PdfIndirectObjectList &objects, PdfName &name, PdfObject *&obj) const
 

Static Public Member Functions

static std::unique_ptr< PdfDifferenceEncodingCreate (const PdfObject &obj, const PdfFontMetrics &metrics)
 
static char32_t NameToCodePoint (const PdfName &name)
 
static PdfName CodePointToName (char32_t codePoint)
 

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 PoDoFo::PdfEncodingMapOneByte
void AppendToUnicodeEntries (OutputStream &stream, charbuff &temp) const override
 
void AppendCIDMappingEntries (OutputStream &stream, const PdfFont &font, charbuff &temp) const override
 
- Protected Member Functions inherited from PoDoFo::PdfEncodingMap
virtual bool tryGetNextCharCode (std::string_view::iterator &it, const std::string_view::iterator &end, PdfCharCode &codeUnit) const
 
virtual bool tryGetCharCodeSpan (const unicodeview &ligature, PdfCharCode &codeUnit) const
 

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()

PdfDifferenceEncoding::PdfDifferenceEncoding ( const PdfDifferenceList & difference,
const PdfEncodingMapConstPtr & baseEncoding )

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

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

Member Function Documentation

◆ CodePointToName()

PdfName PdfDifferenceEncoding::CodePointToName ( char32_t codePoint)
static

Convert an unicode code point to a standard character name

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

◆ Create()

unique_ptr< PdfDifferenceEncoding > PdfDifferenceEncoding::Create ( const PdfObject & obj,
const PdfFontMetrics & metrics )
static

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

Parameters
objobject for the difference encoding
metricsan existing font metrics

◆ GetDifferences()

const PdfDifferenceList & PoDoFo::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 PoDoFo::PdfEncodingMap.

◆ NameToCodePoint()

char32_t PdfDifferenceEncoding::NameToCodePoint ( 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 PoDoFo::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 PoDoFo::PdfEncodingMap.