diff --git a/features_config.h b/features_config.h index cd6041debcf..03cf288b4dd 100644 --- a/features_config.h +++ b/features_config.h @@ -37,6 +37,9 @@ #define TOTP_FONT_712SERIF (5) #define TOTP_FONT_GRAPH35PIX (6) #define TOTP_FONT_KARMAFUTURE (7) +#define TOTP_FONT_FUNCLIMBING (8) +#define TOTP_FONT_DPCOMIC (9) +#define TOTP_FONT_PIXELFLAG (10) // End of list diff --git a/ui/fonts/active_font.h b/ui/fonts/active_font.h index 58c1e2d176e..82baae5ab24 100644 --- a/ui/fonts/active_font.h +++ b/ui/fonts/active_font.h @@ -24,4 +24,15 @@ #elif TOTP_FONT == TOTP_FONT_KARMAFUTURE #include "karma_future/karma_future.h" #define TOTP_CODE_FONT_INFO karmaFuture_14ptFontInfo +#elif TOTP_FONT == TOTP_FONT_FUNCLIMBING +#include "funclimbing/funclimbing.h" +#define TOTP_CODE_FONT_INFO funclimbingDemo_18ptFontInfo +#elif TOTP_FONT == TOTP_FONT_DPCOMIC +#include "dpcomic/dpcomic.h" +#define TOTP_CODE_FONT_INFO dPComic_18ptFontInfo +#elif TOTP_FONT == TOTP_FONT_PIXELFLAG +#include "pixelflag/pixelflag.h" +#define TOTP_CODE_FONT_INFO pixelFlag_18ptFontInfo +#else +#error TOTP Font is not set or unknown #endif \ No newline at end of file diff --git a/ui/fonts/dpcomic/dpcomic.c b/ui/fonts/dpcomic/dpcomic.c new file mode 100644 index 00000000000..e9c5ea1deeb --- /dev/null +++ b/ui/fonts/dpcomic/dpcomic.c @@ -0,0 +1,1114 @@ +#include "dpcomic.h" + +/* GENERATED BY https://github.com/pavius/the-dot-factory */ + +/* +** Font data for DPComic 18pt +*/ + +/* Character bitmaps for DPComic 18pt */ +const uint8_t dPComic_18ptBitmaps[] = { + /* @0 '-' (15 pixels wide) */ + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xE0, + 0x3F, + 0xF8, + 0x0F, + 0xF8, + 0x0F, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @34 '0' (15 pixels wide) */ + 0x00, + 0x00, + 0xC0, + 0x01, + 0xC0, + 0x01, + 0xE0, + 0x07, + 0x38, + 0x0E, + 0x38, + 0x0E, + 0x38, + 0x0E, + 0x38, + 0x0E, + 0x38, + 0x0E, + 0x38, + 0x0E, + 0x38, + 0x0E, + 0x38, + 0x0E, + 0xE0, + 0x07, + 0xC0, + 0x01, + 0xC0, + 0x01, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @68 '1' (15 pixels wide) */ + 0x00, + 0x00, + 0xC0, + 0x01, + 0xC0, + 0x01, + 0xE0, + 0x01, + 0xF8, + 0x01, + 0xF8, + 0x01, + 0xC0, + 0x01, + 0xC0, + 0x01, + 0xC0, + 0x01, + 0xC0, + 0x01, + 0xC0, + 0x01, + 0xC0, + 0x01, + 0xE0, + 0x0F, + 0xF8, + 0x07, + 0xF8, + 0x07, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @102 '2' (15 pixels wide) */ + 0x00, + 0x00, + 0xC0, + 0x07, + 0xC0, + 0x07, + 0xE0, + 0x0F, + 0x38, + 0x0E, + 0x38, + 0x0E, + 0x00, + 0x0E, + 0x00, + 0x0E, + 0x00, + 0x0E, + 0x00, + 0x07, + 0xC0, + 0x01, + 0xC0, + 0x01, + 0xE0, + 0x3F, + 0xF8, + 0x0F, + 0xF8, + 0x0F, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @136 '3' (15 pixels wide) */ + 0x00, + 0x00, + 0xC0, + 0x3F, + 0xC0, + 0x3F, + 0xE0, + 0x3F, + 0x00, + 0x0E, + 0x00, + 0x0E, + 0x00, + 0x07, + 0xC0, + 0x07, + 0xC0, + 0x07, + 0x00, + 0x0F, + 0x00, + 0x0E, + 0x00, + 0x0E, + 0xE0, + 0x0F, + 0xF8, + 0x07, + 0xF8, + 0x07, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @170 '4' (15 pixels wide) */ + 0x00, + 0x00, + 0x00, + 0x0E, + 0x00, + 0x0E, + 0x00, + 0x0F, + 0xC0, + 0x0F, + 0xC0, + 0x0F, + 0xE0, + 0x0E, + 0x38, + 0x0E, + 0x38, + 0x0E, + 0xF8, + 0x0F, + 0xF8, + 0x0F, + 0xF8, + 0x0F, + 0x00, + 0x0E, + 0x00, + 0x0E, + 0x00, + 0x0E, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @204 '5' (15 pixels wide) */ + 0x00, + 0x00, + 0xC0, + 0x3F, + 0xC0, + 0x3F, + 0xC0, + 0x0F, + 0xE0, + 0x00, + 0xE0, + 0x00, + 0xE0, + 0x07, + 0xE0, + 0x0F, + 0xE0, + 0x0F, + 0x00, + 0x0E, + 0x00, + 0x0F, + 0x00, + 0x0F, + 0xE0, + 0x07, + 0xF8, + 0x01, + 0xF8, + 0x01, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @238 '6' (15 pixels wide) */ + 0x00, + 0x00, + 0x00, + 0x0F, + 0x00, + 0x0F, + 0xC0, + 0x07, + 0xE0, + 0x00, + 0xE0, + 0x00, + 0xE0, + 0x07, + 0x38, + 0x0E, + 0x38, + 0x0E, + 0x38, + 0x0E, + 0x38, + 0x0F, + 0x38, + 0x0F, + 0xF8, + 0x07, + 0xE0, + 0x01, + 0xE0, + 0x01, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @272 '7' (15 pixels wide) */ + 0x00, + 0x00, + 0xE0, + 0x0F, + 0xE0, + 0x0F, + 0xF8, + 0x0F, + 0x00, + 0x0E, + 0x00, + 0x0E, + 0x00, + 0x07, + 0xC0, + 0x01, + 0xC0, + 0x01, + 0xE0, + 0x00, + 0xF8, + 0x00, + 0xF8, + 0x00, + 0x38, + 0x00, + 0x38, + 0x00, + 0x38, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @306 '8' (15 pixels wide) */ + 0x00, + 0x00, + 0xC0, + 0x0F, + 0xC0, + 0x0F, + 0xE0, + 0x38, + 0xE0, + 0x3E, + 0xE0, + 0x3E, + 0xC0, + 0x0F, + 0xE0, + 0x07, + 0xE0, + 0x07, + 0x38, + 0x0E, + 0x38, + 0x0E, + 0x38, + 0x0E, + 0x38, + 0x0F, + 0xE0, + 0x07, + 0xE0, + 0x07, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @340 '9' (15 pixels wide) */ + 0x00, + 0x00, + 0xC0, + 0x07, + 0xC0, + 0x07, + 0xE0, + 0x0E, + 0x38, + 0x0E, + 0x38, + 0x0E, + 0x38, + 0x0E, + 0xF8, + 0x0F, + 0xF8, + 0x0F, + 0xE0, + 0x07, + 0x00, + 0x07, + 0x00, + 0x07, + 0xE0, + 0x01, + 0xF8, + 0x00, + 0xF8, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @374 'B' (15 pixels wide) */ + 0xC0, + 0x0F, + 0xE0, + 0x3F, + 0xE0, + 0x3F, + 0xF8, + 0x38, + 0x38, + 0x3E, + 0x38, + 0x3E, + 0xF8, + 0x0F, + 0xF8, + 0x3F, + 0xF8, + 0x3F, + 0x38, + 0x38, + 0x38, + 0x3E, + 0x38, + 0x3E, + 0xF8, + 0x0F, + 0xF8, + 0x07, + 0xF8, + 0x07, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @408 'C' (15 pixels wide) */ + 0x00, + 0x0F, + 0xC0, + 0x3F, + 0xC0, + 0x3F, + 0xE0, + 0x39, + 0xE0, + 0x00, + 0xE0, + 0x00, + 0xF8, + 0x00, + 0x38, + 0x00, + 0x38, + 0x00, + 0x38, + 0x38, + 0x38, + 0x3E, + 0x38, + 0x3E, + 0xF8, + 0x0F, + 0xE0, + 0x07, + 0xE0, + 0x07, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @442 'D' (15 pixels wide) */ + 0xC0, + 0x07, + 0xE0, + 0x0F, + 0xE0, + 0x0F, + 0xF8, + 0x3E, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x3E, + 0x38, + 0x0F, + 0x38, + 0x0F, + 0xF8, + 0x07, + 0xF8, + 0x01, + 0xF8, + 0x01, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @476 'F' (15 pixels wide) */ + 0x80, + 0x1F, + 0xC0, + 0x0F, + 0xC0, + 0x0F, + 0xF0, + 0x01, + 0x70, + 0x00, + 0x70, + 0x00, + 0xF0, + 0x0F, + 0xF0, + 0x03, + 0xF0, + 0x03, + 0x70, + 0x00, + 0x70, + 0x00, + 0x70, + 0x00, + 0x70, + 0x00, + 0x70, + 0x00, + 0x70, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @510 'G' (15 pixels wide) */ + 0x00, + 0x0F, + 0xC0, + 0x3F, + 0xC0, + 0x3F, + 0xE0, + 0x39, + 0xE0, + 0x00, + 0xE0, + 0x00, + 0xF8, + 0x00, + 0x38, + 0x3E, + 0x38, + 0x3E, + 0x38, + 0x38, + 0x38, + 0x3E, + 0x38, + 0x3E, + 0xF8, + 0x0F, + 0xE0, + 0x07, + 0xE0, + 0x07, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @544 'H' (15 pixels wide) */ + 0x00, + 0x30, + 0x20, + 0x38, + 0x20, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0xF8, + 0x3F, + 0xF8, + 0x3F, + 0xF8, + 0x3F, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @578 'J' (15 pixels wide) */ + 0x00, + 0x08, + 0x00, + 0x0E, + 0x00, + 0x0E, + 0x00, + 0x0E, + 0x00, + 0x0E, + 0x00, + 0x0E, + 0x00, + 0x0E, + 0x00, + 0x0E, + 0x00, + 0x0E, + 0x00, + 0x0E, + 0x00, + 0x0E, + 0x00, + 0x0E, + 0x18, + 0x0F, + 0xF8, + 0x07, + 0xF8, + 0x07, + 0xE0, + 0x01, + 0xE0, + 0x01, + + /* @612 'K' (15 pixels wide) */ + 0x20, + 0x30, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x3E, + 0x38, + 0x0F, + 0x38, + 0x0F, + 0xF8, + 0x07, + 0xF8, + 0x07, + 0xF8, + 0x07, + 0x38, + 0x0F, + 0x38, + 0x3E, + 0x38, + 0x3E, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @646 'M' (15 pixels wide) */ + 0x08, + 0x10, + 0x3E, + 0x1C, + 0x3E, + 0x1C, + 0x7E, + 0x1E, + 0xFE, + 0x1F, + 0xFE, + 0x1F, + 0xCE, + 0x1D, + 0x0E, + 0x1C, + 0x0E, + 0x1C, + 0x0E, + 0x1C, + 0x0E, + 0x1C, + 0x0E, + 0x1C, + 0x0E, + 0x1C, + 0x0E, + 0x1C, + 0x0E, + 0x1C, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @680 'N' (15 pixels wide) */ + 0x20, + 0x30, + 0xF8, + 0x38, + 0xF8, + 0x38, + 0xF8, + 0x38, + 0xF8, + 0x39, + 0xF8, + 0x39, + 0xF8, + 0x39, + 0x38, + 0x3F, + 0x38, + 0x3F, + 0x38, + 0x3F, + 0x38, + 0x3E, + 0x38, + 0x3E, + 0x38, + 0x3E, + 0x38, + 0x38, + 0x38, + 0x38, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @714 'P' (15 pixels wide) */ + 0xC0, + 0x07, + 0xE0, + 0x0F, + 0xE0, + 0x0F, + 0xF8, + 0x0E, + 0x38, + 0x0E, + 0x38, + 0x0E, + 0x38, + 0x0F, + 0xF8, + 0x07, + 0xF8, + 0x07, + 0xF8, + 0x01, + 0x38, + 0x00, + 0x38, + 0x00, + 0x38, + 0x00, + 0x38, + 0x00, + 0x38, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @748 'Q' (15 pixels wide) */ + 0x00, + 0x0F, + 0xC0, + 0x3F, + 0xC0, + 0x3F, + 0xE0, + 0x39, + 0xE0, + 0x38, + 0xE0, + 0x38, + 0xF8, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x3E, + 0x38, + 0x3E, + 0xF8, + 0x0F, + 0xE0, + 0x3F, + 0xE0, + 0x3F, + 0x00, + 0x38, + 0x00, + 0x38, + + /* @782 'R' (15 pixels wide) */ + 0xC0, + 0x07, + 0xE0, + 0x0F, + 0xE0, + 0x0F, + 0xF8, + 0x0E, + 0x38, + 0x0E, + 0x38, + 0x0E, + 0x38, + 0x0F, + 0xF8, + 0x07, + 0xF8, + 0x07, + 0xF8, + 0x01, + 0x38, + 0x07, + 0x38, + 0x07, + 0x38, + 0x0F, + 0x38, + 0x0E, + 0x38, + 0x0E, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @816 'T' (15 pixels wide) */ + 0x00, + 0x7E, + 0xE0, + 0x3F, + 0xE0, + 0x3F, + 0xF8, + 0x07, + 0x00, + 0x07, + 0x00, + 0x07, + 0x00, + 0x07, + 0x00, + 0x07, + 0x00, + 0x07, + 0x00, + 0x07, + 0x00, + 0x07, + 0x00, + 0x07, + 0x00, + 0x07, + 0x00, + 0x07, + 0x00, + 0x07, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @850 'V' (15 pixels wide) */ + 0x20, + 0x30, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x38, + 0x0E, + 0x38, + 0x0E, + 0x38, + 0x0E, + 0x38, + 0x07, + 0x38, + 0x07, + 0xE0, + 0x07, + 0xC0, + 0x01, + 0xC0, + 0x01, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @884 'W' (15 pixels wide) */ + 0x04, + 0x40, + 0x07, + 0x70, + 0x07, + 0x70, + 0x07, + 0x71, + 0xC7, + 0x71, + 0xC7, + 0x71, + 0xC7, + 0x71, + 0xC7, + 0x71, + 0xC7, + 0x71, + 0xC7, + 0x71, + 0xE7, + 0x39, + 0xE7, + 0x39, + 0x3C, + 0x0F, + 0x1C, + 0x07, + 0x1C, + 0x07, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @918 'X' (15 pixels wide) */ + 0x18, + 0x30, + 0x38, + 0x38, + 0x38, + 0x38, + 0xF8, + 0x3E, + 0xE0, + 0x0F, + 0xE0, + 0x0F, + 0xC0, + 0x07, + 0xC0, + 0x01, + 0xC0, + 0x01, + 0xE0, + 0x07, + 0x38, + 0x0F, + 0x38, + 0x0F, + 0x38, + 0x3E, + 0x18, + 0x38, + 0x18, + 0x38, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @952 'Y' (15 pixels wide) */ + 0x18, + 0x08, + 0x38, + 0x0E, + 0x38, + 0x0E, + 0x38, + 0x0E, + 0xF8, + 0x0F, + 0xF8, + 0x0F, + 0xE0, + 0x07, + 0xE0, + 0x01, + 0xE0, + 0x01, + 0xC0, + 0x01, + 0xC0, + 0x01, + 0xC0, + 0x01, + 0xC0, + 0x01, + 0xC0, + 0x01, + 0xC0, + 0x01, + 0x00, + 0x00, + 0x00, + 0x00, +}; + +/* Character descriptors for DPComic 18pt */ +/* { [Char width in bits], [Offset into dPComic_18ptCharBitmaps in bytes] } */ +const FONT_CHAR_INFO dPComic_18ptDescriptors[] = { + {15, 0}, /* - */ + {0, 0}, /* . */ + {0, 0}, /* / */ + {15, 34}, /* 0 */ + {15, 68}, /* 1 */ + {15, 102}, /* 2 */ + {15, 136}, /* 3 */ + {15, 170}, /* 4 */ + {15, 204}, /* 5 */ + {15, 238}, /* 6 */ + {15, 272}, /* 7 */ + {15, 306}, /* 8 */ + {15, 340}, /* 9 */ + {0, 0}, /* : */ + {0, 0}, /* ; */ + {0, 0}, /* < */ + {0, 0}, /* = */ + {0, 0}, /* > */ + {0, 0}, /* ? */ + {0, 0}, /* @ */ + {0, 0}, /* A */ + {15, 374}, /* B */ + {15, 408}, /* C */ + {15, 442}, /* D */ + {0, 0}, /* E */ + {15, 476}, /* F */ + {15, 510}, /* G */ + {15, 544}, /* H */ + {0, 0}, /* I */ + {15, 578}, /* J */ + {15, 612}, /* K */ + {0, 0}, /* L */ + {15, 646}, /* M */ + {15, 680}, /* N */ + {0, 0}, /* O */ + {15, 714}, /* P */ + {15, 748}, /* Q */ + {15, 782}, /* R */ + {0, 0}, /* S */ + {15, 816}, /* T */ + {0, 0}, /* U */ + {15, 850}, /* V */ + {15, 884}, /* W */ + {15, 918}, /* X */ + {15, 952}, /* Y */ +}; + +/* Font information for DPComic 18pt */ +const FONT_INFO dPComic_18ptFontInfo = { + 17, /* Character height */ + '-', /* Start character */ + 'Y', /* End character */ + 2, /* Width, in pixels, of space character */ + dPComic_18ptDescriptors, /* Character descriptor array */ + dPComic_18ptBitmaps, /* Character bitmap array */ +}; diff --git a/ui/fonts/dpcomic/dpcomic.h b/ui/fonts/dpcomic/dpcomic.h new file mode 100644 index 00000000000..bac49b4d64c --- /dev/null +++ b/ui/fonts/dpcomic/dpcomic.h @@ -0,0 +1,7 @@ +#pragma once + +/* GENERATED BY https://github.com/pavius/the-dot-factory */ + +#include "../font_info.h" + +extern const FONT_INFO dPComic_18ptFontInfo; \ No newline at end of file diff --git a/ui/fonts/funclimbing/funclimbing.c b/ui/fonts/funclimbing/funclimbing.c new file mode 100644 index 00000000000..d6b1a0c974a --- /dev/null +++ b/ui/fonts/funclimbing/funclimbing.c @@ -0,0 +1,1172 @@ +#include "funclimbing.h" + +/* GENERATED BY https://github.com/pavius/the-dot-factory */ + +/* +** Font data for fun climbing (Demo) 18pt +*/ + +/* Character bitmaps for fun climbing (Demo) 18pt */ +const uint8_t funclimbingDemo_18ptBitmaps[] = { + /* @0 '-' (16 pixels wide) */ + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xE0, + 0x03, + 0xE0, + 0x03, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @36 '0' (16 pixels wide) */ + 0x00, + 0x00, + 0x80, + 0x00, + 0xE0, + 0x03, + 0x20, + 0x02, + 0x10, + 0x04, + 0x10, + 0x04, + 0x10, + 0x04, + 0x08, + 0x04, + 0x08, + 0x08, + 0x08, + 0x08, + 0x08, + 0x04, + 0x10, + 0x04, + 0x10, + 0x04, + 0x10, + 0x04, + 0x20, + 0x02, + 0xE0, + 0x01, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @72 '1' (16 pixels wide) */ + 0x00, + 0x02, + 0x00, + 0x03, + 0x80, + 0x03, + 0xC0, + 0x02, + 0x60, + 0x02, + 0x00, + 0x02, + 0x00, + 0x02, + 0x00, + 0x02, + 0x00, + 0x02, + 0x00, + 0x02, + 0x00, + 0x02, + 0x00, + 0x02, + 0x00, + 0x02, + 0x00, + 0x02, + 0x00, + 0x02, + 0x00, + 0x02, + 0x00, + 0x02, + 0x00, + 0x00, + + /* @108 '2' (16 pixels wide) */ + 0x00, + 0x00, + 0xC0, + 0x07, + 0x60, + 0x04, + 0x20, + 0x04, + 0x10, + 0x04, + 0x10, + 0x04, + 0x10, + 0x04, + 0x08, + 0x02, + 0x08, + 0x02, + 0x00, + 0x01, + 0x00, + 0x01, + 0x80, + 0x00, + 0x80, + 0x00, + 0x40, + 0x00, + 0x60, + 0x00, + 0xC0, + 0x03, + 0x00, + 0x1C, + 0x00, + 0x00, + + /* @144 '3' (16 pixels wide) */ + 0x00, + 0x02, + 0x80, + 0x05, + 0x40, + 0x08, + 0x40, + 0x08, + 0x40, + 0x10, + 0x40, + 0x10, + 0x00, + 0x10, + 0x00, + 0x08, + 0x00, + 0x08, + 0x00, + 0x0C, + 0x00, + 0x06, + 0x00, + 0x03, + 0x80, + 0x0F, + 0x00, + 0x10, + 0x00, + 0x10, + 0x30, + 0x08, + 0xC0, + 0x07, + 0x00, + 0x00, + + /* @180 '4' (16 pixels wide) */ + 0x00, + 0x10, + 0x00, + 0x10, + 0x40, + 0x10, + 0x40, + 0x10, + 0x40, + 0x10, + 0x40, + 0x10, + 0x40, + 0x10, + 0x20, + 0x10, + 0x20, + 0x10, + 0x20, + 0x10, + 0x20, + 0x10, + 0x30, + 0x10, + 0xF0, + 0x1F, + 0x00, + 0x10, + 0x00, + 0x10, + 0x00, + 0x10, + 0x00, + 0x10, + 0x00, + 0x10, + + /* @216 '5' (16 pixels wide) */ + 0x00, + 0x00, + 0x60, + 0x00, + 0xA0, + 0x03, + 0x20, + 0x04, + 0x20, + 0x00, + 0x30, + 0x00, + 0x10, + 0x00, + 0x10, + 0x00, + 0xF0, + 0x00, + 0x80, + 0x03, + 0x00, + 0x04, + 0x00, + 0x08, + 0x00, + 0x08, + 0x00, + 0x08, + 0x00, + 0x04, + 0x80, + 0x03, + 0xF0, + 0x00, + 0x00, + 0x00, + + /* @252 '6' (16 pixels wide) */ + 0x00, + 0x00, + 0x40, + 0x00, + 0x20, + 0x00, + 0x20, + 0x00, + 0x10, + 0x00, + 0x10, + 0x00, + 0x10, + 0x00, + 0x18, + 0x03, + 0xC8, + 0x06, + 0x28, + 0x0C, + 0x18, + 0x08, + 0x18, + 0x08, + 0x08, + 0x08, + 0x08, + 0x08, + 0x10, + 0x08, + 0x30, + 0x0C, + 0xC0, + 0x07, + 0x00, + 0x00, + + /* @288 '7' (16 pixels wide) */ + 0x00, + 0x00, + 0x00, + 0x0F, + 0xF0, + 0x09, + 0x00, + 0x04, + 0x00, + 0x04, + 0x00, + 0x04, + 0x00, + 0x04, + 0x00, + 0x04, + 0x00, + 0x06, + 0x00, + 0x02, + 0x00, + 0x02, + 0x00, + 0x02, + 0x00, + 0x02, + 0x00, + 0x03, + 0x00, + 0x01, + 0x00, + 0x01, + 0x00, + 0x01, + 0x00, + 0x00, + + /* @324 '8' (16 pixels wide) */ + 0x80, + 0x01, + 0x60, + 0x02, + 0x30, + 0x04, + 0x10, + 0x08, + 0x10, + 0x08, + 0x08, + 0x08, + 0x08, + 0x08, + 0x10, + 0x0C, + 0x10, + 0x04, + 0x60, + 0x03, + 0xC0, + 0x01, + 0x40, + 0x03, + 0x20, + 0x04, + 0x20, + 0x04, + 0x20, + 0x04, + 0x20, + 0x04, + 0xC0, + 0x03, + 0x00, + 0x00, + + /* @360 '9' (16 pixels wide) */ + 0x00, + 0x00, + 0xC0, + 0x01, + 0x20, + 0x02, + 0x10, + 0x04, + 0x10, + 0x04, + 0x10, + 0x04, + 0x10, + 0x04, + 0x10, + 0x04, + 0x10, + 0x04, + 0xE0, + 0x03, + 0x00, + 0x02, + 0x00, + 0x02, + 0x00, + 0x01, + 0x00, + 0x01, + 0x80, + 0x00, + 0x80, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @396 'B' (16 pixels wide) */ + 0x10, + 0x00, + 0x10, + 0x00, + 0x10, + 0x00, + 0x10, + 0x00, + 0x10, + 0x00, + 0x10, + 0x00, + 0x18, + 0x00, + 0x18, + 0x00, + 0x08, + 0x00, + 0x08, + 0x00, + 0xE8, + 0x0F, + 0x38, + 0x10, + 0x10, + 0x10, + 0x10, + 0x30, + 0x10, + 0x10, + 0x10, + 0x18, + 0xF0, + 0x07, + 0x20, + 0x00, + + /* @432 'C' (16 pixels wide) */ + 0x00, + 0x03, + 0x80, + 0x06, + 0x40, + 0x04, + 0x40, + 0x04, + 0x40, + 0x08, + 0x40, + 0x00, + 0x20, + 0x00, + 0x20, + 0x00, + 0x20, + 0x00, + 0x20, + 0x00, + 0x40, + 0x00, + 0x40, + 0x08, + 0x40, + 0x08, + 0x40, + 0x08, + 0xC0, + 0x08, + 0x80, + 0x04, + 0x80, + 0x05, + 0x00, + 0x02, + + /* @468 'D' (16 pixels wide) */ + 0x00, + 0x04, + 0x00, + 0x04, + 0x00, + 0x04, + 0x00, + 0x04, + 0x00, + 0x04, + 0x00, + 0x04, + 0x80, + 0x07, + 0x40, + 0x04, + 0x20, + 0x04, + 0x20, + 0x04, + 0x10, + 0x04, + 0x10, + 0x04, + 0x30, + 0x04, + 0x20, + 0x04, + 0x20, + 0x04, + 0x40, + 0x04, + 0x80, + 0x05, + 0x00, + 0x07, + + /* @504 'F' (16 pixels wide) */ + 0x00, + 0x02, + 0x80, + 0x0D, + 0xC0, + 0x08, + 0x40, + 0x10, + 0x60, + 0x10, + 0x20, + 0x00, + 0x20, + 0x00, + 0x20, + 0x00, + 0x20, + 0x00, + 0x20, + 0x00, + 0x20, + 0x00, + 0x20, + 0x00, + 0xF8, + 0x01, + 0x20, + 0x00, + 0x20, + 0x00, + 0x20, + 0x00, + 0x20, + 0x00, + 0x40, + 0x00, + + /* @540 'G' (16 pixels wide) */ + 0x80, + 0x00, + 0x60, + 0x01, + 0x20, + 0x03, + 0x30, + 0x02, + 0x10, + 0x02, + 0x10, + 0x02, + 0x10, + 0x02, + 0x10, + 0x02, + 0x10, + 0x00, + 0x10, + 0x00, + 0x10, + 0x00, + 0x10, + 0x00, + 0xD0, + 0x0F, + 0x10, + 0x02, + 0x10, + 0x01, + 0x20, + 0x01, + 0xE0, + 0x00, + 0x40, + 0x00, + + /* @576 'H' (16 pixels wide) */ + 0x00, + 0x00, + 0x08, + 0x00, + 0x08, + 0x00, + 0x08, + 0x00, + 0x18, + 0x00, + 0x10, + 0x00, + 0x10, + 0x00, + 0x10, + 0x00, + 0x10, + 0x00, + 0x10, + 0x00, + 0x10, + 0x0F, + 0x90, + 0x09, + 0xD0, + 0x18, + 0x50, + 0x10, + 0x30, + 0x10, + 0x30, + 0x10, + 0x10, + 0x10, + 0x00, + 0x00, + + /* @612 'J' (16 pixels wide) */ + 0x00, + 0x00, + 0x00, + 0x04, + 0x00, + 0x04, + 0x00, + 0x04, + 0x00, + 0x04, + 0x00, + 0x04, + 0x00, + 0x04, + 0x00, + 0x04, + 0x00, + 0x04, + 0x10, + 0x04, + 0x10, + 0x04, + 0x10, + 0x04, + 0x20, + 0x04, + 0x20, + 0x02, + 0x20, + 0x02, + 0x60, + 0x03, + 0xC0, + 0x01, + 0x00, + 0x00, + + /* @648 'K' (16 pixels wide) */ + 0x00, + 0x00, + 0x00, + 0x00, + 0x10, + 0x00, + 0x10, + 0x00, + 0x10, + 0x08, + 0x10, + 0x0C, + 0x10, + 0x02, + 0xB0, + 0x01, + 0xE0, + 0x00, + 0x60, + 0x00, + 0x60, + 0x00, + 0xA0, + 0x00, + 0x20, + 0x01, + 0x20, + 0x02, + 0x20, + 0x0C, + 0x20, + 0x08, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @684 'M' (16 pixels wide) */ + 0x00, + 0x00, + 0x00, + 0x00, + 0x10, + 0x10, + 0x30, + 0x18, + 0x30, + 0x18, + 0x50, + 0x34, + 0x50, + 0x24, + 0xC8, + 0x22, + 0x88, + 0x22, + 0x88, + 0x21, + 0x08, + 0x21, + 0x04, + 0x60, + 0x04, + 0x40, + 0x04, + 0x40, + 0x04, + 0x40, + 0x02, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @720 'N' (16 pixels wide) */ + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x02, + 0x01, + 0x86, + 0x07, + 0x44, + 0x04, + 0x24, + 0x08, + 0x24, + 0x08, + 0x14, + 0x18, + 0x14, + 0x10, + 0x1C, + 0x10, + 0x0C, + 0x10, + 0x0C, + 0x10, + 0x08, + 0x10, + 0x00, + 0x10, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @756 'P' (16 pixels wide) */ + 0x00, + 0x00, + 0x00, + 0x00, + 0xE0, + 0x01, + 0x20, + 0x02, + 0x20, + 0x04, + 0x60, + 0x04, + 0x40, + 0x04, + 0x40, + 0x04, + 0x40, + 0x04, + 0x40, + 0x06, + 0x40, + 0x02, + 0xC0, + 0x01, + 0xC0, + 0x00, + 0x40, + 0x00, + 0x40, + 0x00, + 0x40, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @792 'Q' (16 pixels wide) */ + 0x00, + 0x00, + 0xC0, + 0x03, + 0x30, + 0x06, + 0x18, + 0x08, + 0x08, + 0x10, + 0x04, + 0x10, + 0x04, + 0x20, + 0x04, + 0x20, + 0x04, + 0x20, + 0x08, + 0x21, + 0x08, + 0x33, + 0x10, + 0x12, + 0x30, + 0x0E, + 0xC0, + 0x07, + 0x00, + 0x08, + 0x00, + 0x08, + 0x00, + 0x10, + 0x00, + 0x00, + + /* @828 'R' (16 pixels wide) */ + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x07, + 0x88, + 0x0D, + 0x48, + 0x08, + 0x68, + 0x00, + 0x28, + 0x00, + 0x28, + 0x00, + 0x18, + 0x00, + 0x18, + 0x00, + 0x10, + 0x00, + 0x10, + 0x00, + 0x10, + 0x00, + 0x10, + 0x00, + 0x10, + 0x00, + 0x10, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @864 'T' (16 pixels wide) */ + 0x00, + 0x00, + 0x00, + 0x00, + 0x80, + 0x00, + 0x80, + 0x00, + 0x80, + 0x00, + 0x80, + 0x00, + 0xE0, + 0x03, + 0x80, + 0x00, + 0x80, + 0x00, + 0x80, + 0x00, + 0x80, + 0x04, + 0x80, + 0x04, + 0x80, + 0x04, + 0x80, + 0x04, + 0x80, + 0x05, + 0x00, + 0x07, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @900 'V' (16 pixels wide) */ + 0x00, + 0x00, + 0x00, + 0x00, + 0x08, + 0x10, + 0x10, + 0x10, + 0x10, + 0x18, + 0x10, + 0x08, + 0x10, + 0x08, + 0x10, + 0x04, + 0x10, + 0x04, + 0x20, + 0x04, + 0x20, + 0x02, + 0x20, + 0x02, + 0x20, + 0x01, + 0x40, + 0x01, + 0xC0, + 0x01, + 0xC0, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @936 'W' (16 pixels wide) */ + 0x00, + 0x00, + 0x00, + 0x00, + 0x03, + 0x80, + 0x02, + 0x80, + 0x02, + 0x40, + 0x02, + 0x40, + 0x02, + 0x41, + 0x86, + 0x42, + 0x84, + 0x42, + 0x44, + 0x44, + 0x44, + 0x64, + 0x24, + 0x28, + 0x28, + 0x28, + 0x18, + 0x30, + 0x18, + 0x30, + 0x18, + 0x20, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @972 'X' (16 pixels wide) */ + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x08, + 0x08, + 0x10, + 0x04, + 0x20, + 0x04, + 0x40, + 0x02, + 0x80, + 0x03, + 0x80, + 0x01, + 0x80, + 0x03, + 0x40, + 0x02, + 0x30, + 0x04, + 0x18, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + + /* @1008 'Y' (16 pixels wide) */ + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x08, + 0x08, + 0x08, + 0x08, + 0x08, + 0x0C, + 0x08, + 0x0C, + 0x08, + 0x0A, + 0x10, + 0x0A, + 0xF0, + 0x09, + 0x00, + 0x0C, + 0x10, + 0x04, + 0x10, + 0x04, + 0x20, + 0x02, + 0xE0, + 0x03, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, +}; + +/* Character descriptors for fun climbing (Demo) 18pt */ +/* { [Char width in bits], [Offset into funclimbingDemo_18ptCharBitmaps in bytes] } */ +const FONT_CHAR_INFO funclimbingDemo_18ptDescriptors[] = { + {16, 0}, /* - */ + {0, 0}, /* . */ + {0, 0}, /* / */ + {16, 36}, /* 0 */ + {16, 72}, /* 1 */ + {16, 108}, /* 2 */ + {16, 144}, /* 3 */ + {16, 180}, /* 4 */ + {16, 216}, /* 5 */ + {16, 252}, /* 6 */ + {16, 288}, /* 7 */ + {16, 324}, /* 8 */ + {16, 360}, /* 9 */ + {0, 0}, /* : */ + {0, 0}, /* ; */ + {0, 0}, /* < */ + {0, 0}, /* = */ + {0, 0}, /* > */ + {0, 0}, /* ? */ + {0, 0}, /* @ */ + {0, 0}, /* A */ + {16, 396}, /* B */ + {16, 432}, /* C */ + {16, 468}, /* D */ + {0, 0}, /* E */ + {16, 504}, /* F */ + {16, 540}, /* G */ + {16, 576}, /* H */ + {0, 0}, /* I */ + {16, 612}, /* J */ + {16, 648}, /* K */ + {0, 0}, /* L */ + {16, 684}, /* M */ + {16, 720}, /* N */ + {0, 0}, /* O */ + {16, 756}, /* P */ + {16, 792}, /* Q */ + {16, 828}, /* R */ + {0, 0}, /* S */ + {16, 864}, /* T */ + {0, 0}, /* U */ + {16, 900}, /* V */ + {16, 936}, /* W */ + {16, 972}, /* X */ + {16, 1008}, /* Y */ +}; + +/* Font information for fun climbing (Demo) 18pt */ +const FONT_INFO funclimbingDemo_18ptFontInfo = { + 18, /* Character height */ + '-', /* Start character */ + 'Y', /* End character */ + 2, /* Width, in pixels, of space character */ + funclimbingDemo_18ptDescriptors, /* Character descriptor array */ + funclimbingDemo_18ptBitmaps, /* Character bitmap array */ +}; diff --git a/ui/fonts/funclimbing/funclimbing.h b/ui/fonts/funclimbing/funclimbing.h new file mode 100644 index 00000000000..26614adf125 --- /dev/null +++ b/ui/fonts/funclimbing/funclimbing.h @@ -0,0 +1,7 @@ +#pragma once + +/* GENERATED BY https://github.com/pavius/the-dot-factory */ + +#include "../font_info.h" + +extern const FONT_INFO funclimbingDemo_18ptFontInfo; \ No newline at end of file diff --git a/ui/fonts/pixelflag/pixelflag.c b/ui/fonts/pixelflag/pixelflag.c new file mode 100644 index 00000000000..2b7be9eb885 --- /dev/null +++ b/ui/fonts/pixelflag/pixelflag.c @@ -0,0 +1,1114 @@ +#include "pixelflag.h" + +/* GENERATED BY https://github.com/pavius/the-dot-factory */ + +/* +** Font data for {PixelFlag} 18pt +*/ + +/* Character bitmaps for {PixelFlag} 18pt */ +const uint8_t pixelFlag_18ptBitmaps[] = { + /* @0 '-' (13 pixels wide) */ + 0xFE, + 0x07, + 0xFE, + 0x07, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xF8, + 0x07, + 0xF8, + 0x07, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0xFE, + 0x07, + 0xFE, + 0x07, + + /* @34 '0' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0xF8, + 0x07, + 0xF8, + 0x07, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0xFC, + 0x1F, + 0xF8, + 0x07, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @68 '1' (13 pixels wide) */ + 0xff, + 0xff, + 0xff, + 0xff, + 0x00, + 0xe0, + 0xc0, + 0xe0, + 0xc0, + 0xe0, + 0xe0, + 0xe0, + 0xe0, + 0xe0, + 0xc0, + 0xe0, + 0xc0, + 0xe0, + 0xc0, + 0xe0, + 0xc0, + 0xe0, + 0xc0, + 0xe0, + 0xe0, + 0xe3, + 0xe0, + 0xe3, + 0x00, + 0xe0, + 0xff, + 0xff, + 0xff, + 0xff, + + /* @102 '2' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0xFC, + 0x07, + 0xFC, + 0x07, + 0x00, + 0x18, + 0x00, + 0x18, + 0x00, + 0x18, + 0xF8, + 0x07, + 0xFC, + 0x07, + 0x0C, + 0x00, + 0x0C, + 0x00, + 0xFC, + 0x1F, + 0xFC, + 0x1F, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @136 '3' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0xFC, + 0x07, + 0xFC, + 0x07, + 0x00, + 0x18, + 0x00, + 0x18, + 0x00, + 0x18, + 0xE0, + 0x07, + 0xE0, + 0x1F, + 0x00, + 0x18, + 0x00, + 0x18, + 0xFC, + 0x1F, + 0xFC, + 0x07, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @170 '4' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0x00, + 0x06, + 0x00, + 0x06, + 0x00, + 0x07, + 0xC0, + 0x07, + 0xC0, + 0x06, + 0x60, + 0x06, + 0x78, + 0x06, + 0x18, + 0x06, + 0xFC, + 0x1F, + 0xFC, + 0x1F, + 0x00, + 0x06, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @204 '5' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0xFC, + 0x1F, + 0xFC, + 0x1F, + 0x0C, + 0x00, + 0x0C, + 0x00, + 0x0C, + 0x00, + 0xFC, + 0x07, + 0xFC, + 0x1F, + 0x00, + 0x18, + 0x00, + 0x18, + 0xFC, + 0x1F, + 0xFC, + 0x07, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @238 '6' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0xF8, + 0x07, + 0xF8, + 0x07, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x00, + 0xFC, + 0x07, + 0xFC, + 0x1F, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0xFC, + 0x1F, + 0xF8, + 0x07, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @272 '7' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0xFC, + 0x1F, + 0xFC, + 0x1F, + 0x00, + 0x06, + 0x00, + 0x07, + 0x00, + 0x03, + 0xC0, + 0x00, + 0xE0, + 0x00, + 0x60, + 0x00, + 0x18, + 0x00, + 0x1C, + 0x00, + 0x0C, + 0x00, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @306 '8' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0xF8, + 0x07, + 0xF8, + 0x07, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0xF8, + 0x07, + 0xFC, + 0x1F, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0xFC, + 0x1F, + 0xF8, + 0x07, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @340 '9' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0xF8, + 0x07, + 0xF8, + 0x07, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0xF8, + 0x1F, + 0xF8, + 0x1F, + 0x00, + 0x18, + 0x0C, + 0x18, + 0xFC, + 0x1F, + 0xF8, + 0x07, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @374 'B' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0xFC, + 0x07, + 0xFC, + 0x07, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0xFC, + 0x07, + 0xFC, + 0x1F, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0xFC, + 0x1F, + 0xFC, + 0x07, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @408 'C' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0xF8, + 0x07, + 0xF8, + 0x07, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x00, + 0x0C, + 0x00, + 0x0C, + 0x00, + 0x0C, + 0x00, + 0x0C, + 0x18, + 0xFC, + 0x1F, + 0xF8, + 0x07, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @442 'D' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0xFC, + 0x07, + 0xFC, + 0x07, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0xFC, + 0x1F, + 0xFC, + 0x07, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @476 'F' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0xFC, + 0x1F, + 0xFC, + 0x1F, + 0x0C, + 0x00, + 0x0C, + 0x00, + 0x0C, + 0x00, + 0xFC, + 0x03, + 0xFC, + 0x03, + 0x0C, + 0x00, + 0x0C, + 0x00, + 0x0C, + 0x00, + 0x0C, + 0x00, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @510 'G' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0xF8, + 0x07, + 0xF8, + 0x07, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x00, + 0xCC, + 0x1F, + 0xCC, + 0x1F, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0xFC, + 0x1F, + 0xF8, + 0x07, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @544 'H' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0xFC, + 0x1F, + 0xFC, + 0x1F, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @578 'J' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0x00, + 0x18, + 0x00, + 0x18, + 0x00, + 0x18, + 0x00, + 0x18, + 0x00, + 0x18, + 0x00, + 0x18, + 0x00, + 0x18, + 0x00, + 0x18, + 0x0C, + 0x18, + 0xFC, + 0x1F, + 0xF8, + 0x07, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @612 'K' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x06, + 0x0C, + 0x07, + 0x0C, + 0x03, + 0xFC, + 0x00, + 0xFC, + 0x03, + 0x0C, + 0x03, + 0x0C, + 0x06, + 0x0C, + 0x1E, + 0x0C, + 0x18, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @646 'M' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x1C, + 0x1E, + 0x7C, + 0x1F, + 0x6C, + 0x1B, + 0xCC, + 0x18, + 0xCC, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @680 'N' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x1C, + 0x18, + 0x7C, + 0x18, + 0x6C, + 0x18, + 0xCC, + 0x18, + 0xCC, + 0x1B, + 0x0C, + 0x1B, + 0x0C, + 0x1E, + 0x0C, + 0x1E, + 0x0C, + 0x18, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @714 'P' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0xFC, + 0x07, + 0xFC, + 0x07, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0xFC, + 0x07, + 0xFC, + 0x07, + 0x0C, + 0x00, + 0x0C, + 0x00, + 0x0C, + 0x00, + 0x0C, + 0x00, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @748 'Q' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0xF8, + 0x07, + 0xF8, + 0x07, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0xCC, + 0x18, + 0xCC, + 0x1B, + 0x0C, + 0x1B, + 0x0C, + 0x1E, + 0xFC, + 0x1F, + 0xF8, + 0x07, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @782 'R' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0xFC, + 0x07, + 0xFC, + 0x07, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0xFC, + 0x07, + 0xFC, + 0x1F, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @816 'T' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0xFC, + 0x1F, + 0xFC, + 0x1F, + 0xC0, + 0x00, + 0xC0, + 0x00, + 0xC0, + 0x00, + 0xC0, + 0x00, + 0xC0, + 0x00, + 0xC0, + 0x00, + 0xC0, + 0x00, + 0xC0, + 0x00, + 0xC0, + 0x00, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @850 'V' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x1C, + 0x1E, + 0x18, + 0x06, + 0x60, + 0x03, + 0xE0, + 0x03, + 0xC0, + 0x00, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @884 'W' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0xCC, + 0x18, + 0xCC, + 0x18, + 0xCC, + 0x18, + 0xCC, + 0x18, + 0xCC, + 0x18, + 0xCC, + 0x18, + 0xFC, + 0x1F, + 0x78, + 0x07, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @918 'X' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x18, + 0x06, + 0x78, + 0x07, + 0x60, + 0x03, + 0xC0, + 0x00, + 0xE0, + 0x03, + 0x60, + 0x03, + 0x18, + 0x06, + 0x1C, + 0x1E, + 0x0C, + 0x18, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, + + /* @952 'Y' (13 pixels wide) */ + 0xFF, + 0x1F, + 0xFF, + 0x1F, + 0x00, + 0x00, + 0x0C, + 0x18, + 0x0C, + 0x18, + 0x18, + 0x06, + 0x78, + 0x07, + 0x60, + 0x03, + 0xC0, + 0x00, + 0xC0, + 0x00, + 0xC0, + 0x00, + 0xC0, + 0x00, + 0xC0, + 0x00, + 0xC0, + 0x00, + 0x00, + 0x00, + 0xFF, + 0x1F, + 0xFF, + 0x1F, +}; + +/* Character descriptors for {PixelFlag} 18pt */ +/* { [Char width in bits], [Offset into pixelFlag_18ptCharBitmaps in bytes] } */ +const FONT_CHAR_INFO pixelFlag_18ptDescriptors[] = { + {13, 0}, /* - */ + {0, 0}, /* . */ + {0, 0}, /* / */ + {13, 34}, /* 0 */ + {13, 68}, /* 1 */ + {13, 102}, /* 2 */ + {13, 136}, /* 3 */ + {13, 170}, /* 4 */ + {13, 204}, /* 5 */ + {13, 238}, /* 6 */ + {13, 272}, /* 7 */ + {13, 306}, /* 8 */ + {13, 340}, /* 9 */ + {0, 0}, /* : */ + {0, 0}, /* ; */ + {0, 0}, /* < */ + {0, 0}, /* = */ + {0, 0}, /* > */ + {0, 0}, /* ? */ + {0, 0}, /* @ */ + {0, 0}, /* A */ + {13, 374}, /* B */ + {13, 408}, /* C */ + {13, 442}, /* D */ + {0, 0}, /* E */ + {13, 476}, /* F */ + {13, 510}, /* G */ + {13, 544}, /* H */ + {0, 0}, /* I */ + {13, 578}, /* J */ + {13, 612}, /* K */ + {0, 0}, /* L */ + {13, 646}, /* M */ + {13, 680}, /* N */ + {0, 0}, /* O */ + {13, 714}, /* P */ + {13, 748}, /* Q */ + {13, 782}, /* R */ + {0, 0}, /* S */ + {13, 816}, /* T */ + {0, 0}, /* U */ + {13, 850}, /* V */ + {13, 884}, /* W */ + {13, 918}, /* X */ + {13, 952}, /* Y */ +}; + +/* Font information for {PixelFlag} 18pt */ +const FONT_INFO pixelFlag_18ptFontInfo = { + 17, /* Character height */ + '-', /* Start character */ + 'Y', /* End character */ + 0, /* Width, in pixels, of space character */ + pixelFlag_18ptDescriptors, /* Character descriptor array */ + pixelFlag_18ptBitmaps, /* Character bitmap array */ +}; diff --git a/ui/fonts/pixelflag/pixelflag.h b/ui/fonts/pixelflag/pixelflag.h new file mode 100644 index 00000000000..dc339c84d60 --- /dev/null +++ b/ui/fonts/pixelflag/pixelflag.h @@ -0,0 +1,7 @@ +#pragma once + +/* GENERATED BY https://github.com/pavius/the-dot-factory */ + +#include "../font_info.h" + +extern const FONT_INFO pixelFlag_18ptFontInfo; \ No newline at end of file