MGD::FONT Class Reference

Font definition and implementation. More...

#include <mi32/mgd2.h>

List of all members.

Public Types

enum  FONTTYPE { FONTTYPE_OF, FONTTYPE_TTF }
enum  MODE { MODE_MIUNICODE, MODE_RAWGID, MODE_GID }

Public Member Functions

 FONT ()
virtual ~FONT ()
virtual int DrawGlyph (MGD::CONTEXT *context, double dx, double dy, double baseangle, const STRINGDATA &string, int n)=0
virtual int DrawGlyph (MGD::CONTEXT *context, double dx, double dy, double baseangle, const MIUNICODE *ucstr, MGD::FONT::MODE mode)=0
virtual int GetFontMetrics (MGD::CONTEXT *context, MGD::FONTINFO &fontinfo)=0
const MIUNICODEGetFontName () const
virtual MGD::FONT::FONTTYPE GetFontType () const =0
virtual int GetGlyphExtents (MGD::CONTEXT *context, const double &dx, const double &dy, const double &baseangle, MIUNICODE ch, DRECT2D &extents, MGD::FONT::MODE mode)=0
virtual int GetGlyphMetrics (MGD::CONTEXT *context, MIUNICODE ch, MGD::GLYPHINFO &glyphinfo, MGD::FONT::MODE mode)=0
virtual ERRVALUE GetGlyphOutline (UINT16 GlyphIndex, REGION2D &region, UINT32 FontFlags)
MIUNICODE GetInitChar () const
MIUNICODE GetLastChar () const
MIUNICODE GetNULLChar () const
MIUNICODE GetNumGlyphs () const
virtual bool IsEmbeddable () const =0
virtual double NextPosition (MGD::CONTEXT *context, double *retx, double *rety, double baseangle, const STRINGDATA &string, int n, double SpaceExtra=0.0, double GlyphExtra=0.0)=0
virtual int UCtoGID (MGD::CONTEXT *context, const MIUNICODE *uc, MGD::STRINGDATA &strdata)=0

Static Public Member Functions

static ERRVALUE ReadTTF (const MIUNICODE *name, SIMPLE_ARRAY< UINT8 > &data)

Protected Attributes

FILEPATH m_filename
MISTRING m_fontname
MIUNICODE m_InitChar
MIUNICODE m_LastChar
MIUNICODE m_NullChar
UINT16 m_NumGlyphs

Detailed Description

Font definition and implementation.


Member Enumeration Documentation

Enumerator:
FONTTYPE_OF 
FONTTYPE_TTF 
Enumerator:
MODE_MIUNICODE 

Using Unicode.

MODE_RAWGID 

Glyph IDs instead of Unicode.

MODE_GID 

Glyph IDs encoded by UCtoGID member function.


Constructor & Destructor Documentation

MGD::FONT::FONT (  ) 
virtual MGD::FONT::~FONT (  )  [virtual]

Member Function Documentation

virtual int MGD::FONT::DrawGlyph ( MGD::CONTEXT context,
double  dx,
double  dy,
double  baseangle,
const STRINGDATA string,
int  n 
) [pure virtual]
virtual int MGD::FONT::DrawGlyph ( MGD::CONTEXT context,
double  dx,
double  dy,
double  baseangle,
const MIUNICODE ucstr,
MGD::FONT::MODE  mode 
) [pure virtual]
virtual int MGD::FONT::GetFontMetrics ( MGD::CONTEXT context,
MGD::FONTINFO fontinfo 
) [pure virtual]
const MIUNICODE* MGD::FONT::GetFontName (  )  const [inline]
virtual MGD::FONT::FONTTYPE MGD::FONT::GetFontType (  )  const [pure virtual]
virtual int MGD::FONT::GetGlyphExtents ( MGD::CONTEXT context,
const double &  dx,
const double &  dy,
const double &  baseangle,
MIUNICODE  ch,
DRECT2D extents,
MGD::FONT::MODE  mode 
) [pure virtual]
virtual int MGD::FONT::GetGlyphMetrics ( MGD::CONTEXT context,
MIUNICODE  ch,
MGD::GLYPHINFO glyphinfo,
MGD::FONT::MODE  mode 
) [pure virtual]
virtual ERRVALUE MGD::FONT::GetGlyphOutline ( UINT16  GlyphIndex,
REGION2D region,
UINT32  FontFlags 
) [virtual]

Get the outline of a glyph.

This only works for TrueType fonts, but the caller won't have access to the TrueType-derived MGD::FONT_TTF. So we make it virtual and let it return an error by default. We could easily implement it for OF fonts too if it was ever needed.

MIUNICODE MGD::FONT::GetInitChar (  )  const [inline]
MIUNICODE MGD::FONT::GetLastChar (  )  const [inline]
MIUNICODE MGD::FONT::GetNULLChar (  )  const [inline]
MIUNICODE MGD::FONT::GetNumGlyphs (  )  const [inline]
virtual bool MGD::FONT::IsEmbeddable (  )  const [pure virtual]
virtual double MGD::FONT::NextPosition ( MGD::CONTEXT context,
double *  retx,
double *  rety,
double  baseangle,
const STRINGDATA string,
int  n,
double  SpaceExtra = 0.0,
double  GlyphExtra = 0.0 
) [pure virtual]
Parameters:
SpaceExtra Extra pixels per space to insert
static ERRVALUE MGD::FONT::ReadTTF ( const MIUNICODE name,
SIMPLE_ARRAY< UINT8 > &  data 
) [static]

Read a TrueType font into memory.

The "name" parameter is expected to be the filename, minus the path or extention.

The FaceNum parameter is for TrueType Collections (ttc). A ttc file contains multiple ttfs Since TrueType fonts are embeded in resource files on the Macintosh (even in OS X), a simple "filename" isn't all that useful. This function handles reading the whole thing.

virtual int MGD::FONT::UCtoGID ( MGD::CONTEXT context,
const MIUNICODE uc,
MGD::STRINGDATA strdata 
) [pure virtual]

Member Data Documentation

Initial character having glyph defined.

Last character having glyph defined.

Character to user for undefined glyphs.

Number of glyphs in font.


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

Generated on Sun Oct 7 21:35:19 2012 for TNTsdk 2012 by  doxygen 1.6.1