From 0bb25bb9846012b1bf4f64e477f3b0f2a1558e6c Mon Sep 17 00:00:00 2001 From: aeroreyna Date: Tue, 13 Jan 2026 22:04:10 -0500 Subject: [PATCH] adding custom fonts and editor mode with tab --- .../c/lib/Fonts/acme_5_outlines_font.h | 107 ++++++++++++++++++ Pico_ePaper_Code/c/lib/Fonts/fonts.h | 9 +- README.md | 2 +- eink_api.c | 85 +++++++++----- fonts/5x5.ttf | Bin 0 -> 50536 bytes fonts/5x5_font.h | 98 ++++++++++++++++ fonts/5x5_font.png | Bin 0 -> 747 bytes fonts/7linedigital.ttf | Bin 0 -> 22608 bytes fonts/7linedigital_font.h | 98 ++++++++++++++++ fonts/7linedigital_font.png | Bin 0 -> 476 bytes fonts/BMSPA.TTF | Bin 0 -> 7472 bytes fonts/BMSPA_font.h | 98 ++++++++++++++++ fonts/BMSPA_font.png | Bin 0 -> 878 bytes fonts/BMplain.TTF | Bin 0 -> 19172 bytes fonts/BMplain_font.h | 98 ++++++++++++++++ fonts/BMplain_font.png | Bin 0 -> 840 bytes fonts/Basic Pixel Fonts - Font Gallery.url | 2 + fonts/Blokus.otf | Bin 0 -> 25256 bytes fonts/Blokus_font.h | 98 ++++++++++++++++ fonts/Blokus_font.png | Bin 0 -> 1120 bytes fonts/Commo-Monospaced.otf | Bin 0 -> 19204 bytes fonts/Commo-Monospaced_font.h | 98 ++++++++++++++++ fonts/Commo-Monospaced_font.png | Bin 0 -> 964 bytes fonts/HISKYF21.ttf | Bin 0 -> 28628 bytes fonts/HISKYF21_font.h | 98 ++++++++++++++++ fonts/HISKYF21_font.png | Bin 0 -> 751 bytes fonts/HUNTER.TTF | Bin 0 -> 29716 bytes fonts/HUNTER_font.h | 98 ++++++++++++++++ fonts/HUNTER_font.png | Bin 0 -> 859 bytes fonts/Minimum+1.TTF | Bin 0 -> 26992 bytes fonts/Minimum+1_font.h | 100 ++++++++++++++++ fonts/Minimum+1_font.png | Bin 0 -> 2005 bytes fonts/Minimum.TTF | Bin 0 -> 20540 bytes fonts/Minimum_font.h | 98 ++++++++++++++++ fonts/Minimum_font.png | Bin 0 -> 725 bytes fonts/Raumsond.ttf | Bin 0 -> 47072 bytes fonts/Raumsond_font.h | 98 ++++++++++++++++ fonts/Raumsond_font.png | Bin 0 -> 786 bytes fonts/SUPERDIG.TTF | Bin 0 -> 6720 bytes fonts/SUPERDIG_font.h | 98 ++++++++++++++++ fonts/SUPERDIG_font.png | Bin 0 -> 700 bytes fonts/acme_5_outlines.ttf | Bin 0 -> 84456 bytes fonts/acme_5_outlines_font.h | 107 ++++++++++++++++++ fonts/acme_5_outlines_font.png | Bin 0 -> 984 bytes fonts/aztech.ttf | Bin 0 -> 11396 bytes fonts/aztech_font.h | 98 ++++++++++++++++ fonts/aztech_font.png | Bin 0 -> 850 bytes fonts/bubblesstandard.ttf | Bin 0 -> 16788 bytes fonts/bubblesstandard_font.h | 98 ++++++++++++++++ fonts/bubblesstandard_font.png | Bin 0 -> 1275 bytes fonts/crackers.ttf | Bin 0 -> 21800 bytes fonts/crackers_font.h | 98 ++++++++++++++++ fonts/crackers_font.png | Bin 0 -> 919 bytes fonts/font.h | 98 ++++++++++++++++ fonts/font.png | Bin 0 -> 875 bytes fonts/fontgen.py | 107 ++++++++++++++++++ fonts/formplex12.ttf | Bin 0 -> 39280 bytes fonts/formplex12_font.h | 98 ++++++++++++++++ fonts/formplex12_font.png | Bin 0 -> 853 bytes fonts/haiku.TTF | Bin 0 -> 20048 bytes fonts/haiku_font.h | 98 ++++++++++++++++ fonts/haiku_font.png | Bin 0 -> 920 bytes fonts/homespun.ttf | Bin 0 -> 16040 bytes fonts/homespun_font.h | 98 ++++++++++++++++ fonts/homespun_font.png | Bin 0 -> 896 bytes fonts/m38.TTF | Bin 0 -> 15552 bytes fonts/m38_font.h | 98 ++++++++++++++++ fonts/m38_font.png | Bin 0 -> 846 bytes fonts/pzim3x5.ttf | Bin 0 -> 25480 bytes fonts/pzim3x5_font.h | 98 ++++++++++++++++ fonts/pzim3x5_font.png | Bin 0 -> 545 bytes fonts/renew.ttf | Bin 0 -> 12024 bytes fonts/renew_font.h | 98 ++++++++++++++++ fonts/renew_font.png | Bin 0 -> 799 bytes fonts/sloth.ttf | Bin 0 -> 11352 bytes fonts/sloth_font.h | 98 ++++++++++++++++ fonts/sloth_font.png | Bin 0 -> 858 bytes fonts/tama_mini02.TTF | Bin 0 -> 17540 bytes fonts/tama_mini02_font.h | 98 ++++++++++++++++ fonts/tama_mini02_font.png | Bin 0 -> 782 bytes fonts/zxpix.TTF | Bin 0 -> 22248 bytes fonts/zxpix_font.h | 98 ++++++++++++++++ fonts/zxpix_font.png | Bin 0 -> 1046 bytes 83 files changed, 2835 insertions(+), 36 deletions(-) create mode 100644 Pico_ePaper_Code/c/lib/Fonts/acme_5_outlines_font.h create mode 100644 fonts/5x5.ttf create mode 100644 fonts/5x5_font.h create mode 100644 fonts/5x5_font.png create mode 100644 fonts/7linedigital.ttf create mode 100644 fonts/7linedigital_font.h create mode 100644 fonts/7linedigital_font.png create mode 100644 fonts/BMSPA.TTF create mode 100644 fonts/BMSPA_font.h create mode 100644 fonts/BMSPA_font.png create mode 100644 fonts/BMplain.TTF create mode 100644 fonts/BMplain_font.h create mode 100644 fonts/BMplain_font.png create mode 100644 fonts/Basic Pixel Fonts - Font Gallery.url create mode 100644 fonts/Blokus.otf create mode 100644 fonts/Blokus_font.h create mode 100644 fonts/Blokus_font.png create mode 100644 fonts/Commo-Monospaced.otf create mode 100644 fonts/Commo-Monospaced_font.h create mode 100644 fonts/Commo-Monospaced_font.png create mode 100644 fonts/HISKYF21.ttf create mode 100644 fonts/HISKYF21_font.h create mode 100644 fonts/HISKYF21_font.png create mode 100644 fonts/HUNTER.TTF create mode 100644 fonts/HUNTER_font.h create mode 100644 fonts/HUNTER_font.png create mode 100644 fonts/Minimum+1.TTF create mode 100644 fonts/Minimum+1_font.h create mode 100644 fonts/Minimum+1_font.png create mode 100644 fonts/Minimum.TTF create mode 100644 fonts/Minimum_font.h create mode 100644 fonts/Minimum_font.png create mode 100644 fonts/Raumsond.ttf create mode 100644 fonts/Raumsond_font.h create mode 100644 fonts/Raumsond_font.png create mode 100644 fonts/SUPERDIG.TTF create mode 100644 fonts/SUPERDIG_font.h create mode 100644 fonts/SUPERDIG_font.png create mode 100644 fonts/acme_5_outlines.ttf create mode 100644 fonts/acme_5_outlines_font.h create mode 100644 fonts/acme_5_outlines_font.png create mode 100644 fonts/aztech.ttf create mode 100644 fonts/aztech_font.h create mode 100644 fonts/aztech_font.png create mode 100644 fonts/bubblesstandard.ttf create mode 100644 fonts/bubblesstandard_font.h create mode 100644 fonts/bubblesstandard_font.png create mode 100644 fonts/crackers.ttf create mode 100644 fonts/crackers_font.h create mode 100644 fonts/crackers_font.png create mode 100644 fonts/font.h create mode 100644 fonts/font.png create mode 100644 fonts/fontgen.py create mode 100644 fonts/formplex12.ttf create mode 100644 fonts/formplex12_font.h create mode 100644 fonts/formplex12_font.png create mode 100644 fonts/haiku.TTF create mode 100644 fonts/haiku_font.h create mode 100644 fonts/haiku_font.png create mode 100644 fonts/homespun.ttf create mode 100644 fonts/homespun_font.h create mode 100644 fonts/homespun_font.png create mode 100644 fonts/m38.TTF create mode 100644 fonts/m38_font.h create mode 100644 fonts/m38_font.png create mode 100644 fonts/pzim3x5.ttf create mode 100644 fonts/pzim3x5_font.h create mode 100644 fonts/pzim3x5_font.png create mode 100644 fonts/renew.ttf create mode 100644 fonts/renew_font.h create mode 100644 fonts/renew_font.png create mode 100644 fonts/sloth.ttf create mode 100644 fonts/sloth_font.h create mode 100644 fonts/sloth_font.png create mode 100644 fonts/tama_mini02.TTF create mode 100644 fonts/tama_mini02_font.h create mode 100644 fonts/tama_mini02_font.png create mode 100644 fonts/zxpix.TTF create mode 100644 fonts/zxpix_font.h create mode 100644 fonts/zxpix_font.png diff --git a/Pico_ePaper_Code/c/lib/Fonts/acme_5_outlines_font.h b/Pico_ePaper_Code/c/lib/Fonts/acme_5_outlines_font.h new file mode 100644 index 0000000..b59d037 --- /dev/null +++ b/Pico_ePaper_Code/c/lib/Fonts/acme_5_outlines_font.h @@ -0,0 +1,107 @@ +#include "fonts.h" + +const uint8_t FontAcme_Table[] = { + 0x00,0x00,0x00,0x00,0x00,0x00, // + 0x7f,0x51,0x7f,0x00,0x00,0x00, // ! + 0x0f,0x09,0x0f,0x09,0x0f,0x00, // " + 0x3e,0x6b,0x41,0x6b,0x41,0x6b, // # + 0x7f,0xd1,0x94,0xc5,0x7f,0x00, // $ + 0x77,0x4d,0x77,0x59,0x77,0x00, // % + 0x7f,0x49,0x55,0x49,0x6f,0x54, // & + 0x0f,0x09,0x0f,0x00,0x00,0x00, // ' + 0x7f,0xc1,0xbe,0xe3,0x00,0x00, // ( + 0xe3,0xbe,0xc1,0x7f,0x00,0x00, // ) + 0x3e,0x2a,0x77,0x41,0x77,0x2a, // * + 0x1c,0x14,0x77,0x41,0x77,0x14, // + + 0xe0,0xb0,0xd0,0x70,0x00,0x00, // , + 0x1c,0x14,0x14,0x14,0x1c,0x00, // - + 0x70,0x50,0x70,0x00,0x00,0x00, // . + 0x78,0x4c,0x77,0x19,0x0f,0x00, // / + 0x7f,0x41,0x5d,0x41,0x7f,0x00, // 0 + 0x7f,0x41,0x7f,0x00,0x00,0x00, // 1 + 0x7f,0x45,0x55,0x51,0x7f,0x00, // 2 + 0x7f,0x55,0x55,0x41,0x7f,0x00, // 3 + 0x1f,0x11,0x77,0x41,0x7f,0x00, // 4 + 0x7f,0x51,0x55,0x45,0x7f,0x00, // 5 + 0x7f,0x41,0x55,0x45,0x7f,0x00, // 6 + 0x07,0x7d,0x45,0x79,0x0f,0x00, // 7 + 0x7f,0x49,0x55,0x49,0x7f,0x00, // 8 + 0x7f,0x51,0x55,0x41,0x7f,0x00, // 9 + 0x3e,0x2a,0x3e,0x00,0x00,0x00, // : + 0xe0,0xbe,0xda,0x7e,0x00,0x00, // ; + 0x1c,0x36,0x6b,0x5d,0x77,0x00, // < + 0x3e,0x2a,0x2a,0x2a,0x2a,0x3e, // = + 0x77,0x5d,0x6b,0x36,0x1c,0x00, // > + 0x07,0x7d,0x55,0x71,0x1f,0x00, // ? + 0x7f,0x41,0x5d,0x55,0x51,0x7f, // @ + 0x7f,0x41,0x75,0x41,0x7f,0x00, // A + 0x7f,0x41,0x55,0x41,0x7f,0x00, // B + 0x7f,0x41,0x5d,0x55,0x77,0x00, // C + 0x7f,0x41,0x5d,0x63,0x3e,0x00, // D + 0x7f,0x41,0x55,0x55,0x7f,0x00, // E + 0x7f,0x41,0x75,0x15,0x1f,0x00, // F + 0x7f,0x41,0x5d,0x45,0x7f,0x00, // G + 0x7f,0x41,0x77,0x41,0x7f,0x00, // H + 0x7f,0x41,0x7f,0x00,0x00,0x00, // I + 0x78,0x48,0x5f,0x41,0x7f,0x00, // J + 0x7f,0x41,0x77,0x49,0x7f,0x00, // K + 0x7f,0x41,0x5f,0x50,0x70,0x00, // L + 0x7f,0x41,0x3b,0x3b,0x41,0x7f, // M + 0x7f,0x41,0x3b,0x76,0x41,0x7f, // N + 0x7f,0x41,0x5d,0x41,0x7f,0x00, // O + 0x7f,0x41,0x75,0x11,0x1f,0x00, // P + 0x7f,0x41,0x1d,0x41,0x7f,0x00, // Q + 0x7f,0x41,0x6d,0x51,0x6f,0x00, // R + 0x7f,0x51,0x55,0x45,0x7f,0x00, // S + 0x07,0x7d,0x41,0x7d,0x07,0x00, // T + 0x7f,0x41,0x5f,0x41,0x7f,0x00, // U + 0x3f,0x61,0x5f,0x61,0x3f,0x00, // V + 0x7f,0x41,0x6e,0x6e,0x41,0x7f, // W + 0x7f,0x49,0x77,0x49,0x7f,0x00, // X + 0x1f,0x71,0x47,0x71,0x1f,0x00, // Y + 0x7b,0x4d,0x55,0x59,0x6f,0x00, // Z + 0xff,0x80,0xbe,0xe3,0x00,0x00, // [ + 0x0f,0x19,0x77,0x4c,0x78,0x00, // "\" + 0xe3,0xbe,0x80,0xff,0x00,0x00, // ] + 0x0e,0x0b,0x0d,0x0b,0x0e,0x00, // ^ + 0xe0,0xa0,0xa0,0xa0,0xa0,0xe0, // _ + 0x07,0x0d,0x0b,0x0e,0x00,0x00, // ` + 0x7f,0x41,0x75,0x41,0x7f,0x00, // a + 0x7f,0x41,0x55,0x41,0x7f,0x00, // b + 0x7f,0x41,0x5d,0x55,0x77,0x00, // c + 0x7f,0x41,0x5d,0x63,0x3e,0x00, // d + 0x7f,0x41,0x55,0x55,0x7f,0x00, // e + 0x7f,0x41,0x75,0x15,0x1f,0x00, // f + 0x7f,0x41,0x5d,0x45,0x7f,0x00, // g + 0x7f,0x41,0x77,0x41,0x7f,0x00, // h + 0x7f,0x41,0x7f,0x00,0x00,0x00, // i + 0x78,0x48,0x5f,0x41,0x7f,0x00, // j + 0x7f,0x41,0x77,0x49,0x7f,0x00, // k + 0x7f,0x41,0x5f,0x50,0x70,0x00, // l + 0x7f,0x41,0x3b,0x3b,0x41,0x7f, // m + 0x7f,0x41,0x3b,0x76,0x41,0x7f, // n + 0x7f,0x41,0x5d,0x41,0x7f,0x00, // o + 0x7f,0x41,0x75,0x11,0x1f,0x00, // p + 0x7f,0x41,0x1d,0x41,0x7f,0x00, // q + 0x7f,0x41,0x6d,0x51,0x6f,0x00, // r + 0x7f,0x51,0x55,0x45,0x7f,0x00, // s + 0x07,0x7d,0x41,0x7d,0x07,0x00, // t + 0x7f,0x41,0x5f,0x41,0x7f,0x00, // u + 0x3f,0x61,0x5f,0x61,0x3f,0x00, // v + 0x7f,0x41,0x6e,0x6e,0x41,0x7f, // w + 0x7f,0x49,0x77,0x49,0x7f,0x00, // x + 0x1f,0x71,0x47,0x71,0x1f,0x00, // y + 0x7b,0x4d,0x55,0x59,0x6f,0x00, // z + 0x1c,0xf7,0x88,0xbe,0xe3,0x00, // + 0xff,0x80,0xff,0x00,0x00,0x00, // | + 0xe3,0xbe,0x88,0xf7,0x1c,0x00, // + 0x0f,0x09,0x0d,0x09,0x0b,0x09, // ~ + 0x00,0x00,0x00,0x00,0x00,0x00 +}; + + +sFONT Acme_5 = { + FontAcme_Table, + 8, /* Width */ + 6, /* Height */ +}; \ No newline at end of file diff --git a/Pico_ePaper_Code/c/lib/Fonts/fonts.h b/Pico_ePaper_Code/c/lib/Fonts/fonts.h index 5d8ea50..1d74119 100644 --- a/Pico_ePaper_Code/c/lib/Fonts/fonts.h +++ b/Pico_ePaper_Code/c/lib/Fonts/fonts.h @@ -39,7 +39,7 @@ #ifndef __FONTS_H #define __FONTS_H -/*×î´ó×ÖÌå΢ÈíÑźÚ24 (32x41) */ +/*�������΢���ź�24 (32x41) */ #define MAX_HEIGHT_FONT 41 #define MAX_WIDTH_FONT 32 #define OFFSET_BITMAP @@ -61,10 +61,10 @@ typedef struct _tFont //GB2312 -typedef struct // ºº×Ö×ÖÄ£Êý¾Ý½á¹¹ +typedef struct // ������ģ���ݽṹ { - const char index[2]; // ºº×ÖÄÚÂëË÷Òý - const char matrix[MAX_HEIGHT_FONT*MAX_WIDTH_FONT/8+2]; // µãÕóÂëÊý¾Ý + const char index[2]; // ������������ + const char matrix[MAX_HEIGHT_FONT*MAX_WIDTH_FONT/8+2]; // ���������� }CH_CN; @@ -83,6 +83,7 @@ extern sFONT Font20; extern sFONT Font16; extern sFONT Font12; extern sFONT Font8; +extern sFONT Acme_5; extern cFONT Font12CN; extern cFONT Font24CN; diff --git a/README.md b/README.md index 2ef7427..1f48443 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ Run `scripts/flash_and_connect.sh [/dev/ttyACM0]` to configure CMake, compile th | `draw_num x y num` | Draws `num` using the default numeric font. | | `set_pixel x y color` | Sets a single pixel to `color` (0=white, 1=black). | | `close` | Sends the panel to deep sleep and frees the framebuffer. | -| `editor [0|1]` | Enables editor mode; default uses white background, non-zero switches to white text on black. | +| `editor [0|1]` | Enables editor mode; default uses white background, non-zero switches to white text on black. Press Enter to run typed commands. | ## Notes diff --git a/eink_api.c b/eink_api.c index 8e911a7..78e5809 100644 --- a/eink_api.c +++ b/eink_api.c @@ -1,6 +1,7 @@ #include #include #include +#include #include #ifndef M_PI @@ -17,9 +18,11 @@ #include "GUI_Paint.h" #include "fonts.h" #include "EPD_4in2_V2.h" +#include "acme_5_outlines_font.h" //Create a new image cache UBYTE *BlackImage; +UBYTE *EditorImage; queue_t q; @@ -47,6 +50,10 @@ int epaper_init() printf("Failed to apply for black memory...\r\n"); return -1; } + if((EditorImage = (UBYTE *)malloc(Imagesize)) == NULL) { + printf("Failed to apply for editor memory...\r\n"); + return -1; + } printf("Paint_NewImage\r\n"); Paint_NewImage(BlackImage, EPD_4IN2_V2_WIDTH, EPD_4IN2_V2_HEIGHT, 0, WHITE); screen_on = true; @@ -88,7 +95,7 @@ bool editor_mode = false; uint32_t editor_last_ts = 0; char screen_log[2000]; int screen_log_i = 0; -sFONT *current_font = &Font16; +sFONT *current_font = &Font12; UBYTE editor_bg_color = WHITE; UBYTE editor_fg_color = BLACK; @@ -110,11 +117,20 @@ int epaper_close() void process_command(char *cmd) { - printf("Processing command: %s\n", cmd); + if(!editor_mode) printf("Processing command: %s\n", cmd); + Paint_NewImage(BlackImage, EPD_4IN2_V2_WIDTH, EPD_4IN2_V2_HEIGHT, 0, WHITE); if (strcmp(cmd, "init") == 0) { epaper_init(); printf("e-Paper initialized\n"); - } else if (screen_on && strcmp(cmd, "clear") == 0) { + } else if (screen_on && strcmp(cmd, "clear") == 0 && (cmd[5] == ' ' || cmd[5] == '\0')) { + if(editor_mode){ + screen_log_i = 0; + screen_log[0] = '\0'; + } else { + Paint_Clear(WHITE); + printf("e-Paper cleared\n"); + } + } else if (screen_on && strcmp(cmd, "clear_draw") == 0) { Paint_Clear(WHITE); printf("e-Paper cleared\n"); } else if (screen_on && strcmp(cmd, "display") == 0) { @@ -241,13 +257,14 @@ void process_command(char *cmd) screen_log_i = 0; screen_log[0] = '\0'; } - editor_mode = true; - absolute_time_t time = get_absolute_time(); - editor_last_ts = to_ms_since_boot(time); + // editor_mode = true; + // absolute_time_t time = get_absolute_time(); + // editor_last_ts = to_ms_since_boot(time); printf("Editor mode enabled (%s background)\n", invert_flag != 0 ? "black" : "white"); } else { - printf("Unknown command: %s\n", cmd); + if(!editor_mode) printf("Unknown command: %s\n", cmd); } + if(editor_mode) Paint_NewImage(EditorImage, EPD_4IN2_V2_WIDTH, EPD_4IN2_V2_HEIGHT, 0, WHITE); } @@ -258,6 +275,7 @@ void core1_entry() { char cmd_buffer[256]; int i = 0; + bool display_image_on_editor = false; while (true) { bool newChar = false; @@ -267,8 +285,9 @@ void core1_entry() { newChar = true; if(editor_mode){ - absolute_time_t time = get_absolute_time(); - editor_last_ts = to_ms_since_boot(time); + // absolute_time_t time = get_absolute_time(); + // editor_last_ts = to_ms_since_boot(time); + display_image_on_editor = false; if (c == '\n' || c == '\r') { screen_log[screen_log_i++] = '\n'; } else if (c == '\b' || c == 127) { // Handle backspace @@ -280,22 +299,26 @@ void core1_entry() { screen_log[screen_log_i++] = c; } } - } else { - if (c == '\n' || c == '\r') { - cmd_buffer[i] = '\0'; - process_command(cmd_buffer); - i = 0; - // Clear the command buffer display area + } + if (c == '\n' || c == '\r') { + cmd_buffer[i] = '\0'; + process_command(cmd_buffer); + i = 0; + // Clear the command buffer display area + if(!editor_mode){ Paint_ClearWindows(1, 281, 399, 299, WHITE); - break; - } else if (c == '\b' || c == 127) { // Handle backspace - if (i > 0) { - i--; - } - } else { - if (i < (sizeof(cmd_buffer) - 1)) { - cmd_buffer[i++] = c; - } + } + break; + } else if (c == '\b' || c == 127) { // Handle backspace + if (i > 0) { + i--; + } + } else if (c == '\t'){ + editor_mode = !editor_mode; + //display_image_on_editor = true; + } else { + if (i < (sizeof(cmd_buffer) - 1)) { + cmd_buffer[i++] = c; } } } @@ -325,7 +348,7 @@ void core1_entry() { // if overflow reset the screen_log buffer with only the last line Paint_DrawString_EN(10, 10, screen_log, current_font, editor_bg_color, editor_fg_color); } - EPD_4IN2_V2_PartialDisplay(BlackImage, 0, 0, 400, 300); + EPD_4IN2_V2_PartialDisplay(EditorImage, 0, 0, 400, 300); } else { cmd_buffer[i] = '\0'; // Update the command buffer display @@ -373,12 +396,12 @@ int main() } absolute_time_t time = get_absolute_time(); uint32_t ms = to_ms_since_boot(time); - if(editor_last_ts != 0 && editor_mode && (editor_last_ts + 10000 < ms)){ - printf("Disabling editor after 10s of inactivity"); - editor_mode = false; - editor_bg_color = WHITE; - editor_fg_color = BLACK; - } + //if(editor_last_ts != 0 && editor_mode && (editor_last_ts + 10000 < ms)){ + // printf("Disabling editor after 10s of inactivity"); + // editor_mode = false; + // editor_bg_color = WHITE; + // editor_fg_color = BLACK; + //} } epaper_close(); diff --git a/fonts/5x5.ttf b/fonts/5x5.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3ae64c5d846d9c2eed947484c93540c3d9c0970b GIT binary patch literal 50536 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 literal 0 HcmV?d00001 diff --git a/fonts/5x5_font.h b/fonts/5x5_font.h new file mode 100644 index 0000000..1fd14eb --- /dev/null +++ b/fonts/5x5_font.h @@ -0,0 +1,98 @@ +const unsigned char font[96][6] = { + {0x00,0x00,0x00,0x00,0x00,0x00}, // + {0x5c,0x00,0x00,0x00,0x00,0x00}, // ! + {0x06,0x00,0x06,0x00,0x00,0x00}, // " + {0x28,0x7c,0x28,0x7c,0x28,0x00}, // # + {0x5c,0x54,0xfe,0x54,0x74,0x00}, // $ + {0x44,0x20,0x10,0x08,0x44,0x00}, // % + {0x28,0x54,0x54,0x20,0x50,0x00}, // & + {0x06,0x00,0x00,0x00,0x00,0x00}, // ' + {0x38,0x44,0x00,0x00,0x00,0x00}, // ( + {0x44,0x38,0x00,0x00,0x00,0x00}, // ) + {0x02,0x07,0x02,0x00,0x00,0x00}, // * + {0x10,0x10,0x7c,0x10,0x10,0x00}, // + + {0xc0,0x00,0x00,0x00,0x00,0x00}, // , + {0x10,0x10,0x10,0x10,0x10,0x00}, // - + {0x40,0x00,0x00,0x00,0x00,0x00}, // . + {0x60,0x10,0x0c,0x00,0x00,0x00}, // / + {0x7c,0x64,0x54,0x4c,0x7c,0x00}, // 0 + {0x48,0x7c,0x40,0x00,0x00,0x00}, // 1 + {0x64,0x54,0x54,0x54,0x48,0x00}, // 2 + {0x44,0x54,0x54,0x54,0x6c,0x00}, // 3 + {0x3c,0x20,0x70,0x20,0x20,0x00}, // 4 + {0x5c,0x54,0x54,0x54,0x24,0x00}, // 5 + {0x7c,0x54,0x54,0x54,0x74,0x00}, // 6 + {0x04,0x04,0x64,0x14,0x0c,0x00}, // 7 + {0x7c,0x54,0x54,0x54,0x7c,0x00}, // 8 + {0x5c,0x54,0x54,0x54,0x7c,0x00}, // 9 + {0x44,0x00,0x00,0x00,0x00,0x00}, // : + {0xc4,0x00,0x00,0x00,0x00,0x00}, // ; + {0x10,0x28,0x44,0x00,0x00,0x00}, // < + {0x28,0x28,0x28,0x28,0x28,0x00}, // = + {0x44,0x28,0x10,0x00,0x00,0x00}, // > + {0x08,0x04,0x54,0x08,0x00,0x00}, // ? + {0x7c,0x44,0x54,0x54,0x5c,0x00}, // @ + {0x7c,0x24,0x24,0x24,0x7c,0x00}, // A + {0x7c,0x54,0x54,0x54,0x6c,0x00}, // B + {0x7c,0x44,0x44,0x44,0x44,0x00}, // C + {0x7c,0x44,0x44,0x44,0x38,0x00}, // D + {0x7c,0x54,0x54,0x54,0x44,0x00}, // E + {0x7c,0x14,0x14,0x14,0x04,0x00}, // F + {0x7c,0x44,0x44,0x54,0x74,0x00}, // G + {0x7c,0x10,0x10,0x10,0x7c,0x00}, // H + {0x44,0x44,0x7c,0x44,0x44,0x00}, // I + {0x60,0x40,0x40,0x44,0x7c,0x00}, // J + {0x7c,0x10,0x10,0x28,0x44,0x00}, // K + {0x7c,0x40,0x40,0x40,0x40,0x00}, // L + {0x7c,0x08,0x10,0x08,0x7c,0x00}, // M + {0x7c,0x08,0x10,0x20,0x7c,0x00}, // N + {0x38,0x44,0x44,0x44,0x38,0x00}, // O + {0x7c,0x14,0x14,0x14,0x08,0x00}, // P + {0x3c,0x24,0x64,0x24,0x3c,0x00}, // Q + {0x7c,0x14,0x14,0x14,0x68,0x00}, // R + {0x5c,0x54,0x54,0x54,0x74,0x00}, // S + {0x04,0x04,0x7c,0x04,0x04,0x00}, // T + {0x7c,0x40,0x40,0x40,0x7c,0x00}, // U + {0x0c,0x30,0x40,0x30,0x0c,0x00}, // V + {0x3c,0x40,0x30,0x40,0x3c,0x00}, // W + {0x44,0x28,0x10,0x28,0x44,0x00}, // X + {0x0c,0x10,0x60,0x10,0x0c,0x00}, // Y + {0x44,0x64,0x54,0x4c,0x44,0x00}, // Z + {0x7c,0x44,0x00,0x00,0x00,0x00}, // [ + {0x0c,0x10,0x60,0x00,0x00,0x00}, // "\" + {0x44,0x7c,0x00,0x00,0x00,0x00}, // ] + {0x00,0x01,0x00,0x01,0x00,0x00}, // ^ + {0x40,0x40,0x40,0x40,0x40,0x40}, // _ + {0x00,0x01,0x00,0x00,0x00,0x00}, // ` + {0x7c,0x24,0x24,0x24,0x7c,0x00}, // a + {0x7c,0x54,0x54,0x54,0x6c,0x00}, // b + {0x7c,0x44,0x44,0x44,0x44,0x00}, // c + {0x7c,0x44,0x44,0x44,0x38,0x00}, // d + {0x7c,0x54,0x54,0x54,0x44,0x00}, // e + {0x7c,0x14,0x14,0x14,0x04,0x00}, // f + {0x7c,0x44,0x44,0x54,0x74,0x00}, // g + {0x7c,0x10,0x10,0x10,0x7c,0x00}, // h + {0x44,0x44,0x7c,0x44,0x44,0x00}, // i + {0x60,0x40,0x40,0x44,0x7c,0x00}, // j + {0x7c,0x10,0x10,0x28,0x44,0x00}, // k + {0x7c,0x40,0x40,0x40,0x40,0x00}, // l + {0x7c,0x08,0x10,0x08,0x7c,0x00}, // m + {0x7c,0x08,0x10,0x20,0x7c,0x00}, // n + {0x38,0x44,0x44,0x44,0x38,0x00}, // o + {0x7c,0x14,0x14,0x14,0x08,0x00}, // p + {0x3c,0x24,0x64,0x24,0x3c,0x00}, // q + {0x7c,0x14,0x14,0x14,0x68,0x00}, // r + {0x5c,0x54,0x54,0x54,0x74,0x00}, // s + {0x04,0x04,0x7c,0x04,0x04,0x00}, // t + {0x7c,0x40,0x40,0x40,0x7c,0x00}, // u + {0x0c,0x30,0x40,0x30,0x0c,0x00}, // v + {0x3c,0x40,0x30,0x40,0x3c,0x00}, // w + {0x44,0x28,0x10,0x28,0x44,0x00}, // x + {0x0c,0x10,0x60,0x10,0x0c,0x00}, // y + {0x44,0x64,0x54,0x4c,0x44,0x00}, // z + {0x10,0x7c,0x44,0x00,0x00,0x00}, // { + {0x6c,0x00,0x00,0x00,0x00,0x00}, // | + {0x44,0x7c,0x10,0x00,0x00,0x00}, // } + {0x02,0x01,0x02,0x01,0x00,0x00}, // ~ + {0x00,0x00,0x00,0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/5x5_font.png b/fonts/5x5_font.png new file mode 100644 index 0000000000000000000000000000000000000000..9e5f24f497784a4ce84713f39e4b5bed5879f9f1 GIT binary patch literal 747 zcmVr2)j=E|6lH&DrFHELrAZ8vR}3-4Iv~Z2JJY{^Lz;=j^lVKJc1wy&&QRovw2&2 zUJ%yd@$YBF;P|sTzXP4NW}7=~3xXgBy|^B>tYDPD6ofUP0`HfZ*tzH^+OFTPaqC-a zZq_GnA83C}MSOP!Y^`UBU=%}do_9v`INEbG@9r_=XLN4e-4O5YzB^`_bFYqh_c6M= zvtO)D_T14tl($gKs`2bPhsyqTjYWIN=HzPruR{F$@0a-Z9sC=|t@o(HKUCmBk%@qe z&RxLSaZkWSmkbF)4=Y0QQz~5VVxcZ9x?GG9V(l_x(R!7nQt@N7!wB=y7P?DO60Rmq zcFgnH@~0ZN3Rjqi>H5yQgVkcdvd0#qC}z>vh{`#zG3&y3uQO{#xx0E_GP$S&;-C0u z&G~fx&EI5v$)YSW5u(7%B9u|n;|8+<@5UJDOm)pxj^12GOwU3KT?!=1BEiN8v5a^` zcG*32V5R7YiYKN@%=*gu)?t%b&*H-lVUXe7h&eZTV-;Vr{;YB(1Lmg_KetAR`wm)&EBJko6I~bM>00<0D8ze1tw$j zZis)_7x8aDy7`A<%$#TTytn*MCQ{f|7tmX8KKM!}b4LSS(m_%n0y0TvM4T>9jAfo+yHg{C;m9w>SLH0q6a?EU#!JLGxzgat%Kh+LP z77=%|9T6)Bv)zu_pH)%Toj=(3!?Pp)iGP{7PvYNfn?ad>=bOsKr&Oxl_||=W6Ldy` dAP9o6AAhI?9l+Sn!43cb002ovPDHLkV1mh_ZSVj9 literal 0 HcmV?d00001 diff --git a/fonts/7linedigital.ttf b/fonts/7linedigital.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c72c4cb19150220015307d296825643b804a19ad GIT binary patch literal 22608 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 + {0x30,0x09,0x09,0x06}, // ? + {0x36,0x49,0x49,0x36}, // @ + {0x36,0x09,0x09,0x36}, // A + {0x36,0x49,0x49,0x36}, // B + {0x36,0x41,0x41,0x00}, // C + {0x30,0x48,0x48,0x36}, // D + {0x36,0x49,0x49,0x00}, // E + {0x36,0x09,0x09,0x00}, // F + {0x36,0x49,0x49,0x30}, // G + {0x36,0x08,0x08,0x36}, // H + {0x36,0x00,0x00,0x00}, // I + {0x40,0x40,0x36,0x00}, // J + {0x36,0x08,0x08,0x36}, // K + {0x36,0x40,0x40,0x00}, // L + {0x36,0x01,0x01,0x36}, // M + {0x36,0x01,0x01,0x36}, // N + {0x36,0x41,0x41,0x36}, // O + {0x36,0x09,0x09,0x06}, // P + {0x06,0x09,0x09,0x36}, // Q + {0x36,0x01,0x01,0x00}, // R + {0x06,0x49,0x49,0x30}, // S + {0x36,0x48,0x48,0x00}, // T + {0x36,0x40,0x40,0x36}, // U + {0x36,0x40,0x40,0x36}, // V + {0x36,0x40,0x40,0x36}, // W + {0x36,0x08,0x08,0x36}, // X + {0x06,0x08,0x08,0x36}, // Y + {0x30,0x49,0x49,0x06}, // Z + {0x36,0x41,0x41,0x00}, // [ + {0x06,0x08,0x08,0x30}, // "\" + {0x41,0x41,0x36,0x00}, // ] + {0x06,0x01,0x01,0x06}, // ^ + {0x40,0x40,0x00,0x00}, // _ + {0x06,0x00,0x00,0x00}, // ` + {0x30,0x49,0x49,0x36}, // a + {0x36,0x48,0x48,0x30}, // b + {0x36,0x41,0x41,0x00}, // c + {0x30,0x48,0x48,0x36}, // d + {0x36,0x49,0x49,0x00}, // e + {0x36,0x09,0x09,0x00}, // f + {0x06,0x49,0x49,0x36}, // g + {0x36,0x08,0x08,0x30}, // h + {0x36,0x00,0x00,0x00}, // i + {0x40,0x40,0x36,0x00}, // j + {0x36,0x08,0x08,0x36}, // k + {0x36,0x00,0x00,0x00}, // l + {0x36,0x01,0x01,0x36}, // m + {0x36,0x01,0x01,0x36}, // n + {0x36,0x41,0x41,0x36}, // o + {0x36,0x09,0x09,0x06}, // p + {0x06,0x09,0x09,0x36}, // q + {0x36,0x01,0x01,0x00}, // r + {0x06,0x49,0x49,0x30}, // s + {0x36,0x48,0x48,0x00}, // t + {0x36,0x40,0x40,0x36}, // u + {0x36,0x40,0x40,0x36}, // v + {0x36,0x40,0x40,0x36}, // w + {0x36,0x08,0x08,0x36}, // x + {0x06,0x48,0x48,0x36}, // y + {0x30,0x49,0x49,0x06}, // z + {0x36,0x41,0x41,0x00}, // { + {0x36,0x00,0x00,0x00}, // | + {0x41,0x41,0x36,0x00}, // } + {0x30,0x08,0x08,0x06}, // ~ + {0x00,0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/7linedigital_font.png b/fonts/7linedigital_font.png new file mode 100644 index 0000000000000000000000000000000000000000..36f2a76bbf65851b8ef5d3b28b6c6ba2b5525470 GIT binary patch literal 476 zcmV<20VDp2P)NPqSE8~K|#N4C%J-g`5%W@fJK zdVY59YV-1r@kYN)yehJNcy&j8%yL|>F>^s@@7cz@NUxDSQy-!=uYPoXk&%L^p|}uy=&6nbNch@cVD(b2qA>1qZ|4C?tMZt zwiC4=eidi$e4|*^^V>apc79LwdqStx8b@=yMH`tMOwH9ue_W1V*57Jgc#RyL^FE+IrA0GfS5sa-W`(ty_pV=b&MPZ1 zZ~kb_+0_|SU&YGK^SwKtp`l>W|@9^j8@V&dI)Pg%CmrG3Osge>S)I S;dzn(0000jf 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 literal 0 HcmV?d00001 diff --git a/fonts/BMSPA_font.h b/fonts/BMSPA_font.h new file mode 100644 index 0000000..9188a04 --- /dev/null +++ b/fonts/BMSPA_font.h @@ -0,0 +1,98 @@ +const unsigned char font[96][8] = { + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // + {0x00,0x5f,0x00,0x00,0x00,0x00,0x00,0x00}, // ! + {0x00,0x03,0x00,0x03,0x00,0x00,0x00,0x00}, // " + {0x0a,0x1f,0x0a,0x1f,0x0a,0x00,0x00,0x00}, // # + {0x24,0x2a,0x2a,0x7f,0x2a,0x2a,0x12,0x00}, // $ + {0x00,0x47,0x25,0x17,0x08,0x74,0x52,0x71}, // % + {0x00,0x36,0x49,0x49,0x49,0x41,0x41,0x38}, // & + {0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00}, // ' + {0x00,0x3e,0x41,0x00,0x00,0x00,0x00,0x00}, // ( + {0x41,0x3e,0x00,0x00,0x00,0x00,0x00,0x00}, // ) + {0x04,0x15,0x0e,0x15,0x04,0x00,0x00,0x00}, // * + {0x08,0x08,0x3e,0x08,0x08,0x00,0x00,0x00}, // + + {0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00}, // , + {0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x00}, // - + {0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // . + {0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00}, // / + {0x00,0x3e,0x61,0x51,0x49,0x45,0x43,0x3e}, // 0 + {0x01,0x01,0x7e,0x00,0x00,0x00,0x00,0x00}, // 1 + {0x00,0x71,0x49,0x49,0x49,0x49,0x49,0x46}, // 2 + {0x41,0x49,0x49,0x49,0x49,0x49,0x36,0x00}, // 3 + {0x00,0x0f,0x10,0x10,0x10,0x10,0x10,0x7f}, // 4 + {0x00,0x4f,0x49,0x49,0x49,0x49,0x49,0x31}, // 5 + {0x00,0x3e,0x49,0x49,0x49,0x49,0x49,0x30}, // 6 + {0x01,0x01,0x01,0x01,0x01,0x01,0x7e,0x00}, // 7 + {0x00,0x36,0x49,0x49,0x49,0x49,0x49,0x36}, // 8 + {0x00,0x06,0x49,0x49,0x49,0x49,0x49,0x3e}, // 9 + {0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // : + {0x40,0x34,0x00,0x00,0x00,0x00,0x00,0x00}, // ; + {0x08,0x14,0x22,0x00,0x00,0x00,0x00,0x00}, // < + {0x14,0x14,0x14,0x14,0x14,0x00,0x00,0x00}, // = + {0x22,0x14,0x08,0x00,0x00,0x00,0x00,0x00}, // > + {0x00,0x06,0x01,0x01,0x59,0x09,0x09,0x06}, // ? + {0x00,0x3e,0x41,0x5d,0x55,0x5d,0x51,0x5e}, // @ + {0x00,0x7e,0x01,0x09,0x09,0x09,0x09,0x7e}, // A + {0x00,0x7f,0x41,0x49,0x49,0x49,0x49,0x36}, // B + {0x00,0x3e,0x41,0x41,0x41,0x41,0x41,0x22}, // C + {0x00,0x7f,0x41,0x41,0x41,0x41,0x41,0x3e}, // D + {0x00,0x3e,0x49,0x49,0x49,0x49,0x49,0x41}, // E + {0x00,0x7e,0x09,0x09,0x09,0x09,0x09,0x01}, // F + {0x00,0x3e,0x41,0x49,0x49,0x49,0x49,0x79}, // G + {0x00,0x7f,0x08,0x08,0x08,0x08,0x08,0x7f}, // H + {0x00,0x7f,0x00,0x00,0x00,0x00,0x00,0x00}, // I + {0x00,0x38,0x40,0x40,0x41,0x41,0x41,0x3f}, // J + {0x00,0x7f,0x08,0x08,0x08,0x0c,0x0a,0x71}, // K + {0x00,0x3f,0x40,0x40,0x40,0x40,0x40,0x40}, // L + {0x00,0x7e,0x01,0x01,0x7e,0x01,0x01,0x7e}, // M + {0x00,0x7e,0x01,0x01,0x3e,0x40,0x40,0x3f}, // N + {0x00,0x3e,0x41,0x41,0x41,0x41,0x41,0x3e}, // O + {0x00,0x7e,0x09,0x09,0x09,0x09,0x09,0x06}, // P + {0x00,0x3e,0x41,0x41,0x71,0x51,0x51,0x7e}, // Q + {0x00,0x7e,0x01,0x31,0x49,0x49,0x49,0x46}, // R + {0x00,0x46,0x49,0x49,0x49,0x49,0x49,0x31}, // S + {0x01,0x01,0x01,0x7f,0x01,0x01,0x01,0x00}, // T + {0x00,0x3f,0x40,0x40,0x40,0x40,0x40,0x3f}, // U + {0x00,0x0f,0x10,0x20,0x40,0x20,0x10,0x0f}, // V + {0x00,0x3f,0x40,0x40,0x3f,0x40,0x40,0x3f}, // W + {0x00,0x63,0x14,0x08,0x08,0x08,0x14,0x63}, // X + {0x00,0x07,0x08,0x08,0x78,0x08,0x08,0x07}, // Y + {0x00,0x71,0x49,0x49,0x49,0x49,0x49,0x47}, // Z + {0x00,0x7f,0x41,0x00,0x00,0x00,0x00,0x00}, // [ + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // "\" + {0x41,0x7f,0x00,0x00,0x00,0x00,0x00,0x00}, // ] + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // ^ + {0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00}, // _ + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // ` + {0x00,0x7e,0x01,0x09,0x09,0x09,0x09,0x7e}, // A + {0x00,0x7f,0x41,0x49,0x49,0x49,0x49,0x36}, // B + {0x00,0x3e,0x41,0x41,0x41,0x41,0x41,0x22}, // C + {0x00,0x7f,0x41,0x41,0x41,0x41,0x41,0x3e}, // D + {0x00,0x3e,0x49,0x49,0x49,0x49,0x49,0x41}, // E + {0x00,0x7e,0x09,0x09,0x09,0x09,0x09,0x01}, // F + {0x00,0x3e,0x41,0x49,0x49,0x49,0x49,0x79}, // G + {0x00,0x7f,0x08,0x08,0x08,0x08,0x08,0x7f}, // H + {0x00,0x7f,0x00,0x00,0x00,0x00,0x00,0x00}, // I + {0x00,0x38,0x40,0x40,0x41,0x41,0x41,0x3f}, // J + {0x00,0x7f,0x08,0x08,0x08,0x0c,0x0a,0x71}, // K + {0x00,0x3f,0x40,0x40,0x40,0x40,0x40,0x40}, // L + {0x00,0x7e,0x01,0x01,0x7e,0x01,0x01,0x7e}, // M + {0x00,0x7e,0x01,0x01,0x3e,0x40,0x40,0x3f}, // N + {0x00,0x3e,0x41,0x41,0x41,0x41,0x41,0x3e}, // O + {0x00,0x7e,0x09,0x09,0x09,0x09,0x09,0x06}, // P + {0x00,0x3e,0x41,0x41,0x71,0x51,0x51,0x7e}, // Q + {0x00,0x7e,0x01,0x31,0x49,0x49,0x49,0x46}, // R + {0x00,0x46,0x49,0x49,0x49,0x49,0x49,0x31}, // S + {0x01,0x01,0x01,0x7f,0x01,0x01,0x01,0x00}, // T + {0x00,0x3f,0x40,0x40,0x40,0x40,0x40,0x3f}, // U + {0x00,0x0f,0x10,0x20,0x40,0x20,0x10,0x0f}, // V + {0x00,0x3f,0x40,0x40,0x3f,0x40,0x40,0x3f}, // W + {0x00,0x63,0x14,0x08,0x08,0x08,0x14,0x63}, // X + {0x00,0x07,0x08,0x08,0x78,0x08,0x08,0x07}, // Y + {0x00,0x71,0x49,0x49,0x49,0x49,0x49,0x47}, // Z + {0x08,0x36,0x41,0x00,0x00,0x00,0x00,0x00}, // { + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // | + {0x41,0x36,0x08,0x00,0x00,0x00,0x00,0x00}, // } + {0x02,0x01,0x01,0x02,0x02,0x01,0x00,0x00}, // ~ + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/BMSPA_font.png b/fonts/BMSPA_font.png new file mode 100644 index 0000000000000000000000000000000000000000..88313739ed66fe45d0e261afe046d9a62f2413a1 GIT binary patch literal 878 zcmV-!1CjiRP)vF9i428FyzW*!RU$m6TWf2yLns4UJ+0~c?2$6utd7kG7;5d$tCt74ISwsf0c^t>@ z?^>pPrj|qGqrUX$K;?Hu^55#`at|4AiB^wx-}0}$uIXy^A?@<~@$~e_+!0pWk-03f zQcpw|68A_v_rywTbB3*Y-fKBPy55_^caSM^J$WVC&zcPKd(@WKHZ<2;Fm%iy^Ur@W z|LE;mEmP#)o_{P|D3SP*p8F1a5TH0y|L-kCwIZtg-O4gM8P$UpOpK!PYP7;ix>l~E zNzp4_M~hq39;z4hhm~BItV}@cByQ=yT92hODl-FQaaG^%^>M}v7}0-~Oku|RXBVt| zhsgEV@nUi{nSZ!s{^80L-kyILZARAVQqkASe+_vdI3*d;?puLW%V-O0MyIX{zEW(o zzwgB8f;x$V#tR~cB#!o9%Zvq(Wp6eauQEB8?~gQBb6oc#$3iCK^!_|C|Fjz+Qd_n= zxspz!%Jo*RmXR9Q>hdbhnIJn4NV^fV#qbEL3M540~E3(oRsTs6cHpb}D;p z_3os3HoSg7i$~1|Cd~MW#C#(YO~MvG!(fi~-ek2TgS>79?>eRRVBeI|l5 zSEF_iJ?Ojk&1C-3Wmw!X_A>w2tjIr%f(W&R02f!xiqO(0?OJH^kwx{Dcx~U2RfQFs zl`n%8F#8tW+_0EYSX~)EyTxxZm-jY!(H%qW}N^07*qoM6N<$ Ef|q@}CjbBd literal 0 HcmV?d00001 diff --git a/fonts/BMplain.TTF b/fonts/BMplain.TTF new file mode 100644 index 0000000000000000000000000000000000000000..4b4579121fd7b58d3a930cfab20b9d65872adf3c GIT binary patch literal 19172 zcmdU1dyE}ddH>Fx*PT1}&VB9OUBB;o?Iia4nf1mAILYKm5=a7h*$E-ZeXMuW`ms1x z6v|UT5C!5#RaJnXMU|>nv=X6|wkQYzjqP=)6qS;IP*qh`|EOsHz;^Rrv+nQv&N+8x zcgJ>85LM@T_Riy;Ip6u7zwbL|Op1tN+CdJzc>jajul?BH9sDDrdq#2fzTUykT>S?- zUM0HaaiYSm-m^#B&IjUdy=;=U>D5hS`HhpZoij^f{uN z{)tHa{(-~24n+qJ5#4w@&cArD^V}T$QeB7Nzl`6v4|NVsM_-?har~d4@5^(CpE(-- zN2yPg%<;9kBhz!wet*qA(DNeBZ^GVE1^m_99$IUT6xFC}jtk_{QFH9jd+7(}*rj3m zlsWe3E;VJ2eQK!B5Oa|?exg2BRHVnuae)eS#2h9@D9hHJ$oc)2WX&o%&eQsgE_C`dH|E*Yu(3Bb}qu{dV_5?K=-2I(m5KNM~+# z`bc}%ww?FTyJ(sYVLw70@L-zy)CONZgui#vVca>2zcX@oj%MX|ZQ4cKXeZrs>%Hx{ z1D&T2(XDhZem_SC@QkPF&@H>^7TRs^wsE@T2lz35aBrt~Sz{lTjx-Ra1)A#Wg+Ekz|Xm@R4A9O09hm&=xSWLn~;JS)@&vgo(>r>$S zs-U1abmz0%caPHcJ=^!x-sFF3`<^#(^5!1exkKGO`yD*7c=v4Q#pHo~*VlJ{hl&@! zfBmDA^|AWZllAc}%K!N{zERls=AUhW*%k0OMLl(1dVVlzOV7CEdj&_if$M-G-*-J% zIk=#7*EjFES@%1#=gpBlv~8Q|7xuNR-`(SN^g1=!>tZ{rHZ4@U+^agNCJK*8ulFZw zbgu>FqBqy|y}$=IxldA_8STiP?IX)a>gDvP&|83AO?12S-L5)$>eMMc(rI;}u$NZR zI{J3#?H9jT#)Z`RKI5pXly*1vNyc##uh3U>rr;n{GU-R9wIOc1;9)CHV4$J%E zSHXuzs7aqoZdF4=NsHnNOS>Fl#KpjE)~XIQ>TW6Y9f$&+ujn@$^_pL*l&f*%lpq|^ z(y`*Xc?2qfKcbSXigt`FH7KW66r&~{4P}Qmln!lbY-+5ohcwn2Qy0#5=GBRXx%uvy zg%7F|3S-!>Huw6S8H5iWN#P|};)qD}d&#tx=(@EjorwE8-;1V4~JRFtAG5FK9Cd8mUAxy1mEt^~omkbhWYkE4Qg?Be7^k*zFK zR~Jw@+kaX2U&mk}KgjM3M1p_nMqzvJ<3#7ufBFo4D*5Ej0|~AaRxzQ#VAzBU*8(4ls!Z$SWMvfesO%& zN@sn&7CObT_8Mokvu^DOoI1Q|J!?czE&QvA5vAYOh*IalzeqK%P8+i9-@xowFc&r% z76B~A7!w;5k6)XVx**=M&o;zvk`L4yGw_hpJ)A-#JAE8zX{qy~Kb>Tgk(TellGsy< z$RfD>5~2nMZ$xEc6^BP_F=9AbTk&$_r2V>>{G>WR-|dU!L}fr=Isf>sm1_8V28mDqPH z08eG#*ODqW5eRC9u&4&%nS<66-AgeBd^Y=S*{$0Nb3zyN&U{#c`h!Re_3GeH4?aMv z8jf|;QWxNz8RB{e{<0!&^dlN7Uwp*ZUnKJ@%Rb?M>EeRL1VWph0Md??UT6&NqR&)&lfJRF2*X*n_ z1_xenpaNsWcZdNF0CBF-ac}}t7;}IjbLu#h7+^!4KReS=oA+C7HgwG-o3*6GB`Wa% z@Yf&+PzaP6s+I`KkYohK9&E8aEe|4WPxd2nVv>X`)!mOzmRlh`mTXX^QW8-yV80|N z)&*DrqkvN#R}?3elK_!{h6B1AMCMQ_>rP8LfHM~3(5)_X7v>N)fH%}8?UO)-ItMMz z$jf!ys2Jc$ApksxVa`B(J(d?s?lPRQUVcDNz5+8_1X7Htb4FI@m^omK+S~;ulx#-i z#kMujq{#Q25>z%U>Vzf&;Nv(2HkHE58<$YVT5UO%Pno7Fm>L5FhiRQ-v^u@;Q`i=8 zS$C1lJbHJsQu%%o5E47(dSX=YQ%fw$s7xm2A;xBfvP#yNqEF`e&@*>j8GZ2wj6cfn01M-BnX=K93#4|sXm`qqQU`-kvkbq>#Of$F? zU5l_J)Tcx&PlXwu4pL#YwX^V3Xok(eb-xcMW7_Lx`VIVm>i`Aa?;r}K+5g+`_!)zc z)r7><&nLI(m|Ckg*@WG&Q3vY_D)8J$vO+hma9D-KAp1qmfP_IpY#LH4S==llSsbKN zY?q?A%B7+y<26BXCYnwNIzuWe(G-|%8u+cJWd^-JZe+IB@D5H#;D!+xpCPNU1P&Od zopDM|Uim_a&#@4PVUF6`U3lGM63xHk$sLw|fb!rKLZnW$7?L2h04ixVxPnMd5lRG~ zgPIDQW4#7O#>h992Q$q*%Qf-YCXLk4(kj}el4R&kP$;6#(+>0Rm@z zW=IwKV6s!iaZ-hE(!rz{lp~HTm6DFXtb~3MR3ik#p*q=oNgIO5o^v%FYJUbAR zUyeYX$=YpB$3=>zTFK{ErV%OKSRIMEgTzA9i0u13awz}>h71cwI-M*p7sVg&(i8s{ z0tT~xLjZCL#~_0y*_F@fo- z(zCWMAPF2|LZu8O?V0dcE&E(BD4+(0R5V8DuH*zsaXMP!Hd$L7Cv!>y9KEGfm5max z>NHNw%;-pg7=|cz9tb0#M>4*ct8{Qns7Y}EUrv@K2<%%7w3d70je;fWV>)?3#6Hg9 zdf~@QqSUm-qmZDBA_2T2l3bP{C%uId*b{Pnba}3>Z8w#o6=7bcjtr2=nPh~H++pDv zb*v8&PD6ss9l&#o`KG#Uh(4rwwlnjcRDq;&Pm1d0^DU!fTpY z$eVS}Ad(8{af?Pn(4=z)DY39UG7e;W%sLEXi<(7Qc?CImR0&>ZJqIB|L>JEZwb^G;9zQ7CQz;6ii$;HsnEdW)1)t>~DbkwxL3& z6=?<@LF=)mtD9yJ>`@uBbF=_BEg*Y{7@lz);4-7lYv2u1$Zp)fRin#zf&ps(G4eZx z?eprKsU_gy6T+nf$qrN1;D}%3I*+4@$QY1y>1rsd8teda0a&Wr@K*Z7(v^=51^KX- zLRlWUW?yZ_&cwl84Y6ljgX_JuEkZYL0t<&ktzfH1lO$kuXMXV zLKW*I*RrO2ENYJHdTd<5%48fU>@iQ7oy!ftvNNmnIT;7osGVk)od8lD+ZStjlb*M8 z3bm?-Nd(sPCij{FMWwLHQN=6xwR)xOaEYBK70kp+TAdN?hXJsL88>S9$kzrTF|Q`G z5mg5B5%j}Y2%(V+eY)nSwk-Ta_H&tfpRO=HpWLj`oTXk!cWW?Ko)|&_y%b_HM34{< z#IKa?0K|CHxgTS^R!7q@EHUN$5eRnUQOF2dldQfdn(zqv`@3qo-@_2jp{k@NGBJzm zN_z)c1Sfn_Rk8)8T(MipGoh&&=Z8!kp-lY36}%R!v|@?om-j^xMOlTR3V8^l1rNSxV8*W+5%=NW?>#0%nu zqcR8#K-^B|iXA~fjjZo!m?98Hz(KcefE(-JD~x>wwz0nf#+>;PGU(KsW@;}?{co%) z#I+Yr?4|xPs0vw6$QtpWjV=Ld`JxjNagFfPz-!9F5?->vB!9k{Jq@RbXS(pdnDRkQ zDpT{}IjFvk{Q^j!{jf(&LjeSsoKS~nA9XkTD>oBC<4qkkbWIe*9oi3}x%j#b>C3~6!9OY7dNcE8CfpF#C85Ja9A-V%!PT!FTeI3}7sl7Ga#mvQL!il`**A_*+8=Oa z)jlqr!scr!O5wX=3j)gg2w*2qNwi-#PLo%)RR9SHq}Ce{F@x+NY2KCpq3OU> zmk^|>4hYeS>Itsm0pc(G6ogpWgD;n_iRH6n8I;L0Rb3OylzNci9qVFo@M11JWo4oz z0#-1(w*nDxzmy0o6_W#jE2+!KWdzE?mJvWx!iZzNg=Yp5;i`WKg#U@;9ZC>B*PJS4 zXb4vfq7vt6)ws%4l>l?0KGwMTR0eHPzRCzrfuw9WkaMj&S?#%GRa4+G{!HmIS-*GY z%;^quuaBDMX}h9?SB_TbK(bv|*@5JNLv@8+szDWaA}(nInV^NnN02o5^~hi;ShRuR?g-W=OOFCTsI6cgj!1HiUKUkZa)2|eBehvM;`RD2d>t|R~|6f+cjvH**=>lHn zR>cH&cywQ~+RnpEE_kJx_>3~=O~vblEm+oaTIS)c<{pPl^=$SB&5amj_#Uhst9-cP zz%yyQSc4Z8rzw@52hw#fQDjzTYfE9?`W{>FLauHqUA!W|mbs2uxn7X?F__;5MZ6FJ z6oC?;Ez#n|73ggI8jz5e2&3pGlVs?g7pI!u(X)*ndY<;O)v2X%Lp*X?b+H`Cvmy>& zgOI^R7LMUO{l)zo563aQmt3O}1;&mf5O9JkQZ{^{HU&r_K|ftLqaCl9GsIxroTcT` z6)Ho`;f~aNl%0-SLQgiDf))TyLry`L$^>pfe3u|cYKa56-EVz@606!nUdtdxNrpPsMQOoo~!N*))CJPs_4hzgDZ5{&W$5#18e9SgLr>khhtKC zb(~C_2&JjStT_wsBqC@UQyt2i8P_Z2xbiRbVcMiSkGULPG}rF{m8Cw0=S|Ft6&Q1N z)&!6grG!On6CMd3%sQ1zn3Sm|*?AKz;8y&yiWms{l3%Hkgo&ocvP6mzm_=dM^$oRWT#H7 z*ZwUECYFJVi#yEb)J*dDsTWmqbxX`eIEq5&nNu^T=I2k(ysWmq!V5Y1kI--YY(&%P zEG)?9*-kh%u6nXTBY(q;CrHNncQi}!t#)R{!z`I4xeS6d6P_ri13_}plK~_zRn&T_ zJn>~PrKXmdWo#q$^X_|wIF4)O#;t)8Df zh#Wz(a4DbTWd+AWRZxqar}@FgMN2DFU&Ha*geYCe6z`a3p84w!KpGbw0D{#7mrLLU zIX^(H#zt?hURB`*cWJ*JSE?~k49`BmUqg@{m$R!#u~;Laf|o27SmU4SM*RGv#Z?%$%fQqhYr(5`ijsk^|EE|UC)MF7ca5U zdVDq{8xixI5x*w^KJ!N$J3Dw&D8tIYeqRb@y5x#?AbI19*XK7m@oO z?Eg*VJ%Ih+@IEx&G7f$ZuTQSVegr#$Y}m&B3!)OXSsPaewv8L~GE;+5&a}+I3H0$C98n+KlbMj&Y5TV*eMsvW@l| z&J%6K7_Zul9nZKr#{LzeYtZL4e@wIq^l!p=H-C(1VkP!JB-%2J9dvE|E$lxb+O{7% zp11ue?0EhTjAIAJxbw?I*J5nf{w2}mvqZa!*yo9+9>eS7IKB?g+I<)Heq*(C-_}gNCAI&C-`V}0&lGC)4S8g_jjRze0_`F?LEH6$M&0#`8W2y`KBf3^80K* z+5VRPcIo-s`R&rS+4H4ik$V_t_BVX2{wux4Gz;ChmNQOi%fGk#(r4M{*)j09JvP79 zGJsa`cJaeBq>q;TMNt-%6yRrER6(&62k+5`RDwB_fs12Ag&Jn98}JrG)WSRYBQy$C zUWxZISJN82DZh@|G)C(&+qHo<(p7XdT|=8_GfhAjw&F$X?fAbAcG9(YDSH=9(RFzD z`g*#7-a+rgd-gZt{|HFv7Q8Bc8{JNK(4BZA{w}(k?xA0|UY`V%_U zu3fx{>uqqA&tEp@=>w3&(WmLOeCF}n|0{jD`PZN^eejsIhB*O;j(s*PVR8yMtcdp# z@CpT9`NyY-Z@oFVgL`(%9GXkq1SMT;KL2+CzHaGbO}$)0Yi{FGDUyEtkQd^)ZWucF zg!tAQT86l1x6Glr#7%$|u?1)g&@I=40B3v+t+@@}xj;qS^YFB=5;>SX*ZtsIZ&&Px zn}iYnxXAq!bxRCE+80effbFsL6O>AE8U2(>SnO3Q;ahK@u!MVd%N&|Z+@w_IlMrp4 zP`5-Uaz8|CZsSp<8W7gi2T@e5VBKOA;l;5i!nfXB+`&D&We&|HZW2}aBt%;`)Gg7E z+z-*3+h8W4CjAu4%4HXyGQRZ&F_&@AZka=KiJO#TJ}IHCThc8t1i4>AYi{FH zwO-`$gq2FYihe2;7oQ5g^#%$nxM#P_p}E9ODpfv-(AJG~OAJBoM`+D$e5y5y6a-!v z$Bmj71aa))6XRQN5Oa)scFP=^OWY)`@kxZXUZh*1AGsf)HMa?<-VC{)QnlKwqn~Qk z!>5XGy+O=X+_PKe&|Kms)jFS)(bg;LmSC0KFQYZL!7`>6rU#1L58hZV7EM3+*4q{P z;U?7v|G2{aRCG(QO4?UUKSgQ|m$;v(RvT`jpIXhsr-pC6ffF^{vs>oST;e9RCZEJ; z>&3bySS9ykwB|NN8X7542yLv_M}}am^}3Hw9p8F`+SYN;Zka=KiJR1i_#{SKKh`bL zkKB*Zn%jib8pU#?&@VR{qb>B)X!!Uv@U1tfZ3Fl0mN_(+xJjeMCsnldtGXrgQm&yj zw+U%@h4fQtHdhRzpJvm?r-^U9L2aA3XSd9uxx`JH!+cUhTfe4Tf>m+_n zDwTrD(9p^ec!;5)0G}az>n*??+_PKe&|KmsLnC}rL))OHTcRJiUqfqdQ=-vT(ofuK ztr|r?tyX|f3*UN!d9-lPZka=KiJP=W`J|4vL0z|mNaTJUt+`DJAqdr~6F^|3exc6b zw6DL_jX+l4#yQ|w{&vfOqt75Fw%fJBzKh5Mfc_XkaJ0w%!=D|0{K@K`H*o#C-2ShB z)&pj@-xt4HcnQB}+{Bdt-tbpH$7$niOW`GRo$u+5S1J%q1Mg|HRRESqfEWq?U(u_$ Gr~U_*`M<;f literal 0 HcmV?d00001 diff --git a/fonts/BMplain_font.h b/fonts/BMplain_font.h new file mode 100644 index 0000000..cd667da --- /dev/null +++ b/fonts/BMplain_font.h @@ -0,0 +1,98 @@ +const unsigned char font[96][6] = { + {0x00,0x00,0x00,0x00,0x00,0x00}, // + {0x2e,0x00,0x00,0x00,0x00,0x00}, // ! + {0x03,0x00,0x03,0x00,0x00,0x00}, // " + {0x0a,0x1f,0x0a,0x1f,0x0a,0x00}, // # + {0x2e,0x2a,0x6b,0x2a,0x3a,0x00}, // $ + {0x0e,0x2a,0x1e,0x08,0x3c,0x2a}, // % + {0x3e,0x2a,0x2a,0x22,0x38,0x08}, // & + {0x03,0x00,0x00,0x00,0x00,0x00}, // ' + {0x1c,0x22,0x00,0x00,0x00,0x00}, // ( + {0x22,0x1c,0x00,0x00,0x00,0x00}, // ) + {0x15,0x0e,0x04,0x0e,0x15,0x00}, // * + {0x08,0x08,0x3e,0x08,0x08,0x00}, // + + {0x60,0x00,0x00,0x00,0x00,0x00}, // , + {0x08,0x08,0x08,0x08,0x08,0x00}, // - + {0x20,0x00,0x00,0x00,0x00,0x00}, // . + {0x20,0x10,0x08,0x04,0x02,0x00}, // / + {0x3e,0x22,0x2a,0x22,0x3e,0x00}, // 0 + {0x04,0x3e,0x00,0x00,0x00,0x00}, // 1 + {0x3a,0x2a,0x2a,0x2a,0x2e,0x00}, // 2 + {0x2a,0x2a,0x2a,0x2a,0x3e,0x00}, // 3 + {0x0e,0x08,0x08,0x08,0x3e,0x00}, // 4 + {0x2e,0x2a,0x2a,0x2a,0x3a,0x00}, // 5 + {0x3e,0x2a,0x2a,0x2a,0x3a,0x00}, // 6 + {0x02,0x02,0x02,0x02,0x3e,0x00}, // 7 + {0x3e,0x2a,0x2a,0x2a,0x3e,0x00}, // 8 + {0x2e,0x2a,0x2a,0x2a,0x3e,0x00}, // 9 + {0x14,0x00,0x00,0x00,0x00,0x00}, // : + {0x34,0x00,0x00,0x00,0x00,0x00}, // ; + {0x08,0x14,0x22,0x00,0x00,0x00}, // < + {0x14,0x14,0x14,0x14,0x14,0x00}, // = + {0x22,0x14,0x08,0x00,0x00,0x00}, // > + {0x06,0x02,0x2a,0x0a,0x0e,0x00}, // ? + {0x3e,0x02,0x3a,0x2a,0x3e,0x00}, // @ + {0x3e,0x12,0x12,0x12,0x3e,0x00}, // A + {0x3e,0x2a,0x2a,0x2a,0x36,0x00}, // B + {0x3e,0x22,0x22,0x22,0x22,0x00}, // C + {0x3e,0x22,0x22,0x22,0x1c,0x00}, // D + {0x3e,0x2a,0x2a,0x2a,0x22,0x00}, // E + {0x3e,0x0a,0x0a,0x0a,0x02,0x00}, // F + {0x3e,0x22,0x2a,0x2a,0x3a,0x00}, // G + {0x3e,0x08,0x08,0x08,0x3e,0x00}, // H + {0x22,0x3e,0x22,0x00,0x00,0x00}, // I + {0x38,0x20,0x20,0x20,0x3e,0x00}, // J + {0x3e,0x08,0x08,0x14,0x22,0x00}, // K + {0x3e,0x20,0x20,0x20,0x20,0x00}, // L + {0x3e,0x04,0x38,0x04,0x3e,0x00}, // M + {0x3e,0x04,0x08,0x10,0x3e,0x00}, // N + {0x3e,0x22,0x22,0x22,0x3e,0x00}, // O + {0x3e,0x0a,0x0a,0x0a,0x0e,0x00}, // P + {0x3e,0x22,0x72,0x22,0x3e,0x00}, // Q + {0x3e,0x0a,0x0a,0x1a,0x2e,0x00}, // R + {0x2e,0x2a,0x2a,0x2a,0x3a,0x00}, // S + {0x02,0x02,0x3e,0x02,0x02,0x00}, // T + {0x1e,0x20,0x20,0x20,0x1e,0x00}, // U + {0x0e,0x10,0x20,0x10,0x0e,0x00}, // V + {0x3e,0x10,0x0e,0x10,0x3e,0x00}, // W + {0x22,0x14,0x08,0x14,0x22,0x00}, // X + {0x02,0x04,0x38,0x04,0x02,0x00}, // Y + {0x3a,0x2a,0x2a,0x2a,0x2e,0x00}, // Z + {0x3e,0x22,0x00,0x00,0x00,0x00}, // [ + {0x3f,0x21,0x3f,0x00,0x00,0x00}, // "\" + {0x22,0x3e,0x00,0x00,0x00,0x00}, // ] + {0x0c,0x1e,0x3c,0x1e,0x0c,0x00}, // ^ + {0x20,0x20,0x20,0x20,0x20,0x00}, // _ + {0x1c,0x3e,0x3e,0x3e,0x1c,0x00}, // ` + {0x3c,0x24,0x24,0x24,0x3c,0x20}, // a + {0x3e,0x24,0x24,0x24,0x3c,0x00}, // b + {0x3c,0x24,0x24,0x24,0x24,0x00}, // c + {0x3c,0x24,0x24,0x24,0x3e,0x00}, // d + {0x3c,0x24,0x34,0x2c,0x24,0x00}, // e + {0x08,0x3e,0x0a,0x0a,0x00,0x00}, // f + {0x1c,0x54,0x54,0x54,0x7c,0x00}, // g + {0x3e,0x04,0x04,0x04,0x3c,0x00}, // h + {0x3a,0x00,0x00,0x00,0x00,0x00}, // i + {0x7a,0x00,0x00,0x00,0x00,0x00}, // j + {0x3e,0x08,0x14,0x22,0x00,0x00}, // k + {0x02,0x3e,0x00,0x00,0x00,0x00}, // l + {0x3c,0x04,0x3c,0x04,0x3c,0x00}, // m + {0x3c,0x04,0x04,0x04,0x3c,0x00}, // n + {0x3c,0x24,0x24,0x24,0x3c,0x00}, // o + {0x7c,0x24,0x24,0x24,0x3c,0x00}, // p + {0x3c,0x24,0x24,0x24,0x7c,0x00}, // q + {0x3c,0x04,0x04,0x04,0x00,0x00}, // r + {0x24,0x2c,0x34,0x24,0x00,0x00}, // s + {0x04,0x3e,0x24,0x24,0x00,0x00}, // t + {0x3c,0x20,0x20,0x20,0x3c,0x00}, // u + {0x0c,0x10,0x20,0x10,0x0c,0x00}, // v + {0x3c,0x20,0x3c,0x20,0x3c,0x00}, // w + {0x24,0x24,0x18,0x24,0x24,0x00}, // x + {0x1c,0x50,0x50,0x50,0x7c,0x00}, // y + {0x24,0x34,0x2c,0x24,0x00,0x00}, // z + {0x08,0x3e,0x22,0x00,0x00,0x00}, // { + {0x1c,0x22,0x22,0x22,0x1c,0x00}, // | + {0x22,0x3e,0x08,0x00,0x00,0x00}, // } + {0x01,0x01,0x01,0x00,0x00,0x00}, // ~ + {0x00,0x00,0x00,0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/BMplain_font.png b/fonts/BMplain_font.png new file mode 100644 index 0000000000000000000000000000000000000000..541878438d7eaa0ad409550767c8fc74acb88886 GIT binary patch literal 840 zcmV-O1GoH%P)*UJ535USLGUT5~&vPu1J=bl-; zcgFIw`n5(x*skjROq|tuuCPh(0F&Pv`GyN8bWYlPhJ4U|K#_^)LA3=@!J~x61~dDj zrljE&l9J#2`GgnC+D}QuOUyA)14D7FxE`Ce9uh+6*&_`U+0hrL_2m|MhE+Bz7f+34 zY{(~DSJ7cW6EROeKaZGR3F_sRZ6tF^Fs~;O?bmZWc7T^`?2w?vo7a7VIazp`h~>`+ zC$``{Hr6*Pgre(tVrPaDgf&!U_T2JWRR`W-BQgQAd06M9<$;*%TC=gaMu^tYY0$oC zw&&PZy!XrGw1y=3$6xoCc?#7DFS zJ#pC_t@Y6tmSo={*icU%bCA|Te%6|&m~+2VlxIN~2B@c<Mx2ls3M^p zh0T4-|H&K^VH>9B){xBui3YFGVs70cdzPIlBcLgIMLgEd`gsKyi}ucBC;P}bB7wHz zMwuB55Sg1;M%2$pXO+DLWW_#WzJWsPW$VupTGkDX6ax+07S=n+3MOk`kbsu{cJz^Q zlzhGC6dkmz8%v2DLy3ozLX+8Rug&9Q^(JQTJr@{S-;plctV2Df zG>Uxd6!fjnRTM>x>IubevV)Zr?+x!PJM_HanHW}|`wngsnMF|)MNt&R_wol}d#w-f SBA9mo0000#i#}4worzddn{(tZDd7t+l`SkQw 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 literal 0 HcmV?d00001 diff --git a/fonts/Blokus_font.h b/fonts/Blokus_font.h new file mode 100644 index 0000000..7db641c --- /dev/null +++ b/fonts/Blokus_font.h @@ -0,0 +1,98 @@ +const unsigned char font[96][6] = { + {0x00,0x00,0x00,0x00,0x00,0x00}, // + {0x00,0x00,0x5e,0x00,0x00,0x00}, // ! + {0x00,0x0e,0x00,0x0e,0x00,0x00}, // " + {0xd0,0x70,0xdc,0x70,0x58,0x00}, // # + {0x26,0x4a,0xff,0x52,0x22,0x00}, // $ + {0x00,0x46,0x2a,0x1a,0x0e,0x04}, // % + {0x7e,0x76,0x42,0x45,0x6b,0x51}, // & + {0x00,0x00,0x0e,0x02,0x00,0x00}, // ' + {0x00,0x7e,0x81,0x00,0x00,0x00}, // ( + {0x00,0x81,0x7e,0x00,0x00,0x00}, // ) + {0x00,0x1c,0x00,0x00,0x00,0x00}, // * + {0x00,0x20,0x7c,0x20,0x00,0x00}, // + + {0x00,0x00,0x80,0x60,0x00,0x00}, // , + {0x00,0x10,0x10,0x10,0x00,0x00}, // - + {0x00,0x40,0x00,0x00,0x00,0x00}, // . + {0x00,0xfe,0x00,0x00,0x00,0x00}, // / + {0x00,0x30,0x48,0x48,0x30,0x00}, // 0 + {0x10,0x48,0x78,0x40,0x00,0x00}, // 1 + {0x00,0x42,0x62,0x52,0x4a,0x46}, // 2 + {0x00,0x88,0x28,0x38,0xc0,0x00}, // 3 + {0x00,0x20,0x50,0x48,0x48,0xe0}, // 4 + {0xf0,0x28,0x28,0xc8,0x48,0x00}, // 5 + {0x00,0x38,0x4c,0x46,0x26,0x1a}, // 6 + {0x08,0x88,0x48,0x28,0x18,0x08}, // 7 + {0x14,0x2a,0x46,0x2a,0x14,0x00}, // 8 + {0x00,0x30,0x48,0x48,0xa8,0x78}, // 9 + {0x00,0x00,0x48,0x00,0x00,0x00}, // : + {0x00,0x00,0x80,0x68,0x00,0x00}, // ; + {0x08,0x14,0x22,0x41,0x00,0x00}, // < + {0x00,0x30,0x30,0x30,0x30,0x00}, // = + {0x41,0x22,0x14,0x08,0x00,0x00}, // > + {0x00,0x02,0x52,0x0a,0x06,0x00}, // ? + {0x00,0x38,0x44,0x42,0xa2,0xbc}, // @ + {0x20,0x40,0x62,0x14,0x12,0x14}, // A + {0x62,0x7e,0x4a,0x4a,0x34,0x00}, // B + {0x1c,0x22,0x42,0x42,0x42,0x24}, // C + {0x42,0x7e,0x42,0x42,0x24,0x18}, // D + {0x42,0x7e,0x4a,0x4a,0x42,0x00}, // E + {0x00,0x42,0x7e,0x0a,0x02,0x00}, // F + {0x1c,0x22,0x42,0x52,0xe4,0x00}, // G + {0x00,0x42,0x7e,0x08,0x7e,0x42}, // H + {0x00,0x42,0x7e,0x42,0x00,0x00}, // I + {0x02,0x82,0x7e,0x02,0x00,0x00}, // J + {0x00,0x42,0x7e,0x08,0x08,0x16}, // K + {0x00,0x42,0x7e,0x40,0x60,0x00}, // L + {0x00,0x7e,0x44,0x08,0x10,0x08}, // M + {0x00,0x7e,0x42,0x04,0x08,0x08}, // N + {0x7e,0x24,0x42,0x42,0x24,0x18}, // O + {0x02,0x7e,0x52,0x12,0x0c,0x00}, // P + {0x18,0x24,0x42,0x42,0xa4,0x18}, // Q + {0x42,0x7e,0x46,0x0e,0x16,0x20}, // R + {0xf3,0xc6,0x46,0x4a,0x37,0x00}, // S + {0x02,0x02,0x7e,0x02,0x02,0x00}, // T + {0x00,0x02,0x3e,0x40,0x3e,0x02}, // U + {0x02,0x1e,0x20,0x40,0x20,0x12}, // V + {0x02,0x0e,0x20,0x40,0x22,0x1e}, // W + {0x42,0x66,0x1a,0x1e,0x66,0x42}, // X + {0x02,0x0a,0x50,0x60,0x50,0x0a}, // Y + {0x02,0x42,0x62,0x4a,0x42,0x20}, // Z + {0x00,0x00,0xfe,0x82,0x00,0x00}, // [ + {0x00,0xfe,0x00,0x00,0x00,0x00}, // "\" + {0x00,0x82,0xfe,0x00,0x00,0x00}, // ] + {0x00,0x1c,0x06,0x18,0x00,0x00}, // ^ + {0x80,0x80,0x80,0x80,0x80,0x00}, // _ + {0x00,0x00,0x02,0x00,0x00,0x00}, // ` + {0x28,0x58,0x58,0x78,0x40,0x00}, // a + {0x40,0x3f,0x48,0x48,0x38,0x00}, // b + {0x30,0x48,0x48,0x30,0x00,0x00}, // c + {0x38,0x48,0x48,0x3f,0x40,0x00}, // d + {0x30,0x68,0x68,0x30,0x00,0x00}, // e + {0x48,0x7f,0x09,0x02,0x00,0x00}, // f + {0x98,0x68,0x68,0x58,0x84,0x00}, // g + {0x40,0x7f,0x08,0x48,0x78,0x40}, // h + {0x00,0x78,0x40,0x00,0x00,0x00}, // i + {0x08,0xfa,0x08,0x00,0x00,0x00}, // j + {0x40,0x7f,0x08,0x14,0x28,0x48}, // k + {0x7e,0x40,0x00,0x00,0x00,0x00}, // l + {0x48,0x78,0x48,0x78,0x48,0x78}, // m + {0x48,0x78,0x08,0x48,0x78,0x40}, // n + {0x30,0x48,0x48,0x30,0x00,0x00}, // o + {0x08,0xf0,0x48,0x48,0x30,0x00}, // p + {0x30,0x48,0x48,0xf0,0x08,0x00}, // q + {0x40,0x78,0x00,0x08,0x00,0x00}, // r + {0x30,0x68,0x68,0x10,0x00,0x00}, // s + {0x08,0x3e,0x48,0x48,0x20,0x00}, // t + {0x08,0x78,0x38,0x48,0x00,0x00}, // u + {0x18,0x40,0x20,0x18,0x08,0x00}, // v + {0x38,0x40,0x38,0x40,0x38,0x40}, // w + {0x48,0x28,0x10,0x28,0x48,0x00}, // x + {0x08,0x38,0x48,0xf8,0x00,0x00}, // y + {0x48,0x68,0x58,0x48,0x00,0x00}, // z + {0x00,0x00,0x10,0x6c,0x82,0x00}, // { + {0x00,0x00,0x7e,0x00,0x00,0x00}, // | + {0x00,0x00,0x82,0x6c,0x10,0x00}, // } + {0x00,0x20,0x10,0x20,0x10,0x00}, // ~ + {0x00,0x00,0x00,0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/Blokus_font.png b/fonts/Blokus_font.png new file mode 100644 index 0000000000000000000000000000000000000000..2dfc91f3a7151561f7185dd273df45a6d64845a3 GIT binary patch literal 1120 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 + {0x03,0x51,0x59,0x0b,0x0f,0x00,0x00,0x00}, // ? + {0x7e,0xff,0x83,0x3d,0x3f,0x17,0x3f,0x3f}, // @ + {0x7f,0x7f,0x7d,0x09,0x09,0x7f,0x00,0x00}, // A + {0x7f,0x7f,0x6d,0x6d,0x7f,0x3f,0x00,0x00}, // B + {0x3f,0x7f,0x41,0x41,0x00,0x00,0x00,0x00}, // C + {0x7f,0x7d,0x61,0x61,0x7f,0x3f,0x00,0x00}, // D + {0x7f,0x7f,0x7d,0x49,0x49,0x00,0x00,0x00}, // E + {0x7f,0x7f,0x7d,0x09,0x09,0x00,0x00,0x00}, // F + {0x7f,0x7f,0x7d,0x49,0x78,0x00,0x00,0x00}, // G + {0x7f,0x7c,0x08,0x08,0x7f,0x00,0x00,0x00}, // H + {0x7f,0x7c,0x00,0x00,0x00,0x00,0x00,0x00}, // I + {0xff,0xfc,0x00,0x00,0x00,0x00,0x00,0x00}, // J + {0x7f,0x7e,0x0c,0x0c,0x7f,0x7f,0x00,0x00}, // K + {0x7f,0x7c,0x40,0x40,0x00,0x00,0x00,0x00}, // L + {0x7f,0x7d,0x01,0x7f,0x7f,0x7d,0x7f,0x7f}, // M + {0x7f,0x7d,0x01,0x01,0x7f,0x7f,0x00,0x00}, // N + {0x3f,0x7f,0x61,0x67,0x7f,0x3f,0x00,0x00}, // O + {0x7f,0x7f,0x0d,0x0d,0x0f,0x07,0x00,0x00}, // P + {0x3f,0x7f,0x61,0xe7,0xff,0xbf,0x00,0x00}, // Q + {0x7f,0x7f,0x0d,0x0d,0x7f,0x7f,0x00,0x00}, // R + {0x6f,0x6d,0x49,0x49,0x7b,0x00,0x00,0x00}, // S + {0x01,0x01,0x7f,0x7d,0x01,0x00,0x00,0x00}, // T + {0x3f,0x7c,0x40,0x40,0x7f,0x00,0x00,0x00}, // U + {0x1f,0x3c,0x7c,0x60,0x70,0x3f,0x1f,0x00}, // V + {0x3f,0x7c,0x60,0x7f,0x7c,0x60,0x7f,0x3f}, // W + {0x7f,0x7e,0x0c,0x0c,0x7f,0x7f,0x00,0x00}, // X + {0x0f,0x5f,0x58,0x5f,0x7f,0x3f,0x00,0x00}, // Y + {0x61,0x71,0x59,0x4d,0x47,0x00,0x00,0x00}, // Z + {0xff,0xfc,0x00,0x00,0x00,0x00,0x00,0x00}, // [ + {0x03,0x1f,0x7e,0x70,0x00,0x00,0x00,0x00}, // "\" + {0x00,0x0f,0xff,0x00,0x00,0x00,0x00,0x00}, // ] + {0x02,0x03,0x01,0x03,0x02,0x00,0x00,0x00}, // ^ + {0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00}, // _ + {0x01,0x03,0x02,0x00,0x00,0x00,0x00,0x00}, // ` + {0x7f,0x7f,0x7d,0x09,0x09,0x7f,0x00,0x00}, // a + {0x7f,0x7f,0x6d,0x6d,0x7f,0x3f,0x00,0x00}, // b + {0x3f,0x7f,0x41,0x41,0x00,0x00,0x00,0x00}, // c + {0x7f,0x7d,0x61,0x61,0x7f,0x3f,0x00,0x00}, // d + {0x7f,0x7f,0x7d,0x49,0x49,0x00,0x00,0x00}, // e + {0x7f,0x7f,0x7d,0x09,0x09,0x00,0x00,0x00}, // f + {0x7f,0x7f,0x7d,0x49,0x78,0x00,0x00,0x00}, // g + {0x7f,0x7c,0x08,0x08,0x7f,0x00,0x00,0x00}, // h + {0x7f,0x7c,0x00,0x00,0x00,0x00,0x00,0x00}, // i + {0xff,0xfc,0x00,0x00,0x00,0x00,0x00,0x00}, // j + {0x7f,0x7e,0x0c,0x0c,0x7f,0x7f,0x00,0x00}, // k + {0x7f,0x7c,0x40,0x40,0x00,0x00,0x00,0x00}, // l + {0x7f,0x7d,0x01,0x7f,0x7f,0x7d,0x7f,0x7f}, // m + {0x7f,0x7d,0x01,0x01,0x7f,0x7f,0x00,0x00}, // n + {0x3f,0x7f,0x61,0x67,0x7f,0x3f,0x00,0x00}, // o + {0x7f,0x7f,0x0d,0x0d,0x0f,0x07,0x00,0x00}, // p + {0x3f,0x7f,0x61,0xe7,0xff,0xbf,0x00,0x00}, // q + {0x7f,0x7f,0x0d,0x0d,0x7f,0x7f,0x00,0x00}, // r + {0x6f,0x6d,0x49,0x49,0x7b,0x00,0x00,0x00}, // s + {0x01,0x01,0x7f,0x7d,0x01,0x00,0x00,0x00}, // t + {0x3f,0x7c,0x40,0x40,0x7f,0x00,0x00,0x00}, // u + {0x1f,0x3c,0x7c,0x60,0x70,0x3f,0x1f,0x00}, // v + {0x3f,0x7c,0x60,0x7f,0x7c,0x60,0x7f,0x3f}, // w + {0x7f,0x7e,0x0c,0x0c,0x7f,0x7f,0x00,0x00}, // x + {0x0f,0x5f,0x58,0x5f,0x7f,0x3f,0x00,0x00}, // y + {0x61,0x71,0x59,0x4d,0x47,0x00,0x00,0x00}, // z + {0x04,0xff,0xff,0x00,0x00,0x00,0x00,0x00}, // { + {0xff,0xfc,0x00,0x00,0x00,0x00,0x00,0x00}, // | + {0x00,0xfc,0xff,0xff,0x04,0x00,0x00,0x00}, // } + {0x02,0x03,0x03,0x01,0x00,0x00,0x00,0x00}, // ~ + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/Commo-Monospaced_font.png b/fonts/Commo-Monospaced_font.png new file mode 100644 index 0000000000000000000000000000000000000000..bab5cd34aa7490669968b4397c4a21a2c6e5d658 GIT binary patch literal 964 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 + {0x04,0x54,0x14,0x14,0x08,0x00}, // ? + {0x38,0x44,0x5c,0x54,0x48,0x00}, // @ + {0x60,0x18,0x14,0x14,0x18,0x60}, // A + {0x7c,0x54,0x54,0x54,0x58,0x30}, // B + {0x38,0x44,0x44,0x44,0x40,0x00}, // C + {0x7c,0x44,0x44,0x44,0x38,0x00}, // D + {0x7c,0x54,0x54,0x54,0x54,0x40}, // E + {0x7c,0x14,0x14,0x14,0x10,0x00}, // F + {0x38,0x44,0x44,0x44,0x70,0x10}, // G + {0x7c,0x10,0x10,0x10,0x10,0x7c}, // H + {0x7c,0x00,0x00,0x00,0x00,0x00}, // I + {0x20,0x40,0x40,0x40,0x40,0x3c}, // J + {0x7c,0x10,0x10,0x28,0x44,0x00}, // K + {0x7c,0x40,0x40,0x40,0x00,0x00}, // L + {0x7c,0x08,0x10,0x60,0x10,0x08}, // M + {0x7c,0x08,0x10,0x20,0x7c,0x00}, // N + {0x38,0x44,0x44,0x44,0x44,0x38}, // O + {0x7c,0x24,0x24,0x24,0x18,0x00}, // P + {0x38,0x44,0x64,0x44,0x38,0x00}, // Q + {0x7c,0x14,0x14,0x14,0x68,0x00}, // R + {0x48,0x54,0x54,0x54,0x54,0x20}, // S + {0x04,0x04,0x7c,0x04,0x04,0x00}, // T + {0x3c,0x40,0x40,0x40,0x3c,0x00}, // U + {0x0c,0x30,0x40,0x30,0x0c,0x00}, // V + {0x0c,0x30,0x40,0x20,0x1c,0x20}, // W + {0x74,0x2c,0x10,0x28,0x44,0x00}, // X + {0x04,0x08,0x70,0x08,0x04,0x00}, // Y + {0x44,0x64,0x54,0x4c,0x44,0x00}, // Z + {0xfc,0x84,0x00,0x00,0x00,0x00}, // [ + {0x0c,0x10,0x60,0x00,0x00,0x00}, // "\" + {0x84,0xfc,0x00,0x00,0x00,0x00}, // ] + {0x00,0x7f,0x41,0x7f,0x00,0x00}, // ^ + {0x40,0x40,0x40,0x40,0x00,0x00}, // _ + {0x00,0x7f,0x41,0x7f,0x00,0x00}, // ` + {0x60,0x18,0x14,0x14,0x18,0x60}, // a + {0x7c,0x54,0x54,0x54,0x58,0x30}, // b + {0x38,0x44,0x44,0x44,0x40,0x00}, // c + {0x7c,0x44,0x44,0x44,0x38,0x00}, // d + {0x7c,0x54,0x54,0x54,0x54,0x40}, // e + {0x7c,0x14,0x14,0x14,0x10,0x00}, // f + {0x38,0x44,0x44,0x44,0x70,0x10}, // g + {0x7c,0x10,0x10,0x10,0x10,0x7c}, // h + {0x7c,0x00,0x00,0x00,0x00,0x00}, // i + {0x20,0x40,0x40,0x40,0x40,0x3c}, // j + {0x7c,0x10,0x10,0x28,0x44,0x00}, // k + {0x7c,0x40,0x40,0x40,0x00,0x00}, // l + {0x7c,0x08,0x10,0x60,0x10,0x08}, // m + {0x7c,0x08,0x10,0x20,0x7c,0x00}, // n + {0x38,0x44,0x44,0x44,0x44,0x38}, // o + {0x7c,0x24,0x24,0x24,0x18,0x00}, // p + {0x38,0x44,0x64,0x44,0x38,0x00}, // q + {0x7c,0x14,0x14,0x14,0x68,0x00}, // r + {0x48,0x54,0x54,0x54,0x54,0x20}, // s + {0x04,0x04,0x7c,0x04,0x04,0x00}, // t + {0x3c,0x40,0x40,0x40,0x3c,0x00}, // u + {0x0c,0x30,0x40,0x30,0x0c,0x00}, // v + {0x0c,0x30,0x40,0x20,0x1c,0x20}, // w + {0x74,0x2c,0x10,0x28,0x44,0x00}, // x + {0x04,0x08,0x70,0x08,0x04,0x00}, // y + {0x44,0x64,0x54,0x4c,0x44,0x00}, // z + {0x00,0x7f,0x41,0x7f,0x00,0x00}, // { + {0xfc,0x00,0x00,0x00,0x00,0x00}, // | + {0x00,0x7f,0x41,0x7f,0x00,0x00}, // } + {0x00,0x7f,0x41,0x7f,0x00,0x00}, // ~ + {0x00,0x00,0x00,0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/HISKYF21_font.png b/fonts/HISKYF21_font.png new file mode 100644 index 0000000000000000000000000000000000000000..c1913ad9781b7e32cfc2a1ad647daecc66bedc67 GIT binary patch literal 751 zcmVOgb?zK2c#>{2AkQ?C3$$mI%OfKviJtK)WFFD%xBS-2-4)xtoVEkTABOR_mtFDq zB;_L0DoE~UXz{aS&3de)WL4)oHc-xIbvcy)o9D>LX4mN@Wvk1}jG_5FxkxdqtwH)8 zvc;lOV0v=W9nvb3|eMogIHWfJJ82I9Y_HAxgQ2sZtJhlXwljsJ*QH0g z$4nQi*^?z&C|YxO3RG>rC)aM-5g9}8R_u)WXQ%l>NjrnrK%lv-cQU@U5-ksVx!Kc| z<&;8`@yGb{bgbrt_*+f+e=-rMYS+5ISw@?`;(Q&v0%&#T(B12ZZQ7ig+-iNEonCQP z>Fzt-ofXhX#?zTes@?t0>{;XjiWJDJV>7xhUXEE2Q=Tmm-_68#%~&{>F(f(`A_K{hz-w(koTA` h&)sr_kQh7e#$SW9k7feCT?_yK002ovPDHLkV1ifue}w=5 literal 0 HcmV?d00001 diff --git a/fonts/HUNTER.TTF b/fonts/HUNTER.TTF new file mode 100644 index 0000000000000000000000000000000000000000..b0b8eb53b3d67159d8798ce2ebdf892d07c1ff78 GIT binary patch literal 29716 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 literal 0 HcmV?d00001 diff --git a/fonts/HUNTER_font.h b/fonts/HUNTER_font.h new file mode 100644 index 0000000..f7014ad --- /dev/null +++ b/fonts/HUNTER_font.h @@ -0,0 +1,98 @@ +const unsigned char font[96][8] = { + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // + {0x5f,0x5f,0x00,0x00,0x00,0x00,0x00,0x00}, // ! + {0x07,0x07,0x00,0x07,0x07,0x00,0x00,0x00}, // " + {0x14,0x7f,0x7f,0x14,0x7f,0x7f,0x14,0x00}, // # + {0x6f,0x6f,0x6b,0xeb,0x6b,0x7b,0x7b,0x00}, // $ + {0x63,0x73,0x38,0x1c,0x0e,0x67,0x63,0x00}, // % + {0x7f,0x7f,0x6b,0x63,0x68,0x78,0x78,0x00}, // & + {0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x00}, // ' + {0xff,0xff,0x80,0x00,0x00,0x00,0x00,0x00}, // ( + {0x80,0xff,0xff,0x00,0x00,0x00,0x00,0x00}, // ) + {0x36,0x08,0x7f,0x7f,0x7f,0x08,0x36,0x00}, // * + {0x08,0x08,0x3e,0x08,0x08,0x00,0x00,0x00}, // + + {0xe0,0xe0,0x00,0x00,0x00,0x00,0x00,0x00}, // , + {0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x00}, // - + {0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00}, // . + {0x70,0x1c,0x07,0x00,0x00,0x00,0x00,0x00}, // / + {0x7f,0x7f,0x63,0x63,0x63,0x7f,0x7f,0x00}, // 0 + {0x60,0x66,0x66,0x7f,0x7f,0x60,0x60,0x00}, // 1 + {0x7b,0x7b,0x6b,0x6b,0x6b,0x6f,0x6f,0x00}, // 2 + {0x63,0x63,0x6b,0x6b,0x6b,0x7f,0x7f,0x00}, // 3 + {0x1f,0x1f,0x18,0x18,0x18,0x7e,0x7e,0x00}, // 4 + {0x6f,0x6f,0x6b,0x6b,0x6b,0x7b,0x7b,0x00}, // 5 + {0x7f,0x7f,0x6c,0x6c,0x6c,0x7c,0x7c,0x00}, // 6 + {0x43,0x63,0x73,0x3b,0x1f,0x0f,0x07,0x00}, // 7 + {0x7f,0x7f,0x6b,0x6b,0x6b,0x7f,0x7f,0x00}, // 8 + {0x1f,0x1f,0x1b,0x1b,0x1b,0x7f,0x7f,0x00}, // 9 + {0x6c,0x6c,0x00,0x00,0x00,0x00,0x00,0x00}, // : + {0xec,0xec,0x00,0x00,0x00,0x00,0x00,0x00}, // ; + {0x08,0x14,0x22,0x22,0x00,0x00,0x00,0x00}, // < + {0x14,0x14,0x14,0x14,0x14,0x00,0x00,0x00}, // = + {0x22,0x22,0x14,0x08,0x00,0x00,0x00,0x00}, // > + {0x03,0x03,0x5b,0x5b,0x0b,0x0f,0x0f,0x00}, // ? + {0x7f,0x7f,0x63,0x6f,0x6b,0x6f,0x6f,0x00}, // @ + {0x7f,0x7f,0x1b,0x1b,0x1b,0x7f,0x7f,0x00}, // A + {0x7f,0x7f,0x6b,0x6b,0x6f,0x7e,0x7c,0x00}, // B + {0x7f,0x7f,0x63,0x63,0x63,0x63,0x63,0x00}, // C + {0x7f,0x7f,0x63,0x63,0x67,0x7e,0x7c,0x00}, // D + {0x7f,0x7f,0x6b,0x6b,0x6b,0x6b,0x6b,0x00}, // E + {0x7f,0x7f,0x0b,0x0b,0x0b,0x03,0x03,0x00}, // F + {0x7f,0x7f,0x63,0x63,0x6b,0x7b,0x7b,0x00}, // G + {0x7f,0x7f,0x18,0x18,0x18,0x7f,0x7f,0x00}, // H + {0x63,0x63,0x7f,0x7f,0x63,0x63,0x63,0x00}, // I + {0x60,0x60,0x60,0x60,0x60,0x7f,0x3f,0x00}, // J + {0x7f,0x7f,0x18,0x18,0x1e,0x7f,0x79,0x00}, // K + {0x7f,0x7f,0x60,0x60,0x60,0x60,0x60,0x00}, // L + {0x7f,0x7f,0x03,0x06,0x03,0x7f,0x7f,0x00}, // M + {0x7f,0x7f,0x0e,0x1c,0x38,0x7f,0x7f,0x00}, // N + {0x7f,0x7f,0x63,0x63,0x63,0x7f,0x7f,0x00}, // O + {0x7f,0x7f,0x1b,0x1b,0x1b,0x1f,0x1f,0x00}, // P + {0x7f,0x7f,0x63,0xf3,0xf3,0x7f,0x7f,0x00}, // Q + {0x7f,0x7f,0x1b,0x3b,0x7b,0x7f,0x5f,0x00}, // R + {0x6f,0x6f,0x6b,0x6b,0x6b,0x7b,0x7b,0x00}, // S + {0x03,0x03,0x7f,0x7f,0x03,0x03,0x03,0x00}, // T + {0x7f,0x7f,0x60,0x60,0x60,0x7f,0x7f,0x00}, // U + {0x1f,0x3f,0x70,0x60,0x70,0x3f,0x1f,0x00}, // V + {0x3f,0x7f,0x60,0x30,0x60,0x7f,0x3f,0x00}, // W + {0x77,0x7f,0x1c,0x08,0x1c,0x7f,0x77,0x00}, // X + {0x07,0x0f,0x7c,0x78,0x7c,0x0f,0x07,0x00}, // Y + {0x73,0x7b,0x6b,0x6b,0x6b,0x6f,0x67,0x00}, // Z + {0xff,0xff,0x80,0x00,0x00,0x00,0x00,0x00}, // [ + {0x07,0x1c,0x70,0x00,0x00,0x00,0x00,0x00}, // "\" + {0x80,0xff,0xff,0x00,0x00,0x00,0x00,0x00}, // ] + {0x00,0x7f,0x40,0x7f,0x00,0x00,0x00,0x00}, // ^ + {0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00}, // _ + {0x00,0x7f,0x40,0x7f,0x00,0x00,0x00,0x00}, // ` + {0x7f,0x7f,0x1b,0x1b,0x1b,0x7f,0x7f,0x00}, // a + {0x7f,0x7f,0x6b,0x6b,0x6f,0x7e,0x7c,0x00}, // b + {0x7f,0x7f,0x63,0x63,0x63,0x63,0x63,0x00}, // c + {0x7f,0x7f,0x63,0x63,0x67,0x7e,0x7c,0x00}, // d + {0x7f,0x7f,0x6b,0x6b,0x6b,0x6b,0x6b,0x00}, // e + {0x7f,0x7f,0x0b,0x0b,0x0b,0x03,0x03,0x00}, // f + {0x7f,0x7f,0x63,0x63,0x6b,0x7b,0x7b,0x00}, // g + {0x7f,0x7f,0x18,0x18,0x18,0x7f,0x7f,0x00}, // h + {0x63,0x63,0x7f,0x7f,0x63,0x63,0x63,0x00}, // i + {0x60,0x60,0x60,0x60,0x60,0x7f,0x3f,0x00}, // j + {0x7f,0x7f,0x18,0x18,0x1e,0x7f,0x79,0x00}, // k + {0x7f,0x7f,0x60,0x60,0x60,0x60,0x60,0x00}, // l + {0x7f,0x7f,0x03,0x06,0x03,0x7f,0x7f,0x00}, // m + {0x7f,0x7f,0x0e,0x1c,0x38,0x7f,0x7f,0x00}, // n + {0x7f,0x7f,0x63,0x63,0x63,0x7f,0x7f,0x00}, // o + {0x7f,0x7f,0x1b,0x1b,0x1b,0x1f,0x1f,0x00}, // p + {0x7f,0x7f,0x63,0xf3,0xf3,0x7f,0x7f,0x00}, // q + {0x7f,0x7f,0x1b,0x3b,0x7b,0x7f,0x5f,0x00}, // r + {0x6f,0x6f,0x6b,0x6b,0x6b,0x7b,0x7b,0x00}, // s + {0x03,0x03,0x7f,0x7f,0x03,0x03,0x03,0x00}, // t + {0x7f,0x7f,0x60,0x60,0x60,0x7f,0x7f,0x00}, // u + {0x1f,0x3f,0x70,0x60,0x70,0x3f,0x1f,0x00}, // v + {0x3f,0x7f,0x60,0x30,0x60,0x7f,0x3f,0x00}, // w + {0x77,0x7f,0x1c,0x08,0x1c,0x7f,0x77,0x00}, // x + {0x07,0x0f,0x7c,0x78,0x7c,0x0f,0x07,0x00}, // y + {0x73,0x7b,0x6b,0x6b,0x6b,0x6f,0x67,0x00}, // z + {0x1c,0xff,0xff,0x80,0x00,0x00,0x00,0x00}, // { + {0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // | + {0x80,0xff,0xff,0x1c,0x00,0x00,0x00,0x00}, // } + {0x00,0x7f,0x40,0x7f,0x00,0x00,0x00,0x00}, // ~ + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/HUNTER_font.png b/fonts/HUNTER_font.png new file mode 100644 index 0000000000000000000000000000000000000000..a02299be7ae85a3ad55d660d45b2387e66a2b19f GIT binary patch literal 859 zcmV-h1ElCnA_``y%uH>qwX#92wUkl{MeR8hf5-d2o8jY8 z?MBYnRx&OMTpq%Wf?Dg+S0r9D{`ia&cZ7q))YFcX^CCRwXU5UWG3#7KI2^5`eDATc zgY<>2i(cm~#`Q9XJI@g~+;NSd-X$XswT0R|wR2lHQh!o^EI84$MI*;{`QfQQf403m z0BYi+VCCcN`xnN;MXmMPxNi0x71B9*VNSLDi#|>(pch7njnn6e#H&dCks4@J0XmtVnO`gakhp8xk#dms8k-SKATcdvpO4bDW64=Pixvw`9FX<@@g=^z zhSVRreYBiU{fQF`5B;$?C`+_T?QqpQKy9}Api>FJEsyWYfHSUV;?0s~4BYJSdEz6Q zoG3KrX;@xD)ve-b;|b4a}qv@{Cgdfu?^bczGC zopgMjRRV2&wM3u4tNcPZQC--n3a&$vAx>xoF|@DMzDn)pOB&(>&B6Hmvhk`&Rh2M%{q-m?eE_R&P)s zH@-b@_Wg%(6SLajd_T|ZXuew_Z;Vcn`tuf2e`x%w{&)a7Txksmsa$bS?z=MRuZe|L zlA(4qZhol4G3RyyiKTY=7!eh!Z^RDAXQU4#rW6;6IVTS}_NaE;gRZ16&l^N;Uhndm z(nkcR^DMbtmR2lJb8P2}1OhOu3n}7%=xK5sXvIl(e4STxLfFo zWSS>Kpx6l;F*Z literal 0 HcmV?d00001 diff --git a/fonts/Minimum+1.TTF b/fonts/Minimum+1.TTF new file mode 100644 index 0000000000000000000000000000000000000000..2a5409155068dd49f81b7bc4cae54ecb0618555b GIT binary patch literal 26992 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¬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 literal 0 HcmV?d00001 diff --git a/fonts/Minimum+1_font.h b/fonts/Minimum+1_font.h new file mode 100644 index 0000000..3c1a628 --- /dev/null +++ b/fonts/Minimum+1_font.h @@ -0,0 +1,100 @@ +const unsigned char font[96][7] = { + {0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // + {0x7f,0x51,0x7f,0x00,0x00,0x00,0x00}, // ! + {0x0f,0x09,0x0f,0x09,0x0f,0x00,0x00}, // " + {0x3e,0x6b,0x41,0x6b,0x41,0x6b,0x3e}, // # + {0x0e,0x7b,0x55,0x41,0x55,0x6f,0x38}, // $ + {0x77,0x5d,0x6f,0x36,0x7b,0x4d,0x77}, // % + {0x3e,0x6b,0x51,0x55,0x53,0x6e,0x54}, // & + {0x0f,0x09,0x0f,0x00,0x00,0x00,0x00}, // ' + {0x3e,0x63,0x5d,0x77,0x00,0x00,0x00}, // ( + {0x77,0x5d,0x63,0x3e,0x00,0x00,0x00}, // ) + {0x3e,0x2a,0x36,0x2a,0x3e,0x00,0x00}, // * + {0x1c,0x36,0x22,0x36,0x1c,0x00,0x00}, // + + {0xf0,0x90,0xf0,0x00,0x00,0x00,0x00}, // , + {0x1c,0x14,0x14,0x14,0x1c,0x00,0x00}, // - + {0x70,0x50,0x70,0x00,0x00,0x00,0x00}, // . + {0x78,0x4e,0x73,0x1d,0x07,0x00,0x00}, // / + {0x3e,0x63,0x41,0x4d,0x4d,0x61,0x3f}, // 0 + {0x07,0x7d,0x41,0x7f,0x00,0x00,0x00}, // 1 + {0x7f,0x4d,0x55,0x55,0x5b,0x7e,0x00}, // 2 + {0x7f,0x55,0x55,0x55,0x69,0x3f,0x00}, // 3 + {0x1f,0x31,0x6f,0x6f,0x41,0x6f,0x38}, // 4 + {0x7f,0x51,0x55,0x55,0x6d,0x3f,0x00}, // 5 + {0x7e,0x43,0x45,0x55,0x55,0x6d,0x3f}, // 6 + {0x0f,0x09,0x7d,0x5d,0x6d,0x31,0x1f}, // 7 + {0x3e,0x2a,0x55,0x55,0x55,0x69,0x3f}, // 8 + {0x0e,0x7b,0x51,0x55,0x55,0x61,0x3f}, // 9 + {0x7e,0x42,0x7e,0x00,0x00,0x00,0x00}, // : + {0xfe,0x82,0xfe,0x00,0x00,0x00,0x00}, // ; + {0x1c,0x36,0x6b,0x5d,0x77,0x00,0x00}, // < + {0x3e,0x2a,0x2a,0x2a,0x3e,0x00,0x00}, // = + {0x77,0x5d,0x6b,0x36,0x1c,0x00,0x00}, // > + {0x07,0x7d,0x55,0x75,0x1b,0x0e,0x00}, // ? + {0x7e,0x42,0x7d,0x65,0x55,0x55,0x61}, // @ + {0x7e,0x43,0x6d,0x2d,0x6d,0x41,0x7f}, // A + {0x7e,0x43,0x41,0x45,0x51,0x6f,0x38}, // B + {0x3e,0x63,0x5d,0x55,0x55,0x77,0x00}, // C + {0x7e,0x43,0x4d,0x4d,0x5d,0x61,0x3f}, // D + {0x7e,0x43,0x55,0x55,0x55,0x7f,0x00}, // E + {0x7e,0x43,0x6d,0x2d,0x2d,0x3f,0x00}, // F + {0x7e,0x43,0x4d,0x4d,0x55,0x65,0x3f}, // G + {0x7f,0x41,0x77,0x77,0x41,0x7f,0x00}, // H + {0x77,0x55,0x41,0x5d,0x75,0x00,0x00}, // I + {0x78,0x41,0x4d,0x5d,0x61,0x3f,0x00}, // J + {0x7f,0x41,0x77,0x73,0x4d,0x7f,0x00}, // K + {0x7f,0x41,0x5f,0x50,0x50,0x70,0x00}, // L + {0x7e,0x43,0x7d,0x7d,0x41,0x7d,0x7d}, // M + {0x7f,0x43,0x7d,0x05,0x7d,0x41,0x7f}, // N + {0x3e,0x63,0x5d,0x5d,0x5d,0x61,0x3f}, // O + {0x7e,0x43,0x6d,0x2d,0x2d,0x31,0x1f}, // P + {0x3e,0x63,0x5d,0xdd,0x9d,0xe1,0x3f}, // Q + {0x7e,0x43,0x6d,0x6d,0x4d,0x71,0x1f}, // R + {0x7e,0x5b,0x55,0x55,0x6d,0x3f,0x00}, // S + {0x07,0x05,0x7d,0x41,0x7d,0x05,0x07}, // T + {0x3f,0x61,0x5f,0x50,0x5f,0x61,0x3f}, // U + {0x1f,0x31,0x6f,0x58,0x68,0x31,0x1f}, // V + {0x7f,0x41,0x5f,0x5f,0x61,0x41,0x5f}, // W + {0x7f,0x49,0x77,0x77,0x49,0x7f,0x00}, // X + {0x7f,0x59,0x57,0x57,0x61,0x3f,0x00}, // Y + {0x7f,0x4d,0x55,0x55,0x59,0x7f,0x00}, // Z + {0x7f,0x41,0x5d,0x55,0x00,0x00,0x00}, // [ + {0x07,0x1d,0x73,0x4e,0x78,0x00,0x00}, // "\" + {0x77,0x5d,0x41,0x7f,0x00,0x00,0x00}, // ] + {0x0e,0x0b,0x0d,0x0b,0x0e,0x00,0x00}, // ^ + {0x70,0x50,0x50,0x50,0x70,0x00,0x00}, // _ + {0x07,0x0d,0x0b,0x0e,0x00,0x00,0x00}, // ` + {0x7e,0x03,0x6d,0x2d,0x6d,0x01,0x7f}, // a + {0x7e,0x43,0x41,0x55,0x51,0x6f,0x38}, // b + {0x3e,0x63,0x5d,0x55,0x55,0x77,0x00}, // c + {0x7e,0x43,0x41,0x4d,0x4d,0x61,0x3f}, // d + {0x7e,0x43,0x55,0x55,0x55,0x7f,0x00}, // e + {0x7e,0x43,0x6d,0x2d,0x2d,0x3f,0x00}, // f + {0x7e,0x43,0x5d,0x55,0x45,0x65,0x3f}, // g + {0x7f,0x41,0x77,0x77,0x41,0x7f,0x00}, // h + {0x77,0x5d,0x41,0x5d,0x77,0x00,0x00}, // i + {0x78,0x4f,0x5d,0x5d,0x61,0x3f,0x00}, // j + {0x7f,0x00,0x77,0x71,0x0c,0x7f,0x00}, // k + {0x7f,0x41,0x5f,0x50,0x50,0x70,0x00}, // l + {0x7e,0x43,0x7d,0x7d,0x43,0x7d,0x7d}, // m + {0x7f,0x43,0x7d,0x05,0x7d,0x41,0x7f}, // n + {0x3e,0x63,0x41,0x4d,0x4d,0x61,0x3f}, // o + {0x7e,0x43,0x65,0x25,0x25,0x31,0x1f}, // p + {0x3e,0x63,0x41,0xcd,0x8d,0xe1,0x3f}, // q + {0x7e,0x43,0x61,0x65,0x45,0x71,0x1f}, // r + {0x7e,0x5b,0x55,0x55,0x6d,0x3f,0x00}, // s + {0x07,0x05,0x7d,0x41,0x7d,0x05,0x07}, // t + {0x3f,0x61,0x5f,0x50,0x5f,0x61,0x3f}, // u + {0x1f,0x31,0x6f,0x58,0x6f,0x31,0x1f}, // v + {0x7f,0x41,0x5f,0x5f,0x61,0x5f,0x5f}, // w + {0x7f,0x49,0x77,0x77,0x49,0x7f,0x00}, // x + {0x7f,0x59,0x57,0x57,0x61,0x3f,0x00}, // y + {0x7f,0x4d,0x55,0x55,0x59,0x7f,0x00}, // z + {0x1c,0x77,0x41,0x5d,0x77,0x00,0x00}, // { + {0x7f,0x41,0x7f,0x00,0x00,0x00,0x00}, // | + {0x77,0x5d,0x41,0x77,0x1c,0x00,0x00}, // } + {0x06,0x02,0x05,0x01,0x01,0x00,0x00}, // ~ + {0x00,0x00,0x00,0x00,0x00,0x00,0x00} +}; + +#define FONT_NAME "Minimum+1_font" diff --git a/fonts/Minimum+1_font.png b/fonts/Minimum+1_font.png new file mode 100644 index 0000000000000000000000000000000000000000..5b31287676bf9239c50647c5a1e015266fba6fc8 GIT binary patch literal 2005 zcmV;`2P*i9P)l{qORQ7_>|TU0L70VKWgn!hz{>5KXz`7CqzC6$%i%nuDix< z(=BVG?4vz@{rc6kzwc$cEX&xvwd}pd6AEeUYPBkU{`|?VG0$_>2GSZVbgTcw%8#8} z;{kvoP1Evw_xbATO0~bH|9kmx6LibkDEq`bzlZH89*$<&dkiXnkH_PZ-T?!OqJUPb zrP3)r_l$Wk|DUyNj=}P=EG*wWJJ}ZfDVf~*uv|)4ycW!ZX@3LK8r}1+U%%k(?F|3` zzJ2=!-EOz!@oh^1?;T}-YEGXn=_rk-{0H+CMFGp@vV2aGq@VN%yA28bOHoU&RlCrJxE$5S)|MvD4 z4i67a>)S=T7T=f$+vnxwrE)$w`g}gG@cYlJ)e63U{|?jNN)=8@t#^qKk` zaz59If1ih=ar>{0#rYfOCsTnR3pcs{KeYkeLZ!`f-}U=_czAe#EX!at8i@v@^pp4{ z-8B8NV}u^SmIBWLO@C)U0D$p$T+ujjvCbZ}7maPeWigjx$s>4HqzCrJ``etu>Plo0!9`x7fa6k7bZ+if<{Hlc@< zpeVU@{9B^Gy}fPFpP!$jm&G!%{ub^BA+{74-XF^NfKzc+a;}$0w3QNIR&L67(1)`PIGQN-ofX! z8n#Yx;^a$*2p5P}SUL!jZk#OZ+?F{Pi^WD~oSW0CzrUybeqX%B9vvNtb6EDz=}#TP zT7u;|b5=U%*Z%z4ST45wxU!v4 zdAEseB}mtqb9j1s3K}o@AN9RvE3Uw|teqpS}(uaNTVVzJF+mk-NNDJ4{%f#K-ACAx%@5 z&*!jSuWR{wx7&sFdJXIKI!G@{9>weAbHy5WUSL^%vT|@g_0aa%$(I@-)O!8~B>Uk# zp*r81{jGi~!HvTOz8^nYw~#9EwIqu5$FQzxFc?6VWiT8LN%>s!OM>PnTEoR6!@|Rz zznm^uo|JzklL>j|bNX>Mdw6)*n8(LxG$Qq~G2xZ-jh7(VO{>8isJ*wuzwqUeDcDm5L_B-sVAVM>14eGN;0sX6pvQibDb6~`MBiHjn(Yy7ssLY=e`S(FJZM>l{#=^UE-*FPBzh@ zCeRvSHwy_&cUL;<^0fogKwF?4w~>SE&iqR*W!PZ$%Lg_ zI{4DMhQnc$4W!z{LF(X!%uz=_4YBcW8SmD;tMTvN(CqK;m!F%8f5|^Bmxqw~L(hWf z4!#Clz;PR3De9C)?LqKAE@F#Rc4rFkKSGw00000NkvXXu0mjfw)7aP literal 0 HcmV?d00001 diff --git a/fonts/Minimum.TTF b/fonts/Minimum.TTF new file mode 100644 index 0000000000000000000000000000000000000000..605c33169e73201c841d695773341b1f8abf3e66 GIT binary patch literal 20540 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 ZI%WB?CCV~k!uVY + {0x02,0x2a,0x0a,0x04,0x00,0x00}, // ? + {0x3c,0x02,0x1a,0x2a,0x22,0x1e}, // @ + {0x3c,0x12,0x12,0x12,0x3e,0x00}, // A + {0x3c,0x2a,0x2a,0x2e,0x10,0x00}, // B + {0x1c,0x22,0x22,0x22,0x00,0x00}, // C + {0x3c,0x22,0x22,0x22,0x1c,0x00}, // D + {0x3c,0x2a,0x2a,0x2a,0x00,0x00}, // E + {0x3c,0x12,0x12,0x12,0x00,0x00}, // F + {0x3c,0x22,0x22,0x2a,0x1a,0x00}, // G + {0x3e,0x08,0x08,0x3e,0x00,0x00}, // H + {0x22,0x3e,0x22,0x00,0x00,0x00}, // I + {0x30,0x22,0x22,0x1e,0x00,0x00}, // J + {0x3e,0x08,0x0c,0x32,0x00,0x00}, // K + {0x3e,0x20,0x20,0x20,0x00,0x00}, // L + {0x3c,0x02,0x02,0x3c,0x02,0x02}, // M + {0x3c,0x02,0x02,0x02,0x3e,0x00}, // N + {0x1c,0x22,0x22,0x22,0x1e,0x00}, // O + {0x3c,0x12,0x12,0x12,0x0e,0x00}, // P + {0x1c,0x22,0x22,0x62,0x1e,0x00}, // Q + {0x3c,0x12,0x12,0x32,0x0e,0x00}, // R + {0x24,0x2a,0x2a,0x12,0x00,0x00}, // S + {0x02,0x02,0x3e,0x02,0x02,0x00}, // T + {0x1e,0x20,0x20,0x20,0x1e,0x00}, // U + {0x0e,0x10,0x20,0x10,0x0e,0x00}, // V + {0x3e,0x20,0x20,0x1e,0x20,0x20}, // W + {0x36,0x08,0x08,0x36,0x00,0x00}, // X + {0x26,0x28,0x28,0x1e,0x00,0x00}, // Y + {0x32,0x2a,0x2a,0x26,0x00,0x00}, // Z + {0x3e,0x22,0x00,0x00,0x00,0x00}, // [ + {0x02,0x0c,0x30,0x00,0x00,0x00}, // "\" + {0x22,0x3e,0x00,0x00,0x00,0x00}, // ] + {0x04,0x02,0x04,0x00,0x00,0x00}, // ^ + {0x20,0x20,0x20,0x00,0x00,0x00}, // _ + {0x02,0x04,0x00,0x00,0x00,0x00}, // ` + {0x3c,0x12,0x12,0x12,0x3e,0x00}, // a + {0x3c,0x2a,0x2a,0x2e,0x10,0x00}, // b + {0x1c,0x22,0x22,0x22,0x00,0x00}, // c + {0x3c,0x22,0x22,0x22,0x1c,0x00}, // d + {0x3c,0x2a,0x2a,0x2a,0x00,0x00}, // e + {0x3c,0x12,0x12,0x12,0x00,0x00}, // f + {0x3c,0x22,0x22,0x2a,0x1a,0x00}, // g + {0x3e,0x08,0x08,0x3e,0x00,0x00}, // h + {0x22,0x3e,0x22,0x00,0x00,0x00}, // i + {0x30,0x22,0x22,0x1e,0x00,0x00}, // j + {0x3e,0x08,0x0c,0x32,0x00,0x00}, // k + {0x3e,0x20,0x20,0x20,0x00,0x00}, // l + {0x3c,0x02,0x02,0x3c,0x02,0x02}, // m + {0x3c,0x02,0x02,0x02,0x3e,0x00}, // n + {0x1c,0x22,0x22,0x22,0x1e,0x00}, // o + {0x3c,0x12,0x12,0x12,0x0e,0x00}, // p + {0x1c,0x22,0x22,0x62,0x1e,0x00}, // q + {0x3c,0x12,0x12,0x32,0x0e,0x00}, // r + {0x24,0x2a,0x2a,0x12,0x00,0x00}, // s + {0x02,0x02,0x3e,0x02,0x02,0x00}, // t + {0x1e,0x20,0x20,0x20,0x1e,0x00}, // u + {0x0e,0x10,0x20,0x10,0x0e,0x00}, // v + {0x3e,0x20,0x20,0x1e,0x20,0x20}, // w + {0x36,0x08,0x08,0x36,0x00,0x00}, // x + {0x26,0x28,0x28,0x1e,0x00,0x00}, // y + {0x32,0x2a,0x2a,0x26,0x00,0x00}, // z + {0x08,0x3e,0x22,0x00,0x00,0x00}, // { + {0x3e,0x00,0x00,0x00,0x00,0x00}, // | + {0x22,0x3e,0x08,0x00,0x00,0x00}, // } + {0x04,0x02,0x02,0x00,0x00,0x00}, // ~ + {0x00,0x00,0x00,0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/Minimum_font.png b/fonts/Minimum_font.png new file mode 100644 index 0000000000000000000000000000000000000000..7209e6b232359b631884d87989db248152407223 GIT binary patch literal 725 zcmV;`0xJE9P) zkU773Tz2i*9Q%gM`k#rHN{lj_tQHJ=)_yn6u9hL4S&sH1E3=h@0b@A^IdUvb?kO( z;2mTi%--)Pk60{J_oY(fm49pVD*wJm<{4h~Ka+nR?Iv>=M8&`h;@Qzk1LrMpjJx8n zS@DVdM4%?+4$y68Q1uhtb|Sm1`9yl11nM-HOmFrFt-X6oL^?ZJjZtqMSNr)k=D5DQ zP9R@U{(U~ZnC^m}M_Jt}%D;E=_WWBtyQn{lfKBFV@IXj;n=j{12%T~!Wigw<}H)}UDH<}ZT-xVXQ0cYd9!pGi-L~~^>3Qu^W z&}|Hm-tP6Gn#+7dzI5K^ReZf0)O@1v-W#oq zf2?U>O+mG3=>J+f zo-x_#12EF*zWv?l3xe%uwwPBQ5X^RWzRX^GpFLLcy;JYH55|>vQ2r_ZcKZ30{2TIa zzfj>g@4kk-j3?ae1V(2hzKvo|i2G3f-G`b?A%qY@2(g`C>goN^c1eQc00000NkvXX Hu0mjf2_JHQ literal 0 HcmV?d00001 diff --git a/fonts/Raumsond.ttf b/fonts/Raumsond.ttf new file mode 100644 index 0000000000000000000000000000000000000000..36cba07531c75ae99b816e9e0b3a5a8dac621845 GIT binary patch literal 47072 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 Y?Am+zRXZ=)wR``ry}Nck=G=<^4TU<8KL7v# literal 0 HcmV?d00001 diff --git a/fonts/Raumsond_font.h b/fonts/Raumsond_font.h new file mode 100644 index 0000000..39143b0 --- /dev/null +++ b/fonts/Raumsond_font.h @@ -0,0 +1,98 @@ +const unsigned char font[96][5] = { + {0x00,0x00,0x00,0x00,0x00}, // + {0x5c,0x00,0x00,0x00,0x00}, // ! + {0x0c,0x00,0x0c,0x00,0x00}, // " + {0x28,0x7c,0x28,0x7c,0x28}, // # + {0x5c,0x54,0xfe,0x54,0x74}, // $ + {0x44,0x20,0x10,0x08,0x44}, // % + {0x70,0x5c,0x54,0x7c,0x50}, // & + {0x0c,0x00,0x00,0x00,0x00}, // ' + {0x7c,0x44,0x00,0x00,0x00}, // ( + {0x44,0x7c,0x00,0x00,0x00}, // ) + {0x28,0x10,0x7c,0x10,0x28}, // * + {0x10,0x10,0x7c,0x10,0x10}, // + + {0xc0,0x00,0x00,0x00,0x00}, // , + {0x10,0x10,0x10,0x10,0x00}, // - + {0x40,0x00,0x00,0x00,0x00}, // . + {0x60,0x1c,0x00,0x00,0x00}, // / + {0x7c,0x44,0x44,0x44,0x7c}, // 0 + {0x04,0x7c,0x00,0x00,0x00}, // 1 + {0x70,0x54,0x54,0x5c,0x40}, // 2 + {0x54,0x54,0x54,0x5c,0x70}, // 3 + {0x1c,0x10,0x10,0x10,0x7c}, // 4 + {0x5c,0x54,0x54,0x74,0x04}, // 5 + {0x1c,0x74,0x54,0x54,0x74}, // 6 + {0x04,0x04,0x04,0x7c,0x00}, // 7 + {0x7c,0x54,0x54,0x54,0x7c}, // 8 + {0x5c,0x54,0x54,0x74,0x1c}, // 9 + {0x50,0x00,0x00,0x00,0x00}, // : + {0xd0,0x00,0x00,0x00,0x00}, // ; + {0x10,0x28,0x44,0x00,0x00}, // < + {0x28,0x28,0x28,0x28,0x00}, // = + {0x6c,0x10,0x00,0x00,0x00}, // > + {0x0c,0x04,0x54,0x14,0x1c}, // ? + {0xfe,0x82,0x92,0xaa,0xba}, // @ + {0x7e,0x54,0x54,0x5c,0x70}, // A + {0x7c,0x48,0x48,0x48,0x78}, // B + {0x7c,0x44,0x44,0x44,0x40}, // C + {0x78,0x48,0x48,0x48,0x7c}, // D + {0x70,0x5c,0x54,0x54,0x5c}, // E + {0x70,0x1c,0x14,0x14,0x14}, // F + {0x1c,0x54,0x54,0x74,0x1c}, // G + {0x7c,0x10,0x10,0x10,0x78}, // H + {0x7c,0x00,0x00,0x00,0x00}, // I + {0x60,0x40,0x40,0x7c,0x00}, // J + {0x7c,0x10,0x10,0x70,0x1c}, // K + {0x7c,0x40,0x40,0x40,0x00}, // L + {0x7c,0x04,0x7c,0x08,0x78}, // M + {0x7c,0x04,0x04,0x04,0x7c}, // N + {0x1c,0x54,0x54,0x54,0x1c}, // O + {0x1c,0x74,0x14,0x14,0x1c}, // P + {0x3c,0x24,0x24,0x64,0x3c}, // Q + {0x7c,0x14,0x14,0x74,0x1c}, // R + {0x40,0x5c,0x54,0x54,0x70}, // S + {0x78,0x4c,0x48,0x48,0x48}, // T + {0x1c,0x50,0x50,0x50,0x1c}, // U + {0x04,0x7c,0x40,0x7c,0x04}, // V + {0x7c,0x40,0x7c,0x20,0x3c}, // W + {0x44,0x7c,0x10,0x7c,0x44}, // X + {0x1c,0x50,0x50,0x70,0x1c}, // Y + {0x70,0x54,0x54,0x5c,0x40}, // Z + {0x7c,0x44,0x00,0x00,0x00}, // [ + {0x0c,0x70,0x00,0x00,0x00}, // "\" + {0x44,0x7c,0x00,0x00,0x00}, // ] + {0x08,0x04,0x08,0x00,0x00}, // ^ + {0x40,0x40,0x40,0x40,0x00}, // _ + {0x0c,0x00,0x00,0x00,0x00}, // ` + {0x74,0x54,0x54,0x74,0x1c}, // a + {0x7c,0x48,0x48,0x48,0x78}, // b + {0x7c,0x44,0x44,0x44,0x40}, // c + {0x78,0x48,0x48,0x48,0x7c}, // d + {0x1c,0x74,0x54,0x54,0x5c}, // e + {0x1c,0x74,0x14,0x14,0x14}, // f + {0x5c,0x54,0x54,0x5c,0x70}, // g + {0x7c,0x10,0x10,0x10,0x78}, // h + {0x74,0x00,0x00,0x00,0x00}, // i + {0x60,0x40,0x40,0x7c,0x00}, // j + {0x7c,0x10,0x10,0x70,0x1c}, // k + {0x7c,0x40,0x40,0x40,0x00}, // l + {0x78,0x08,0x7c,0x04,0x7c}, // m + {0x7c,0x04,0x04,0x04,0x7c}, // n + {0x1c,0x54,0x54,0x54,0x1c}, // o + {0x1c,0x74,0x14,0x14,0x1c}, // p + {0x3c,0x24,0x24,0x64,0x3c}, // q + {0x7c,0x04,0x04,0x04,0x00}, // r + {0x40,0x5c,0x54,0x54,0x70}, // s + {0x78,0x4c,0x48,0x48,0x48}, // t + {0x1c,0x50,0x50,0x50,0x1c}, // u + {0x04,0x7c,0x40,0x7c,0x04}, // v + {0x3c,0x20,0x7c,0x40,0x7c}, // w + {0x44,0x7c,0x10,0x7c,0x44}, // x + {0x1c,0x10,0x10,0x10,0x7c}, // y + {0x70,0x54,0x54,0x5c,0x40}, // z + {0x10,0x6c,0x44,0x00,0x00}, // { + {0x7c,0x00,0x00,0x00,0x00}, // | + {0x44,0x6c,0x10,0x00,0x00}, // } + {0x08,0x04,0x08,0x04,0x00}, // ~ + {0x00,0x00,0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/Raumsond_font.png b/fonts/Raumsond_font.png new file mode 100644 index 0000000000000000000000000000000000000000..20caa424070154b66bb5d54a4d4c26bdd45e37c0 GIT binary patch literal 786 zcmV+t1MU2YP)C*2)riu|G(UOA|Zr%_lGj`rT$@?Xod*paR`7HMDh zMMoU#Uwx6-fV07%#rEJ07WI!7;3=TRM&oA_rs6k~NA}sx)&)ZlnKjJfv6}}G59FJ@ zFucCZc$oRTGoK|#(Y#4KT7Re9w&`}%AB~C8?dWTrP7Wi#0``JtW7KxNXRTY!e`b9> z{m7<_d-ooQ2+p1PZ}H~*XZw481t|Z^Ly{TmStM3`13uAU&oG9$KVb+p|( z5M6NgJv$h>mq#}y8`l+ibQmJyoW*K4kA2QAa)d0uZ5&o!S;s5r+F^^5Rqd_IKssoAST2UeN~>YYP&cZjvB^ zf-aKi65COoS~7;>%+Q&im1HfGA+m zzU*XQeX4|BY_j_0|L7o~FFH(xY~L9&l*O7IlIWeWy;5KLT+y#q7L3oUl}eSlX9v)# z%Yr%RM6X(bF_kEzkMPu&o9vLr77GFi5@v}SsZCe!6 z?ynE5{(sGX-3Q(2-B_z*^=zd2=S}6s4wife-WvDY@YFoBgm^F*3j QF8}}l07*qoM6N<$f^Nr;k^lez literal 0 HcmV?d00001 diff --git a/fonts/SUPERDIG.TTF b/fonts/SUPERDIG.TTF new file mode 100644 index 0000000000000000000000000000000000000000..d19cde5135710e4295abb25aa70ef3e3373464d1 GIT binary patch literal 6720 zcmeHMZ)_9i8Gqh8pPiHdF~krGrDq&UC~ipNI8b113Mo)1p(Rk>{eY$x^;1=$DV-+1Oqw!2bS(0RNt-6NeVHhw)ih1hwhtNVCX(CldEPtw zoOOt4{jv#%JKx>=ywBg?^Lt+(q=@J~dYw$N4-anb{^nHaZ6eiXFOnqFT$1!&b z$Ju;gC_DSwhdYQu?_vDIvFucl{zNZhtO57-cy?^q`sCKTM60gC=GTjbGZQ`eohH$m zevJQ}*jF5TUVP*DOUrltjmZ21p3sjzy}={&lMmi`g~;7*+NOr9(@i^w_Z~qzYdF)Py%=72+d~c3< z{?7A!n?c=ooa6b<@{8sCIOO{-ef~o1dbSo7M5={n>pT=p11XG$btoY+OE&(vm>Z~# zHq(pr5`C3EpsVy7`W&w(+4&?VBIol6<6NYiCz?swdsMZTq7;cJBHTJw}iBJ+XUF|C4+7 z?SJaP!KV)m9De56BZEheJ$D=>{ZBsJ!(Z^{`4>){tW()SNjgpE=`DJneoVil>)?;i zRFi5`y=p+^)NAU3`k|UtH`RjCY_u7D#!;hae8-qJW{sQ1XJ(7pVeU0gnN#Ms&9}|V z=B#+AE{ER>&xEgq{~T$E*pZ&d{>bUbtC0(l>B!Z{uOk0wSl`gskZX9O;RlF8 zSFVEov#611TOyrGr=mDlDvndZ$607{w49MqbKn4rmZ18HG-NC}t2sz6T*Jx8;N-A4 zBh|fVWWXJ3=|M`+CZc#E26;YUBN2t2m>jW0EEUIqr3Yh120Hu?Jb-GI^zQ?gBE`0( zbBr0pu!NS=N}|mQ+T*blYu<#5)i{iq`F@98Wnb}6B_%@NVIUU1RwO=JDL!%nI3f*o zm4tp|NOVJUG^LX83_{T4EL?*h(h@Z}oyVA#(}E5t)|2CGawa$GjKnz`h`drktdjSN zFY8_eGdsvTt*-ioFtnbEDuYXrfsOHWT$LA!s$Ag$==S7!7)wb#YtL2ExXiJrL{#dK zhL7x^qyD(CN+qwrvfx5|6kNc|crt^YVvm{H~`Vg?r#A3tAQ$v|%7 z(NqlCh2I)UoLnw`P(SLR^|LpN{ox7=sB1ZCB=Ja42Kfl%3mySq900s$Oh_w89ejV{ z$Vn{%0in3hsfRxr$Lu@jylR293xc%;Xb-{{xnJZL*NUw~J-<*d28LHNjaM#5wf7l6 zs2caa?tH& zfEGQgEWNI|=yU5Y@^NsZMi|U+@frDZFr;nOFy`|UFd3Du@(@|2s6aj%5n+ufQxQ%j zx|>l9xQ{zmG=_uRCh=5p8IxYo-JgRBONtXSNXA>Nb?)a(=;F)_2yoid(N(Yre`;tdsm$^f@Msfmo z%T*nIE_|DME%WMH;j*GaRSx$!$*)feQE9!b7{<{>o_)a{;*T>o>p!5zv{7rc4^}zh zcyxxOED%3*V@_Nc9kusRDdG^VafI->ULiG~OJ*T1Zg_MakoWpVqt_H1E)+H3vF7t6 ztOU|GSnrWnk;l#e2#lp7{)(Z23wb2vUu_86d71POuOraYB$tcpeRrI#d1DTKAwLRC z#5o1OpnF)WCTpxtHS7gy6kSv!uvASB-6K2%jDR=gfX~8*x-)fI!JIP3udCiaL@|T^ zO#Ai?Ze!$=L7Qug^L?Of3O?@}7@ZoO}Gr4114XmGt60ehv1>J%0Tk;8*NQK%%@0aWb*4fh3`7v!+HtoWIC1=0$&yR4eQMJYwG7!v|is*iU#!YYUcmW zleJ8h{rv&2ZqNfN=iLVg+WWoY`L$RJ_BgzL>J?G6paxEz61>)`_vQa9Hlmo4eHYh{ zdgvGO&FfmLI^nen`UHsJ7+E0D0{nXdmPkpWZ)YsZieXadG zgg1~wRH6cn(J=M z;hCWOO2%zq4d#Z%0>W2OAL^-W=Kkmy2``u8zX>973>t*Kjq6m-0mkBo8^3 z8a- zg7=`0pk7t(os4_&(U$p(DU>HouHF=>-`tJXXVuA=~eoM)iFMq&o_@3#>cXyuZ)h5l!hlJ IOXG;~p9Qq!Y5)KL literal 0 HcmV?d00001 diff --git a/fonts/SUPERDIG_font.h b/fonts/SUPERDIG_font.h new file mode 100644 index 0000000..5777b45 --- /dev/null +++ b/fonts/SUPERDIG_font.h @@ -0,0 +1,98 @@ +const unsigned char font[96][6] = { + {0x00,0x00,0x00,0x00,0x00,0x00}, // + {0x58,0x5c,0x00,0x00,0x00,0x00}, // ! + {0x00,0x01,0x00,0x00,0x01,0x00}, // " + {0x00,0x00,0x00,0x00,0x00,0x00}, // # + {0x5c,0xfe,0x54,0xfe,0x74,0x00}, // $ + {0x00,0x00,0x00,0x00,0x00,0x00}, // % + {0x70,0x5c,0x54,0x74,0x7c,0x50}, // & + {0x00,0x01,0x00,0x00,0x00,0x00}, // ' + {0x70,0x7c,0x44,0x00,0x00,0x00}, // ( + {0x44,0x7c,0x70,0x00,0x00,0x00}, // ) + {0x00,0x00,0x00,0x00,0x00,0x00}, // * + {0x10,0x10,0x70,0x7c,0x10,0x00}, // + + {0x40,0xc0,0x00,0x00,0x00,0x00}, // , + {0x10,0x10,0x10,0x10,0x00,0x00}, // - + {0x40,0x40,0x00,0x00,0x00,0x00}, // . + {0x70,0x7c,0x03,0x00,0x00,0x00}, // / + {0x7c,0x44,0x44,0x44,0x7c,0x1c}, // 0 + {0x04,0x04,0x7c,0x1c,0x00,0x00}, // 1 + {0x74,0x74,0x54,0x54,0x5c,0x00}, // 2 + {0x44,0x54,0x54,0x54,0x7c,0x70}, // 3 + {0x1c,0x10,0x10,0x7c,0x7c,0x00}, // 4 + {0x5c,0x5c,0x54,0x54,0x74,0x00}, // 5 + {0x70,0x7c,0x54,0x54,0x74,0x00}, // 6 + {0x04,0x14,0x14,0x14,0x7c,0x70}, // 7 + {0x70,0x5c,0x54,0x74,0x7c,0x00}, // 8 + {0x5c,0x54,0x54,0x54,0x7c,0x1c}, // 9 + {0x50,0x50,0x00,0x00,0x00,0x00}, // : + {0x50,0xd0,0x00,0x00,0x00,0x00}, // ; + {0x18,0x18,0x24,0x42,0x00,0x00}, // < + {0x28,0x28,0x28,0x28,0x00,0x00}, // = + {0x42,0x24,0x18,0x18,0x00,0x00}, // > + {0x04,0x14,0x54,0x54,0x1c,0x1c}, // ? + {0xf8,0x04,0x74,0x74,0x54,0x54}, // @ + {0x70,0x7c,0x14,0x14,0x3c,0x00}, // A + {0x7c,0x74,0x54,0x54,0x7c,0x00}, // B + {0x70,0x7c,0x44,0x44,0x44,0x44}, // C + {0x70,0x7c,0x44,0x44,0x48,0x70}, // D + {0x70,0x7c,0x54,0x54,0x54,0x44}, // E + {0x70,0x7c,0x14,0x14,0x14,0x04}, // F + {0x70,0x7c,0x44,0x44,0x54,0x74}, // G + {0x70,0x7c,0x10,0x10,0x7c,0x00}, // H + {0x70,0x7c,0x00,0x00,0x00,0x00}, // I + {0x60,0x40,0x40,0x40,0x7c,0x70}, // J + {0x7c,0x70,0x10,0x1c,0x70,0x00}, // K + {0x70,0x7c,0x40,0x40,0x40,0x60}, // L + {0x70,0x7c,0x04,0x04,0x7c,0x04}, // M + {0x70,0x7c,0x04,0x04,0x04,0x7c}, // N + {0x70,0x7c,0x44,0x44,0x44,0x7c}, // O + {0x70,0x7c,0x24,0x24,0x3c,0x00}, // P + {0x7c,0x44,0x44,0x44,0x7c,0x00}, // Q + {0x7c,0x74,0x14,0x14,0x3c,0x00}, // R + {0x5c,0x5c,0x54,0x54,0x74,0x00}, // S + {0x04,0x04,0x7c,0x74,0x04,0x00}, // T + {0x70,0x7c,0x40,0x40,0x40,0x7c}, // U + {0x70,0x7c,0x40,0x40,0x20,0x1c}, // V + {0x70,0x7c,0x40,0x40,0x7c,0x40}, // W + {0x70,0x7c,0x10,0x10,0x3c,0x00}, // X + {0x1c,0x10,0x70,0x70,0x1c,0x00}, // Y + {0x74,0x74,0x54,0x54,0x5c,0x00}, // Z + {0xf0,0xfe,0x82,0x00,0x00,0x00}, // [ + {0x03,0x7c,0x70,0x00,0x00,0x00}, // "\" + {0x82,0xfe,0xf0,0x00,0x00,0x00}, // ] + {0x00,0x00,0x00,0x00,0x00,0x00}, // ^ + {0x40,0x40,0x40,0x40,0x00,0x00}, // _ + {0x00,0x00,0x00,0x00,0x00,0x00}, // ` + {0x70,0x7c,0x14,0x14,0x3c,0x00}, // a + {0x7c,0x74,0x54,0x54,0x7c,0x00}, // b + {0x70,0x7c,0x44,0x44,0x44,0x44}, // c + {0x70,0x7c,0x44,0x44,0x48,0x70}, // d + {0x70,0x7c,0x54,0x54,0x54,0x44}, // e + {0x70,0x7c,0x14,0x14,0x14,0x04}, // f + {0x70,0x7c,0x44,0x44,0x54,0x74}, // g + {0x70,0x7c,0x10,0x10,0x7c,0x00}, // h + {0x70,0x7c,0x00,0x00,0x00,0x00}, // i + {0x60,0x40,0x40,0x40,0x7c,0x70}, // j + {0x7c,0x70,0x10,0x1c,0x70,0x00}, // k + {0x70,0x7c,0x40,0x40,0x40,0x60}, // l + {0x70,0x7c,0x04,0x04,0x7c,0x04}, // m + {0x70,0x7c,0x04,0x04,0x04,0x7c}, // n + {0x70,0x7c,0x44,0x44,0x44,0x7c}, // o + {0x70,0x7c,0x24,0x24,0x3c,0x00}, // p + {0x7c,0x44,0x44,0x44,0x7c,0x00}, // q + {0x7c,0x74,0x14,0x14,0x3c,0x00}, // r + {0x5c,0x5c,0x54,0x54,0x74,0x00}, // s + {0x04,0x04,0x7c,0x74,0x04,0x00}, // t + {0x70,0x7c,0x40,0x40,0x40,0x7c}, // u + {0x70,0x7c,0x40,0x40,0x20,0x1c}, // v + {0x70,0x7c,0x40,0x40,0x7c,0x40}, // w + {0x70,0x7c,0x10,0x10,0x3c,0x00}, // x + {0x1c,0x10,0x70,0x70,0x1c,0x00}, // y + {0x74,0x74,0x54,0x54,0x5c,0x00}, // z + {0x00,0x00,0x00,0x00,0x00,0x00}, // { + {0x00,0x00,0x00,0x00,0x00,0x00}, // | + {0x00,0x00,0x00,0x00,0x00,0x00}, // } + {0x00,0x00,0x00,0x00,0x00,0x00}, // ~ + {0x00,0x00,0x00,0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/SUPERDIG_font.png b/fonts/SUPERDIG_font.png new file mode 100644 index 0000000000000000000000000000000000000000..632e418f34804aae118dbd632d69201d548cd892 GIT binary patch literal 700 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
dyM(VfJ@~({s8N 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 AS^xk5 literal 0 HcmV?d00001 diff --git a/fonts/acme_5_outlines_font.h b/fonts/acme_5_outlines_font.h new file mode 100644 index 0000000..21f3d83 --- /dev/null +++ b/fonts/acme_5_outlines_font.h @@ -0,0 +1,107 @@ +#include "fonts.h" + +const unsigned char font[96][6] = { + {0x00,0x00,0x00,0x00,0x00,0x00}, // + {0x7f,0x51,0x7f,0x00,0x00,0x00}, // ! + {0x0f,0x09,0x0f,0x09,0x0f,0x00}, // " + {0x3e,0x6b,0x41,0x6b,0x41,0x6b}, // # + {0x7f,0xd1,0x94,0xc5,0x7f,0x00}, // $ + {0x77,0x4d,0x77,0x59,0x77,0x00}, // % + {0x7f,0x49,0x55,0x49,0x6f,0x54}, // & + {0x0f,0x09,0x0f,0x00,0x00,0x00}, // ' + {0x7f,0xc1,0xbe,0xe3,0x00,0x00}, // ( + {0xe3,0xbe,0xc1,0x7f,0x00,0x00}, // ) + {0x3e,0x2a,0x77,0x41,0x77,0x2a}, // * + {0x1c,0x14,0x77,0x41,0x77,0x14}, // + + {0xe0,0xb0,0xd0,0x70,0x00,0x00}, // , + {0x1c,0x14,0x14,0x14,0x1c,0x00}, // - + {0x70,0x50,0x70,0x00,0x00,0x00}, // . + {0x78,0x4c,0x77,0x19,0x0f,0x00}, // / + {0x7f,0x41,0x5d,0x41,0x7f,0x00}, // 0 + {0x7f,0x41,0x7f,0x00,0x00,0x00}, // 1 + {0x7f,0x45,0x55,0x51,0x7f,0x00}, // 2 + {0x7f,0x55,0x55,0x41,0x7f,0x00}, // 3 + {0x1f,0x11,0x77,0x41,0x7f,0x00}, // 4 + {0x7f,0x51,0x55,0x45,0x7f,0x00}, // 5 + {0x7f,0x41,0x55,0x45,0x7f,0x00}, // 6 + {0x07,0x7d,0x45,0x79,0x0f,0x00}, // 7 + {0x7f,0x49,0x55,0x49,0x7f,0x00}, // 8 + {0x7f,0x51,0x55,0x41,0x7f,0x00}, // 9 + {0x3e,0x2a,0x3e,0x00,0x00,0x00}, // : + {0xe0,0xbe,0xda,0x7e,0x00,0x00}, // ; + {0x1c,0x36,0x6b,0x5d,0x77,0x00}, // < + {0x3e,0x2a,0x2a,0x2a,0x2a,0x3e}, // = + {0x77,0x5d,0x6b,0x36,0x1c,0x00}, // > + {0x07,0x7d,0x55,0x71,0x1f,0x00}, // ? + {0x7f,0x41,0x5d,0x55,0x51,0x7f}, // @ + {0x7f,0x41,0x75,0x41,0x7f,0x00}, // A + {0x7f,0x41,0x55,0x41,0x7f,0x00}, // B + {0x7f,0x41,0x5d,0x55,0x77,0x00}, // C + {0x7f,0x41,0x5d,0x63,0x3e,0x00}, // D + {0x7f,0x41,0x55,0x55,0x7f,0x00}, // E + {0x7f,0x41,0x75,0x15,0x1f,0x00}, // F + {0x7f,0x41,0x5d,0x45,0x7f,0x00}, // G + {0x7f,0x41,0x77,0x41,0x7f,0x00}, // H + {0x7f,0x41,0x7f,0x00,0x00,0x00}, // I + {0x78,0x48,0x5f,0x41,0x7f,0x00}, // J + {0x7f,0x41,0x77,0x49,0x7f,0x00}, // K + {0x7f,0x41,0x5f,0x50,0x70,0x00}, // L + {0x7f,0x41,0x3b,0x3b,0x41,0x7f}, // M + {0x7f,0x41,0x3b,0x76,0x41,0x7f}, // N + {0x7f,0x41,0x5d,0x41,0x7f,0x00}, // O + {0x7f,0x41,0x75,0x11,0x1f,0x00}, // P + {0x7f,0x41,0x1d,0x41,0x7f,0x00}, // Q + {0x7f,0x41,0x6d,0x51,0x6f,0x00}, // R + {0x7f,0x51,0x55,0x45,0x7f,0x00}, // S + {0x07,0x7d,0x41,0x7d,0x07,0x00}, // T + {0x7f,0x41,0x5f,0x41,0x7f,0x00}, // U + {0x3f,0x61,0x5f,0x61,0x3f,0x00}, // V + {0x7f,0x41,0x6e,0x6e,0x41,0x7f}, // W + {0x7f,0x49,0x77,0x49,0x7f,0x00}, // X + {0x1f,0x71,0x47,0x71,0x1f,0x00}, // Y + {0x7b,0x4d,0x55,0x59,0x6f,0x00}, // Z + {0xff,0x80,0xbe,0xe3,0x00,0x00}, // [ + {0x0f,0x19,0x77,0x4c,0x78,0x00}, // "\" + {0xe3,0xbe,0x80,0xff,0x00,0x00}, // ] + {0x0e,0x0b,0x0d,0x0b,0x0e,0x00}, // ^ + {0xe0,0xa0,0xa0,0xa0,0xa0,0xe0}, // _ + {0x07,0x0d,0x0b,0x0e,0x00,0x00}, // ` + {0x7f,0x41,0x75,0x41,0x7f,0x00}, // a + {0x7f,0x41,0x55,0x41,0x7f,0x00}, // b + {0x7f,0x41,0x5d,0x55,0x77,0x00}, // c + {0x7f,0x41,0x5d,0x63,0x3e,0x00}, // d + {0x7f,0x41,0x55,0x55,0x7f,0x00}, // e + {0x7f,0x41,0x75,0x15,0x1f,0x00}, // f + {0x7f,0x41,0x5d,0x45,0x7f,0x00}, // g + {0x7f,0x41,0x77,0x41,0x7f,0x00}, // h + {0x7f,0x41,0x7f,0x00,0x00,0x00}, // i + {0x78,0x48,0x5f,0x41,0x7f,0x00}, // j + {0x7f,0x41,0x77,0x49,0x7f,0x00}, // k + {0x7f,0x41,0x5f,0x50,0x70,0x00}, // l + {0x7f,0x41,0x3b,0x3b,0x41,0x7f}, // m + {0x7f,0x41,0x3b,0x76,0x41,0x7f}, // n + {0x7f,0x41,0x5d,0x41,0x7f,0x00}, // o + {0x7f,0x41,0x75,0x11,0x1f,0x00}, // p + {0x7f,0x41,0x1d,0x41,0x7f,0x00}, // q + {0x7f,0x41,0x6d,0x51,0x6f,0x00}, // r + {0x7f,0x51,0x55,0x45,0x7f,0x00}, // s + {0x07,0x7d,0x41,0x7d,0x07,0x00}, // t + {0x7f,0x41,0x5f,0x41,0x7f,0x00}, // u + {0x3f,0x61,0x5f,0x61,0x3f,0x00}, // v + {0x7f,0x41,0x6e,0x6e,0x41,0x7f}, // w + {0x7f,0x49,0x77,0x49,0x7f,0x00}, // x + {0x1f,0x71,0x47,0x71,0x1f,0x00}, // y + {0x7b,0x4d,0x55,0x59,0x6f,0x00}, // z + {0x1c,0xf7,0x88,0xbe,0xe3,0x00}, // { + {0xff,0x80,0xff,0x00,0x00,0x00}, // | + {0xe3,0xbe,0x88,0xf7,0x1c,0x00}, // } + {0x0f,0x09,0x0d,0x09,0x0b,0x09}, // ~ + {0x00,0x00,0x00,0x00,0x00,0x00} +}; + + +sFONT Acme_5 = { + font, + 5, /* Width */ + 8, /* Height */ +}; \ No newline at end of file diff --git a/fonts/acme_5_outlines_font.png b/fonts/acme_5_outlines_font.png new file mode 100644 index 0000000000000000000000000000000000000000..84e790b3af87bee4eaecf6981aea9d8ff05eba0f GIT binary patch literal 984 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 DG}A*r literal 0 HcmV?d00001 diff --git a/fonts/aztech_font.h b/fonts/aztech_font.h new file mode 100644 index 0000000..1de7169 --- /dev/null +++ b/fonts/aztech_font.h @@ -0,0 +1,98 @@ +const unsigned char font[96][6] = { + {0x00,0x00,0x00,0x00,0x00,0x00}, // + {0x00,0x2e,0x00,0x00,0x00,0x00}, // ! + {0x00,0x02,0x00,0x02,0x00,0x00}, // " + {0x00,0x0a,0x1e,0x0a,0x1e,0x00}, // # + {0x00,0x0e,0x2a,0x6b,0x2a,0x3a}, // $ + {0x00,0x06,0x06,0x26,0x18,0x06}, // % + {0x38,0x3e,0x2a,0x2a,0x28,0x38}, // & + {0x18,0x02,0x00,0x00,0x00,0x00}, // ' + {0x00,0x3e,0x22,0x00,0x00,0x00}, // ( + {0x00,0x22,0x3e,0x00,0x00,0x00}, // ) + {0x00,0x0e,0x0e,0x0e,0x04,0x00}, // * + {0x00,0x08,0x1c,0x08,0x00,0x00}, // + + {0x00,0x20,0x00,0x00,0x00,0x00}, // , + {0x00,0x08,0x08,0x08,0x00,0x00}, // - + {0x00,0x20,0x00,0x00,0x00,0x00}, // . + {0x00,0x20,0x18,0x06,0x00,0x00}, // / + {0x00,0x3e,0x22,0x2a,0x22,0x3e}, // 0 + {0x02,0x3e,0x00,0x00,0x00,0x00}, // 1 + {0x00,0x38,0x28,0x2a,0x2a,0x2e}, // 2 + {0x00,0x22,0x2a,0x2e,0x38,0x00}, // 3 + {0x00,0x0e,0x08,0x08,0x3e,0x08}, // 4 + {0x00,0x2e,0x2a,0x2a,0x28,0x38}, // 5 + {0x00,0x3e,0x2a,0x2a,0x28,0x38}, // 6 + {0x00,0x06,0x02,0x02,0x0a,0x3e}, // 7 + {0x00,0x38,0x2e,0x2a,0x2e,0x38}, // 8 + {0x00,0x0e,0x0a,0x2a,0x2a,0x3e}, // 9 + {0x00,0x28,0x00,0x00,0x00,0x00}, // : + {0x00,0x28,0x00,0x00,0x00,0x00}, // ; + {0x00,0x08,0x14,0x22,0x00,0x00}, // < + {0x00,0x14,0x14,0x14,0x14,0x00}, // = + {0x00,0x22,0x14,0x08,0x00,0x00}, // > + {0x00,0x06,0x02,0x2a,0x0a,0x06}, // ? + {0x00,0x3e,0x02,0x3a,0x2a,0x0a}, // @ + {0x22,0x3e,0x02,0x0a,0x0a,0x3e}, // A + {0x00,0x3e,0x22,0x2a,0x2e,0x38}, // B + {0x00,0x3e,0x22,0x22,0x20,0x30}, // C + {0x00,0x3e,0x22,0x22,0x22,0x3c}, // D + {0x00,0x3e,0x2a,0x22,0x20,0x30}, // E + {0x00,0x3e,0x0a,0x0a,0x06,0x02}, // F + {0x00,0x3e,0x22,0x2a,0x28,0x38}, // G + {0x00,0x3e,0x08,0x08,0x08,0x3e}, // H + {0x00,0x22,0x3e,0x22,0x00,0x00}, // I + {0x00,0x30,0x20,0x20,0x22,0x3e}, // J + {0x00,0x3e,0x08,0x08,0x0e,0x38}, // K + {0x00,0x3e,0x20,0x20,0x20,0x30}, // L + {0x00,0x3e,0x02,0x3e,0x20,0x3e}, // M + {0x3e,0x3e,0x02,0x3e,0x20,0x3e}, // N + {0x00,0x3e,0x22,0x22,0x22,0x3e}, // O + {0x00,0x3e,0x02,0x0a,0x0a,0x0e}, // P + {0x00,0x3e,0x22,0x22,0x22,0x3e}, // Q + {0x00,0x3e,0x02,0x0a,0x0e,0x38}, // R + {0x00,0x0e,0x0a,0x2a,0x2a,0x3a}, // S + {0x00,0x06,0x02,0x3e,0x02,0x06}, // T + {0x00,0x3e,0x20,0x20,0x20,0x3e}, // U + {0x00,0x3e,0x20,0x20,0x3e,0x00}, // V + {0x00,0x3e,0x20,0x3e,0x02,0x3e}, // W + {0x3e,0x3a,0x0e,0x08,0x0e,0x3a}, // X + {0x00,0x0e,0x08,0x08,0x28,0x3e}, // Y + {0x00,0x3a,0x2a,0x2a,0x0a,0x0e}, // Z + {0x00,0x3e,0x22,0x00,0x00,0x00}, // [ + {0x00,0x02,0x0c,0x30,0x00,0x00}, // "\" + {0x22,0x3e,0x00,0x00,0x00,0x00}, // ] + {0x00,0x01,0x00,0x01,0x00,0x00}, // ^ + {0x00,0x20,0x20,0x20,0x00,0x00}, // _ + {0x00,0x01,0x00,0x00,0x00,0x00}, // ` + {0x00,0x38,0x28,0x28,0x08,0x38}, // a + {0x00,0x3e,0x20,0x28,0x28,0x38}, // b + {0x00,0x38,0x28,0x28,0x20,0x30}, // c + {0x00,0x38,0x28,0x28,0x20,0x3e}, // d + {0x00,0xf8,0x88,0x28,0x28,0x38}, // e + {0x00,0xf8,0x28,0x28,0x18,0x08}, // f + {0x00,0x38,0x28,0xa8,0x88,0xf8}, // g + {0x00,0x3c,0x08,0x08,0x08,0x38}, // h + {0x00,0x3a,0x00,0x00,0x00,0x00}, // i + {0x80,0xfa,0x00,0x00,0x00,0x00}, // j + {0x00,0x3e,0x08,0x08,0x38,0x2c}, // k + {0x00,0x3e,0x20,0x00,0x00,0x00}, // l + {0x00,0x38,0x08,0x38,0x20,0x38}, // m + {0x38,0x38,0x08,0x38,0x20,0x38}, // n + {0x00,0x38,0x28,0x28,0x28,0x38}, // o + {0x00,0xf8,0x08,0x28,0x28,0x38}, // p + {0x00,0x38,0x28,0x28,0x08,0xf8}, // q + {0x00,0x38,0x08,0x08,0x18,0x08}, // r + {0x00,0x38,0x28,0xa8,0xa8,0xe8}, // s + {0x00,0x3e,0x28,0x28,0x20,0x30}, // t + {0x00,0x38,0x20,0x20,0x20,0x38}, // u + {0x00,0x38,0x20,0x38,0x00,0x00}, // v + {0x00,0x38,0x20,0x38,0x08,0x38}, // w + {0x38,0x28,0x38,0x10,0x38,0x28}, // x + {0x00,0x38,0x20,0xa0,0xa0,0xf8}, // y + {0x00,0xe8,0xa8,0xa8,0x28,0x38}, // z + {0x08,0x3e,0x22,0x00,0x00,0x00}, // { + {0x00,0x3f,0x00,0x00,0x00,0x00}, // | + {0x22,0x3e,0x08,0x00,0x00,0x00}, // } + {0x00,0x00,0x00,0x00,0x00,0x00}, // ~ + {0x00,0x00,0x00,0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/aztech_font.png b/fonts/aztech_font.png new file mode 100644 index 0000000000000000000000000000000000000000..fcfcad2339fd24f7d14c5d9eeba26bb718fff048 GIT binary patch literal 850 zcmV-Y1FigtP)nC>oXKT$-5B*N^ zVfM$;V`S2Ikglbd!OF*qz4Hu^UgR7yddL?mH`$z)Y)kh}TOX~{*Fv$^YR~NNDp{mP zN-{0h*7vmdpwG#fx%u<9{BNphL@eWmOh@D2NWGXMSr{QHM)Ofotapp`@b z=~?S(ddwq_$lY5moAf}jd($3#F9Di;iOMYE?9q$BN;Ju~HAT_^e$@aS(89^QYig?6|_5e0?|FP_Zl_zyZ4>RzfT84{;lSm`95PWDwE_| zvpDKl?~NB)^D_JAor*st8|BvEY2E{RA0)10HN%WOX%E@F^wwIFWM(FgsMBT=i}7by zCokEOWRZt$=YtTPBv~?x{Ag3K2ywFROtgTb^^kop5$y8Jbij(aw=lAPAs;5sz^^GPs|`GGRV+m zRy-|VR^C$-AFILFeC&Qo>qq?az$BTO0HV&juN$$;be7rmSVTKOgr~boNsl2cp7p%) zmFs5Wi5@xY46Ji!&e3xQ%!G5LEb5D;vpPR_#BP-@p8AlT7G-2!;;zLEovo)%W@QCXP|2^X^_>?$g crntND7Y9J?T7L`_U;qFB07*qoM6N<$f)L87y#N3J literal 0 HcmV?d00001 diff --git a/fonts/bubblesstandard.ttf b/fonts/bubblesstandard.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ae285be75213ff0801f167e01b531c71ab32506d GIT binary patch literal 16788 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 ZkG*GhoWA4l(1_{y_xLAN^u2KUe*r16Lni + {0x06,0x01,0xb1,0x0e,0x00,0x00,0x00}, // ? + {0x3c,0x42,0x99,0xa5,0xbd,0xa2,0x1c}, // @ + {0x50,0x30,0x1c,0x23,0x5c,0xe0,0x00}, // A + {0x82,0x7f,0x49,0x36,0x00,0x00,0x00}, // B + {0x3c,0x42,0x81,0x89,0x86,0x60,0x00}, // C + {0x42,0xff,0xa1,0xa1,0x82,0x7c,0x00}, // D + {0x76,0x89,0x81,0x8a,0x70,0x00,0x00}, // E + {0x90,0x70,0x1e,0x0a,0x0a,0x01,0x01}, // F + {0x3c,0x42,0x81,0xb1,0xaa,0x48,0x30}, // G + {0x45,0x3e,0x08,0x1c,0x6a,0x80,0x00}, // H + {0x84,0x82,0xff,0x41,0x40,0x00,0x00}, // I + {0x60,0x90,0x81,0x7f,0x02,0x00,0x00}, // J + {0x7e,0x08,0x16,0x61,0x80,0x00,0x00}, // K + {0x02,0xff,0x80,0x40,0x40,0x20,0x00}, // L + {0x01,0x7e,0x01,0x06,0x18,0x06,0x01}, // M + {0x80,0x7f,0x02,0x0c,0x30,0x40,0x3e}, // N + {0x3c,0x42,0x8d,0x83,0x42,0x3c,0x00}, // O + {0x8a,0x7f,0x11,0x11,0x0e,0x00,0x00}, // P + {0x3c,0x42,0x81,0xa3,0xa3,0x45,0xb8}, // Q + {0x92,0x7f,0x09,0x09,0x36,0x40,0x00}, // R + {0x60,0x8e,0x91,0xa1,0x46,0x00,0x00}, // S + {0x02,0x02,0x7f,0x81,0x01,0x00,0x00}, // T + {0x3e,0x41,0x80,0x80,0x80,0x42,0x3c}, // U + {0x01,0x06,0x38,0xc0,0x30,0x0e,0x01}, // V + {0x01,0x0e,0x30,0x40,0x20,0x18,0x60}, // W + {0x82,0x80,0x41,0x32,0x0c,0x38,0x44}, // X + {0x01,0x0e,0xf0,0x0c,0x03,0x00,0x00}, // Y + {0x04,0xc2,0xb2,0x8d,0x43,0x40,0x20}, // Z + {0xff,0x81,0x00,0x00,0x00,0x00,0x00}, // [ + {0x80,0x60,0x18,0x06,0x01,0x00,0x00}, // "\" + {0x81,0xff,0x00,0x00,0x00,0x00,0x00}, // ] + {0x08,0x06,0x01,0x0e,0x10,0x00,0x00}, // ^ + {0x80,0x80,0x80,0x00,0x00,0x00,0x00}, // _ + {0x03,0x04,0x00,0x00,0x00,0x00,0x00}, // ` + {0x64,0x92,0x92,0x92,0xfc,0x90,0x00}, // a + {0x50,0xfe,0x89,0x88,0x70,0x00,0x00}, // b + {0x78,0x84,0x82,0x82,0x84,0x60,0x00}, // c + {0x70,0x88,0x88,0xfe,0x51,0x00,0x00}, // d + {0x7c,0x92,0x92,0x8a,0x64,0x10,0x00}, // e + {0x90,0x7e,0x09,0x01,0x00,0x00,0x00}, // f + {0x00,0x78,0x84,0x84,0xfe,0x44,0x00}, // g + {0x01,0x7e,0x08,0x08,0x70,0x80,0x00}, // h + {0x04,0x7d,0x80,0x00,0x00,0x00,0x00}, // i + {0x00,0xfd,0x04,0x00,0x00,0x00,0x00}, // j + {0x81,0x7e,0x08,0x34,0x40,0x00,0x00}, // k + {0x01,0x7e,0x80,0x00,0x00,0x00,0x00}, // l + {0x3e,0x04,0x04,0x18,0x04,0x04,0x78}, // m + {0x7e,0x04,0x04,0x78,0x80,0x00,0x00}, // n + {0x7c,0x82,0x86,0x84,0x78,0x00,0x00}, // o + {0x48,0xfe,0x84,0x84,0x78,0x00,0x00}, // p + {0x78,0x84,0x84,0xfe,0x48,0x00,0x00}, // q + {0x82,0x7c,0x02,0x02,0x04,0x00,0x00}, // r + {0x60,0x8c,0x92,0x62,0x04,0x00,0x00}, // s + {0x08,0x7f,0x84,0x90,0x60,0x00,0x00}, // t + {0x02,0x7c,0x80,0x80,0x80,0x78,0x80}, // u + {0x02,0x0c,0x70,0x80,0x78,0x04,0x00}, // v + {0x02,0x0c,0x70,0x80,0x60,0x18,0x60}, // w + {0x86,0x64,0x18,0x66,0x80,0x00,0x00}, // x + {0x02,0x7c,0x80,0x80,0xf8,0x00,0x00}, // y + {0x08,0x84,0xc4,0xb2,0x8e,0x40,0x00}, // z + {0xee,0x01,0x00,0x00,0x00,0x00,0x00}, // { + {0xff,0x00,0x00,0x00,0x00,0x00,0x00}, // | + {0x01,0xee,0x10,0x00,0x00,0x00,0x00}, // } + {0x10,0x08,0x08,0x10,0x10,0x08,0x00}, // ~ + {0x00,0x00,0x00,0x00,0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/bubblesstandard_font.png b/fonts/bubblesstandard_font.png new file mode 100644 index 0000000000000000000000000000000000000000..840d611a534533146f4af9bddfdc7f2e5dba5050 GIT binary patch literal 1275 zcmV0 z*^(q72&~%w|L58#BUl2GMY+Ia&!9~}qYW8`-vKjlNlPP7I~zO#NdKb{18z6)9ZX7nTZXq@$b zsXJ&5og89nnw}$nXY_XbujlA_8To2{R$?-9FR^Ent%H@=t;kpF%v61PT2I!`8GD@? z|AqVEY5ckmo{Wz_Wyu6&@zxiG{0@z+&&)-bUE6hCuHH4~={?W$AKO{`cLF_tqCG}B zJ$Xhyvax&`ofEpCk!*MUQSv=qxY+YubFw)kFIGmso+IVGaW;Ouvqn1fcc=!Tv(!Xd z%SMkQq*vEAtJZmbvp#!!i*i8kH7oC(uhxNV>ph^D@y0D(NKbS|GVUx?$vrDuz57_m z+(Pyl9nlZXyJF@=+H2L$$g7KToi4pTl%R5a7ns7EEsP7D?qLSI@>7$pNPl*Yj=Ssw zhQU-_+Cd^Kag93hnOd>?apNJ1r;LxM_OP=)N60+D(K-;hL;5lVIcg*#In<2w)-V+Z zopaI;Nb8Z!5Me}y(YW+o_rCEOEE(T)xq#<8mP1(fo+S4=cID?={zWH3wLaGRurq-fzajgR4`fe{(a)@-OJESOT;tJ0+dFHN z!^|2Hy7i4k6vOEIY8NUZ2+_KxfgbS{St-xN*4?Ny%d*gSkVPh#8tv(h2&9fp&wdBh z^=I_Iq0y&NX}DBuFm#7TNr&Tm+H6YV0DNNY4&1IcS{` z+bw%bZcfE8V<$6r>RhMeLlOup*QOuD-UCbC|6TiE#TWOQ$^X0ZQrp>86Q*>c`k-?` z&kG6u#LHM4*RPyR_lW5dzbz5oww@{~53pS}7c#`|t>@6~;CF1uB4pW$I_TCsProN8 zZBN76pN`i|4DGyts$Fymy+7|V%j#R7qZ%7^>$3jy9`)KjyDpC$vT<%f$J3i@%{1<= z_g}GLp&I`?QE6!W3MPHKlLK{dUcoN!DpsBy#=dlDh2*0@^G*E;5ZT_@ozM8MvVW$d z$NCV(0MgH{vnq>pO!)r}Fzb|H_r&fGond4<{{ li!GZK4uax)il0?;_b)^Ep1AQdDcb-5002ovPDHLkV1m$5g^mCK literal 0 HcmV?d00001 diff --git a/fonts/crackers.ttf b/fonts/crackers.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5d409ee44cedb7ff2277eb821aec72b28dc86643 GIT binary patch literal 21800 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 XAh?4&eBC!i4l;j`xCfutzjgZmQHhq! literal 0 HcmV?d00001 diff --git a/fonts/crackers_font.h b/fonts/crackers_font.h new file mode 100644 index 0000000..8a5ce5c --- /dev/null +++ b/fonts/crackers_font.h @@ -0,0 +1,98 @@ +const unsigned char font[96][6] = { + {0x00,0x00,0x00,0x00,0x00,0x00}, // + {0x5e,0x06,0x06,0x00,0x00,0x00}, // ! + {0x1e,0x00,0x00,0x1e,0x00,0x00}, // " + {0x20,0x7c,0x38,0x38,0x7c,0x08}, // # + {0x48,0xfe,0x64,0x64,0x00,0x00}, // $ + {0x64,0x60,0x60,0x18,0x0c,0x0c}, // % + {0x74,0x4a,0x4a,0x7e,0x48,0x00}, // & + {0x1e,0x00,0x00,0x00,0x00,0x00}, // ' + {0x3c,0x7e,0x7e,0x42,0x00,0x00}, // ( + {0x42,0x7e,0x7e,0x3c,0x00,0x00}, // ) + {0x04,0x0c,0x04,0x06,0x0c,0x04}, // * + {0x10,0x3c,0x3c,0x3c,0x10,0x00}, // + + {0x00,0x60,0xe0,0x00,0x00,0x00}, // , + {0x08,0x08,0x08,0x00,0x00,0x00}, // - + {0x60,0x60,0x60,0x00,0x00,0x00}, // . + {0x60,0x78,0x78,0x1e,0x06,0x00}, // / + {0x3c,0x3c,0x7e,0x42,0x7e,0x7e}, // 0 + {0x04,0x7e,0x7e,0x7e,0x00,0x00}, // 1 + {0x76,0x7a,0x7e,0x7e,0x4c,0x00}, // 2 + {0x4a,0x7e,0x7e,0x7c,0x00,0x00}, // 3 + {0x0e,0x08,0x7e,0x7e,0x7e,0x00}, // 4 + {0x4e,0x4e,0x4e,0x7a,0x1a,0x00}, // 5 + {0x3c,0x7e,0x7e,0x4a,0x7a,0x00}, // 6 + {0x02,0x02,0x0a,0x7e,0x7e,0x7e}, // 7 + {0x7e,0x7e,0x7e,0x4a,0x7e,0x00}, // 8 + {0x0c,0x4a,0x7e,0x7e,0x3c,0x00}, // 9 + {0x66,0x66,0x66,0x00,0x00,0x00}, // : + {0x66,0xe6,0x00,0x00,0x00,0x00}, // ; + {0x08,0x3c,0x7e,0x7e,0x62,0x00}, // < + {0x14,0x14,0x14,0x00,0x00,0x00}, // = + {0x62,0x7e,0x7e,0x3c,0x08,0x00}, // > + {0x02,0x4a,0x0e,0x0e,0x0c,0x00}, // ? + {0x3c,0x7e,0x7e,0x4a,0x72,0x30}, // @ + {0x7a,0x4a,0x7e,0x7e,0x7c,0x00}, // A + {0x7e,0x7e,0x7e,0x4a,0x24,0x00}, // B + {0x3c,0x7e,0x7e,0x7e,0x46,0x00}, // C + {0x7e,0x7e,0x7e,0x62,0x3c,0x00}, // D + {0x7e,0x7e,0x7e,0x4a,0x00,0x00}, // E + {0x7e,0x7e,0x7e,0x0a,0x00,0x00}, // F + {0x3c,0x7e,0x7e,0x42,0x62,0x00}, // G + {0x7e,0x7e,0x7e,0x18,0x7e,0x00}, // H + {0x7e,0x7e,0x7e,0x00,0x00,0x00}, // I + {0x40,0x7e,0x7e,0x7e,0x00,0x00}, // J + {0x7e,0x7e,0x7e,0x3c,0x66,0x00}, // K + {0x7e,0x7e,0x7e,0x40,0x00,0x00}, // L + {0x7e,0x3e,0x3e,0x7c,0x3e,0x3e}, // M + {0x7e,0x3e,0x7e,0x7c,0x7e,0x00}, // N + {0x3c,0x3c,0x7e,0x62,0x7e,0x7e}, // O + {0x7e,0x7e,0x7e,0x22,0x0c,0x00}, // P + {0x3c,0x7e,0x7e,0x62,0x7e,0x7c}, // Q + {0x7e,0x7e,0x7e,0x0a,0x64,0x00}, // R + {0x4c,0x4e,0x4e,0x7a,0x1a,0x00}, // S + {0x02,0x7e,0x7e,0x7e,0x02,0x00}, // T + {0x7e,0x60,0x7e,0x7e,0x7e,0x00}, // U + {0x3e,0x60,0x7e,0x7e,0x3e,0x00}, // V + {0x7e,0x7c,0x7c,0x3e,0x7c,0x7c}, // W + {0x46,0x7e,0x08,0x7e,0x62,0x62}, // X + {0x5e,0x5e,0x5e,0x70,0x3e,0x00}, // Y + {0x66,0x7a,0x7a,0x5e,0x66,0x00}, // Z + {0x7e,0x7e,0x7e,0x42,0x00,0x00}, // [ + {0x06,0x1e,0x1e,0x78,0x60,0x00}, // "\" + {0x42,0x7e,0x7e,0x7e,0x00,0x00}, // ] + {0x0c,0x06,0x0c,0x00,0x00,0x00}, // ^ + {0x40,0x40,0x40,0x40,0x40,0x00}, // _ + {0x02,0x06,0x06,0x04,0x00,0x00}, // ` + {0x78,0x24,0x7c,0x7c,0x78,0x00}, // a + {0x7c,0x7c,0x7c,0x48,0x20,0x00}, // b + {0x18,0x7c,0x7c,0x7c,0x4c,0x00}, // c + {0x20,0x48,0x7c,0x7c,0x7c,0x00}, // d + {0x18,0x7c,0x7c,0x74,0x4c,0x00}, // e + {0x78,0x7c,0x7c,0x24,0x00,0x00}, // f + {0x18,0x7c,0x7c,0x44,0x74,0x00}, // g + {0x7c,0x7c,0x7c,0x08,0x60,0x00}, // h + {0x7c,0x7c,0x7c,0x00,0x00,0x00}, // i + {0x40,0x7c,0x7c,0x7c,0x00,0x00}, // j + {0x7c,0x7c,0x7c,0x20,0x48,0x00}, // k + {0x7c,0x7c,0x7c,0x40,0x00,0x00}, // l + {0x7c,0x3c,0x3c,0x78,0x3c,0x3c}, // m + {0x7c,0x7c,0x7c,0x04,0x78,0x00}, // n + {0x18,0x18,0x7c,0x44,0x7c,0x7c}, // o + {0x7c,0x7c,0x7c,0x24,0x08,0x00}, // p + {0x18,0x18,0x7c,0x44,0x7c,0x7c}, // q + {0x7c,0x7c,0x7c,0x04,0x00,0x00}, // r + {0x5c,0x7c,0x7c,0x74,0x00,0x00}, // s + {0x08,0x7c,0x7c,0x7c,0x48,0x00}, // t + {0x7c,0x60,0x7c,0x7c,0x7c,0x00}, // u + {0x3c,0x60,0x7c,0x7c,0x3c,0x00}, // v + {0x7c,0x78,0x78,0x3c,0x78,0x78}, // w + {0x4c,0x3c,0x3c,0x78,0x64,0x00}, // x + {0x4c,0x4c,0x4c,0x78,0x3c,0x00}, // y + {0x5c,0x74,0x44,0x5c,0x74,0x00}, // z + {0x24,0x7e,0x42,0x42,0x00,0x00}, // { + {0x7e,0x00,0x00,0x00,0x00,0x00}, // | + {0x42,0x7e,0x24,0x00,0x00,0x00}, // } + {0x04,0x06,0x06,0x02,0x04,0x06}, // ~ + {0x00,0x00,0x00,0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/crackers_font.png b/fonts/crackers_font.png new file mode 100644 index 0000000000000000000000000000000000000000..c051b0f9b8c19ca15a7dd121466ad4f202afc3eb GIT binary patch literal 919 zcmV;I18Dq-P)U}EDI=}4i4DdVU`($2zVA*wA4pMkf(Wsju~$w}|4?A?K3v$P*G=Dk_pq5eo_wB7eD_E~kZV@h(P-J{bp z2kE`k$Li-9&)d%K(Gxl=#vA)-olQw6+FMqqBqw3jiRQRtA3Snv8}d!7P5O`Ky4s-0 zT66IFEo%41X|JC*8vg?#T*}IuTD*WHGXsl+N(Qg}yre|4W0jwuN4qsP3b-eOlV%sQ zM%w(*y0EYkyw;aVWOLsNTUSJgE3#ufw+tzg`e^fG61)VBOiA-YZ6|%f6AM^5*7r5i ziAb78zF4BXEB35@rGfR;xi72F0wTK67+}SZXo13WiKx2#OLCq|7n(!Fj_4(iu}9NU zA(z>^U6;JsZtn$N8c&*+g*k?K_SPhsnIMJ;ftA>-gHc5&G)SA49WRp{BC<@i#u_Wq zKKDURZv{$bTr@uosI4j?T9=k88A)zM3l-55#kw&AsM2BSo9A#6$k8mP)7shjA$gD7jt8`+ZO~cyEwF6ab%9{}knWy4lZzSR zdD1^2$z&6aw<0zANMubb$42ek0qdYeZvKeCWGbL1ane?6Jv~*z0p!%DlWb)CT{b_R zwJq}d8&yT*nRd?;ymL=@WlRTXUyUq(TiFp zPCem&46^*J!iE7zGNZ=Kx5|nM&Sh?`ctD0Xg&eBD(L0*m*uDA^qrG z)m~)vcu1(UF5V<7eGXy9)@)_Rm2^}korr%kI@YftOa-4!a#d9hPsN-CYn$intae7u zl4p(;aml-`6;;P5;f`F^PWT`Cyesub{2*gj)w=BHoAEz%k< + {0x04,0x02,0xa2,0x12,0x0c}, // ? + {0x7c,0x82,0xba,0xba,0xa2}, // @ + {0xfc,0x38,0x26,0x38,0xc0}, // A + {0xfe,0x92,0x92,0x92,0x6c}, // B + {0x7c,0x82,0x82,0x82,0x44}, // C + {0xfe,0x82,0x82,0x44,0x38}, // D + {0xfe,0x92,0x92,0x92,0x82}, // E + {0xfe,0x12,0x12,0x12,0x02}, // F + {0x7c,0x82,0x82,0x92,0xf4}, // G + {0xfe,0x10,0x10,0x10,0xfe}, // H + {0x00,0x82,0xfe,0x82,0x00}, // I + {0x80,0x80,0x82,0x82,0x7e}, // J + {0xfe,0x10,0x28,0x44,0x82}, // K + {0xfe,0x80,0x80,0x80,0x80}, // L + {0xfe,0x18,0x60,0x18,0xfe}, // M + {0xfe,0x06,0x38,0xc0,0xfe}, // N + {0x7c,0x82,0x82,0x82,0x7c}, // O + {0xfe,0x12,0x12,0x12,0x0c}, // P + {0x7c,0x82,0x82,0xc2,0xfc}, // Q + {0xfe,0x12,0x12,0x12,0xec}, // R + {0x4c,0x92,0x92,0x92,0x64}, // S + {0x02,0x02,0xfe,0x02,0x02}, // T + {0x7e,0x80,0x80,0x80,0x7e}, // U + {0x0e,0x30,0xc0,0x30,0x0e}, // V + {0x1e,0xe0,0x1c,0xe0,0x1e}, // W + {0xc6,0x28,0x10,0x28,0xc6}, // X + {0x0e,0x10,0xf0,0x10,0x0e}, // Y + {0xc2,0xa2,0x92,0x8a,0x86}, // Z + {0x00,0xff,0x01,0x01,0x00}, // [ + {0x03,0x0c,0x30,0xc0,0x00}, // "\" + {0x00,0x01,0x01,0xff,0x00}, // ] + {0x08,0x04,0x02,0x04,0x08}, // ^ + {0x00,0x00,0x00,0x00,0x00}, // _ + {0x00,0x00,0x02,0x04,0x00}, // ` + {0x40,0xa8,0xa8,0xa8,0xf0}, // a + {0xff,0x88,0x88,0x88,0x70}, // b + {0x70,0x88,0x88,0x88,0x88}, // c + {0x70,0x88,0x88,0x88,0xff}, // d + {0x70,0xa8,0xa8,0xa8,0xb0}, // e + {0x08,0xfe,0x09,0x09,0x01}, // f + {0x70,0x88,0x88,0x88,0xf0}, // g + {0xff,0x08,0x08,0x08,0xf0}, // h + {0x00,0x08,0xfa,0x00,0x00}, // i + {0x00,0x00,0x08,0xfa,0x00}, // j + {0x00,0xff,0x20,0x50,0x88}, // k + {0x00,0x01,0xff,0x00,0x00}, // l + {0xf8,0x08,0xf0,0x08,0xf0}, // m + {0xf8,0x08,0x08,0x08,0xf0}, // n + {0x70,0x88,0x88,0x88,0x70}, // o + {0xf8,0x88,0x88,0x88,0x70}, // p + {0x70,0x88,0x88,0x88,0xf8}, // q + {0xf8,0x10,0x08,0x08,0x10}, // r + {0x90,0xa8,0xa8,0xa8,0x48}, // s + {0x00,0x7e,0x88,0x88,0x80}, // t + {0x78,0x80,0x80,0x80,0xf8}, // u + {0x18,0x60,0x80,0x60,0x18}, // v + {0x38,0xc0,0x30,0xc0,0x38}, // w + {0x88,0x50,0x20,0x50,0x88}, // x + {0x78,0x80,0x80,0x80,0xf8}, // y + {0x88,0xc8,0xa8,0x98,0x88}, // z + {0x00,0x10,0xee,0x01,0x00}, // { + {0x00,0x00,0xff,0x00,0x00}, // | + {0x00,0x01,0xee,0x10,0x00}, // } + {0x20,0x10,0x10,0x20,0x20}, // ~ + {0x00,0x00,0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/font.png b/fonts/font.png new file mode 100644 index 0000000000000000000000000000000000000000..7391ce29c250380f3d37d10d74fa9ec9650d0513 GIT binary patch literal 875 zcmV-x1C;!UP)z9v$uvl3$|Z7zhj=d zkB%{f{NR@TjJ--2OiR&LIe3X1dlWm5G7Z`0KK#54H{=DC#btCx- zP?wJqBnqhPOm-+vs@wyg&yno%9(cT*%n%A!rkTVxcVyN?GM?dXZIPs z%r89-Xnf~Yc?n?!nimrydDPI@Jzn{;(uGoI>p9XGezF<&$yk38iA-mV1A<%xr`T*^Acj_4A@vE_E&rc6J5cq&x{|%h5y{$W7s)UuWS{r%N@eE(Ri55FH6VF=^LU+d_Bf!i{kKdN z9IcZ{ART*)<{>+%_(J4=C@nDRr?OtsrO7r@V3UL0 zEOR)o8m~HfhWjZ_d8*y8QUP~D33!Yr>%=ovt5V@dK=$`!pc|uR-&OuhwlldZI@tUy zmn;3^)czQrOm!>&dRd3-dl_5iTJ4<%xR^AxLIB7=_HcP z>ab&8Wrk#<^E-VN$Od2q${EZ#k2}&6E-0ZR`(|9!?lncLJSXWPeB& zjj4J&(ACf|fBTG$q4^s+ldPSe6nkD_ZaH<^-)}wLVdVT1`U?O6002ovPDHLkV1fsk Bw;BKd literal 0 HcmV?d00001 diff --git a/fonts/fontgen.py b/fonts/fontgen.py new file mode 100644 index 0000000..c1ae97c --- /dev/null +++ b/fonts/fontgen.py @@ -0,0 +1,107 @@ +# +# FontGen +# Author: Jared Sanson (jared@jared.geek.nz) +# +# Requires Python Imaging Library (PIL) +# +# To add a new font, create a new FONT dictionary and tweak the parameters +# until the output .png looks correct. +# Monospaced fonts work best, but some variable-width ones work well too. +# +# Once the png file looks good, you can simply include the .h file in your +# project and use it. (how you use it is up to you) +# + +from PIL import Image, ImageFont, ImageDraw +import os.path + +# MONOSPACE: +#FONT = {'fname': r'pzim3x5.ttf', 'size': 9, 'yoff':1, 'w': 3, 'h': 8} +#FONT = {'fname': r'5x5.ttf', 'size': 10, 'yoff':-2, 'w': 6, 'h': 8} +#FONT = {'fname': r'BMSPA.ttf', 'size': 9, 'yoff':0, 'w': 8, 'h': 8} #NOTE: add .upper() because lower characters are broken +#FONT = {'fname': r'BMplain.ttf', 'size': 7, 'yoff':0, 'w': 6, 'h': 8} +#FONT = {'fname': r'bubblesstandard.ttf', 'size': 15, 'yoff':-1, 'w': 7, 'h': 8} +#FONT = {'fname': r'7linedigital.ttf', 'size': 8, 'yoff':0, 'w': 4, 'h': 8} # 7-seg. NOTE: can't display certain letters like 'M' +#FONT = {'fname': r'HUNTER.ttf', 'size': 9, 'yoff':-1, 'w': 8, 'h': 8} +#FONT = {'fname': r'm38.ttf', 'size': 8, 'yoff':-0, 'w': 8, 'h': 8} +#FONT = {'fname': r'formplex12.ttf', 'size': 11, 'yoff':0, 'w': 8, 'h': 8} +#FONT = {'fname': r'sloth.ttf', 'size': 15, 'yoff':-2, 'w': 6, 'h': 8} + +# VARIABLE-WIDTH: +#FONT = {'fname': r'SUPERDIG.ttf', 'size': 9, 'yoff':-1, 'w': 6, 'h': 8} # Missing some symbols +#FONT = {'fname': r'tama_mini02.TTF', 'size': 11, 'yoff': -2, 'w': 5, 'h': 8} +#FONT = {'fname': r'homespun.ttf', 'size': 9, 'yoff':-1, 'w': 7, 'h': 8} # Non-monospaced +#FONT = {'fname': r'zxpix.ttf', 'size': 10, 'yoff':-2, 'w': 6, 'h': 8} +#FONT = {'fname': r'Minimum.ttf', 'size': 16, 'yoff':-8, 'w': 6, 'h': 8} +FONT = {'fname': r'Minimum+1.ttf', 'size': 16, 'yoff':-8, 'w': 7, 'h': 8} +#FONT = {'fname': r'HISKYF21.ttf', 'size': 9, 'yoff':0, 'w': 6, 'h': 8} +#FONT = {'fname': r'renew.ttf', 'size': 8, 'yoff':-2, 'w': 7, 'h': 8} +#FONT = {'fname': r'acme_5_outlines.ttf', 'size': 8, 'yoff':-5, 'w': 6, 'h': 8} +#FONT = {'fname': r'haiku.ttf', 'size': 11, 'yoff':-2, 'w': 6, 'h': 8} +#FONT = {'fname': r'aztech.ttf', 'size': 16, 'yoff':-1, 'w': 6, 'h': 8} +#FONT = {'fname': r'Commo-Monospaced.otf', 'size': 8, 'yoff':-6, 'w': 8, 'h': 8} +#FONT = {'fname': r'crackers.ttf', 'size': 21, 'yoff':-4, 'w': 6, 'h': 8} +#FONT = {'fname': r'Blokus.otf', 'size': 9, 'yoff':-2, 'w': 6, 'h': 8} + +#TODO: Support variable-width character fonts + +FONT_FILE = FONT['fname'] +FONT_SIZE = FONT['size'] +FONT_Y_OFFSET = FONT.get('yoff', 0) + +CHAR_WIDTH = FONT.get('w', 5) +CHAR_HEIGHT = FONT.get('h', 8) + +FONT_BEGIN = ' ' +FONT_END = '~' +#FONTSTR = ''.join(chr(x).upper() for x in range(ord(FONT_BEGIN), ord(FONT_END)+1)) +FONTSTR = ''.join(chr(x) for x in range(ord(FONT_BEGIN), ord(FONT_END)+1)) + +OUTPUT_NAME = os.path.splitext(FONT_FILE)[0] + '_font' +OUTPUT_PNG = OUTPUT_NAME + '.png' +OUTPUT_H = OUTPUT_NAME + '.h' + +GLYPH_WIDTH = CHAR_WIDTH + 1 + +WIDTH = GLYPH_WIDTH * len(FONTSTR) +HEIGHT = CHAR_HEIGHT + +img = Image.new("RGBA", (WIDTH, HEIGHT), (255,255,255)) +#fnt = ImageFont.load_default() +fnt = ImageFont.truetype(FONT_FILE, FONT_SIZE) + +drw = ImageDraw.Draw(img) +#drw.fontmode = 1 + +for i in range(len(FONTSTR)): + drw.text((i*GLYPH_WIDTH,FONT_Y_OFFSET), FONTSTR[i], (0,0,0), font=fnt) + +img.save(OUTPUT_PNG) + +#### Convert to C-header format +f = open(OUTPUT_H, 'w') +num_chars = len(FONTSTR) +f.write('const unsigned char font[%d][%d] = {\n' % (num_chars+1, CHAR_WIDTH)) + +chars = [] +for i in range(num_chars): + ints = [] + for j in range(CHAR_WIDTH): + x = i*GLYPH_WIDTH + j + val = 0 + for y in range(CHAR_HEIGHT): + rgb = img.getpixel((x,y)) + val = (val >> 1) | (0x80 if rgb[0] == 0 else 0) + + ints.append('0x%.2x' % (val)) + c = FONTSTR[i] + if c == '\\': c = '"\\"' # bugfix + f.write('\t{%s}, // %s\n' % (','.join(ints), c)) + + +f.write('\t{%s}\n' % (','.join(['0x00']*CHAR_WIDTH))) +f.write('};\n\n') + +f.write('#define FONT_NAME "%s"\n' % OUTPUT_NAME) + +f.close() diff --git a/fonts/formplex12.ttf b/fonts/formplex12.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1b7f4f61631c737ed7a21387bf5e158398f638ac GIT binary patch literal 39280 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
  • X(o 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 + {0x00,0x01,0x2d,0x2f,0x06,0x00,0x00,0x00}, // ? + {0x1e,0x3f,0x21,0x2d,0x2d,0x29,0x06,0x06}, // @ + {0x3c,0x3e,0x02,0x0a,0x0a,0x3e,0x3c,0x00}, // A + {0x3e,0x3e,0x22,0x2a,0x2a,0x3e,0x14,0x00}, // B + {0x1c,0x3e,0x22,0x22,0x22,0x22,0x22,0x00}, // C + {0x3e,0x3e,0x02,0x22,0x22,0x3e,0x1c,0x00}, // D + {0x1c,0x3e,0x22,0x2a,0x2a,0x2a,0x22,0x00}, // E + {0x3c,0x3e,0x02,0x0a,0x0a,0x0a,0x02,0x00}, // F + {0x1c,0x3e,0x22,0x22,0x22,0x3a,0x18,0x00}, // G + {0x3e,0x3e,0x00,0x08,0x08,0x3e,0x3e,0x00}, // H + {0x3e,0x3e,0x00,0x00,0x00,0x00,0x00,0x00}, // I + {0x20,0x20,0x20,0x20,0x30,0x3e,0x1e,0x00}, // J + {0x3e,0x3e,0x00,0x08,0x08,0x3e,0x36,0x00}, // K + {0x1e,0x3e,0x30,0x20,0x20,0x20,0x20,0x00}, // L + {0x3e,0x3e,0x02,0x3a,0x02,0x3e,0x3c,0x00}, // M + {0x3c,0x3e,0x02,0x02,0x02,0x3e,0x3c,0x00}, // N + {0x1c,0x3e,0x22,0x22,0x22,0x3e,0x1c,0x00}, // O + {0x3c,0x3e,0x02,0x0a,0x0a,0x0e,0x04,0x00}, // P + {0x1c,0x3e,0x22,0x22,0x32,0x3e,0x3c,0x00}, // Q + {0x3c,0x3e,0x02,0x0a,0x0a,0x3e,0x34,0x00}, // R + {0x24,0x2e,0x2a,0x2a,0x2a,0x3a,0x12,0x00}, // S + {0x02,0x02,0x3e,0x3e,0x02,0x02,0x00,0x00}, // T + {0x1e,0x3e,0x20,0x20,0x20,0x3e,0x1e,0x00}, // U + {0x0e,0x1e,0x30,0x20,0x30,0x1e,0x0e,0x00}, // V + {0x1e,0x3e,0x20,0x2e,0x20,0x3e,0x3e,0x00}, // W + {0x36,0x3e,0x08,0x08,0x3e,0x36,0x00,0x00}, // X + {0x06,0x0e,0x38,0x38,0x0e,0x06,0x00,0x00}, // Y + {0x32,0x32,0x3a,0x2a,0x2e,0x26,0x26,0x00}, // Z + {0x00,0x7f,0x7f,0x41,0x41,0x41,0x00,0x00}, // [ + {0x02,0x06,0x0c,0x18,0x30,0x20,0x00,0x00}, // "\" + {0x00,0x41,0x41,0x41,0x7f,0x7f,0x00,0x00}, // ] + {0x01,0x01,0x00,0x01,0x01,0x00,0x00,0x00}, // ^ + {0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00}, // _ + {0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00}, // ` + {0x3c,0x3e,0x02,0x0a,0x0a,0x3e,0x3c,0x00}, // a + {0x3e,0x3e,0x22,0x2a,0x2a,0x3e,0x14,0x00}, // b + {0x1c,0x3e,0x22,0x22,0x22,0x22,0x22,0x00}, // c + {0x3e,0x3e,0x02,0x22,0x22,0x3e,0x1c,0x00}, // d + {0x1c,0x3e,0x22,0x2a,0x2a,0x2a,0x22,0x00}, // e + {0x3c,0x3e,0x02,0x0a,0x0a,0x0a,0x02,0x00}, // f + {0x1c,0x3e,0x22,0x22,0x22,0x3a,0x18,0x00}, // g + {0x3e,0x3e,0x00,0x08,0x08,0x3e,0x3e,0x00}, // h + {0x3e,0x3e,0x00,0x00,0x00,0x00,0x00,0x00}, // i + {0x20,0x20,0x20,0x20,0x30,0x3e,0x1e,0x00}, // j + {0x3e,0x3e,0x00,0x08,0x08,0x3e,0x36,0x00}, // k + {0x1e,0x3e,0x30,0x20,0x20,0x20,0x20,0x00}, // l + {0x3e,0x3e,0x02,0x3a,0x02,0x3e,0x3c,0x00}, // m + {0x3c,0x3e,0x02,0x02,0x02,0x3e,0x3c,0x00}, // n + {0x1c,0x3e,0x22,0x22,0x22,0x3e,0x1c,0x00}, // o + {0x3c,0x3e,0x02,0x0a,0x0a,0x0e,0x04,0x00}, // p + {0x1c,0x3e,0x22,0x22,0x32,0x3e,0x3c,0x00}, // q + {0x3c,0x3e,0x02,0x0a,0x0a,0x3e,0x34,0x00}, // r + {0x24,0x2e,0x2a,0x2a,0x2a,0x3a,0x12,0x00}, // s + {0x02,0x02,0x3e,0x3e,0x02,0x02,0x00,0x00}, // t + {0x1e,0x3e,0x20,0x20,0x20,0x3e,0x1e,0x00}, // u + {0x0e,0x1e,0x30,0x20,0x30,0x1e,0x0e,0x00}, // v + {0x1e,0x3e,0x20,0x2e,0x20,0x3e,0x3e,0x00}, // w + {0x36,0x3e,0x08,0x08,0x3e,0x36,0x00,0x00}, // x + {0x06,0x0e,0x38,0x38,0x0e,0x06,0x00,0x00}, // y + {0x32,0x32,0x3a,0x2a,0x2e,0x26,0x26,0x00}, // z + {0x00,0x08,0x7f,0x77,0x41,0x41,0x00,0x00}, // { + {0x7f,0x7f,0x00,0x00,0x00,0x00,0x00,0x00}, // | + {0x00,0x41,0x41,0x77,0x7f,0x08,0x00,0x00}, // } + {0x00,0x04,0x06,0x02,0x04,0x06,0x02,0x00}, // ~ + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/formplex12_font.png b/fonts/formplex12_font.png new file mode 100644 index 0000000000000000000000000000000000000000..1596d76a2d528af3d861b332ef4037fef3ba8adb GIT binary patch literal 853 zcmV-b1FHOqP)r{r_LiK3QcsLN`hr-R<)}5a*E<%Scaly^&S32qC_USBq!W`wTzfCnjN%V!N?c z4*lDbx$k=_(R;lv3#*Z+?*=0iVdP$+=UaQM^NGr26K!<8*g>`;-y@qM=Mz0=i&;Hc zGAA>8=TDHa_Waj;%NBWzp0{&bHp)L|vUA>0{)v&5e=NQ2J9CLws z-7spj-o$G-tS)&pK-l6qst@Tv(*^H$>o;b4f$k5xCevs{&(X4H)Mm6kV;}P8%pRl7 zsAb9p^-T-iTxA&BYnaOCo}o-JZZ&BZ-@1ssJz35|`^hSfGpAd<3Cjr4;=Fh9 z(UgPL)5?w%1nkt4oy^SMjq;nfmuPdIbsr<~iyHYN^Y+ViWzNZnuL9D6&Tz-VIGXp6 z9yU(jIEyw$M`O$yGFkKa+-CSjKgzW)Zg=dB> zRyUm8*+yvhzGH%@iJWsS@98R^naM=GhNnMzhK!!9Dbea_6MMH>yU-M-2b=J`dz5`X zo*rv0YrW_MF>3e9yO9+;UcA5gf}dH(^H+rIGerCHV${>~Hd%f@D01jZhwpSQ;vM8;A;f9S7W`Ryn7=FuA^sj-EzZ_e8TI_u&6N;B f2qAxVya z`NGAYJ@M5KasDLdGZ)r=@)IvS+PatX*F;WzXZ6X8FMRFw`wxhmx_u|^6C(cRjLthnn&$l`M?8S30 zT$b;+B|d+Q&o4c5?&A4ReC>B0=a~Bk7cO7=iD#P+e`i7DuK&vCv&&b`U;Zx#zRl;u z-{vzv#=hWg=C9utB`=Pg)a32OaUczOZ*d&T56P#B;|ia7usDw7gTe^5#Zq&pisOV) z-zUmp-SqDM*hwU}6vu%i^3LKolx2CWIIi%S4;07x>AxzDV~O1H;@ICm6jw>Px6<#A zJ^lXJ)9;Tx{r=d~?~gtG{@By+kL~`4pSX4D__1TRFWrCs`KRQtJR!Hrk{m~6j>+vD z-7n|md3maT?x{~cCw)05Psu0cxrfeQcy8_76?urO7vwovJpbfV z=a$Z1dgj?n7p|PUyn6o1(j7-`U-BP)fNwn^SLBjhvN2Fmh)%iS^i$&+Bvx_ zt6aUpl{@5!(KICEjfT)k9XWRL$nld$)##Il%A8fKY!2CpM;0* zIdE=u;lS$0?taJizZT~%x^1~nzQDdA1NTXHz+JVYHFw~#k3aTt38d27(`+^xd7fqU zdaahG)oK_9fpe(RFTUcof9{^uyWjNp&!fs&dE1{SF@OKGQsMJ|8pr(Q{%5$)wQvc& zN#x<)lB-sGX^>PZPU5H%22mxJB#vF+PzWbypFetPLC%~$db;(x{<@>5U+3iY({lSU zci-xlQNrqdtLOft_s}DEwoiRos@q?=^U)LS<@TWy?E`1rzuEfQ_r4b{z4q-h!S6Em z3LoEaTQ>HGi?LDcq!NZwiK8HN3|)yTF67XaW1sN@&!2vM{?XSK++Es5%@|hRLCeiZSO;AD!Pl*J#R+j^Pq^ zcX(yx`t zY2@%Ai4*B|k}R#pQm@7HbF(vX)@+19yOoDoXoR{k8qYwcmyAlp3&><-tonxiZTXi{ zT#+n{i)%r}wR~Xqz)7Ysd*bAB`-Hyg`Rua0y1ugBA8dWoUfh0I3RCrEWdnz*(sWz! zwN5nY%Fp!P?Pg|rvz2-+ttO^R?G~Jk8r@DaY(#n1X~Te|+kyejtd<6mOB#8-61u>1 zow+a%V?BRW)8?7f{OKdZt(-+5Gvl+E(OGn7544wc8te&^(0!xtuA&Kp^})bx4YoE{ zHu_)x`o_j!1NxDXJ0vfgUYzN5U8T~Cm{dhAZ9@HydPOM5c2XH1yJBNAtQWrBcl#CD zMD~gNNN?F|n`wCD;7Xt>E?8L*1`Z1wPQ8$y8JNy`G~R9ln@7)??upF})%4({{#M|1 zZs)jWQ;}4{O2VXU+&GE<1>>GH``Tn!e%)5z>%lkN+E5REuJ=CE1L?L<=}M=KxRJ9e zc{8hrQcEk<#8f%1*OD+sI~rjW#F;61S{)go+MsfR7ycS!zA;^=cWZ+ybh^-HZ=!1u zeUYF30NQz3u_NYyF31(;@G`o5zV|klWxbrk41r}KnhNbz6`>J~5K(Ig4N6l~BP@yZ z1e!IL5{x7p*O*K-=Fk{@ZVjUN{g(c@=r!oFybMjDOlqd8%ur|4DH~JDai(eJyw}Wi z^GWh8=6DNty{p$L^*zGT?@+`yz3HLllgl{QZ@T^8>KpIy>er#xl^XufqV@#TqF3rz z@SuMw8~E=DYB8U;OsyIVH@!P}$wwe~;3Lq;I%Dn|RV*OHgh92

    p0V1WgNn)1uI= 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 KF8vQ>?tcTJeTVY^ literal 0 HcmV?d00001 diff --git a/fonts/haiku_font.h b/fonts/haiku_font.h new file mode 100644 index 0000000..3554d9c --- /dev/null +++ b/fonts/haiku_font.h @@ -0,0 +1,98 @@ +const unsigned char font[96][6] = { + {0x00,0x00,0x00,0x00,0x00,0x00}, // + {0x00,0x5e,0x00,0x00,0x00,0x00}, // ! + {0x00,0x0e,0x0e,0x00,0x00,0x00}, // " + {0x00,0x7f,0x40,0x40,0x7f,0x00}, // # + {0x00,0x7e,0x52,0xd2,0x52,0x76}, // $ + {0x00,0x7f,0x40,0x40,0x7f,0x00}, // % + {0x00,0x70,0x7c,0x52,0x7e,0x40}, // & + {0x00,0x0e,0x00,0x00,0x00,0x00}, // ' + {0x00,0xfe,0x82,0x00,0x00,0x00}, // ( + {0x00,0x82,0xfe,0x00,0x00,0x00}, // ) + {0x00,0x14,0x0e,0x14,0x00,0x00}, // * + {0x10,0x10,0x38,0x10,0x10,0x00}, // + + {0x00,0xc0,0x00,0x00,0x00,0x00}, // , + {0x00,0x10,0x10,0x10,0x00,0x00}, // - + {0x00,0x40,0x00,0x00,0x00,0x00}, // . + {0x00,0xfe,0x00,0x00,0x00,0x00}, // / + {0x00,0x7e,0x42,0x7e,0x00,0x00}, // 0 + {0x00,0x02,0x7e,0x00,0x00,0x00}, // 1 + {0x00,0x76,0x52,0x52,0x7e,0x00}, // 2 + {0x00,0x66,0x42,0x52,0x7e,0x42}, // 3 + {0x00,0x1e,0x50,0x78,0x50,0x00}, // 4 + {0x00,0x7e,0x52,0x52,0x72,0x00}, // 5 + {0x00,0x7e,0x52,0x52,0x76,0x00}, // 6 + {0x00,0x06,0x02,0x42,0x7e,0x42}, // 7 + {0x00,0x7e,0x52,0x52,0x7e,0x00}, // 8 + {0x00,0x7e,0x52,0x52,0x7e,0x00}, // 9 + {0x00,0x50,0x00,0x00,0x00,0x00}, // : + {0x00,0x90,0x00,0x00,0x00,0x00}, // ; + {0x00,0x7f,0x40,0x40,0x7f,0x00}, // < + {0x00,0x18,0x18,0x18,0x00,0x00}, // = + {0x00,0x7f,0x40,0x40,0x7f,0x00}, // > + {0x00,0x06,0x72,0x12,0x1e,0x00}, // ? + {0x00,0x78,0x48,0x78,0x48,0x00}, // @ + {0x00,0x42,0x7e,0x12,0x12,0x7e}, // A + {0x00,0x52,0x7e,0x52,0x5e,0x70}, // B + {0x00,0x42,0x7e,0x42,0x42,0xe6}, // C + {0x00,0x42,0x7e,0x42,0x42,0x7e}, // D + {0x00,0x42,0x7e,0x5a,0x42,0xe6}, // E + {0x42,0x7e,0x52,0x3a,0x02,0x06}, // F + {0x00,0x42,0x7e,0x42,0x52,0x76}, // G + {0x00,0x42,0x7e,0x10,0x10,0x7e}, // H + {0x00,0x42,0x7e,0x42,0x00,0x00}, // I + {0x00,0x02,0xfe,0x02,0x00,0x00}, // J + {0x00,0x52,0x7e,0x10,0x1e,0x72}, // K + {0x00,0x42,0x7e,0x42,0x40,0xe0}, // L + {0x00,0x42,0x7e,0x02,0xfe,0x02}, // M + {0x42,0x42,0x7e,0x02,0x02,0x7e}, // N + {0x00,0x7e,0x42,0x42,0x7e,0x00}, // O + {0x00,0x52,0x7e,0x52,0x12,0x1e}, // P + {0x00,0x7e,0x42,0xc2,0x7e,0x00}, // Q + {0x00,0x52,0x7e,0x52,0x32,0x5e}, // R + {0x00,0xfe,0x52,0x52,0x76,0x00}, // S + {0x00,0x06,0x42,0x7e,0x42,0x02}, // T + {0x00,0x42,0x7e,0x40,0x40,0x7e}, // U + {0x00,0x02,0x1e,0x20,0x20,0x1e}, // V + {0x00,0x02,0x7e,0x40,0x7e,0x40}, // W + {0x02,0x42,0x6e,0x10,0x10,0x6e}, // X + {0x02,0x1e,0x50,0x70,0x50,0x1e}, // Y + {0x66,0x52,0x4a,0x4a,0xe6,0x00}, // Z + {0x00,0xfe,0x82,0x00,0x00,0x00}, // [ + {0x00,0x7f,0x40,0x40,0x7f,0x00}, // "\" + {0x00,0x82,0xfe,0x00,0x00,0x00}, // ] + {0x00,0x7f,0x40,0x40,0x7f,0x00}, // ^ + {0x00,0x40,0x40,0x40,0x00,0x00}, // _ + {0x00,0x7f,0x40,0x40,0x7f,0x00}, // ` + {0x00,0x70,0x5c,0x58,0x78,0x00}, // a + {0x00,0x42,0x7e,0x48,0x48,0x78}, // b + {0x00,0x78,0x48,0x48,0xfc,0x00}, // c + {0x00,0x78,0x48,0x48,0x7e,0x42}, // d + {0x00,0x78,0x68,0x68,0xf8,0x00}, // e + {0x00,0x50,0x7e,0x52,0x00,0x00}, // f + {0x00,0x78,0x48,0x48,0xf8,0x08}, // g + {0x00,0x42,0x7e,0x08,0x08,0x78}, // h + {0x00,0x48,0x7a,0x48,0x00,0x00}, // i + {0x00,0x08,0xfa,0x08,0x00,0x00}, // j + {0x00,0x42,0x7e,0x50,0x1c,0x70}, // k + {0x00,0x42,0x7e,0x40,0x00,0x00}, // l + {0x00,0x48,0x78,0x08,0xf8,0x08}, // m + {0x48,0x48,0x78,0x08,0x08,0x78}, // n + {0x00,0x78,0x48,0x48,0x78,0x00}, // o + {0x00,0x08,0xf8,0x48,0x48,0x78}, // p + {0x00,0x78,0x48,0x48,0xf8,0x08}, // q + {0x00,0x48,0x78,0x48,0x18,0x00}, // r + {0x00,0xd8,0x58,0x58,0x7c,0x00}, // s + {0x00,0x08,0x48,0x7e,0x48,0x08}, // t + {0x00,0x48,0x78,0x40,0x40,0x78}, // u + {0x08,0x18,0x28,0x40,0x28,0x18}, // v + {0x00,0x08,0x78,0x40,0x78,0x40}, // w + {0x08,0x48,0x58,0x20,0x58,0x48}, // x + {0x00,0x08,0x78,0xc0,0x40,0x78}, // y + {0x00,0x6c,0x58,0x58,0xc8,0x00}, // z + {0x00,0x7f,0x40,0x40,0x7f,0x00}, // { + {0x00,0xfe,0x00,0x00,0x00,0x00}, // | + {0x00,0x7f,0x40,0x40,0x7f,0x00}, // } + {0x00,0x7f,0x40,0x40,0x7f,0x00}, // ~ + {0x00,0x00,0x00,0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/haiku_font.png b/fonts/haiku_font.png new file mode 100644 index 0000000000000000000000000000000000000000..695ad33440b559fa32323c78c5a4e2318d9e7a8a GIT binary patch literal 920 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 + {0x03,0x59,0x09,0x0f,0x00,0x00,0x00}, // ? + {0x7f,0x41,0x5d,0x55,0x5f,0x00,0x00}, // @ + {0x7f,0x09,0x09,0x7f,0x00,0x00,0x00}, // A + {0x7f,0x49,0x49,0x77,0x00,0x00,0x00}, // B + {0x7f,0x41,0x41,0x63,0x00,0x00,0x00}, // C + {0x7f,0x41,0x41,0x3e,0x00,0x00,0x00}, // D + {0x7f,0x49,0x49,0x63,0x00,0x00,0x00}, // E + {0x7f,0x09,0x09,0x03,0x00,0x00,0x00}, // F + {0x7f,0x41,0x49,0x7b,0x00,0x00,0x00}, // G + {0x7f,0x08,0x08,0x7f,0x00,0x00,0x00}, // H + {0x41,0x7f,0x41,0x00,0x00,0x00,0x00}, // I + {0x60,0x40,0x40,0x7f,0x00,0x00,0x00}, // J + {0x7f,0x08,0x08,0x77,0x00,0x00,0x00}, // K + {0x7f,0x40,0x40,0x60,0x00,0x00,0x00}, // L + {0x7f,0x01,0x01,0x7f,0x01,0x01,0x7f}, // M + {0x7f,0x01,0x01,0x7f,0x00,0x00,0x00}, // N + {0x7f,0x41,0x41,0x7f,0x00,0x00,0x00}, // O + {0x7f,0x09,0x09,0x0f,0x00,0x00,0x00}, // P + {0x7f,0x41,0xc1,0x7f,0x00,0x00,0x00}, // Q + {0x7f,0x09,0x09,0x77,0x00,0x00,0x00}, // R + {0x6f,0x49,0x49,0x7b,0x00,0x00,0x00}, // S + {0x01,0x01,0x7f,0x01,0x01,0x00,0x00}, // T + {0x7f,0x40,0x40,0x7f,0x00,0x00,0x00}, // U + {0x7f,0x20,0x10,0x0f,0x00,0x00,0x00}, // V + {0x7f,0x40,0x40,0x7f,0x40,0x40,0x7f}, // W + {0x77,0x08,0x08,0x77,0x00,0x00,0x00}, // X + {0x6f,0x48,0x48,0x7f,0x00,0x00,0x00}, // Y + {0x71,0x49,0x49,0x47,0x00,0x00,0x00}, // Z + {0x7f,0x41,0x00,0x00,0x00,0x00,0x00}, // [ + {0x03,0x04,0x08,0x10,0x60,0x00,0x00}, // "\" + {0x41,0x7f,0x00,0x00,0x00,0x00,0x00}, // ] + {0x04,0x02,0x01,0x02,0x04,0x00,0x00}, // ^ + {0x80,0x80,0x80,0x80,0x00,0x00,0x00}, // _ + {0x03,0x00,0x00,0x00,0x00,0x00,0x00}, // ` + {0x74,0x54,0x54,0x7c,0x00,0x00,0x00}, // a + {0x7f,0x44,0x44,0x7c,0x00,0x00,0x00}, // b + {0x7c,0x44,0x44,0x6c,0x00,0x00,0x00}, // c + {0x7c,0x44,0x44,0x7f,0x00,0x00,0x00}, // d + {0x7c,0x54,0x54,0x5c,0x00,0x00,0x00}, // e + {0x7f,0x05,0x05,0x01,0x00,0x00,0x00}, // f + {0xbc,0xa4,0xa4,0xfc,0x00,0x00,0x00}, // g + {0x7f,0x04,0x04,0x7c,0x00,0x00,0x00}, // h + {0x7d,0x00,0x00,0x00,0x00,0x00,0x00}, // i + {0x80,0xfd,0x00,0x00,0x00,0x00,0x00}, // j + {0x7f,0x04,0x04,0x7a,0x00,0x00,0x00}, // k + {0x7f,0x00,0x00,0x00,0x00,0x00,0x00}, // l + {0x7c,0x04,0x04,0x7c,0x04,0x04,0x7c}, // m + {0x7c,0x04,0x04,0x7c,0x00,0x00,0x00}, // n + {0x7c,0x44,0x44,0x7c,0x00,0x00,0x00}, // o + {0xfc,0x44,0x44,0x7c,0x00,0x00,0x00}, // p + {0x7c,0x44,0x44,0xfc,0x00,0x00,0x00}, // q + {0x7c,0x04,0x04,0x0c,0x00,0x00,0x00}, // r + {0x5c,0x54,0x54,0x74,0x00,0x00,0x00}, // s + {0x7f,0x44,0x44,0x60,0x00,0x00,0x00}, // t + {0x7c,0x40,0x40,0x7c,0x00,0x00,0x00}, // u + {0x7c,0x20,0x10,0x0c,0x00,0x00,0x00}, // v + {0x7c,0x40,0x40,0x7c,0x40,0x40,0x7c}, // w + {0x6c,0x10,0x10,0x6c,0x00,0x00,0x00}, // x + {0xbc,0xa0,0xa0,0xfc,0x00,0x00,0x00}, // y + {0x64,0x54,0x54,0x4c,0x00,0x00,0x00}, // z + {0x08,0x3e,0x41,0x00,0x00,0x00,0x00}, // { + {0xff,0x00,0x00,0x00,0x00,0x00,0x00}, // | + {0x41,0x3e,0x08,0x00,0x00,0x00,0x00}, // } + {0x1c,0x04,0x1c,0x10,0x1c,0x00,0x00}, // ~ + {0x00,0x00,0x00,0x00,0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/homespun_font.png b/fonts/homespun_font.png new file mode 100644 index 0000000000000000000000000000000000000000..795864262fadd0e47edac9c2052f2e1adfba07fb GIT binary patch literal 896 zcmV-`1AqL9P)L=KQwiX{P;<|9SF=rGMl< zJ(QeUzti}4Z?9=a=5M6EwI+G{x9I0xUl6~wpJ=`)ezq?(|LmCA^~37*VKv^Oe^1YB z|M+op2I9IdN(qJ^O<-#gt@*Y8==~1R=Fc*(X#TV9yRseWW!2m39~M5VewvOm=C`Ly z_V^kK-^xWu%HPsu=lDSFNVnaAVyDnB{UgZD${S&^0n>K`&2j8q1ANE>Q>3$T{m;!Q z1dz`fML78!DVBPtIUfEDNCWJ?8_kd}s=&<}YiD~Dpc5d8R&h5PQ`pxxxw*{k7TpZwB%z>@R587Prt#FG`+U+{*E_z*{FTD zmXR*-5#*rSHHD;a!BPaRSU_ssYB{BD9yy~NC~Na!DGW!GxYq9VpQ!Pp;n}pdXht>( zsGm{(?D(^M=77c@DFULgGCx_s>Tk7=Mzadi=e_a6+LtNvTO0mJ^wzQ#&Fc0Z*#22) z1)`U~6;rF{pS8~&f#M^|r_do@Z=Cc3AD!S^5=cZ5lm(Pvqk@}3_RRv5V3GYJ78nFZ zJ{F_JIXdOg#zBZk@ELvjbB@LM&Mn);WzkE$-jPTLe=du0c-Rt6TxnYxnSm^k+Fk)LvlyOr~K83 zD(;G#ULz$d^6;ckdtZqEADt1-1v)#EE2NWQqC&%lnB0 z0&Cy$+)=(6{qN3?{8jRMWEt^q?JkGj7+8NpQVR_l{GvnX-g^4B$ zb2~@Zhu0=Y&k?(@JL1l=f57<=H}7{xw*Ktr9jh@C*Kf=LGyErWPJaPN Wx4>=hO1+c-0000qoAS!-ikLWYE%?F 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 literal 0 HcmV?d00001 diff --git a/fonts/m38_font.h b/fonts/m38_font.h new file mode 100644 index 0000000..ac72aef --- /dev/null +++ b/fonts/m38_font.h @@ -0,0 +1,98 @@ +const unsigned char font[96][8] = { + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // + {0xdf,0xdf,0x00,0x00,0x00,0x00,0x00,0x00}, // ! + {0x07,0x07,0x00,0x07,0x07,0x00,0x00,0x00}, // " + {0x24,0x24,0xff,0x24,0x24,0xff,0x24,0x24}, // # + {0xdf,0xdf,0xdb,0xff,0xff,0xdb,0xfb,0xfb}, // $ + {0xdf,0xdf,0x3b,0xff,0xff,0xdc,0xfb,0xfb}, // % + {0xff,0xff,0xdb,0xdf,0xdf,0x20,0xd8,0xd8}, // & + {0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x00}, // ' + {0x3c,0x3c,0xc3,0x00,0x00,0x00,0x00,0x00}, // ( + {0xc3,0xc3,0x3c,0x00,0x00,0x00,0x00,0x00}, // ) + {0xc3,0xc3,0x24,0xff,0xff,0x24,0xc3,0xc3}, // * + {0x18,0x18,0x18,0xff,0xff,0x18,0x18,0x18}, // + + {0xc0,0xc0,0x00,0x00,0x00,0x00,0x00,0x00}, // , + {0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18}, // - + {0xc0,0xc0,0x00,0x00,0x00,0x00,0x00,0x00}, // . + {0xc0,0xc0,0x20,0x18,0x18,0x04,0x03,0x03}, // / + {0xff,0xff,0xe3,0xdb,0xdb,0xc7,0xff,0xff}, // 0 + {0xc3,0xc3,0xff,0xc0,0xc0,0x00,0x00,0x00}, // 1 + {0xfb,0xfb,0xdb,0xdb,0xdb,0xdb,0xdf,0xdf}, // 2 + {0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xff,0xff}, // 3 + {0x1f,0x1f,0x18,0x18,0x18,0x18,0xff,0xff}, // 4 + {0xdf,0xdf,0xdb,0xdb,0xdb,0xdb,0xfb,0xfb}, // 5 + {0xff,0xff,0xdb,0xdb,0xdb,0xdb,0xfb,0xfb}, // 6 + {0x07,0x07,0x03,0x03,0x03,0x03,0xff,0xff}, // 7 + {0xff,0xff,0xdb,0xdb,0xdb,0xdb,0xff,0xff}, // 8 + {0xdf,0xdf,0xdb,0xdb,0xdb,0xdb,0xff,0xff}, // 9 + {0x24,0x24,0x00,0x00,0x00,0x00,0x00,0x00}, // : + {0xe4,0xe4,0x00,0x00,0x00,0x00,0x00,0x00}, // ; + {0x18,0x18,0x24,0xc3,0xc3,0x00,0x00,0x00}, // < + {0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24}, // = + {0xc3,0xc3,0x24,0x18,0x18,0x00,0x00,0x00}, // > + {0x07,0x07,0x03,0xdb,0xdb,0x1b,0x1f,0x1f}, // ? + {0xff,0xff,0xc3,0xfb,0xfb,0xdb,0xff,0xff}, // @ + {0xff,0xff,0xdb,0x1b,0x1b,0xdb,0xff,0xff}, // A + {0xff,0xff,0xdb,0xdb,0xdb,0xdb,0xe7,0xe7}, // B + {0xff,0xff,0xc3,0xc3,0xc3,0xc3,0xe7,0xe7}, // C + {0xff,0xff,0xc3,0xc3,0xc3,0xc3,0x3c,0x3c}, // D + {0xff,0xff,0xdb,0xdb,0xdb,0xc3,0xe7,0xe7}, // E + {0xff,0xff,0xdb,0x1b,0x1b,0x03,0x07,0x07}, // F + {0xff,0xff,0xc3,0xdb,0xdb,0xdb,0xfb,0xfb}, // G + {0xff,0xff,0xdb,0x18,0x18,0xdb,0xff,0xff}, // H + {0xc3,0xc3,0xc3,0xff,0xff,0xc3,0xc3,0xc3}, // I + {0xe0,0xe0,0xc0,0xc0,0xc0,0xc3,0xff,0xff}, // J + {0xff,0xff,0xdb,0x18,0x18,0xdb,0xe7,0xe7}, // K + {0xff,0xff,0xc3,0xc0,0xc0,0xc0,0xe0,0xe0}, // L + {0xff,0xff,0xc3,0x1f,0x1f,0xc3,0xff,0xff}, // M + {0xff,0xff,0xc4,0x18,0x18,0x23,0xff,0xff}, // N + {0xff,0xff,0xc3,0xc3,0xc3,0xc3,0xff,0xff}, // O + {0xff,0xff,0xdb,0x1b,0x1b,0x1b,0x1f,0x1f}, // P + {0xff,0xff,0xc3,0xe3,0xe3,0xc3,0xff,0xff}, // Q + {0xff,0xff,0xdb,0x1b,0x1b,0xdb,0xe7,0xe7}, // R + {0xdf,0xdf,0xdb,0xdb,0xdb,0xdb,0xfb,0xfb}, // S + {0x07,0x07,0xc3,0xff,0xff,0xc3,0x07,0x07}, // T + {0xff,0xff,0xc3,0xc0,0xc0,0xc3,0xff,0xff}, // U + {0x1f,0x1f,0x23,0xc0,0xc0,0x23,0x1f,0x1f}, // V + {0xff,0xff,0xc3,0xf8,0xf8,0xc3,0xff,0xff}, // W + {0xe7,0xe7,0xdb,0x18,0x18,0xdb,0xe7,0xe7}, // X + {0x1f,0x1f,0xdb,0xf8,0xf8,0xdb,0x1f,0x1f}, // Y + {0xc7,0xc7,0xe3,0xdb,0xdb,0xc7,0xe3,0xe3}, // Z + {0xff,0xff,0xc3,0x00,0x00,0x00,0x00,0x00}, // [ + {0x03,0x03,0x04,0x18,0x18,0x20,0xc0,0xc0}, // "\" + {0xc3,0xc3,0xff,0x00,0x00,0x00,0x00,0x00}, // ] + {0x04,0x04,0x03,0x04,0x04,0x00,0x00,0x00}, // ^ + {0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0}, // _ + {0x03,0x03,0x04,0x00,0x00,0x00,0x00,0x00}, // ` + {0xff,0xff,0xdb,0x1b,0x1b,0xdb,0xff,0xff}, // a + {0xff,0xff,0xdb,0xdb,0xdb,0xdb,0xe7,0xe7}, // b + {0xff,0xff,0xc3,0xc3,0xc3,0xc3,0xe7,0xe7}, // c + {0xff,0xff,0xc3,0xc3,0xc3,0xc3,0x3c,0x3c}, // d + {0xff,0xff,0xdb,0xdb,0xdb,0xc3,0xe7,0xe7}, // e + {0xff,0xff,0xdb,0x1b,0x1b,0x03,0x07,0x07}, // f + {0xff,0xff,0xc3,0xdb,0xdb,0xdb,0xfb,0xfb}, // g + {0xff,0xff,0xdb,0x18,0x18,0xdb,0xff,0xff}, // h + {0xc3,0xc3,0xc3,0xff,0xff,0xc3,0xc3,0xc3}, // i + {0xe0,0xe0,0xc0,0xc0,0xc0,0xc3,0xff,0xff}, // j + {0xff,0xff,0xdb,0x18,0x18,0xdb,0xe7,0xe7}, // k + {0xff,0xff,0xc3,0xc0,0xc0,0xc0,0xe0,0xe0}, // l + {0xff,0xff,0xc3,0x1f,0x1f,0xc3,0xff,0xff}, // m + {0xff,0xff,0xc4,0x18,0x18,0x23,0xff,0xff}, // n + {0xff,0xff,0xc3,0xc3,0xc3,0xc3,0xff,0xff}, // o + {0xff,0xff,0xdb,0x1b,0x1b,0x1b,0x1f,0x1f}, // p + {0xff,0xff,0xc3,0xe3,0xe3,0xc3,0xff,0xff}, // q + {0xff,0xff,0xdb,0x1b,0x1b,0xdb,0xe7,0xe7}, // r + {0xdf,0xdf,0xdb,0xdb,0xdb,0xdb,0xfb,0xfb}, // s + {0x07,0x07,0xc3,0xff,0xff,0xc3,0x07,0x07}, // t + {0xff,0xff,0xc3,0xc0,0xc0,0xc3,0xff,0xff}, // u + {0x1f,0x1f,0x23,0xc0,0xc0,0x23,0x1f,0x1f}, // v + {0xff,0xff,0xc3,0xf8,0xf8,0xc3,0xff,0xff}, // w + {0xe7,0xe7,0xdb,0x18,0x18,0xdb,0xe7,0xe7}, // x + {0x1f,0x1f,0xdb,0xf8,0xf8,0xdb,0x1f,0x1f}, // y + {0xc7,0xc7,0xe3,0xdb,0xdb,0xc7,0xe3,0xe3}, // z + {0x18,0x18,0xff,0xc3,0xc3,0x00,0x00,0x00}, // { + {0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00}, // | + {0xc3,0xc3,0xff,0x18,0x18,0x00,0x00,0x00}, // } + {0x04,0x04,0x03,0x04,0x04,0x03,0x00,0x00}, // ~ + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/m38_font.png b/fonts/m38_font.png new file mode 100644 index 0000000000000000000000000000000000000000..d6513be5d88ecdae9bd185a731bd0b16732c8f29 GIT binary patch literal 846 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 literal 0 HcmV?d00001 diff --git a/fonts/pzim3x5_font.h b/fonts/pzim3x5_font.h new file mode 100644 index 0000000..45cc8b4 --- /dev/null +++ b/fonts/pzim3x5_font.h @@ -0,0 +1,98 @@ +const unsigned char font[96][3] = { + {0x00,0x00,0x00}, // + {0x00,0x2e,0x00}, // ! + {0x06,0x00,0x06}, // " + {0x3e,0x14,0x3e}, // # + {0x0c,0x36,0x18}, // $ + {0x32,0x08,0x26}, // % + {0x14,0x2a,0x34}, // & + {0x00,0x06,0x00}, // ' + {0x00,0x1c,0x22}, // ( + {0x22,0x1c,0x00}, // ) + {0x14,0x08,0x14}, // * + {0x08,0x1c,0x08}, // + + {0x40,0x60,0x00}, // , + {0x08,0x08,0x08}, // - + {0x00,0x20,0x00}, // . + {0x60,0x1c,0x02}, // / + {0x3e,0x22,0x3e}, // 0 + {0x24,0x3e,0x20}, // 1 + {0x32,0x2a,0x26}, // 2 + {0x22,0x2a,0x3e}, // 3 + {0x0e,0x08,0x3e}, // 4 + {0x2e,0x2a,0x3a}, // 5 + {0x3e,0x2a,0x3a}, // 6 + {0x02,0x3a,0x06}, // 7 + {0x3e,0x2a,0x3e}, // 8 + {0x2e,0x2a,0x3e}, // 9 + {0x00,0x14,0x00}, // : + {0x40,0x64,0x00}, // ; + {0x08,0x14,0x22}, // < + {0x14,0x14,0x14}, // = + {0x22,0x14,0x08}, // > + {0x02,0x2a,0x06}, // ? + {0x3e,0x22,0x2e}, // @ + {0x3e,0x0a,0x3e}, // A + {0x3e,0x2a,0x36}, // B + {0x3e,0x22,0x22}, // C + {0x3e,0x22,0x1c}, // D + {0x3e,0x2a,0x22}, // E + {0x3e,0x0a,0x02}, // F + {0x3e,0x22,0x3a}, // G + {0x3e,0x08,0x3e}, // H + {0x22,0x3e,0x22}, // I + {0x30,0x20,0x3e}, // J + {0x3e,0x08,0x36}, // K + {0x3e,0x20,0x20}, // L + {0x3e,0x04,0x3e}, // M + {0x3c,0x08,0x1e}, // N + {0x3e,0x22,0x3e}, // O + {0x3e,0x0a,0x0e}, // P + {0x3e,0x22,0x7e}, // Q + {0x3e,0x0a,0x34}, // R + {0x2e,0x2a,0x3a}, // S + {0x02,0x3e,0x02}, // T + {0x3e,0x20,0x3e}, // U + {0x1e,0x20,0x1e}, // V + {0x3e,0x10,0x3e}, // W + {0x36,0x08,0x36}, // X + {0x06,0x38,0x06}, // Y + {0x32,0x2a,0x26}, // Z + {0x00,0x3e,0x22}, // [ + {0x02,0x1c,0x60}, // "\" + {0x22,0x3e,0x00}, // ] + {0x04,0x02,0x04}, // ^ + {0x40,0x40,0x40}, // _ + {0x00,0x02,0x00}, // ` + {0x3e,0x0a,0x3e}, // a + {0x3e,0x2a,0x36}, // b + {0x3e,0x22,0x22}, // c + {0x3e,0x22,0x1c}, // d + {0x3e,0x2a,0x22}, // e + {0x3e,0x0a,0x02}, // f + {0x3e,0x22,0x3a}, // g + {0x3e,0x08,0x3e}, // h + {0x22,0x3e,0x22}, // i + {0x30,0x20,0x3e}, // j + {0x3e,0x08,0x36}, // k + {0x3e,0x20,0x20}, // l + {0x3e,0x04,0x3e}, // m + {0x3c,0x08,0x1e}, // n + {0x3e,0x22,0x3e}, // o + {0x3e,0x0a,0x0e}, // p + {0x3e,0x22,0x7e}, // q + {0x3e,0x0a,0x34}, // r + {0x2e,0x2a,0x3a}, // s + {0x02,0x3e,0x02}, // t + {0x3e,0x20,0x3e}, // u + {0x1e,0x20,0x1e}, // v + {0x3e,0x10,0x3e}, // w + {0x36,0x08,0x36}, // x + {0x06,0x38,0x06}, // y + {0x32,0x2a,0x26}, // z + {0x08,0x3e,0x22}, // { + {0x00,0x7e,0x00}, // | + {0x22,0x3e,0x08}, // } + {0x02,0x06,0x04}, // ~ + {0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/pzim3x5_font.png b/fonts/pzim3x5_font.png new file mode 100644 index 0000000000000000000000000000000000000000..7b9e958eb119bc7cfd6892670a19e27ffd9f1972 GIT binary patch literal 545 zcmV++0^a?JP)C*2-N%kfA*gCLS_dBYP%aROtR@}ML-b8&b8JWjYgx<`1kl>opa8&|K3xL$N#MD z$vp|H@AYH$;d|DO=G$#o{ZajQ+sD?fDj%&M`Vr+}w*P7W?tXeUcz$N~oA-l$wy%D^%^7hM>{nzn7H~y;M)`c+=1)n*j7K9b>NM7m3 zf@Yrxk0Dg_u{ondL9r~>uFMxDBwJgxAyEbq9Vi)O80O9auIy0Ofc6@gLzav>kicdsRSe{_W-#i%mpeo??$4I{v=CZ^u8Y+Z!jp;b$lFic}^z zc8up>XMBprR~b;|U4;Q=7*}+os@hkP z-@V~_Iz7^L7xVOVF?%}xzWgWRpXvX5zdlVLZU!>{%=nXCuKL@!hSTySYcCd~2FFS9 juh@Eg!EZDgjYbZ?`)Gb7I*?-f00000NkvXXu0mjfDs2%I literal 0 HcmV?d00001 diff --git a/fonts/renew.ttf b/fonts/renew.ttf new file mode 100644 index 0000000000000000000000000000000000000000..216b82b0012496ff8ba0dde0d2f32cb9a14231ed GIT binary patch literal 12024 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 aa$aN)Z1w + {0x02,0x5a,0x0e,0x00,0x00,0x00,0x00}, // ? + {0x7e,0x42,0x5a,0x5a,0x52,0x5e,0x00}, // @ + {0x7e,0x0a,0x0a,0x7e,0x00,0x00,0x00}, // A + {0x7e,0x4a,0x4a,0x7c,0x00,0x00,0x00}, // B + {0x7e,0x42,0x42,0x42,0x00,0x00,0x00}, // C + {0x7e,0x42,0x42,0x7c,0x00,0x00,0x00}, // D + {0x7e,0x4a,0x4a,0x42,0x00,0x00,0x00}, // E + {0x7e,0x0a,0x0a,0x02,0x00,0x00,0x00}, // F + {0x7e,0x42,0x4a,0x7a,0x00,0x00,0x00}, // G + {0x7e,0x08,0x08,0x7e,0x00,0x00,0x00}, // H + {0x42,0x42,0x7e,0x42,0x42,0x00,0x00}, // I + {0x42,0x42,0x7e,0x02,0x00,0x00,0x00}, // J + {0x7e,0x08,0x0e,0x78,0x00,0x00,0x00}, // K + {0x7e,0x40,0x40,0x40,0x00,0x00,0x00}, // L + {0x7e,0x02,0x06,0x02,0x7e,0x00,0x00}, // M + {0x7e,0x04,0x08,0x7e,0x00,0x00,0x00}, // N + {0x7e,0x42,0x42,0x7e,0x00,0x00,0x00}, // O + {0x7e,0x0a,0x0a,0x0e,0x00,0x00,0x00}, // P + {0x7e,0x42,0xc2,0x7e,0x00,0x00,0x00}, // Q + {0x7e,0x0a,0x7a,0x0e,0x00,0x00,0x00}, // R + {0x4e,0x4a,0x4a,0x7a,0x00,0x00,0x00}, // S + {0x02,0x02,0x7e,0x02,0x02,0x00,0x00}, // T + {0x7e,0x40,0x40,0x7e,0x00,0x00,0x00}, // U + {0x1e,0x20,0x40,0x20,0x1e,0x00,0x00}, // V + {0x7e,0x40,0x60,0x40,0x7e,0x00,0x00}, // W + {0x42,0x24,0x18,0x24,0x42,0x00,0x00}, // X + {0x0e,0x08,0x78,0x08,0x0e,0x00,0x00}, // Y + {0x62,0x52,0x4a,0x46,0x00,0x00,0x00}, // Z + {0xff,0x81,0x00,0x00,0x00,0x00,0x00}, // [ + {0x0e,0x70,0x00,0x00,0x00,0x00,0x00}, // "\" + {0x81,0xff,0x00,0x00,0x00,0x00,0x00}, // ] + {0x04,0x02,0x04,0x00,0x00,0x00,0x00}, // ^ + {0x40,0x40,0x40,0x40,0x40,0x00,0x00}, // _ + {0x02,0x04,0x00,0x00,0x00,0x00,0x00}, // ` + {0x7c,0x14,0x14,0x7c,0x00,0x00,0x00}, // a + {0x7c,0x54,0x54,0x78,0x00,0x00,0x00}, // b + {0x7c,0x44,0x44,0x44,0x00,0x00,0x00}, // c + {0x7c,0x44,0x44,0x78,0x00,0x00,0x00}, // d + {0x7c,0x54,0x54,0x44,0x00,0x00,0x00}, // e + {0x7c,0x14,0x14,0x04,0x00,0x00,0x00}, // f + {0x7c,0x44,0x54,0x74,0x00,0x00,0x00}, // g + {0x7c,0x10,0x10,0x7c,0x00,0x00,0x00}, // h + {0x44,0x44,0x7c,0x44,0x44,0x00,0x00}, // i + {0x44,0x44,0x7c,0x04,0x00,0x00,0x00}, // j + {0x7c,0x10,0x1c,0x70,0x00,0x00,0x00}, // k + {0x7c,0x40,0x40,0x40,0x00,0x00,0x00}, // l + {0x7c,0x04,0x0c,0x04,0x7c,0x00,0x00}, // m + {0x7c,0x08,0x10,0x7c,0x00,0x00,0x00}, // n + {0x7c,0x44,0x44,0x7c,0x00,0x00,0x00}, // o + {0x7c,0x14,0x14,0x1c,0x00,0x00,0x00}, // p + {0x7c,0x44,0xc4,0x7c,0x00,0x00,0x00}, // q + {0x7c,0x14,0x74,0x1c,0x00,0x00,0x00}, // r + {0x5c,0x54,0x54,0x74,0x00,0x00,0x00}, // s + {0x04,0x04,0x7c,0x04,0x04,0x00,0x00}, // t + {0x7c,0x40,0x40,0x7c,0x00,0x00,0x00}, // u + {0x1c,0x20,0x40,0x20,0x1c,0x00,0x00}, // v + {0x7c,0x40,0x60,0x40,0x7c,0x00,0x00}, // w + {0x44,0x28,0x10,0x28,0x44,0x00,0x00}, // x + {0x1c,0x10,0x70,0x10,0x1c,0x00,0x00}, // y + {0x64,0x54,0x4c,0x44,0x00,0x00,0x00}, // z + {0x08,0xf7,0x81,0x00,0x00,0x00,0x00}, // { + {0xff,0x00,0x00,0x00,0x00,0x00,0x00}, // | + {0x81,0xf7,0x08,0x00,0x00,0x00,0x00}, // } + {0x18,0x08,0x10,0x18,0x00,0x00,0x00}, // ~ + {0x00,0x00,0x00,0x00,0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/renew_font.png b/fonts/renew_font.png new file mode 100644 index 0000000000000000000000000000000000000000..f084afb4a363bf8a30c562b23e9577503833a72e GIT binary patch literal 799 zcmV+)1K|9LP)P!t>qLIY3`G}5{X12@m|zg zODV)#^Z|wxC^sLXNO7dS;gIwZ`ON*lO@2GL zM13^o0hhEO#lUQWvr^wGU%@Rh#{2lNoN+VvFH)}Qo`^5Hx3e6iWPb-d+)L3LSXtm_ zfxlBu$9$o{KM8k&uK_tgX%WB`03%S{-Jsk!2eux-I}%J}e}--fSctwvM-HsC-~X{LlbaHf^HD!z|v>Z2JCVgj=QJ3^5}cubuc7(uyi3T za!-P{Vt!7htzF|K@%QM?*rE1Dx{*bkgcWO({CF4t$U?%Cfa5s+XvS9@{-f)ITC3QFZ>|0PNZd|#S+yePMyFl{#CbL6 z^vE^)2)z8PwoCcHf70R7#|Xzydjp}NkFziPYvNnzec$?!mYPc%ZcolvV8t1Idj6aF zubRW7>)|NnKhe*W==krskJfQI{v~duZ2Bi#%>k_Q(8Ayi-4KfC>JGKBLO-HAGSi*$ z&SBN{bnyFwC8~pOdBZZ}Q{E0vbO&fvcWboQE1C+?9j?>y;e}=c?Z9bYZ?HZ;ZthTe zW7|3hC(rno=g9bc^ dns3&<{{_hEnX#X1z-a&g002ovPDHLkV1i3Gl{f$Z literal 0 HcmV?d00001 diff --git a/fonts/sloth.ttf b/fonts/sloth.ttf new file mode 100644 index 0000000000000000000000000000000000000000..62f69ab9e855dabf34938777bfe060b9003dcb29 GIT binary patch literal 11352 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 literal 0 HcmV?d00001 diff --git a/fonts/sloth_font.h b/fonts/sloth_font.h new file mode 100644 index 0000000..a730ca2 --- /dev/null +++ b/fonts/sloth_font.h @@ -0,0 +1,98 @@ +const unsigned char font[96][6] = { + {0x00,0x00,0x00,0x00,0x00,0x00}, // + {0x5c,0x00,0x00,0x00,0x00,0x00}, // ! + {0x03,0x00,0x03,0x00,0x00,0x00}, // " + {0x3e,0x14,0x14,0x3e,0x14,0x00}, // # + {0x1c,0x54,0xff,0x54,0x74,0x04}, // $ + {0x26,0x16,0x08,0x34,0x32,0x00}, // % + {0x1d,0x15,0x17,0x17,0x15,0x0c}, // & + {0x03,0x00,0x00,0x00,0x00,0x00}, // ' + {0x7f,0x41,0x00,0x00,0x00,0x00}, // ( + {0x41,0x7f,0x00,0x00,0x00,0x00}, // ) + {0x02,0x01,0x00,0x00,0x00,0x00}, // * + {0x08,0x1c,0x08,0x00,0x00,0x00}, // + + {0x30,0x00,0x00,0x00,0x00,0x00}, // , + {0x08,0x08,0x08,0x00,0x00,0x00}, // - + {0x10,0x00,0x00,0x00,0x00,0x00}, // . + {0x40,0x20,0x10,0x08,0x04,0x02}, // / + {0x1c,0x14,0x14,0x14,0x14,0x1c}, // 0 + {0x04,0x1c,0x00,0x00,0x00,0x00}, // 1 + {0x74,0x54,0x54,0x54,0x14,0x1c}, // 2 + {0x54,0x54,0x54,0x54,0x54,0x7c}, // 3 + {0x1c,0x10,0x10,0x10,0x38,0x10}, // 4 + {0x1c,0x14,0x54,0x54,0x54,0x74}, // 5 + {0x1f,0x15,0x15,0x15,0x14,0x1c}, // 6 + {0x04,0x04,0x24,0x74,0x2c,0x04}, // 7 + {0x70,0x5c,0x54,0x54,0x5c,0x70}, // 8 + {0x1c,0x14,0x54,0x54,0x54,0x7c}, // 9 + {0x14,0x00,0x00,0x00,0x00,0x00}, // : + {0x34,0x00,0x00,0x00,0x00,0x00}, // ; + {0x08,0x14,0x22,0x00,0x00,0x00}, // < + {0x14,0x14,0x14,0x00,0x00,0x00}, // = + {0x22,0x14,0x08,0x00,0x00,0x00}, // > + {0x04,0x04,0xb4,0x14,0x14,0x7f}, // ? + {0x5d,0x55,0x55,0x55,0x55,0x5f}, // @ + {0x3c,0x14,0x14,0x14,0x14,0x3c}, // A + {0x1f,0x15,0x15,0x17,0x14,0x1c}, // B + {0x1c,0x14,0x14,0x14,0x14,0x14}, // C + {0x1e,0x1a,0x12,0x12,0x12,0x1e}, // D + {0x1f,0x15,0x15,0x15,0x15,0x15}, // E + {0x3c,0x14,0x14,0x14,0x14,0x14}, // F + {0x1e,0x12,0x12,0x12,0x12,0x3a}, // G + {0x1e,0x04,0x04,0x04,0x04,0x1e}, // H + {0x1c,0x00,0x00,0x00,0x40,0x40}, // I + {0x74,0x00,0x00,0x00,0x00,0x00}, // J + {0x1c,0x08,0x08,0x0c,0x08,0x18}, // K + {0x1c,0x10,0x10,0x10,0x10,0x10}, // L + {0x1c,0x04,0x04,0x1c,0x04,0x1c}, // M + {0x1c,0x04,0x08,0x08,0x10,0x1c}, // N + {0x1c,0x14,0x14,0x14,0x14,0x1c}, // O + {0x3c,0x14,0x14,0x14,0x14,0x1c}, // P + {0x1c,0x14,0x14,0x14,0x14,0x3c}, // Q + {0x7c,0x14,0x14,0x14,0x54,0x74}, // R + {0x5c,0x54,0x54,0x54,0x50,0x70}, // S + {0x04,0x04,0x1c,0x04,0x04,0x04}, // T + {0x1c,0x10,0x10,0x10,0x10,0x1c}, // U + {0x04,0x04,0x08,0x08,0x10,0x1c}, // V + {0x1c,0x10,0x10,0x1c,0x10,0x1c}, // W + {0x14,0x08,0x08,0x08,0x48,0x54}, // X + {0x5c,0x50,0x50,0x50,0x50,0x7c}, // Y + {0x44,0x64,0x54,0x54,0x4c,0x44}, // Z + {0x7f,0x41,0x00,0x00,0x00,0x00}, // [ + {0x01,0x02,0x04,0x08,0x10,0x20}, // "\" + {0x41,0x7f,0x00,0x00,0x00,0x00}, // ] + {0x01,0x00,0x01,0x00,0x00,0x00}, // ^ + {0x20,0x20,0x20,0x20,0x20,0x20}, // _ + {0x00,0x01,0x00,0x00,0x00,0x00}, // ` + {0x1c,0x14,0x15,0x15,0x15,0x1f}, // a + {0x1e,0x14,0x14,0x14,0x14,0x1c}, // b + {0x1c,0x14,0x14,0x14,0x14,0x14}, // c + {0x1c,0x14,0x14,0x14,0x14,0x1e}, // d + {0x7c,0x54,0x54,0x54,0x14,0x1c}, // e + {0x3c,0x14,0x14,0x14,0x04,0x04}, // f + {0x1c,0x14,0x54,0x54,0x54,0x7c}, // g + {0x1e,0x04,0x04,0x04,0x04,0x1c}, // h + {0x1d,0x00,0x00,0x00,0x40,0x40}, // i + {0x74,0x00,0x00,0x00,0x00,0x00}, // j + {0x1c,0x08,0x08,0x0c,0x08,0x10}, // k + {0x1c,0x10,0x10,0x10,0x10,0x10}, // l + {0x1c,0x04,0x04,0x1c,0x04,0x1c}, // m + {0x1c,0x04,0x04,0x04,0x04,0x1c}, // n + {0x1c,0x14,0x14,0x14,0x14,0x1c}, // o + {0x3c,0x14,0x14,0x14,0x14,0x1c}, // p + {0x1c,0x14,0x14,0x14,0x14,0x3c}, // q + {0x1c,0x04,0x04,0x04,0x04,0x04}, // r + {0x1c,0x14,0x54,0x54,0x54,0x74}, // s + {0x1e,0x14,0x14,0x10,0x10,0x18}, // t + {0x1c,0x10,0x10,0x10,0x10,0x3c}, // u + {0x04,0x04,0x08,0x08,0x10,0x1c}, // v + {0x1c,0x10,0x10,0x1c,0x10,0x1c}, // w + {0x14,0x08,0x08,0x08,0x08,0x14}, // x + {0x1c,0x10,0x50,0x50,0x50,0x7c}, // y + {0x24,0x24,0x24,0x34,0x2c,0x24}, // z + {0x08,0x77,0x41,0x00,0x00,0x00}, // { + {0xff,0x00,0x00,0x00,0x00,0x00}, // | + {0x41,0x77,0x08,0x00,0x00,0x00}, // } + {0x01,0x00,0x01,0x00,0x00,0x00}, // ~ + {0x00,0x00,0x00,0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/sloth_font.png b/fonts/sloth_font.png new file mode 100644 index 0000000000000000000000000000000000000000..d9bd4b766c7ce9337c374bc1190f3ca437227c2b GIT binary patch literal 858 zcmV-g1Eu_lP)d6+}>(^2qlUEUsq~H2Gb9iPwAlbVH>-eVL#hh16{lOtKlc3fC zB7e0U{awrRbZh6(RNaBhOVX#3&D&22nGom|7x8(t>TrZ?%_Oe(k}zUt^l}mHnWiJ1 zXbALZhzHdY(+IqplzbzHJMxi<5xT^(`DxXPyq!mUT{LgKv|Cw>R;L|D?G^Bi_1BH|mrQTd&>H#O*-?W};vN1!cwg>rz>_jr<8gJmt_>i%27$2*-o*8OcUEYA5 zm1{L)bTNA>Mv*U3kMs~7kccm;Ii&9fWA6%s=8XDVNoH1_hOWO#K1rUZ`yjiYh?enx zrTQDGE2b{nhfFzu$!~gsm%rY0Z_y+^)rgQ@_5jcLfpk{E+^9XePGAj0vt*-O$>_7> zWNA@s<+_U8$kr+kLqoNc;Tw%@1<_uj!z1z?!Sm;-7$I85hbRsi|DpjRQ-4|()1y}y zG-t%GL+0!U7pDF)ePYC(Zdz5}X#9|jS@mbh7^y3U@4O~daAs53e3LT=+5gEQ0e`hG9!KqtL_^tlZhxY`B76fz^Z(QQ--fsB2V*Dmh{4WFQ(iJtieGY5+SusA k&iRdvjg5^}G2@K-1#+iyHB=1ixBvhE07*qoM6N<$f>R;9)&Kwi literal 0 HcmV?d00001 diff --git a/fonts/tama_mini02.TTF b/fonts/tama_mini02.TTF new file mode 100644 index 0000000000000000000000000000000000000000..ea2fbd7bb0e8729c17c8ae26278127b5fc31654e GIT binary patch literal 17540 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 OYN^99o5`BQlm7)?J~I6P literal 0 HcmV?d00001 diff --git a/fonts/tama_mini02_font.h b/fonts/tama_mini02_font.h new file mode 100644 index 0000000..ff31e63 --- /dev/null +++ b/fonts/tama_mini02_font.h @@ -0,0 +1,98 @@ +const unsigned char font[96][5] = { + {0x00,0x00,0x00,0x00,0x00}, // + {0x2f,0x00,0x00,0x00,0x00}, // ! + {0x03,0x00,0x03,0x00,0x00}, // " + {0x14,0x3e,0x14,0x3e,0x14}, // # + {0x2e,0x6a,0x2b,0x3a,0x00}, // $ + {0x26,0x12,0x08,0x24,0x32}, // % + {0x1c,0x17,0x15,0x34,0x00}, // & + {0x03,0x00,0x00,0x00,0x00}, // ' + {0x1e,0x21,0x00,0x00,0x00}, // ( + {0x21,0x1e,0x00,0x00,0x00}, // ) + {0x22,0x08,0x1c,0x08,0x22}, // * + {0x08,0x1c,0x08,0x00,0x00}, // + + {0x40,0x20,0x00,0x00,0x00}, // , + {0x08,0x08,0x00,0x00,0x00}, // - + {0x20,0x00,0x00,0x00,0x00}, // . + {0x20,0x10,0x08,0x04,0x02}, // / + {0x3f,0x21,0x21,0x3f,0x00}, // 0 + {0x01,0x3f,0x00,0x00,0x00}, // 1 + {0x3d,0x25,0x25,0x27,0x00}, // 2 + {0x25,0x25,0x25,0x3f,0x00}, // 3 + {0x07,0x04,0x04,0x3f,0x00}, // 4 + {0x27,0x25,0x25,0x3d,0x00}, // 5 + {0x3f,0x25,0x25,0x3d,0x00}, // 6 + {0x01,0x39,0x05,0x03,0x00}, // 7 + {0x3f,0x25,0x25,0x3f,0x00}, // 8 + {0x27,0x25,0x25,0x3f,0x00}, // 9 + {0x28,0x00,0x00,0x00,0x00}, // : + {0x40,0x28,0x00,0x00,0x00}, // ; + {0x04,0x0a,0x11,0x00,0x00}, // < + {0x14,0x14,0x00,0x00,0x00}, // = + {0x11,0x0a,0x04,0x00,0x00}, // > + {0x01,0x2d,0x05,0x07,0x00}, // ? + {0x3f,0x21,0x3d,0x25,0x1f}, // @ + {0x3f,0x09,0x09,0x3f,0x00}, // A + {0x3f,0x25,0x27,0x3c,0x00}, // B + {0x3f,0x21,0x21,0x21,0x00}, // C + {0x3f,0x21,0x21,0x1e,0x00}, // D + {0x3f,0x25,0x25,0x25,0x00}, // E + {0x3f,0x05,0x05,0x05,0x00}, // F + {0x3f,0x21,0x25,0x3d,0x00}, // G + {0x3f,0x04,0x04,0x3f,0x00}, // H + {0x21,0x3f,0x21,0x00,0x00}, // I + {0x38,0x20,0x21,0x3f,0x01}, // J + {0x3f,0x04,0x04,0x3b,0x00}, // K + {0x3f,0x20,0x20,0x20,0x00}, // L + {0x3f,0x01,0x3f,0x01,0x3f}, // M + {0x3f,0x02,0x04,0x3f,0x00}, // N + {0x3f,0x21,0x21,0x3f,0x00}, // O + {0x3f,0x09,0x09,0x0f,0x00}, // P + {0x3f,0x21,0x31,0x3f,0x00}, // Q + {0x3f,0x09,0x39,0x2f,0x00}, // R + {0x27,0x25,0x25,0x3d,0x00}, // S + {0x01,0x01,0x3f,0x01,0x01}, // T + {0x3f,0x20,0x20,0x3f,0x00}, // U + {0x0f,0x10,0x30,0x1f,0x00}, // V + {0x3f,0x20,0x3f,0x20,0x3f}, // W + {0x3b,0x04,0x04,0x3b,0x00}, // X + {0x0f,0x08,0x38,0x0f,0x00}, // Y + {0x31,0x29,0x25,0x23,0x00}, // Z + {0x3f,0x21,0x00,0x00,0x00}, // [ + {0x20,0x10,0x08,0x04,0x02}, // "\" + {0x21,0x3f,0x00,0x00,0x00}, // ] + {0x02,0x01,0x01,0x02,0x00}, // ^ + {0x20,0x20,0x00,0x00,0x00}, // _ + {0x01,0x02,0x00,0x00,0x00}, // ` + {0x38,0x24,0x24,0x3c,0x00}, // a + {0x3f,0x24,0x24,0x3c,0x00}, // b + {0x3c,0x24,0x24,0x24,0x00}, // c + {0x3c,0x24,0x24,0x3f,0x00}, // d + {0x3c,0x2c,0x2c,0x2c,0x00}, // e + {0x04,0x3f,0x05,0x00,0x00}, // f + {0xbc,0xa4,0xa4,0xfc,0x00}, // g + {0x3f,0x04,0x04,0x3c,0x00}, // h + {0x3d,0x00,0x00,0x00,0x00}, // i + {0x80,0xfd,0x00,0x00,0x00}, // j + {0x3f,0x08,0x08,0x34,0x00}, // k + {0x3f,0x00,0x00,0x00,0x00}, // l + {0x3c,0x04,0x3c,0x04,0x3c}, // m + {0x3c,0x04,0x04,0x3c,0x00}, // n + {0x3c,0x24,0x24,0x3c,0x00}, // o + {0xfc,0x24,0x24,0x3c,0x00}, // p + {0x3c,0x24,0x24,0xfc,0x00}, // q + {0x3c,0x08,0x04,0x00,0x00}, // r + {0x2c,0x2c,0x2c,0x3c,0x00}, // s + {0x04,0x3f,0x24,0x00,0x00}, // t + {0x3c,0x20,0x20,0x3c,0x00}, // u + {0x0c,0x10,0x30,0x1c,0x00}, // v + {0x3c,0x20,0x3c,0x20,0x3c}, // w + {0x34,0x08,0x08,0x34,0x00}, // x + {0xbc,0xa0,0xa0,0xfc,0x00}, // y + {0x24,0x34,0x2c,0x24,0x00}, // z + {0x04,0x3f,0x21,0x00,0x00}, // { + {0x3f,0x00,0x00,0x00,0x00}, // | + {0x21,0x3f,0x04,0x00,0x00}, // } + {0x01,0x02,0x02,0x01,0x00}, // ~ + {0x00,0x00,0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/tama_mini02_font.png b/fonts/tama_mini02_font.png new file mode 100644 index 0000000000000000000000000000000000000000..ad547b85587934bb126e8c985042236fab20bb7d GIT binary patch literal 782 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 + {0x02,0x01,0x01,0x29,0x05,0x02}, // ? + {0x1e,0x21,0x2d,0x2b,0x2d,0x0e}, // @ + {0x3e,0x09,0x09,0x09,0x09,0x3e}, // A + {0x3f,0x25,0x25,0x25,0x25,0x1a}, // B + {0x1e,0x21,0x21,0x21,0x21,0x12}, // C + {0x3f,0x21,0x21,0x21,0x12,0x0c}, // D + {0x3f,0x25,0x25,0x25,0x25,0x21}, // E + {0x3f,0x05,0x05,0x05,0x05,0x01}, // F + {0x1e,0x21,0x21,0x21,0x29,0x1a}, // G + {0x3f,0x04,0x04,0x04,0x04,0x3f}, // H + {0x21,0x21,0x3f,0x21,0x21,0x21}, // I + {0x10,0x20,0x20,0x20,0x20,0x1f}, // J + {0x3f,0x04,0x0c,0x0a,0x11,0x20}, // K + {0x3f,0x20,0x20,0x20,0x20,0x20}, // L + {0x3f,0x02,0x04,0x04,0x02,0x3f}, // M + {0x3f,0x02,0x04,0x08,0x10,0x3f}, // N + {0x1e,0x21,0x21,0x21,0x21,0x1e}, // O + {0x3f,0x09,0x09,0x09,0x09,0x06}, // P + {0x1e,0x21,0x29,0x31,0x21,0x1e}, // Q + {0x3f,0x09,0x09,0x09,0x19,0x26}, // R + {0x12,0x25,0x25,0x25,0x25,0x18}, // S + {0x01,0x01,0x01,0x3f,0x01,0x01}, // T + {0x1f,0x20,0x20,0x20,0x20,0x1f}, // U + {0x0f,0x10,0x20,0x20,0x10,0x0f}, // V + {0x1f,0x20,0x10,0x10,0x20,0x1f}, // W + {0x21,0x12,0x0c,0x0c,0x12,0x21}, // X + {0x01,0x02,0x0c,0x38,0x04,0x02}, // Y + {0x21,0x31,0x29,0x25,0x23,0x21}, // Z + {0x3f,0x21,0x00,0x00,0x00,0x00}, // [ + {0x02,0x04,0x08,0x10,0x20,0x00}, // "\" + {0x21,0x3f,0x00,0x00,0x00,0x00}, // ] + {0x04,0x02,0x3f,0x02,0x04,0x00}, // ^ + {0x40,0x40,0x40,0x40,0x40,0x40}, // _ + {0x01,0x02,0x00,0x00,0x00,0x00}, // ` + {0x10,0x30,0x2a,0x2a,0x3c,0x00}, // a + {0x3f,0x24,0x24,0x24,0x18,0x00}, // b + {0x0c,0x14,0x22,0x22,0x00,0x00}, // c + {0x18,0x24,0x24,0x24,0x3f,0x00}, // d + {0x1c,0x2c,0x2a,0x2a,0x24,0x00}, // e + {0x3e,0x05,0x01,0x00,0x00,0x00}, // f + {0x18,0x28,0xa4,0xa4,0x7c,0x00}, // g + {0x3f,0x04,0x04,0x0c,0x30,0x00}, // h + {0x24,0x3d,0x20,0x00,0x00,0x00}, // i + {0x20,0x40,0x40,0x3d,0x00,0x00}, // j + {0x3f,0x0c,0x12,0x20,0x00,0x00}, // k + {0x1f,0x20,0x20,0x00,0x00,0x00}, // l + {0x3e,0x02,0x3c,0x02,0x3c,0x00}, // m + {0x3e,0x02,0x02,0x02,0x3c,0x00}, // n + {0x0c,0x14,0x22,0x32,0x0c,0x00}, // o + {0xfc,0x24,0x24,0x24,0x18,0x00}, // p + {0x18,0x24,0x24,0x24,0xfc,0x80}, // q + {0x3c,0x04,0x02,0x02,0x00,0x00}, // r + {0x24,0x2c,0x2a,0x2a,0x10,0x00}, // s + {0x02,0x1f,0x22,0x20,0x00,0x00}, // t + {0x1e,0x20,0x20,0x20,0x1e,0x00}, // u + {0x06,0x18,0x20,0x18,0x06,0x00}, // v + {0x1e,0x30,0x1c,0x30,0x0e,0x00}, // w + {0x22,0x14,0x08,0x14,0x22,0x00}, // x + {0x0c,0x10,0xa0,0xa0,0x7c,0x00}, // y + {0x22,0x32,0x2a,0x26,0x22,0x22}, // z + {0x0c,0x3f,0x21,0x00,0x00,0x00}, // { + {0x3f,0x00,0x00,0x00,0x00,0x00}, // | + {0x21,0x3f,0x0c,0x00,0x00,0x00}, // } + {0x02,0x01,0x02,0x01,0x00,0x00}, // ~ + {0x00,0x00,0x00,0x00,0x00,0x00} +}; \ No newline at end of file diff --git a/fonts/zxpix_font.png b/fonts/zxpix_font.png new file mode 100644 index 0000000000000000000000000000000000000000..17c94bf5796821718e38be664fccba2fe3be4142 GIT binary patch literal 1046 zcmV+x1nK*UP)Dl@Uivcoq9C9`W9@OC=Q$i4$1%L&Ip)og->o^`w=u?# z?|L4y9y^9){t{-~CUm^?w~U-MCg&g-E$iv5%CUCd0aYI|F{{Y2`?s>U-aYq_%{fu7 zvF1fOExn$9$o?zjJRQ=9s_)sc$VPdVvUin{%jWcI4d|*J89kM_Mf#cb*&591`|Egu zkKS2|_STZovRcPihrymPGTBH2vPN4vIu1QblxRIh_fDXqdK|}pc3Vk*rQpur7OMMT z&F`?Yiq2xi`e5xF@~;{fba#-?75^ArD|@!GPx=gJ?s@kD95wCkt$@_hdcY zD0h`frk5zCFY3jKlvARnXpDZ+XMt(Z(3;FRB1Tcp z)V8AURe}-OleH7ATfHY}j}Xz4<7~b{<5_ZP+24(b^F-%i{$|MU4m;&vi7hXg5o9+o z2LEJRNgylsdB44}N{5l{1iQLQ%N|6Kvac+bT^X{)%t54#EgZ<+iq2JX%Y5_f>9`lw z#zfm8=SPXZf*I?I&ykPS7aC7L+q8HE7wNbQItb=OWe>cf*8wKSAi|_|MFk%bdSqWj zysYm#8o(XMG_*`pfON{-60Oam+5l_@fyU*SbqFQF_w0(~*iO>& z&yz!4JF~ZFP4*>$SQ^@_w@RRU6vY~?r@ygwX2B2}W?klttpfSz?ZawZES*{} zTF;Y1-w`K@;%(U<)qyOpso*%TXbY@`f4NKDi6{H^6uf)%;>BkG6~`y$fUexOgDiF< z