PoDoFo 1.1.0
Loading...
Searching...
No Matches
PdfEncodingMapFactory.h
1
7#ifndef PDF_ENCODING_MAP_FACTORY_H
8#define PDF_ENCODING_MAP_FACTORY_H
9
10#include "PdfEncodingMap.h"
11#include "PdfCMapEncoding.h"
12
13namespace PoDoFo {
14
18{
19 friend class PdfEncoding;
20 friend class PdfEncodingFactory;
21 friend class PdfDifferenceEncoding;
22 friend class PdfFontMetricsFreetype;
23 friend class PdfFontMetrics;
24
25public:
29 static bool TryParseCMapEncoding(const PdfObject& cmapObj, std::unique_ptr<PdfEncodingMap>& encoding);
30
35 static std::unique_ptr<PdfEncodingMap> ParseCMapEncoding(const PdfObject& cmapObj);
36
42 static PdfBuiltInEncodingConstPtr GetWinAnsiEncodingInstancePtr();
43 static const PdfBuiltInEncoding& GetWinAnsiEncodingInstance();
44
54 static PdfBuiltInEncodingConstPtr GetMacRomanEncodingInstancePtr();
55 static const PdfBuiltInEncoding& GetMacRomanEncodingInstance();
56
62 static PdfBuiltInEncodingConstPtr GetMacExpertEncodingInstancePtr();
63 static const PdfBuiltInEncoding& GetMacExpertEncodingInstance();
64
70 static PdfBuiltInEncodingConstPtr GetStandardEncodingInstancePtr();
71 static const PdfBuiltInEncoding& GetStandardEncodingInstance();
72
78 static PdfEncodingMapConstPtr GetHorizontalIdentityEncodingInstancePtr();
79 static const PdfEncodingMap& GetHorizontalIdentityEncodingInstance();
80
86 static PdfEncodingMapConstPtr GetVerticalIdentityEncodingInstancePtr();
87 static const PdfEncodingMap& GetVerticalIdentityEncodingInstance();
88
91 static PdfEncodingMapConstPtr GetStandard14FontEncodingInstancePtr(PdfStandard14FontType stdFont);
92 static const PdfEncodingMap& GetStandard14FontEncodingInstance(PdfStandard14FontType stdFont);
93
97 static PdfCMapEncodingConstPtr GetPredefinedCMapInstancePtr(const std::string_view& cmapName);
98 static const PdfCMapEncoding& GetPredefinedCMapInstance(const std::string_view& cmapName);
99private:
100 // The following encodings are for internal use only
101
102 static const PdfBuiltInEncodingConstPtr& GetSymbolEncodingInstancePtr();
103
104 static const PdfBuiltInEncodingConstPtr& GetZapfDingbatsEncodingInstancePtr();
105
106 static const PdfBuiltInEncodingConstPtr& GetAppleLatin1EncodingInstancePtr();
107
108 static const PdfEncodingMapConstPtr& GetNullEncodingInstancePtr();
109
110private:
111 PdfEncodingMapFactory() = delete;
112
113 static const PdfBuiltInEncodingConstPtr& getWinAnsiEncodingInstancePtr();
114 static const PdfBuiltInEncodingConstPtr& getMacRomanEncodingInstancePtr();
115 static const PdfBuiltInEncodingConstPtr& getMacExpertEncodingInstancePtr();
116 static const PdfBuiltInEncodingConstPtr& getStandardEncodingInstancePtr();
117 static const PdfEncodingMapConstPtr& getHorizontalIdentityEncodingInstancePtr();
118 static const PdfEncodingMapConstPtr& getVerticalIdentityEncodingInstancePtr();
119 static const PdfBuiltInEncodingConstPtr& getStandard14FontEncodingInstancePtr(PdfStandard14FontType stdFont);
120};
121
122}
123
124#endif // PDF_ENCODING_MAP_FACTORY_H
A common base class for built-in encodings which are known by name.
Definition PdfEncodingMap.h:282
PdfDifferenceEncoding is an encoding, which is based on either the fonts encoding or a predefined enc...
Definition PdfDifferenceEncoding.h:118
This factory creates a PdfEncoding from an existing object in the PDF.
Definition PdfEncodingFactory.h:20
This factory creates a PdfEncodingMap.
Definition PdfEncodingMapFactory.h:18
A PdfEncodingMap is a low level interface to convert between utf8 and encoded strings in and to deter...
Definition PdfEncodingMap.h:32
A PdfEncoding is in PdfFont to transform a text string into a representation so that it can be displa...
Definition PdfEncoding.h:58
This abstract class provides access to font metrics information.
Definition PdfFontMetrics.h:36
This class represents a PDF indirect Object in memory.
Definition PdfObject.h:35
Convenient type for char array storage and/or buffer with std::string compatibility.
Definition basetypes.h:38
SPDX-FileCopyrightText: (C) 2022 Francesco Pretto ceztko@gmail.com SPDX-License-Identifier: LGPL-2....
Definition basetypes.h:16
std::shared_ptr< const PdfCMapEncoding > PdfCMapEncodingConstPtr
Convenience typedef for a const CMap encoding shared ptr.
Definition PdfCMapEncoding.h:18
std::shared_ptr< const PdfBuiltInEncoding > PdfBuiltInEncodingConstPtr
Convenience typedef for a const /Encoding map entry shared ptr.
Definition PdfEncodingMap.h:359
std::shared_ptr< const PdfEncodingMap > PdfEncodingMapConstPtr
Convenience typedef for a const /Encoding map entry shared ptr.
Definition PdfEncodingMap.h:355