PoDoFo 1.0.0-dev
|
A PdfFont implementation that can be used to embed truetype fonts into a PDF file or to draw with truetype fonts. More...
#include <PdfFontTrueType.h>
Public Member Functions | |
PdfFontType | GetType () const override |
![]() | |
bool | TryCreateProxyFont (PdfFont *&proxyFont) const |
Try create a replacement font that can be used for rendering or font program embedding based on this font characteristics. | |
bool | TryCreateProxyFont (PdfFontCreateFlags initFlags, PdfFont *&proxyFont) const |
void | WriteStringToStream (OutputStream &stream, const std::string_view &str) const |
Write a string to a PdfObjectStream in a format so that it can be used with this font. | |
unsigned | GetGID (char32_t codePoint, PdfGlyphAccess access) const |
Get the GID by the codePoint. | |
bool | TryGetGID (char32_t codePoint, PdfGlyphAccess access, unsigned &gid) const |
double | GetStringLength (const std::string_view &str, const PdfTextState &state) const |
Retrieve the width of a given text string in PDF units when drawn with the current font. | |
bool | TryGetStringLength (const std::string_view &str, const PdfTextState &state, double &width) const |
double | GetEncodedStringLength (const PdfString &encodedStr, const PdfTextState &state) const |
Retrieve the width of a given encoded PdfString in PDF units when drawn with the current font. | |
bool | TryGetEncodedStringLength (const PdfString &encodedStr, const PdfTextState &state, double &length) const |
bool | TryScanEncodedString (const PdfString &encodedStr, const PdfTextState &state, std::string &utf8str, std::vector< double > &lengths, std::vector< unsigned > &positions) const |
Scan string decoding unicode codepoints and obtaining glyphs lengths. | |
double | GetWordSpacingLength (const PdfTextState &state) const |
double | GetSpaceCharLength (const PdfTextState &state) const |
double | GetCharLength (char32_t codePoint, const PdfTextState &state, bool ignoreCharSpacing=false) const |
bool | TryGetCharLength (char32_t codePoint, const PdfTextState &state, bool ignoreCharSpacing, double &width) const |
bool | TryGetCharLength (char32_t codePoint, const PdfTextState &state, double &width) const |
double | GetDefaultCharLength (const PdfTextState &state, bool ignoreCharSpacing=false) const |
void | AddSubsetCIDs (const PdfString &encodedStr) |
Split the given string by white spaces. | |
bool | HasCIDSubset () const |
True if the font has defines a custom subset and needs CID /Encoding writing. | |
double | GetCIDWidth (unsigned cid) const |
Get the final unscaled width of a CID identifier from the provided /Widths, /W arrays. | |
double | GetLineSpacing (const PdfTextState &state) const |
Retrieve the line spacing for this font. | |
double | GetUnderlineThickness (const PdfTextState &state) const |
Get the width of the underline for the current font size in PDF units. | |
double | GetUnderlinePosition (const PdfTextState &state) const |
Return the position of the underline for the current font size in PDF units. | |
double | GetStrikeThroughPosition (const PdfTextState &state) const |
Return the position of the strikethrough for the current font size in PDF units. | |
double | GetStrikeThroughThickness (const PdfTextState &state) const |
Get the width of the strikethrough for the current font size in PDF units. | |
double | GetAscent (const PdfTextState &state) const |
Get the ascent of this font in PDF units for the current font size. | |
double | GetDescent (const PdfTextState &state) const |
Get the descent of this font in PDF units for the current font size. | |
virtual bool | SupportsSubsetting () const |
bool | IsStandard14Font () const |
bool | IsStandard14Font (PdfStandard14FontType &std14Font) const |
bool | IsCIDFont () const |
True if the font is a composite CIDFont. | |
virtual bool | IsObjectLoaded () const |
True if the font is loaded from a PdfObject. | |
bool | IsSubsettingEnabled () const |
Check if this is a subsetting font. | |
bool | IsEmbeddingEnabled () const |
std::string_view | GetSubsetPrefix () const |
const PdfEncoding & | GetEncoding () const |
Returns a reference to the fonts encoding. | |
const PdfFontMetrics & | GetMetrics () const |
Returns a handle to the fontmetrics object of this font. | |
const std::string & | GetName () const |
Get the base font name of this font. | |
bool | IsProxy () const |
True if the font is substitute for embedding. | |
PdfObject & | GetDescendantFontObject () |
Friends | |
class | PdfFont |
Additional Inherited Members | |
![]() | |
static bool | TryCreateFromObject (PdfObject &obj, std::unique_ptr< PdfFont > &font) |
Create a new PdfFont from an existing font in a PDF file. | |
static bool | TryCreateFromObject (const PdfObject &obj, std::unique_ptr< const PdfFont > &font) |
static std::string_view | GetStandard14FontName (PdfStandard14FontType stdFont) |
static bool | IsStandard14Font (const std::string_view &fontName, PdfStandard14FontType &stdFont) |
Determine if font name is a Standard14 font. | |
static bool | IsStandard14Font (const std::string_view &fontName, bool useAltNames, PdfStandard14FontType &stdFont) |
Determine if font name is a Standard14 font. | |
![]() | |
void | embedFont () override final |
void | initImported () override |
Initialization tasks for imported/created from scratch fonts. | |
![]() | |
void | EmbedFontFile (PdfObject &descriptor) |
void | EmbedFontFileType1 (PdfObject &descriptor, const bufferview &data, unsigned length1, unsigned length2, unsigned length3) |
void | EmbedFontFileCFF (PdfObject &descriptor, const bufferview &data, bool cidKeyed) |
void | EmbedFontFileTrueType (PdfObject &descriptor, const bufferview &data) |
void | EmbedFontFileOpenType (PdfObject &descriptor, const bufferview &data) |
bool | tryMapCIDToGIDLoadedMetrics (unsigned cid, unsigned &gid) const |
Try to map the CID to a glyph ID using the /FirstChar, /LastChar limits. | |
bool | tryMapCIDToGIDUnicode (unsigned cid, unsigned &gid) const |
Map the CID to a glyph ID in the font metrics using an Unicode map. | |
void | GetBoundingBox (PdfArray &arr) const |
void | FillDescriptor (PdfDictionary &dict) const |
Fill the /FontDescriptor object dictionary. | |
bool | TryGetSubstituteCIDEncoding (std::unique_ptr< PdfEncodingMap > &cidEncodingMap) const |
Try getting a map that can be used to produce a replacement CID /Encoding object. | |
PdfCIDSystemInfo | GetCIDSystemInfo () const |
std::vector< PdfCharGIDInfo > | GetCharGIDInfos () |
Get an ordered list of CID/GID info entries. | |
virtual PdfObject * | getDescendantFontObject () |
virtual void | embedFontSubset () |
![]() | |
PdfObject * | m_Descriptor |
![]() | |
PdfFontMetricsConstPtr | m_Metrics |
std::unique_ptr< PdfEncoding > | m_Encoding |
std::shared_ptr< PdfCharCodeMap > | m_DynamicCIDMap |
std::shared_ptr< PdfCharCodeMap > | m_DynamicToUnicodeMap |
A PdfFont implementation that can be used to embed truetype fonts into a PDF file or to draw with truetype fonts.
TrueType fonts are always embedded as suggested in the PDF reference.
|
overridevirtual |
Implements PoDoFo::PdfFont.