#ifndef FONT_H #define FONT_H #include class Font { public: class Point { public: int32_t x, y; }; class Glyph { public: Glyph() : pData( 0 ) { } ~Glyph() { delete[] pData; } Point pBox; Point pOff; Point pDevOff; int iRowBytes; uint8_t *pData; }; public: Font( const char *sSrcFile ); virtual ~Font(); Glyph *get( char c ) { return pTable[(int32_t)c]; } private: Point pDefBox; Point pDefOff; int32_t iTableTop; Glyph **pTable; private: // Parser class Parser { public: Parser( const char *sSrcFile, Font &rFont ); ~Parser(); void parse(); void getLine(); void header(); void properties(); void characters(); void character(); private: Font &rFont; void *rawfh; char *sLine; bool bDone; }; }; #endif