glcdfont.c (9948B)
1 /* Copyright 2019 MechMerlin 2 * Copyright 2020 @ben_roe (keycapsss.com) 3 * Copyright 2022 @oriaj3 4 * 5 * This program is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation, either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 #include "progmem.h" 20 21 // Corne 8x6 font 22 // Online editor: https://helixfonteditor.netlify.com 23 // or https://joric.github.io/qle/ 24 // See also: https://github.com/soundmonster/glcdfont_converter 25 26 const unsigned char font[] PROGMEM = { 27 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 28 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, 29 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, 30 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, 31 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, 32 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, 33 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, 34 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, 35 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, 36 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, 37 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, 38 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, 39 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, 40 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, 41 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, 42 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, 43 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, 44 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, 45 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, 46 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, 47 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, 48 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, 49 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 50 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, 51 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, 52 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, 53 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, 54 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, 55 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, 56 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, 57 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, 58 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, 59 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 60 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 61 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 62 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, 63 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, 64 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, 65 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, 66 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, 67 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, 68 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, 69 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, 70 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, 71 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, 72 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 73 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 74 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, 75 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, 76 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, 77 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, 78 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, 79 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, 80 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, 81 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, 82 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, 83 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, 84 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, 85 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 86 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, 87 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, 88 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 89 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, 90 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, 91 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, 92 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, 93 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, 94 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, 95 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, 96 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, 97 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, 98 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, 99 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, 100 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, 101 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, 102 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, 103 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, 104 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, 105 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, 106 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, 107 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, 108 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, 109 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, 110 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, 111 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, 112 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, 113 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, 114 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, 115 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, 116 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, 117 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, 118 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, 119 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, 120 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, 121 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, 122 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 123 0x00, 0x13, 0x07, 0x08, 0x00, 0x00, 124 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, 125 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, 126 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, 127 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, 128 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, 129 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, 130 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, 131 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, 132 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, 133 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, 134 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, 135 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, 136 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, 137 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, 138 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, 139 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, 140 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, 141 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, 142 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, 143 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, 144 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, 145 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, 146 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, 147 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, 148 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, 149 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, 150 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, 151 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 152 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, 153 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, 154 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, 155 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 156 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 157 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 158 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 160 0x00, 0xF8, 0x04, 0x22, 0x52, 0xE2, 161 0x42, 0x42, 0x42, 0xE2, 0x52, 0x22, 162 0x22, 0x22, 0x42, 0x82, 0x02, 0x02, 163 0x22, 0x22, 0x02, 0x04, 0xF8, 0x00, 164 0x00, 0xF8, 0x04, 0x02, 0x02, 0x82, 165 0x42, 0x22, 0x42, 0x82, 0x02, 0x02, 166 0x02, 0x82, 0x42, 0x22, 0x12, 0x22, 167 0x42, 0x82, 0x02, 0x04, 0xF8, 0x00, 168 0x00, 0xF8, 0xFC, 0xDE, 0xAE, 0x1E, 169 0xBE, 0xBE, 0xBE, 0x1E, 0xAE, 0xDE, 170 0xDE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE, 171 0xDE, 0xDE, 0xFE, 0xFC, 0xF8, 0x00, 172 0x00, 0xF8, 0xFC, 0xFE, 0xFE, 0x7E, 173 0xBE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE, 174 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 175 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 176 0x10, 0x10, 0x08, 0x08, 0x10, 0x10, 177 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 178 0x80, 0x80, 0xC0, 0xC0, 0xE0, 0xE0, 179 0xF0, 0xF0, 0xF8, 0xF8, 0xF0, 0xF0, 180 0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x80, 181 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 182 0x10, 0x10, 0x08, 0x08, 0x10, 0x10, 183 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 184 0x80, 0x80, 0x40, 0xC0, 0x60, 0xA0, 185 0x50, 0xB0, 0x58, 0xA8, 0x50, 0xB0, 186 0x60, 0xA0, 0x40, 0xC0, 0x80, 0x80, 187 0x1F, 0x1F, 0x0E, 0x1B, 0x11, 0xC0, 188 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x06, 189 0x0C, 0xC6, 0x1F, 0x1F, 0x80, 0x5F, 190 0x1F, 0x00, 0x1F, 0x1F, 0x8E, 0x9B, 191 0x91, 0x80, 0x9F, 0x9F, 0x91, 0x1F, 192 0x00, 0x1F, 0x20, 0x44, 0x4A, 0x47, 193 0x42, 0x42, 0x42, 0x47, 0x4A, 0x44, 194 0x40, 0x40, 0x40, 0x40, 0x41, 0x42, 195 0x44, 0x44, 0x40, 0x20, 0x1F, 0x00, 196 0x00, 0x1F, 0x20, 0x40, 0x41, 0x40, 197 0x40, 0x40, 0x40, 0x40, 0x41, 0x40, 198 0x41, 0x41, 0x4F, 0x48, 0x48, 0x48, 199 0x4F, 0x41, 0x41, 0x20, 0x1F, 0x00, 200 0x00, 0x1F, 0x3F, 0x7B, 0x75, 0x78, 201 0x7D, 0x7D, 0x7D, 0x78, 0x75, 0x7B, 202 0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7D, 203 0x7B, 0x7B, 0x7F, 0x3F, 0x1F, 0x00, 204 0x00, 0x1F, 0x3F, 0x7F, 0x7E, 0x7F, 205 0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7F, 206 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 207 0x88, 0x88, 0x5D, 0x5D, 0x3E, 0x3E, 208 0x7C, 0x7C, 0xF8, 0xF8, 0x7C, 0x7C, 209 0x3E, 0x3E, 0x5D, 0x5D, 0x88, 0x88, 210 0x88, 0x88, 0x55, 0x55, 0x23, 0x23, 211 0x47, 0x47, 0x8F, 0x8F, 0x47, 0x47, 212 0x23, 0x23, 0x55, 0x55, 0x88, 0x88, 213 0x88, 0x88, 0xD5, 0xD5, 0xE2, 0xE2, 214 0xC4, 0xC4, 0x88, 0x88, 0xC4, 0xC4, 215 0xE2, 0xE2, 0xD5, 0xD5, 0x88, 0x88, 216 0x88, 0x88, 0x5D, 0xD5, 0x6B, 0xB6, 217 0x6D, 0xD6, 0xAD, 0xDA, 0x6D, 0xD6, 218 0x6B, 0xB6, 0x5D, 0xD5, 0x88, 0x88, 219 0x00, 0x84, 0x87, 0x7D, 0x55, 0x57, 220 0x55, 0x7D, 0x87, 0x84, 0x00, 0x91, 221 0x95, 0x55, 0x55, 0x3F, 0x55, 0x55, 222 0x95, 0x91, 0x00, 0x08, 0x08, 0x08, 223 0x88, 0xFC, 0x0A, 0x09, 0x08, 0x08, 224 0x04, 0xF8, 0x00, 0x00, 0xF8, 0x04, 225 0x20, 0x1F, 0x00, 0x00, 0x1F, 0x20, 226 0xFC, 0xF8, 0x00, 0x00, 0xF8, 0x04, 227 0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x20, 228 0x04, 0xF8, 0x00, 0x00, 0xF8, 0xFC, 229 0x20, 0x1F, 0x00, 0x00, 0x1F, 0x3F, 230 0xFC, 0xF8, 0x00, 0x00, 0xF8, 0xFC, 231 0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x3F, 232 0xFE, 0x7E, 0xBE, 0xDE, 0xEE, 0xDE, 233 0xBE, 0x7E, 0xFE, 0xFC, 0xF8, 0x00, 234 0x7E, 0x7E, 0x70, 0x77, 0x77, 0x77, 235 0x70, 0x7E, 0x7E, 0x3F, 0x1F, 0x00, 236 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 237 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 238 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 239 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 240 0x04, 0x04, 0x08, 0x08, 0x04, 0x04, 241 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 242 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 243 0x04, 0x04, 0x08, 0x08, 0x04, 0x04, 244 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 245 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 246 0x07, 0x07, 0x0F, 0x0F, 0x07, 0x07, 247 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 248 0x00, 0x00, 0x01, 0x01, 0x03, 0x02, 249 0x05, 0x06, 0x0D, 0x0A, 0x05, 0x06, 250 0x03, 0x02, 0x01, 0x01, 0x00, 0x00, 251 };