7#ifndef PDF_ENCODING_COMMON_H
8#define PDF_ENCODING_COMMON_H
24 unsigned char CodeSpaceSize;
41 unsigned GetByteCode(
unsigned char byteIdx)
const;
42 void AppendTo(std::string&
str)
const;
43 void WriteHexTo(std::string&
str,
bool wrap =
true)
const;
58 explicit PdfCID(
unsigned id);
73 unsigned MetricsId = 0;
91 struct PODOFO_API PdfEncodingLimits
final
104 bool AreValid()
const;
109 bool HaveValidCodeSizeRange()
const;
113 unsigned char MinCodeSize;
114 unsigned char MaxCodeSize;
117 struct PODOFO_API PdfCIDSystemInfo final
147 void CopyTo(std::vector<codepoint>&
codePoints)
const;
148 codepointview view()
const;
149 unsigned GetSize()
const;
154 operator codepointview()
const;
168 std::array<codepoint, 3> Data;
174 std::unique_ptr<codepoint[]> Data;
181 using CodeUnitMap = std::unordered_map<PdfCharCode, CodePointSpan>;
193 return code.CodeSpaceSize << 24 | code.Code;
A memory owning immutable block of code points, optimized for small segments as up to 3 elements can ...
Definition PdfEncodingCommon.h:138
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
char32_t codepoint
A convenient typedef for an unspecified codepoint The underlying type is convenientely char32_t so it...
Definition PdfEncodingCommon.h:130
Represent a CID (Character ID) with full code unit information.
Definition PdfEncodingCommon.h:49
A character code unit.
Definition PdfEncodingCommon.h:20
Represents a bundle of a CID and GID information.
Definition PdfEncodingCommon.h:85
PdfGID Gid
The identifier of the glyph in font program and PDF metrics.
Definition PdfEncodingCommon.h:88
Represents a GID (Glyph ID) with PDF metrics identifier.
Definition PdfEncodingCommon.h:71