MBED Import of ADAFRUIT graphics library, BSD License

Dependents:   GP9002adafruit GP9002af_gray

Notes on this library

This was imported into MBED specifically to support the GP9002 VFD, as a result it has some "hacks" to optimize it for the GP9002.

Due to the GP9002 internal organization it draws vertical lines much faster than horizontal (assuming you orient it "landscape"). This is likely to be true of other displays that have bits in a byte arranged vertically, which seems a common theme in small GLCDs. Some types may have a more CGA-like memory organization and will draw faster horizontally.

On a vertical-organised display the graphics functions are often substantially faster if X and Y are exchanged, especially with the dot-write optimization. This is because vertical lines can be written byte-at-a-time with no need for read-modify-write, and even when individual bits are written a significant number will "land" in the byte previously written. In contrast a horizontal line would require changing one bit of each byte in turn, requiring a sequence of set-address,read,write operations for each dot in turn.

I've hacked this in the library. I forget exactly how but I believe I simply exchanged X with W in the code for drawing filled shapes.

I would like to come up with a more generic way to do this, such as having internal coordinates that are not defined as X and Y, then leaving it up to the display library to "wrap" them in the way that is best for that display.

I would like to apologize for abandoning this project, but the test harness still exists and I might return to it, though I'm more interested in TFT systems like the STM discovery now.

Committer:
oliverb
Date:
Sat May 07 12:50:37 2016 +0000
Revision:
0:3bf8ef959338
Converting to Library, this is a base class that needs extending for a specific device. Note that as it stands it favors devices with vertical bit-organisation

Who changed what in which revision?

UserRevisionLine numberNew contents of line
oliverb 0:3bf8ef959338 1 // This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
oliverb 0:3bf8ef959338 2 // See gfxfont.h for newer custom bitmap font info.
oliverb 0:3bf8ef959338 3
oliverb 0:3bf8ef959338 4 #ifndef FONT5X7_H
oliverb 0:3bf8ef959338 5 #define FONT5X7_H
oliverb 0:3bf8ef959338 6
oliverb 0:3bf8ef959338 7 #ifdef __AVR__
oliverb 0:3bf8ef959338 8 #include <avr/io.h>
oliverb 0:3bf8ef959338 9 #include <avr/pgmspace.h>
oliverb 0:3bf8ef959338 10 #elif defined(ESP8266)
oliverb 0:3bf8ef959338 11 #include <pgmspace.h>
oliverb 0:3bf8ef959338 12 #else
oliverb 0:3bf8ef959338 13 #define PROGMEM
oliverb 0:3bf8ef959338 14 #endif
oliverb 0:3bf8ef959338 15
oliverb 0:3bf8ef959338 16 // Standard ASCII 5x7 font
oliverb 0:3bf8ef959338 17
oliverb 0:3bf8ef959338 18 static const unsigned char font[] PROGMEM = {
oliverb 0:3bf8ef959338 19 0x00, 0x00, 0x00, 0x00, 0x00,
oliverb 0:3bf8ef959338 20 0x3E, 0x5B, 0x4F, 0x5B, 0x3E,
oliverb 0:3bf8ef959338 21 0x3E, 0x6B, 0x4F, 0x6B, 0x3E,
oliverb 0:3bf8ef959338 22 0x1C, 0x3E, 0x7C, 0x3E, 0x1C,
oliverb 0:3bf8ef959338 23 0x18, 0x3C, 0x7E, 0x3C, 0x18,
oliverb 0:3bf8ef959338 24 0x1C, 0x57, 0x7D, 0x57, 0x1C,
oliverb 0:3bf8ef959338 25 0x1C, 0x5E, 0x7F, 0x5E, 0x1C,
oliverb 0:3bf8ef959338 26 0x00, 0x18, 0x3C, 0x18, 0x00,
oliverb 0:3bf8ef959338 27 0xFF, 0xE7, 0xC3, 0xE7, 0xFF,
oliverb 0:3bf8ef959338 28 0x00, 0x18, 0x24, 0x18, 0x00,
oliverb 0:3bf8ef959338 29 0xFF, 0xE7, 0xDB, 0xE7, 0xFF,
oliverb 0:3bf8ef959338 30 0x30, 0x48, 0x3A, 0x06, 0x0E,
oliverb 0:3bf8ef959338 31 0x26, 0x29, 0x79, 0x29, 0x26,
oliverb 0:3bf8ef959338 32 0x40, 0x7F, 0x05, 0x05, 0x07,
oliverb 0:3bf8ef959338 33 0x40, 0x7F, 0x05, 0x25, 0x3F,
oliverb 0:3bf8ef959338 34 0x5A, 0x3C, 0xE7, 0x3C, 0x5A,
oliverb 0:3bf8ef959338 35 0x7F, 0x3E, 0x1C, 0x1C, 0x08,
oliverb 0:3bf8ef959338 36 0x08, 0x1C, 0x1C, 0x3E, 0x7F,
oliverb 0:3bf8ef959338 37 0x14, 0x22, 0x7F, 0x22, 0x14,
oliverb 0:3bf8ef959338 38 0x5F, 0x5F, 0x00, 0x5F, 0x5F,
oliverb 0:3bf8ef959338 39 0x06, 0x09, 0x7F, 0x01, 0x7F,
oliverb 0:3bf8ef959338 40 0x00, 0x66, 0x89, 0x95, 0x6A,
oliverb 0:3bf8ef959338 41 0x60, 0x60, 0x60, 0x60, 0x60,
oliverb 0:3bf8ef959338 42 0x94, 0xA2, 0xFF, 0xA2, 0x94,
oliverb 0:3bf8ef959338 43 0x08, 0x04, 0x7E, 0x04, 0x08,
oliverb 0:3bf8ef959338 44 0x10, 0x20, 0x7E, 0x20, 0x10,
oliverb 0:3bf8ef959338 45 0x08, 0x08, 0x2A, 0x1C, 0x08,
oliverb 0:3bf8ef959338 46 0x08, 0x1C, 0x2A, 0x08, 0x08,
oliverb 0:3bf8ef959338 47 0x1E, 0x10, 0x10, 0x10, 0x10,
oliverb 0:3bf8ef959338 48 0x0C, 0x1E, 0x0C, 0x1E, 0x0C,
oliverb 0:3bf8ef959338 49 0x30, 0x38, 0x3E, 0x38, 0x30,
oliverb 0:3bf8ef959338 50 0x06, 0x0E, 0x3E, 0x0E, 0x06,
oliverb 0:3bf8ef959338 51 0x00, 0x00, 0x00, 0x00, 0x00,
oliverb 0:3bf8ef959338 52 0x00, 0x00, 0x5F, 0x00, 0x00,
oliverb 0:3bf8ef959338 53 0x00, 0x07, 0x00, 0x07, 0x00,
oliverb 0:3bf8ef959338 54 0x14, 0x7F, 0x14, 0x7F, 0x14,
oliverb 0:3bf8ef959338 55 0x24, 0x2A, 0x7F, 0x2A, 0x12,
oliverb 0:3bf8ef959338 56 0x23, 0x13, 0x08, 0x64, 0x62,
oliverb 0:3bf8ef959338 57 0x36, 0x49, 0x56, 0x20, 0x50,
oliverb 0:3bf8ef959338 58 0x00, 0x08, 0x07, 0x03, 0x00,
oliverb 0:3bf8ef959338 59 0x00, 0x1C, 0x22, 0x41, 0x00,
oliverb 0:3bf8ef959338 60 0x00, 0x41, 0x22, 0x1C, 0x00,
oliverb 0:3bf8ef959338 61 0x2A, 0x1C, 0x7F, 0x1C, 0x2A,
oliverb 0:3bf8ef959338 62 0x08, 0x08, 0x3E, 0x08, 0x08,
oliverb 0:3bf8ef959338 63 0x00, 0x80, 0x70, 0x30, 0x00,
oliverb 0:3bf8ef959338 64 0x08, 0x08, 0x08, 0x08, 0x08,
oliverb 0:3bf8ef959338 65 0x00, 0x00, 0x60, 0x60, 0x00,
oliverb 0:3bf8ef959338 66 0x20, 0x10, 0x08, 0x04, 0x02,
oliverb 0:3bf8ef959338 67 0x3E, 0x51, 0x49, 0x45, 0x3E,
oliverb 0:3bf8ef959338 68 0x00, 0x42, 0x7F, 0x40, 0x00,
oliverb 0:3bf8ef959338 69 0x72, 0x49, 0x49, 0x49, 0x46,
oliverb 0:3bf8ef959338 70 0x21, 0x41, 0x49, 0x4D, 0x33,
oliverb 0:3bf8ef959338 71 0x18, 0x14, 0x12, 0x7F, 0x10,
oliverb 0:3bf8ef959338 72 0x27, 0x45, 0x45, 0x45, 0x39,
oliverb 0:3bf8ef959338 73 0x3C, 0x4A, 0x49, 0x49, 0x31,
oliverb 0:3bf8ef959338 74 0x41, 0x21, 0x11, 0x09, 0x07,
oliverb 0:3bf8ef959338 75 0x36, 0x49, 0x49, 0x49, 0x36,
oliverb 0:3bf8ef959338 76 0x46, 0x49, 0x49, 0x29, 0x1E,
oliverb 0:3bf8ef959338 77 0x00, 0x00, 0x14, 0x00, 0x00,
oliverb 0:3bf8ef959338 78 0x00, 0x40, 0x34, 0x00, 0x00,
oliverb 0:3bf8ef959338 79 0x00, 0x08, 0x14, 0x22, 0x41,
oliverb 0:3bf8ef959338 80 0x14, 0x14, 0x14, 0x14, 0x14,
oliverb 0:3bf8ef959338 81 0x00, 0x41, 0x22, 0x14, 0x08,
oliverb 0:3bf8ef959338 82 0x02, 0x01, 0x59, 0x09, 0x06,
oliverb 0:3bf8ef959338 83 0x3E, 0x41, 0x5D, 0x59, 0x4E,
oliverb 0:3bf8ef959338 84 0x7C, 0x12, 0x11, 0x12, 0x7C,
oliverb 0:3bf8ef959338 85 0x7F, 0x49, 0x49, 0x49, 0x36,
oliverb 0:3bf8ef959338 86 0x3E, 0x41, 0x41, 0x41, 0x22,
oliverb 0:3bf8ef959338 87 0x7F, 0x41, 0x41, 0x41, 0x3E,
oliverb 0:3bf8ef959338 88 0x7F, 0x49, 0x49, 0x49, 0x41,
oliverb 0:3bf8ef959338 89 0x7F, 0x09, 0x09, 0x09, 0x01,
oliverb 0:3bf8ef959338 90 0x3E, 0x41, 0x41, 0x51, 0x73,
oliverb 0:3bf8ef959338 91 0x7F, 0x08, 0x08, 0x08, 0x7F,
oliverb 0:3bf8ef959338 92 0x00, 0x41, 0x7F, 0x41, 0x00,
oliverb 0:3bf8ef959338 93 0x20, 0x40, 0x41, 0x3F, 0x01,
oliverb 0:3bf8ef959338 94 0x7F, 0x08, 0x14, 0x22, 0x41,
oliverb 0:3bf8ef959338 95 0x7F, 0x40, 0x40, 0x40, 0x40,
oliverb 0:3bf8ef959338 96 0x7F, 0x02, 0x1C, 0x02, 0x7F,
oliverb 0:3bf8ef959338 97 0x7F, 0x04, 0x08, 0x10, 0x7F,
oliverb 0:3bf8ef959338 98 0x3E, 0x41, 0x41, 0x41, 0x3E,
oliverb 0:3bf8ef959338 99 0x7F, 0x09, 0x09, 0x09, 0x06,
oliverb 0:3bf8ef959338 100 0x3E, 0x41, 0x51, 0x21, 0x5E,
oliverb 0:3bf8ef959338 101 0x7F, 0x09, 0x19, 0x29, 0x46,
oliverb 0:3bf8ef959338 102 0x26, 0x49, 0x49, 0x49, 0x32,
oliverb 0:3bf8ef959338 103 0x03, 0x01, 0x7F, 0x01, 0x03,
oliverb 0:3bf8ef959338 104 0x3F, 0x40, 0x40, 0x40, 0x3F,
oliverb 0:3bf8ef959338 105 0x1F, 0x20, 0x40, 0x20, 0x1F,
oliverb 0:3bf8ef959338 106 0x3F, 0x40, 0x38, 0x40, 0x3F,
oliverb 0:3bf8ef959338 107 0x63, 0x14, 0x08, 0x14, 0x63,
oliverb 0:3bf8ef959338 108 0x03, 0x04, 0x78, 0x04, 0x03,
oliverb 0:3bf8ef959338 109 0x61, 0x59, 0x49, 0x4D, 0x43,
oliverb 0:3bf8ef959338 110 0x00, 0x7F, 0x41, 0x41, 0x41,
oliverb 0:3bf8ef959338 111 0x02, 0x04, 0x08, 0x10, 0x20,
oliverb 0:3bf8ef959338 112 0x00, 0x41, 0x41, 0x41, 0x7F,
oliverb 0:3bf8ef959338 113 0x04, 0x02, 0x01, 0x02, 0x04,
oliverb 0:3bf8ef959338 114 0x40, 0x40, 0x40, 0x40, 0x40,
oliverb 0:3bf8ef959338 115 0x00, 0x03, 0x07, 0x08, 0x00,
oliverb 0:3bf8ef959338 116 0x20, 0x54, 0x54, 0x78, 0x40,
oliverb 0:3bf8ef959338 117 0x7F, 0x28, 0x44, 0x44, 0x38,
oliverb 0:3bf8ef959338 118 0x38, 0x44, 0x44, 0x44, 0x28,
oliverb 0:3bf8ef959338 119 0x38, 0x44, 0x44, 0x28, 0x7F,
oliverb 0:3bf8ef959338 120 0x38, 0x54, 0x54, 0x54, 0x18,
oliverb 0:3bf8ef959338 121 0x00, 0x08, 0x7E, 0x09, 0x02,
oliverb 0:3bf8ef959338 122 0x18, 0xA4, 0xA4, 0x9C, 0x78,
oliverb 0:3bf8ef959338 123 0x7F, 0x08, 0x04, 0x04, 0x78,
oliverb 0:3bf8ef959338 124 0x00, 0x44, 0x7D, 0x40, 0x00,
oliverb 0:3bf8ef959338 125 0x20, 0x40, 0x40, 0x3D, 0x00,
oliverb 0:3bf8ef959338 126 0x7F, 0x10, 0x28, 0x44, 0x00,
oliverb 0:3bf8ef959338 127 0x00, 0x41, 0x7F, 0x40, 0x00,
oliverb 0:3bf8ef959338 128 0x7C, 0x04, 0x78, 0x04, 0x78,
oliverb 0:3bf8ef959338 129 0x7C, 0x08, 0x04, 0x04, 0x78,
oliverb 0:3bf8ef959338 130 0x38, 0x44, 0x44, 0x44, 0x38,
oliverb 0:3bf8ef959338 131 0xFC, 0x18, 0x24, 0x24, 0x18,
oliverb 0:3bf8ef959338 132 0x18, 0x24, 0x24, 0x18, 0xFC,
oliverb 0:3bf8ef959338 133 0x7C, 0x08, 0x04, 0x04, 0x08,
oliverb 0:3bf8ef959338 134 0x48, 0x54, 0x54, 0x54, 0x24,
oliverb 0:3bf8ef959338 135 0x04, 0x04, 0x3F, 0x44, 0x24,
oliverb 0:3bf8ef959338 136 0x3C, 0x40, 0x40, 0x20, 0x7C,
oliverb 0:3bf8ef959338 137 0x1C, 0x20, 0x40, 0x20, 0x1C,
oliverb 0:3bf8ef959338 138 0x3C, 0x40, 0x30, 0x40, 0x3C,
oliverb 0:3bf8ef959338 139 0x44, 0x28, 0x10, 0x28, 0x44,
oliverb 0:3bf8ef959338 140 0x4C, 0x90, 0x90, 0x90, 0x7C,
oliverb 0:3bf8ef959338 141 0x44, 0x64, 0x54, 0x4C, 0x44,
oliverb 0:3bf8ef959338 142 0x00, 0x08, 0x36, 0x41, 0x00,
oliverb 0:3bf8ef959338 143 0x00, 0x00, 0x77, 0x00, 0x00,
oliverb 0:3bf8ef959338 144 0x00, 0x41, 0x36, 0x08, 0x00,
oliverb 0:3bf8ef959338 145 0x02, 0x01, 0x02, 0x04, 0x02,
oliverb 0:3bf8ef959338 146 0x3C, 0x26, 0x23, 0x26, 0x3C,
oliverb 0:3bf8ef959338 147 0x1E, 0xA1, 0xA1, 0x61, 0x12,
oliverb 0:3bf8ef959338 148 0x3A, 0x40, 0x40, 0x20, 0x7A,
oliverb 0:3bf8ef959338 149 0x38, 0x54, 0x54, 0x55, 0x59,
oliverb 0:3bf8ef959338 150 0x21, 0x55, 0x55, 0x79, 0x41,
oliverb 0:3bf8ef959338 151 0x22, 0x54, 0x54, 0x78, 0x42, // a-umlaut
oliverb 0:3bf8ef959338 152 0x21, 0x55, 0x54, 0x78, 0x40,
oliverb 0:3bf8ef959338 153 0x20, 0x54, 0x55, 0x79, 0x40,
oliverb 0:3bf8ef959338 154 0x0C, 0x1E, 0x52, 0x72, 0x12,
oliverb 0:3bf8ef959338 155 0x39, 0x55, 0x55, 0x55, 0x59,
oliverb 0:3bf8ef959338 156 0x39, 0x54, 0x54, 0x54, 0x59,
oliverb 0:3bf8ef959338 157 0x39, 0x55, 0x54, 0x54, 0x58,
oliverb 0:3bf8ef959338 158 0x00, 0x00, 0x45, 0x7C, 0x41,
oliverb 0:3bf8ef959338 159 0x00, 0x02, 0x45, 0x7D, 0x42,
oliverb 0:3bf8ef959338 160 0x00, 0x01, 0x45, 0x7C, 0x40,
oliverb 0:3bf8ef959338 161 0x7D, 0x12, 0x11, 0x12, 0x7D, // A-umlaut
oliverb 0:3bf8ef959338 162 0xF0, 0x28, 0x25, 0x28, 0xF0,
oliverb 0:3bf8ef959338 163 0x7C, 0x54, 0x55, 0x45, 0x00,
oliverb 0:3bf8ef959338 164 0x20, 0x54, 0x54, 0x7C, 0x54,
oliverb 0:3bf8ef959338 165 0x7C, 0x0A, 0x09, 0x7F, 0x49,
oliverb 0:3bf8ef959338 166 0x32, 0x49, 0x49, 0x49, 0x32,
oliverb 0:3bf8ef959338 167 0x3A, 0x44, 0x44, 0x44, 0x3A, // o-umlaut
oliverb 0:3bf8ef959338 168 0x32, 0x4A, 0x48, 0x48, 0x30,
oliverb 0:3bf8ef959338 169 0x3A, 0x41, 0x41, 0x21, 0x7A,
oliverb 0:3bf8ef959338 170 0x3A, 0x42, 0x40, 0x20, 0x78,
oliverb 0:3bf8ef959338 171 0x00, 0x9D, 0xA0, 0xA0, 0x7D,
oliverb 0:3bf8ef959338 172 0x3D, 0x42, 0x42, 0x42, 0x3D, // O-umlaut
oliverb 0:3bf8ef959338 173 0x3D, 0x40, 0x40, 0x40, 0x3D,
oliverb 0:3bf8ef959338 174 0x3C, 0x24, 0xFF, 0x24, 0x24,
oliverb 0:3bf8ef959338 175 0x48, 0x7E, 0x49, 0x43, 0x66,
oliverb 0:3bf8ef959338 176 0x2B, 0x2F, 0xFC, 0x2F, 0x2B,
oliverb 0:3bf8ef959338 177 0xFF, 0x09, 0x29, 0xF6, 0x20,
oliverb 0:3bf8ef959338 178 0xC0, 0x88, 0x7E, 0x09, 0x03,
oliverb 0:3bf8ef959338 179 0x20, 0x54, 0x54, 0x79, 0x41,
oliverb 0:3bf8ef959338 180 0x00, 0x00, 0x44, 0x7D, 0x41,
oliverb 0:3bf8ef959338 181 0x30, 0x48, 0x48, 0x4A, 0x32,
oliverb 0:3bf8ef959338 182 0x38, 0x40, 0x40, 0x22, 0x7A,
oliverb 0:3bf8ef959338 183 0x00, 0x7A, 0x0A, 0x0A, 0x72,
oliverb 0:3bf8ef959338 184 0x7D, 0x0D, 0x19, 0x31, 0x7D,
oliverb 0:3bf8ef959338 185 0x26, 0x29, 0x29, 0x2F, 0x28,
oliverb 0:3bf8ef959338 186 0x26, 0x29, 0x29, 0x29, 0x26,
oliverb 0:3bf8ef959338 187 0x30, 0x48, 0x4D, 0x40, 0x20,
oliverb 0:3bf8ef959338 188 0x38, 0x08, 0x08, 0x08, 0x08,
oliverb 0:3bf8ef959338 189 0x08, 0x08, 0x08, 0x08, 0x38,
oliverb 0:3bf8ef959338 190 0x2F, 0x10, 0xC8, 0xAC, 0xBA,
oliverb 0:3bf8ef959338 191 0x2F, 0x10, 0x28, 0x34, 0xFA,
oliverb 0:3bf8ef959338 192 0x00, 0x00, 0x7B, 0x00, 0x00,
oliverb 0:3bf8ef959338 193 0x08, 0x14, 0x2A, 0x14, 0x22,
oliverb 0:3bf8ef959338 194 0x22, 0x14, 0x2A, 0x14, 0x08,
oliverb 0:3bf8ef959338 195 0x55, 0x00, 0x55, 0x00, 0x55, // #176 (25% block) missing in old code
oliverb 0:3bf8ef959338 196 0xAA, 0x55, 0xAA, 0x55, 0xAA, // 50% block
oliverb 0:3bf8ef959338 197 0xFF, 0x55, 0xFF, 0x55, 0xFF, // 75% block
oliverb 0:3bf8ef959338 198 0x00, 0x00, 0x00, 0xFF, 0x00,
oliverb 0:3bf8ef959338 199 0x10, 0x10, 0x10, 0xFF, 0x00,
oliverb 0:3bf8ef959338 200 0x14, 0x14, 0x14, 0xFF, 0x00,
oliverb 0:3bf8ef959338 201 0x10, 0x10, 0xFF, 0x00, 0xFF,
oliverb 0:3bf8ef959338 202 0x10, 0x10, 0xF0, 0x10, 0xF0,
oliverb 0:3bf8ef959338 203 0x14, 0x14, 0x14, 0xFC, 0x00,
oliverb 0:3bf8ef959338 204 0x14, 0x14, 0xF7, 0x00, 0xFF,
oliverb 0:3bf8ef959338 205 0x00, 0x00, 0xFF, 0x00, 0xFF,
oliverb 0:3bf8ef959338 206 0x14, 0x14, 0xF4, 0x04, 0xFC,
oliverb 0:3bf8ef959338 207 0x14, 0x14, 0x17, 0x10, 0x1F,
oliverb 0:3bf8ef959338 208 0x10, 0x10, 0x1F, 0x10, 0x1F,
oliverb 0:3bf8ef959338 209 0x14, 0x14, 0x14, 0x1F, 0x00,
oliverb 0:3bf8ef959338 210 0x10, 0x10, 0x10, 0xF0, 0x00,
oliverb 0:3bf8ef959338 211 0x00, 0x00, 0x00, 0x1F, 0x10,
oliverb 0:3bf8ef959338 212 0x10, 0x10, 0x10, 0x1F, 0x10,
oliverb 0:3bf8ef959338 213 0x10, 0x10, 0x10, 0xF0, 0x10,
oliverb 0:3bf8ef959338 214 0x00, 0x00, 0x00, 0xFF, 0x10,
oliverb 0:3bf8ef959338 215 0x10, 0x10, 0x10, 0x10, 0x10,
oliverb 0:3bf8ef959338 216 0x10, 0x10, 0x10, 0xFF, 0x10,
oliverb 0:3bf8ef959338 217 0x00, 0x00, 0x00, 0xFF, 0x14,
oliverb 0:3bf8ef959338 218 0x00, 0x00, 0xFF, 0x00, 0xFF,
oliverb 0:3bf8ef959338 219 0x00, 0x00, 0x1F, 0x10, 0x17,
oliverb 0:3bf8ef959338 220 0x00, 0x00, 0xFC, 0x04, 0xF4,
oliverb 0:3bf8ef959338 221 0x14, 0x14, 0x17, 0x10, 0x17,
oliverb 0:3bf8ef959338 222 0x14, 0x14, 0xF4, 0x04, 0xF4,
oliverb 0:3bf8ef959338 223 0x00, 0x00, 0xFF, 0x00, 0xF7,
oliverb 0:3bf8ef959338 224 0x14, 0x14, 0x14, 0x14, 0x14,
oliverb 0:3bf8ef959338 225 0x14, 0x14, 0xF7, 0x00, 0xF7,
oliverb 0:3bf8ef959338 226 0x14, 0x14, 0x14, 0x17, 0x14,
oliverb 0:3bf8ef959338 227 0x10, 0x10, 0x1F, 0x10, 0x1F,
oliverb 0:3bf8ef959338 228 0x14, 0x14, 0x14, 0xF4, 0x14,
oliverb 0:3bf8ef959338 229 0x10, 0x10, 0xF0, 0x10, 0xF0,
oliverb 0:3bf8ef959338 230 0x00, 0x00, 0x1F, 0x10, 0x1F,
oliverb 0:3bf8ef959338 231 0x00, 0x00, 0x00, 0x1F, 0x14,
oliverb 0:3bf8ef959338 232 0x00, 0x00, 0x00, 0xFC, 0x14,
oliverb 0:3bf8ef959338 233 0x00, 0x00, 0xF0, 0x10, 0xF0,
oliverb 0:3bf8ef959338 234 0x10, 0x10, 0xFF, 0x10, 0xFF,
oliverb 0:3bf8ef959338 235 0x14, 0x14, 0x14, 0xFF, 0x14,
oliverb 0:3bf8ef959338 236 0x10, 0x10, 0x10, 0x1F, 0x00,
oliverb 0:3bf8ef959338 237 0x00, 0x00, 0x00, 0xF0, 0x10,
oliverb 0:3bf8ef959338 238 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
oliverb 0:3bf8ef959338 239 0xF0, 0xF0, 0xF0, 0xF0, 0xF0,
oliverb 0:3bf8ef959338 240 0xFF, 0xFF, 0xFF, 0x00, 0x00,
oliverb 0:3bf8ef959338 241 0x00, 0x00, 0x00, 0xFF, 0xFF,
oliverb 0:3bf8ef959338 242 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
oliverb 0:3bf8ef959338 243 0x38, 0x44, 0x44, 0x38, 0x44,
oliverb 0:3bf8ef959338 244 0xFC, 0x4A, 0x4A, 0x4A, 0x34, // sharp-s or beta
oliverb 0:3bf8ef959338 245 0x7E, 0x02, 0x02, 0x06, 0x06,
oliverb 0:3bf8ef959338 246 0x02, 0x7E, 0x02, 0x7E, 0x02,
oliverb 0:3bf8ef959338 247 0x63, 0x55, 0x49, 0x41, 0x63,
oliverb 0:3bf8ef959338 248 0x38, 0x44, 0x44, 0x3C, 0x04,
oliverb 0:3bf8ef959338 249 0x40, 0x7E, 0x20, 0x1E, 0x20,
oliverb 0:3bf8ef959338 250 0x06, 0x02, 0x7E, 0x02, 0x02,
oliverb 0:3bf8ef959338 251 0x99, 0xA5, 0xE7, 0xA5, 0x99,
oliverb 0:3bf8ef959338 252 0x1C, 0x2A, 0x49, 0x2A, 0x1C,
oliverb 0:3bf8ef959338 253 0x4C, 0x72, 0x01, 0x72, 0x4C,
oliverb 0:3bf8ef959338 254 0x30, 0x4A, 0x4D, 0x4D, 0x30,
oliverb 0:3bf8ef959338 255 0x30, 0x48, 0x78, 0x48, 0x30,
oliverb 0:3bf8ef959338 256 0xBC, 0x62, 0x5A, 0x46, 0x3D,
oliverb 0:3bf8ef959338 257 0x3E, 0x49, 0x49, 0x49, 0x00,
oliverb 0:3bf8ef959338 258 0x7E, 0x01, 0x01, 0x01, 0x7E,
oliverb 0:3bf8ef959338 259 0x2A, 0x2A, 0x2A, 0x2A, 0x2A,
oliverb 0:3bf8ef959338 260 0x44, 0x44, 0x5F, 0x44, 0x44,
oliverb 0:3bf8ef959338 261 0x40, 0x51, 0x4A, 0x44, 0x40,
oliverb 0:3bf8ef959338 262 0x40, 0x44, 0x4A, 0x51, 0x40,
oliverb 0:3bf8ef959338 263 0x00, 0x00, 0xFF, 0x01, 0x03,
oliverb 0:3bf8ef959338 264 0xE0, 0x80, 0xFF, 0x00, 0x00,
oliverb 0:3bf8ef959338 265 0x08, 0x08, 0x6B, 0x6B, 0x08,
oliverb 0:3bf8ef959338 266 0x36, 0x12, 0x36, 0x24, 0x36,
oliverb 0:3bf8ef959338 267 0x06, 0x0F, 0x09, 0x0F, 0x06,
oliverb 0:3bf8ef959338 268 0x00, 0x00, 0x18, 0x18, 0x00,
oliverb 0:3bf8ef959338 269 0x00, 0x00, 0x10, 0x10, 0x00,
oliverb 0:3bf8ef959338 270 0x30, 0x40, 0xFF, 0x01, 0x01,
oliverb 0:3bf8ef959338 271 0x00, 0x1F, 0x01, 0x01, 0x1E,
oliverb 0:3bf8ef959338 272 0x00, 0x19, 0x1D, 0x17, 0x12,
oliverb 0:3bf8ef959338 273 0x00, 0x3C, 0x3C, 0x3C, 0x3C,
oliverb 0:3bf8ef959338 274 0x00, 0x00, 0x00, 0x00, 0x00 // #255 NBSP
oliverb 0:3bf8ef959338 275 };
oliverb 0:3bf8ef959338 276 #endif // FONT5X7_H