v.0.1.0 fonts as vectors

This commit is contained in:
tiijay
2025-11-07 14:19:01 +01:00
parent f0614c9a4a
commit b3d9b6bb6c
12 changed files with 426 additions and 447 deletions

View File

@@ -1,203 +1,120 @@
#ifndef FONT_16X16_H
#define FONT_16X16_H
#include <Arduino.h>
const uint16_t font_16x16[][16] = {
// Space (index 0)
{0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, // ' '
// Exclamation mark (index 1)
{0x0006, 0x000F, 0x000F, 0x000F, 0x000F, 0x000F, 0x000F, 0x000F, 0x000F, 0x000F, 0x0006, 0x0000, 0x000F, 0x000F, 0x0000, 0x0000}, // '!'
// Double quote (index 2)
{0x0363, 0x0363, 0x0363, 0x0363, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, // '"'
// Hash (index 3)
{0x0318, 0x0318, 0x0318, 0x0FFF, 0x0FFF, 0x0318, 0x0318, 0x0318, 0x0318, 0x0FFF, 0x0FFF, 0x0318, 0x0318, 0x0318, 0x0000, 0x0000}, // '#'
// Dollar (index 4)
{0x0078, 0x00FE, 0x01CF, 0x01C7, 0x01C0, 0x00F8, 0x007C, 0x000F, 0x0007, 0x01C7, 0x01CF, 0x00FE, 0x0078, 0x0010, 0x0000, 0x0000}, // '$'
// Percent (index 5)
{0x0E0E, 0x1B0E, 0x1B1C, 0x0E38, 0x0070, 0x00E0, 0x01C0, 0x0380, 0x070E, 0x0E1B, 0x1C1B, 0x380E, 0x0000, 0x0000, 0x0000, 0x0000}, // '%'
// Ampersand (index 6)
{0x07C0, 0x0EE0, 0x1C70, 0x1C70, 0x0EE0, 0x07C0, 0x0FC7, 0x1CE7, 0x387E, 0x383C, 0x387E, 0x1CFF, 0x0FE7, 0x07C0, 0x0000, 0x0000}, // '&'
// Single quote (index 7)
{0x0003, 0x0003, 0x0003, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, // '''
// Left parenthesis (index 8)
{0x0007, 0x000E, 0x001C, 0x001C, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x001C, 0x001C, 0x000E, 0x0007, 0x0000, 0x0000}, // '('
// Right parenthesis (index 9)
{0x0038, 0x001C, 0x000E, 0x000E, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x000E, 0x000E, 0x001C, 0x0038, 0x0000, 0x0000}, // ')'
// Asterisk (index 10)
{0x0030, 0x01B3, 0x00FC, 0x0078, 0x00FC, 0x01B3, 0x0030, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, // '*'
// Plus (index 11)
{0x0000, 0x0000, 0x0060, 0x0060, 0x0060, 0x0060, 0x03FF, 0x03FF, 0x0060, 0x0060, 0x0060, 0x0060, 0x0000, 0x0000, 0x0000, 0x0000}, // '+'
// Comma (index 12)
{0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0007, 0x0007, 0x0003, 0x0006, 0x0000, 0x0000}, // ','
// Minus (index 13)
{0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03FF, 0x03FF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, // '-'
// Period (index 14)
{0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0003, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000}, // '.'
// Slash (index 15)
{0x0003, 0x0007, 0x000E, 0x001C, 0x0038, 0x0070, 0x00E0, 0x01C0, 0x0380, 0x0700, 0x0E00, 0x0C00, 0x0000, 0x0000, 0x0000, 0x0000}, // '/'
// Numbers 0-9 (index 16-25)
{0x01F8, 0x03FC, 0x070E, 0x0606, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0606, 0x070E, 0x03FC, 0x01F8, 0x0000, 0x0000}, // '0'
{0x000C, 0x001C, 0x003C, 0x007C, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x007F, 0x007F, 0x0000, 0x0000}, // '1'
{0x00FC, 0x01FE, 0x0387, 0x0303, 0x0003, 0x0007, 0x000E, 0x001C, 0x0038, 0x0070, 0x00E0, 0x01C0, 0x03FF, 0x03FF, 0x0000, 0x0000}, // '2'
{0x00FC, 0x01FE, 0x0387, 0x0303, 0x0003, 0x0007, 0x007E, 0x007E, 0x0007, 0x0003, 0x0303, 0x0387, 0x01FE, 0x00FC, 0x0000, 0x0000}, // '3'
{0x000E, 0x001E, 0x003E, 0x006E, 0x00CE, 0x018E, 0x030E, 0x060E, 0x07FF, 0x07FF, 0x000E, 0x000E, 0x000E, 0x000E, 0x0000, 0x0000}, // '4'
{0x03FF, 0x03FF, 0x0300, 0x0300, 0x0300, 0x03FC, 0x03FE, 0x0007, 0x0003, 0x0003, 0x0303, 0x0387, 0x01FE, 0x00FC, 0x0000, 0x0000}, // '5'
{0x00FC, 0x01FE, 0x0387, 0x0303, 0x0300, 0x037C, 0x03FE, 0x0387, 0x0303, 0x0303, 0x0303, 0x0387, 0x01FE, 0x00FC, 0x0000, 0x0000}, // '6'
{0x03FF, 0x03FF, 0x0003, 0x0007, 0x000E, 0x001C, 0x0038, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0000, 0x0000}, // '7'
{0x00FC, 0x01FE, 0x0387, 0x0303, 0x0303, 0x0387, 0x01FE, 0x00FC, 0x01FE, 0x0387, 0x0303, 0x0303, 0x0387, 0x01FE, 0x00FC, 0x0000}, // '8'
{0x00FC, 0x01FE, 0x0387, 0x0303, 0x0303, 0x0387, 0x01FF, 0x00FF, 0x0003, 0x0003, 0x0303, 0x0387, 0x01FE, 0x00FC, 0x0000, 0x0000}, // '9'
// Colon (index 26)
{0x0000, 0x0000, 0x0000, 0x0003, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0003, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000}, // ':'
// Semicolon (index 27)
{0x0000, 0x0000, 0x0000, 0x0006, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0006, 0x0003, 0x0006, 0x0000, 0x0000}, // ';'
// Less than (index 28)
{0x0003, 0x000F, 0x003C, 0x00F0, 0x03C0, 0x0700, 0x03C0, 0x00F0, 0x003C, 0x000F, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, // '<'
// Equal (index 29)
{0x0000, 0x0000, 0x0000, 0x0000, 0x03FF, 0x03FF, 0x0000, 0x0000, 0x03FF, 0x03FF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, // '='
// Greater than (index 30)
{0x0600, 0x0780, 0x01E0, 0x0078, 0x001E, 0x0007, 0x001E, 0x0078, 0x01E0, 0x0780, 0x0600, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, // '>'
// Question mark (index 31)
{0x007C, 0x00FE, 0x01C7, 0x0183, 0x0003, 0x0007, 0x000E, 0x001C, 0x0018, 0x0000, 0x0018, 0x0018, 0x0000, 0x0000, 0x0000, 0x0000}, // '?'
// At symbol (index 32)
{0x01F8, 0x03FC, 0x070E, 0x0606, 0x0E3F, 0x0E7F, 0x0E67, 0x0E67, 0x0E67, 0x0E7F, 0x0E3E, 0x0600, 0x070E, 0x03FC, 0x01F8, 0x0000}, // '@'
// Uppercase A-Z (index 33-58)
{0x0070, 0x00F8, 0x00F8, 0x01DC, 0x01DC, 0x038E, 0x038E, 0x038E, 0x03FE, 0x07FF, 0x0707, 0x0707, 0x0707, 0x0707, 0x0000, 0x0000}, // 'A'
{0x07F8, 0x07FC, 0x070E, 0x070E, 0x070E, 0x071C, 0x07F8, 0x07FC, 0x070E, 0x0707, 0x0707, 0x0707, 0x070E, 0x07FE, 0x07FC, 0x0000}, // 'B'
{0x01FC, 0x03FE, 0x0787, 0x0703, 0x0E00, 0x0E00, 0x0E00, 0x0E00, 0x0E00, 0x0E00, 0x0703, 0x0787, 0x03FE, 0x01FC, 0x0000, 0x0000}, // 'C'
{0x0FF0, 0x0FFC, 0x0E1E, 0x0E0E, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E0E, 0x0E1E, 0x0FFC, 0x0FF0, 0x0000, 0x0000}, // 'D'
{0x07FF, 0x07FF, 0x0700, 0x0700, 0x0700, 0x0700, 0x07FC, 0x07FC, 0x0700, 0x0700, 0x0700, 0x0700, 0x07FF, 0x07FF, 0x0000, 0x0000}, // 'E'
{0x07FF, 0x07FF, 0x0700, 0x0700, 0x0700, 0x0700, 0x07FC, 0x07FC, 0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x0000, 0x0000}, // 'F'
{0x01FC, 0x03FE, 0x0787, 0x0703, 0x0E00, 0x0E00, 0x0E3F, 0x0E3F, 0x0E07, 0x0E07, 0x0707, 0x0787, 0x03FF, 0x01FF, 0x0000, 0x0000}, // 'G'
{0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0FFF, 0x0FFF, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0000, 0x0000}, // 'H'
{0x007F, 0x007F, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x007F, 0x007F, 0x0000, 0x0000}, // 'I'
{0x007F, 0x007F, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x071C, 0x071C, 0x0738, 0x03F8, 0x01F0, 0x0000, 0x0000}, // 'J'
{0x0E0E, 0x0E1C, 0x0E38, 0x0E70, 0x0EE0, 0x0FC0, 0x0FC0, 0x0FE0, 0x0EF0, 0x0E78, 0x0E3C, 0x0E1C, 0x0E0E, 0x0E07, 0x0000, 0x0000}, // 'K'
{0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x07FF, 0x07FF, 0x0000, 0x0000}, // 'L'
{0x1C07, 0x1E0F, 0x1E0F, 0x1F1F, 0x1F1F, 0x1DB7, 0x1DB7, 0x1DB7, 0x1CE7, 0x1CE7, 0x1CE7, 0x1C07, 0x1C07, 0x1C07, 0x0000, 0x0000}, // 'M'
{0x0E07, 0x0F07, 0x0F07, 0x0F87, 0x0FC7, 0x0EE7, 0x0E77, 0x0E77, 0x0E3F, 0x0E1F, 0x0E1F, 0x0E0F, 0x0E07, 0x0E07, 0x0000, 0x0000}, // 'N'
{0x01F8, 0x03FC, 0x078E, 0x0706, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0706, 0x078E, 0x03FC, 0x01F8, 0x0000, 0x0000}, // 'O'
{0x07F8, 0x07FC, 0x070E, 0x0707, 0x0707, 0x0707, 0x070E, 0x07FC, 0x07F8, 0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x0000, 0x0000}, // 'P'
{0x01F8, 0x03FC, 0x078E, 0x0706, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E67, 0x077E, 0x07BE, 0x03FC, 0x01F7, 0x0000, 0x0000}, // 'Q'
{0x0FF0, 0x0FF8, 0x0E1C, 0x0E0E, 0x0E0E, 0x0E0E, 0x0E1C, 0x0FF8, 0x0FF0, 0x0E78, 0x0E3C, 0x0E1E, 0x0E0E, 0x0E07, 0x0000, 0x0000}, // 'R'
{0x01FC, 0x03FE, 0x0787, 0x0703, 0x0700, 0x0780, 0x03FC, 0x00FE, 0x0007, 0x0003, 0x0703, 0x0787, 0x03FE, 0x01FC, 0x0000, 0x0000}, // 'S'
{0x07FF, 0x07FF, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0000, 0x0000}, // 'T'
{0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x070E, 0x07FE, 0x01F8, 0x0000, 0x0000}, // 'U'
{0x0E07, 0x0E07, 0x070E, 0x070E, 0x070E, 0x039C, 0x039C, 0x039C, 0x01F8, 0x01F8, 0x01F8, 0x00F0, 0x00F0, 0x00F0, 0x0000, 0x0000}, // 'V'
{0x0E0E, 0x0E0E, 0x0E0E, 0x0E0E, 0x0E0E, 0x0E0E, 0x06B6, 0x06B6, 0x06B6, 0x07F7, 0x07F7, 0x07F7, 0x03E3, 0x03E3, 0x0000, 0x0000}, // 'W'
{0x0E07, 0x070E, 0x070E, 0x039C, 0x01F8, 0x01F8, 0x00F0, 0x00F0, 0x01F8, 0x01F8, 0x039C, 0x070E, 0x070E, 0x0E07, 0x0000, 0x0000}, // 'X'
{0x0E07, 0x070E, 0x070E, 0x039C, 0x039C, 0x01F8, 0x01F8, 0x00F0, 0x00F0, 0x00F0, 0x00F0, 0x00F0, 0x00F0, 0x00F0, 0x0000, 0x0000}, // 'Y'
{0x07FF, 0x07FF, 0x000E, 0x001C, 0x0038, 0x0070, 0x00E0, 0x01C0, 0x0380, 0x0700, 0x0E00, 0x0E00, 0x07FF, 0x07FF, 0x0000, 0x0000}, // 'Z'
// Left bracket (index 59)
{0x003F, 0x003F, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x003F, 0x003F, 0x0000}, // '['
// Backslash (index 60)
{0x3000, 0x3800, 0x1C00, 0x0E00, 0x0700, 0x0380, 0x01C0, 0x00E0, 0x0070, 0x0038, 0x001C, 0x000E, 0x0007, 0x0003, 0x0000, 0x0000}, // '\\'
// Right bracket (index 61)
{0x003F, 0x003F, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x003F, 0x003F, 0x0000}, // ']'
// Caret (index 62)
{0x0030, 0x0078, 0x00FC, 0x01CE, 0x0387, 0x0303, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, // '^'
// Underscore (index 63)
{0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF}, // '_'
// Backtick (index 64)
{0x000C, 0x0006, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, // '`'
// Lowercase a-z (index 65-90)
{0x0000, 0x0000, 0x0000, 0x007C, 0x00FE, 0x01C7, 0x0007, 0x007F, 0x00FF, 0x01C7, 0x0387, 0x0387, 0x01FF, 0x00F7, 0x0000, 0x0000}, // 'a'
{0x0380, 0x0380, 0x0380, 0x03BC, 0x03FE, 0x03CF, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x03CF, 0x03FE, 0x03BC, 0x0000, 0x0000}, // 'b'
{0x0000, 0x0000, 0x0000, 0x007C, 0x00FE, 0x01C7, 0x0383, 0x0380, 0x0380, 0x0380, 0x0383, 0x01C7, 0x00FE, 0x007C, 0x0000, 0x0000}, // 'c'
{0x0007, 0x0007, 0x0007, 0x0077, 0x00FF, 0x01CF, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x01CF, 0x00FF, 0x0077, 0x0000, 0x0000}, // 'd'
{0x0000, 0x0000, 0x0000, 0x007C, 0x00FE, 0x01C7, 0x0383, 0x03FF, 0x03FF, 0x0380, 0x0381, 0x01C3, 0x00FF, 0x007C, 0x0000, 0x0000}, // 'e'
{0x001F, 0x003F, 0x0078, 0x0070, 0x01FE, 0x01FE, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0000, 0x0000}, // 'f'
{0x0000, 0x0000, 0x0000, 0x0077, 0x00FF, 0x01CF, 0x0387, 0x0387, 0x0387, 0x0387, 0x01CF, 0x00FF, 0x0077, 0x0007, 0x01FE, 0x01FC}, // 'g'
{0x0380, 0x0380, 0x0380, 0x03BC, 0x03FE, 0x03CF, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0000, 0x0000}, // 'h'
{0x000C, 0x000C, 0x0000, 0x003C, 0x003C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x003F, 0x003F, 0x0000, 0x0000}, // 'i'
{0x0003, 0x0003, 0x0000, 0x000F, 0x000F, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0E3, 0x0E3, 0x007E, 0x003C}, // 'j'
{0x0700, 0x0700, 0x0700, 0x070E, 0x071C, 0x0738, 0x0770, 0x07E0, 0x07E0, 0x0770, 0x0738, 0x071C, 0x070E, 0x0707, 0x0000, 0x0000}, // 'k'
{0x003C, 0x003C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x003F, 0x003F, 0x0000, 0x0000}, // 'l'
{0x0000, 0x0000, 0x0000, 0x0EE7, 0x0FFF, 0x0F3B, 0x0E3B, 0x0E3B, 0x0E3B, 0x0E3B, 0x0E3B, 0x0E3B, 0x0E3B, 0x0E3B, 0x0000, 0x0000}, // 'm'
{0x0000, 0x0000, 0x0000, 0x03BC, 0x03FE, 0x03CF, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0000, 0x0000}, // 'n'
{0x0000, 0x0000, 0x0000, 0x007C, 0x00FE, 0x01C7, 0x0383, 0x0383, 0x0383, 0x0383, 0x0383, 0x01C7, 0x00FE, 0x007C, 0x0000, 0x0000}, // 'o'
{0x0000, 0x0000, 0x0000, 0x03BC, 0x03FE, 0x03CF, 0x0387, 0x0387, 0x0387, 0x0387, 0x03CF, 0x03FE, 0x03BC, 0x0380, 0x0380, 0x0380}, // 'p'
{0x0000, 0x0000, 0x0000, 0x0077, 0x00FF, 0x01CF, 0x0387, 0x0387, 0x0387, 0x0387, 0x01CF, 0x00FF, 0x0077, 0x0007, 0x0007, 0x0007}, // 'q'
{0x0000, 0x0000, 0x0000, 0x03BC, 0x03FE, 0x03CF, 0x0387, 0x0380, 0x0380, 0x0380, 0x0380, 0x0380, 0x0380, 0x0380, 0x0000, 0x0000}, // 'r'
{0x0000, 0x0000, 0x0000, 0x00FC, 0x01FE, 0x0387, 0x0380, 0x01F8, 0x00FE, 0x0007, 0x0007, 0x0387, 0x03FE, 0x01FC, 0x0000, 0x0000}, // 's'
{0x0038, 0x0038, 0x0038, 0x00FF, 0x00FF, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x001F, 0x000F, 0x0000, 0x0000}, // 't'
{0x0000, 0x0000, 0x0000, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x01CF, 0x01FF, 0x0077, 0x0000, 0x0000}, // 'u'
{0x0000, 0x0000, 0x0000, 0x0707, 0x0707, 0x038E, 0x038E, 0x038E, 0x01DC, 0x01DC, 0x00F8, 0x00F8, 0x0070, 0x0070, 0x0000, 0x0000}, // 'v'
{0x0000, 0x0000, 0x0000, 0x0E0E, 0x0E0E, 0x0E0E, 0x06B6, 0x06B6, 0x06B6, 0x07F7, 0x07F7, 0x07F7, 0x03E3, 0x03E3, 0x0000, 0x0000}, // 'w'
{0x0000, 0x0000, 0x0000, 0x0707, 0x038E, 0x01DC, 0x00F8, 0x0070, 0x0070, 0x00F8, 0x01DC, 0x038E, 0x0707, 0x0707, 0x0000, 0x0000}, // 'x'
{0x0000, 0x0000, 0x0000, 0x0707, 0x0707, 0x038E, 0x038E, 0x01DC, 0x01DC, 0x00F8, 0x00F8, 0x0070, 0x0070, 0x00E0, 0x01C0, 0x0000}, // 'y'
{0x0000, 0x0000, 0x0000, 0x03FF, 0x03FF, 0x000E, 0x001C, 0x0038, 0x0070, 0x00E0, 0x01C0, 0x0380, 0x03FF, 0x03FF, 0x0000, 0x0000}, // 'z'
// Left brace (index 91)
{0x000F, 0x001E, 0x001C, 0x001C, 0x001C, 0x001C, 0x0038, 0x0070, 0x0038, 0x001C, 0x001C, 0x001C, 0x001C, 0x001E, 0x000F, 0x0000}, // '{'
// Vertical bar (index 92)
{0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0000}, // '|'
// Right brace (index 93)
{0x0078, 0x003C, 0x001C, 0x001C, 0x001C, 0x001C, 0x000E, 0x0007, 0x000E, 0x001C, 0x001C, 0x001C, 0x001C, 0x003C, 0x0078, 0x0000}, // '}'
// Tilde (index 94)
{0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01C7, 0x03EF, 0x077E, 0x0738, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, // '~'
// Degree symbol (index 95)
{0x000E, 0x001F, 0x001F, 0x001F, 0x000E, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}, // '°'
// Umlaut characters (index 96-101)
{0x018C, 0x018C, 0x0000, 0x00F8, 0x01FC, 0x038E, 0x038E, 0x038E, 0x03FE, 0x07FF, 0x0707, 0x0707, 0x0707, 0x0707, 0x0000, 0x0000}, // 'Ä'
{0x0318, 0x0318, 0x0000, 0x01F8, 0x03FC, 0x078E, 0x0706, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0706, 0x078E, 0x03FC, 0x01F8, 0x0000}, // 'Ö'
{0x0318, 0x0318, 0x0000, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x070E, 0x07FE, 0x01F8, 0x0000}, // 'Ü'
{0x00C6, 0x00C6, 0x0000, 0x007C, 0x00FE, 0x01C7, 0x0007, 0x007F, 0x00FF, 0x01C7, 0x0387, 0x0387, 0x01FF, 0x00F7, 0x0000, 0x0000}, // 'ä'
{0x00C6, 0x00C6, 0x0000, 0x007C, 0x00FE, 0x01C7, 0x0383, 0x0383, 0x0383, 0x0383, 0x0383, 0x01C7, 0x00FE, 0x007C, 0x0000, 0x0000}, // 'ö'
{0x00C6, 0x00C6, 0x0000, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x01CF, 0x01FF, 0x0077, 0x0000, 0x0000}, // 'ü'
// Eszett (index 102)
{0x007C, 0x00FE, 0x01C7, 0x01C7, 0x01C7, 0x01CE, 0x01FC, 0x01FE, 0x01CF, 0x01C7, 0x01C7, 0x01CF, 0x01FE, 0x01BC, 0x0180, 0x0180}, // 'ß'
// Bullet (index 103)
{0x0000, 0x0000, 0x0000, 0x0000, 0x003C, 0x007E, 0x00FF, 0x00FF, 0x00FF, 0x00FF, 0x007E, 0x003C, 0x0000, 0x0000, 0x0000, 0x0000}, // '•'
// Euro symbol (index 104)
{0x01F8, 0x07FC, 0x0F0E, 0x1C07, 0x1FC0, 0x1FC0, 0x3800, 0x1FC0, 0x1FC0, 0x3800, 0x1FC0, 0x1FC0, 0x1C07, 0x0F0E, 0x07FC, 0x01F8}, // '€'
#include <map>
#include <vector>
#include <cstdint>
const std::map<uint8_t, std::vector<uint16_t>> font_16x16 = {
{' ', {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}},
{'!', {0x0006, 0x000F, 0x000F, 0x000F, 0x000F, 0x000F, 0x000F, 0x000F, 0x000F, 0x000F, 0x0006, 0x0000, 0x000F, 0x000F, 0x0000, 0x0000}},
{'"', {0x0363, 0x0363, 0x0363, 0x0363, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}},
{'#', {0x0318, 0x0318, 0x0318, 0x0FFF, 0x0FFF, 0x0318, 0x0318, 0x0318, 0x0318, 0x0FFF, 0x0FFF, 0x0318, 0x0318, 0x0318, 0x0000, 0x0000}},
{'$', {0x0078, 0x00FE, 0x01CF, 0x01C7, 0x01C0, 0x00F8, 0x007C, 0x000F, 0x0007, 0x01C7, 0x01CF, 0x00FE, 0x0078, 0x0010, 0x0000, 0x0000}},
{'%', {0x0E0E, 0x1B0E, 0x1B1C, 0x0E38, 0x0070, 0x00E0, 0x01C0, 0x0380, 0x070E, 0x0E1B, 0x1C1B, 0x380E, 0x0000, 0x0000, 0x0000, 0x0000}},
{'&', {0x07C0, 0x0EE0, 0x1C70, 0x1C70, 0x0EE0, 0x07C0, 0x0FC7, 0x1CE7, 0x387E, 0x383C, 0x387E, 0x1CFF, 0x0FE7, 0x07C0, 0x0000, 0x0000}},
{'\'', {0x0003, 0x0003, 0x0003, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}},
{'(', {0x0007, 0x000E, 0x001C, 0x001C, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x001C, 0x001C, 0x000E, 0x0007, 0x0000, 0x0000}},
{')', {0x0038, 0x001C, 0x000E, 0x000E, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x000E, 0x000E, 0x001C, 0x0038, 0x0000, 0x0000}},
{'*', {0x0030, 0x01B3, 0x00FC, 0x0078, 0x00FC, 0x01B3, 0x0030, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}},
{'+', {0x0000, 0x0000, 0x0060, 0x0060, 0x0060, 0x0060, 0x03FF, 0x03FF, 0x0060, 0x0060, 0x0060, 0x0060, 0x0000, 0x0000, 0x0000, 0x0000}},
{',', {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0007, 0x0007, 0x0003, 0x0006, 0x0000, 0x0000}},
{'-', {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03FF, 0x03FF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}},
{'.', {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0003, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000}},
{'/', {0x0003, 0x0007, 0x000E, 0x001C, 0x0038, 0x0070, 0x00E0, 0x01C0, 0x0380, 0x0700, 0x0E00, 0x0C00, 0x0000, 0x0000, 0x0000, 0x0000}},
{'0', {0x01F8, 0x03FC, 0x070E, 0x0606, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0606, 0x070E, 0x03FC, 0x01F8, 0x0000, 0x0000}},
{'1', {0x000C, 0x001C, 0x003C, 0x007C, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x007F, 0x007F, 0x0000, 0x0000}},
{'2', {0x00FC, 0x01FE, 0x0387, 0x0303, 0x0003, 0x0007, 0x000E, 0x001C, 0x0038, 0x0070, 0x00E0, 0x01C0, 0x03FF, 0x03FF, 0x0000, 0x0000}},
{'3', {0x00FC, 0x01FE, 0x0387, 0x0303, 0x0003, 0x0007, 0x007E, 0x007E, 0x0007, 0x0003, 0x0303, 0x0387, 0x01FE, 0x00FC, 0x0000, 0x0000}},
{'4', {0x000E, 0x001E, 0x003E, 0x006E, 0x00CE, 0x018E, 0x030E, 0x060E, 0x07FF, 0x07FF, 0x000E, 0x000E, 0x000E, 0x000E, 0x0000, 0x0000}},
{'5', {0x03FF, 0x03FF, 0x0300, 0x0300, 0x0300, 0x03FC, 0x03FE, 0x0007, 0x0003, 0x0003, 0x0303, 0x0387, 0x01FE, 0x00FC, 0x0000, 0x0000}},
{'6', {0x00FC, 0x01FE, 0x0387, 0x0303, 0x0300, 0x037C, 0x03FE, 0x0387, 0x0303, 0x0303, 0x0303, 0x0387, 0x01FE, 0x00FC, 0x0000, 0x0000}},
{'7', {0x03FF, 0x03FF, 0x0003, 0x0007, 0x000E, 0x001C, 0x0038, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0000, 0x0000}},
{'8', {0x00FC, 0x01FE, 0x0387, 0x0303, 0x0303, 0x0387, 0x01FE, 0x00FC, 0x01FE, 0x0387, 0x0303, 0x0303, 0x0387, 0x01FE, 0x00FC, 0x0000}},
{'9', {0x00FC, 0x01FE, 0x0387, 0x0303, 0x0303, 0x0387, 0x01FF, 0x00FF, 0x0003, 0x0003, 0x0303, 0x0387, 0x01FE, 0x00FC, 0x0000, 0x0000}},
{':', {0x0000, 0x0000, 0x0000, 0x0003, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0003, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000}},
{';', {0x0000, 0x0000, 0x0000, 0x0006, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0006, 0x0003, 0x0006, 0x0000, 0x0000}},
{'<', {0x0003, 0x000F, 0x003C, 0x00F0, 0x03C0, 0x0700, 0x03C0, 0x00F0, 0x003C, 0x000F, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}},
{'=', {0x0000, 0x0000, 0x0000, 0x0000, 0x03FF, 0x03FF, 0x0000, 0x0000, 0x03FF, 0x03FF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}},
{'>', {0x0600, 0x0780, 0x01E0, 0x0078, 0x001E, 0x0007, 0x001E, 0x0078, 0x01E0, 0x0780, 0x0600, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}},
{'?', {0x007C, 0x00FE, 0x01C7, 0x0183, 0x0003, 0x0007, 0x000E, 0x001C, 0x0018, 0x0000, 0x0018, 0x0018, 0x0000, 0x0000, 0x0000, 0x0000}},
{'@', {0x01F8, 0x03FC, 0x070E, 0x0606, 0x0E3F, 0x0E7F, 0x0E67, 0x0E67, 0x0E67, 0x0E7F, 0x0E3E, 0x0600, 0x070E, 0x03FC, 0x01F8, 0x0000}},
{'A', {0x0070, 0x00F8, 0x00F8, 0x01DC, 0x01DC, 0x038E, 0x038E, 0x038E, 0x03FE, 0x07FF, 0x0707, 0x0707, 0x0707, 0x0707, 0x0000, 0x0000}},
{'B', {0x07F8, 0x07FC, 0x070E, 0x070E, 0x070E, 0x071C, 0x07F8, 0x07FC, 0x070E, 0x0707, 0x0707, 0x0707, 0x070E, 0x07FE, 0x07FC, 0x0000}},
{'C', {0x01FC, 0x03FE, 0x0787, 0x0703, 0x0E00, 0x0E00, 0x0E00, 0x0E00, 0x0E00, 0x0E00, 0x0703, 0x0787, 0x03FE, 0x01FC, 0x0000, 0x0000}},
{'D', {0x0FF0, 0x0FFC, 0x0E1E, 0x0E0E, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E0E, 0x0E1E, 0x0FFC, 0x0FF0, 0x0000, 0x0000}},
{'E', {0x07FF, 0x07FF, 0x0700, 0x0700, 0x0700, 0x0700, 0x07FC, 0x07FC, 0x0700, 0x0700, 0x0700, 0x0700, 0x07FF, 0x07FF, 0x0000, 0x0000}},
{'F', {0x07FF, 0x07FF, 0x0700, 0x0700, 0x0700, 0x0700, 0x07FC, 0x07FC, 0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x0000, 0x0000}},
{'G', {0x01FC, 0x03FE, 0x0787, 0x0703, 0x0E00, 0x0E00, 0x0E3F, 0x0E3F, 0x0E07, 0x0E07, 0x0707, 0x0787, 0x03FF, 0x01FF, 0x0000, 0x0000}},
{'H', {0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0FFF, 0x0FFF, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0000, 0x0000}},
{'I', {0x007F, 0x007F, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x007F, 0x007F, 0x0000, 0x0000}},
{'J', {0x007F, 0x007F, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x001C, 0x071C, 0x071C, 0x0738, 0x03F8, 0x01F0, 0x0000, 0x0000}},
{'K', {0x0E0E, 0x0E1C, 0x0E38, 0x0E70, 0x0EE0, 0x0FC0, 0x0FC0, 0x0FE0, 0x0EF0, 0x0E78, 0x0E3C, 0x0E1C, 0x0E0E, 0x0E07, 0x0000, 0x0000}},
{'L', {0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x07FF, 0x07FF, 0x0000, 0x0000}},
{'M', {0x1C07, 0x1E0F, 0x1E0F, 0x1F1F, 0x1F1F, 0x1DB7, 0x1DB7, 0x1CE7, 0x1CE7, 0x1CE7, 0x1C07, 0x1C07, 0x1C07, 0x1C07, 0x0000, 0x0000}},
{'N', {0x0E07, 0x0F07, 0x0F07, 0x0F87, 0x0FC7, 0x0EE7, 0x0E77, 0x0E77, 0x0E3F, 0x0E1F, 0x0E1F, 0x0E0F, 0x0E07, 0x0E07, 0x0000, 0x0000}},
{'O', {0x01F8, 0x03FC, 0x078E, 0x0706, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0706, 0x078E, 0x03FC, 0x01F8, 0x0000, 0x0000}},
{'P', {0x07F8, 0x07FC, 0x070E, 0x0707, 0x0707, 0x0707, 0x070E, 0x07FC, 0x07F8, 0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x0000, 0x0000}},
{'Q', {0x01F8, 0x03FC, 0x078E, 0x0706, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E67, 0x077E, 0x07BE, 0x03FC, 0x01F7, 0x0000, 0x0000}},
{'R', {0x0FF0, 0x0FF8, 0x0E1C, 0x0E0E, 0x0E0E, 0x0E0E, 0x0E1C, 0x0FF8, 0x0FF0, 0x0E78, 0x0E3C, 0x0E1E, 0x0E0E, 0x0E07, 0x0000, 0x0000}},
{'S', {0x01FC, 0x03FE, 0x0787, 0x0703, 0x0700, 0x0780, 0x03FC, 0x00FE, 0x0007, 0x0003, 0x0703, 0x0787, 0x03FE, 0x01FC, 0x0000, 0x0000}},
{'T', {0x07FF, 0x07FF, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0000, 0x0000}},
{'U', {0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x070E, 0x07FE, 0x01F8, 0x0000, 0x0000}},
{'V', {0x0E07, 0x0E07, 0x070E, 0x070E, 0x070E, 0x039C, 0x039C, 0x039C, 0x01F8, 0x01F8, 0x01F8, 0x00F0, 0x00F0, 0x00F0, 0x0000, 0x0000}},
{'W', {0x0E0E, 0x0E0E, 0x0E0E, 0x0E0E, 0x0E0E, 0x0E0E, 0x06B6, 0x06B6, 0x06B6, 0x07F7, 0x07F7, 0x07F7, 0x03E3, 0x03E3, 0x0000, 0x0000}},
{'X', {0x0E07, 0x070E, 0x070E, 0x039C, 0x01F8, 0x01F8, 0x00F0, 0x00F0, 0x01F8, 0x01F8, 0x039C, 0x070E, 0x070E, 0x0E07, 0x0000, 0x0000}},
{'Y', {0x0E07, 0x070E, 0x070E, 0x039C, 0x039C, 0x01F8, 0x01F8, 0x00F0, 0x00F0, 0x00F0, 0x00F0, 0x00F0, 0x00F0, 0x00F0, 0x0000, 0x0000}},
{'Z', {0x07FF, 0x07FF, 0x000E, 0x001C, 0x0038, 0x0070, 0x00E0, 0x01C0, 0x0380, 0x0700, 0x0E00, 0x0E00, 0x07FF, 0x07FF, 0x0000, 0x0000}},
{'[', {0x003F, 0x003F, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x003F, 0x003F, 0x0000}},
{'\\', {0x3000, 0x3800, 0x1C00, 0x0E00, 0x0700, 0x0380, 0x01C0, 0x00E0, 0x0070, 0x0038, 0x001C, 0x000E, 0x0007, 0x0003, 0x0000, 0x0000}},
{']', {0x003F, 0x003F, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x003F, 0x003F, 0x0000}},
{'^', {0x0030, 0x0078, 0x00FC, 0x01CE, 0x0387, 0x0303, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}},
{'_', {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF}},
{'`', {0x000C, 0x0006, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}},
{'a', {0x0000, 0x0000, 0x0000, 0x007C, 0x00FE, 0x01C7, 0x0007, 0x007F, 0x00FF, 0x01C7, 0x0387, 0x0387, 0x01FF, 0x00F7, 0x0000, 0x0000}},
{'b', {0x0380, 0x0380, 0x0380, 0x03BC, 0x03FE, 0x03CF, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x03CF, 0x03FE, 0x03BC, 0x0000, 0x0000}},
{'c', {0x0000, 0x0000, 0x0000, 0x007C, 0x00FE, 0x01C7, 0x0383, 0x0380, 0x0380, 0x0380, 0x0383, 0x01C7, 0x00FE, 0x007C, 0x0000, 0x0000}},
{'d', {0x0007, 0x0007, 0x0007, 0x0077, 0x00FF, 0x01CF, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x01CF, 0x00FF, 0x0077, 0x0000, 0x0000}},
{'e', {0x0000, 0x0000, 0x0000, 0x007C, 0x00FE, 0x01C7, 0x0383, 0x03FF, 0x03FF, 0x0380, 0x0381, 0x01C3, 0x00FF, 0x007C, 0x0000, 0x0000}},
{'f', {0x001F, 0x003F, 0x0078, 0x0070, 0x01FE, 0x01FE, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0070, 0x0000, 0x0000}},
{'g', {0x0000, 0x0000, 0x0000, 0x0077, 0x00FF, 0x01CF, 0x0387, 0x0387, 0x0387, 0x0387, 0x01CF, 0x00FF, 0x0077, 0x0007, 0x01FE, 0x01FC}},
{'h', {0x0380, 0x0380, 0x0380, 0x03BC, 0x03FE, 0x03CF, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0000, 0x0000}},
{'i', {0x000C, 0x000C, 0x0000, 0x003C, 0x003C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x003F, 0x003F, 0x0000, 0x0000}},
{'j', {0x0003, 0x0003, 0x0000, 0x000F, 0x000F, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0E03, 0x0E03, 0x007E, 0x003C}},
{'k', {0x0700, 0x0700, 0x0700, 0x070E, 0x071C, 0x0738, 0x0770, 0x07E0, 0x07E0, 0x0770, 0x0738, 0x071C, 0x070E, 0x0707, 0x0000, 0x0000}},
{'l', {0x003C, 0x003C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x003F, 0x003F, 0x0000, 0x0000}},
{'m', {0x0000, 0x0000, 0x0000, 0x0EE7, 0x0FFF, 0x0F3B, 0x0E3B, 0x0E3B, 0x0E3B, 0x0E3B, 0x0E3B, 0x0E3B, 0x0E3B, 0x0E3B, 0x0000, 0x0000}},
{'n', {0x0000, 0x0000, 0x0000, 0x03BC, 0x03FE, 0x03CF, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0000, 0x0000}},
{'o', {0x0000, 0x0000, 0x0000, 0x007C, 0x00FE, 0x01C7, 0x0383, 0x0383, 0x0383, 0x0383, 0x0383, 0x01C7, 0x00FE, 0x007C, 0x0000, 0x0000}},
{'p', {0x0000, 0x0000, 0x0000, 0x03BC, 0x03FE, 0x03CF, 0x0387, 0x0387, 0x0387, 0x0387, 0x03CF, 0x03FE, 0x03BC, 0x0380, 0x0380, 0x0380}},
{'q', {0x0000, 0x0000, 0x0000, 0x0077, 0x00FF, 0x01CF, 0x0387, 0x0387, 0x0387, 0x0387, 0x01CF, 0x00FF, 0x0077, 0x0007, 0x0007, 0x0007}},
{'r', {0x0000, 0x0000, 0x0000, 0x03BC, 0x03FE, 0x03CF, 0x0387, 0x0380, 0x0380, 0x0380, 0x0380, 0x0380, 0x0380, 0x0380, 0x0000, 0x0000}},
{'s', {0x0000, 0x0000, 0x0000, 0x00FC, 0x01FE, 0x0387, 0x0380, 0x01F8, 0x00FE, 0x0007, 0x0007, 0x0387, 0x03FE, 0x01FC, 0x0000, 0x0000}},
{'t', {0x0038, 0x0038, 0x0038, 0x00FF, 0x00FF, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x0038, 0x001F, 0x000F, 0x0000, 0x0000}},
{'u', {0x0000, 0x0000, 0x0000, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x01CF, 0x01FF, 0x0077, 0x0000, 0x0000}},
{'v', {0x0000, 0x0000, 0x0000, 0x0707, 0x0707, 0x038E, 0x038E, 0x038E, 0x01DC, 0x01DC, 0x00F8, 0x00F8, 0x0070, 0x0070, 0x0000, 0x0000}},
{'w', {0x0000, 0x0000, 0x0000, 0x0E0E, 0x0E0E, 0x0E0E, 0x06B6, 0x06B6, 0x06B6, 0x07F7, 0x07F7, 0x07F7, 0x03E3, 0x03E3, 0x0000, 0x0000}},
{'x', {0x0000, 0x0000, 0x0000, 0x0707, 0x038E, 0x01DC, 0x00F8, 0x0070, 0x0070, 0x00F8, 0x01DC, 0x038E, 0x0707, 0x0707, 0x0000, 0x0000}},
{'y', {0x0000, 0x0000, 0x0000, 0x0707, 0x0707, 0x038E, 0x038E, 0x01DC, 0x01DC, 0x00F8, 0x00F8, 0x0070, 0x0070, 0x00E0, 0x01C0, 0x0000}},
{'z', {0x0000, 0x0000, 0x0000, 0x03FF, 0x03FF, 0x000E, 0x001C, 0x0038, 0x0070, 0x00E0, 0x01C0, 0x0380, 0x03FF, 0x03FF, 0x0000, 0x0000}},
{'{', {0x000F, 0x001E, 0x001C, 0x001C, 0x001C, 0x001C, 0x0038, 0x0070, 0x0038, 0x001C, 0x001C, 0x001C, 0x001C, 0x001E, 0x000F, 0x0000}},
{'|', {0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0000}},
{'}', {0x0078, 0x003C, 0x001C, 0x001C, 0x001C, 0x001C, 0x000E, 0x0007, 0x000E, 0x001C, 0x001C, 0x001C, 0x001C, 0x003C, 0x0078, 0x0000}},
{'~', {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x01C7, 0x03EF, 0x077E, 0x0738, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}},
// {'°', {0x000E, 0x001F, 0x001F, 0x001F, 0x000E, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}},
// {'Ä', {0x018C, 0x018C, 0x0000, 0x00F8, 0x01FC, 0x038E, 0x038E, 0x038E, 0x03FE, 0x07FF, 0x0707, 0x0707, 0x0707, 0x0707, 0x0000, 0x0000}},
// {'Ö', {0x0318, 0x0318, 0x0000, 0x01F8, 0x03FC, 0x078E, 0x0706, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0706, 0x078E, 0x03FC, 0x01F8, 0x0000}},
// {'Ü', {0x0318, 0x0318, 0x0000, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x0E07, 0x070E, 0x07FE, 0x01F8, 0x0000}},
// {'ä', {0x00C6, 0x00C6, 0x0000, 0x007C, 0x00FE, 0x01C7, 0x0007, 0x007F, 0x00FF, 0x01C7, 0x0387, 0x0387, 0x01FF, 0x00F7, 0x0000, 0x0000}},
// {'ö', {0x00C6, 0x00C6, 0x0000, 0x007C, 0x00FE, 0x01C7, 0x0383, 0x0383, 0x0383, 0x0383, 0x0383, 0x01C7, 0x00FE, 0x007C, 0x0000, 0x0000}},
// {'ü', {0x00C6, 0x00C6, 0x0000, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x0387, 0x01CF, 0x01FF, 0x0077, 0x0000, 0x0000}},
// {'ß', {0x007C, 0x00FE, 0x01C7, 0x01C7, 0x01C7, 0x01CE, 0x01FC, 0x01FE, 0x01CF, 0x01C7, 0x01C7, 0x01CF, 0x01FE, 0x01BC, 0x0180, 0x0180}},
// {'•', {0x0000, 0x0000, 0x0000, 0x0000, 0x003C, 0x007E, 0x00FF, 0x00FF, 0x00FF, 0x00FF, 0x007E, 0x003C, 0x0000, 0x0000, 0x0000, 0x0000}},
// {'€', {0x01F8, 0x07FC, 0x0F0E, 0x1C07, 0x1FC0, 0x1FC0, 0x3800, 0x1FC0, 0x1FC0, 0x3800, 0x1FC0, 0x1FC0, 0x1C07, 0x0F0E, 0x07FC, 0x01F8}}
};
// Character mapping
const char font_chars_16x16[] = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~°ÄÖÜäßäöü•€";
// Declarations only
const uint16_t *getFontChar_16x16(char c);
const std::vector<uint16_t> &getFontChar_16x16(char c);
const uint8_t fontHeight_16x16();
#endif