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

Represents a predefined ToUnicode CMap as the ones described in ISO 32000-2:2020 "9.10.2 Mapping character codes to Unicode values" that can be downloaded from https://github.com/adobe-type-tools/mapping-resources-pdf, folder "pdf2unicode". More...

#include <PdfPredefinedToUnicodeCMap.h>

Inheritance diagram for PoDoFo::PdfPredefinedToUnicodeCMap:
PoDoFo::PdfEncodingMap

Public Member Functions

const PdfEncodingLimits & GetLimits () const override
 
const PdfCMapEncoding & GetToUnicodeMap ()
 
const PdfCMapEncoding & GetCIDEncodingMap ()
 
- 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 PdfPredefinedEncodingType GetPredefinedEncodingType () const
 True if the encoding is builtin in a font program.
 
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 tryGetCodePoints (const PdfCharCode &codeUnit, const unsigned *cidId, CodePointSpan &codePoints) const override
 Get code points from a code unit. More...
 
bool tryGetCharCode (char32_t codePoint, PdfCharCode &codeUnit) const override
 Try get char code unit from unicode code point.
 
bool tryGetCharCodeSpan (const unicodeview &ligature, PdfCharCode &codeUnit) const override
 Try get next char code unit from a ligature. 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 void getExportObject (PdfIndirectObjectList &objects, PdfName &name, PdfObject *&obj) const
 Get an export object that will be used during font init. 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 PdfEncodingFactory
 

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

Represents a predefined ToUnicode CMap as the ones described in ISO 32000-2:2020 "9.10.2 Mapping character codes to Unicode values" that can be downloaded from https://github.com/adobe-type-tools/mapping-resources-pdf, folder "pdf2unicode".

Member Function Documentation

◆ AppendCIDMappingEntries()

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

◆ tryGetCharCodeSpan()

bool PdfPredefinedToUnicodeCMap::tryGetCharCodeSpan ( const unicodeview ligature,
PdfCharCode codeUnit 
) const
overrideprotectedvirtual

Try get next char code unit from a ligature.

Parameters
ligaturethe span has at least 2 unicode code points
Remarks
Default implementation just throws

Reimplemented from PoDoFo::PdfEncodingMap.

◆ tryGetCodePoints()

bool PdfPredefinedToUnicodeCMap::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: