2 * allFonts.h font header for GLCD library
3 * The fonts listed below will be available in a sketch if this file is included
5 * If you create your own fonts you can add the header to this file
7 * Note that the build environment only holds a font in Flash if its selected
8 * so there is no penalty to including a font file here if its not used
12 * @brief Font definitions.
18 #include <avr/pgmspace.h>
19 /** declare a font for AVR. */
20 #define GLCDFONTDECL(_n) static const uint8_t __attribute__ ((progmem))_n[]
21 #define readFontByte(addr) pgm_read_byte(addr)
23 /** declare a font. */
24 #define GLCDFONTDECL(_n) static const uint8_t _n[]
25 /** Fake read from flash. */
26 #define readFontByte(addr) (*(const unsigned char *)(addr))
28 //------------------------------------------------------------------------------
30 /** No longer used Big Endian length field. Now indicates font type.
32 * 00 00 (fixed width font with 1 padding pixel on right and below)
34 * 00 01 (fixed width font with no padding pixels)
37 /** Maximum character width. */
39 /** Font hight in pixels */
41 /** Ascii value of first character */
42 #define FONT_FIRST_CHAR 4
43 /** count of characters in font. */
44 #define FONT_CHAR_COUNT 5
45 /** Offset to width table. */
46 #define FONT_WIDTH_TABLE 6
48 // FONT_LENGTH is a 16 bit Big Endian length field.
49 // Unfortunately, FontCreator2 screwed up the value it put in the field
50 // so it is pretty much meaningless. However it still is used to indicate
51 // some special things.
52 // 00 00 (fixed width font with 1 padding pixel on right and below)
53 // 00 01 (fixed width font with no padding pixels)
54 // FONT_WIDTH it the max character width.
55 // any other value means variable width font in FontCreator2 (thiele)
56 // format with pixel padding
58 #include "Adafruit5x7.h" // Font from Adafruit GFX library
62 #include "X11fixed7x14.h"
63 #include "X11fixed7x14B.h"
64 #include "ZevvPeep8x16.h"
66 #include "System5x7.h" // system font (fixed width)
67 #include "SystemFont5x7.h" // backward compability System5x7 header
68 #include "Iain5x7.h" // similar to system5x7 but proportional
69 #include "Arial14.h" // proportional font
70 #include "Arial_bold_14.h" // Bold proportional font
71 #include "Corsiva_12.h"
72 #include "Verdana_digits_24.h" // large proportional font contains [0-9] and :
74 #include "Callibri10.h"
75 #include "Callibri11.h"
76 #include "Callibri11_bold.h"
77 #include "Callibri11_italic.h"
78 #include "Callibri14.h"
79 #include "Callibri15.h"
83 #include "TimesNewRoman13.h"
84 #include "TimesNewRoman13_italic.h"
85 #include "TimesNewRoman16.h"
86 #include "TimesNewRoman16_bold.h"
87 #include "TimesNewRoman16_italic.h"
88 #include "Verdana12.h"
89 #include "Verdana12_bold.h"
90 #include "Verdana12_italic.h"
91 #include "Roosewood22.h"
92 #include "Roosewood26.h"
94 #include "fixednums7x15.h" // fixed width font - + , - . / [0-9] and :
95 #include "fixednums8x16.h" // fixed width font - + , - . / [0-9] and :
96 #include "fixednums15x31.h" // fixed width font - + , - . / [0-9] and :
99 #include "CalLite24.h"
100 #include "lcdnums12x16.h" // font that looks like LCD digits
101 #include "lcdnums14x24.h" // font that looks like LCD digits
102 #include "fixed_bold10x15.h"
103 #include "Wendy3x5.h"
104 #include "newbasic3x5.h"
107 * These fonts require no-pad rendering code
109 #include "font8x8.h" // fixed wider font but similar to system5x7 font
110 #include "cp437font8x8.h" // fixed Font from 80's IBM PC
113 * These fonts require UTF8 encoding support
116 #include "utf8font10x16.h" // UTF8 font up to U+00FF
117 // http://www.fileformat.info/info/charset/UTF-8/list.htm