wxPdfDocument 0.9.2
Public Member Functions | Protected Member Functions | Protected Attributes
wxPdfFontParserTrueType Class Reference

Class representing a TrueType/OpenType font parser. More...

#include <pdffontparsertruetype.h>

Inheritance diagram for wxPdfFontParserTrueType:
wxPdfFontParser wxPdfFontSubsetTrueType

List of all members.

Public Member Functions

 wxPdfFontParserTrueType ()
 Default constructor.
virtual ~wxPdfFontParserTrueType ()
 Default destructor.
wxPdfFontDataIdentifyFont (const wxString &fontFileName, int fontIndex)
 Identify font based on a font file.
bool LoadFontData (wxPdfFontData *fontData)
 Load the font data.
int GetCollectionFontCount (const wxString &fontFileName)
 Get the number of fonts within a font collection.

Protected Member Functions

void ClearTableDirectory ()
 Clear the table directory.
void LockTable (const wxString &tableName)
 Lock font table.
void ReleaseTable ()
 Release font table.
int CalculateChecksum (const char *b, size_t length)
 Calculate a check sum.
wxPdfFontDataIdentifyFont ()
 Identify a font.
bool PrepareFontData (wxPdfFontData *fontData)
 Prepare the font data.
bool CheckTables ()
 Check whether the font contains all required tables.
void CheckCff ()
 Check whether the font is in compact font format (CFF)
void CheckRestrictions ()
 Check the font's access restrictions.
wxString GetBaseFont ()
 Get the base name of the font.
wxArrayString GetUniqueNames (int id)
 Get a list of unique names.
wxArrayString GetNames (int id, bool namesOnly=true)
 Get font names.
wxString GetEnglishName (int id)
 Get the English language font name.
bool ReadMaps ()
 Read font maps.
bool ReadGlyphWidths (int numberOfHMetrics, int unitsPerEm)
 Read the glyph widths.
void ReadKerning (int unitsPerEm)
 Read kerning information.
bool ReadTableDirectory ()
 Read table directory.
wxPdfCMap * ReadFormat0 ()
 Read a Format 0 CMap.
wxPdfCMap * ReadFormat4 ()
 Read a Format 4 CMap.
wxPdfCMap * ReadFormat6 ()
 Read a Format 6 CMap.
wxPdfCMap * ReadFormat12 ()
 Read a Format 12 CMap.
int GetGlyphWidth (unsigned int glyph)
 Get the width of a specific glyph.

Protected Attributes

size_t m_directoryOffset
 offset of the table directory
wxPdfTableDirectory * m_tableDirectory
 table directory of the font
bool m_isMacCoreText
 Flag whether a Mac Core Text font is to be parsed.

Detailed Description

Class representing a TrueType/OpenType font parser.


Constructor & Destructor Documentation

wxPdfFontParserTrueType::wxPdfFontParserTrueType ( )

Default constructor.

virtual wxPdfFontParserTrueType::~wxPdfFontParserTrueType ( ) [virtual]

Default destructor.


Member Function Documentation

int wxPdfFontParserTrueType::CalculateChecksum ( const char *  b,
size_t  length 
) [protected]

Calculate a check sum.

void wxPdfFontParserTrueType::CheckCff ( ) [protected]

Check whether the font is in compact font format (CFF)

void wxPdfFontParserTrueType::CheckRestrictions ( ) [protected]

Check the font's access restrictions.

bool wxPdfFontParserTrueType::CheckTables ( ) [protected]

Check whether the font contains all required tables.

void wxPdfFontParserTrueType::ClearTableDirectory ( ) [protected]

Clear the table directory.

wxString wxPdfFontParserTrueType::GetBaseFont ( ) [protected]

Get the base name of the font.

Gets the Postscript font name.

Returns:
the Postscript font name
int wxPdfFontParserTrueType::GetCollectionFontCount ( const wxString &  fontFileName)

Get the number of fonts within a font collection.

Parameters:
fontFileNamethe fully qualified name of the font collection file
Returns:
the number of fonts in the collection
wxString wxPdfFontParserTrueType::GetEnglishName ( int  id) [protected]

Get the English language font name.

Parameters:
idthe name id to retrieve
Returns:
the English font name
int wxPdfFontParserTrueType::GetGlyphWidth ( unsigned int  glyph) [protected]

Get the width of a specific glyph.

wxArrayString wxPdfFontParserTrueType::GetNames ( int  id,
bool  namesOnly = true 
) [protected]

Get font names.

Extracts the names of the font in all the languages available. Optionally the platform, encoding and language identifiers are extracted as well. In the latter case 4 consecutive entries in the resulting string array represent a single font name.

Parameters:
idthe name id to retrieve
namesOnlyflag whether to extract only names or names and identifiers
Returns:
a list of font names
wxArrayString wxPdfFontParserTrueType::GetUniqueNames ( int  id) [protected]

Get a list of unique names.

Extracts the names of the font in all the languages available.

Parameters:
idthe name id to retrieve
Returns:
a list of unique names
wxPdfFontData* wxPdfFontParserTrueType::IdentifyFont ( ) [protected]

Identify a font.

wxPdfFontData* wxPdfFontParserTrueType::IdentifyFont ( const wxString &  fontFileName,
int  fontIndex 
)

Identify font based on a font file.

Parameters:
fontFileNamefully qualified name of the font file
fontIndexthe index of the font within a font collection (if appropriate)
Returns:
a reference to a new font data instance
bool wxPdfFontParserTrueType::LoadFontData ( wxPdfFontData fontData)

Load the font data.

Before using a font it's data have be loaded into memory. This method tries to load the required font data for a previously identified font.

Parameters:
fontDatathe font data instance to be loaded
Returns:
TRUE if the font data could be loaded successfully, FALSE otherwise
void wxPdfFontParserTrueType::LockTable ( const wxString &  tableName) [protected]

Lock font table.

bool wxPdfFontParserTrueType::PrepareFontData ( wxPdfFontData fontData) [protected]

Prepare the font data.

wxPdfCMap* wxPdfFontParserTrueType::ReadFormat0 ( ) [protected]

Read a Format 0 CMap.

wxPdfCMap* wxPdfFontParserTrueType::ReadFormat12 ( ) [protected]

Read a Format 12 CMap.

wxPdfCMap* wxPdfFontParserTrueType::ReadFormat4 ( ) [protected]

Read a Format 4 CMap.

wxPdfCMap* wxPdfFontParserTrueType::ReadFormat6 ( ) [protected]

Read a Format 6 CMap.

bool wxPdfFontParserTrueType::ReadGlyphWidths ( int  numberOfHMetrics,
int  unitsPerEm 
) [protected]

Read the glyph widths.

Reads the glyphs widths. The widths are extracted from the table 'hmtx'. The glyphs are normalized to 1000 units.

Parameters:
numberOfHMetrics
unitsPerEm
Returns:
TRUE if the glyph widths could be read successfully, FALSE otherwise
void wxPdfFontParserTrueType::ReadKerning ( int  unitsPerEm) [protected]

Read kerning information.

bool wxPdfFontParserTrueType::ReadMaps ( ) [protected]

Read font maps.

Reads the tables 'head', 'hhea', 'OS/2' and 'post' filling several variables.

Returns:
TRUE if the font maps could be read successfully, FALSE otherwise
bool wxPdfFontParserTrueType::ReadTableDirectory ( ) [protected]

Read table directory.

void wxPdfFontParserTrueType::ReleaseTable ( ) [protected]

Release font table.


Member Data Documentation

offset of the table directory

Flag whether a Mac Core Text font is to be parsed.

wxPdfTableDirectory* wxPdfFontParserTrueType::m_tableDirectory [protected]

table directory of the font


The documentation for this class was generated from the following file: