Alexander Kopachov 2 лет назад
Родитель
Сommit
172f29227a
42 измененных файлов с 272 добавлено и 10732 удалено
  1. 0 3
      application.fam
  2. BIN
      assets/fonts/00.font
  3. BIN
      assets/fonts/01.font
  4. BIN
      assets/fonts/02.font
  5. BIN
      assets/fonts/03.font
  6. BIN
      assets/fonts/04.font
  7. BIN
      assets/fonts/05.font
  8. BIN
      assets/fonts/06.font
  9. BIN
      assets/fonts/07.font
  10. BIN
      assets/fonts/08.font
  11. BIN
      assets/fonts/09.font
  12. 0 941
      lib/fonts/712serif/712serif.c
  13. 0 8
      lib/fonts/712serif/712serif.h
  14. 0 23
      lib/fonts/available_fonts.c
  15. 0 7
      lib/fonts/available_fonts.h
  16. 0 1057
      lib/fonts/bedstead/bedstead.c
  17. 0 8
      lib/fonts/bedstead/bedstead.h
  18. 0 1115
      lib/fonts/dpcomic/dpcomic.c
  19. 0 7
      lib/fonts/dpcomic/dpcomic.h
  20. 0 24
      lib/fonts/font_info.h
  21. 0 1173
      lib/fonts/funclimbing/funclimbing.c
  22. 0 7
      lib/fonts/funclimbing/funclimbing.h
  23. 0 941
      lib/fonts/graph35pix/graph35pix.c
  24. 0 8
      lib/fonts/graph35pix/graph35pix.h
  25. 0 1173
      lib/fonts/karma_future/karma_future.c
  26. 0 8
      lib/fonts/karma_future/karma_future.h
  27. 0 942
      lib/fonts/mode_nine/mode_nine.c
  28. 0 8
      lib/fonts/mode_nine/mode_nine.h
  29. 0 1115
      lib/fonts/pixelflag/pixelflag.c
  30. 0 7
      lib/fonts/pixelflag/pixelflag.h
  31. 0 1058
      lib/fonts/redhat_mono/redhat_mono.c
  32. 0 8
      lib/fonts/redhat_mono/redhat_mono.h
  33. 0 1057
      lib/fonts/zector/zector.c
  34. 0 8
      lib/fonts/zector/zector.h
  35. 27 0
      services/fonts/font_info.c
  36. 66 0
      services/fonts/font_info.h
  37. 114 0
      services/fonts/font_provider.c
  38. 19 0
      services/fonts/font_provider.h
  39. 6 6
      ui/canvas_extensions.c
  40. 2 2
      ui/canvas_extensions.h
  41. 26 11
      ui/scenes/app_settings/totp_app_settings.c
  42. 12 7
      ui/scenes/generate_token/totp_scene_generate_token.c

+ 0 - 3
application.fam

@@ -39,9 +39,6 @@ App(
         Lib(
             name="roll_value",
         ),
-        Lib(
-            name="fonts",
-        ),
         Lib(
             name="wolfssl",
             sources=[

BIN
assets/fonts/00.font


BIN
assets/fonts/01.font


BIN
assets/fonts/02.font


BIN
assets/fonts/03.font


BIN
assets/fonts/04.font


BIN
assets/fonts/05.font


BIN
assets/fonts/06.font


BIN
assets/fonts/07.font


BIN
assets/fonts/08.font


BIN
assets/fonts/09.font


+ 0 - 941
lib/fonts/712serif/712serif.c

@@ -1,941 +0,0 @@
-#include "712serif.h"
-
-/* GENERATED BY https://github.com/pavius/the-dot-factory */
-
-/* 
-**  Font data for 7:12 Serif 24pt
-*/
-
-/* Character bitmaps for 7:12 Serif 24pt */
-const uint8_t _712Serif_24ptBitmaps[] = {
-    /* @0 '-' (14 pixels wide) */
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0xFC,
-    0x0F,
-    0xFC,
-    0x0F,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @28 '0' (14 pixels wide) */
-    0xF0,
-    0x03,
-    0xF0,
-    0x03,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0xF0,
-    0x03,
-    0xF0,
-    0x03,
-
-    /* @56 '1' (14 pixels wide) */
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xFC,
-    0x00,
-    0xFC,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xFC,
-    0x0F,
-    0xFC,
-    0x0F,
-
-    /* @84 '2' (14 pixels wide) */
-    0xF0,
-    0x03,
-    0xF0,
-    0x03,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0xC0,
-    0x03,
-    0xC0,
-    0x03,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0xFC,
-    0x0F,
-    0xFC,
-    0x0F,
-
-    /* @112 '3' (14 pixels wide) */
-    0xF0,
-    0x03,
-    0xF0,
-    0x03,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0xC0,
-    0x03,
-    0xC0,
-    0x03,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0xF0,
-    0x03,
-    0xF0,
-    0x03,
-
-    /* @140 '4' (14 pixels wide) */
-    0x30,
-    0x03,
-    0x30,
-    0x03,
-    0x30,
-    0x03,
-    0x30,
-    0x03,
-    0x0C,
-    0x03,
-    0x0C,
-    0x03,
-    0x0C,
-    0x03,
-    0x0C,
-    0x03,
-    0xFC,
-    0x0F,
-    0xFC,
-    0x0F,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0xC0,
-    0x0F,
-    0xC0,
-    0x0F,
-
-    /* @168 '5' (14 pixels wide) */
-    0xFC,
-    0x0F,
-    0xFC,
-    0x0F,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0xFC,
-    0x03,
-    0xFC,
-    0x03,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0xF0,
-    0x03,
-    0xF0,
-    0x03,
-
-    /* @196 '6' (14 pixels wide) */
-    0xF0,
-    0x03,
-    0xF0,
-    0x03,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0xFC,
-    0x03,
-    0xFC,
-    0x03,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0xF0,
-    0x03,
-    0xF0,
-    0x03,
-
-    /* @224 '7' (14 pixels wide) */
-    0xFC,
-    0x0F,
-    0xFC,
-    0x0F,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-
-    /* @252 '8' (14 pixels wide) */
-    0xF0,
-    0x03,
-    0xF0,
-    0x03,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0xF0,
-    0x03,
-    0xF0,
-    0x03,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0xF0,
-    0x03,
-    0xF0,
-    0x03,
-
-    /* @280 '9' (14 pixels wide) */
-    0xF0,
-    0x03,
-    0xF0,
-    0x03,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0xF0,
-    0x0F,
-    0xF0,
-    0x0F,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0xF0,
-    0x03,
-    0xF0,
-    0x03,
-
-    /* @308 'B' (14 pixels wide) */
-    0xFF,
-    0x00,
-    0xFF,
-    0x00,
-    0x0C,
-    0x03,
-    0x0C,
-    0x03,
-    0x0C,
-    0x03,
-    0x0C,
-    0x03,
-    0xFC,
-    0x0F,
-    0xFC,
-    0x0F,
-    0x0C,
-    0x30,
-    0x0C,
-    0x30,
-    0x0C,
-    0x30,
-    0x0C,
-    0x30,
-    0xFF,
-    0x0F,
-    0xFF,
-    0x0F,
-
-    /* @336 'C' (14 pixels wide) */
-    0xF0,
-    0x33,
-    0xF0,
-    0x33,
-    0x0C,
-    0x3C,
-    0x0C,
-    0x3C,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x30,
-    0x03,
-    0x30,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0xF0,
-    0x03,
-    0xF0,
-    0x03,
-
-    /* @364 'D' (14 pixels wide) */
-    0xFF,
-    0x03,
-    0xFF,
-    0x03,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x30,
-    0x0C,
-    0x30,
-    0x0C,
-    0x30,
-    0x0C,
-    0x30,
-    0x0C,
-    0x30,
-    0x0C,
-    0x30,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0xFF,
-    0x03,
-    0xFF,
-    0x03,
-
-    /* @392 'F' (14 pixels wide) */
-    0xFF,
-    0x3F,
-    0xFF,
-    0x3F,
-    0x0C,
-    0x30,
-    0x0C,
-    0x30,
-    0x0C,
-    0x03,
-    0x0C,
-    0x03,
-    0xFC,
-    0x03,
-    0xFC,
-    0x03,
-    0x0C,
-    0x03,
-    0x0C,
-    0x03,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x3F,
-    0x00,
-    0x3F,
-    0x00,
-
-    /* @420 'G' (14 pixels wide) */
-    0xF0,
-    0x33,
-    0xF0,
-    0x33,
-    0x0C,
-    0x3C,
-    0x0C,
-    0x3C,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x3F,
-    0x03,
-    0x3F,
-    0x03,
-    0x30,
-    0x03,
-    0x30,
-    0x0C,
-    0x3C,
-    0x0C,
-    0x3C,
-    0xF0,
-    0x33,
-    0xF0,
-    0x33,
-
-    /* @448 'H' (14 pixels wide) */
-    0x3F,
-    0x3F,
-    0x3F,
-    0x3F,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0xFC,
-    0x0F,
-    0xFC,
-    0x0F,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x3F,
-    0x3F,
-    0x3F,
-    0x3F,
-
-    /* @476 'J' (14 pixels wide) */
-    0x00,
-    0x3F,
-    0x00,
-    0x3F,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0xF0,
-    0x03,
-    0xF0,
-    0x03,
-
-    /* @504 'K' (14 pixels wide) */
-    0x3F,
-    0x3F,
-    0x3F,
-    0x3F,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x03,
-    0x0C,
-    0x03,
-    0xFC,
-    0x00,
-    0xFC,
-    0x00,
-    0x0C,
-    0x03,
-    0x0C,
-    0x03,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x3F,
-    0x3F,
-    0x3F,
-    0x3F,
-
-    /* @532 'M' (14 pixels wide) */
-    0x0F,
-    0x3C,
-    0x0F,
-    0x3C,
-    0x3C,
-    0x0F,
-    0x3C,
-    0x0F,
-    0xCC,
-    0x0C,
-    0xCC,
-    0x0C,
-    0xCC,
-    0x0C,
-    0xCC,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x3F,
-    0x3F,
-    0x3F,
-    0x3F,
-
-    /* @560 'N' (14 pixels wide) */
-    0x0F,
-    0x3F,
-    0x0F,
-    0x3F,
-    0x3C,
-    0x0C,
-    0x3C,
-    0x0C,
-    0xCC,
-    0x0C,
-    0xCC,
-    0x0C,
-    0xCC,
-    0x0C,
-    0xCC,
-    0x0C,
-    0xCC,
-    0x0C,
-    0xCC,
-    0x0C,
-    0x0C,
-    0x0F,
-    0x0C,
-    0x0F,
-    0x3F,
-    0x0C,
-    0x3F,
-    0x0C,
-
-    /* @588 'P' (14 pixels wide) */
-    0xFF,
-    0x0F,
-    0xFF,
-    0x0F,
-    0x0C,
-    0x30,
-    0x0C,
-    0x30,
-    0x0C,
-    0x30,
-    0x0C,
-    0x30,
-    0x3C,
-    0x30,
-    0x3C,
-    0x30,
-    0xCC,
-    0x0F,
-    0xCC,
-    0x0F,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x3F,
-    0x00,
-    0x3F,
-    0x00,
-
-    /* @616 'Q' (14 pixels wide) */
-    0xF0,
-    0x03,
-    0xF0,
-    0x03,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x03,
-    0x30,
-    0x03,
-    0x30,
-    0xF3,
-    0x30,
-    0xF3,
-    0x30,
-    0x03,
-    0x33,
-    0x03,
-    0x33,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0xF0,
-    0x33,
-    0xF0,
-    0x33,
-
-    /* @644 'R' (14 pixels wide) */
-    0xFF,
-    0x0F,
-    0xFF,
-    0x0F,
-    0x0C,
-    0x30,
-    0x0C,
-    0x30,
-    0x0C,
-    0x30,
-    0x0C,
-    0x30,
-    0xFC,
-    0x0F,
-    0xFC,
-    0x0F,
-    0x0C,
-    0x03,
-    0x0C,
-    0x03,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x3F,
-    0x3F,
-    0x3F,
-    0x3F,
-
-    /* @672 'T' (14 pixels wide) */
-    0xFF,
-    0x3F,
-    0xFF,
-    0x3F,
-    0xC3,
-    0x30,
-    0xC3,
-    0x30,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xF0,
-    0x03,
-    0xF0,
-    0x03,
-
-    /* @700 'V' (14 pixels wide) */
-    0x3F,
-    0x3F,
-    0x3F,
-    0x3F,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x30,
-    0x03,
-    0x30,
-    0x03,
-    0x30,
-    0x03,
-    0x30,
-    0x03,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-
-    /* @728 'W' (14 pixels wide) */
-    0x3F,
-    0x3F,
-    0x3F,
-    0x3F,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0xCC,
-    0x0C,
-    0xCC,
-    0x0C,
-    0xCC,
-    0x0C,
-    0xCC,
-    0x0C,
-    0x30,
-    0x03,
-    0x30,
-    0x03,
-    0x30,
-    0x03,
-    0x30,
-    0x03,
-
-    /* @756 'X' (14 pixels wide) */
-    0x3F,
-    0x3F,
-    0x3F,
-    0x3F,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x30,
-    0x03,
-    0x30,
-    0x03,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0x30,
-    0x03,
-    0x30,
-    0x03,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x3F,
-    0x3F,
-    0x3F,
-    0x3F,
-
-    /* @784 'Y' (14 pixels wide) */
-    0x3F,
-    0x3F,
-    0x3F,
-    0x3F,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x0C,
-    0x30,
-    0x03,
-    0x30,
-    0x03,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xF0,
-    0x03,
-    0xF0,
-    0x03,
-};
-
-/* Character descriptors for 7:12 Serif 24pt */
-/* { [Char width in bits], [Offset into _712Serif_24ptCharBitmaps in bytes] } */
-const FONT_CHAR_INFO _712Serif_24ptDescriptors[] = {
-    {14, 0}, /* - */
-    {0, 0}, /* . */
-    {0, 0}, /* / */
-    {14, 28}, /* 0 */
-    {14, 56}, /* 1 */
-    {14, 84}, /* 2 */
-    {14, 112}, /* 3 */
-    {14, 140}, /* 4 */
-    {14, 168}, /* 5 */
-    {14, 196}, /* 6 */
-    {14, 224}, /* 7 */
-    {14, 252}, /* 8 */
-    {14, 280}, /* 9 */
-    {0, 0}, /* : */
-    {0, 0}, /* ; */
-    {0, 0}, /* < */
-    {0, 0}, /* = */
-    {0, 0}, /* > */
-    {0, 0}, /* ? */
-    {0, 0}, /* @ */
-    {0, 0}, /* A */
-    {14, 308}, /* B */
-    {14, 336}, /* C */
-    {14, 364}, /* D */
-    {0, 0}, /* E */
-    {14, 392}, /* F */
-    {14, 420}, /* G */
-    {14, 448}, /* H */
-    {0, 0}, /* I */
-    {14, 476}, /* J */
-    {14, 504}, /* K */
-    {0, 0}, /* L */
-    {14, 532}, /* M */
-    {14, 560}, /* N */
-    {0, 0}, /* O */
-    {14, 588}, /* P */
-    {14, 616}, /* Q */
-    {14, 644}, /* R */
-    {0, 0}, /* S */
-    {14, 672}, /* T */
-    {0, 0}, /* U */
-    {14, 700}, /* V */
-    {14, 728}, /* W */
-    {14, 756}, /* X */
-    {14, 784}, /* Y */
-};
-
-/* Font information for 7:12 Serif 24pt */
-const FONT_INFO _712Serif_24ptFontInfo = {
-    "712 Serif",
-    14, /*  Character height */
-    '-', /*  Start character */
-    'Y', /*  End character */
-    2, /*  Width, in pixels, of space character */
-    _712Serif_24ptDescriptors, /*  Character descriptor array */
-    _712Serif_24ptBitmaps, /*  Character bitmap array */
-};

+ 0 - 8
lib/fonts/712serif/712serif.h

@@ -1,8 +0,0 @@
-#pragma once
-
-/* GENERATED BY https://github.com/pavius/the-dot-factory */
-
-#include "../font_info.h"
-
-/* Font data for 7:12 Serif 24pt */
-extern const FONT_INFO _712Serif_24ptFontInfo;

+ 0 - 23
lib/fonts/available_fonts.c

@@ -1,23 +0,0 @@
-#include "available_fonts.h"
-#include "712serif/712serif.h"
-#include "bedstead/bedstead.h"
-#include "dpcomic/dpcomic.h"
-#include "funclimbing/funclimbing.h"
-#include "graph35pix/graph35pix.h"
-#include "karma_future/karma_future.h"
-#include "mode_nine/mode_nine.h"
-#include "pixelflag/pixelflag.h"
-#include "redhat_mono/redhat_mono.h"
-#include "zector/zector.h"
-
-const FONT_INFO* const available_fonts[AVAILABLE_FONTS_COUNT] = {
-    &modeNine_15ptFontInfo,
-    &_712Serif_24ptFontInfo,
-    &bedstead_17ptFontInfo,
-    &dPComic_18ptFontInfo,
-    &funclimbingDemo_18ptFontInfo,
-    &graph35pix_12ptFontInfo,
-    &karmaFuture_14ptFontInfo,
-    &pixelFlag_18ptFontInfo,
-    &redHatMono_16ptFontInfo,
-    &zector_18ptFontInfo};

+ 0 - 7
lib/fonts/available_fonts.h

@@ -1,7 +0,0 @@
-#pragma once
-
-#include "font_info.h"
-
-#define AVAILABLE_FONTS_COUNT (10)
-
-extern const FONT_INFO* const available_fonts[AVAILABLE_FONTS_COUNT];

+ 0 - 1057
lib/fonts/bedstead/bedstead.c

@@ -1,1057 +0,0 @@
-#include "bedstead.h"
-
-/* GENERATED BY https://github.com/pavius/the-dot-factory */
-
-/* 
-**  Font data for Bedstead 17pt
-*/
-
-/* Character bitmaps for Bedstead 17pt */
-const uint8_t bedstead_17ptBitmaps[] = {
-    /* @0 '-' (13 pixels wide) */
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0xF8,
-    0x07,
-    0xF8,
-    0x07,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @32 '0' (13 pixels wide) */
-    0xE0,
-    0x00,
-    0xF0,
-    0x01,
-    0xF8,
-    0x03,
-    0xBC,
-    0x07,
-    0x1E,
-    0x0F,
-    0x0F,
-    0x1E,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x0F,
-    0x1E,
-    0x1E,
-    0x0F,
-    0xBC,
-    0x07,
-    0xF8,
-    0x03,
-    0xF0,
-    0x01,
-    0xE0,
-    0x00,
-
-    /* @64 '1' (13 pixels wide) */
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xF8,
-    0x00,
-    0xF8,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xF8,
-    0x03,
-    0xF8,
-    0x03,
-
-    /* @96 '2' (13 pixels wide) */
-    0xF0,
-    0x07,
-    0xFC,
-    0x0F,
-    0x1E,
-    0x1E,
-    0x1E,
-    0x1C,
-    0x0E,
-    0x1C,
-    0x00,
-    0x1C,
-    0x00,
-    0x1E,
-    0xC0,
-    0x0F,
-    0xE0,
-    0x07,
-    0xF0,
-    0x00,
-    0x7C,
-    0x00,
-    0x3E,
-    0x00,
-    0x1E,
-    0x00,
-    0x0E,
-    0x00,
-    0xFE,
-    0x1F,
-    0xFE,
-    0x1F,
-
-    /* @128 '3' (13 pixels wide) */
-    0xFE,
-    0x1F,
-    0xFE,
-    0x1F,
-    0x00,
-    0x1C,
-    0x00,
-    0x1E,
-    0x00,
-    0x0F,
-    0x00,
-    0x0F,
-    0x00,
-    0x07,
-    0xE0,
-    0x07,
-    0xE0,
-    0x0F,
-    0x00,
-    0x1E,
-    0x00,
-    0x1C,
-    0x0E,
-    0x1C,
-    0x1E,
-    0x1C,
-    0x3E,
-    0x0E,
-    0xFC,
-    0x0F,
-    0xF8,
-    0x07,
-
-    /* @160 '4' (13 pixels wide) */
-    0x80,
-    0x03,
-    0x80,
-    0x03,
-    0xE0,
-    0x03,
-    0xF0,
-    0x03,
-    0xF8,
-    0x03,
-    0xBC,
-    0x03,
-    0x9E,
-    0x03,
-    0x8F,
-    0x03,
-    0x87,
-    0x03,
-    0xFF,
-    0x0F,
-    0xFF,
-    0x0F,
-    0x80,
-    0x03,
-    0x80,
-    0x03,
-    0x80,
-    0x03,
-    0x80,
-    0x03,
-    0x80,
-    0x03,
-
-    /* @192 '5' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0xFF,
-    0x07,
-    0xFF,
-    0x0F,
-    0x00,
-    0x1E,
-    0x00,
-    0x1C,
-    0x00,
-    0x1C,
-    0x00,
-    0x1C,
-    0x00,
-    0x1C,
-    0x07,
-    0x1C,
-    0x0F,
-    0x1E,
-    0xFE,
-    0x0F,
-    0xFC,
-    0x07,
-    0xFC,
-    0x07,
-
-    /* @224 '6' (13 pixels wide) */
-    0xE0,
-    0x07,
-    0xF0,
-    0x07,
-    0x78,
-    0x00,
-    0x3C,
-    0x00,
-    0x1E,
-    0x00,
-    0x0F,
-    0x00,
-    0x07,
-    0x00,
-    0xFF,
-    0x07,
-    0xFF,
-    0x0F,
-    0x07,
-    0x1E,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x0F,
-    0x1E,
-    0x1E,
-    0x0F,
-    0xFE,
-    0x0F,
-    0xFC,
-    0x07,
-
-    /* @256 '7' (13 pixels wide) */
-    0xFE,
-    0x1F,
-    0xFE,
-    0x1F,
-    0x00,
-    0x1C,
-    0x00,
-    0x1E,
-    0x00,
-    0x0F,
-    0x80,
-    0x07,
-    0xC0,
-    0x03,
-    0xE0,
-    0x01,
-    0xF0,
-    0x00,
-    0x78,
-    0x00,
-    0x38,
-    0x00,
-    0x38,
-    0x00,
-    0x38,
-    0x00,
-    0x38,
-    0x00,
-    0x38,
-    0x00,
-    0x38,
-    0x00,
-
-    /* @288 '8' (13 pixels wide) */
-    0xFC,
-    0x07,
-    0xFE,
-    0x0F,
-    0x0F,
-    0x1E,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x0F,
-    0x1E,
-    0xFE,
-    0x0F,
-    0xFE,
-    0x0F,
-    0x0F,
-    0x1E,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x0F,
-    0x1E,
-    0x1E,
-    0x0F,
-    0xFE,
-    0x0F,
-    0xFC,
-    0x07,
-
-    /* @320 '9' (13 pixels wide) */
-    0xFC,
-    0x07,
-    0xFE,
-    0x0F,
-    0x0F,
-    0x1E,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x0F,
-    0x1C,
-    0xFE,
-    0x1F,
-    0xFC,
-    0x1F,
-    0x00,
-    0x1C,
-    0x00,
-    0x1E,
-    0x00,
-    0x0F,
-    0x80,
-    0x07,
-    0xC0,
-    0x03,
-    0xFC,
-    0x01,
-    0xFC,
-    0x00,
-
-    /* @352 'B' (13 pixels wide) */
-    0xFF,
-    0x07,
-    0xFF,
-    0x0F,
-    0x07,
-    0x1E,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1E,
-    0xFF,
-    0x0F,
-    0xFF,
-    0x0F,
-    0x07,
-    0x1E,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1E,
-    0x07,
-    0x0F,
-    0xFF,
-    0x0F,
-    0xFF,
-    0x07,
-
-    /* @384 'C' (13 pixels wide) */
-    0xFC,
-    0x01,
-    0xFE,
-    0x07,
-    0x0F,
-    0x0F,
-    0x07,
-    0x0F,
-    0x07,
-    0x0E,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x0F,
-    0x8F,
-    0x0F,
-    0xFE,
-    0x07,
-    0xFC,
-    0x03,
-
-    /* @416 'D' (13 pixels wide) */
-    0xFF,
-    0x07,
-    0xFF,
-    0x0F,
-    0x07,
-    0x1E,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1E,
-    0x07,
-    0x0F,
-    0xFF,
-    0x0F,
-    0xFF,
-    0x07,
-
-    /* @448 'F' (13 pixels wide) */
-    0xFF,
-    0x0F,
-    0xFF,
-    0x0F,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0xFF,
-    0x03,
-    0xFF,
-    0x03,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-
-    /* @480 'G' (13 pixels wide) */
-    0xFC,
-    0x07,
-    0xFE,
-    0x0F,
-    0x0F,
-    0x1F,
-    0x0F,
-    0x1E,
-    0x07,
-    0x1C,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x87,
-    0x1F,
-    0x87,
-    0x1F,
-    0x07,
-    0x1C,
-    0x0F,
-    0x1C,
-    0xFE,
-    0x1F,
-    0xFC,
-    0x1F,
-    0xFC,
-    0x1F,
-
-    /* @512 'H' (13 pixels wide) */
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-
-    /* @544 'J' (13 pixels wide) */
-    0x00,
-    0x1C,
-    0x00,
-    0x1C,
-    0x00,
-    0x1C,
-    0x00,
-    0x1C,
-    0x00,
-    0x1C,
-    0x00,
-    0x1C,
-    0x00,
-    0x1C,
-    0x00,
-    0x1C,
-    0x00,
-    0x1C,
-    0x00,
-    0x1C,
-    0x00,
-    0x1C,
-    0x0E,
-    0x1C,
-    0x1E,
-    0x1C,
-    0x3E,
-    0x1E,
-    0xFC,
-    0x0F,
-    0xF8,
-    0x07,
-
-    /* @576 'K' (13 pixels wide) */
-    0x07,
-    0x0E,
-    0x07,
-    0x0F,
-    0x87,
-    0x07,
-    0xC7,
-    0x03,
-    0xE7,
-    0x01,
-    0xF7,
-    0x00,
-    0x7F,
-    0x00,
-    0x3F,
-    0x00,
-    0x3F,
-    0x00,
-    0x7F,
-    0x00,
-    0xF7,
-    0x00,
-    0xE7,
-    0x01,
-    0xC7,
-    0x03,
-    0x87,
-    0x07,
-    0x07,
-    0x0F,
-    0x07,
-    0x0E,
-
-    /* @608 'M' (13 pixels wide) */
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0xBF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0xE7,
-    0x1C,
-    0xE7,
-    0x1C,
-    0xE7,
-    0x1C,
-    0xE7,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-
-    /* @640 'N' (13 pixels wide) */
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x3F,
-    0x1C,
-    0x7F,
-    0x1C,
-    0xFF,
-    0x1C,
-    0xE7,
-    0x1F,
-    0xC7,
-    0x1F,
-    0x87,
-    0x1F,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-
-    /* @672 'P' (13 pixels wide) */
-    0xFF,
-    0x07,
-    0xFF,
-    0x0F,
-    0x07,
-    0x1E,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1E,
-    0xFF,
-    0x0F,
-    0xFF,
-    0x07,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-
-    /* @704 'Q' (13 pixels wide) */
-    0xFC,
-    0x07,
-    0xFE,
-    0x0F,
-    0x0F,
-    0x1E,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0xE7,
-    0x1C,
-    0xE7,
-    0x1F,
-    0xC7,
-    0x0F,
-    0x8F,
-    0x07,
-    0xDE,
-    0x0F,
-    0xFE,
-    0x1F,
-    0xFC,
-    0x1C,
-
-    /* @736 'R' (13 pixels wide) */
-    0xFF,
-    0x07,
-    0xFF,
-    0x0F,
-    0x07,
-    0x1E,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1E,
-    0xFF,
-    0x0F,
-    0xFF,
-    0x07,
-    0xE7,
-    0x00,
-    0xE7,
-    0x01,
-    0xC7,
-    0x03,
-    0x87,
-    0x07,
-    0x07,
-    0x0F,
-    0x07,
-    0x1E,
-    0x07,
-    0x1C,
-
-    /* @768 'T' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-
-    /* @800 'V' (13 pixels wide) */
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x1F,
-    0x1F,
-    0xBC,
-    0x07,
-    0xB8,
-    0x03,
-    0xB8,
-    0x03,
-    0xF8,
-    0x07,
-    0xF0,
-    0x03,
-    0xE0,
-    0x01,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-
-    /* @832 'W' (13 pixels wide) */
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0xE7,
-    0x1C,
-    0xE7,
-    0x1C,
-    0xE7,
-    0x1C,
-    0xE7,
-    0x1C,
-    0xE7,
-    0x1C,
-    0xFF,
-    0x1F,
-    0xFE,
-    0x0F,
-    0xFE,
-    0x0F,
-    0xBC,
-    0x07,
-
-    /* @864 'X' (13 pixels wide) */
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x0F,
-    0x1E,
-    0x1E,
-    0x0F,
-    0xBC,
-    0x07,
-    0xF8,
-    0x03,
-    0xF0,
-    0x01,
-    0xF0,
-    0x01,
-    0xF8,
-    0x03,
-    0xBC,
-    0x07,
-    0x1E,
-    0x0F,
-    0x0F,
-    0x1E,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-
-    /* @896 'Y' (13 pixels wide) */
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x0F,
-    0x1E,
-    0x1E,
-    0x0F,
-    0xBC,
-    0x07,
-    0xF8,
-    0x03,
-    0xF0,
-    0x01,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-};
-
-/* Character descriptors for Bedstead 17pt */
-/* { [Char width in bits], [Offset into bedstead_17ptCharBitmaps in bytes] } */
-const FONT_CHAR_INFO bedstead_17ptDescriptors[] = {
-    {13, 0}, /* - */
-    {0, 0}, /* . */
-    {0, 0}, /* / */
-    {13, 32}, /* 0 */
-    {13, 64}, /* 1 */
-    {13, 96}, /* 2 */
-    {13, 128}, /* 3 */
-    {13, 160}, /* 4 */
-    {13, 192}, /* 5 */
-    {13, 224}, /* 6 */
-    {13, 256}, /* 7 */
-    {13, 288}, /* 8 */
-    {13, 320}, /* 9 */
-    {0, 0}, /* : */
-    {0, 0}, /* ; */
-    {0, 0}, /* < */
-    {0, 0}, /* = */
-    {0, 0}, /* > */
-    {0, 0}, /* ? */
-    {0, 0}, /* @ */
-    {0, 0}, /* A */
-    {13, 352}, /* B */
-    {13, 384}, /* C */
-    {13, 416}, /* D */
-    {0, 0}, /* E */
-    {13, 448}, /* F */
-    {13, 480}, /* G */
-    {13, 512}, /* H */
-    {0, 0}, /* I */
-    {13, 544}, /* J */
-    {13, 576}, /* K */
-    {0, 0}, /* L */
-    {13, 608}, /* M */
-    {13, 640}, /* N */
-    {0, 0}, /* O */
-    {13, 672}, /* P */
-    {13, 704}, /* Q */
-    {13, 736}, /* R */
-    {0, 0}, /* S */
-    {13, 768}, /* T */
-    {0, 0}, /* U */
-    {13, 800}, /* V */
-    {13, 832}, /* W */
-    {13, 864}, /* X */
-    {13, 896}, /* Y */
-};
-
-/* Font information for Bedstead 17pt */
-const FONT_INFO bedstead_17ptFontInfo = {
-    "Bedstead",
-    16, /*  Character height */
-    '-', /*  Start character */
-    'Y', /*  End character */
-    2, /*  Width, in pixels, of space character */
-    bedstead_17ptDescriptors, /*  Character descriptor array */
-    bedstead_17ptBitmaps, /*  Character bitmap array */
-};

+ 0 - 8
lib/fonts/bedstead/bedstead.h

@@ -1,8 +0,0 @@
-#pragma once
-
-/* GENERATED BY https://github.com/pavius/the-dot-factory */
-
-#include "../font_info.h"
-
-/* Font data for Bedstead 17pt */
-extern const FONT_INFO bedstead_17ptFontInfo;

+ 0 - 1115
lib/fonts/dpcomic/dpcomic.c

@@ -1,1115 +0,0 @@
-#include "dpcomic.h"
-
-/* GENERATED BY https://github.com/pavius/the-dot-factory */
-
-/* 
-**  Font data for DPComic 18pt
-*/
-
-/* Character bitmaps for DPComic 18pt */
-const uint8_t dPComic_18ptBitmaps[] = {
-    /* @0 '-' (15 pixels wide) */
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0xE0,
-    0x3F,
-    0xF8,
-    0x0F,
-    0xF8,
-    0x0F,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @34 '0' (15 pixels wide) */
-    0x00,
-    0x00,
-    0xC0,
-    0x01,
-    0xC0,
-    0x01,
-    0xE0,
-    0x07,
-    0x38,
-    0x0E,
-    0x38,
-    0x0E,
-    0x38,
-    0x0E,
-    0x38,
-    0x0E,
-    0x38,
-    0x0E,
-    0x38,
-    0x0E,
-    0x38,
-    0x0E,
-    0x38,
-    0x0E,
-    0xE0,
-    0x07,
-    0xC0,
-    0x01,
-    0xC0,
-    0x01,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @68 '1' (15 pixels wide) */
-    0x00,
-    0x00,
-    0xC0,
-    0x01,
-    0xC0,
-    0x01,
-    0xE0,
-    0x01,
-    0xF8,
-    0x01,
-    0xF8,
-    0x01,
-    0xC0,
-    0x01,
-    0xC0,
-    0x01,
-    0xC0,
-    0x01,
-    0xC0,
-    0x01,
-    0xC0,
-    0x01,
-    0xC0,
-    0x01,
-    0xE0,
-    0x0F,
-    0xF8,
-    0x07,
-    0xF8,
-    0x07,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @102 '2' (15 pixels wide) */
-    0x00,
-    0x00,
-    0xC0,
-    0x07,
-    0xC0,
-    0x07,
-    0xE0,
-    0x0F,
-    0x38,
-    0x0E,
-    0x38,
-    0x0E,
-    0x00,
-    0x0E,
-    0x00,
-    0x0E,
-    0x00,
-    0x0E,
-    0x00,
-    0x07,
-    0xC0,
-    0x01,
-    0xC0,
-    0x01,
-    0xE0,
-    0x3F,
-    0xF8,
-    0x0F,
-    0xF8,
-    0x0F,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @136 '3' (15 pixels wide) */
-    0x00,
-    0x00,
-    0xC0,
-    0x3F,
-    0xC0,
-    0x3F,
-    0xE0,
-    0x3F,
-    0x00,
-    0x0E,
-    0x00,
-    0x0E,
-    0x00,
-    0x07,
-    0xC0,
-    0x07,
-    0xC0,
-    0x07,
-    0x00,
-    0x0F,
-    0x00,
-    0x0E,
-    0x00,
-    0x0E,
-    0xE0,
-    0x0F,
-    0xF8,
-    0x07,
-    0xF8,
-    0x07,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @170 '4' (15 pixels wide) */
-    0x00,
-    0x00,
-    0x00,
-    0x0E,
-    0x00,
-    0x0E,
-    0x00,
-    0x0F,
-    0xC0,
-    0x0F,
-    0xC0,
-    0x0F,
-    0xE0,
-    0x0E,
-    0x38,
-    0x0E,
-    0x38,
-    0x0E,
-    0xF8,
-    0x0F,
-    0xF8,
-    0x0F,
-    0xF8,
-    0x0F,
-    0x00,
-    0x0E,
-    0x00,
-    0x0E,
-    0x00,
-    0x0E,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @204 '5' (15 pixels wide) */
-    0x00,
-    0x00,
-    0xC0,
-    0x3F,
-    0xC0,
-    0x3F,
-    0xC0,
-    0x0F,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x07,
-    0xE0,
-    0x0F,
-    0xE0,
-    0x0F,
-    0x00,
-    0x0E,
-    0x00,
-    0x0F,
-    0x00,
-    0x0F,
-    0xE0,
-    0x07,
-    0xF8,
-    0x01,
-    0xF8,
-    0x01,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @238 '6' (15 pixels wide) */
-    0x00,
-    0x00,
-    0x00,
-    0x0F,
-    0x00,
-    0x0F,
-    0xC0,
-    0x07,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x07,
-    0x38,
-    0x0E,
-    0x38,
-    0x0E,
-    0x38,
-    0x0E,
-    0x38,
-    0x0F,
-    0x38,
-    0x0F,
-    0xF8,
-    0x07,
-    0xE0,
-    0x01,
-    0xE0,
-    0x01,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @272 '7' (15 pixels wide) */
-    0x00,
-    0x00,
-    0xE0,
-    0x0F,
-    0xE0,
-    0x0F,
-    0xF8,
-    0x0F,
-    0x00,
-    0x0E,
-    0x00,
-    0x0E,
-    0x00,
-    0x07,
-    0xC0,
-    0x01,
-    0xC0,
-    0x01,
-    0xE0,
-    0x00,
-    0xF8,
-    0x00,
-    0xF8,
-    0x00,
-    0x38,
-    0x00,
-    0x38,
-    0x00,
-    0x38,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @306 '8' (15 pixels wide) */
-    0x00,
-    0x00,
-    0xC0,
-    0x0F,
-    0xC0,
-    0x0F,
-    0xE0,
-    0x38,
-    0xE0,
-    0x3E,
-    0xE0,
-    0x3E,
-    0xC0,
-    0x0F,
-    0xE0,
-    0x07,
-    0xE0,
-    0x07,
-    0x38,
-    0x0E,
-    0x38,
-    0x0E,
-    0x38,
-    0x0E,
-    0x38,
-    0x0F,
-    0xE0,
-    0x07,
-    0xE0,
-    0x07,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @340 '9' (15 pixels wide) */
-    0x00,
-    0x00,
-    0xC0,
-    0x07,
-    0xC0,
-    0x07,
-    0xE0,
-    0x0E,
-    0x38,
-    0x0E,
-    0x38,
-    0x0E,
-    0x38,
-    0x0E,
-    0xF8,
-    0x0F,
-    0xF8,
-    0x0F,
-    0xE0,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0xE0,
-    0x01,
-    0xF8,
-    0x00,
-    0xF8,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @374 'B' (15 pixels wide) */
-    0xC0,
-    0x0F,
-    0xE0,
-    0x3F,
-    0xE0,
-    0x3F,
-    0xF8,
-    0x38,
-    0x38,
-    0x3E,
-    0x38,
-    0x3E,
-    0xF8,
-    0x0F,
-    0xF8,
-    0x3F,
-    0xF8,
-    0x3F,
-    0x38,
-    0x38,
-    0x38,
-    0x3E,
-    0x38,
-    0x3E,
-    0xF8,
-    0x0F,
-    0xF8,
-    0x07,
-    0xF8,
-    0x07,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @408 'C' (15 pixels wide) */
-    0x00,
-    0x0F,
-    0xC0,
-    0x3F,
-    0xC0,
-    0x3F,
-    0xE0,
-    0x39,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xF8,
-    0x00,
-    0x38,
-    0x00,
-    0x38,
-    0x00,
-    0x38,
-    0x38,
-    0x38,
-    0x3E,
-    0x38,
-    0x3E,
-    0xF8,
-    0x0F,
-    0xE0,
-    0x07,
-    0xE0,
-    0x07,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @442 'D' (15 pixels wide) */
-    0xC0,
-    0x07,
-    0xE0,
-    0x0F,
-    0xE0,
-    0x0F,
-    0xF8,
-    0x3E,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x3E,
-    0x38,
-    0x0F,
-    0x38,
-    0x0F,
-    0xF8,
-    0x07,
-    0xF8,
-    0x01,
-    0xF8,
-    0x01,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @476 'F' (15 pixels wide) */
-    0x80,
-    0x1F,
-    0xC0,
-    0x0F,
-    0xC0,
-    0x0F,
-    0xF0,
-    0x01,
-    0x70,
-    0x00,
-    0x70,
-    0x00,
-    0xF0,
-    0x0F,
-    0xF0,
-    0x03,
-    0xF0,
-    0x03,
-    0x70,
-    0x00,
-    0x70,
-    0x00,
-    0x70,
-    0x00,
-    0x70,
-    0x00,
-    0x70,
-    0x00,
-    0x70,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @510 'G' (15 pixels wide) */
-    0x00,
-    0x0F,
-    0xC0,
-    0x3F,
-    0xC0,
-    0x3F,
-    0xE0,
-    0x39,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xF8,
-    0x00,
-    0x38,
-    0x3E,
-    0x38,
-    0x3E,
-    0x38,
-    0x38,
-    0x38,
-    0x3E,
-    0x38,
-    0x3E,
-    0xF8,
-    0x0F,
-    0xE0,
-    0x07,
-    0xE0,
-    0x07,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @544 'H' (15 pixels wide) */
-    0x00,
-    0x30,
-    0x20,
-    0x38,
-    0x20,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0xF8,
-    0x3F,
-    0xF8,
-    0x3F,
-    0xF8,
-    0x3F,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @578 'J' (15 pixels wide) */
-    0x00,
-    0x08,
-    0x00,
-    0x0E,
-    0x00,
-    0x0E,
-    0x00,
-    0x0E,
-    0x00,
-    0x0E,
-    0x00,
-    0x0E,
-    0x00,
-    0x0E,
-    0x00,
-    0x0E,
-    0x00,
-    0x0E,
-    0x00,
-    0x0E,
-    0x00,
-    0x0E,
-    0x00,
-    0x0E,
-    0x18,
-    0x0F,
-    0xF8,
-    0x07,
-    0xF8,
-    0x07,
-    0xE0,
-    0x01,
-    0xE0,
-    0x01,
-
-    /* @612 'K' (15 pixels wide) */
-    0x20,
-    0x30,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x3E,
-    0x38,
-    0x0F,
-    0x38,
-    0x0F,
-    0xF8,
-    0x07,
-    0xF8,
-    0x07,
-    0xF8,
-    0x07,
-    0x38,
-    0x0F,
-    0x38,
-    0x3E,
-    0x38,
-    0x3E,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @646 'M' (15 pixels wide) */
-    0x08,
-    0x10,
-    0x3E,
-    0x1C,
-    0x3E,
-    0x1C,
-    0x7E,
-    0x1E,
-    0xFE,
-    0x1F,
-    0xFE,
-    0x1F,
-    0xCE,
-    0x1D,
-    0x0E,
-    0x1C,
-    0x0E,
-    0x1C,
-    0x0E,
-    0x1C,
-    0x0E,
-    0x1C,
-    0x0E,
-    0x1C,
-    0x0E,
-    0x1C,
-    0x0E,
-    0x1C,
-    0x0E,
-    0x1C,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @680 'N' (15 pixels wide) */
-    0x20,
-    0x30,
-    0xF8,
-    0x38,
-    0xF8,
-    0x38,
-    0xF8,
-    0x38,
-    0xF8,
-    0x39,
-    0xF8,
-    0x39,
-    0xF8,
-    0x39,
-    0x38,
-    0x3F,
-    0x38,
-    0x3F,
-    0x38,
-    0x3F,
-    0x38,
-    0x3E,
-    0x38,
-    0x3E,
-    0x38,
-    0x3E,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @714 'P' (15 pixels wide) */
-    0xC0,
-    0x07,
-    0xE0,
-    0x0F,
-    0xE0,
-    0x0F,
-    0xF8,
-    0x0E,
-    0x38,
-    0x0E,
-    0x38,
-    0x0E,
-    0x38,
-    0x0F,
-    0xF8,
-    0x07,
-    0xF8,
-    0x07,
-    0xF8,
-    0x01,
-    0x38,
-    0x00,
-    0x38,
-    0x00,
-    0x38,
-    0x00,
-    0x38,
-    0x00,
-    0x38,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @748 'Q' (15 pixels wide) */
-    0x00,
-    0x0F,
-    0xC0,
-    0x3F,
-    0xC0,
-    0x3F,
-    0xE0,
-    0x39,
-    0xE0,
-    0x38,
-    0xE0,
-    0x38,
-    0xF8,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x3E,
-    0x38,
-    0x3E,
-    0xF8,
-    0x0F,
-    0xE0,
-    0x3F,
-    0xE0,
-    0x3F,
-    0x00,
-    0x38,
-    0x00,
-    0x38,
-
-    /* @782 'R' (15 pixels wide) */
-    0xC0,
-    0x07,
-    0xE0,
-    0x0F,
-    0xE0,
-    0x0F,
-    0xF8,
-    0x0E,
-    0x38,
-    0x0E,
-    0x38,
-    0x0E,
-    0x38,
-    0x0F,
-    0xF8,
-    0x07,
-    0xF8,
-    0x07,
-    0xF8,
-    0x01,
-    0x38,
-    0x07,
-    0x38,
-    0x07,
-    0x38,
-    0x0F,
-    0x38,
-    0x0E,
-    0x38,
-    0x0E,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @816 'T' (15 pixels wide) */
-    0x00,
-    0x7E,
-    0xE0,
-    0x3F,
-    0xE0,
-    0x3F,
-    0xF8,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @850 'V' (15 pixels wide) */
-    0x20,
-    0x30,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0x0E,
-    0x38,
-    0x0E,
-    0x38,
-    0x0E,
-    0x38,
-    0x07,
-    0x38,
-    0x07,
-    0xE0,
-    0x07,
-    0xC0,
-    0x01,
-    0xC0,
-    0x01,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @884 'W' (15 pixels wide) */
-    0x04,
-    0x40,
-    0x07,
-    0x70,
-    0x07,
-    0x70,
-    0x07,
-    0x71,
-    0xC7,
-    0x71,
-    0xC7,
-    0x71,
-    0xC7,
-    0x71,
-    0xC7,
-    0x71,
-    0xC7,
-    0x71,
-    0xC7,
-    0x71,
-    0xE7,
-    0x39,
-    0xE7,
-    0x39,
-    0x3C,
-    0x0F,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @918 'X' (15 pixels wide) */
-    0x18,
-    0x30,
-    0x38,
-    0x38,
-    0x38,
-    0x38,
-    0xF8,
-    0x3E,
-    0xE0,
-    0x0F,
-    0xE0,
-    0x0F,
-    0xC0,
-    0x07,
-    0xC0,
-    0x01,
-    0xC0,
-    0x01,
-    0xE0,
-    0x07,
-    0x38,
-    0x0F,
-    0x38,
-    0x0F,
-    0x38,
-    0x3E,
-    0x18,
-    0x38,
-    0x18,
-    0x38,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @952 'Y' (15 pixels wide) */
-    0x18,
-    0x08,
-    0x38,
-    0x0E,
-    0x38,
-    0x0E,
-    0x38,
-    0x0E,
-    0xF8,
-    0x0F,
-    0xF8,
-    0x0F,
-    0xE0,
-    0x07,
-    0xE0,
-    0x01,
-    0xE0,
-    0x01,
-    0xC0,
-    0x01,
-    0xC0,
-    0x01,
-    0xC0,
-    0x01,
-    0xC0,
-    0x01,
-    0xC0,
-    0x01,
-    0xC0,
-    0x01,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-};
-
-/* Character descriptors for DPComic 18pt */
-/* { [Char width in bits], [Offset into dPComic_18ptCharBitmaps in bytes] } */
-const FONT_CHAR_INFO dPComic_18ptDescriptors[] = {
-    {15, 0}, /* - */
-    {0, 0}, /* . */
-    {0, 0}, /* / */
-    {15, 34}, /* 0 */
-    {15, 68}, /* 1 */
-    {15, 102}, /* 2 */
-    {15, 136}, /* 3 */
-    {15, 170}, /* 4 */
-    {15, 204}, /* 5 */
-    {15, 238}, /* 6 */
-    {15, 272}, /* 7 */
-    {15, 306}, /* 8 */
-    {15, 340}, /* 9 */
-    {0, 0}, /* : */
-    {0, 0}, /* ; */
-    {0, 0}, /* < */
-    {0, 0}, /* = */
-    {0, 0}, /* > */
-    {0, 0}, /* ? */
-    {0, 0}, /* @ */
-    {0, 0}, /* A */
-    {15, 374}, /* B */
-    {15, 408}, /* C */
-    {15, 442}, /* D */
-    {0, 0}, /* E */
-    {15, 476}, /* F */
-    {15, 510}, /* G */
-    {15, 544}, /* H */
-    {0, 0}, /* I */
-    {15, 578}, /* J */
-    {15, 612}, /* K */
-    {0, 0}, /* L */
-    {15, 646}, /* M */
-    {15, 680}, /* N */
-    {0, 0}, /* O */
-    {15, 714}, /* P */
-    {15, 748}, /* Q */
-    {15, 782}, /* R */
-    {0, 0}, /* S */
-    {15, 816}, /* T */
-    {0, 0}, /* U */
-    {15, 850}, /* V */
-    {15, 884}, /* W */
-    {15, 918}, /* X */
-    {15, 952}, /* Y */
-};
-
-/* Font information for DPComic 18pt */
-const FONT_INFO dPComic_18ptFontInfo = {
-    "DP Comic",
-    17, /*  Character height */
-    '-', /*  Start character */
-    'Y', /*  End character */
-    2, /*  Width, in pixels, of space character */
-    dPComic_18ptDescriptors, /*  Character descriptor array */
-    dPComic_18ptBitmaps, /*  Character bitmap array */
-};

+ 0 - 7
lib/fonts/dpcomic/dpcomic.h

@@ -1,7 +0,0 @@
-#pragma once
-
-/* GENERATED BY https://github.com/pavius/the-dot-factory */
-
-#include "../font_info.h"
-
-extern const FONT_INFO dPComic_18ptFontInfo;

+ 0 - 24
lib/fonts/font_info.h

@@ -1,24 +0,0 @@
-#pragma once
-
-/* GENERATED BY https://github.com/pavius/the-dot-factory */
-
-#include <stdint.h>
-
-// This structure describes a single character's display information
-typedef struct {
-    const uint8_t width; // width, in bits (or pixels), of the character
-    const uint16_t
-        offset; // offset of the character's bitmap, in bytes, into the the FONT_INFO's data array
-
-} FONT_CHAR_INFO;
-
-// Describes a single font
-typedef struct {
-    const char* name; // Font name
-    const uint8_t height; // height, in pages (8 pixels), of the font's characters
-    const uint8_t startChar; // the first character in the font (e.g. in charInfo and data)
-    const uint8_t endChar; // the last character in the font
-    const uint8_t spacePixels; // number of pixels that a space character takes up
-    const FONT_CHAR_INFO* charInfo; // pointer to array of char information
-    const uint8_t* data; // pointer to generated array of character visual representation
-} FONT_INFO;

+ 0 - 1173
lib/fonts/funclimbing/funclimbing.c

@@ -1,1173 +0,0 @@
-#include "funclimbing.h"
-
-/* GENERATED BY https://github.com/pavius/the-dot-factory */
-
-/* 
-**  Font data for fun climbing (Demo) 18pt
-*/
-
-/* Character bitmaps for fun climbing (Demo) 18pt */
-const uint8_t funclimbingDemo_18ptBitmaps[] = {
-    /* @0 '-' (16 pixels wide) */
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0xE0,
-    0x03,
-    0xE0,
-    0x03,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @36 '0' (16 pixels wide) */
-    0x00,
-    0x00,
-    0x80,
-    0x00,
-    0xE0,
-    0x03,
-    0x20,
-    0x02,
-    0x10,
-    0x04,
-    0x10,
-    0x04,
-    0x10,
-    0x04,
-    0x08,
-    0x04,
-    0x08,
-    0x08,
-    0x08,
-    0x08,
-    0x08,
-    0x04,
-    0x10,
-    0x04,
-    0x10,
-    0x04,
-    0x10,
-    0x04,
-    0x20,
-    0x02,
-    0xE0,
-    0x01,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @72 '1' (16 pixels wide) */
-    0x00,
-    0x02,
-    0x00,
-    0x03,
-    0x80,
-    0x03,
-    0xC0,
-    0x02,
-    0x60,
-    0x02,
-    0x00,
-    0x02,
-    0x00,
-    0x02,
-    0x00,
-    0x02,
-    0x00,
-    0x02,
-    0x00,
-    0x02,
-    0x00,
-    0x02,
-    0x00,
-    0x02,
-    0x00,
-    0x02,
-    0x00,
-    0x02,
-    0x00,
-    0x02,
-    0x00,
-    0x02,
-    0x00,
-    0x02,
-    0x00,
-    0x00,
-
-    /* @108 '2' (16 pixels wide) */
-    0x00,
-    0x00,
-    0xC0,
-    0x07,
-    0x60,
-    0x04,
-    0x20,
-    0x04,
-    0x10,
-    0x04,
-    0x10,
-    0x04,
-    0x10,
-    0x04,
-    0x08,
-    0x02,
-    0x08,
-    0x02,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x40,
-    0x00,
-    0x60,
-    0x00,
-    0xC0,
-    0x03,
-    0x00,
-    0x1C,
-    0x00,
-    0x00,
-
-    /* @144 '3' (16 pixels wide) */
-    0x00,
-    0x02,
-    0x80,
-    0x05,
-    0x40,
-    0x08,
-    0x40,
-    0x08,
-    0x40,
-    0x10,
-    0x40,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x08,
-    0x00,
-    0x08,
-    0x00,
-    0x0C,
-    0x00,
-    0x06,
-    0x00,
-    0x03,
-    0x80,
-    0x0F,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x30,
-    0x08,
-    0xC0,
-    0x07,
-    0x00,
-    0x00,
-
-    /* @180 '4' (16 pixels wide) */
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x40,
-    0x10,
-    0x40,
-    0x10,
-    0x40,
-    0x10,
-    0x40,
-    0x10,
-    0x40,
-    0x10,
-    0x20,
-    0x10,
-    0x20,
-    0x10,
-    0x20,
-    0x10,
-    0x20,
-    0x10,
-    0x30,
-    0x10,
-    0xF0,
-    0x1F,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-
-    /* @216 '5' (16 pixels wide) */
-    0x00,
-    0x00,
-    0x60,
-    0x00,
-    0xA0,
-    0x03,
-    0x20,
-    0x04,
-    0x20,
-    0x00,
-    0x30,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0xF0,
-    0x00,
-    0x80,
-    0x03,
-    0x00,
-    0x04,
-    0x00,
-    0x08,
-    0x00,
-    0x08,
-    0x00,
-    0x08,
-    0x00,
-    0x04,
-    0x80,
-    0x03,
-    0xF0,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @252 '6' (16 pixels wide) */
-    0x00,
-    0x00,
-    0x40,
-    0x00,
-    0x20,
-    0x00,
-    0x20,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x18,
-    0x03,
-    0xC8,
-    0x06,
-    0x28,
-    0x0C,
-    0x18,
-    0x08,
-    0x18,
-    0x08,
-    0x08,
-    0x08,
-    0x08,
-    0x08,
-    0x10,
-    0x08,
-    0x30,
-    0x0C,
-    0xC0,
-    0x07,
-    0x00,
-    0x00,
-
-    /* @288 '7' (16 pixels wide) */
-    0x00,
-    0x00,
-    0x00,
-    0x0F,
-    0xF0,
-    0x09,
-    0x00,
-    0x04,
-    0x00,
-    0x04,
-    0x00,
-    0x04,
-    0x00,
-    0x04,
-    0x00,
-    0x04,
-    0x00,
-    0x06,
-    0x00,
-    0x02,
-    0x00,
-    0x02,
-    0x00,
-    0x02,
-    0x00,
-    0x02,
-    0x00,
-    0x03,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x00,
-
-    /* @324 '8' (16 pixels wide) */
-    0x80,
-    0x01,
-    0x60,
-    0x02,
-    0x30,
-    0x04,
-    0x10,
-    0x08,
-    0x10,
-    0x08,
-    0x08,
-    0x08,
-    0x08,
-    0x08,
-    0x10,
-    0x0C,
-    0x10,
-    0x04,
-    0x60,
-    0x03,
-    0xC0,
-    0x01,
-    0x40,
-    0x03,
-    0x20,
-    0x04,
-    0x20,
-    0x04,
-    0x20,
-    0x04,
-    0x20,
-    0x04,
-    0xC0,
-    0x03,
-    0x00,
-    0x00,
-
-    /* @360 '9' (16 pixels wide) */
-    0x00,
-    0x00,
-    0xC0,
-    0x01,
-    0x20,
-    0x02,
-    0x10,
-    0x04,
-    0x10,
-    0x04,
-    0x10,
-    0x04,
-    0x10,
-    0x04,
-    0x10,
-    0x04,
-    0x10,
-    0x04,
-    0xE0,
-    0x03,
-    0x00,
-    0x02,
-    0x00,
-    0x02,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @396 'B' (16 pixels wide) */
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x18,
-    0x00,
-    0x18,
-    0x00,
-    0x08,
-    0x00,
-    0x08,
-    0x00,
-    0xE8,
-    0x0F,
-    0x38,
-    0x10,
-    0x10,
-    0x10,
-    0x10,
-    0x30,
-    0x10,
-    0x10,
-    0x10,
-    0x18,
-    0xF0,
-    0x07,
-    0x20,
-    0x00,
-
-    /* @432 'C' (16 pixels wide) */
-    0x00,
-    0x03,
-    0x80,
-    0x06,
-    0x40,
-    0x04,
-    0x40,
-    0x04,
-    0x40,
-    0x08,
-    0x40,
-    0x00,
-    0x20,
-    0x00,
-    0x20,
-    0x00,
-    0x20,
-    0x00,
-    0x20,
-    0x00,
-    0x40,
-    0x00,
-    0x40,
-    0x08,
-    0x40,
-    0x08,
-    0x40,
-    0x08,
-    0xC0,
-    0x08,
-    0x80,
-    0x04,
-    0x80,
-    0x05,
-    0x00,
-    0x02,
-
-    /* @468 'D' (16 pixels wide) */
-    0x00,
-    0x04,
-    0x00,
-    0x04,
-    0x00,
-    0x04,
-    0x00,
-    0x04,
-    0x00,
-    0x04,
-    0x00,
-    0x04,
-    0x80,
-    0x07,
-    0x40,
-    0x04,
-    0x20,
-    0x04,
-    0x20,
-    0x04,
-    0x10,
-    0x04,
-    0x10,
-    0x04,
-    0x30,
-    0x04,
-    0x20,
-    0x04,
-    0x20,
-    0x04,
-    0x40,
-    0x04,
-    0x80,
-    0x05,
-    0x00,
-    0x07,
-
-    /* @504 'F' (16 pixels wide) */
-    0x00,
-    0x02,
-    0x80,
-    0x0D,
-    0xC0,
-    0x08,
-    0x40,
-    0x10,
-    0x60,
-    0x10,
-    0x20,
-    0x00,
-    0x20,
-    0x00,
-    0x20,
-    0x00,
-    0x20,
-    0x00,
-    0x20,
-    0x00,
-    0x20,
-    0x00,
-    0x20,
-    0x00,
-    0xF8,
-    0x01,
-    0x20,
-    0x00,
-    0x20,
-    0x00,
-    0x20,
-    0x00,
-    0x20,
-    0x00,
-    0x40,
-    0x00,
-
-    /* @540 'G' (16 pixels wide) */
-    0x80,
-    0x00,
-    0x60,
-    0x01,
-    0x20,
-    0x03,
-    0x30,
-    0x02,
-    0x10,
-    0x02,
-    0x10,
-    0x02,
-    0x10,
-    0x02,
-    0x10,
-    0x02,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0xD0,
-    0x0F,
-    0x10,
-    0x02,
-    0x10,
-    0x01,
-    0x20,
-    0x01,
-    0xE0,
-    0x00,
-    0x40,
-    0x00,
-
-    /* @576 'H' (16 pixels wide) */
-    0x00,
-    0x00,
-    0x08,
-    0x00,
-    0x08,
-    0x00,
-    0x08,
-    0x00,
-    0x18,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x0F,
-    0x90,
-    0x09,
-    0xD0,
-    0x18,
-    0x50,
-    0x10,
-    0x30,
-    0x10,
-    0x30,
-    0x10,
-    0x10,
-    0x10,
-    0x00,
-    0x00,
-
-    /* @612 'J' (16 pixels wide) */
-    0x00,
-    0x00,
-    0x00,
-    0x04,
-    0x00,
-    0x04,
-    0x00,
-    0x04,
-    0x00,
-    0x04,
-    0x00,
-    0x04,
-    0x00,
-    0x04,
-    0x00,
-    0x04,
-    0x00,
-    0x04,
-    0x10,
-    0x04,
-    0x10,
-    0x04,
-    0x10,
-    0x04,
-    0x20,
-    0x04,
-    0x20,
-    0x02,
-    0x20,
-    0x02,
-    0x60,
-    0x03,
-    0xC0,
-    0x01,
-    0x00,
-    0x00,
-
-    /* @648 'K' (16 pixels wide) */
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x08,
-    0x10,
-    0x0C,
-    0x10,
-    0x02,
-    0xB0,
-    0x01,
-    0xE0,
-    0x00,
-    0x60,
-    0x00,
-    0x60,
-    0x00,
-    0xA0,
-    0x00,
-    0x20,
-    0x01,
-    0x20,
-    0x02,
-    0x20,
-    0x0C,
-    0x20,
-    0x08,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @684 'M' (16 pixels wide) */
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x10,
-    0x10,
-    0x30,
-    0x18,
-    0x30,
-    0x18,
-    0x50,
-    0x34,
-    0x50,
-    0x24,
-    0xC8,
-    0x22,
-    0x88,
-    0x22,
-    0x88,
-    0x21,
-    0x08,
-    0x21,
-    0x04,
-    0x60,
-    0x04,
-    0x40,
-    0x04,
-    0x40,
-    0x04,
-    0x40,
-    0x02,
-    0x40,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @720 'N' (16 pixels wide) */
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x02,
-    0x01,
-    0x86,
-    0x07,
-    0x44,
-    0x04,
-    0x24,
-    0x08,
-    0x24,
-    0x08,
-    0x14,
-    0x18,
-    0x14,
-    0x10,
-    0x1C,
-    0x10,
-    0x0C,
-    0x10,
-    0x0C,
-    0x10,
-    0x08,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @756 'P' (16 pixels wide) */
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0xE0,
-    0x01,
-    0x20,
-    0x02,
-    0x20,
-    0x04,
-    0x60,
-    0x04,
-    0x40,
-    0x04,
-    0x40,
-    0x04,
-    0x40,
-    0x04,
-    0x40,
-    0x06,
-    0x40,
-    0x02,
-    0xC0,
-    0x01,
-    0xC0,
-    0x00,
-    0x40,
-    0x00,
-    0x40,
-    0x00,
-    0x40,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @792 'Q' (16 pixels wide) */
-    0x00,
-    0x00,
-    0xC0,
-    0x03,
-    0x30,
-    0x06,
-    0x18,
-    0x08,
-    0x08,
-    0x10,
-    0x04,
-    0x10,
-    0x04,
-    0x20,
-    0x04,
-    0x20,
-    0x04,
-    0x20,
-    0x08,
-    0x21,
-    0x08,
-    0x33,
-    0x10,
-    0x12,
-    0x30,
-    0x0E,
-    0xC0,
-    0x07,
-    0x00,
-    0x08,
-    0x00,
-    0x08,
-    0x00,
-    0x10,
-    0x00,
-    0x00,
-
-    /* @828 'R' (16 pixels wide) */
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x07,
-    0x88,
-    0x0D,
-    0x48,
-    0x08,
-    0x68,
-    0x00,
-    0x28,
-    0x00,
-    0x28,
-    0x00,
-    0x18,
-    0x00,
-    0x18,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @864 'T' (16 pixels wide) */
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0xE0,
-    0x03,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x04,
-    0x80,
-    0x04,
-    0x80,
-    0x04,
-    0x80,
-    0x04,
-    0x80,
-    0x05,
-    0x00,
-    0x07,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @900 'V' (16 pixels wide) */
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x08,
-    0x10,
-    0x10,
-    0x10,
-    0x10,
-    0x18,
-    0x10,
-    0x08,
-    0x10,
-    0x08,
-    0x10,
-    0x04,
-    0x10,
-    0x04,
-    0x20,
-    0x04,
-    0x20,
-    0x02,
-    0x20,
-    0x02,
-    0x20,
-    0x01,
-    0x40,
-    0x01,
-    0xC0,
-    0x01,
-    0xC0,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @936 'W' (16 pixels wide) */
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x03,
-    0x80,
-    0x02,
-    0x80,
-    0x02,
-    0x40,
-    0x02,
-    0x40,
-    0x02,
-    0x41,
-    0x86,
-    0x42,
-    0x84,
-    0x42,
-    0x44,
-    0x44,
-    0x44,
-    0x64,
-    0x24,
-    0x28,
-    0x28,
-    0x28,
-    0x18,
-    0x30,
-    0x18,
-    0x30,
-    0x18,
-    0x20,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @972 'X' (16 pixels wide) */
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x08,
-    0x08,
-    0x10,
-    0x04,
-    0x20,
-    0x04,
-    0x40,
-    0x02,
-    0x80,
-    0x03,
-    0x80,
-    0x01,
-    0x80,
-    0x03,
-    0x40,
-    0x02,
-    0x30,
-    0x04,
-    0x18,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @1008 'Y' (16 pixels wide) */
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x08,
-    0x08,
-    0x08,
-    0x08,
-    0x08,
-    0x0C,
-    0x08,
-    0x0C,
-    0x08,
-    0x0A,
-    0x10,
-    0x0A,
-    0xF0,
-    0x09,
-    0x00,
-    0x0C,
-    0x10,
-    0x04,
-    0x10,
-    0x04,
-    0x20,
-    0x02,
-    0xE0,
-    0x03,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-};
-
-/* Character descriptors for fun climbing (Demo) 18pt */
-/* { [Char width in bits], [Offset into funclimbingDemo_18ptCharBitmaps in bytes] } */
-const FONT_CHAR_INFO funclimbingDemo_18ptDescriptors[] = {
-    {16, 0}, /* - */
-    {0, 0}, /* . */
-    {0, 0}, /* / */
-    {16, 36}, /* 0 */
-    {16, 72}, /* 1 */
-    {16, 108}, /* 2 */
-    {16, 144}, /* 3 */
-    {16, 180}, /* 4 */
-    {16, 216}, /* 5 */
-    {16, 252}, /* 6 */
-    {16, 288}, /* 7 */
-    {16, 324}, /* 8 */
-    {16, 360}, /* 9 */
-    {0, 0}, /* : */
-    {0, 0}, /* ; */
-    {0, 0}, /* < */
-    {0, 0}, /* = */
-    {0, 0}, /* > */
-    {0, 0}, /* ? */
-    {0, 0}, /* @ */
-    {0, 0}, /* A */
-    {16, 396}, /* B */
-    {16, 432}, /* C */
-    {16, 468}, /* D */
-    {0, 0}, /* E */
-    {16, 504}, /* F */
-    {16, 540}, /* G */
-    {16, 576}, /* H */
-    {0, 0}, /* I */
-    {16, 612}, /* J */
-    {16, 648}, /* K */
-    {0, 0}, /* L */
-    {16, 684}, /* M */
-    {16, 720}, /* N */
-    {0, 0}, /* O */
-    {16, 756}, /* P */
-    {16, 792}, /* Q */
-    {16, 828}, /* R */
-    {0, 0}, /* S */
-    {16, 864}, /* T */
-    {0, 0}, /* U */
-    {16, 900}, /* V */
-    {16, 936}, /* W */
-    {16, 972}, /* X */
-    {16, 1008}, /* Y */
-};
-
-/* Font information for fun climbing (Demo) 18pt */
-const FONT_INFO funclimbingDemo_18ptFontInfo = {
-    "Fun Climbing",
-    18, /*  Character height */
-    '-', /*  Start character */
-    'Y', /*  End character */
-    2, /*  Width, in pixels, of space character */
-    funclimbingDemo_18ptDescriptors, /*  Character descriptor array */
-    funclimbingDemo_18ptBitmaps, /*  Character bitmap array */
-};

+ 0 - 7
lib/fonts/funclimbing/funclimbing.h

@@ -1,7 +0,0 @@
-#pragma once
-
-/* GENERATED BY https://github.com/pavius/the-dot-factory */
-
-#include "../font_info.h"
-
-extern const FONT_INFO funclimbingDemo_18ptFontInfo;

+ 0 - 941
lib/fonts/graph35pix/graph35pix.c

@@ -1,941 +0,0 @@
-#include "graph35pix.h"
-
-/* GENERATED BY https://github.com/pavius/the-dot-factory */
-
-/* 
-**  Font data for Graph 35+ pix 12pt
-*/
-
-/* Character bitmaps for Graph 35+ pix 12pt */
-const uint8_t graph35pix_12ptBitmaps[] = {
-    /* @0 '-' (10 pixels wide) */
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0xFF,
-    0x03,
-    0xFF,
-    0x03,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @28 '0' (10 pixels wide) */
-    0xFC,
-    0x00,
-    0xFC,
-    0x00,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0xC3,
-    0x03,
-    0xC3,
-    0x03,
-    0x33,
-    0x03,
-    0x33,
-    0x03,
-    0x0F,
-    0x03,
-    0x0F,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0xFC,
-    0x00,
-    0xFC,
-    0x00,
-
-    /* @56 '1' (10 pixels wide) */
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x3C,
-    0x00,
-    0x3C,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0xFC,
-    0x00,
-    0xFC,
-    0x00,
-
-    /* @84 '2' (10 pixels wide) */
-    0xFC,
-    0x00,
-    0xFC,
-    0x00,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0xFF,
-    0x03,
-    0xFF,
-    0x03,
-
-    /* @112 '3' (10 pixels wide) */
-    0xFF,
-    0x03,
-    0xFF,
-    0x03,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0xFC,
-    0x00,
-    0xFC,
-    0x00,
-
-    /* @140 '4' (10 pixels wide) */
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xF0,
-    0x00,
-    0xF0,
-    0x00,
-    0xCC,
-    0x00,
-    0xCC,
-    0x00,
-    0xC3,
-    0x00,
-    0xC3,
-    0x00,
-    0xFF,
-    0x03,
-    0xFF,
-    0x03,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-
-    /* @168 '5' (10 pixels wide) */
-    0xFF,
-    0x03,
-    0xFF,
-    0x03,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0xFF,
-    0x00,
-    0xFF,
-    0x00,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0xFC,
-    0x00,
-    0xFC,
-    0x00,
-
-    /* @196 '6' (10 pixels wide) */
-    0xF0,
-    0x00,
-    0xF0,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0xFF,
-    0x00,
-    0xFF,
-    0x00,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0xFC,
-    0x00,
-    0xFC,
-    0x00,
-
-    /* @224 '7' (10 pixels wide) */
-    0xFF,
-    0x03,
-    0xFF,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-
-    /* @252 '8' (10 pixels wide) */
-    0xFC,
-    0x00,
-    0xFC,
-    0x00,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0xFC,
-    0x00,
-    0xFC,
-    0x00,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0xFC,
-    0x00,
-    0xFC,
-    0x00,
-
-    /* @280 '9' (10 pixels wide) */
-    0xFC,
-    0x00,
-    0xFC,
-    0x00,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0xFC,
-    0x03,
-    0xFC,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0x3C,
-    0x00,
-    0x3C,
-    0x00,
-
-    /* @308 'B' (10 pixels wide) */
-    0xFF,
-    0x00,
-    0xFF,
-    0x00,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0xFF,
-    0x00,
-    0xFF,
-    0x00,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0xFF,
-    0x00,
-    0xFF,
-    0x00,
-
-    /* @336 'C' (10 pixels wide) */
-    0xFC,
-    0x00,
-    0xFC,
-    0x00,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0xFC,
-    0x00,
-    0xFC,
-    0x00,
-
-    /* @364 'D' (10 pixels wide) */
-    0x3F,
-    0x00,
-    0x3F,
-    0x00,
-    0xC3,
-    0x00,
-    0xC3,
-    0x00,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0xC3,
-    0x00,
-    0xC3,
-    0x00,
-    0x3F,
-    0x00,
-    0x3F,
-    0x00,
-
-    /* @392 'F' (10 pixels wide) */
-    0xFF,
-    0x03,
-    0xFF,
-    0x03,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0xFF,
-    0x00,
-    0xFF,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-
-    /* @420 'G' (10 pixels wide) */
-    0xFC,
-    0x00,
-    0xFC,
-    0x00,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0xF3,
-    0x03,
-    0xF3,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0xFC,
-    0x03,
-    0xFC,
-    0x03,
-
-    /* @448 'H' (10 pixels wide) */
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0xFF,
-    0x03,
-    0xFF,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-
-    /* @476 'J' (10 pixels wide) */
-    0xF0,
-    0x03,
-    0xF0,
-    0x03,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC3,
-    0x00,
-    0xC3,
-    0x00,
-    0x3C,
-    0x00,
-    0x3C,
-    0x00,
-
-    /* @504 'K' (10 pixels wide) */
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0xC3,
-    0x00,
-    0xC3,
-    0x00,
-    0x33,
-    0x00,
-    0x33,
-    0x00,
-    0x0F,
-    0x00,
-    0x0F,
-    0x00,
-    0x33,
-    0x00,
-    0x33,
-    0x00,
-    0xC3,
-    0x00,
-    0xC3,
-    0x00,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-
-    /* @532 'M' (10 pixels wide) */
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0xCF,
-    0x03,
-    0xCF,
-    0x03,
-    0x33,
-    0x03,
-    0x33,
-    0x03,
-    0x33,
-    0x03,
-    0x33,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-
-    /* @560 'N' (10 pixels wide) */
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x0F,
-    0x03,
-    0x0F,
-    0x03,
-    0x0F,
-    0x03,
-    0x0F,
-    0x03,
-    0x33,
-    0x03,
-    0x33,
-    0x03,
-    0xC3,
-    0x03,
-    0xC3,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-
-    /* @588 'P' (10 pixels wide) */
-    0xFF,
-    0x00,
-    0xFF,
-    0x00,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0xFF,
-    0x00,
-    0xFF,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-
-    /* @616 'Q' (10 pixels wide) */
-    0xFC,
-    0x00,
-    0xFC,
-    0x00,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x33,
-    0x03,
-    0x33,
-    0x03,
-    0xC3,
-    0x00,
-    0xC3,
-    0x00,
-    0x3C,
-    0x03,
-    0x3C,
-    0x03,
-
-    /* @644 'R' (10 pixels wide) */
-    0xFF,
-    0x00,
-    0xFF,
-    0x00,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0xFF,
-    0x00,
-    0xFF,
-    0x00,
-    0x33,
-    0x00,
-    0x33,
-    0x00,
-    0xC3,
-    0x00,
-    0xC3,
-    0x00,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-
-    /* @672 'T' (10 pixels wide) */
-    0xFF,
-    0x03,
-    0xFF,
-    0x03,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-
-    /* @700 'V' (10 pixels wide) */
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0xCC,
-    0x00,
-    0xCC,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-
-    /* @728 'W' (10 pixels wide) */
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x33,
-    0x03,
-    0x33,
-    0x03,
-    0x33,
-    0x03,
-    0x33,
-    0x03,
-    0x33,
-    0x03,
-    0x33,
-    0x03,
-    0xCC,
-    0x00,
-    0xCC,
-    0x00,
-
-    /* @756 'X' (10 pixels wide) */
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0xCC,
-    0x00,
-    0xCC,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0xCC,
-    0x00,
-    0xCC,
-    0x00,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-
-    /* @784 'Y' (10 pixels wide) */
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0x03,
-    0xCC,
-    0x00,
-    0xCC,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-    0x30,
-    0x00,
-};
-
-/* Character descriptors for Graph 35+ pix 12pt */
-/* { [Char width in bits], [Offset into graph35pix_12ptCharBitmaps in bytes] } */
-const FONT_CHAR_INFO graph35pix_12ptDescriptors[] = {
-    {10, 0}, /* - */
-    {0, 0}, /* . */
-    {0, 0}, /* / */
-    {10, 28}, /* 0 */
-    {10, 56}, /* 1 */
-    {10, 84}, /* 2 */
-    {10, 112}, /* 3 */
-    {10, 140}, /* 4 */
-    {10, 168}, /* 5 */
-    {10, 196}, /* 6 */
-    {10, 224}, /* 7 */
-    {10, 252}, /* 8 */
-    {10, 280}, /* 9 */
-    {0, 0}, /* : */
-    {0, 0}, /* ; */
-    {0, 0}, /* < */
-    {0, 0}, /* = */
-    {0, 0}, /* > */
-    {0, 0}, /* ? */
-    {0, 0}, /* @ */
-    {0, 0}, /* A */
-    {10, 308}, /* B */
-    {10, 336}, /* C */
-    {10, 364}, /* D */
-    {0, 0}, /* E */
-    {10, 392}, /* F */
-    {10, 420}, /* G */
-    {10, 448}, /* H */
-    {0, 0}, /* I */
-    {10, 476}, /* J */
-    {10, 504}, /* K */
-    {0, 0}, /* L */
-    {10, 532}, /* M */
-    {10, 560}, /* N */
-    {0, 0}, /* O */
-    {10, 588}, /* P */
-    {10, 616}, /* Q */
-    {10, 644}, /* R */
-    {0, 0}, /* S */
-    {10, 672}, /* T */
-    {0, 0}, /* U */
-    {10, 700}, /* V */
-    {10, 728}, /* W */
-    {10, 756}, /* X */
-    {10, 784}, /* Y */
-};
-
-/* Font information for Graph 35+ pix 12pt */
-const FONT_INFO graph35pix_12ptFontInfo = {
-    "Graph 35pix",
-    14, /*  Character height */
-    '-', /*  Start character */
-    'Y', /*  End character */
-    2, /*  Width, in pixels, of space character */
-    graph35pix_12ptDescriptors, /*  Character descriptor array */
-    graph35pix_12ptBitmaps, /*  Character bitmap array */
-};

+ 0 - 8
lib/fonts/graph35pix/graph35pix.h

@@ -1,8 +0,0 @@
-#pragma once
-
-/* GENERATED BY https://github.com/pavius/the-dot-factory */
-
-#include "../font_info.h"
-
-/* Font data for Graph 35+ pix 12pt */
-extern const FONT_INFO graph35pix_12ptFontInfo;

+ 0 - 1173
lib/fonts/karma_future/karma_future.c

@@ -1,1173 +0,0 @@
-#include "karma_future.h"
-
-/* GENERATED BY https://github.com/pavius/the-dot-factory */
-
-/* 
-**  Font data for Karma Future 14pt
-*/
-
-/* Character bitmaps for Karma Future 14pt */
-const uint8_t karmaFuture_14ptBitmaps[] = {
-    /* @0 '-' (12 pixels wide) */
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0xFE,
-    0x03,
-    0x02,
-    0x02,
-    0x02,
-    0x02,
-    0xFE,
-    0x03,
-    0xFC,
-    0x03,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @36 '0' (12 pixels wide) */
-    0xF8,
-    0x01,
-    0x0E,
-    0x03,
-    0x02,
-    0x06,
-    0xF3,
-    0x06,
-    0xF9,
-    0x0C,
-    0x79,
-    0x0C,
-    0x39,
-    0x0D,
-    0x99,
-    0x0C,
-    0xC9,
-    0x0C,
-    0xE9,
-    0x0C,
-    0xF1,
-    0x0C,
-    0xF1,
-    0x0C,
-    0xF1,
-    0x0C,
-    0xF3,
-    0x0E,
-    0x02,
-    0x0E,
-    0x0E,
-    0x07,
-    0xFC,
-    0x07,
-    0xF8,
-    0x01,
-
-    /* @72 '1' (12 pixels wide) */
-    0x70,
-    0x00,
-    0xD8,
-    0x00,
-    0xCE,
-    0x00,
-    0xC2,
-    0x00,
-    0xC2,
-    0x00,
-    0xDE,
-    0x00,
-    0xDC,
-    0x00,
-    0xDC,
-    0x00,
-    0xD0,
-    0x00,
-    0xD0,
-    0x00,
-    0xD0,
-    0x00,
-    0xD0,
-    0x00,
-    0xD0,
-    0x00,
-    0xDE,
-    0x03,
-    0x02,
-    0x02,
-    0x02,
-    0x02,
-    0xFE,
-    0x03,
-    0xFC,
-    0x03,
-
-    /* @108 '2' (12 pixels wide) */
-    0xFC,
-    0x03,
-    0x06,
-    0x03,
-    0x03,
-    0x06,
-    0xF1,
-    0x04,
-    0xF9,
-    0x0C,
-    0xF9,
-    0x0C,
-    0x7F,
-    0x0E,
-    0x3E,
-    0x0F,
-    0x1E,
-    0x0F,
-    0x90,
-    0x07,
-    0xC8,
-    0x03,
-    0xE4,
-    0x01,
-    0xE6,
-    0x00,
-    0xF3,
-    0x07,
-    0x01,
-    0x0C,
-    0x01,
-    0x0C,
-    0xFF,
-    0x0F,
-    0xFE,
-    0x0F,
-
-    /* @144 '3' (12 pixels wide) */
-    0xFC,
-    0x03,
-    0x06,
-    0x03,
-    0x03,
-    0x06,
-    0xF1,
-    0x04,
-    0xF9,
-    0x0C,
-    0xFF,
-    0x0C,
-    0xFE,
-    0x0C,
-    0x0E,
-    0x0E,
-    0x08,
-    0x0F,
-    0xF8,
-    0x0E,
-    0xF8,
-    0x04,
-    0xFF,
-    0x0C,
-    0xF9,
-    0x0C,
-    0xF1,
-    0x0C,
-    0x03,
-    0x0E,
-    0x06,
-    0x0F,
-    0xFC,
-    0x07,
-    0xFC,
-    0x03,
-
-    /* @180 '4' (12 pixels wide) */
-    0xE0,
-    0x03,
-    0x30,
-    0x03,
-    0x10,
-    0x03,
-    0x08,
-    0x03,
-    0x4C,
-    0x03,
-    0x64,
-    0x03,
-    0x72,
-    0x03,
-    0x73,
-    0x03,
-    0x79,
-    0x03,
-    0x01,
-    0x04,
-    0x01,
-    0x0C,
-    0x7F,
-    0x0F,
-    0x7E,
-    0x0F,
-    0x7E,
-    0x0F,
-    0x40,
-    0x03,
-    0x40,
-    0x03,
-    0xC0,
-    0x03,
-    0x80,
-    0x03,
-
-    /* @216 '5' (12 pixels wide) */
-    0xFF,
-    0x07,
-    0x01,
-    0x0C,
-    0x01,
-    0x0C,
-    0xF9,
-    0x0F,
-    0xF9,
-    0x0F,
-    0xF9,
-    0x0F,
-    0x01,
-    0x03,
-    0x03,
-    0x06,
-    0xFE,
-    0x04,
-    0xFE,
-    0x0C,
-    0xFC,
-    0x0C,
-    0xFF,
-    0x0C,
-    0xF9,
-    0x0C,
-    0xF1,
-    0x0C,
-    0x03,
-    0x0E,
-    0x06,
-    0x0F,
-    0xFC,
-    0x07,
-    0xF8,
-    0x03,
-
-    /* @252 '6' (12 pixels wide) */
-    0xF0,
-    0x03,
-    0x10,
-    0x03,
-    0x08,
-    0x03,
-    0xCC,
-    0x03,
-    0xE6,
-    0x03,
-    0xF2,
-    0x03,
-    0xF2,
-    0x00,
-    0x01,
-    0x03,
-    0x01,
-    0x06,
-    0xF1,
-    0x04,
-    0xF9,
-    0x0C,
-    0xF9,
-    0x0C,
-    0xF9,
-    0x0C,
-    0xF1,
-    0x0C,
-    0x03,
-    0x0E,
-    0x06,
-    0x0F,
-    0xFC,
-    0x07,
-    0xF8,
-    0x03,
-
-    /* @288 '7' (12 pixels wide) */
-    0xFF,
-    0x07,
-    0x01,
-    0x0C,
-    0x01,
-    0x0C,
-    0xFF,
-    0x0E,
-    0xFE,
-    0x0E,
-    0x7E,
-    0x0F,
-    0x40,
-    0x07,
-    0x60,
-    0x07,
-    0x20,
-    0x03,
-    0x30,
-    0x03,
-    0x90,
-    0x01,
-    0x90,
-    0x01,
-    0xD0,
-    0x00,
-    0xC8,
-    0x00,
-    0xE8,
-    0x00,
-    0xE8,
-    0x00,
-    0x78,
-    0x00,
-    0x78,
-    0x00,
-
-    /* @324 '8' (12 pixels wide) */
-    0xF8,
-    0x01,
-    0x0C,
-    0x01,
-    0x06,
-    0x03,
-    0x72,
-    0x06,
-    0xF2,
-    0x06,
-    0xF2,
-    0x06,
-    0x72,
-    0x06,
-    0x06,
-    0x07,
-    0x02,
-    0x06,
-    0xF1,
-    0x04,
-    0xF9,
-    0x0C,
-    0xF9,
-    0x0C,
-    0xF9,
-    0x0C,
-    0xF1,
-    0x0C,
-    0x03,
-    0x0E,
-    0x06,
-    0x0F,
-    0xFC,
-    0x07,
-    0xF8,
-    0x03,
-
-    /* @360 '9' (12 pixels wide) */
-    0xFC,
-    0x03,
-    0x06,
-    0x03,
-    0x03,
-    0x06,
-    0xF1,
-    0x04,
-    0xF9,
-    0x0C,
-    0xF9,
-    0x0C,
-    0xF1,
-    0x0C,
-    0x03,
-    0x0C,
-    0x06,
-    0x0C,
-    0xFE,
-    0x0E,
-    0x7C,
-    0x0E,
-    0x38,
-    0x0F,
-    0x30,
-    0x07,
-    0x1C,
-    0x07,
-    0x84,
-    0x03,
-    0xC4,
-    0x01,
-    0xFC,
-    0x00,
-    0xF8,
-    0x00,
-
-    /* @396 'B' (12 pixels wide) */
-    0xFE,
-    0x01,
-    0x02,
-    0x03,
-    0x02,
-    0x02,
-    0x72,
-    0x06,
-    0xF2,
-    0x06,
-    0xF2,
-    0x06,
-    0x72,
-    0x06,
-    0x02,
-    0x06,
-    0x02,
-    0x06,
-    0xF2,
-    0x0C,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0C,
-    0x02,
-    0x0E,
-    0x02,
-    0x0E,
-    0xFE,
-    0x07,
-    0xFC,
-    0x03,
-
-    /* @432 'C' (12 pixels wide) */
-    0xF0,
-    0x03,
-    0x18,
-    0x02,
-    0x0C,
-    0x06,
-    0xE4,
-    0x0C,
-    0xE6,
-    0x0D,
-    0xF2,
-    0x0F,
-    0x72,
-    0x0F,
-    0x32,
-    0x0F,
-    0x12,
-    0x00,
-    0x12,
-    0x00,
-    0x12,
-    0x00,
-    0x32,
-    0x07,
-    0xA6,
-    0x0D,
-    0xE4,
-    0x0C,
-    0x08,
-    0x0E,
-    0x18,
-    0x0E,
-    0xF0,
-    0x07,
-    0xF0,
-    0x03,
-
-    /* @468 'D' (12 pixels wide) */
-    0xFE,
-    0x01,
-    0x02,
-    0x03,
-    0x02,
-    0x02,
-    0x72,
-    0x06,
-    0xF2,
-    0x06,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0E,
-    0xF2,
-    0x0E,
-    0x72,
-    0x0E,
-    0x02,
-    0x06,
-    0x02,
-    0x07,
-    0xFE,
-    0x03,
-    0xFC,
-    0x01,
-
-    /* @504 'F' (12 pixels wide) */
-    0xFE,
-    0x07,
-    0x02,
-    0x0C,
-    0x02,
-    0x0C,
-    0xF2,
-    0x0F,
-    0xF2,
-    0x0F,
-    0xF2,
-    0x0F,
-    0x12,
-    0x00,
-    0xF2,
-    0x03,
-    0x02,
-    0x02,
-    0xF2,
-    0x03,
-    0xF2,
-    0x03,
-    0xF2,
-    0x03,
-    0x12,
-    0x00,
-    0x12,
-    0x00,
-    0x12,
-    0x00,
-    0x12,
-    0x00,
-    0x1E,
-    0x00,
-    0x1C,
-    0x00,
-
-    /* @540 'G' (12 pixels wide) */
-    0xF0,
-    0x07,
-    0x18,
-    0x06,
-    0x0C,
-    0x0C,
-    0xE4,
-    0x0D,
-    0xE6,
-    0x0F,
-    0xF2,
-    0x0F,
-    0xF2,
-    0x0F,
-    0x32,
-    0x04,
-    0x32,
-    0x0C,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0D,
-    0xE6,
-    0x0D,
-    0xE6,
-    0x0D,
-    0xE4,
-    0x0D,
-    0x08,
-    0x0C,
-    0x18,
-    0x0C,
-    0xF0,
-    0x0F,
-    0xF0,
-    0x0F,
-
-    /* @576 'H' (12 pixels wide) */
-    0x1E,
-    0x07,
-    0x12,
-    0x0D,
-    0x12,
-    0x0D,
-    0x12,
-    0x0D,
-    0x12,
-    0x0D,
-    0x12,
-    0x0D,
-    0x12,
-    0x0D,
-    0xF2,
-    0x0D,
-    0x02,
-    0x0C,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0D,
-    0x12,
-    0x0D,
-    0x12,
-    0x0D,
-    0x12,
-    0x0D,
-    0x12,
-    0x0D,
-    0x1E,
-    0x0F,
-    0x1C,
-    0x0F,
-
-    /* @612 'J' (12 pixels wide) */
-    0x80,
-    0x03,
-    0x80,
-    0x06,
-    0x80,
-    0x06,
-    0x80,
-    0x06,
-    0x80,
-    0x06,
-    0x80,
-    0x06,
-    0x80,
-    0x06,
-    0x80,
-    0x06,
-    0x80,
-    0x06,
-    0x80,
-    0x06,
-    0x8E,
-    0x06,
-    0x8A,
-    0x06,
-    0xDA,
-    0x06,
-    0x72,
-    0x06,
-    0x02,
-    0x06,
-    0x06,
-    0x03,
-    0xFC,
-    0x03,
-    0xF8,
-    0x01,
-
-    /* @648 'K' (12 pixels wide) */
-    0x1E,
-    0x07,
-    0x92,
-    0x0D,
-    0xD2,
-    0x0C,
-    0x72,
-    0x0E,
-    0x32,
-    0x0E,
-    0x12,
-    0x0F,
-    0x92,
-    0x07,
-    0xC2,
-    0x03,
-    0xC2,
-    0x01,
-    0x92,
-    0x01,
-    0x12,
-    0x01,
-    0x32,
-    0x02,
-    0x32,
-    0x02,
-    0x72,
-    0x06,
-    0xD2,
-    0x0C,
-    0x92,
-    0x0D,
-    0x9E,
-    0x0F,
-    0x1C,
-    0x0F,
-
-    /* @684 'M' (12 pixels wide) */
-    0x1E,
-    0x07,
-    0x92,
-    0x0D,
-    0xA2,
-    0x0C,
-    0xE2,
-    0x0C,
-    0x62,
-    0x0C,
-    0x62,
-    0x0C,
-    0x12,
-    0x0D,
-    0x12,
-    0x0D,
-    0x92,
-    0x0D,
-    0x92,
-    0x0D,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0D,
-    0x12,
-    0x0D,
-    0x12,
-    0x0D,
-    0x12,
-    0x0D,
-    0x1E,
-    0x0F,
-    0x1C,
-    0x0F,
-
-    /* @720 'N' (12 pixels wide) */
-    0x1E,
-    0x07,
-    0x12,
-    0x0D,
-    0x22,
-    0x0D,
-    0x62,
-    0x0D,
-    0x62,
-    0x0D,
-    0xD2,
-    0x0D,
-    0xD2,
-    0x0D,
-    0x92,
-    0x0D,
-    0x92,
-    0x0D,
-    0x32,
-    0x0D,
-    0x32,
-    0x0D,
-    0x72,
-    0x0C,
-    0x52,
-    0x0C,
-    0xD2,
-    0x0C,
-    0x92,
-    0x0C,
-    0x92,
-    0x0D,
-    0x1E,
-    0x0F,
-    0x1C,
-    0x0F,
-
-    /* @756 'P' (12 pixels wide) */
-    0xFE,
-    0x03,
-    0x02,
-    0x02,
-    0x02,
-    0x06,
-    0xF2,
-    0x0C,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0C,
-    0x02,
-    0x0E,
-    0x02,
-    0x0E,
-    0xF2,
-    0x0F,
-    0xF2,
-    0x07,
-    0xF2,
-    0x03,
-    0x12,
-    0x00,
-    0x12,
-    0x00,
-    0x12,
-    0x00,
-    0x1E,
-    0x00,
-    0x1C,
-    0x00,
-
-    /* @792 'Q' (12 pixels wide) */
-    0xF0,
-    0x01,
-    0x18,
-    0x03,
-    0x0C,
-    0x02,
-    0x64,
-    0x06,
-    0xE6,
-    0x06,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0D,
-    0x32,
-    0x0D,
-    0x26,
-    0x0E,
-    0x26,
-    0x0E,
-    0x64,
-    0x0E,
-    0x08,
-    0x0C,
-    0x18,
-    0x0D,
-    0xF0,
-    0x0F,
-    0xF0,
-    0x0F,
-
-    /* @828 'R' (12 pixels wide) */
-    0xFE,
-    0x03,
-    0x02,
-    0x02,
-    0x02,
-    0x06,
-    0xF2,
-    0x0C,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0D,
-    0xF2,
-    0x0C,
-    0x02,
-    0x0E,
-    0x02,
-    0x0E,
-    0x12,
-    0x0F,
-    0x32,
-    0x06,
-    0x32,
-    0x06,
-    0x72,
-    0x06,
-    0xD2,
-    0x0C,
-    0x92,
-    0x0D,
-    0x9E,
-    0x0F,
-    0x1C,
-    0x0F,
-
-    /* @864 'T' (12 pixels wide) */
-    0xFE,
-    0x03,
-    0x02,
-    0x02,
-    0x02,
-    0x02,
-    0xDE,
-    0x03,
-    0xDC,
-    0x03,
-    0xDC,
-    0x03,
-    0xD0,
-    0x00,
-    0xD0,
-    0x00,
-    0xD0,
-    0x00,
-    0xD0,
-    0x00,
-    0xD0,
-    0x00,
-    0xD0,
-    0x00,
-    0xD0,
-    0x00,
-    0xD0,
-    0x00,
-    0xD0,
-    0x00,
-    0xD0,
-    0x00,
-    0xF0,
-    0x00,
-    0xF0,
-    0x00,
-
-    /* @900 'V' (12 pixels wide) */
-    0x1E,
-    0x07,
-    0x12,
-    0x0D,
-    0x12,
-    0x0D,
-    0x92,
-    0x0D,
-    0xA6,
-    0x0E,
-    0xA4,
-    0x0E,
-    0xA4,
-    0x0E,
-    0xE4,
-    0x06,
-    0x6C,
-    0x06,
-    0x68,
-    0x06,
-    0x68,
-    0x02,
-    0x18,
-    0x03,
-    0x10,
-    0x03,
-    0x10,
-    0x01,
-    0x90,
-    0x01,
-    0x90,
-    0x01,
-    0xE0,
-    0x01,
-    0xE0,
-    0x01,
-
-    /* @936 'W' (12 pixels wide) */
-    0x1E,
-    0x07,
-    0x12,
-    0x0D,
-    0x12,
-    0x0D,
-    0x12,
-    0x0D,
-    0x12,
-    0x0D,
-    0x12,
-    0x0D,
-    0x12,
-    0x0D,
-    0x12,
-    0x0D,
-    0xF2,
-    0x0D,
-    0x92,
-    0x0D,
-    0x12,
-    0x0D,
-    0x62,
-    0x0C,
-    0x62,
-    0x0C,
-    0xE2,
-    0x0C,
-    0xE2,
-    0x0C,
-    0xB2,
-    0x0D,
-    0x3E,
-    0x0F,
-    0x1C,
-    0x0F,
-
-    /* @972 'X' (12 pixels wide) */
-    0x1E,
-    0x07,
-    0x12,
-    0x0D,
-    0xB2,
-    0x0D,
-    0xA6,
-    0x0E,
-    0xE4,
-    0x0E,
-    0x6C,
-    0x0E,
-    0x18,
-    0x07,
-    0x98,
-    0x07,
-    0x90,
-    0x03,
-    0x10,
-    0x01,
-    0x68,
-    0x02,
-    0xE4,
-    0x02,
-    0xE4,
-    0x06,
-    0xE6,
-    0x06,
-    0xB2,
-    0x0D,
-    0x32,
-    0x0D,
-    0x1E,
-    0x0F,
-    0x1C,
-    0x0E,
-
-    /* @1008 'Y' (12 pixels wide) */
-    0x1E,
-    0x07,
-    0x12,
-    0x0D,
-    0xB2,
-    0x0D,
-    0xA6,
-    0x0E,
-    0xE4,
-    0x0E,
-    0x6C,
-    0x0E,
-    0x68,
-    0x06,
-    0x18,
-    0x07,
-    0x18,
-    0x03,
-    0x90,
-    0x03,
-    0x90,
-    0x01,
-    0x90,
-    0x01,
-    0xA0,
-    0x01,
-    0xA0,
-    0x01,
-    0xA0,
-    0x01,
-    0xE0,
-    0x01,
-    0xE0,
-    0x01,
-    0xE0,
-    0x01,
-};
-
-/* Character descriptors for Karma Future 14pt */
-/* { [Char width in bits], [Offset into karmaFuture_14ptCharBitmaps in bytes] } */
-const FONT_CHAR_INFO karmaFuture_14ptDescriptors[] = {
-    {12, 0}, /* - */
-    {0, 0}, /* . */
-    {0, 0}, /* / */
-    {12, 36}, /* 0 */
-    {12, 72}, /* 1 */
-    {12, 108}, /* 2 */
-    {12, 144}, /* 3 */
-    {12, 180}, /* 4 */
-    {12, 216}, /* 5 */
-    {12, 252}, /* 6 */
-    {12, 288}, /* 7 */
-    {12, 324}, /* 8 */
-    {12, 360}, /* 9 */
-    {0, 0}, /* : */
-    {0, 0}, /* ; */
-    {0, 0}, /* < */
-    {0, 0}, /* = */
-    {0, 0}, /* > */
-    {0, 0}, /* ? */
-    {0, 0}, /* @ */
-    {0, 0}, /* A */
-    {12, 396}, /* B */
-    {12, 432}, /* C */
-    {12, 468}, /* D */
-    {0, 0}, /* E */
-    {12, 504}, /* F */
-    {12, 540}, /* G */
-    {12, 576}, /* H */
-    {0, 0}, /* I */
-    {12, 612}, /* J */
-    {12, 648}, /* K */
-    {0, 0}, /* L */
-    {12, 684}, /* M */
-    {12, 720}, /* N */
-    {0, 0}, /* O */
-    {12, 756}, /* P */
-    {12, 792}, /* Q */
-    {12, 828}, /* R */
-    {0, 0}, /* S */
-    {12, 864}, /* T */
-    {0, 0}, /* U */
-    {12, 900}, /* V */
-    {12, 936}, /* W */
-    {12, 972}, /* X */
-    {12, 1008}, /* Y */
-};
-
-/* Font information for Karma Future 14pt */
-const FONT_INFO karmaFuture_14ptFontInfo = {
-    "Karma Future",
-    18, /*  Character height */
-    '-', /*  Start character */
-    'Y', /*  End character */
-    2, /*  Width, in pixels, of space character */
-    karmaFuture_14ptDescriptors, /*  Character descriptor array */
-    karmaFuture_14ptBitmaps, /*  Character bitmap array */
-};

+ 0 - 8
lib/fonts/karma_future/karma_future.h

@@ -1,8 +0,0 @@
-#pragma once
-
-/* GENERATED BY https://github.com/pavius/the-dot-factory */
-
-#include "../font_info.h"
-
-/* Font data for Karma Future 14pt */
-extern const FONT_INFO karmaFuture_14ptFontInfo;

+ 0 - 942
lib/fonts/mode_nine/mode_nine.c

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

+ 0 - 8
lib/fonts/mode_nine/mode_nine.h

@@ -1,8 +0,0 @@
-#pragma once
-
-/* GENERATED BY https://github.com/pavius/the-dot-factory */
-
-#include "../font_info.h"
-
-/* Font data for ModeNine 15pt */
-extern const FONT_INFO modeNine_15ptFontInfo;

+ 0 - 1115
lib/fonts/pixelflag/pixelflag.c

@@ -1,1115 +0,0 @@
-#include "pixelflag.h"
-
-/* GENERATED BY https://github.com/pavius/the-dot-factory */
-
-/* 
-**  Font data for {PixelFlag} 18pt
-*/
-
-/* Character bitmaps for {PixelFlag} 18pt */
-const uint8_t pixelFlag_18ptBitmaps[] = {
-    /* @0 '-' (13 pixels wide) */
-    0xFE,
-    0x07,
-    0xFE,
-    0x07,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0xF8,
-    0x07,
-    0xF8,
-    0x07,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0xFE,
-    0x07,
-    0xFE,
-    0x07,
-
-    /* @34 '0' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0xF8,
-    0x07,
-    0xF8,
-    0x07,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0xFC,
-    0x1F,
-    0xF8,
-    0x07,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @68 '1' (13 pixels wide) */
-    0xff,
-    0xff,
-    0xff,
-    0xff,
-    0x00,
-    0xe0,
-    0xc0,
-    0xe0,
-    0xc0,
-    0xe0,
-    0xe0,
-    0xe0,
-    0xe0,
-    0xe0,
-    0xc0,
-    0xe0,
-    0xc0,
-    0xe0,
-    0xc0,
-    0xe0,
-    0xc0,
-    0xe0,
-    0xc0,
-    0xe0,
-    0xe0,
-    0xe3,
-    0xe0,
-    0xe3,
-    0x00,
-    0xe0,
-    0xff,
-    0xff,
-    0xff,
-    0xff,
-
-    /* @102 '2' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0xFC,
-    0x07,
-    0xFC,
-    0x07,
-    0x00,
-    0x18,
-    0x00,
-    0x18,
-    0x00,
-    0x18,
-    0xF8,
-    0x07,
-    0xFC,
-    0x07,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0xFC,
-    0x1F,
-    0xFC,
-    0x1F,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @136 '3' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0xFC,
-    0x07,
-    0xFC,
-    0x07,
-    0x00,
-    0x18,
-    0x00,
-    0x18,
-    0x00,
-    0x18,
-    0xE0,
-    0x07,
-    0xE0,
-    0x1F,
-    0x00,
-    0x18,
-    0x00,
-    0x18,
-    0xFC,
-    0x1F,
-    0xFC,
-    0x07,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @170 '4' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0x00,
-    0x06,
-    0x00,
-    0x06,
-    0x00,
-    0x07,
-    0xC0,
-    0x07,
-    0xC0,
-    0x06,
-    0x60,
-    0x06,
-    0x78,
-    0x06,
-    0x18,
-    0x06,
-    0xFC,
-    0x1F,
-    0xFC,
-    0x1F,
-    0x00,
-    0x06,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @204 '5' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0xFC,
-    0x1F,
-    0xFC,
-    0x1F,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0xFC,
-    0x07,
-    0xFC,
-    0x1F,
-    0x00,
-    0x18,
-    0x00,
-    0x18,
-    0xFC,
-    0x1F,
-    0xFC,
-    0x07,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @238 '6' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0xF8,
-    0x07,
-    0xF8,
-    0x07,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x00,
-    0xFC,
-    0x07,
-    0xFC,
-    0x1F,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0xFC,
-    0x1F,
-    0xF8,
-    0x07,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @272 '7' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0xFC,
-    0x1F,
-    0xFC,
-    0x1F,
-    0x00,
-    0x06,
-    0x00,
-    0x07,
-    0x00,
-    0x03,
-    0xC0,
-    0x00,
-    0xE0,
-    0x00,
-    0x60,
-    0x00,
-    0x18,
-    0x00,
-    0x1C,
-    0x00,
-    0x0C,
-    0x00,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @306 '8' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0xF8,
-    0x07,
-    0xF8,
-    0x07,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0xF8,
-    0x07,
-    0xFC,
-    0x1F,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0xFC,
-    0x1F,
-    0xF8,
-    0x07,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @340 '9' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0xF8,
-    0x07,
-    0xF8,
-    0x07,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0xF8,
-    0x1F,
-    0xF8,
-    0x1F,
-    0x00,
-    0x18,
-    0x0C,
-    0x18,
-    0xFC,
-    0x1F,
-    0xF8,
-    0x07,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @374 'B' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0xFC,
-    0x07,
-    0xFC,
-    0x07,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0xFC,
-    0x07,
-    0xFC,
-    0x1F,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0xFC,
-    0x1F,
-    0xFC,
-    0x07,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @408 'C' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0xF8,
-    0x07,
-    0xF8,
-    0x07,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x18,
-    0xFC,
-    0x1F,
-    0xF8,
-    0x07,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @442 'D' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0xFC,
-    0x07,
-    0xFC,
-    0x07,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0xFC,
-    0x1F,
-    0xFC,
-    0x07,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @476 'F' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0xFC,
-    0x1F,
-    0xFC,
-    0x1F,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0xFC,
-    0x03,
-    0xFC,
-    0x03,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @510 'G' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0xF8,
-    0x07,
-    0xF8,
-    0x07,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x00,
-    0xCC,
-    0x1F,
-    0xCC,
-    0x1F,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0xFC,
-    0x1F,
-    0xF8,
-    0x07,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @544 'H' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0xFC,
-    0x1F,
-    0xFC,
-    0x1F,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @578 'J' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0x00,
-    0x18,
-    0x00,
-    0x18,
-    0x00,
-    0x18,
-    0x00,
-    0x18,
-    0x00,
-    0x18,
-    0x00,
-    0x18,
-    0x00,
-    0x18,
-    0x00,
-    0x18,
-    0x0C,
-    0x18,
-    0xFC,
-    0x1F,
-    0xF8,
-    0x07,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @612 'K' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x06,
-    0x0C,
-    0x07,
-    0x0C,
-    0x03,
-    0xFC,
-    0x00,
-    0xFC,
-    0x03,
-    0x0C,
-    0x03,
-    0x0C,
-    0x06,
-    0x0C,
-    0x1E,
-    0x0C,
-    0x18,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @646 'M' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x1C,
-    0x1E,
-    0x7C,
-    0x1F,
-    0x6C,
-    0x1B,
-    0xCC,
-    0x18,
-    0xCC,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @680 'N' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x1C,
-    0x18,
-    0x7C,
-    0x18,
-    0x6C,
-    0x18,
-    0xCC,
-    0x18,
-    0xCC,
-    0x1B,
-    0x0C,
-    0x1B,
-    0x0C,
-    0x1E,
-    0x0C,
-    0x1E,
-    0x0C,
-    0x18,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @714 'P' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0xFC,
-    0x07,
-    0xFC,
-    0x07,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0xFC,
-    0x07,
-    0xFC,
-    0x07,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @748 'Q' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0xF8,
-    0x07,
-    0xF8,
-    0x07,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0xCC,
-    0x18,
-    0xCC,
-    0x1B,
-    0x0C,
-    0x1B,
-    0x0C,
-    0x1E,
-    0xFC,
-    0x1F,
-    0xF8,
-    0x07,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @782 'R' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0xFC,
-    0x07,
-    0xFC,
-    0x07,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0xFC,
-    0x07,
-    0xFC,
-    0x1F,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @816 'T' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0xFC,
-    0x1F,
-    0xFC,
-    0x1F,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @850 'V' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x1C,
-    0x1E,
-    0x18,
-    0x06,
-    0x60,
-    0x03,
-    0xE0,
-    0x03,
-    0xC0,
-    0x00,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @884 'W' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0xCC,
-    0x18,
-    0xCC,
-    0x18,
-    0xCC,
-    0x18,
-    0xCC,
-    0x18,
-    0xCC,
-    0x18,
-    0xCC,
-    0x18,
-    0xFC,
-    0x1F,
-    0x78,
-    0x07,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @918 'X' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x18,
-    0x06,
-    0x78,
-    0x07,
-    0x60,
-    0x03,
-    0xC0,
-    0x00,
-    0xE0,
-    0x03,
-    0x60,
-    0x03,
-    0x18,
-    0x06,
-    0x1C,
-    0x1E,
-    0x0C,
-    0x18,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-
-    /* @952 'Y' (13 pixels wide) */
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-    0x00,
-    0x00,
-    0x0C,
-    0x18,
-    0x0C,
-    0x18,
-    0x18,
-    0x06,
-    0x78,
-    0x07,
-    0x60,
-    0x03,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0xC0,
-    0x00,
-    0x00,
-    0x00,
-    0xFF,
-    0x1F,
-    0xFF,
-    0x1F,
-};
-
-/* Character descriptors for {PixelFlag} 18pt */
-/* { [Char width in bits], [Offset into pixelFlag_18ptCharBitmaps in bytes] } */
-const FONT_CHAR_INFO pixelFlag_18ptDescriptors[] = {
-    {13, 0}, /* - */
-    {0, 0}, /* . */
-    {0, 0}, /* / */
-    {13, 34}, /* 0 */
-    {13, 68}, /* 1 */
-    {13, 102}, /* 2 */
-    {13, 136}, /* 3 */
-    {13, 170}, /* 4 */
-    {13, 204}, /* 5 */
-    {13, 238}, /* 6 */
-    {13, 272}, /* 7 */
-    {13, 306}, /* 8 */
-    {13, 340}, /* 9 */
-    {0, 0}, /* : */
-    {0, 0}, /* ; */
-    {0, 0}, /* < */
-    {0, 0}, /* = */
-    {0, 0}, /* > */
-    {0, 0}, /* ? */
-    {0, 0}, /* @ */
-    {0, 0}, /* A */
-    {13, 374}, /* B */
-    {13, 408}, /* C */
-    {13, 442}, /* D */
-    {0, 0}, /* E */
-    {13, 476}, /* F */
-    {13, 510}, /* G */
-    {13, 544}, /* H */
-    {0, 0}, /* I */
-    {13, 578}, /* J */
-    {13, 612}, /* K */
-    {0, 0}, /* L */
-    {13, 646}, /* M */
-    {13, 680}, /* N */
-    {0, 0}, /* O */
-    {13, 714}, /* P */
-    {13, 748}, /* Q */
-    {13, 782}, /* R */
-    {0, 0}, /* S */
-    {13, 816}, /* T */
-    {0, 0}, /* U */
-    {13, 850}, /* V */
-    {13, 884}, /* W */
-    {13, 918}, /* X */
-    {13, 952}, /* Y */
-};
-
-/* Font information for {PixelFlag} 18pt */
-const FONT_INFO pixelFlag_18ptFontInfo = {
-    "Pixel Flag",
-    17, /*  Character height */
-    '-', /*  Start character */
-    'Y', /*  End character */
-    0, /*  Width, in pixels, of space character */
-    pixelFlag_18ptDescriptors, /*  Character descriptor array */
-    pixelFlag_18ptBitmaps, /*  Character bitmap array */
-};

+ 0 - 7
lib/fonts/pixelflag/pixelflag.h

@@ -1,7 +0,0 @@
-#pragma once
-
-/* GENERATED BY https://github.com/pavius/the-dot-factory */
-
-#include "../font_info.h"
-
-extern const FONT_INFO pixelFlag_18ptFontInfo;

+ 0 - 1058
lib/fonts/redhat_mono/redhat_mono.c

@@ -1,1058 +0,0 @@
-#include "redhat_mono.h"
-#include <stdint.h>
-
-/* GENERATED BY https://github.com/pavius/the-dot-factory */
-
-/* 
-**  Font data for Red Hat Mono 16pt
-*/
-
-/* Character bitmaps for Red Hat Mono 16pt */
-const uint8_t redHatMono_16ptBitmaps[] = {
-    /* @0 '-' (12 pixels wide) */
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0xF8,
-    0x03,
-    0xF8,
-    0x03,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @32 '0' (12 pixels wide) */
-    0xF0,
-    0x00,
-    0xF8,
-    0x03,
-    0x1C,
-    0x07,
-    0x0E,
-    0x07,
-    0x8E,
-    0x07,
-    0x86,
-    0x0E,
-    0xC6,
-    0x0C,
-    0x66,
-    0x0C,
-    0x66,
-    0x0C,
-    0x36,
-    0x0E,
-    0x36,
-    0x0E,
-    0x1E,
-    0x06,
-    0x1C,
-    0x07,
-    0xF8,
-    0x03,
-    0xF0,
-    0x01,
-    0x00,
-    0x00,
-
-    /* @64 '1' (12 pixels wide) */
-    0x40,
-    0x00,
-    0x78,
-    0x00,
-    0x7E,
-    0x00,
-    0x66,
-    0x00,
-    0x60,
-    0x00,
-    0x60,
-    0x00,
-    0x60,
-    0x00,
-    0x60,
-    0x00,
-    0x60,
-    0x00,
-    0x60,
-    0x00,
-    0x60,
-    0x00,
-    0x60,
-    0x00,
-    0x60,
-    0x00,
-    0xFE,
-    0x07,
-    0xFE,
-    0x07,
-    0x00,
-    0x00,
-
-    /* @96 '2' (12 pixels wide) */
-    0xF0,
-    0x01,
-    0xFC,
-    0x03,
-    0x0E,
-    0x07,
-    0x04,
-    0x06,
-    0x00,
-    0x06,
-    0x00,
-    0x07,
-    0x00,
-    0x03,
-    0x80,
-    0x03,
-    0xC0,
-    0x01,
-    0xE0,
-    0x00,
-    0x70,
-    0x00,
-    0x38,
-    0x00,
-    0x1C,
-    0x00,
-    0xFE,
-    0x07,
-    0xFE,
-    0x07,
-    0x00,
-    0x00,
-
-    /* @128 '3' (12 pixels wide) */
-    0xF0,
-    0x00,
-    0xFC,
-    0x03,
-    0x0E,
-    0x07,
-    0x04,
-    0x06,
-    0x00,
-    0x06,
-    0x00,
-    0x06,
-    0x80,
-    0x03,
-    0xE0,
-    0x00,
-    0xE0,
-    0x03,
-    0x00,
-    0x06,
-    0x00,
-    0x06,
-    0x00,
-    0x0E,
-    0x06,
-    0x07,
-    0xFE,
-    0x07,
-    0xF8,
-    0x01,
-    0x00,
-    0x00,
-
-    /* @160 '4' (12 pixels wide) */
-    0x00,
-    0x03,
-    0x80,
-    0x03,
-    0xC0,
-    0x03,
-    0xE0,
-    0x03,
-    0x70,
-    0x03,
-    0x30,
-    0x03,
-    0x18,
-    0x03,
-    0x0C,
-    0x03,
-    0x0E,
-    0x03,
-    0xFF,
-    0x0F,
-    0xFF,
-    0x0F,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x03,
-    0x00,
-    0x00,
-
-    /* @192 '5' (12 pixels wide) */
-    0xFC,
-    0x07,
-    0xFC,
-    0x07,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0xFC,
-    0x01,
-    0xFE,
-    0x07,
-    0x00,
-    0x07,
-    0x00,
-    0x06,
-    0x00,
-    0x06,
-    0x00,
-    0x06,
-    0x06,
-    0x07,
-    0xFE,
-    0x03,
-    0xF8,
-    0x01,
-    0x00,
-    0x00,
-
-    /* @224 '6' (12 pixels wide) */
-    0xE0,
-    0x03,
-    0xF8,
-    0x07,
-    0x3C,
-    0x06,
-    0x0C,
-    0x00,
-    0x0E,
-    0x00,
-    0x06,
-    0x00,
-    0xE6,
-    0x03,
-    0xFE,
-    0x07,
-    0x0E,
-    0x0E,
-    0x06,
-    0x0C,
-    0x06,
-    0x0C,
-    0x0E,
-    0x0E,
-    0x1C,
-    0x06,
-    0xF8,
-    0x07,
-    0xF0,
-    0x03,
-    0x00,
-    0x00,
-
-    /* @256 '7' (12 pixels wide) */
-    0xFE,
-    0x0F,
-    0xFE,
-    0x0F,
-    0x00,
-    0x0E,
-    0x00,
-    0x06,
-    0x00,
-    0x07,
-    0x00,
-    0x03,
-    0x80,
-    0x01,
-    0xC0,
-    0x01,
-    0xC0,
-    0x00,
-    0xE0,
-    0x00,
-    0x60,
-    0x00,
-    0x70,
-    0x00,
-    0x30,
-    0x00,
-    0x38,
-    0x00,
-    0x1C,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @288 '8' (12 pixels wide) */
-    0xF0,
-    0x01,
-    0xFC,
-    0x03,
-    0x1C,
-    0x07,
-    0x0E,
-    0x06,
-    0x0E,
-    0x06,
-    0x0C,
-    0x06,
-    0xBC,
-    0x03,
-    0xF0,
-    0x01,
-    0x1C,
-    0x07,
-    0x0E,
-    0x06,
-    0x06,
-    0x0E,
-    0x06,
-    0x0E,
-    0x0E,
-    0x06,
-    0xFC,
-    0x07,
-    0xF8,
-    0x03,
-    0x00,
-    0x00,
-
-    /* @320 '9' (12 pixels wide) */
-    0xF8,
-    0x01,
-    0xFC,
-    0x03,
-    0x0C,
-    0x07,
-    0x0E,
-    0x0E,
-    0x06,
-    0x0C,
-    0x06,
-    0x0C,
-    0x0E,
-    0x0E,
-    0xFC,
-    0x0F,
-    0xF8,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0E,
-    0x00,
-    0x06,
-    0x8C,
-    0x07,
-    0xFC,
-    0x03,
-    0xF8,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @352 'B' (12 pixels wide) */
-    0xFC,
-    0x00,
-    0xFC,
-    0x03,
-    0x8C,
-    0x07,
-    0x0C,
-    0x06,
-    0x0C,
-    0x06,
-    0x0C,
-    0x07,
-    0xFC,
-    0x03,
-    0xFC,
-    0x01,
-    0x8C,
-    0x07,
-    0x0C,
-    0x06,
-    0x0C,
-    0x0E,
-    0x0C,
-    0x0E,
-    0x0C,
-    0x07,
-    0xFC,
-    0x07,
-    0xFC,
-    0x01,
-    0x00,
-    0x00,
-
-    /* @384 'C' (12 pixels wide) */
-    0xF0,
-    0x01,
-    0xF8,
-    0x03,
-    0xBC,
-    0x07,
-    0x0C,
-    0x06,
-    0x0E,
-    0x0E,
-    0x0E,
-    0x00,
-    0x06,
-    0x00,
-    0x06,
-    0x00,
-    0x06,
-    0x00,
-    0x06,
-    0x00,
-    0x0E,
-    0x0E,
-    0x0E,
-    0x0E,
-    0x1C,
-    0x07,
-    0xF8,
-    0x03,
-    0xF0,
-    0x01,
-    0x00,
-    0x00,
-
-    /* @416 'D' (12 pixels wide) */
-    0x7E,
-    0x00,
-    0xFE,
-    0x01,
-    0xCE,
-    0x03,
-    0x0E,
-    0x07,
-    0x0E,
-    0x06,
-    0x0E,
-    0x0E,
-    0x0E,
-    0x0E,
-    0x0E,
-    0x0E,
-    0x0C,
-    0x0E,
-    0x0C,
-    0x0E,
-    0x0C,
-    0x06,
-    0x0C,
-    0x07,
-    0x8C,
-    0x07,
-    0xFC,
-    0x03,
-    0xFC,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @448 'F' (12 pixels wide) */
-    0xFC,
-    0x0F,
-    0xFC,
-    0x0F,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0xFC,
-    0x01,
-    0xFC,
-    0x01,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @480 'G' (12 pixels wide) */
-    0xF0,
-    0x01,
-    0xF8,
-    0x03,
-    0xBC,
-    0x07,
-    0x0C,
-    0x06,
-    0x0E,
-    0x0E,
-    0x06,
-    0x00,
-    0x06,
-    0x00,
-    0x86,
-    0x0F,
-    0x86,
-    0x0F,
-    0x06,
-    0x0C,
-    0x0E,
-    0x0E,
-    0x0E,
-    0x06,
-    0x1C,
-    0x07,
-    0xF8,
-    0x03,
-    0xF0,
-    0x01,
-    0x00,
-    0x00,
-
-    /* @512 'H' (12 pixels wide) */
-    0x0E,
-    0x06,
-    0x0E,
-    0x06,
-    0x0E,
-    0x06,
-    0x0E,
-    0x06,
-    0x0E,
-    0x06,
-    0x0E,
-    0x06,
-    0x0E,
-    0x06,
-    0xFE,
-    0x07,
-    0xFE,
-    0x07,
-    0x0E,
-    0x06,
-    0x0E,
-    0x06,
-    0x0E,
-    0x06,
-    0x0E,
-    0x06,
-    0x0E,
-    0x06,
-    0x0E,
-    0x06,
-    0x00,
-    0x00,
-
-    /* @544 'J' (12 pixels wide) */
-    0x00,
-    0x06,
-    0x00,
-    0x06,
-    0x00,
-    0x06,
-    0x00,
-    0x06,
-    0x00,
-    0x06,
-    0x00,
-    0x06,
-    0x00,
-    0x06,
-    0x00,
-    0x06,
-    0x00,
-    0x06,
-    0x00,
-    0x06,
-    0x04,
-    0x06,
-    0x07,
-    0x07,
-    0x8E,
-    0x07,
-    0xFC,
-    0x03,
-    0xF8,
-    0x01,
-    0x00,
-    0x00,
-
-    /* @576 'K' (12 pixels wide) */
-    0x0E,
-    0x0E,
-    0x0E,
-    0x07,
-    0x0E,
-    0x03,
-    0x8E,
-    0x01,
-    0xCE,
-    0x01,
-    0xEE,
-    0x00,
-    0x7E,
-    0x00,
-    0x3E,
-    0x00,
-    0x7E,
-    0x00,
-    0xEE,
-    0x00,
-    0xCE,
-    0x01,
-    0x8E,
-    0x03,
-    0x8E,
-    0x03,
-    0x0E,
-    0x07,
-    0x0E,
-    0x0E,
-    0x00,
-    0x00,
-
-    /* @608 'M' (12 pixels wide) */
-    0x0E,
-    0x0E,
-    0x0E,
-    0x0F,
-    0x1E,
-    0x0F,
-    0x9E,
-    0x0F,
-    0xB6,
-    0x0F,
-    0xB6,
-    0x0F,
-    0xF6,
-    0x0E,
-    0xE6,
-    0x0E,
-    0x66,
-    0x0E,
-    0x46,
-    0x0E,
-    0x26,
-    0x0E,
-    0x06,
-    0x0E,
-    0x06,
-    0x0E,
-    0x06,
-    0x0E,
-    0x06,
-    0x0E,
-    0x00,
-    0x00,
-
-    /* @640 'N' (12 pixels wide) */
-    0x0E,
-    0x06,
-    0x0E,
-    0x06,
-    0x1E,
-    0x06,
-    0x3E,
-    0x06,
-    0x3E,
-    0x06,
-    0x76,
-    0x06,
-    0x66,
-    0x06,
-    0xE6,
-    0x06,
-    0xC6,
-    0x06,
-    0xC6,
-    0x07,
-    0x86,
-    0x07,
-    0x86,
-    0x07,
-    0x06,
-    0x07,
-    0x06,
-    0x07,
-    0x06,
-    0x06,
-    0x00,
-    0x00,
-
-    /* @672 'P' (12 pixels wide) */
-    0xFC,
-    0x00,
-    0xFC,
-    0x03,
-    0x8C,
-    0x07,
-    0x0C,
-    0x0E,
-    0x0C,
-    0x0E,
-    0x0C,
-    0x0E,
-    0x0C,
-    0x06,
-    0xFC,
-    0x07,
-    0xFC,
-    0x03,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x0C,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @704 'Q' (12 pixels wide) */
-    0xF0,
-    0x00,
-    0xF8,
-    0x03,
-    0x9C,
-    0x07,
-    0x0E,
-    0x07,
-    0x0E,
-    0x0E,
-    0x06,
-    0x0E,
-    0x06,
-    0x0E,
-    0x06,
-    0x0E,
-    0x06,
-    0x0E,
-    0x06,
-    0x0E,
-    0xEE,
-    0x0E,
-    0xCE,
-    0x07,
-    0x9C,
-    0x07,
-    0xFC,
-    0x07,
-    0xF0,
-    0x07,
-    0x00,
-    0x0A,
-
-    /* @736 'R' (12 pixels wide) */
-    0xFC,
-    0x00,
-    0xFC,
-    0x03,
-    0x8C,
-    0x07,
-    0x0C,
-    0x06,
-    0x0C,
-    0x0E,
-    0x0C,
-    0x0E,
-    0x0C,
-    0x07,
-    0xFC,
-    0x07,
-    0xFC,
-    0x01,
-    0x8C,
-    0x01,
-    0x8C,
-    0x03,
-    0x0C,
-    0x03,
-    0x0C,
-    0x07,
-    0x0C,
-    0x06,
-    0x0C,
-    0x0E,
-    0x00,
-    0x00,
-
-    /* @768 'T' (12 pixels wide) */
-    0xFF,
-    0x0F,
-    0xFF,
-    0x0F,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @800 'V' (12 pixels wide) */
-    0x07,
-    0x0C,
-    0x06,
-    0x0C,
-    0x06,
-    0x0E,
-    0x0E,
-    0x06,
-    0x0C,
-    0x06,
-    0x0C,
-    0x07,
-    0x1C,
-    0x03,
-    0x1C,
-    0x03,
-    0x98,
-    0x03,
-    0x98,
-    0x03,
-    0xB8,
-    0x01,
-    0xB0,
-    0x01,
-    0xF0,
-    0x01,
-    0xF0,
-    0x00,
-    0xE0,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @832 'W' (12 pixels wide) */
-    0x67,
-    0x0C,
-    0xE6,
-    0x0C,
-    0xE6,
-    0x0C,
-    0xE6,
-    0x0C,
-    0xE6,
-    0x0C,
-    0xF6,
-    0x0C,
-    0xB6,
-    0x0E,
-    0xB6,
-    0x07,
-    0xB6,
-    0x07,
-    0x96,
-    0x07,
-    0x9C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x1C,
-    0x07,
-    0x0C,
-    0x07,
-    0x00,
-    0x00,
-
-    /* @864 'X' (12 pixels wide) */
-    0x0E,
-    0x0E,
-    0x0E,
-    0x06,
-    0x1C,
-    0x07,
-    0x98,
-    0x03,
-    0xB8,
-    0x01,
-    0xF0,
-    0x01,
-    0xF0,
-    0x00,
-    0xE0,
-    0x00,
-    0xF0,
-    0x00,
-    0xF0,
-    0x01,
-    0xB8,
-    0x03,
-    0x9C,
-    0x03,
-    0x0C,
-    0x07,
-    0x0E,
-    0x06,
-    0x07,
-    0x0E,
-    0x00,
-    0x00,
-
-    /* @896 'Y' (12 pixels wide) */
-    0x07,
-    0x0C,
-    0x0E,
-    0x0E,
-    0x0E,
-    0x06,
-    0x1C,
-    0x07,
-    0x18,
-    0x03,
-    0xB8,
-    0x03,
-    0xF0,
-    0x01,
-    0xF0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0xE0,
-    0x00,
-    0x00,
-    0x00,
-};
-
-/* Character descriptors for Red Hat Mono 16pt */
-/* { [Char width in bits], [Offset into redHatMono_16ptCharBitmaps in bytes] } */
-const FONT_CHAR_INFO redHatMono_16ptDescriptors[] = {
-    {12, 0}, /* - */
-    {0, 0}, /* . */
-    {0, 0}, /* / */
-    {12, 32}, /* 0 */
-    {12, 64}, /* 1 */
-    {12, 96}, /* 2 */
-    {12, 128}, /* 3 */
-    {12, 160}, /* 4 */
-    {12, 192}, /* 5 */
-    {12, 224}, /* 6 */
-    {12, 256}, /* 7 */
-    {12, 288}, /* 8 */
-    {12, 320}, /* 9 */
-    {0, 0}, /* : */
-    {0, 0}, /* ; */
-    {0, 0}, /* < */
-    {0, 0}, /* = */
-    {0, 0}, /* > */
-    {0, 0}, /* ? */
-    {0, 0}, /* @ */
-    {0, 0}, /* A */
-    {12, 352}, /* B */
-    {12, 384}, /* C */
-    {12, 416}, /* D */
-    {0, 0}, /* E */
-    {12, 448}, /* F */
-    {12, 480}, /* G */
-    {12, 512}, /* H */
-    {0, 0}, /* I */
-    {12, 544}, /* J */
-    {12, 576}, /* K */
-    {0, 0}, /* L */
-    {12, 608}, /* M */
-    {12, 640}, /* N */
-    {0, 0}, /* O */
-    {12, 672}, /* P */
-    {12, 704}, /* Q */
-    {12, 736}, /* R */
-    {0, 0}, /* S */
-    {12, 768}, /* T */
-    {0, 0}, /* U */
-    {12, 800}, /* V */
-    {12, 832}, /* W */
-    {12, 864}, /* X */
-    {12, 896}, /* Y */
-};
-
-/* Font information for Red Hat Mono 16pt */
-const FONT_INFO redHatMono_16ptFontInfo = {
-    "RedHat Mono",
-    16, /*  Character height */
-    '-', /*  Start character */
-    'Y', /*  End character */
-    2, /*  Width, in pixels, of space character */
-    redHatMono_16ptDescriptors, /*  Character descriptor array */
-    redHatMono_16ptBitmaps, /*  Character bitmap array */
-};

+ 0 - 8
lib/fonts/redhat_mono/redhat_mono.h

@@ -1,8 +0,0 @@
-#pragma once
-
-/* GENERATED BY https://github.com/pavius/the-dot-factory */
-
-#include "../font_info.h"
-
-/* Font data for Redhat Mono 16pt */
-extern const FONT_INFO redHatMono_16ptFontInfo;

+ 0 - 1057
lib/fonts/zector/zector.c

@@ -1,1057 +0,0 @@
-#include "zector.h"
-
-/* GENERATED BY https://github.com/pavius/the-dot-factory */
-
-/* 
-**  Font data for Zector 18pt
-*/
-
-/* Character bitmaps for Zector 18pt */
-const uint8_t zector_18ptBitmaps[] = {
-    /* @0 '-' (9 pixels wide) */
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0xFF,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-    0x00,
-
-    /* @32 '0' (9 pixels wide) */
-    0x3C,
-    0x00,
-    0xC2,
-    0x00,
-    0x83,
-    0x00,
-    0x85,
-    0x00,
-    0x85,
-    0x00,
-    0x89,
-    0x00,
-    0x89,
-    0x00,
-    0x91,
-    0x00,
-    0x91,
-    0x00,
-    0xA1,
-    0x00,
-    0xA1,
-    0x00,
-    0xC1,
-    0x00,
-    0xC1,
-    0x00,
-    0x81,
-    0x00,
-    0x42,
-    0x00,
-    0x3C,
-    0x00,
-
-    /* @64 '1' (9 pixels wide) */
-    0x10,
-    0x00,
-    0x18,
-    0x00,
-    0x18,
-    0x00,
-    0x14,
-    0x00,
-    0x14,
-    0x00,
-    0x12,
-    0x00,
-    0x12,
-    0x00,
-    0x11,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0xFF,
-    0x00,
-
-    /* @96 '2' (9 pixels wide) */
-    0x3C,
-    0x00,
-    0x42,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x40,
-    0x00,
-    0x20,
-    0x00,
-    0x20,
-    0x00,
-    0x10,
-    0x00,
-    0x08,
-    0x00,
-    0x08,
-    0x00,
-    0x04,
-    0x00,
-    0x02,
-    0x00,
-    0x02,
-    0x00,
-    0xFF,
-    0x00,
-
-    /* @128 '3' (9 pixels wide) */
-    0xFF,
-    0x01,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x40,
-    0x00,
-    0x40,
-    0x00,
-    0x20,
-    0x00,
-    0x20,
-    0x00,
-    0x10,
-    0x00,
-    0x60,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x00,
-    0x01,
-    0x01,
-    0x01,
-    0x81,
-    0x00,
-    0x42,
-    0x00,
-    0x3C,
-    0x00,
-
-    /* @160 '4' (9 pixels wide) */
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0xFF,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-
-    /* @192 '5' (9 pixels wide) */
-    0xFF,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x3F,
-    0x00,
-    0x40,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0xC2,
-    0x00,
-    0x3C,
-    0x00,
-
-    /* @224 '6' (9 pixels wide) */
-    0x3C,
-    0x00,
-    0x42,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x3D,
-    0x00,
-    0x43,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0xC2,
-    0x00,
-    0x3C,
-    0x00,
-
-    /* @256 '7' (9 pixels wide) */
-    0xFF,
-    0x01,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x40,
-    0x00,
-    0x40,
-    0x00,
-    0x20,
-    0x00,
-    0x20,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x08,
-    0x00,
-    0x08,
-    0x00,
-    0x04,
-    0x00,
-    0x04,
-    0x00,
-    0x02,
-    0x00,
-    0x02,
-    0x00,
-    0x01,
-    0x00,
-
-    /* @288 '8' (9 pixels wide) */
-    0x3C,
-    0x00,
-    0xC2,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x42,
-    0x00,
-    0x3C,
-    0x00,
-    0x42,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x42,
-    0x00,
-    0x3C,
-    0x00,
-
-    /* @320 '9' (9 pixels wide) */
-    0x3C,
-    0x00,
-    0x42,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0xC2,
-    0x00,
-    0xBC,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x42,
-    0x00,
-    0x3C,
-    0x00,
-
-    /* @352 'B' (9 pixels wide) */
-    0x3F,
-    0x00,
-    0xC1,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x41,
-    0x00,
-    0x3F,
-    0x00,
-    0x41,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x41,
-    0x00,
-    0x3F,
-    0x00,
-
-    /* @384 'C' (9 pixels wide) */
-    0x3C,
-    0x00,
-    0x42,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x42,
-    0x00,
-    0x3C,
-    0x00,
-
-    /* @416 'D' (9 pixels wide) */
-    0x3F,
-    0x00,
-    0x41,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x41,
-    0x00,
-    0x3F,
-    0x00,
-
-    /* @448 'F' (9 pixels wide) */
-    0xFF,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0xFF,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-
-    /* @480 'G' (9 pixels wide) */
-    0x3C,
-    0x00,
-    0xC2,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0xF1,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x42,
-    0x00,
-    0x3C,
-    0x00,
-
-    /* @512 'H' (9 pixels wide) */
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0xFF,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-
-    /* @544 'J' (9 pixels wide) */
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x80,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x42,
-    0x00,
-    0x3C,
-    0x00,
-
-    /* @576 'K' (9 pixels wide) */
-    0x81,
-    0x00,
-    0xC1,
-    0x00,
-    0x61,
-    0x00,
-    0x21,
-    0x00,
-    0x11,
-    0x00,
-    0x09,
-    0x00,
-    0x05,
-    0x00,
-    0x03,
-    0x00,
-    0x01,
-    0x00,
-    0x03,
-    0x00,
-    0x05,
-    0x00,
-    0x09,
-    0x00,
-    0x11,
-    0x00,
-    0x21,
-    0x00,
-    0x41,
-    0x00,
-    0x81,
-    0x00,
-
-    /* @608 'M' (9 pixels wide) */
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x83,
-    0x00,
-    0xC3,
-    0x00,
-    0xC5,
-    0x00,
-    0xA5,
-    0x00,
-    0xA9,
-    0x00,
-    0x91,
-    0x00,
-    0x91,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-
-    /* @640 'N' (9 pixels wide) */
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x83,
-    0x00,
-    0x83,
-    0x00,
-    0x85,
-    0x00,
-    0x85,
-    0x00,
-    0x89,
-    0x00,
-    0x89,
-    0x00,
-    0x91,
-    0x00,
-    0xA1,
-    0x00,
-    0xA1,
-    0x00,
-    0xC1,
-    0x00,
-    0xC1,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-
-    /* @672 'P' (9 pixels wide) */
-    0x3F,
-    0x00,
-    0x41,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x41,
-    0x00,
-    0x3F,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-    0x01,
-    0x00,
-
-    /* @704 'Q' (9 pixels wide) */
-    0x3C,
-    0x00,
-    0x42,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x91,
-    0x00,
-    0xA1,
-    0x00,
-    0xC2,
-    0x00,
-    0xBC,
-    0x00,
-
-    /* @736 'R' (9 pixels wide) */
-    0x3F,
-    0x00,
-    0x41,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x41,
-    0x00,
-    0x3F,
-    0x00,
-    0x03,
-    0x00,
-    0x05,
-    0x00,
-    0x09,
-    0x00,
-    0x11,
-    0x00,
-    0x21,
-    0x00,
-    0x41,
-    0x00,
-    0x81,
-    0x00,
-
-    /* @768 'T' (9 pixels wide) */
-    0xFF,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-
-    /* @800 'V' (9 pixels wide) */
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x82,
-    0x00,
-    0x42,
-    0x00,
-    0x44,
-    0x00,
-    0x24,
-    0x00,
-    0x28,
-    0x00,
-    0x18,
-    0x00,
-    0x10,
-    0x00,
-
-    /* @832 'W' (9 pixels wide) */
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-    0x91,
-    0x00,
-    0x91,
-    0x00,
-    0x99,
-    0x00,
-    0xA9,
-    0x00,
-    0xA5,
-    0x00,
-    0xC5,
-    0x00,
-    0x83,
-    0x00,
-    0x81,
-    0x00,
-    0x81,
-    0x00,
-
-    /* @864 'X' (9 pixels wide) */
-    0x81,
-    0x00,
-    0x82,
-    0x00,
-    0x82,
-    0x00,
-    0x44,
-    0x00,
-    0x44,
-    0x00,
-    0x28,
-    0x00,
-    0x28,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x28,
-    0x00,
-    0x28,
-    0x00,
-    0x44,
-    0x00,
-    0x44,
-    0x00,
-    0x82,
-    0x00,
-    0x82,
-    0x00,
-    0x81,
-    0x00,
-
-    /* @896 'Y' (9 pixels wide) */
-    0x81,
-    0x00,
-    0x82,
-    0x00,
-    0x82,
-    0x00,
-    0x44,
-    0x00,
-    0x44,
-    0x00,
-    0x28,
-    0x00,
-    0x28,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-    0x10,
-    0x00,
-};
-
-/* Character descriptors for Zector 18pt */
-/* { [Char width in bits], [Offset into zector_18ptCharBitmaps in bytes] } */
-const FONT_CHAR_INFO zector_18ptDescriptors[] = {
-    {9, 0}, /* - */
-    {0, 0}, /* . */
-    {0, 0}, /* / */
-    {9, 32}, /* 0 */
-    {9, 64}, /* 1 */
-    {9, 96}, /* 2 */
-    {9, 128}, /* 3 */
-    {9, 160}, /* 4 */
-    {9, 192}, /* 5 */
-    {9, 224}, /* 6 */
-    {9, 256}, /* 7 */
-    {9, 288}, /* 8 */
-    {9, 320}, /* 9 */
-    {0, 0}, /* : */
-    {0, 0}, /* ; */
-    {0, 0}, /* < */
-    {0, 0}, /* = */
-    {0, 0}, /* > */
-    {0, 0}, /* ? */
-    {0, 0}, /* @ */
-    {0, 0}, /* A */
-    {9, 352}, /* B */
-    {9, 384}, /* C */
-    {9, 416}, /* D */
-    {0, 0}, /* E */
-    {9, 448}, /* F */
-    {9, 480}, /* G */
-    {9, 512}, /* H */
-    {0, 0}, /* I */
-    {9, 544}, /* J */
-    {9, 576}, /* K */
-    {0, 0}, /* L */
-    {9, 608}, /* M */
-    {9, 640}, /* N */
-    {0, 0}, /* O */
-    {9, 672}, /* P */
-    {9, 704}, /* Q */
-    {9, 736}, /* R */
-    {0, 0}, /* S */
-    {9, 768}, /* T */
-    {0, 0}, /* U */
-    {9, 800}, /* V */
-    {9, 832}, /* W */
-    {9, 864}, /* X */
-    {9, 896}, /* Y */
-};
-
-/* Font information for Zector 18pt */
-const FONT_INFO zector_18ptFontInfo = {
-    "Zector",
-    16, /*  Character height */
-    '-', /*  Start character */
-    'Y', /*  End character */
-    2, /*  Width, in pixels, of space character */
-    zector_18ptDescriptors, /*  Character descriptor array */
-    zector_18ptBitmaps, /*  Character bitmap array */
-};

+ 0 - 8
lib/fonts/zector/zector.h

@@ -1,8 +0,0 @@
-#pragma once
-
-/* GENERATED BY https://github.com/pavius/the-dot-factory */
-
-#include "../font_info.h"
-
-/* Font information for Zector 18pt */
-extern const FONT_INFO zector_18ptFontInfo;

+ 27 - 0
services/fonts/font_info.c

@@ -0,0 +1,27 @@
+#include "font_info.h"
+#include <furi/core/check.h>
+
+FontInfo* totp_font_info_alloc() {
+    FontInfo* font_info = malloc(sizeof(FontInfo));
+    furi_check(font_info != NULL);
+    font_info->data = NULL;
+    font_info->char_info = NULL;
+    return font_info;
+}
+
+void totp_font_info_free(FontInfo* font_info) {
+    if(font_info == NULL) return;
+    if(font_info->char_info != NULL) {
+        free(font_info->char_info);
+    }
+
+    if(font_info->data != NULL) {
+        free(font_info->data);
+    }
+
+    if(font_info->name != NULL) {
+        free(font_info->name);
+    }
+
+    free(font_info);
+}

+ 66 - 0
services/fonts/font_info.h

@@ -0,0 +1,66 @@
+#pragma once
+
+#include <stdint.h>
+
+struct FontCharInfo_s {
+    /**
+     * @brief Width of the character
+     */
+    uint8_t width;
+
+    /**
+     * @brief Offset of the character's bitmap, in bytes, into the the data array
+     */
+    uint16_t offset;
+} __attribute__((packed));
+
+typedef struct FontCharInfo_s FontCharInfo;
+
+typedef struct {
+    /**
+     * @brief Font name
+     */
+    char* name;
+
+    /**
+     * @brief Font characters height
+     */
+    uint8_t height;
+
+    /**
+     * @brief The first character available in the font
+     */
+    uint8_t start_char;
+
+    /**
+     * @brief The last character available in the font
+     */
+    uint8_t end_char;
+
+    /**
+     * @brief Space character width
+     */
+    uint8_t space_width;
+
+    /**
+     * @brief Pointer to array of char information
+     */
+    FontCharInfo* char_info;
+
+    /**
+     * @brief Pointer to generated array of character visual representation
+     */
+    uint8_t* data;
+} FontInfo;
+
+/**
+ * @brief Allocates a new instance of \c FontInfo
+ * @return pointer to allocated instance
+ */
+FontInfo* totp_font_info_alloc();
+
+/**
+ * @brief Disposes all the resources allocated by the given \c FontInfo instance
+ * @param font_info instance to dispose
+ */
+void totp_font_info_free(FontInfo* font_info);

+ 114 - 0
services/fonts/font_provider.c

@@ -0,0 +1,114 @@
+#include "font_provider.h"
+
+#include <inttypes.h>
+#include <toolbox/dir_walk.h>
+#include <toolbox/path.h>
+#include <toolbox/stream/stream.h>
+#include <toolbox/stream/file_stream.h>
+
+#define FONT_BASE_PATH EXT_PATH("apps_assets/totp/fonts")
+#define FONT_FILE_EXTENSION ".font"
+
+size_t totp_font_provider_get_fonts_count() {
+    size_t result = 0;
+    Storage* storage = furi_record_open(RECORD_STORAGE);
+
+    FuriString* path_src = furi_string_alloc();
+
+    DirWalk* dir_walk = dir_walk_alloc(storage);
+    dir_walk_set_recursive(dir_walk, false);
+
+    if(dir_walk_open(dir_walk, FONT_BASE_PATH)) {
+        char extension[sizeof(FONT_FILE_EXTENSION)];
+        while(dir_walk_read(dir_walk, path_src, NULL) == DirWalkOK) {
+            path_extract_extension(path_src, &extension[0], sizeof(extension));
+            if(strncmp(&extension[0], FONT_FILE_EXTENSION, sizeof(FONT_FILE_EXTENSION)) == 0) {
+                result++;
+            }
+        }
+    }
+
+    furi_string_free(path_src);
+    dir_walk_free(dir_walk);
+
+    furi_record_close(RECORD_STORAGE);
+
+    return result;
+}
+
+bool totp_font_provider_get_font(size_t font_index, FontInfo* font_info) {
+    Storage* storage = furi_record_open(RECORD_STORAGE);
+    Stream* stream = file_stream_alloc(storage);
+    bool loaded = false;
+    FuriString* font_path = furi_string_alloc_printf(
+        "%s/%02" PRIu16 "%s", FONT_BASE_PATH, font_index, FONT_FILE_EXTENSION);
+
+    do {
+        if(!file_stream_open(
+               stream, furi_string_get_cstr(font_path), FSAM_READ, FSOM_OPEN_EXISTING) ||
+           !stream_rewind(stream)) {
+            break;
+        }
+        uint8_t font_name_length;
+        if(!stream_read(stream, &font_name_length, 1)) {
+            break;
+        }
+
+        if(font_info->name != NULL) {
+            free(font_info->name);
+        }
+        font_info->name = malloc(font_name_length + 1);
+        furi_check(font_info->name);
+        if(!stream_read(stream, (uint8_t*)font_info->name, font_name_length)) {
+            break;
+        }
+
+        font_info->name[font_name_length] = '\0';
+        if(!stream_read(stream, &font_info->height, 1) ||
+           !stream_read(stream, &font_info->start_char, 1) ||
+           !stream_read(stream, &font_info->end_char, 1) ||
+           !stream_read(stream, &font_info->space_width, 1)) {
+            break;
+        }
+
+        uint16_t bitmap_data_length;
+        if(!stream_read(stream, (uint8_t*)&bitmap_data_length, 2)) {
+            break;
+        }
+
+        if(font_info->data != NULL) {
+            free(font_info->data);
+        }
+
+        font_info->data = malloc(bitmap_data_length);
+
+        furi_check(font_info->data);
+
+        if(!stream_read(stream, font_info->data, bitmap_data_length)) {
+            break;
+        }
+        uint8_t descriptors_length;
+        if(!stream_read(stream, &descriptors_length, 1)) {
+            break;
+        }
+
+        if(font_info->char_info != NULL) {
+            free(font_info->char_info);
+        }
+        uint16_t char_info_array_size = descriptors_length * sizeof(FontCharInfo);
+        font_info->char_info = malloc(char_info_array_size);
+        furi_check(font_info->char_info);
+        if(!stream_read(stream, (uint8_t*)font_info->char_info, char_info_array_size)) {
+            break;
+        }
+
+        loaded = true;
+    } while(false);
+
+    furi_string_free(font_path);
+    file_stream_close(stream);
+    stream_free(stream);
+
+    furi_record_close(RECORD_STORAGE);
+    return loaded;
+}

+ 19 - 0
services/fonts/font_provider.h

@@ -0,0 +1,19 @@
+#pragma once
+
+#include "font_info.h"
+#include <stdbool.h>
+#include <stddef.h>
+
+/**
+ * @brief Gets total fonts available
+ * @return total fonts available
+ */
+size_t totp_font_provider_get_fonts_count();
+
+/**
+ * @brief Load font with given index
+ * @param font_index font index
+ * @param[out] font_info font info to populate
+ * @return \c true if font successfully load; \c false otherwise
+ */
+bool totp_font_provider_get_font(size_t font_index, FontInfo* font_info);

+ 6 - 6
ui/canvas_extensions.c

@@ -6,23 +6,23 @@ void canvas_draw_str_ex(
     uint8_t y,
     const char* text,
     size_t text_length,
-    const FONT_INFO* const font) {
+    const FontInfo* const font) {
     const char* p_ch = text;
     char ch;
     size_t i = 0;
     uint8_t offset_x = x;
-    uint8_t char_width = font->charInfo[0].width;
-    uint8_t offset_x_inc = char_width + font->spacePixels;
+    uint8_t char_width = font->char_info[0].width;
+    uint8_t offset_x_inc = char_width + font->space_width;
     while(i < text_length && (ch = *p_ch) != 0) {
-        if(ch >= font->startChar && ch <= font->endChar) {
-            uint8_t char_index = ch - font->startChar;
+        if(ch >= font->start_char && ch <= font->end_char) {
+            uint8_t char_index = ch - font->start_char;
             canvas_draw_xbm(
                 canvas,
                 offset_x,
                 y,
                 char_width,
                 font->height,
-                &font->data[font->charInfo[char_index].offset]);
+                &font->data[font->char_info[char_index].offset]);
         }
 
         offset_x += offset_x_inc;

+ 2 - 2
ui/canvas_extensions.h

@@ -2,7 +2,7 @@
 
 #include <stdint.h>
 #include <gui/gui.h>
-#include <font_info.h>
+#include "../services/fonts/font_info.h"
 
 /**
  * @brief Draw string using given font
@@ -19,4 +19,4 @@ void canvas_draw_str_ex(
     uint8_t y,
     const char* text,
     size_t text_length,
-    const FONT_INFO* const font);
+    const FontInfo* const font);

+ 26 - 11
ui/scenes/app_settings/totp_app_settings.c

@@ -1,7 +1,7 @@
 #include "totp_app_settings.h"
 #include <math.h>
 #include <totp_icons.h>
-#include <available_fonts.h>
+#include "../../../services/fonts/font_provider.h"
 #include "../../canvas_extensions.h"
 #include "../../ui_controls.h"
 #include "../../common_dialogs.h"
@@ -56,7 +56,9 @@ typedef struct {
     uint16_t y_offset;
     AutomationKeyboardLayout automation_kb_layout;
     Control selected_control;
-    uint8_t active_font;
+    uint8_t active_font_index;
+    FontInfo* active_font;
+    uint8_t total_fonts_count;
 } SceneState;
 
 void totp_scene_app_settings_activate(PluginState* plugin_state) {
@@ -75,7 +77,13 @@ void totp_scene_app_settings_activate(PluginState* plugin_state) {
     scene_state->automation_kb_layout =
         MIN(plugin_state->automation_kb_layout, BAD_KB_LAYOUT_LIST_MAX_INDEX);
 
-    scene_state->active_font = plugin_state->active_font_index;
+    scene_state->total_fonts_count = totp_font_provider_get_fonts_count();
+    scene_state->active_font_index = plugin_state->active_font_index;
+    scene_state->active_font = totp_font_info_alloc();
+    if(!totp_font_provider_get_font(scene_state->active_font_index, scene_state->active_font)) {
+        scene_state->active_font_index = 0;
+        totp_font_provider_get_font(scene_state->active_font_index, scene_state->active_font);
+    }
 }
 
 static void two_digit_to_str(int8_t num, char* str) {
@@ -129,7 +137,7 @@ void totp_scene_app_settings_render(Canvas* const canvas, const PluginState* plu
             canvas, 0, 64 - scene_state->y_offset, AlignLeft, AlignTop, "Font");
         canvas_set_font(canvas, FontSecondary);
 
-        const FONT_INFO* const font = available_fonts[scene_state->active_font];
+        const FontInfo* const font = scene_state->active_font;
         ui_control_select_render(
             canvas,
             0,
@@ -140,7 +148,7 @@ void totp_scene_app_settings_render(Canvas* const canvas, const PluginState* plu
 
         uint8_t font_x_offset =
             SCREEN_WIDTH_CENTER -
-            (((font->charInfo[0].width + font->spacePixels) * FONT_TEST_STR_LENGTH) >> 1);
+            (((font->char_info[0].width + font->space_width) * FONT_TEST_STR_LENGTH) >> 1);
         uint8_t font_y_offset = 108 - scene_state->y_offset - (font->height >> 1);
         canvas_draw_str_ex(
             canvas, font_x_offset, font_y_offset, FONT_TEST_STR, FONT_TEST_STR_LENGTH, font);
@@ -264,11 +272,13 @@ bool totp_scene_app_settings_handle_event(
                     &scene_state->tz_offset_minutes, 15, 0, 45, RollOverflowBehaviorRoll);
             } else if(scene_state->selected_control == FontSelect) {
                 totp_roll_value_uint8_t(
-                    &scene_state->active_font,
+                    &scene_state->active_font_index,
                     1,
                     0,
-                    AVAILABLE_FONTS_COUNT - 1,
+                    scene_state->total_fonts_count - 1,
                     RollOverflowBehaviorRoll);
+                totp_font_provider_get_font(
+                    scene_state->active_font_index, scene_state->active_font);
             } else if(scene_state->selected_control == SoundSwitch) {
                 scene_state->notification_sound = !scene_state->notification_sound;
             } else if(scene_state->selected_control == VibroSwitch) {
@@ -298,11 +308,13 @@ bool totp_scene_app_settings_handle_event(
                     &scene_state->tz_offset_minutes, -15, 0, 45, RollOverflowBehaviorRoll);
             } else if(scene_state->selected_control == FontSelect) {
                 totp_roll_value_uint8_t(
-                    &scene_state->active_font,
+                    &scene_state->active_font_index,
                     -1,
                     0,
-                    AVAILABLE_FONTS_COUNT - 1,
+                    scene_state->total_fonts_count - 1,
                     RollOverflowBehaviorRoll);
+                totp_font_provider_get_font(
+                    scene_state->active_font_index, scene_state->active_font);
             } else if(scene_state->selected_control == SoundSwitch) {
                 scene_state->notification_sound = !scene_state->notification_sound;
             } else if(scene_state->selected_control == VibroSwitch) {
@@ -343,7 +355,7 @@ bool totp_scene_app_settings_handle_event(
             (scene_state->notification_vibro ? NotificationMethodVibro : NotificationMethodNone);
 
         plugin_state->automation_method = scene_state->automation_method;
-        plugin_state->active_font_index = scene_state->active_font;
+        plugin_state->active_font_index = scene_state->active_font_index;
         plugin_state->automation_kb_layout = scene_state->automation_kb_layout;
 
         if(!totp_config_file_update_user_settings(plugin_state)) {
@@ -368,6 +380,9 @@ bool totp_scene_app_settings_handle_event(
 void totp_scene_app_settings_deactivate(PluginState* plugin_state) {
     if(plugin_state->current_scene_state == NULL) return;
 
-    free(plugin_state->current_scene_state);
+    SceneState* scene_state = plugin_state->current_scene_state;
+    totp_font_info_free(scene_state->active_font);
+
+    free(scene_state);
     plugin_state->current_scene_state = NULL;
 }

+ 12 - 7
ui/scenes/generate_token/totp_scene_generate_token.c

@@ -4,7 +4,7 @@
 #include <notification/notification_messages.h>
 #include <totp_icons.h>
 #include <roll_value.h>
-#include <available_fonts.h>
+#include "../../../services/fonts/font_provider.h"
 #include "../../canvas_extensions.h"
 #include "../../../types/token_info.h"
 #include "../../../types/common.h"
@@ -37,7 +37,7 @@ typedef struct {
     FuriMutex* last_code_update_sync;
     TotpGenerateCodeWorkerContext* generate_code_worker_context;
     UiPrecalculatedDimensions ui_precalculated_dimensions;
-    const FONT_INFO* active_font;
+    FontInfo* active_font;
     NotificationApp* notification_app;
 } SceneState;
 
@@ -140,15 +140,14 @@ static void on_new_token_code_generated(bool time_left, void* context) {
 
     SceneState* scene_state = plugin_state->current_scene_state;
     const TokenInfo* current_token = totp_token_info_iterator_get_current_token(iterator_context);
-    const FONT_INFO* const font = scene_state->active_font;
 
-    uint8_t char_width = font->charInfo[0].width;
+    uint8_t char_width = scene_state->active_font->char_info[0].width;
     scene_state->ui_precalculated_dimensions.code_total_length =
-        current_token->digits * (char_width + font->spacePixels);
+        current_token->digits * (char_width + scene_state->active_font->space_width);
     scene_state->ui_precalculated_dimensions.code_offset_x =
         (SCREEN_WIDTH - scene_state->ui_precalculated_dimensions.code_total_length) >> 1;
     scene_state->ui_precalculated_dimensions.code_offset_y =
-        SCREEN_HEIGHT_CENTER - (font->height >> 1);
+        SCREEN_HEIGHT_CENTER - (scene_state->active_font->height >> 1);
 
     if(time_left) {
         notification_message(
@@ -188,7 +187,11 @@ void totp_scene_generate_token_activate(PluginState* plugin_state) {
             plugin_state->automation_kb_layout);
     }
 
-    scene_state->active_font = available_fonts[plugin_state->active_font_index];
+    scene_state->active_font = totp_font_info_alloc();
+
+    if(!totp_font_provider_get_font(plugin_state->active_font_index, scene_state->active_font)) {
+        totp_font_provider_get_font(0, scene_state->active_font);
+    }
     scene_state->notification_app = furi_record_open(RECORD_NOTIFICATION);
     scene_state->notification_sequence_automation[0] = NULL;
     scene_state->notification_sequence_new_token[0] = NULL;
@@ -427,6 +430,8 @@ void totp_scene_generate_token_deactivate(PluginState* plugin_state) {
 
     furi_mutex_free(scene_state->last_code_update_sync);
 
+    totp_font_info_free(scene_state->active_font);
+
     free(scene_state);
     plugin_state->current_scene_state = NULL;
 }