PoDoFo 1.2.0
Loading...
Searching...
No Matches
PdfPredefinedToUnicodeCMap.h
1// SPDX-FileCopyrightText: 2022 Francesco Pretto <ceztko@gmail.com>
2// SPDX-License-Identifier: LGPL-2.0-or-later OR MPL-2.0
3
4#ifndef PDF_PREDEFINED_TO_UNICODE_CMAP_H
5#define PDF_PREDEFINED_TO_UNICODE_CMAP_H
6
7#include "PdfCMapEncoding.h"
8
9namespace PoDoFo
10{
18 {
19 friend class PdfEncodingFactory;
20
21 private:
23
24 public:
25 const PdfEncodingLimits& GetLimits() const override;
26
27 protected:
28 bool tryGetCodePoints(const PdfCharCode& codeUnit, const unsigned* cidId, CodePointSpan& codePoints) const override;
29 bool tryGetCharCode(char32_t codePoint, PdfCharCode& codeUnit) const override;
30 bool tryGetCharCodeSpan(const unicodeview& ligature, PdfCharCode& codeUnit) const override;
31
32 void AppendToUnicodeEntries(OutputStream& stream, const PdfFont& font, charbuff& temp) const override;
33 void AppendCIDMappingEntries(OutputStream& stream, const PdfFont& font, charbuff& temp) const override;
34
35 public:
36 const PdfCMapEncoding& GetToUnicodeMap() { return *m_ToUnicode; }
37 const PdfCMapEncoding& GetCIDEncodingMap() { return *m_CIDEncoding; }
38
39 private:
40 PdfCMapEncodingConstPtr m_ToUnicode;
41 PdfCMapEncodingConstPtr m_CIDEncoding;
42 };
43}
44
45#endif // PDF_PREDEFINED_TO_UNICODE_CMAP_H
A memory owning immutable block of code points, optimized for small segments as up to 3 elements can ...
Definition PdfEncodingCommon.h:135
An interface for writing blocks of data to a data source.
Definition OutputStream.h:16
This factory creates a PdfEncoding from an existing object in the PDF.
Definition PdfEncodingFactory.h:17
A PdfEncodingMap is a low level interface to convert between utf8 and encoded strings in and to deter...
Definition PdfEncodingMap.h:30
Before you can draw text on a PDF document, you have to create a font object first.
Definition PdfFont.h:43
Represents a predefined ToUnicode CMap as the ones described in ISO 32000-2:2020 "9....
Definition PdfPredefinedToUnicodeCMap.h:18
Convenient type for char array storage and/or buffer with std::string compatibility.
Definition basetypes.h:35
All classes, functions, types and enums of PoDoFo are members of these namespace.
Definition basetypes.h:13
cspan< char32_t > unicodeview
Unicode code point view.
Definition basetypes.h:24
std::shared_ptr< const PdfCMapEncoding > PdfCMapEncodingConstPtr
Convenience typedef for a const CMap encoding shared ptr.
Definition PdfCMapEncoding.h:16
A character code unit.
Definition PdfEncodingCommon.h:17