acid-drop

- Hacking the planet from a LilyGo T-Deck using custom firmware
git clone git://git.acid.vegas/acid-drop.git
Log | Files | Refs | Archive | README | LICENSE

Font16.c (29181B)

      1 // Font 2
      2 
      3 // Comment out for £ sign for character 24
      4 #define TFT_ESPI_FONT2_DOLLAR
      5 
      6 // The grave ( ` ) diacritical mark will show as a degree ( ° ) symbol
      7 // Comment out next line to return character 0x60 to the grave accent:
      8 #define TFT_ESPI_GRAVE_IS_DEGREE
      9 
     10 // Width has been increased by 1 pixel so pixel lengths are calculated correctly
     11 // for the displayed string
     12 
     13 PROGMEM const unsigned char widtbl_f16[96] =         // character width table
     14 {
     15         6, 3, 4, 9, 8, 9, 9, 3,             // char 32 - 39
     16         7, 7, 8, 6, 3, 6, 5, 7,             // char 40 - 47
     17         8, 8, 8, 8, 8, 8, 8, 8,             // char 48 - 55
     18         8, 8, 3, 3, 6, 6, 6, 8,             // char 56 - 63
     19         9, 8, 8, 8, 8, 8, 8, 8,             // char 64 - 71
     20         8, 4, 8, 8, 7, 10, 8, 8,            // char 72 - 79
     21         8, 8, 8, 8, 8, 8, 8, 10,            // char 80 - 87
     22         8, 8, 8, 4, 7, 4, 7, 9,             // char 88 - 95
     23 #ifdef TFT_ESPI_GRAVE_IS_DEGREE
     24         5, 7, 7, 7, 7, 7, 6, 7,             // char 96 - 103 0x60 is degree symbol
     25 #else
     26         4, 7, 7, 7, 7, 7, 6, 7,             // char 96 - 103 0x60 is grave
     27 #endif
     28         7, 4, 5, 6, 4, 8, 7, 8,             // char 104 - 111
     29         7, 8, 6, 6, 5, 7, 8, 8,             // char 112 - 119
     30         6, 7, 7, 5, 3, 5, 8, 6              // char 120 - 127
     31 };
     32 
     33 // Row format, MSB left
     34 
     35 PROGMEM const unsigned char chr_f16_20[16] =         // 1 unsigned char per row
     36 {
     37         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    // row 1 - 11
     38         0x00, 0x00, 0x00, 0x00, 0x00                                         // row 12 - 16
     39 };
     40 
     41 PROGMEM const unsigned char chr_f16_21[16] =         // 1 unsigned char per row
     42 {
     43         0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,    // row 1 - 11
     44         0x00, 0x40, 0x00, 0x00, 0x00                                         // row 12 - 16
     45 };
     46 
     47 PROGMEM const unsigned char chr_f16_22[16] =         // 1 unsigned char per row
     48 {
     49         0x00, 0x00, 0xA0, 0xA0, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    // row 1 - 11
     50         0x00, 0x00, 0x00, 0x00, 0x00                                         // row 12 - 16
     51 };
     52 
     53 PROGMEM const unsigned char chr_f16_23[16] =         // 1 unsigned char per row
     54 {
     55         0x00, 0x00, 0x00, 0x24, 0x24, 0x24, 0xFF, 0x24, 0x24, 0xFF, 0x24,    // row 1 - 11
     56         0x24, 0x24, 0x00, 0x00, 0x00                                         // row 12 - 16
     57 };
     58 
     59 PROGMEM const unsigned char chr_f16_24[16] =         // 1 unsigned char per row
     60 {
     61 #ifdef TFT_ESPI_FONT2_DOLLAR
     62         0x00, 0x00, 0x28, 0x38, 0x6C, 0xAA, 0xA8, 0x68, 0x3C, 0x2A, 0xAA,    // row 1 - 11
     63         0x6C, 0x38, 0x28, 0x00, 0x00                                         // row 12 - 16
     64 #else   // GBP sign
     65         0x00, 0x00, 0x00, 0x3C, 0x42, 0x40, 0x40, 0x70, 0x40, 0x70, 0x40,    // row 1 - 11
     66         0x40, 0xFE, 0x00, 0x00, 0x00                                         // row 12 - 16
     67 #endif
     68 };
     69 
     70 PROGMEM const unsigned char chr_f16_25[16] =         // 1 unsigned char per row
     71 {
     72         0x00, 0x00, 0x00, 0x61, 0x91, 0x92, 0x64, 0x08, 0x10, 0x26, 0x49,    // row 1 - 11
     73         0x89, 0x86, 0x00, 0x00, 0x00                                         // row 12 - 16
     74 };
     75 
     76 PROGMEM const unsigned char chr_f16_26[16] =         // 1 unsigned char per row
     77 {
     78         0x00, 0x00, 0x00, 0x20, 0x50, 0x88, 0x88, 0x50, 0x20, 0x52, 0x8C,    // row 1 - 11
     79         0x8C, 0x73, 0x00, 0x00, 0x00                                         // row 12 - 16
     80 };
     81 
     82 PROGMEM const unsigned char chr_f16_27[16] =         // 1 unsigned char per row
     83 {
     84         0x00, 0x00, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,    // row 1 - 11
     85         0x00, 0x00, 0x00, 0x00, 0x00                                         // row 12 - 16
     86 };
     87 
     88 PROGMEM const unsigned char chr_f16_28[16] =         // 1 unsigned char per row
     89 {
     90         0x00, 0x0C, 0x10, 0x20, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80, 0x80,    // row 1 - 11
     91         0x40, 0x40, 0x20, 0x10, 0x0C                                         // row 12 - 16
     92 };
     93 
     94 PROGMEM const unsigned char chr_f16_29[16] =         // 1 unsigned char per row
     95 {
     96         0x00, 0xC0, 0x20, 0x10, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04,    // row 1 - 11
     97         0x08, 0x08, 0x10, 0x20, 0xC0                                         // row 12 - 16
     98 };
     99 
    100 PROGMEM const unsigned char chr_f16_2A[16] =         // 1 unsigned char per row
    101 {
    102         0x00, 0x00, 0x00, 0x00, 0x10, 0x92, 0x54, 0x38, 0x54, 0x92, 0x10,    // row 1 - 11
    103         0x00, 0x00, 0x00, 0x00, 0x00                                         // row 12 - 16
    104 };
    105 
    106 PROGMEM const unsigned char chr_f16_2B[16] =         // 1 unsigned char per row
    107 {
    108         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xF8, 0x20, 0x20,    // row 1 - 11
    109         0x00, 0x00, 0x00, 0x00, 0x00                                         // row 12 - 16
    110 };
    111 
    112 PROGMEM const unsigned char chr_f16_2C[16] =         // 1 unsigned char per row
    113 {
    114         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    // row 1 - 11
    115         0xC0, 0xC0, 0x40, 0x80, 0x00                                         // row 12 - 16
    116 };
    117 
    118 PROGMEM const unsigned char chr_f16_2D[16] =         // 1 unsigned char per row
    119 {
    120         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00,    // row 1 - 11
    121         0x00, 0x00, 0x00, 0x00, 0x00                                         // row 12 - 16
    122 };
    123 
    124 PROGMEM const unsigned char chr_f16_2E[16] =         // 1 unsigned char per row
    125 {
    126         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    // row 1 - 11
    127         0xC0, 0xC0, 0x00, 0x00, 0x00                                         // row 12 - 16
    128 };
    129 
    130 PROGMEM const unsigned char chr_f16_2F[16] =         // 1 unsigned char per row
    131 {
    132         0x00, 0x00, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40,    // row 1 - 11
    133         0x40, 0x80, 0x80, 0x00, 0x00                                         // row 12 - 16
    134 };
    135 
    136 PROGMEM const unsigned char chr_f16_30[16] =         // 1 unsigned char per row
    137 {
    138         0x00, 0x00, 0x00, 0x38, 0x44, 0x44, 0x82, 0x82, 0x82, 0x82, 0x44,    // row 1 - 11
    139         0x44, 0x38, 0x00, 0x00, 0x00                                         // row 12 - 16
    140 };
    141 
    142 PROGMEM const unsigned char chr_f16_31[16] =         // 1 unsigned char per row
    143 {
    144         0x00, 0x00, 0x00, 0x10, 0x30, 0x50, 0x10, 0x10, 0x10, 0x10, 0x10,    // row 1 - 11
    145         0x10, 0x7C, 0x00, 0x00, 0x00                                         // row 12 - 16
    146 };
    147 
    148 PROGMEM const unsigned char chr_f16_32[16] =         // 1 unsigned char per row
    149 {
    150         0x00, 0x00, 0x00, 0x38, 0x44, 0x82, 0x02, 0x04, 0x18, 0x20, 0x40,    // row 1 - 11
    151         0x80, 0xFE, 0x00, 0x00, 0x00                                         // row 12 - 16
    152 };
    153 
    154 PROGMEM const unsigned char chr_f16_33[16] =         // 1 unsigned char per row
    155 {
    156         0x00, 0x00, 0x00, 0x78, 0x84, 0x02, 0x04, 0x38, 0x04, 0x02, 0x02,    // row 1 - 11
    157         0x84, 0x78, 0x00, 0x00, 0x00                                         // row 12 - 16
    158 };
    159 
    160 PROGMEM const unsigned char chr_f16_34[16] =         // 1 unsigned char per row
    161 {
    162         0x00, 0x00, 0x00, 0x04, 0x0C, 0x14, 0x24, 0x44, 0x84, 0xFE, 0x04,    // row 1 - 11
    163         0x04, 0x04, 0x00, 0x00, 0x00                                         // row 12 - 16
    164 };
    165 
    166 PROGMEM const unsigned char chr_f16_35[16] =         // 1 unsigned char per row
    167 {
    168         0x00, 0x00, 0x00, 0xFC, 0x80, 0x80, 0x80, 0xF8, 0x04, 0x02, 0x02,    // row 1 - 11
    169         0x84, 0x78, 0x00, 0x00, 0x00                                         // row 12 - 16
    170 };
    171 
    172 PROGMEM const unsigned char chr_f16_36[16] =         // 1 unsigned char per row
    173 {
    174         0x00, 0x00, 0x00, 0x3C, 0x40, 0x80, 0x80, 0xB8, 0xC4, 0x82, 0x82,    // row 1 - 11
    175         0x44, 0x38, 0x00, 0x00, 0x00                                         // row 12 - 16
    176 };
    177 
    178 PROGMEM const unsigned char chr_f16_37[16] =         // 1 unsigned char per row
    179 {
    180         0x00, 0x00, 0x00, 0x7E, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10,    // row 1 - 11
    181         0x10, 0x10, 0x00, 0x00, 0x00                                         // row 12 - 16
    182 };
    183 
    184 PROGMEM const unsigned char chr_f16_38[16] =         // 1 unsigned char per row
    185 {
    186         0x00, 0x00, 0x00, 0x38, 0x44, 0x82, 0x44, 0x38, 0x44, 0x82, 0x82,    // row 1 - 11
    187         0x44, 0x38, 0x00, 0x00, 0x00                                         // row 12 - 16
    188 };
    189 
    190 PROGMEM const unsigned char chr_f16_39[16] =         // 1 unsigned char per row
    191 {
    192         0x00, 0x00, 0x00, 0x38, 0x44, 0x82, 0x82, 0x46, 0x3A, 0x02, 0x02,    // row 1 - 11
    193         0x04, 0x78, 0x00, 0x00, 0x00                                         // row 12 - 16
    194 };
    195 
    196 PROGMEM const unsigned char chr_f16_3A[16] =         // 1 unsigned char per row
    197 {
    198         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0x00, 0xC0, 0xC0,    // row 1 - 11
    199         0x00, 0x00, 0x00, 0x00, 0x00                                         // row 12 - 16
    200 };
    201 
    202 PROGMEM const unsigned char chr_f16_3B[16] =         // 1 unsigned char per row
    203 {
    204         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0x00, 0xC0, 0xC0,    // row 1 - 11
    205         0x40, 0x80, 0x00, 0x00, 0x00                                         // row 12 - 16
    206 };
    207 
    208 PROGMEM const unsigned char chr_f16_3C[16] =         // 1 unsigned char per row
    209 {
    210         0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x20, 0x40, 0x80, 0x40, 0x20,    // row 1 - 11
    211         0x10, 0x08, 0x00, 0x00, 0x00                                         // row 12 - 16
    212 };
    213 
    214 PROGMEM const unsigned char chr_f16_3D[16] =         // 1 unsigned char per row
    215 {
    216         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0xF8, 0x00,    // row 1 - 11
    217         0x00, 0x00, 0x00, 0x00, 0x00                                         // row 12 - 16
    218 };
    219 
    220 PROGMEM const unsigned char chr_f16_3E[16] =         // 1 unsigned char per row
    221 {
    222         0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x08, 0x10, 0x20,    // row 1 - 11
    223         0x40, 0x80, 0x00, 0x00, 0x00                                         // row 12 - 16
    224 };
    225 
    226 PROGMEM const unsigned char chr_f16_3F[16] =         // 1 unsigned char per row
    227 {
    228         0x00, 0x00, 0x00, 0x38, 0x44, 0x82, 0x02, 0x04, 0x08, 0x10, 0x10,    // row 1 - 11
    229         0x00, 0x10, 0x00, 0x00, 0x00                                         // row 12 - 16
    230 };
    231 
    232 PROGMEM const unsigned char chr_f16_40[16] =         // 1 unsigned char per row
    233 {
    234         0x00, 0x00, 0x00, 0x3C, 0x42, 0x99, 0xA5, 0xA5, 0xA5, 0xA5, 0x9E,    // row 1 - 11
    235         0x40, 0x3E, 0x00, 0x00, 0x00                                         // row 12 - 16
    236 };
    237 PROGMEM const unsigned char chr_f16_41[16] =         // 1 unsigned char per row
    238 {
    239         0x00, 0x00, 0x00, 0x10, 0x10, 0x28, 0x28, 0x44, 0x44, 0x7C, 0x82,    // row 1 - 11
    240         0x82, 0x82, 0x00, 0x00, 0x00                                         // row 12 - 16
    241 };
    242 
    243 PROGMEM const unsigned char chr_f16_42[16] =         // 1 unsigned char per row
    244 {
    245         0x00, 0x00, 0x00, 0xF8, 0x84, 0x82, 0x84, 0xF8, 0x84, 0x82, 0x82,    // row 1 - 11
    246         0x84, 0xF8, 0x00, 0x00, 0x00                                         // row 12 - 16
    247 };
    248 
    249 PROGMEM const unsigned char chr_f16_43[16] =         // 1 unsigned char per row
    250 {
    251         0x00, 0x00, 0x00, 0x3C, 0x42, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,    // row 1 - 11
    252         0x42, 0x3C, 0x00, 0x00, 0x00                                         // row 12 - 16
    253 };
    254 PROGMEM const unsigned char chr_f16_44[16] =         // 1 unsigned char per row
    255 {
    256         0x00, 0x00, 0x00, 0xF8, 0x84, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,    // row 1 - 11
    257         0x84, 0xF8, 0x00, 0x00, 0x00                                         // row 12 - 16
    258 };
    259 
    260 PROGMEM const unsigned char chr_f16_45[16] =         // 1 unsigned char per row
    261 {
    262         0x00, 0x00, 0x00, 0xFE, 0x80, 0x80, 0x80, 0xFC, 0x80, 0x80, 0x80,    // row 1 - 11
    263         0x80, 0xFE, 0x00, 0x00, 0x00                                         // row 12 - 16
    264 };
    265 
    266 PROGMEM const unsigned char chr_f16_46[16] =         // 1 unsigned char per row
    267 {
    268         0x00, 0x00, 0x00, 0xFE, 0x80, 0x80, 0x80, 0xF8, 0x80, 0x80, 0x80,    // row 1 - 11
    269         0x80, 0x80, 0x00, 0x00, 0x00                                         // row 12 - 16
    270 };
    271 PROGMEM const unsigned char chr_f16_47[16] =         // 1 unsigned char per row
    272 {
    273         0x00, 0x00, 0x00, 0x3C, 0x42, 0x80, 0x80, 0x80, 0x9C, 0x82, 0x82,    // row 1 - 11
    274         0x42, 0x3C, 0x00, 0x00, 0x00                                         // row 12 - 16
    275 };
    276 
    277 PROGMEM const unsigned char chr_f16_48[16] =         // 1 unsigned char per row
    278 {
    279         0x00, 0x00, 0x00, 0x84, 0x84, 0x84, 0x84, 0xFC, 0x84, 0x84, 0x84,    // row 1 - 11
    280         0x84, 0x84, 0x00, 0x00, 0x00                                         // row 12 - 16
    281 };
    282 
    283 PROGMEM const unsigned char chr_f16_49[16] =         // 1 unsigned char per row
    284 {
    285         0x00, 0x00, 0x00, 0xE0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,    // row 1 - 11
    286         0x40, 0xE0, 0x00, 0x00, 0x00                                         // row 12 - 16
    287 };
    288 
    289 PROGMEM const unsigned char chr_f16_4A[16] =         // 1 unsigned char per row
    290 {
    291         0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x82,    // row 1 - 11
    292         0x44, 0x38, 0x00, 0x00, 0x00                                         // row 12 - 16
    293 };
    294 
    295 PROGMEM const unsigned char chr_f16_4B[16] =         // 1 unsigned char per row
    296 {
    297         0x00, 0x00, 0x00, 0x84, 0x88, 0x90, 0xA0, 0xC0, 0xA0, 0x90, 0x88,    // row 1 - 11
    298         0x84, 0x82, 0x00, 0x00, 0x00                                         // row 12 - 16
    299 };
    300 
    301 PROGMEM const unsigned char chr_f16_4C[16] =         // 1 unsigned char per row
    302 {
    303         0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,    // row 1 - 11
    304         0x80, 0xFC, 0x00, 0x00, 0x00                                         // row 12 - 16
    305 };
    306 
    307 PROGMEM const unsigned char chr_f16_4D[32] =         // 2 unsigned chars per row
    308 {
    309         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x80, 0xC1, 0x80, 0xA2, 0x80,    // row 1 - 6
    310         0xA2, 0x80, 0x94, 0x80, 0x94, 0x80, 0x88, 0x80, 0x88, 0x80, 0x80, 0x80,    // row 7 - 12
    311         0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00                             // row 13 - 16
    312 };
    313 
    314 PROGMEM const unsigned char chr_f16_4E[16] =         // 1 unsigned char per row
    315 {
    316         0x00, 0x00, 0x00, 0xC2, 0xC2, 0xA2, 0xA2, 0x92, 0x92, 0x8A, 0x8A,    // row 1 - 11
    317         0x86, 0x86, 0x00, 0x00, 0x00                                         // row 12 - 16
    318 };
    319 
    320 PROGMEM const unsigned char chr_f16_4F[16] =         // 1 unsigned char per row
    321 {
    322         0x00, 0x00, 0x00, 0x38, 0x44, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,    // row 1 - 11
    323         0x44, 0x38, 0x00, 0x00, 0x00                                         // row 12 - 16
    324 };
    325 
    326 PROGMEM const unsigned char chr_f16_50[16] =         // 1 unsigned char per row
    327 {
    328         0x00, 0x00, 0x00, 0xF8, 0x84, 0x82, 0x82, 0x82, 0x84, 0xF8, 0x80,    // row 1 - 11
    329         0x80, 0x80, 0x00, 0x00, 0x00                                         // row 12 - 16
    330 };
    331 PROGMEM const unsigned char chr_f16_51[16] =         // 1 unsigned char per row
    332 {
    333         0x00, 0x00, 0x00, 0x38, 0x44, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,    // row 1 - 11
    334         0x44, 0x38, 0x08, 0x06, 0x00                                         // row 12 - 16
    335 };
    336 
    337 PROGMEM const unsigned char chr_f16_52[16] =         // 1 unsigned char per row
    338 {
    339         0x00, 0x00, 0x00, 0xF8, 0x84, 0x82, 0x82, 0x84, 0xF8, 0x90, 0x88,    // row 1 - 11
    340         0x84, 0x82, 0x00, 0x00, 0x00                                         // row 12 - 16
    341 };
    342 
    343 PROGMEM const unsigned char chr_f16_53[16] =         // 1 unsigned char per row
    344 {
    345         0x00, 0x00, 0x00, 0x38, 0x44, 0x82, 0x80, 0x60, 0x1C, 0x02, 0x82,    // row 1 - 11
    346         0x44, 0x38, 0x00, 0x00, 0x00                                         // row 12 - 16
    347 };
    348 
    349 PROGMEM const unsigned char chr_f16_54[16] =         // 1 unsigned char per row
    350 {
    351         0x00, 0x00, 0x00, 0xFE, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,    // row 1 - 11
    352         0x10, 0x10, 0x00, 0x00, 0x00                                         // row 12 - 16
    353 };
    354 
    355 PROGMEM const unsigned char chr_f16_55[16] =         // 1 unsigned char per row
    356 {
    357         0x00, 0x00, 0x00, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82,    // row 1 - 11
    358         0x44, 0x38, 0x00, 0x00, 0x00                                         // row 12 - 16
    359 };
    360 
    361 PROGMEM const unsigned char chr_f16_56[16] =         // 1 unsigned char per row
    362 {
    363         0x00, 0x00, 0x00, 0x82, 0x82, 0x82, 0x82, 0x44, 0x44, 0x28, 0x28,    // row 1 - 11
    364         0x10, 0x10, 0x00, 0x00, 0x00                                         // row 12 - 16
    365 };
    366 
    367 PROGMEM const unsigned char chr_f16_57[32] =         // 2 unsigned chars per row
    368 {
    369         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,    // row 1 - 6
    370         0x88, 0x80, 0x88, 0x80, 0x49, 0x00, 0x55, 0x00, 0x55, 0x00, 0x22, 0x00,    // row 7 - 12
    371         0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00                             // row 13 - 16
    372 };
    373 
    374 PROGMEM const unsigned char chr_f16_58[16] =         // 1 unsigned char per row
    375 {
    376         0x00, 0x00, 0x00, 0x82, 0x82, 0x44, 0x28, 0x10, 0x10, 0x28, 0x44,    // row 1 - 11
    377         0x82, 0x82, 0x00, 0x00, 0x00                                         // row 12 - 16
    378 };
    379 
    380 PROGMEM const unsigned char chr_f16_59[16] =         // 1 unsigned char per row
    381 {
    382         0x00, 0x00, 0x00, 0x82, 0x82, 0x82, 0x44, 0x28, 0x10, 0x10, 0x10,    // row 1 - 11
    383         0x10, 0x10, 0x00, 0x00, 0x00                                         // row 12 - 16
    384 };
    385 
    386 PROGMEM const unsigned char chr_f16_5A[16] =         // 1 unsigned char per row
    387 {
    388         0x00, 0x00, 0x00, 0xFE, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x40,    // row 1 - 11
    389         0x80, 0xFE, 0x00, 0x00, 0x00                                         // row 12 - 16
    390 };
    391 
    392 PROGMEM const unsigned char chr_f16_5B[16] =         // 1 unsigned char per row
    393 {
    394         0x00, 0x00, 0xE0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,    // row 1 - 11
    395         0x80, 0x80, 0xE0, 0x00, 0x00                                         // row 12 - 16
    396 };
    397 
    398 PROGMEM const unsigned char chr_f16_5C[16] =         // 1 unsigned char per row
    399 {
    400         0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x10, 0x08,    // row 1 - 11
    401         0x08, 0x04, 0x04, 0x00, 0x00                                         // row 12 - 16
    402 };
    403 
    404 PROGMEM const unsigned char chr_f16_5D[16] =         // 1 unsigned char per row
    405 {
    406         0x00, 0x00, 0xE0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,    // row 1 - 11
    407         0x20, 0x20, 0xE0, 0x00, 0x00                                         // row 12 - 16
    408 };
    409 
    410 PROGMEM const unsigned char chr_f16_5E[32] =         // 1 unsigned chars per row
    411 {
    412         0x00, 0x10, 0x28, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    // row 1 - 11
    413         0x00, 0x00, 0x00, 0x00, 0x00                                         // row 12 - 16
    414 };
    415 
    416 PROGMEM const unsigned char chr_f16_5F[32] =         // 1 unsigned chars per row
    417 {
    418         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    // row 1 - 11
    419         0x00, 0x00, 0x00, 0xFF, 0x00                                         // row 12 - 16
    420 };
    421 
    422 PROGMEM const unsigned char chr_f16_60[16] =         // 1 unsigned char per row
    423 {
    424 #ifdef TFT_ESPI_GRAVE_IS_DEGREE
    425         0x00, 0x00, 0x00, 0x60, 0x90, 0x90, 0x60, 0x00, 0x00, 0x00, 0x00,    // row 1 - 11   Degree symbol
    426         0x00, 0x00, 0x00, 0x00, 0x00
    427 #else
    428         0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00,    // row 1 - 11   Grave accent
    429         0x00, 0x00, 0x00, 0x00, 0x00                                         // row 12 - 16
    430 #endif
    431 };
    432 
    433 PROGMEM const unsigned char chr_f16_61[16] =         // 1 unsigned char per row
    434 {
    435         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x08, 0x04, 0x74, 0x8C,    // row 1 - 11
    436         0x8C, 0x74, 0x00, 0x00, 0x00                                         // row 12 - 16
    437 };
    438 
    439 PROGMEM const unsigned char chr_f16_62[16] =         // 1 unsigned char per row
    440 {
    441         0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xB0, 0xC8, 0x84, 0x84, 0x84,    // row 1 - 11
    442         0xC8, 0xB0, 0x00, 0x00, 0x00                                         // row 12 - 16
    443 };
    444 
    445 PROGMEM const unsigned char chr_f16_63[16] =         // 1 unsigned char per row
    446 {
    447         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x44, 0x80, 0x80, 0x80,    // row 1 - 11
    448         0x44, 0x38, 0x00, 0x00, 0x00                                         // row 12 - 16
    449 };
    450 
    451 PROGMEM const unsigned char chr_f16_64[16] =         // 1 unsigned char per row
    452 {
    453         0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x34, 0x4C, 0x84, 0x84, 0x84,    // row 1 - 11
    454         0x4C, 0x34, 0x00, 0x00, 0x00                                         // row 12 - 16
    455 };
    456 
    457 PROGMEM const unsigned char chr_f16_65[16] =         // 1 unsigned char per row
    458 {
    459         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x44, 0x84, 0xF8, 0x80,    // row 1 - 11
    460         0x44, 0x38, 0x00, 0x00, 0x00                                         // row 12 - 16
    461 };
    462 
    463 PROGMEM const unsigned char chr_f16_66[16] =         // 1 unsigned char per row
    464 {
    465         0x00, 0x00, 0x00, 0x30, 0x48, 0x40, 0x40, 0x40, 0xE0, 0x40, 0x40,    // row 1 - 11
    466         0x40, 0x40, 0x00, 0x00, 0x00                                         // row 12 - 16
    467 };
    468 PROGMEM const unsigned char chr_f16_67[16] =         // 1 unsigned char per row
    469 {
    470         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x4C, 0x84, 0x84, 0x84,    // row 1 - 11
    471         0x4C, 0x34, 0x04, 0x08, 0x70                                         // row 12 - 16
    472 };
    473 
    474 PROGMEM const unsigned char chr_f16_68[16] =         // 1 unsigned char per row
    475 {
    476         0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xB0, 0xC8, 0x84, 0x84, 0x84,    // row 1 - 11
    477         0x84, 0x84, 0x00, 0x00, 0x00                                         // row 12 - 16
    478 };
    479 
    480 PROGMEM const unsigned char chr_f16_69[16] =         // 1 unsigned char per row
    481 {
    482         0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40,    // row 1 - 11
    483         0x40, 0x40, 0x00, 0x00, 0x00                                         // row 12 - 16
    484 };
    485 
    486 PROGMEM const unsigned char chr_f16_6A[16] =         // 1 unsigned char per row
    487 {
    488         0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x30, 0x10, 0x10, 0x10, 0x10,    // row 1 - 11
    489         0x10, 0x10, 0x10, 0x90, 0x60                                         // row 12 - 16
    490 };
    491 
    492 PROGMEM const unsigned char chr_f16_6B[16] =         // 1 unsigned char per row
    493 {
    494         0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x88, 0x90, 0xA0, 0xC0, 0xA0,    // row 1 - 11
    495         0x90, 0x88, 0x00, 0x00, 0x00                                         // row 12 - 16
    496 };
    497 
    498 PROGMEM const unsigned char chr_f16_6C[16] =         // 1 unsigned char per row
    499 {
    500         0x00, 0x00, 0x00, 0xC0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,    // row 1 - 11
    501         0x40, 0x40, 0x00, 0x00, 0x00                                         // row 12 - 16
    502 };
    503 
    504 PROGMEM const unsigned char chr_f16_6D[16] =         // 1 unsigned char per row
    505 {
    506         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0xD2, 0x92, 0x92, 0x92,    // row 1 - 11
    507         0x92, 0x92, 0x00, 0x00, 0x00                                         // row 12 - 16
    508 };
    509 
    510 PROGMEM const unsigned char chr_f16_6E[16] =         // 1 unsigned char per row
    511 {
    512         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xC8, 0x84, 0x84, 0x84,    // row 1 - 11
    513         0x84, 0x84, 0x00, 0x00, 0x00                                         // row 12 - 16
    514 };
    515 
    516 PROGMEM const unsigned char chr_f16_6F[16] =         // 1 unsigned char per row
    517 {
    518         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x44, 0x82, 0x82, 0x82,    // row 1 - 11
    519         0x44, 0x38, 0x00, 0x00, 0x00                                         // row 12 - 16
    520 };
    521 
    522 PROGMEM const unsigned char chr_f16_70[16] =         // 1 unsigned char per row
    523 {
    524         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xC8, 0x84, 0x84, 0x84,    // row 1 - 11
    525         0xC8, 0xB0, 0x80, 0x80, 0x80                                         // row 12 - 16
    526 };
    527 
    528 PROGMEM const unsigned char chr_f16_71[16] =         // 1 unsigned char per row
    529 {
    530         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x4C, 0x84, 0x84, 0x84,    // row 1 - 11
    531         0x4C, 0x34, 0x04, 0x04, 0x06                                         // row 12 - 16
    532 };
    533 
    534 PROGMEM const unsigned char chr_f16_72[16] =         // 1 unsigned char per row
    535 {
    536         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xC8, 0x80, 0x80, 0x80,    // row 1 - 11
    537         0x80, 0x80, 0x00, 0x00, 0x00                                         // row 12 - 16
    538 };
    539 
    540 PROGMEM const unsigned char chr_f16_73[16] =         // 1 unsigned char per row
    541 {
    542         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x88, 0x80, 0x70, 0x08,    // row 1 - 11
    543         0x88, 0x70, 0x00, 0x00, 0x00                                         // row 12 - 16
    544 };
    545 
    546 PROGMEM const unsigned char chr_f16_74[16] =         // 1 unsigned char per row
    547 {
    548         0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0xE0, 0x40, 0x40, 0x40, 0x40,    // row 1 - 11
    549         0x40, 0x30, 0x00, 0x00, 0x00                                         // row 12 - 16
    550 };
    551 
    552 PROGMEM const unsigned char chr_f16_75[16] =         // 1 unsigned char per row
    553 {
    554         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x84, 0x84, 0x84, 0x84,    // row 1 - 11
    555         0x4C, 0x34, 0x00, 0x00, 0x00                                         // row 12 - 16
    556 };
    557 
    558 PROGMEM const unsigned char chr_f16_76[16] =         // 1 unsigned char per row
    559 {
    560         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x82, 0x82, 0x44,    // row 1 - 11
    561         0x28, 0x10, 0x00, 0x00, 0x00                                         // row 12 - 16
    562 };
    563 
    564 PROGMEM const unsigned char chr_f16_77[16] =         // 1 unsigned char per row
    565 {
    566         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x82, 0x92, 0x92,    // row 1 - 11
    567         0xAA, 0x44, 0x00, 0x00, 0x00                                         // row 12 - 16
    568 };
    569 
    570 PROGMEM const unsigned char chr_f16_78[16] =         // 1 unsigned char per row
    571 {
    572         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88, 0x50, 0x20, 0x50,    // row 1 - 11
    573         0x88, 0x88, 0x00, 0x00, 0x00                                         // row 12 - 16
    574 };
    575 
    576 PROGMEM const unsigned char chr_f16_79[16] =         // 1 unsigned char per row
    577 {
    578         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x84, 0x84, 0x84, 0x84,    // row 1 - 11
    579         0x4C, 0x34, 0x04, 0x08, 0x70                                         // row 12 - 16
    580 };
    581 
    582 PROGMEM const unsigned char chr_f16_7A[16] =         // 1 unsigned char per row
    583 {
    584         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x04, 0x08, 0x30, 0x40,    // row 1 - 11
    585         0x80, 0xFC, 0x00, 0x00, 0x00                                         // row 12 - 16
    586 };
    587 
    588 PROGMEM const unsigned char chr_f16_7B[16] =         // 1 unsigned char per row
    589 {
    590         0x00, 0x10, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x40, 0x20, 0x20,    // row 1 - 11
    591         0x20, 0x20, 0x20, 0x20, 0x10                                         // row 12 - 16
    592 };
    593 
    594 PROGMEM const unsigned char chr_f16_7C[16] =         // 1 unsigned char per row
    595 {
    596         0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,    // row 1 - 11
    597         0x40, 0x40, 0x40, 0x40, 0x00                                         // row 12 - 16
    598 };
    599 
    600 PROGMEM const unsigned char chr_f16_7D[16] =         // 1 unsigned char per row
    601 {
    602         0x00, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x10, 0x20, 0x20,    // row 1 - 11
    603         0x20, 0x20, 0x20, 0x20, 0x40                                         // row 12 - 16
    604 };
    605 
    606 PROGMEM const unsigned char chr_f16_7E[16] =         // 1 unsigned char per row
    607 {
    608         0x00, 0x00, 0x00, 0x32, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    // row 1 - 11
    609         0x00, 0x00, 0x00, 0x00, 0x00                                         // row 12 - 16
    610 };
    611 
    612 PROGMEM const unsigned char chr_f16_7F[16] =         // 1 unsigned char per row
    613 {
    614         0x00, 0x00, 0x30, 0x48, 0x48, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00,    // row 1 - 11
    615         0x00, 0x00, 0x00, 0x00, 0x00                                         // row 12 - 16
    616 };
    617 
    618 PROGMEM const unsigned char* const chrtbl_f16[96] =       // character pointer table
    619 {
    620         chr_f16_20, chr_f16_21, chr_f16_22, chr_f16_23, chr_f16_24, chr_f16_25, chr_f16_26, chr_f16_27, 
    621         chr_f16_28, chr_f16_29, chr_f16_2A, chr_f16_2B, chr_f16_2C, chr_f16_2D, chr_f16_2E, chr_f16_2F, 
    622         chr_f16_30, chr_f16_31, chr_f16_32, chr_f16_33, chr_f16_34, chr_f16_35, chr_f16_36, chr_f16_37, 
    623         chr_f16_38, chr_f16_39, chr_f16_3A, chr_f16_3B, chr_f16_3C, chr_f16_3D, chr_f16_3E, chr_f16_3F, 
    624         chr_f16_40, chr_f16_41, chr_f16_42, chr_f16_43, chr_f16_44, chr_f16_45, chr_f16_46, chr_f16_47, 
    625         chr_f16_48, chr_f16_49, chr_f16_4A, chr_f16_4B, chr_f16_4C, chr_f16_4D, chr_f16_4E, chr_f16_4F, 
    626         chr_f16_50, chr_f16_51, chr_f16_52, chr_f16_53, chr_f16_54, chr_f16_55, chr_f16_56, chr_f16_57, 
    627         chr_f16_58, chr_f16_59, chr_f16_5A, chr_f16_5B, chr_f16_5C, chr_f16_5D, chr_f16_5E, chr_f16_5F, 
    628         chr_f16_60, chr_f16_61, chr_f16_62, chr_f16_63, chr_f16_64, chr_f16_65, chr_f16_66, chr_f16_67, 
    629         chr_f16_68, chr_f16_69, chr_f16_6A, chr_f16_6B, chr_f16_6C, chr_f16_6D, chr_f16_6E, chr_f16_6F, 
    630         chr_f16_70, chr_f16_71, chr_f16_72, chr_f16_73, chr_f16_74, chr_f16_75, chr_f16_76, chr_f16_77, 
    631         chr_f16_78, chr_f16_79, chr_f16_7A, chr_f16_7B, chr_f16_7C, chr_f16_7D, chr_f16_7E, chr_f16_7F
    632 };