4 * Copyright 2003, 2004, 2005 Develer S.r.l. (http://www.develer.com/)
5 * This file is part of DevLib - See README.devlib for information.
10 * \author Stefano Fedrigo <aleph@develer.com>
12 * \brief Font 8x6 IBM-PC 8bit
17 *#* Revision 1.7 2006/07/19 12:56:26 bernie
18 *#* Convert to new Doxygen style.
20 *#* Revision 1.6 2006/05/27 22:31:34 bernie
21 *#* Switch to a smaller default fount.
23 *#* Revision 1.5 2006/03/13 02:06:04 bernie
24 *#* FONT_HAS_GLYPH(): New macro.
26 *#* Revision 1.4 2006/02/15 09:10:15 bernie
27 *#* Implement prop fonts; Fix algo styles.
29 *#* Revision 1.3 2006/02/10 12:29:05 bernie
30 *#* Add multiple font support in bitmaps.
32 *#* Revision 1.2 2005/11/04 18:17:45 bernie
33 *#* Fix header guards and includes for new location of gfx module.
35 *#* Revision 1.1 2005/11/04 18:11:35 bernie
36 *#* Move graphics stuff from mware/ to gfx/.
38 *#* Revision 1.6 2005/04/11 19:10:28 bernie
39 *#* Include top-level headers from cfg/ subdir.
41 *#* Revision 1.5 2005/03/01 23:26:45 bernie
42 *#* Use new CPU-neutral program-memory API.
44 *#* Revision 1.4 2004/12/31 16:42:55 bernie
45 *#* Sanitize for non-Harvard processors.
47 *#* Revision 1.3 2004/08/25 14:12:09 rasky
48 *#* Aggiornato il comment block dei log RCS
50 *#* Revision 1.2 2004/06/03 11:27:09 bernie
51 *#* Add dual-license information.
53 *#* Revision 1.1 2004/05/23 15:43:16 bernie
54 *#* Import mware modules.
56 *#* Revision 1.2 2004/03/24 15:48:53 bernie
57 *#* Remove Copyright messages from Doxygen output
59 *#* Revision 1.1 2004/01/13 12:15:28 aleph
60 *#* Move font table in program memory; add font.h
66 #include <cfg/compiler.h> /* uint8_t */
67 #include <mware/pgm.h> /* PROGMEM */
72 * Pointer to glyph data.
74 * Data is an array of at most 256 glyphs packed together.
75 * Raster format must be the same of the bitmap.
77 const PROGMEM uint8_t *glyph;
79 uint8_t width; /**< Pixel width of character cell. */
80 uint8_t height; /**< Pixel height of character cell. */
82 uint8_t first; /**< First encoded character in glyph array. */
83 uint8_t last; /**< Last encoded character in glyph array (inclusive). */
85 /** Array of glyph offsets in bytes. NULL for fixed-width fonts. */
86 const PROGMEM uint16_t *offset;
87 const PROGMEM uint8_t *widths;
92 /** Return true if glyph \a c is available in \a font. */
93 #define FONT_HAS_GLYPH(font, c) ((c) >= (font)->first && (c) <= (font)->last)
96 /** The default font. */
97 #define default_font font_luBS14
98 extern const struct Font default_font;
100 #endif /* GFX_FONT_H */