PDF SDK Documentation

Comprehensive Guide for Developers: Features, Integration, and API Reference

Loading...
Searching...
No Matches
font.h
1// Copyright (c) 2009-2025 Avanquest Software. All rights reserved.
2
3#ifndef PDFSDK_CXX_PDF_FONT_H_INCLUDED_
4#define PDFSDK_CXX_PDF_FONT_H_INCLUDED_
5
7#include <pdfsdk/cxx/math.h>
8
9#include "forward_declarations.h"
10#include "wrapper_base.h"
11
12namespace PDF {
13
14class OutlineEnumMonitor;
15
21class Font : public detail::RefCountedHandle<PDEFont> {
22public:
28 static Font CreateFromPdfObject(const Object& object);
29
35
40 PDEFontSubtype GetSubtype() const;
41
46 PDAtom GetName() const;
47
53
59
65
70 bool IsEmbedded() const;
71
76 PDEWritingMode GetWritingMode() const;
77
84 Content GetCharProc(const char* codepoint, size_t codepointLen) const;
85
91 Content GetCharProc(const std::string& codepoint) const;
92
99 void EnumCharOutline(const char* codepoint, size_t codepointLen, OutlineEnumMonitor& mon) const;
100
106 void EnumCharOutline(const std::string& codepoint, OutlineEnumMonitor& mon) const;
107
114 int16_t GetCharWidth(const char* codepoint, size_t codepointLen) const;
115
121 int16_t GetCharWidth(const std::string& codepoint) const;
122
129 PDEGlyphVertMetric GetCharVertMetric(const char* codepoint, size_t codepointLen) const;
130
136 PDEGlyphVertMetric GetCharVertMetric(const std::string& codepoint) const;
137
142 PDFontStyle GetStyle() const;
143
149
154 PDAtom GetEncodingName() const;
155
161 bool CanTypeUnicode(const std::wstring& unicode) const;
162
167 bool IsFauxed() const;
168
174
180
187 std::wstring CharToUnicode(const char* codepoint, size_t codepointLen) const;
188
194 std::wstring CharToUnicode(const std::string& codepoint) const;
195
202 std::string UnicodeToChar(const UnicodeChar* unicode, size_t unicodeLen) const;
203
209 std::string UnicodeToChar(const std::wstring& unicode) const;
210
216
217 PDF_CXX_CORE_WRAPPER_DEFINE_MEMBERS_(Font, PDEFont)
218};
219
221public:
222 virtual ~OutlineEnumMonitor() = default;
223 virtual void MoveTo(const PDPointF& to) = 0;
224 virtual void LineTo(const PDPointF& to) = 0;
225 virtual void ConicCurveTo(const PDPointF& c, const PDPointF& to) = 0;
226 virtual void CubicCurveTo(const PDPointF& c1, const PDPointF& c2, const PDPointF& to) = 0;
227};
228
229} // namespace PDF
230
231#include "font_impl.inl"
232
233#endif // PDFSDK_CXX_PDF_FONT_H_INCLUDED_
Represents the content of a PDF page.
Definition content.h:20
Represents a font in a PDF document.
Definition font.h:21
Matrix GetFontMatrix() const
std::string UnicodeToChar(const std::wstring &unicode) const
Object GetPdfObject() const
RectF GetType3GlyphsBBox() const
ReadStream OpenFontFileStream() const
PDAtom GetName() const
PDEFontMetrics GetMetrics() const
void EnumCharOutline(const std::string &codepoint, OutlineEnumMonitor &mon) const
bool IsEmbedded() const
RectF GetFontBBox() const
bool CanTypeUnicode(const std::wstring &unicode) const
std::wstring CharToUnicode(const char *codepoint, size_t codepointLen) const
static Font CreateFromPdfObject(const Object &object)
PDFontStyle GetStyle() const
PDEGlyphVertMetric GetCharVertMetric(const std::string &codepoint) const
Content GetCharProc(const char *codepoint, size_t codepointLen) const
std::wstring CharToUnicode(const std::string &codepoint) const
std::string UnicodeToChar(const UnicodeChar *unicode, size_t unicodeLen) const
PDEWritingMode GetWritingMode() const
Content GetCharProc(const std::string &codepoint) const
PDFontInfo GetFauxFontInfo() const
PDFontInfo GetFontInfo() const
PDAtom GetEncodingName() const
PDEGlyphVertMetric GetCharVertMetric(const char *codepoint, size_t codepointLen) const
void EnumCharOutline(const char *codepoint, size_t codepointLen, OutlineEnumMonitor &mon) const
int16_t GetCharWidth(const char *codepoint, size_t codepointLen) const
bool IsFauxed() const
PDEFontSubtype GetSubtype() const
int16_t GetCharWidth(const std::string &codepoint) const
Represents a PDF object.
Definition object.h:20
Definition font.h:220
Represents a read stream for reading data.
Definition read_stream.h:15
Content API.
Definition content.h:365
Definition content.h:392
Definition math.h:1053
Definition math.h:545
Definition fonts.h:25
Definition math_types.h:12