#include <PdfFont.h>
Public Member Functions | |
PdfFont (PdfFontMetrics *pMetrics, const PdfEncoding *const pEncoding, PdfVecObjects *pParent) | |
PdfFont (PdfFontMetrics *pMetrics, const PdfEncoding *const pEncoding, PdfObject *pObject) | |
void | SetFontSize (float fSize) |
float | GetFontSize () const |
void | SetFontScale (float fScale) |
float | GetFontScale () const |
void | SetFontCharSpace (float fCharSpace) |
float | GetFontCharSpace () const |
void | SetWordSpace (float fWordSpace) |
float | GetWordSpace () const |
void | SetUnderlined (bool bUnder) |
bool | IsUnderlined () const |
bool | IsBold () const |
bool | IsItalic () const |
void | SetStrikeOut (bool bStrikeOut) |
bool | IsStrikeOut () const |
const PdfName & | GetIdentifier () const |
const PdfEncoding * | GetEncoding () const |
const PdfFontMetrics * | GetFontMetrics () const |
PdfFontMetrics * | GetFontMetrics2 () |
virtual void | WriteStringToStream (const PdfString &rsString, PdfStream *pStream) |
virtual void | EmbedFont () |
virtual void | AddUsedSubsettingGlyphs (const PdfString &sText, long lStringLen) |
virtual void | AddUsedGlyphname (const char *pszGlyphName) |
virtual void | EmbedSubsetFont () |
bool | IsSubsetting () const |
Protected Member Functions | |
const PdfName & | GetBaseFont () const |
virtual void | SetBold (bool bBold) |
virtual void | SetItalic (bool bItalic) |
Use PdfDocument::CreateFont to create a new font object. It will choose a correct subclass using PdfFontFactory.
This is only an abstract base class which is implemented for different font formats.
PoDoFo::PdfFont::PdfFont | ( | PdfFontMetrics * | pMetrics, | |
const PdfEncoding *const | pEncoding, | |||
PdfVecObjects * | pParent | |||
) |
Create a new PdfFont object which will introduce itself automatically to every page object it is used on.
The font has a default font size of 12.0pt.
pMetrics | pointer to a font metrics object. The font in the PDF file will match this fontmetrics object. The metrics object is deleted along with the font. | |
pEncoding | the encoding of this font. The font will take ownership of this object depending on pEncoding->IsAutoDelete() | |
pParent | parent of the font object |
PoDoFo::PdfFont::PdfFont | ( | PdfFontMetrics * | pMetrics, | |
const PdfEncoding *const | pEncoding, | |||
PdfObject * | pObject | |||
) |
Create a PdfFont based on an existing PdfObject
pMetrics | pointer to a font metrics object. The font in the PDF file will match this fontmetrics object. The metrics object is deleted along with the font. | |
pEncoding | the encoding of this font. The font will take ownership of this object depending on pEncoding->IsAutoDelete() | |
pObject | an existing PdfObject |
void PoDoFo::PdfFont::SetFontSize | ( | float | fSize | ) | [inline] |
Set the font size before drawing with this font.
fSize | font size in points |
float PoDoFo::PdfFont::GetFontSize | ( | ) | const [inline] |
Retrieve the current font size of this font object
void PoDoFo::PdfFont::SetFontScale | ( | float | fScale | ) | [inline] |
Set the horizontal scaling of the font for compressing (< 100) and expanding (>100)
fScale | scaling in percent |
float PoDoFo::PdfFont::GetFontScale | ( | ) | const [inline] |
Retrieve the current horizontal scaling of this font object
void PoDoFo::PdfFont::SetFontCharSpace | ( | float | fCharSpace | ) | [inline] |
Set the character spacing of the font
fCharSpace | character spacing in percent |
float PoDoFo::PdfFont::GetFontCharSpace | ( | ) | const [inline] |
Retrieve the current character spacing of this font object
void PoDoFo::PdfFont::SetWordSpace | ( | float | fWordSpace | ) | [inline] |
Set the word spacing of the font
fWordSpace | word spacing in PDF units |
float PoDoFo::PdfFont::GetWordSpace | ( | ) | const [inline] |
Retrieve the current word spacing of this font object
void PoDoFo::PdfFont::SetUnderlined | ( | bool | bUnder | ) | [inline] |
Set the underlined property of the font
bUnder | if true any text drawn with this font by a PdfPainter will be underlined. Default is false |
bool PoDoFo::PdfFont::IsUnderlined | ( | ) | const [inline] |
bool PoDoFo::PdfFont::IsBold | ( | ) | const [inline] |
bool PoDoFo::PdfFont::IsItalic | ( | ) | const [inline] |
void PoDoFo::PdfFont::SetStrikeOut | ( | bool | bStrikeOut | ) | [inline] |
Set the strikeout property of the font
bStrikeOut | if true any text drawn with this font by a PdfPainter will be strikedout. Default is false |
bool PoDoFo::PdfFont::IsStrikeOut | ( | ) | const [inline] |
const PdfName & PoDoFo::PdfFont::GetIdentifier | ( | ) | const [inline] |
Returns the identifier of this font how it is known in the pages resource dictionary.
const PdfEncoding * PoDoFo::PdfFont::GetEncoding | ( | ) | const [inline] |
Returns a reference to the fonts encoding
const PdfFontMetrics * PoDoFo::PdfFont::GetFontMetrics | ( | ) | const [inline] |
Returns a handle to the fontmetrics object of this font. This can be used for size calculations of text strings when drawn using this font.
PdfFontMetrics * PoDoFo::PdfFont::GetFontMetrics2 | ( | ) | [inline] |
Returns a handle to the fontmetrics object of this font. This can be used for size calculations of text strings when drawn using this font.
void PoDoFo::PdfFont::WriteStringToStream | ( | const PdfString & | rsString, | |
PdfStream * | pStream | |||
) | [virtual] |
Write a PdfString to a PdfStream in a format so that it can be used with this font. This is used by PdfPainter::DrawText to display a text string. The following PDF operator will be Tj
rsString | a unicode or ansi string which will be displayed | |
pStream | the string will be appended to pStream without any leading or following whitespaces. |
void PoDoFo::PdfFont::EmbedFont | ( | ) | [virtual] |
Embeds the font into PDF page
Reimplemented in PoDoFo::PdfFontCID, and PoDoFo::PdfFontSimple.
void PoDoFo::PdfFont::AddUsedSubsettingGlyphs | ( | const PdfString & | sText, | |
long | lStringLen | |||
) | [virtual] |
Remember the glyphs used in the string in case of subsetting
sText | the text string which should be printed (is not allowed to be NULL!) | |
lStringLen | draw only lLen characters of pszText |
Reimplemented in PoDoFo::PdfFontCID, and PoDoFo::PdfFontType1.
void PoDoFo::PdfFont::AddUsedGlyphname | ( | const char * | pszGlyphName | ) | [virtual] |
Remember the glyphname in case of subsetting
pszGlyphName | Name of the glyph to remember |
Reimplemented in PoDoFo::PdfFontType1.
void PoDoFo::PdfFont::EmbedSubsetFont | ( | ) | [virtual] |
Embeds pending subset-font into PDF page Only call if IsSubsetting() returns true. Might throw an exception otherwise.
Reimplemented in PoDoFo::PdfFontCID, and PoDoFo::PdfFontType1.
bool PoDoFo::PdfFont::IsSubsetting | ( | ) | const [inline] |
Check if this is a subsetting font.
const PdfName & PoDoFo::PdfFont::GetBaseFont | ( | ) | const [inline, protected] |
Get the base font name of this font
void PoDoFo::PdfFont::SetBold | ( | bool | bBold | ) | [protected, virtual] |
Used to specify if this represents a bold font
bBold | if true this is a bold font. |
Reimplemented in PoDoFo::PdfFontCID.
void PoDoFo::PdfFont::SetItalic | ( | bool | bItalic | ) | [protected, virtual] |
Used to specify if this represents an italic font
bItalic | if true this is an italic font. |
Reimplemented in PoDoFo::PdfFontCID.