/** monospace pixel fonts collection (code) * @file * @author King Kévin * @date 2018 * @copyright SPDX-License-Identifier: GPL-3.0-or-later */ #include // standard integer types #include "font.h" // own definitions /** 8x5 px monospace bitmap font */ const uint16_t font_king8[FONT_GLYPH_NUMBERS * 5] = { 0x00, 0x00, 0x00, 0x00, 0x00, // ' ' 0x00, 0x00, 0xfa, 0x00, 0x00, // '!' 0x00, 0xc0, 0x00, 0xc0, 0x00, // '"' 0x28, 0x7c, 0x28, 0x7c, 0x28, // '#' 0x24, 0x54, 0xfe, 0x54, 0x48, // '$' 0xc6, 0xc8, 0x10, 0x26, 0xc6, // '%' 0x6c, 0x92, 0x6a, 0x04, 0x0a, // '&' 0x00, 0xc0, 0x00, 0x00, 0x00, // ''' 0x00, 0x3c, 0x42, 0x81, 0x00, // '(' 0x00, 0x81, 0x42, 0x3c, 0x00, // ')' 0x54, 0x38, 0x7c, 0x38, 0x54, // '*' 0x10, 0x10, 0x7c, 0x10, 0x10, // '+' 0x00, 0x02, 0x0c, 0x00, 0x00, // ',' 0x00, 0x10, 0x10, 0x10, 0x00, // '-' 0x00, 0x00, 0x0c, 0x00, 0x00, // '.' 0x06, 0x08, 0x10, 0x20, 0xc0, // '/' 0x7c, 0x8a, 0x92, 0xa2, 0x7c, // '0' 0x00, 0x42, 0xfe, 0x02, 0x00, // '1' 0x00, 0x86, 0x8a, 0x92, 0x62, // '2' 0x00, 0x82, 0x92, 0x92, 0x6c, // '3' 0x18, 0x28, 0x48, 0xfe, 0x08, // '4' 0xe4, 0xa2, 0xa2, 0xa2, 0x9c, // '5' 0x7c, 0x92, 0x92, 0x92, 0x0c, // '6' 0x80, 0x8e, 0x90, 0xa0, 0xc0, // '7' 0x6c, 0x92, 0x92, 0x92, 0x6c, // '8' 0x60, 0x92, 0x92, 0x92, 0x7c, // '9' 0x00, 0x00, 0x6c, 0x00, 0x00, // ':' 0x00, 0x02, 0x6c, 0x00, 0x00, // ';' 0x00, 0x10, 0x28, 0x44, 0x00, // '<' 0x00, 0x28, 0x28, 0x28, 0x00, // '=' 0x00, 0x44, 0x28, 0x10, 0x00, // '>' 0x40, 0x80, 0x9a, 0xa0, 0x40, // '?' 0x7c, 0x82, 0xba, 0xaa, 0x7a, // '@' 0x7e, 0x90, 0x90, 0x90, 0x7e, // 'A' 0xfe, 0x92, 0x92, 0x92, 0x6c, // 'B' 0x7c, 0x82, 0x82, 0x82, 0x82, // 'C' 0xfe, 0x82, 0x82, 0x82, 0x7c, // 'D' 0xfe, 0x92, 0x92, 0x92, 0x82, // 'E' 0xfe, 0x90, 0x90, 0x90, 0x80, // 'F' 0x7c, 0x82, 0x82, 0x92, 0x9c, // 'G' 0xfe, 0x10, 0x10, 0x10, 0xfe, // 'H' 0x00, 0x82, 0xfe, 0x82, 0x00, // 'I' 0x00, 0x82, 0x82, 0xfc, 0x00, // 'J' 0xfe, 0x10, 0x28, 0x44, 0x82, // 'K' 0xfe, 0x02, 0x02, 0x02, 0x02, // 'L' 0xfe, 0x40, 0x20, 0x40, 0xfe, // 'M' 0xfe, 0x20, 0x10, 0x08, 0xfe, // 'N' 0x7c, 0x82, 0x82, 0x82, 0x7c, // 'O' 0xfe, 0x90, 0x90, 0x90, 0x60, // 'P' 0x7c, 0x82, 0x8a, 0x84, 0x7a, // 'Q' 0xfe, 0x90, 0x98, 0x94, 0x62, // 'R' 0x62, 0x92, 0x92, 0x92, 0x8c, // 'S' 0x80, 0x80, 0xfe, 0x80, 0x80, // 'T' 0xfc, 0x02, 0x02, 0x02, 0xfc, // 'U' 0xe0, 0x18, 0x06, 0x18, 0xe0, // 'V' 0xf8, 0x06, 0x18, 0x06, 0xf8, // 'W' 0xc6, 0x28, 0x10, 0x28, 0xc6, // 'X' 0xc0, 0x20, 0x1e, 0x20, 0xc0, // 'Y' 0x86, 0x8a, 0x92, 0xa2, 0xc2, // 'Z' 0x00, 0xfe, 0x82, 0x82, 0x00, // '[' 0xc0, 0x20, 0x10, 0x08, 0x06, // '\' 0x00, 0x82, 0x82, 0xfe, 0x00, // ']' 0x00, 0x20, 0x40, 0x20, 0x00, // '^' 0x02, 0x02, 0x02, 0x02, 0x02, // '_' 0x00, 0x40, 0x20, 0x00, 0x00, // '`' 0x04, 0x2a, 0x2a, 0x1e, 0x00, // 'a' 0x7e, 0x12, 0x12, 0x0c, 0x00, // 'b' 0x1c, 0x22, 0x22, 0x22, 0x00, // 'c' 0x0c, 0x12, 0x12, 0x7e, 0x00, // 'd' 0x1c, 0x2a, 0x2a, 0x18, 0x00, // 'e' 0x10, 0x3e, 0x50, 0x40, 0x00, // 'f' 0x18, 0x25, 0x25, 0x1e, 0x00, // 'g' 0x7e, 0x10, 0x10, 0x0e, 0x00, // 'h' 0x00, 0x10, 0x5e, 0x00, 0x00, // 'i' 0x01, 0x01, 0x5e, 0x00, 0x00, // 'j' 0x7e, 0x08, 0x14, 0x22, 0x00, // 'k' 0x00, 0x40, 0x7c, 0x02, 0x00, // 'l' 0x3e, 0x20, 0x1e, 0x20, 0x1e, // 'm' 0x00, 0x3e, 0x20, 0x1e, 0x00, // 'n' 0x1c, 0x22, 0x22, 0x1c, 0x00, // 'o' 0x3f, 0x24, 0x24, 0x18, 0x00, // 'p' 0x18, 0x24, 0x24, 0x3f, 0x00, // 'q' 0x3e, 0x10, 0x20, 0x10, 0x00, // 'r' 0x12, 0x2a, 0x2a, 0x24, 0x00, // 's' 0x7c, 0x12, 0x12, 0x02, 0x00, // 't' 0x3c, 0x02, 0x02, 0x3e, 0x00, // 'u' 0x38, 0x04, 0x02, 0x04, 0x38, // 'v' 0x3c, 0x02, 0x0c, 0x02, 0x3c, // 'w' 0x36, 0x08, 0x08, 0x36, 0x00, // 'x' 0x30, 0x09, 0x09, 0x3e, 0x00, // 'y' 0x26, 0x2a, 0x2a, 0x32, 0x00, // 'z' 0x10, 0x6c, 0x82, 0x00, 0x00, // '{' 0x00, 0x00, 0xfe, 0x00, 0x00, // '|' 0x00, 0x82, 0x6c, 0x10, 0x00, // '}' 0x20, 0x40, 0x60, 0x20, 0x40, // '~' }; /** 10x6 px monospace bitmap font */ static const uint16_t font_king10[FONT_GLYPH_NUMBERS * 6] = { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // ' ' 0x0000, 0x0000, 0x01f6, 0x0000, 0x0000, 0x0000, // '!' 0x0000, 0x0180, 0x0000, 0x0180, 0x0000, 0x0000, // '"' 0x0028, 0x00fe, 0x0028, 0x00fe, 0x0028, 0x0000, // '#' 0x00c4, 0x0124, 0x03fe, 0x0124, 0x0118, 0x0000, // '$' 0x00c6, 0x00c8, 0x0010, 0x0020, 0x004c, 0x018c, // '%' 0x00dc, 0x0122, 0x0122, 0x00d2, 0x000c, 0x0012, // '&' 0x0000, 0x0000, 0x0180, 0x0000, 0x0000, 0x0000, // ''' 0x0000, 0x0078, 0x0186, 0x0201, 0x0000, 0x0000, // '(' 0x0000, 0x0201, 0x0186, 0x0078, 0x0000, 0x0000, // ')' 0x0090, 0x0060, 0x00f0, 0x0060, 0x0090, 0x0000, // '*' 0x0020, 0x0020, 0x00f8, 0x0020, 0x0020, 0x0000, // '+' 0x0000, 0x0000, 0x0001, 0x0006, 0x0000, 0x0000, // ',' 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0000, // '-' 0x0000, 0x0000, 0x0000, 0x0006, 0x0000, 0x0000, // '.' 0x0003, 0x000c, 0x0030, 0x00c0, 0x0300, 0x0000, // '/' 0x01fc, 0x0212, 0x0222, 0x0242, 0x0282, 0x01fc, // '0' 0x0000, 0x0040, 0x0080, 0x0100, 0x03fe, 0x0000, // '1' 0x0102, 0x0206, 0x020a, 0x0212, 0x0222, 0x01c2, // '2' 0x0202, 0x0202, 0x0222, 0x0222, 0x0222, 0x01dc, // '3' 0x0030, 0x0050, 0x0090, 0x0110, 0x03fe, 0x0010, // '4' 0x03c4, 0x0242, 0x0242, 0x0242, 0x0242, 0x023c, // '5' 0x01fc, 0x0222, 0x0222, 0x0222, 0x0222, 0x001c, // '6' 0x0200, 0x0200, 0x023e, 0x0240, 0x0280, 0x0300, // '7' 0x01dc, 0x0222, 0x0222, 0x0222, 0x0222, 0x01dc, // '8' 0x01c0, 0x0222, 0x0222, 0x0222, 0x0222, 0x01fc, // '9' 0x0000, 0x0000, 0x00cc, 0x0000, 0x0000, 0x0000, // ':' 0x0000, 0x0002, 0x00cc, 0x0000, 0x0000, 0x0000, // ';' 0x0000, 0x0020, 0x0050, 0x0088, 0x0104, 0x0000, // '<' 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0000, // '=' 0x0000, 0x0104, 0x0088, 0x0050, 0x0020, 0x0000, // '>' 0x0100, 0x0200, 0x021a, 0x0220, 0x0240, 0x0180, // '?' 0x0078, 0x0084, 0x0132, 0x014a, 0x014a, 0x00fa, // '@' 0x01fe, 0x0220, 0x0220, 0x0220, 0x0220, 0x01fe, // 'A' 0x03fe, 0x0222, 0x0222, 0x0222, 0x0222, 0x01dc, // 'B' 0x01fc, 0x0202, 0x0202, 0x0202, 0x0202, 0x0202, // 'C' 0x03fe, 0x0202, 0x0202, 0x0202, 0x0202, 0x01fc, // 'D' 0x03fe, 0x0222, 0x0222, 0x0222, 0x0222, 0x0202, // 'E' 0x03fe, 0x0220, 0x0220, 0x0220, 0x0220, 0x0200, // 'F' 0x01fc, 0x0202, 0x0202, 0x0202, 0x0222, 0x023c, // 'G' 0x03fe, 0x0020, 0x0020, 0x0020, 0x0020, 0x03fe, // 'H' 0x0202, 0x0202, 0x03fe, 0x0202, 0x0202, 0x0000, // 'I' 0x0202, 0x0202, 0x0202, 0x0204, 0x03f8, 0x0000, // 'J' 0x03fe, 0x0020, 0x0050, 0x0088, 0x0104, 0x0202, // 'K' 0x03fe, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, // 'L' 0x03fe, 0x0100, 0x0080, 0x0080, 0x0100, 0x03fe, // 'M' 0x03fe, 0x0080, 0x0040, 0x0020, 0x0010, 0x03fe, // 'N' 0x01fc, 0x0202, 0x0202, 0x0202, 0x0202, 0x01fc, // 'O' 0x03fe, 0x0220, 0x0220, 0x0220, 0x0220, 0x01c0, // 'P' 0x01fc, 0x0202, 0x0202, 0x020a, 0x0204, 0x01fa, // 'Q' 0x03fe, 0x0220, 0x0230, 0x0228, 0x0224, 0x01c2, // 'R' 0x01c2, 0x0222, 0x0222, 0x0222, 0x0222, 0x021c, // 'S' 0x0200, 0x0200, 0x03fe, 0x0200, 0x0200, 0x0000, // 'T' 0x03fc, 0x0002, 0x0002, 0x0002, 0x0002, 0x03fc, // 'U' 0x03e0, 0x0018, 0x0006, 0x0006, 0x0018, 0x03e0, // 'V' 0x03fc, 0x0002, 0x000c, 0x000c, 0x0002, 0x03fc, // 'W' 0x038e, 0x0050, 0x0020, 0x0020, 0x0050, 0x038e, // 'X' 0x0380, 0x0040, 0x003e, 0x0040, 0x0380, 0x0000, // 'Y' 0x020e, 0x0212, 0x0222, 0x0242, 0x0282, 0x0302, // 'Z' 0x0000, 0x03fe, 0x0202, 0x0202, 0x0202, 0x0000, // '[' 0x0000, 0x0300, 0x00c0, 0x0030, 0x000c, 0x0003, // '\' 0x0000, 0x0202, 0x0202, 0x0202, 0x03fe, 0x0000, // ']' 0x0040, 0x0080, 0x0100, 0x0080, 0x0040, 0x0000, // '^' 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, // '_' 0x0000, 0x0100, 0x0080, 0x0040, 0x0000, 0x0000, // '`' 0x0004, 0x002a, 0x002a, 0x002a, 0x001e, 0x0000, // 'a' 0x01fe, 0x0022, 0x0022, 0x0022, 0x001c, 0x0000, // 'b' 0x001c, 0x0022, 0x0022, 0x0022, 0x0022, 0x0000, // 'c' 0x001c, 0x0022, 0x0022, 0x0022, 0x01fe, 0x0000, // 'd' 0x001c, 0x002a, 0x002a, 0x002a, 0x0018, 0x0000, // 'e' 0x0020, 0x00fe, 0x0120, 0x0120, 0x0100, 0x0000, // 'f' 0x0018, 0x0025, 0x0025, 0x0025, 0x001e, 0x0000, // 'g' 0x01fe, 0x0020, 0x0020, 0x0020, 0x001e, 0x0000, // 'h' 0x0000, 0x0020, 0x00be, 0x0000, 0x0000, 0x0000, // 'i' 0x0000, 0x0001, 0x0021, 0x00be, 0x0000, 0x0000, // 'j' 0x01fe, 0x0010, 0x0028, 0x0046, 0x0000, 0x0000, // 'k' 0x0000, 0x0100, 0x01fc, 0x0002, 0x0000, 0x0000, // 'l' 0x003e, 0x0020, 0x001e, 0x0020, 0x001e, 0x0000, // 'm' 0x0000, 0x003e, 0x0020, 0x0020, 0x001e, 0x0000, // 'n' 0x001c, 0x0022, 0x0022, 0x0022, 0x001c, 0x0000, // 'o' 0x003f, 0x0024, 0x0024, 0x0024, 0x0018, 0x0000, // 'p' 0x0018, 0x0024, 0x0024, 0x0024, 0x003f, 0x0000, // 'q' 0x003e, 0x0010, 0x0020, 0x0020, 0x0010, 0x0000, // 'r' 0x0012, 0x002a, 0x002a, 0x002a, 0x0024, 0x0000, // 's' 0x0000, 0x01fc, 0x0042, 0x0042, 0x0002, 0x0000, // 't' 0x003c, 0x0002, 0x0002, 0x0002, 0x003e, 0x0000, // 'u' 0x0030, 0x000c, 0x0002, 0x000c, 0x0030, 0x0000, // 'v' 0x003c, 0x0002, 0x001c, 0x0002, 0x003c, 0x0000, // 'w' 0x0022, 0x0014, 0x0008, 0x0014, 0x0022, 0x0000, // 'x' 0x0038, 0x0005, 0x0005, 0x0005, 0x003e, 0x0000, // 'y' 0x0022, 0x0026, 0x002a, 0x0032, 0x0022, 0x0000, // 'z' 0x0000, 0x0020, 0x01dc, 0x0202, 0x0000, 0x0000, // '{' 0x0000, 0x0000, 0x03fe, 0x0000, 0x0000, 0x0000, // '|' 0x0000, 0x0202, 0x01dc, 0x0020, 0x0000, 0x0000, // '}' 0x0020, 0x0040, 0x0040, 0x0020, 0x0020, 0x0040, // '~' }; /** 14*9 px monospace bitmap font */ static const uint16_t font_king14[FONT_GLYPH_NUMBERS * 9] = { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, // ' ' 0x0000, 0x0000, 0x0000, 0x1fe6, 0x1fe6, 0x0000, 0x0000, 0x0000, 0x0000, // '!' 0x0000, 0x0e00, 0x0e00, 0x0000, 0x0000, 0x0e00, 0x0e00, 0x0000, 0x0000, // '"' 0x0330, 0x0ffc, 0x0ffc, 0x0330, 0x0330, 0x0ffc, 0x0ffc, 0x0330, 0x0000, // '#' 0x0718, 0x0f9c, 0x1dce, 0x18c6, 0x3fff, 0x18c6, 0x1cee, 0x0e7c, 0x0638, // '$' 0x041e, 0x0e3e, 0x1b70, 0x0ee0, 0x05d0, 0x03b8, 0x076c, 0x3e38, 0x3c10, // '%' 0x0e78, 0x1ffe, 0x3186, 0x3186, 0x1fce, 0x0e7c, 0x0038, 0x006c, 0x00c6, // '&' 0x0000, 0x0000, 0x0000, 0x0e00, 0x0e00, 0x0000, 0x0000, 0x0000, 0x0000, // ''' 0x0000, 0x0000, 0x07f8, 0x0ffc, 0x1c0e, 0x3807, 0x3003, 0x0000, 0x0000, // '(' 0x0000, 0x0000, 0x3003, 0x3807, 0x1c0e, 0x0ffc, 0x03f0, 0x0000, 0x0000, // ')' 0x0ccc, 0x06d8, 0x03f0, 0x0ffc, 0x0ffc, 0x03f0, 0x06d8, 0x0ccc, 0x0000, // '*' 0x0000, 0x01c0, 0x01c0, 0x07f0, 0x07f0, 0x07f0, 0x01c0, 0x01c0, 0x0000, // '+' 0x0000, 0x0000, 0x0003, 0x0007, 0x001e, 0x001c, 0x0000, 0x0000, 0x0000, // ',' 0x0000, 0x00c0, 0x00c0, 0x00c0, 0x00c0, 0x00c0, 0x00c0, 0x00c0, 0x0000, // '-' 0x0000, 0x0000, 0x0000, 0x000c, 0x000c, 0x0000, 0x0000, 0x0000, 0x0000, // '.' 0x0003, 0x000f, 0x003c, 0x00f0, 0x03c0, 0x0f00, 0x3c00, 0x3000, 0x0000, // '/' 0x0ffc, 0x1ffe, 0x3033, 0x3063, 0x30c3, 0x3183, 0x3303, 0x1ffe, 0x0ffc, // '0' 0x0000, 0x0000, 0x0600, 0x0e00, 0x1e00, 0x3fff, 0x3fff, 0x0000, 0x0000, // '1' 0x0c07, 0x1c0f, 0x381f, 0x303b, 0x3073, 0x30e3, 0x39c3, 0x1f83, 0x0f03, // '2' 0x3003, 0x3003, 0x30c3, 0x30c3, 0x30c3, 0x30c3, 0x39e7, 0x1ffe, 0x0f3c, // '3' 0x00f0, 0x01f0, 0x03b0, 0x0730, 0x0e30, 0x1c30, 0x3fff, 0x3fff, 0x0030, // '4' 0x3f1c, 0x3f1e, 0x3307, 0x3303, 0x3303, 0x3303, 0x3387, 0x31fe, 0x30fc, // '5' 0x0ffc, 0x1ffe, 0x39c7, 0x3183, 0x3183, 0x3183, 0x31c7, 0x30fe, 0x007c, // '6' 0x3000, 0x3000, 0x3000, 0x30ff, 0x31ff, 0x3380, 0x3700, 0x3e00, 0x3c00, // '7' 0x0f7c, 0x1ffe, 0x39e7, 0x30c3, 0x30c3, 0x30c3, 0x39e7, 0x1ffe, 0x0f3c, // '8' 0x0f80, 0x1fc3, 0x38e3, 0x3063, 0x3063, 0x3063, 0x38e7, 0x1ffe, 0x0ffc, // '9' 0x0000, 0x0000, 0x0000, 0x071c, 0x071c, 0x0000, 0x0000, 0x0000, 0x0000, // ':' 0x0000, 0x0000, 0x0003, 0x0007, 0x071e, 0x071c, 0x0000, 0x0000, 0x0000, // ';' 0x0000, 0x01c0, 0x03e0, 0x0770, 0x0e38, 0x1c1c, 0x380e, 0x3006, 0x0000, // '<' 0x0000, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0000, // '=' 0x0000, 0x3006, 0x380e, 0x1c1c, 0x0e38, 0x0770, 0x03e0, 0x01c0, 0x0000, // '>' 0x0c00, 0x1c00, 0x3800, 0x303b, 0x307b, 0x30e0, 0x39c0, 0x1f80, 0x0f00, // '?' 0x07f8, 0x0ffc, 0x1c0e, 0x19e6, 0x1bf6, 0x1b36, 0x1f36, 0x0ff6, 0x07e6, // '@' 0x0fff, 0x1fff, 0x38c0, 0x30c0, 0x30c0, 0x30c0, 0x38c0, 0x1fff, 0x0fff, // 'A' 0x3fff, 0x3fff, 0x30c3, 0x30c3, 0x30c3, 0x30c3, 0x39e7, 0x1ffe, 0x0f3c, // 'B' 0x0ffc, 0x1ffe, 0x3807, 0x3003, 0x3003, 0x3003, 0x3003, 0x3003, 0x3003, // 'C' 0x3fff, 0x3fff, 0x3003, 0x3003, 0x3003, 0x3807, 0x1c0e, 0x0ffc, 0x07f8, // 'D' 0x3fff, 0x3fff, 0x30c3, 0x30c3, 0x30c3, 0x30c3, 0x30c3, 0x3003, 0x3003, // 'E' 0x3fff, 0x3fff, 0x3180, 0x3180, 0x3180, 0x3180, 0x3180, 0x3000, 0x3000, // 'F' 0x1ffe, 0x3fff, 0x3807, 0x3003, 0x3003, 0x30c3, 0x30c3, 0x38ff, 0x18fe, // 'G' 0x3fff, 0x3fff, 0x00c0, 0x00c0, 0x00c0, 0x00c0, 0x00c0, 0x3fff, 0x3fff, // 'H' 0x3003, 0x3003, 0x3003, 0x3fff, 0x3fff, 0x3003, 0x3003, 0x3003, 0x0000, // 'I' 0x0000, 0x3003, 0x3007, 0x300e, 0x301c, 0x3ff8, 0x3ff0, 0x0000, 0x0000, // 'J' 0x3fff, 0x3fff, 0x01e0, 0x03f0, 0x0738, 0x0e1c, 0x1c0e, 0x3807, 0x3003, // 'K' 0x3fff, 0x3fff, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, // 'L' 0x3fff, 0x3fff, 0x1c00, 0x0e00, 0x0700, 0x0e00, 0x1c00, 0x3fff, 0x3fff, // 'M' 0x3fff, 0x3fff, 0x0700, 0x0380, 0x01c0, 0x00e0, 0x0070, 0x3fff, 0x3fff, // 'N' 0x0ffc, 0x1ffe, 0x3807, 0x3003, 0x3003, 0x3003, 0x3807, 0x1ffe, 0x0ffc, // 'O' 0x3fff, 0x3fff, 0x3060, 0x3060, 0x3060, 0x3060, 0x38e0, 0x1fc0, 0x0f80, // 'P' 0x0ffc, 0x1ffe, 0x3003, 0x3003, 0x301b, 0x301f, 0x300e, 0x1fff, 0x0ffb, // 'Q' 0x3fff, 0x3fff, 0x30e0, 0x30f0, 0x30f8, 0x30dc, 0x39ce, 0x1f87, 0x0f03, // 'R' 0x0f03, 0x1f83, 0x39c3, 0x30c3, 0x30c3, 0x30c3, 0x30e7, 0x307e, 0x303c, // 'S' 0x3000, 0x3000, 0x3000, 0x3fff, 0x3fff, 0x3fff, 0x3000, 0x3000, 0x3000, // 'T' 0x3ffc, 0x3ffe, 0x0007, 0x0003, 0x0003, 0x0003, 0x0007, 0x3ffe, 0x3ffc, // 'U' 0x3ff0, 0x3ff8, 0x003c, 0x001e, 0x000f, 0x001e, 0x003c, 0x3ff8, 0x3ff0, // 'V' 0x3ffc, 0x3ffe, 0x000f, 0x001e, 0x003c, 0x001e, 0x000f, 0x3ffe, 0x3ffc, // 'W' 0x3e1f, 0x3f3f, 0x03f0, 0x01e0, 0x00c0, 0x01e0, 0x03f0, 0x3f3f, 0x3e1f, // 'X' 0x3f00, 0x3f80, 0x01c0, 0x00ff, 0x007f, 0x00ff, 0x01c0, 0x3f80, 0x3f00, // 'Y' 0x300f, 0x301f, 0x303b, 0x3073, 0x30e3, 0x31c3, 0x3383, 0x3f03, 0x3e03, // 'Z' 0x0000, 0x0000, 0x3fff, 0x3fff, 0x3003, 0x3003, 0x3003, 0x3003, 0x0000, // '[' 0x3000, 0x3c00, 0x0f00, 0x03c0, 0x00f0, 0x003c, 0x000f, 0x0003, 0x0000, // '\' 0x0000, 0x0000, 0x3003, 0x3003, 0x3003, 0x3003, 0x3fff, 0x3fff, 0x0000, // ']' 0x0000, 0x0380, 0x0700, 0x0e00, 0x1c00, 0x0e00, 0x0700, 0x0380, 0x0000, // '^' 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, // '_' 0x0000, 0x0000, 0x1800, 0x1c00, 0x0e00, 0x0700, 0x0300, 0x0000, 0x0000, // '`' 0x0000, 0x001c, 0x01be, 0x01b6, 0x01b6, 0x01b6, 0x01fe, 0x00fe, 0x0000, // 'a' 0x0000, 0x0ffe, 0x0ffe, 0x00c6, 0x00c6, 0x00c6, 0x00fe, 0x007c, 0x0000, // 'b' 0x0000, 0x00fc, 0x01fe, 0x0186, 0x0186, 0x0186, 0x0186, 0x0186, 0x0000, // 'c' 0x0000, 0x007c, 0x00fe, 0x00c6, 0x00c6, 0x00c6, 0x00c6, 0x0ffe, 0x0ffe, // 'd' 0x0000, 0x00fc, 0x01fe, 0x01b6, 0x01b6, 0x01b6, 0x01f6, 0x00e0, 0x0000, // 'e' 0x0000, 0x00c0, 0x00c0, 0x07fe, 0x0ffe, 0x0cc0, 0x0cc0, 0x0c00, 0x0000, // 'f' 0x0000, 0x01e0, 0x03f3, 0x0333, 0x0333, 0x0333, 0x03ff, 0x01fe, 0x0000, // 'g' 0x0000, 0x0ffe, 0x0ffe, 0x00c0, 0x00c0, 0x00c0, 0x00fe, 0x007e, 0x0000, // 'h' 0x0000, 0x0000, 0x0000, 0x00c0, 0x06fe, 0x06fe, 0x0000, 0x0000, 0x0000, // 'i' 0x0000, 0x0000, 0x0003, 0x0187, 0x0dfe, 0x0dfc, 0x0000, 0x0000, 0x0000, // 'j' 0x0000, 0x0ffe, 0x0ffe, 0x0078, 0x00fc, 0x01ce, 0x0186, 0x0102, 0x0000, // 'k' 0x0000, 0x0800, 0x0ffc, 0x0ffe, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, // 'l' 0x0000, 0x01fe, 0x01fe, 0x0180, 0x00fe, 0x0180, 0x01fe, 0x00fe, 0x0000, // 'm' 0x0000, 0x01fe, 0x01fe, 0x0180, 0x0180, 0x0180, 0x01fe, 0x00fe, 0x0000, // 'n' 0x0000, 0x00fc, 0x01fe, 0x0186, 0x0186, 0x0186, 0x01fe, 0x00fc, 0x0000, // 'o' 0x0000, 0x03ff, 0x03ff, 0x0318, 0x0318, 0x0318, 0x03f8, 0x01f0, 0x0000, // 'p' 0x0000, 0x01f0, 0x03f8, 0x0318, 0x0318, 0x0318, 0x03ff, 0x03ff, 0x0000, // 'q' 0x0000, 0x01fe, 0x01fe, 0x00c0, 0x0180, 0x0180, 0x01c0, 0x00c0, 0x0000, // 'r' 0x0000, 0x00e6, 0x01f6, 0x01b6, 0x01b6, 0x01b6, 0x01be, 0x019c, 0x0000, // 's' 0x0000, 0x0000, 0x0ffc, 0x0ffe, 0x00c6, 0x00c6, 0x00c6, 0x0006, 0x0000, // 't' 0x0000, 0x01fc, 0x01fe, 0x0006, 0x0006, 0x0006, 0x01fe, 0x01fe, 0x0000, // 'u' 0x0000, 0x01f0, 0x01f8, 0x001c, 0x000e, 0x001c, 0x01f8, 0x01f0, 0x0000, // 'v' 0x0000, 0x01fc, 0x01fe, 0x0006, 0x007c, 0x0006, 0x01fe, 0x01fc, 0x0000, // 'w' 0x0000, 0x01c6, 0x01ee, 0x007c, 0x0038, 0x007c, 0x01ee, 0x01c6, 0x0000, // 'x' 0x0000, 0x01f0, 0x01fb, 0x001b, 0x001b, 0x001b, 0x01ff, 0x01fe, 0x0000, // 'y' 0x0000, 0x0186, 0x018e, 0x019e, 0x01b6, 0x01e6, 0x01c6, 0x0186, 0x0000, // 'z' 0x0000, 0x00c0, 0x01e0, 0x0ffc, 0x1f3e, 0x3807, 0x3003, 0x0000, 0x0000, // '{' 0x0000, 0x0000, 0x0000, 0x1fff, 0x1fff, 0x0000, 0x0000, 0x0000, 0x0000, // '|' 0x0000, 0x3003, 0x3807, 0x1f3e, 0x0ffc, 0x01e0, 0x00c0, 0x0000, 0x0000, // '}' 0x0180, 0x0380, 0x0700, 0x0700, 0x0300, 0x0380, 0x0380, 0x0700, 0x0600, // '~' }; /** list of all available fonts */ const struct font_s fonts[FONT_MAX] = { [FONT_KING8] = { .width = sizeof(font_king8) / sizeof(font_king8[0]) / FONT_GLYPH_NUMBERS, // 5 .height = 8, .glyphs = font_king8, }, [FONT_KING10] = { .width = sizeof(font_king10) / sizeof(font_king10[0]) / FONT_GLYPH_NUMBERS, // 6 .height = 10, .glyphs = font_king10, }, [FONT_KING14] = { .width = sizeof(font_king14) / sizeof(font_king14[0]) / FONT_GLYPH_NUMBERS, // 9 .height = 14, .glyphs = font_king14, }, };