PoDoFo 0.9.1
Public Member Functions | Protected Member Functions
PoDoFo::PdfFont Class Reference

#include <PdfFont.h>

Inheritance diagram for PoDoFo::PdfFont:
PoDoFo::PdfElement PoDoFo::PdfFontCID PoDoFo::PdfFontSimple PoDoFo::PdfFontTrueType PoDoFo::PdfFontType1 PoDoFo::PdfFontType1Base14

List of all members.

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 SetUnderlined (bool bUnder)
bool IsUnderlined () const
bool IsBold () const
bool IsItalic () const
void SetStrikeOut (bool bStrikeOut)
bool IsStrikeOut () const
const PdfNameGetIdentifier () const
const PdfEncodingGetEncoding () const
const PdfFontMetricsGetFontMetrics () const
PdfFontMetricsGetFontMetrics2 ()
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 PdfNameGetBaseFont () const

Detailed Description

Before you can draw text on a PDF document, you have to create a font object first. You can reuse this font object as often as you want.

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.


Constructor & Destructor Documentation

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.

Parameters:
pMetricspointer 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.
pEncodingthe encoding of this font. The font will not take ownership of this object.
pParentparent of the font object
PoDoFo::PdfFont::PdfFont ( PdfFontMetrics pMetrics,
const PdfEncoding *const  pEncoding,
PdfObject pObject 
)

Create a PdfFont based on an existing PdfObject

Parameters:
pMetricspointer 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.
pEncodingthe encoding of this font. The font will not take ownership of this object.
pObjectan existing PdfObject

Member Function Documentation

void PoDoFo::PdfFont::AddUsedGlyphname ( const char *  pszGlyphName) [virtual]

Remember the glyphname in case of subsetting

Parameters:
pszGlyphNameName of the glyph to remember

Reimplemented in PoDoFo::PdfFontType1.

void PoDoFo::PdfFont::AddUsedSubsettingGlyphs ( const PdfString sText,
long  lStringLen 
) [virtual]

Remember the glyphs used in the string in case of subsetting

Parameters:
sTextthe text string which should be printed (is not allowed to be NULL!)
lStringLendraw only lLen characters of pszText

Only call if IsSubsetting() returns true. Might throw an exception otherwise.

See also:
IsSubsetting

Reimplemented in PoDoFo::PdfFontType1.

void PoDoFo::PdfFont::EmbedFont ( ) [virtual]

Embeds the font into PDF page

Reimplemented in PoDoFo::PdfFontCID, and PoDoFo::PdfFontSimple.

void PoDoFo::PdfFont::EmbedSubsetFont ( ) [virtual]

Embeds pending subset-font into PDF page Only call if IsSubsetting() returns true. Might throw an exception otherwise.

See also:
IsSubsetting

Reimplemented in PoDoFo::PdfFontType1.

const PdfName & PoDoFo::PdfFont::GetBaseFont ( ) const [inline, protected]

Get the base font name of this font

Returns:
the base font name
const PdfEncoding * PoDoFo::PdfFont::GetEncoding ( ) const [inline]

Returns a reference to the fonts encoding

Returns:
a PdfEncoding object.
float PoDoFo::PdfFont::GetFontCharSpace ( ) const [inline]

Retrieve the current character spacing of this font object

Returns:
the current font character spacing
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.

Returns:
a handle to the font metrics object
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.

Returns:
a handle to the font metrics object
float PoDoFo::PdfFont::GetFontScale ( ) const [inline]

Retrieve the current horizontal scaling of this font object

Returns:
the current font scaling
float PoDoFo::PdfFont::GetFontSize ( ) const [inline]

Retrieve the current font size of this font object

Returns:
the current font size
const PdfName & PoDoFo::PdfFont::GetIdentifier ( ) const [inline]

Returns the identifier of this font how it is known in the pages resource dictionary.

Returns:
PdfName containing the identifier (e.g. /Ft13)
bool PoDoFo::PdfFont::IsBold ( ) const [inline]
Returns:
true if this font is bold
See also:
IsItalic
IsUnderlined
bool PoDoFo::PdfFont::IsItalic ( ) const [inline]
Returns:
true if this font is italic
See also:
IsBold
IsUnderlined
bool PoDoFo::PdfFont::IsStrikeOut ( ) const [inline]
Returns:
true if the font is striked out
bool PoDoFo::PdfFont::IsSubsetting ( ) const [inline]

Check if this is a subsetting font.

Returns:
true if this is a subsetting font
bool PoDoFo::PdfFont::IsUnderlined ( ) const [inline]
Returns:
true if the font is underlined
See also:
IsBold
IsItalic
void PoDoFo::PdfFont::SetFontCharSpace ( float  fCharSpace) [inline]

Set the character spacing of the font

Parameters:
fCharSpacecharacter spacing in percent
void PoDoFo::PdfFont::SetFontScale ( float  fScale) [inline]

Set the horizontal scaling of the font for compressing (< 100) and expanding (>100)

Parameters:
fScalescaling in percent
void PoDoFo::PdfFont::SetFontSize ( float  fSize) [inline]

Set the font size before drawing with this font.

Parameters:
fSizefont size in points
void PoDoFo::PdfFont::SetStrikeOut ( bool  bStrikeOut) [inline]

Set the strikeout property of the font

Parameters:
bStrikeOutif true any text drawn with this font by a PdfPainter will be strikedout. Default is false
void PoDoFo::PdfFont::SetUnderlined ( bool  bUnder) [inline]

Set the underlined property of the font

Parameters:
bUnderif true any text drawn with this font by a PdfPainter will be underlined. Default is false
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

Parameters:
rsStringa unicode or ansi string which will be displayed
pStreamthe string will be appended to pStream without any leading or following whitespaces.