#include <PdfFontMetrics.h>
Inherited by PoDoFo::PdfFontMetricsBase14, PoDoFo::PdfFontMetricsFreetype, and PoDoFo::PdfFontMetricsObject.
This abstract class provides access to fontmetrics informations.
virtual double PoDoFo::PdfFontMetrics::CharWidth |
( |
unsigned char |
c) | |
const |
|
pure virtual |
Retrieve the width of the given character in PDF units in the current font
- Parameters
-
- Returns
- the width in PDF units
unsigned long PoDoFo::PdfFontMetrics::CharWidthMM |
( |
unsigned char |
c) | |
const |
|
inline |
Retrieve the width of the given character in 1/1000th mm in the current font
- Parameters
-
- Returns
- the width in 1/1000th mm
EPdfFontType PoDoFo::PdfFontMetrics::FontTypeFromFilename |
( |
const char * |
pszFilename) | |
|
|
static |
Try to detect the internal fonttype from the file extension of a fontfile.
- Parameters
-
pszFilename | must be the filename of a font file |
- Returns
- font type
virtual double PoDoFo::PdfFontMetrics::GetAscent |
( |
) | |
const |
|
pure virtual |
Get the ascent of this font in PDF units for the current font size.
- Returns
- the ascender for this font
- See Also
- GetPdfAscent
virtual void PoDoFo::PdfFontMetrics::GetBoundingBox |
( |
PdfArray & |
array) | |
const |
|
pure virtual |
Create the bounding box array as required by the PDF reference so that it can be written directly to a PDF file.
- Parameters
-
array | write the bounding box to this array. |
virtual double PoDoFo::PdfFontMetrics::GetDescent |
( |
) | |
const |
|
pure virtual |
Get the descent of this font in PDF units for the current font size. This value is usually negative!
- Returns
- the descender for this font
- See Also
- GetPdfDescent
const char * PoDoFo::PdfFontMetrics::GetFilename |
( |
) | |
const |
|
inline |
Get a pointer to the path of the font file.
- Returns
- a zero terminated string containing the filename of the font file
float PoDoFo::PdfFontMetrics::GetFontCharSpace |
( |
) | |
const |
|
inline |
Retrieve the current character spacing of this metrics object
- Returns
- the current font character spacing
virtual const char* PoDoFo::PdfFontMetrics::GetFontData |
( |
) | |
const |
|
pure virtual |
Get a pointer to the actual font data - if it was loaded from memory.
- Returns
- a binary buffer of data containing the font data
virtual pdf_long PoDoFo::PdfFontMetrics::GetFontDataLen |
( |
) | |
const |
|
pure virtual |
Get the length of the actual font data - if it was loaded from memory.
- Returns
- a the length of the font data
virtual const char* PoDoFo::PdfFontMetrics::GetFontname |
( |
) | |
const |
|
pure virtual |
Get a string with the postscript name of the font.
- Returns
- the postscript name of the font or NULL string if no postscript name is available.
float PoDoFo::PdfFontMetrics::GetFontScale |
( |
) | |
const |
|
inline |
Retrieve the current horizontal scaling of this metrics object
- Returns
- the current font scaling
float PoDoFo::PdfFontMetrics::GetFontSize |
( |
) | |
const |
|
inline |
Retrieve the current font size of this metrics object
- Returns
- the current font size
- Returns
- the fonttype of the loaded font
virtual long PoDoFo::PdfFontMetrics::GetGlyphId |
( |
long |
lUnicode) | |
const |
|
pure virtual |
Get the glyph id for a unicode character in the current font.
- Parameters
-
lUnicode | the unicode character value |
- Returns
- the glyhph id for the character or 0 if the glyph was not found.
virtual double PoDoFo::PdfFontMetrics::GetGlyphWidth |
( |
int |
nGlyphId) | |
const |
|
pure virtual |
Get the width of a single glyph id
- Parameters
-
- Returns
- the width of a single glyph id
virtual double PoDoFo::PdfFontMetrics::GetGlyphWidth |
( |
const char * |
pszGlyphname) | |
const |
|
pure virtual |
Get the width of a single named glyph
- Parameters
-
pszGlyphname | name of the glyph |
- Returns
- the width of a single named glyph
virtual int PoDoFo::PdfFontMetrics::GetItalicAngle |
( |
) | |
const |
|
pure virtual |
Get the italic angle of this font. Used to build the font dictionay
- Returns
- the italic angle of this font.
virtual double PoDoFo::PdfFontMetrics::GetLineSpacing |
( |
) | |
const |
|
pure virtual |
Retrieve the line spacing for this font
- Returns
- the linespacing in PDF units
unsigned long PoDoFo::PdfFontMetrics::GetLineSpacingMM |
( |
) | |
const |
|
inline |
Retrieve the line spacing for this font
- Returns
- the linespacing in 1/1000th mm
virtual double PoDoFo::PdfFontMetrics::GetPdfAscent |
( |
) | |
const |
|
pure virtual |
Get the ascent of this font Used to build the font dictionay
- Returns
- the ascender for this font
- See Also
- GetAscent
virtual double PoDoFo::PdfFontMetrics::GetPdfDescent |
( |
) | |
const |
|
pure virtual |
Get the descent of this font Used to build the font dictionay
- Returns
- the descender for this font
- See Also
- GetDescent
virtual double PoDoFo::PdfFontMetrics::GetStrikeOutPosition |
( |
) | |
const |
|
pure virtual |
Return the position of the strikeout for the current font size in PDF units
- Returns
- the underline position in PDF units
unsigned long PoDoFo::PdfFontMetrics::GetStrikeOutPositionMM |
( |
) | |
const |
|
inline |
Return the position of the strikeout for the current font size in 1/1000th mm
- Returns
- the underline position in 1/1000th mm
virtual double PoDoFo::PdfFontMetrics::GetStrikeoutThickness |
( |
) | |
const |
|
pure virtual |
Get the width of the strikeout for the current font size in PDF units
- Returns
- the thickness of the strikeout in PDF units
unsigned long PoDoFo::PdfFontMetrics::GetStrikeoutThicknessMM |
( |
) | |
const |
|
inline |
Get the width of the strikeout for the current font size in 1/1000th mm
- Returns
- the thickness of the strikeout in 1/1000th mm
const char * PoDoFo::PdfFontMetrics::GetSubsetFontnamePrefix |
( |
) | |
const |
|
inline |
- Returns
- NULL or a 6 uppercase letter and "+" sign prefix used for font subsets
virtual double PoDoFo::PdfFontMetrics::GetUnderlinePosition |
( |
) | |
const |
|
pure virtual |
Return the position of the underline for the current font size in PDF units
- Returns
- the underline position in PDF units
long PoDoFo::PdfFontMetrics::GetUnderlinePositionMM |
( |
) | |
const |
|
inline |
Return the position of the underline for the current font size in 1/1000th mm
- Returns
- the underline position in 1/1000th mm
virtual double PoDoFo::PdfFontMetrics::GetUnderlineThickness |
( |
) | |
const |
|
pure virtual |
Get the width of the underline for the current font size in PDF units
- Returns
- the thickness of the underline in PDF units
unsigned long PoDoFo::PdfFontMetrics::GetUnderlineThicknessMM |
( |
) | |
const |
|
inline |
Get the width of the underline for the current font size in 1/1000th mm
- Returns
- the thickness of the underline in 1/1000th mm
virtual unsigned int PoDoFo::PdfFontMetrics::GetWeight |
( |
) | |
const |
|
pure virtual |
Get the weight of this font. Used to build the font dictionay
- Returns
- the weight of this font (500 is normal).
virtual void PoDoFo::PdfFontMetrics::GetWidthArray |
( |
PdfVariant & |
var, |
|
|
unsigned int |
nFirst, |
|
|
unsigned int |
nLast |
|
) |
| const |
|
pure virtual |
Create a width array for this font which is a required part of every font dictionary.
- Parameters
-
var | the final width array is written to this PdfVariant |
nFirst | first character to be in the array |
nLast | last character code to be in the array |
virtual bool PoDoFo::PdfFontMetrics::IsSymbol |
( |
) | |
const |
|
pure virtual |
Symbol fonts do need special treatment in a few cases. Use this method to check if the current font is a symbol font. Symbold fonts are detected by checking if they use FT_ENCODING_MS_SYMBOL as internal encoding.
- Returns
- true if this is a symbol font
void PoDoFo::PdfFontMetrics::SetFontCharSpace |
( |
float |
fCharSpace) | |
|
|
inline |
Set the character spacing of this metrics object
- Parameters
-
fCharSpace | character spacing in percent |
void PoDoFo::PdfFontMetrics::SetFontScale |
( |
float |
fScale) | |
|
|
inline |
Set the horizontal scaling of the font for compressing (< 100) and expanding (>100) This is typically called from PdfFont for you.
- Parameters
-
void PoDoFo::PdfFontMetrics::SetFontSize |
( |
float |
fSize) | |
|
|
inline |
Set the font size of this metrics object for width and height calculations. This is typically called from PdfFont for you.
- Parameters
-
void PoDoFo::PdfFontMetrics::SetFontType |
( |
EPdfFontType |
eFontType) | |
|
|
inlineprotected |
Set the fonttype.
- Parameters
-
double PoDoFo::PdfFontMetrics::StringWidth |
( |
const PdfString & |
rsString) | |
const |
|
inline |
Retrieve the width of a given text string in PDF units when drawn with the current font
- Parameters
-
rsString | a PdfString from which the width shall be calculated |
- Returns
- the width in PDF units
This is an overloaded method for your convinience!
double PoDoFo::PdfFontMetrics::StringWidth |
( |
const char * |
pszText, |
|
|
pdf_long |
nLength = 0 |
|
) |
| const |
Retrieve the width of a given text string in PDF units when drawn with the current font
- Parameters
-
pszText | a text string of which the width should be calculated |
nLength | if != 0 only the width of the nLength first characters is calculated |
- Returns
- the width in PDF units
double PoDoFo::PdfFontMetrics::StringWidth |
( |
const pdf_utf16be * |
pszText, |
|
|
unsigned int |
nLength = 0 |
|
) |
| const |
Retrieve the width of a given text string in PDF units when drawn with the current font
- Parameters
-
pszText | a text string of which the width should be calculated |
nLength | if != 0 only the width of the nLength first characters is calculated |
- Returns
- the width in PDF units
double PoDoFo::PdfFontMetrics::StringWidth |
( |
const wchar_t * |
pszText, |
|
|
unsigned int |
nLength = 0 |
|
) |
| const |
Retrieve the width of a given text string in PDF units when drawn with the current font
- Parameters
-
pszText | a text string of which the width should be calculated |
nLength | if != 0 only the width of the nLength first characters is calculated |
- Returns
- the width in PDF units
unsigned long PoDoFo::PdfFontMetrics::StringWidthMM |
( |
const char * |
pszText, |
|
|
unsigned int |
nLength = 0 |
|
) |
| const |
|
inline |
Retrieve the width of a given text string in 1/1000th mm when drawn with the current font
- Parameters
-
pszText | a text string of which the width should be calculated |
nLength | if != 0 only the width of the nLength first characters is calculated |
- Returns
- the width in 1/1000th mm
unsigned long PoDoFo::PdfFontMetrics::StringWidthMM |
( |
const pdf_utf16be * |
pszText, |
|
|
unsigned int |
nLength = 0 |
|
) |
| const |
|
inline |
Retrieve the width of a given text string in 1/1000th mm when drawn with the current font
- Parameters
-
pszText | a text string of which the width should be calculated |
nLength | if != 0 only the width of the nLength first characters is calculated |
- Returns
- the width in 1/1000th mm
unsigned long PoDoFo::PdfFontMetrics::StringWidthMM |
( |
const wchar_t * |
pszText, |
|
|
unsigned int |
nLength = 0 |
|
) |
| const |
|
inline |
Retrieve the width of a given text string in 1/1000th mm when drawn with the current font
- Parameters
-
pszText | a text string of which the width should be calculated |
nLength | if != 0 only the width of the nLength first characters is calculated |
- Returns
- the width in 1/1000th mm
virtual double PoDoFo::PdfFontMetrics::UnicodeCharWidth |
( |
unsigned short |
c) | |
const |
|
pure virtual |
Retrieve the width of the given character in PDF units in the current font
- Parameters
-
- Returns
- the width in PDF units