unleashed-firmware/applications/external/totp/ui/fonts/mode_nine/mode_nine.c
2023-05-26 13:22:06 +03:00

942 lines
11 KiB
C

#include "mode_nine.h"
#include <stdint.h>
/* GENERATED BY https://github.com/pavius/the-dot-factory */
/*
** Font data for ModeNine 15pt
*/
/* Character bitmaps for ModeNine 15pt */
const uint8_t modeNine_15ptBitmaps[] = {
/* @0 '-' (10 pixels wide) */
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0xFF,
0x03,
0xFF,
0x03,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
/* @28 '0' (10 pixels wide) */
0xFC,
0x00,
0xFE,
0x01,
0x87,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x33,
0x03,
0x33,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x87,
0x03,
0xFE,
0x01,
0xFC,
0x00,
/* @56 '1' (10 pixels wide) */
0x30,
0x00,
0x38,
0x00,
0x3C,
0x00,
0x3C,
0x00,
0x30,
0x00,
0x30,
0x00,
0x30,
0x00,
0x30,
0x00,
0x30,
0x00,
0x30,
0x00,
0x30,
0x00,
0x30,
0x00,
0xFC,
0x00,
0xFC,
0x00,
/* @84 '2' (10 pixels wide) */
0xFC,
0x00,
0xFE,
0x01,
0x87,
0x03,
0x03,
0x03,
0x00,
0x03,
0x80,
0x03,
0xFC,
0x01,
0xFE,
0x00,
0x07,
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
0xFF,
0x03,
0xFF,
0x03,
/* @112 '3' (10 pixels wide) */
0xFF,
0x03,
0xFF,
0x03,
0x80,
0x03,
0xC0,
0x01,
0xE0,
0x00,
0x70,
0x00,
0xF8,
0x00,
0xFC,
0x01,
0x80,
0x03,
0x00,
0x03,
0x03,
0x03,
0x87,
0x03,
0xFE,
0x01,
0xFC,
0x00,
/* @140 '4' (10 pixels wide) */
0xE0,
0x00,
0xF0,
0x00,
0xF8,
0x00,
0xDC,
0x00,
0xCE,
0x00,
0xC7,
0x00,
0xC3,
0x00,
0xC3,
0x00,
0xFF,
0x03,
0xFF,
0x03,
0xC0,
0x00,
0xC0,
0x00,
0xC0,
0x00,
0xC0,
0x00,
/* @168 '5' (10 pixels wide) */
0xFF,
0x03,
0xFF,
0x03,
0x03,
0x00,
0x03,
0x00,
0xFF,
0x00,
0xFF,
0x01,
0x80,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x03,
0x03,
0x87,
0x03,
0xFE,
0x01,
0xFC,
0x00,
/* @196 '6' (10 pixels wide) */
0xF0,
0x00,
0xFC,
0x00,
0x0E,
0x00,
0x06,
0x00,
0x03,
0x00,
0x03,
0x00,
0xFF,
0x00,
0xFF,
0x01,
0x83,
0x03,
0x03,
0x03,
0x03,
0x03,
0x87,
0x03,
0xFE,
0x01,
0xFC,
0x00,
/* @224 '7' (10 pixels wide) */
0xFF,
0x03,
0xFF,
0x03,
0x00,
0x03,
0x80,
0x01,
0xC0,
0x01,
0xE0,
0x00,
0x30,
0x00,
0x18,
0x00,
0x1C,
0x00,
0x0C,
0x00,
0x0C,
0x00,
0x0C,
0x00,
0x0C,
0x00,
0x0C,
0x00,
/* @252 '8' (10 pixels wide) */
0xFC,
0x00,
0xFE,
0x01,
0x87,
0x03,
0x03,
0x03,
0x03,
0x03,
0x87,
0x03,
0xFE,
0x01,
0xFE,
0x01,
0x87,
0x03,
0x03,
0x03,
0x03,
0x03,
0x87,
0x03,
0xFE,
0x01,
0xFC,
0x00,
/* @280 '9' (10 pixels wide) */
0xFC,
0x00,
0xFE,
0x01,
0x87,
0x03,
0x03,
0x03,
0x03,
0x03,
0x07,
0x03,
0xFE,
0x03,
0xFC,
0x03,
0x00,
0x03,
0x00,
0x03,
0x80,
0x01,
0xC0,
0x01,
0xFC,
0x00,
0x3C,
0x00,
/* @308 'B' (10 pixels wide) */
0xFF,
0x00,
0xFF,
0x01,
0x83,
0x03,
0x03,
0x03,
0x03,
0x03,
0x83,
0x03,
0xFF,
0x01,
0xFF,
0x01,
0x83,
0x03,
0x03,
0x03,
0x03,
0x03,
0x83,
0x03,
0xFF,
0x01,
0xFF,
0x00,
/* @336 'C' (10 pixels wide) */
0xFC,
0x00,
0xFE,
0x01,
0x87,
0x03,
0x03,
0x03,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x03,
0x87,
0x03,
0xFE,
0x01,
0xFC,
0x00,
/* @364 'D' (10 pixels wide) */
0xFF,
0x00,
0xFF,
0x01,
0x83,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x83,
0x03,
0xFF,
0x01,
0xFF,
0x00,
/* @392 'F' (10 pixels wide) */
0xFF,
0x03,
0xFF,
0x03,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
0xFF,
0x00,
0xFF,
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
/* @420 'G' (10 pixels wide) */
0xFC,
0x00,
0xFE,
0x01,
0x87,
0x03,
0x03,
0x03,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
0xC3,
0x03,
0xC3,
0x03,
0x03,
0x03,
0x07,
0x03,
0xFE,
0x03,
0xFC,
0x03,
/* @448 'H' (10 pixels wide) */
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0xFF,
0x03,
0xFF,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
/* @476 'J' (10 pixels wide) */
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x03,
0x03,
0x87,
0x03,
0xFE,
0x01,
0xFC,
0x00,
/* @504 'K' (10 pixels wide) */
0x83,
0x03,
0xC3,
0x01,
0xE3,
0x00,
0x73,
0x00,
0x3B,
0x00,
0x1F,
0x00,
0x0F,
0x00,
0x0F,
0x00,
0x1F,
0x00,
0x3B,
0x00,
0x73,
0x00,
0xE3,
0x00,
0xC3,
0x01,
0x83,
0x03,
/* @532 'M' (10 pixels wide) */
0x03,
0x03,
0x87,
0x03,
0xCF,
0x03,
0xFF,
0x03,
0x7B,
0x03,
0x33,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
/* @560 'N' (10 pixels wide) */
0x03,
0x03,
0x03,
0x03,
0x07,
0x03,
0x0F,
0x03,
0x1F,
0x03,
0x3B,
0x03,
0x73,
0x03,
0xE3,
0x03,
0xC3,
0x03,
0x83,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
/* @588 'P' (10 pixels wide) */
0xFF,
0x00,
0xFF,
0x01,
0x83,
0x03,
0x03,
0x03,
0x03,
0x03,
0x83,
0x03,
0xFF,
0x01,
0xFF,
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
0x03,
0x00,
/* @616 'Q' (10 pixels wide) */
0xFC,
0x00,
0xFE,
0x01,
0x87,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x33,
0x03,
0x73,
0x03,
0xE7,
0x03,
0xFE,
0x01,
0xFC,
0x03,
/* @644 'R' (10 pixels wide) */
0xFF,
0x00,
0xFF,
0x01,
0x83,
0x03,
0x03,
0x03,
0x03,
0x03,
0x83,
0x03,
0xFF,
0x01,
0xFF,
0x00,
0x1F,
0x00,
0x3B,
0x00,
0x73,
0x00,
0xE3,
0x00,
0xC3,
0x01,
0x83,
0x03,
/* @672 'T' (10 pixels wide) */
0xFF,
0x03,
0xFF,
0x03,
0x30,
0x00,
0x30,
0x00,
0x30,
0x00,
0x30,
0x00,
0x30,
0x00,
0x30,
0x00,
0x30,
0x00,
0x30,
0x00,
0x30,
0x00,
0x30,
0x00,
0x30,
0x00,
0x30,
0x00,
/* @700 'V' (10 pixels wide) */
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x86,
0x01,
0x86,
0x01,
0xCC,
0x00,
0xCC,
0x00,
0x78,
0x00,
0x78,
0x00,
0x30,
0x00,
/* @728 'W' (10 pixels wide) */
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x33,
0x03,
0x33,
0x03,
0x33,
0x03,
0x33,
0x03,
0x33,
0x03,
0x33,
0x03,
0xFF,
0x03,
0xFE,
0x01,
/* @756 'X' (10 pixels wide) */
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x87,
0x03,
0xCE,
0x01,
0xFC,
0x00,
0xFC,
0x00,
0xCE,
0x01,
0x87,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
/* @784 'Y' (10 pixels wide) */
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x03,
0x87,
0x03,
0xCE,
0x01,
0xFC,
0x00,
0x78,
0x00,
0x30,
0x00,
0x30,
0x00,
0x30,
0x00,
0x30,
0x00,
0x30,
0x00,
0x30,
0x00,
};
/* Character descriptors for ModeNine 15pt */
/* { [Char width in bits], [Offset into modeNine_15ptCharBitmaps in bytes] } */
const FONT_CHAR_INFO modeNine_15ptDescriptors[] = {
{10, 0}, /* - */
{0, 0}, /* . */
{0, 0}, /* / */
{10, 28}, /* 0 */
{10, 56}, /* 1 */
{10, 84}, /* 2 */
{10, 112}, /* 3 */
{10, 140}, /* 4 */
{10, 168}, /* 5 */
{10, 196}, /* 6 */
{10, 224}, /* 7 */
{10, 252}, /* 8 */
{10, 280}, /* 9 */
{0, 0}, /* : */
{0, 0}, /* ; */
{0, 0}, /* < */
{0, 0}, /* = */
{0, 0}, /* > */
{0, 0}, /* ? */
{0, 0}, /* @ */
{0, 0}, /* A */
{10, 308}, /* B */
{10, 336}, /* C */
{10, 364}, /* D */
{0, 0}, /* E */
{10, 392}, /* F */
{10, 420}, /* G */
{10, 448}, /* H */
{0, 0}, /* I */
{10, 476}, /* J */
{10, 504}, /* K */
{0, 0}, /* L */
{10, 532}, /* M */
{10, 560}, /* N */
{0, 0}, /* O */
{10, 588}, /* P */
{10, 616}, /* Q */
{10, 644}, /* R */
{0, 0}, /* S */
{10, 672}, /* T */
{0, 0}, /* U */
{10, 700}, /* V */
{10, 728}, /* W */
{10, 756}, /* X */
{10, 784}, /* Y */
};
/* Font information for ModeNine 15pt */
const FONT_INFO modeNine_15ptFontInfo = {
14, /* Character height */
'-', /* Start character */
'Y', /* End character */
2, /* Width, in pixels, of space character */
modeNine_15ptDescriptors, /* Character descriptor array */
modeNine_15ptBitmaps, /* Character bitmap array */
};