X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=gfx%2Ffont.h;h=d3b241e2913b57af918b9d2366dcc65b00aab332;hb=39108834d9c102712d6c11830ca9b9fb5b098d19;hp=1f5d2780aeaf2b22b127cd0ec7286fc7e533b2de;hpb=68d5a6796ff0efc9666ae359be2150d9638182f6;p=bertos.git diff --git a/gfx/font.h b/gfx/font.h index 1f5d2780..d3b241e2 100755 --- a/gfx/font.h +++ b/gfx/font.h @@ -14,6 +14,12 @@ /*#* *#* $Log$ + *#* Revision 1.4 2006/02/15 09:10:15 bernie + *#* Implement prop fonts; Fix algo styles. + *#* + *#* Revision 1.3 2006/02/10 12:29:05 bernie + *#* Add multiple font support in bitmaps. + *#* *#* Revision 1.2 2005/11/04 18:17:45 bernie *#* Fix header guards and includes for new location of gfx module. *#* @@ -51,15 +57,30 @@ #include /* uint8_t */ #include /* PROGMEM */ -/*! - * \name Font size (in pixel) - * \{ - */ -#define FONT_WIDTH 6 -#define FONT_HEIGHT 8 -/* \} */ +typedef struct Font +{ + /** + * Pointer to glyph data. + * + * Data is an array of at most 256 glyphs packed together. + * Raster format must be the same of the bitmap. + */ + const PROGMEM uint8_t *glyph; + + uint8_t width; /**< Pixel width of character cell. */ + uint8_t height; /**< Pixel height of character cell. */ + + uint8_t first; /**< First encoded character in glyph array. */ + uint8_t last; /**< Last encoded character in glyph array (inclusive). */ + + /** Array of glyph offsets in bytes. NULL for fixed-width fonts. */ + const PROGMEM uint16_t *offset; + const PROGMEM uint8_t *widths; + +} Font; -/*! Font table. */ -extern const PROGMEM uint8_t font[256 * FONT_WIDTH]; +/** The default font. */ +#define default_font font_ncenB18 +extern const struct Font default_font; #endif /* GFX_FONT_H */