PoDoFo  1.0.0-dev
Public Member Functions | Protected Member Functions | Friends | List of all members
PoDoFo::PdfIdentityEncoding Class Referencefinal

PdfIdentityEncoding is a two-byte encoding which can be used with TrueType fonts to represent all characters present in a font. More...

#include <PdfIdentityEncoding.h>

Inheritance diagram for PoDoFo::PdfIdentityEncoding:
PoDoFo::PdfEncodingMap

Public Member Functions

 PdfIdentityEncoding (unsigned char codeSpaceSize)
 Create a new PdfIdentityEncoding. More...
 
 PdfIdentityEncoding (PdfIdentityOrientation orientation)
 Create a standard 2 bytes CID PdfIdentityEncoding.
 
const PdfEncodingLimits & GetLimits () const override
 
PdfPredefinedEncodingType GetPredefinedEncodingType () const override
 True if the encoding is builtin in a font program.
 
- Public Member Functions inherited from PoDoFo::PdfEncodingMap
bool TryGetNextCharCode (std::string_view::iterator &it, const std::string_view::iterator &end, PdfCharCode &codeUnit) const
 Try decode next char code from utf8 string range.
 
bool TryGetCharCode (char32_t codePoint, PdfCharCode &codeUnit) const
 Try get next char code unit from unicode code point.
 
bool TryGetCharCode (const unicodeview &codePoints, PdfCharCode &codeUnit) const
 Get the char code from a span of unicode code points. More...
 
bool TryGetCharCode (unsigned cid, PdfCharCode &codeUnit) const
 Try get next char code unit from cid.
 
bool TryGetNextCID (std::string_view::iterator &it, const std::string_view::iterator &end, PdfCID &cid) const
 Try decode next cid from from encoded string range.
 
bool TryGetNextCodePoints (std::string_view::iterator &it, const std::string_view::iterator &end, CodePointSpan &codePoints) const
 Try decode next code points from encoded string range.
 
bool TryGetCodePoints (const PdfCharCode &codeUnit, CodePointSpan &codePoints) const
 Try get code points from char code unit. More...
 
PdfEncodingMapType GetType () const
 Type of encoding, may be Simple or CMap. More...
 
virtual bool HasLigaturesSupport () const
 True if the encoding has ligatures support.
 
bool TryGetExportObject (PdfIndirectObjectList &objects, PdfName &name, PdfObject *&obj) const
 Get an export object that will be used during font init. More...
 

Protected Member Functions

bool tryGetCharCode (char32_t codePoint, PdfCharCode &codeUnit) const override
 Try get char code unit from unicode code point.
 
bool tryGetCodePoints (const PdfCharCode &codeUnit, const unsigned *cidId, CodePointSpan &codePoints) const override
 Get code points from a code unit. More...
 
void getExportObject (PdfIndirectObjectList &objects, PdfName &name, PdfObject *&obj) const override
 Get an export object that will be used during font init. More...
 
void AppendToUnicodeEntries (OutputStream &stream, charbuff &temp) const override
 During a WriteToUnicodeCMap append "beginbfchar" and "beginbfrange" entries. More...
 
void AppendCIDMappingEntries (OutputStream &stream, const PdfFont &font, charbuff &temp) const override
 During a PdfEncoding::ExportToFont() append "begincidchar" and/or "begincidrange" entries. More...
 
- Protected Member Functions inherited from PoDoFo::PdfEncodingMap
virtual bool tryGetNextCharCode (std::string_view::iterator &it, const std::string_view::iterator &end, PdfCharCode &codeUnit) const
 Try get next char code unit from a utf8 string range. More...
 
virtual bool tryGetCharCodeSpan (const unicodeview &ligature, PdfCharCode &codeUnit) const
 Try get next char code unit from a ligature. More...
 
virtual int GetWModeRaw () const
 A code that specifies the writing mode for any CIDFont with which this map is combined (make sense when this is a CMap) More...
 
virtual void AppendCodeSpaceRange (OutputStream &stream, charbuff &temp) const
 

Friends

class PdfEncodingMapFactory
 

Additional Inherited Members

- Static Protected Member Functions inherited from PoDoFo::PdfEncodingMap
static void AppendUTF16CodeTo (OutputStream &stream, char32_t codePoint, std::u16string &u16tmp)
 
static void AppendUTF16CodeTo (OutputStream &stream, const unicodeview &codePoints, std::u16string &u16tmp)
 

Detailed Description

PdfIdentityEncoding is a two-byte encoding which can be used with TrueType fonts to represent all characters present in a font.

If the font contains all unicode glyphs, PdfIdentityEncoding will support all unicode characters.

Constructor & Destructor Documentation

◆ PdfIdentityEncoding()

PdfIdentityEncoding::PdfIdentityEncoding ( unsigned char  codeSpaceSize)

Create a new PdfIdentityEncoding.

Parameters
codeSpaceSizesize of the codespace size

Member Function Documentation

◆ AppendCIDMappingEntries()

void PdfIdentityEncoding::AppendCIDMappingEntries ( OutputStream stream,
const PdfFont font,
charbuff temp 
) const
overrideprotectedvirtual

During a PdfEncoding::ExportToFont() append "begincidchar" and/or "begincidrange" entries.

See Adobe tecnichal notes #5014\

To be called by PdfEncoding

Implements PoDoFo::PdfEncodingMap.

◆ AppendToUnicodeEntries()

void PdfIdentityEncoding::AppendToUnicodeEntries ( OutputStream stream,
charbuff temp 
) const
overrideprotectedvirtual

During a WriteToUnicodeCMap append "beginbfchar" and "beginbfrange" entries.

"bf" stands for Base Font, see Adobe tecnichal notes #5014

To be called by PdfEncoding

Implements PoDoFo::PdfEncodingMap.

◆ getExportObject()

void PdfIdentityEncoding::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.

◆ tryGetCodePoints()

bool PdfIdentityEncoding::tryGetCodePoints ( const PdfCharCode codeUnit,
const unsigned *  cidId,
CodePointSpan codePoints 
) const
overrideprotectedvirtual

Get code points from a code unit.

Parameters
cidIdCID identifier that if available some encodings can benefit to fetch code points faster

Implements PoDoFo::PdfEncodingMap.


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