From 3977ee687ffff23e49dcac0ea9a7c3e8652248f0 Mon Sep 17 00:00:00 2001
From: inmarket <andrewh@inmarket.com.au>
Date: Sun, 28 Jul 2013 17:08:45 +1000
Subject: First cut  - beautiful new font handling by PetteriAimonen

---
 src/gdisp/fonts.c                     |  708 +---
 src/gdisp/fonts/DejaVuSans-Bold.ttf   |  Bin 0 -> 673144 bytes
 src/gdisp/fonts/DejaVuSans.license    |   58 +
 src/gdisp/fonts/DejaVuSans.ttf        |  Bin 0 -> 720856 bytes
 src/gdisp/fonts/DejaVuSans10.c        |  166 +
 src/gdisp/fonts/DejaVuSans12.c        |  175 +
 src/gdisp/fonts/DejaVuSans12_aa.c     |  246 ++
 src/gdisp/fonts/DejaVuSans16.c        |  179 +
 src/gdisp/fonts/DejaVuSans16_aa.c     |  303 ++
 src/gdisp/fonts/DejaVuSans24.c        |  237 ++
 src/gdisp/fonts/DejaVuSans24_aa.c     |  439 +++
 src/gdisp/fonts/DejaVuSans32.c        |  291 ++
 src/gdisp/fonts/DejaVuSans32_aa.c     |  569 +++
 src/gdisp/fonts/DejaVuSansBold12.c    |  186 +
 src/gdisp/fonts/DejaVuSansBold12_aa.c |  257 ++
 src/gdisp/fonts/DejaVuSerif.license   |   58 +
 src/gdisp/fonts/DejaVuSerif.ttf       |  Bin 0 -> 363200 bytes
 src/gdisp/fonts/LargeNumbers.c        |  127 +
 src/gdisp/fonts/build_fonts.sh        |   77 +
 src/gdisp/fonts/fixed_10x20.bdf       | 6279 +++++++++++++++++++++++++++++++++
 src/gdisp/fonts/fixed_10x20.c         |  227 ++
 src/gdisp/fonts/fixed_5x8.bdf         | 3602 +++++++++++++++++++
 src/gdisp/fonts/fixed_5x8.c           |   95 +
 src/gdisp/fonts/fixed_7x14.bdf        | 4940 ++++++++++++++++++++++++++
 src/gdisp/fonts/fixed_7x14.c          |  149 +
 src/gdisp/fonts/fonts.h               |   62 +
 src/gdisp/gdisp.c                     |  512 ++-
 src/gdisp/gdisp.mk                    |    6 +
 src/gdisp/mcufont/mcufont.h           |   14 +
 src/gdisp/mcufont/mcufont.mk          |   19 +
 src/gdisp/mcufont/mf_bwfont.c         |  134 +
 src/gdisp/mcufont/mf_bwfont.h         |   77 +
 src/gdisp/mcufont/mf_config.h         |  148 +
 src/gdisp/mcufont/mf_encoding.c       |   69 +
 src/gdisp/mcufont/mf_encoding.h       |   53 +
 src/gdisp/mcufont/mf_font.c           |   77 +
 src/gdisp/mcufont/mf_font.h           |  118 +
 src/gdisp/mcufont/mf_justify.c        |  321 ++
 src/gdisp/mcufont/mf_justify.h        |   74 +
 src/gdisp/mcufont/mf_kerning.c        |  118 +
 src/gdisp/mcufont/mf_kerning.h        |   29 +
 src/gdisp/mcufont/mf_rlefont.c        |  282 ++
 src/gdisp/mcufont/mf_rlefont.h        |   74 +
 src/gdisp/mcufont/mf_scaledfont.c     |   83 +
 src/gdisp/mcufont/mf_scaledfont.h     |   23 +
 src/gdisp/mcufont/mf_wordwrap.c       |  290 ++
 src/gdisp/mcufont/mf_wordwrap.h       |   32 +
 47 files changed, 20994 insertions(+), 989 deletions(-)
 create mode 100644 src/gdisp/fonts/DejaVuSans-Bold.ttf
 create mode 100644 src/gdisp/fonts/DejaVuSans.license
 create mode 100644 src/gdisp/fonts/DejaVuSans.ttf
 create mode 100644 src/gdisp/fonts/DejaVuSans10.c
 create mode 100644 src/gdisp/fonts/DejaVuSans12.c
 create mode 100644 src/gdisp/fonts/DejaVuSans12_aa.c
 create mode 100644 src/gdisp/fonts/DejaVuSans16.c
 create mode 100644 src/gdisp/fonts/DejaVuSans16_aa.c
 create mode 100644 src/gdisp/fonts/DejaVuSans24.c
 create mode 100644 src/gdisp/fonts/DejaVuSans24_aa.c
 create mode 100644 src/gdisp/fonts/DejaVuSans32.c
 create mode 100644 src/gdisp/fonts/DejaVuSans32_aa.c
 create mode 100644 src/gdisp/fonts/DejaVuSansBold12.c
 create mode 100644 src/gdisp/fonts/DejaVuSansBold12_aa.c
 create mode 100644 src/gdisp/fonts/DejaVuSerif.license
 create mode 100644 src/gdisp/fonts/DejaVuSerif.ttf
 create mode 100644 src/gdisp/fonts/LargeNumbers.c
 create mode 100644 src/gdisp/fonts/build_fonts.sh
 create mode 100644 src/gdisp/fonts/fixed_10x20.bdf
 create mode 100644 src/gdisp/fonts/fixed_10x20.c
 create mode 100644 src/gdisp/fonts/fixed_5x8.bdf
 create mode 100644 src/gdisp/fonts/fixed_5x8.c
 create mode 100644 src/gdisp/fonts/fixed_7x14.bdf
 create mode 100644 src/gdisp/fonts/fixed_7x14.c
 create mode 100644 src/gdisp/fonts/fonts.h
 create mode 100644 src/gdisp/mcufont/mcufont.h
 create mode 100644 src/gdisp/mcufont/mcufont.mk
 create mode 100644 src/gdisp/mcufont/mf_bwfont.c
 create mode 100644 src/gdisp/mcufont/mf_bwfont.h
 create mode 100644 src/gdisp/mcufont/mf_config.h
 create mode 100644 src/gdisp/mcufont/mf_encoding.c
 create mode 100644 src/gdisp/mcufont/mf_encoding.h
 create mode 100644 src/gdisp/mcufont/mf_font.c
 create mode 100644 src/gdisp/mcufont/mf_font.h
 create mode 100644 src/gdisp/mcufont/mf_justify.c
 create mode 100644 src/gdisp/mcufont/mf_justify.h
 create mode 100644 src/gdisp/mcufont/mf_kerning.c
 create mode 100644 src/gdisp/mcufont/mf_kerning.h
 create mode 100644 src/gdisp/mcufont/mf_rlefont.c
 create mode 100644 src/gdisp/mcufont/mf_rlefont.h
 create mode 100644 src/gdisp/mcufont/mf_scaledfont.c
 create mode 100644 src/gdisp/mcufont/mf_scaledfont.h
 create mode 100644 src/gdisp/mcufont/mf_wordwrap.c
 create mode 100644 src/gdisp/mcufont/mf_wordwrap.h

(limited to 'src')

diff --git a/src/gdisp/fonts.c b/src/gdisp/fonts.c
index f7804126..8486e1e5 100644
--- a/src/gdisp/fonts.c
+++ b/src/gdisp/fonts.c
@@ -17,673 +17,10 @@
 
 #if GFX_USE_GDISP && GDISP_NEED_TEXT
 
-#include "gdisp/fonts.h"
+#include "mcufont.h"
 
-/* fontSmall - for side buttons */
-#if GDISP_INCLUDE_FONT_SMALL
-    /* Forward Declarations of internal arrays */
-    static const uint8_t        fontSmall_Widths[];
-    static const uint16_t       fontSmall_Offsets[];
-    static const fontcolumn_t   fontSmall_Data[];
-
-    static const struct font fontSmall = {
-									"Small",
-									11, 0, 14, 2, 2, 12, ' ', '~', 1, 1,
-									fontSmall_Widths,
-									fontSmall_Offsets,
-									fontSmall_Data};
-    static const struct font fontSmallDouble = {
-									"Small Double",
-									11, 0, 14, 2, 2, 12, ' ', '~', 2, 2,
-									fontSmall_Widths,
-									fontSmall_Offsets,
-									fontSmall_Data};
-    static const struct font fontSmallNarrow = {
-									"Small Narrow",
-									11, 0, 14, 2, 2, 12, ' ', '~', 1, 2,
-									fontSmall_Widths,
-									fontSmall_Offsets,
-									fontSmall_Data};
-
-	static const uint8_t fontSmall_Widths[] = {
-		2, 3, 6, 8, 7, 9, 7, 3, 4, 4, 5, 7, 4, 4, 3, 6,
-		7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 4, 6, 7, 6, 7,
-		12, 8, 7, 8, 8, 7, 7, 8, 8, 3, 5, 8, 7, 9, 8, 8,
-		8, 8, 8, 7, 7, 8, 8, 12, 8, 8, 8, 4, 6, 4, 7, 7,
-		4, 7, 7, 7, 7, 7, 4, 7, 7, 3, 3, 7, 3, 9, 7, 7,
-		7, 7, 4, 6, 4, 7, 7, 9, 6, 6, 6, 5, 3, 5, 8, 0
-	};
-	static const uint16_t fontSmall_Offsets[] = {
-		0, 2, 5, 11, 19, 26, 35, 42,
-		45, 49, 53, 58, 65, 69, 73, 76,
-		82, 89, 96, 103, 110, 117, 124, 131,
-		138, 145, 152, 155, 159, 165, 172, 178,
-		185, 197, 205, 212, 220, 228, 235, 242,
-		250, 258, 261, 266, 274, 281, 290, 298,
-		306, 314, 322, 330, 337, 344, 352, 360,
-		372, 380, 388, 396, 400, 406, 410, 417,
-		424, 428, 435, 442, 449, 456, 463, 467,
-		474, 481, 484, 487, 494, 497, 506, 513,
-		520, 527, 534, 538, 544, 548, 555, 562,
-		571, 577, 583, 589, 594, 597, 602, 0
-	};
-	static const fontcolumn_t fontSmall_Data[] = {
-		/*   */	0x0000, 0x0000,
-		/* ! */	0x0000, 0x017F, 0x017F,
-		/* " */	0x0000, 0x0007, 0x0007, 0x0000, 0x0007, 0x0007,
-		/* # */	0x0000, 0x0044, 0x01FF, 0x01FF, 0x0044, 0x01FF, 0x01FF, 0x0044,
-		/* $ */	0x0000, 0x008C, 0x019E, 0x03FF, 0x03FF, 0x01E6, 0x00C4,
-		/* % */	0x0000, 0x0082, 0x00C7, 0x0065, 0x00B7, 0x01DA, 0x014C, 0x01C6, 0x0082,
-		/* & */	0x0000, 0x00E6, 0x01FF, 0x013F, 0x01E6, 0x01E0, 0x0120,
-		/* ' */	0x0000, 0x0007, 0x0007,
-		/* ( */	0x0000, 0x03FE, 0x07FF, 0x0401,
-		/* ) */	0x0000, 0x0401, 0x07FF, 0x03FE,
-		/* * */	0x0000, 0x000A, 0x000E, 0x000E, 0x000A,
-		/* + */	0x0000, 0x0020, 0x0020, 0x00F8, 0x00F8, 0x0020, 0x0020,
-		/* , */	0x0000, 0x0200, 0x0300, 0x0100,
-		/* - */	0x0000, 0x0020, 0x0020, 0x0020,
-		/* . */	0x0000, 0x0100, 0x0100,
-		/* / */	0x0000, 0x0180, 0x01E0, 0x0078, 0x001F, 0x0007,
-		/* 0 */	0x0000, 0x00FE, 0x01FF, 0x0101, 0x0101, 0x01FF, 0x00FE,
-		/* 1 */	0x0000, 0x0002, 0x0002, 0x01FF, 0x01FF, 0x0000, 0x0000,
-		/* 2 */	0x0000, 0x0182, 0x01C3, 0x0161, 0x0131, 0x011F, 0x010E,
-		/* 3 */	0x0000, 0x0082, 0x0183, 0x0111, 0x0111, 0x01FF, 0x00EE,
-		/* 4 */	0x0000, 0x0060, 0x0078, 0x005E, 0x01FF, 0x01FF, 0x0040,
-		/* 5 */	0x0000, 0x009F, 0x019F, 0x0109, 0x0109, 0x01F9, 0x00F1,
-		/* 6 */	0x0000, 0x00FE, 0x01FF, 0x0111, 0x0111, 0x01F3, 0x00E2,
-		/* 7 */	0x0000, 0x0001, 0x01C1, 0x01F1, 0x003D, 0x000F, 0x0003,
-		/* 8 */	0x0000, 0x00EE, 0x01FF, 0x0111, 0x0111, 0x01FF, 0x00EE,
-		/* 9 */	0x0000, 0x008E, 0x019F, 0x0111, 0x0111, 0x01FF, 0x00FE,
-		/* : */	0x0000, 0x0108, 0x0108,
-		/* ; */	0x0000, 0x0200, 0x0308, 0x0108,
-		/* < */	0x0000, 0x0020, 0x0070, 0x00D8, 0x018C, 0x0104,
-		/* = */	0x0000, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050,
-		/* > */	0x0000, 0x0104, 0x018C, 0x00D8, 0x0070, 0x0020,
-		/* ? */	0x0000, 0x0002, 0x0003, 0x0161, 0x0171, 0x001F, 0x000E,
-		/* @ */	0x0000, 0x0078, 0x01FE, 0x0186, 0x0333, 0x0279, 0x0249, 0x0279, 0x027B, 0x0246, 0x007E, 0x0078,
-		/* A */	0x0180, 0x01F0, 0x007C, 0x004F, 0x004F, 0x007C, 0x01F0, 0x0180,
-		/* B */	0x0000, 0x01FF, 0x01FF, 0x0111, 0x0111, 0x01FF, 0x00EE,
-		/* C */	0x0000, 0x00FE, 0x01FF, 0x0101, 0x0101, 0x0101, 0x0183, 0x0082,
-		/* D */	0x0000, 0x01FF, 0x01FF, 0x0101, 0x0101, 0x0183, 0x00FE, 0x007C,
-		/* E */	0x0000, 0x01FF, 0x01FF, 0x0111, 0x0111, 0x0111, 0x0101,
-		/* F */	0x0000, 0x01FF, 0x01FF, 0x0011, 0x0011, 0x0011, 0x0001,
-		/* G */	0x0000, 0x00FE, 0x01FF, 0x0101, 0x0111, 0x0191, 0x01F3, 0x01F2,
-		/* H */	0x0000, 0x01FF, 0x01FF, 0x0010, 0x0010, 0x0010, 0x01FF, 0x01FF,
-		/* I */	0x0000, 0x01FF, 0x01FF,
-		/* J */	0x00C0, 0x01C0, 0x0100, 0x01FF, 0x00FF,
-		/* K */	0x0000, 0x01FF, 0x01FF, 0x003C, 0x0066, 0x00C3, 0x0181, 0x0100,
-		/* L */	0x0000, 0x01FF, 0x01FF, 0x0100, 0x0100, 0x0100, 0x0100,
-		/* M */	0x0000, 0x01FF, 0x01FF, 0x003C, 0x00F0, 0x00F0, 0x003C, 0x01FF, 0x01FF,
-		/* N */	0x0000, 0x01FF, 0x01FF, 0x001E, 0x0038, 0x00E0, 0x01FF, 0x01FF,
-		/* O */	0x0000, 0x00FE, 0x01FF, 0x0101, 0x0101, 0x0101, 0x01FF, 0x00FE,
-		/* P */	0x0000, 0x01FF, 0x01FF, 0x0011, 0x0011, 0x0011, 0x001F, 0x000E,
-		/* Q */	0x0000, 0x00FE, 0x01FF, 0x0101, 0x0141, 0x01C1, 0x03FF, 0x02FE,
-		/* R */	0x0000, 0x01FF, 0x01FF, 0x0011, 0x0011, 0x0011, 0x01FF, 0x01EE,
-		/* S */	0x0000, 0x008E, 0x019F, 0x0111, 0x0111, 0x01F3, 0x00E2,
-		/* T */	0x0000, 0x0001, 0x0001, 0x01FF, 0x01FF, 0x0001, 0x0001,
-		/* U */	0x0000, 0x00FF, 0x01FF, 0x0100, 0x0100, 0x0100, 0x01FF, 0x00FF,
-		/* V */	0x0003, 0x001F, 0x007C, 0x01E0, 0x01E0, 0x007C, 0x001F, 0x0003,
-		/* W */	0x0003, 0x001F, 0x007C, 0x01E0, 0x01E0, 0x007C, 0x007C, 0x01E0, 0x01E0, 0x007C, 0x001F, 0x0003,
-		/* X */	0x0183, 0x01C7, 0x006C, 0x0038, 0x0038, 0x006C, 0x01C7, 0x0183,
-		/* Y */	0x0003, 0x0007, 0x000C, 0x01F8, 0x01F8, 0x000C, 0x0007, 0x0003,
-		/* Z */	0x0181, 0x01C1, 0x0161, 0x0131, 0x0119, 0x010D, 0x0107, 0x0103,
-		/* [ */	0x0000, 0x07FF, 0x07FF, 0x0401,
-		/* \ */	0x0000, 0x0007, 0x001F, 0x0078, 0x01E0, 0x0180,
-		/* ] */	0x0000, 0x0401, 0x07FF, 0x07FF,
-		/* ^ */	0x0000, 0x0002, 0x0003, 0x0001, 0x0001, 0x0003, 0x0002,
-		/* _ */	0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400,
-		/* ` */	0x0000, 0x0001, 0x0003, 0x0002,
-		/* a */	0x0000, 0x00C0, 0x01E8, 0x0128, 0x0128, 0x01F8, 0x01F0,
-		/* b */	0x0000, 0x01FF, 0x01FF, 0x0108, 0x0108, 0x01F8, 0x00F0,
-		/* c */	0x0000, 0x00F0, 0x01F8, 0x0108, 0x0108, 0x0198, 0x0090,
-		/* d */	0x0000, 0x00F0, 0x01F8, 0x0108, 0x0108, 0x01FF, 0x01FF,
-		/* e */	0x0000, 0x00F0, 0x01F8, 0x0128, 0x0128, 0x01B8, 0x00B0,
-		/* f */	0x0000, 0x01FE, 0x01FF, 0x0009,
-		/* g */	0x0000, 0x04F0, 0x05F8, 0x0508, 0x0508, 0x07F8, 0x03F8,
-		/* h */	0x0000, 0x01FF, 0x01FF, 0x0018, 0x0008, 0x01F8, 0x01F0,
-		/* i */	0x0000, 0x01F9, 0x01F9,
-		/* j */	0x0000, 0x07F9, 0x07F9,
-		/* k */	0x0000, 0x01FF, 0x01FF, 0x0070, 0x00D8, 0x0188, 0x0100,
-		/* l */	0x0000, 0x01FF, 0x01FF,
-		/* m */	0x0000, 0x01F8, 0x01F8, 0x0008, 0x01F8, 0x01F8, 0x0008, 0x01F8, 0x01F0,
-		/* n */	0x0000, 0x01F8, 0x01F8, 0x0018, 0x0008, 0x01F8, 0x01F0,
-		/* o */	0x0000, 0x00F0, 0x01F8, 0x0108, 0x0108, 0x01F8, 0x00F0,
-		/* p */	0x0000, 0x07F8, 0x07F8, 0x0108, 0x0108, 0x01F8, 0x00F0,
-		/* q */	0x0000, 0x00F0, 0x01F8, 0x0108, 0x0108, 0x07F8, 0x07F8,
-		/* r */	0x0000, 0x01F8, 0x01F8, 0x0008,
-		/* s */	0x0000, 0x0090, 0x01B8, 0x0168, 0x01D8, 0x0090,
-		/* t */	0x0000, 0x00FE, 0x01FE, 0x0108,
-		/* u */	0x0000, 0x00F8, 0x01F8, 0x0100, 0x0180, 0x01F8, 0x01F8,
-		/* v */	0x0000, 0x0018, 0x0078, 0x01E0, 0x01E0, 0x0078, 0x0018,
-		/* w */	0x0000, 0x0078, 0x01F8, 0x01E0, 0x0078, 0x0078, 0x01E0, 0x01F8, 0x0078,
-		/* x */	0x0000, 0x0198, 0x01F8, 0x0060, 0x01F8, 0x0198,
-		/* y */	0x0400, 0x0478, 0x07F8, 0x0380, 0x00F8, 0x0078,
-		/* z */	0x0000, 0x0188, 0x01C8, 0x0168, 0x0138, 0x0118,
-		/* { */	0x0000, 0x0010, 0x01FF, 0x03EF, 0x0200,
-		/* | */	0x0000, 0x03FF, 0x03FF,
-		/* } */	0x0000, 0x0200, 0x03EF, 0x01FF, 0x0010,
-		/* ~ */	0x0000, 0x0004, 0x0006, 0x0002, 0x0006, 0x0004, 0x0006, 0x0002
-	};
-#endif
-
-/* fontLarger - Tahoma, 11, Bold */
-#if GDISP_INCLUDE_FONT_LARGER
-    /* Forward Declarations of internal arrays */
-    static const uint8_t        fontLarger_Widths[];
-    static const uint16_t       fontLarger_Offsets[];
-    static const fontcolumn_t   fontLarger_Data[];
-
-    static const struct font fontLarger = {
-									"Larger",
-									12, 1, 13, 2, 2, 13, ' ', '~', 1, 1,
-									fontLarger_Widths,
-									fontLarger_Offsets,
-									fontLarger_Data};
-    static const struct font fontLargerDouble = {
-									"Larger Double",
-									12, 1, 13, 2, 2, 13, ' ', '~', 2, 2,
-									fontLarger_Widths,
-									fontLarger_Offsets,
-									fontLarger_Data};
-    static const struct font fontLargerNarrow = {
-									"Larger Narrow",
-									12, 1, 13, 2, 2, 13, ' ', '~', 1, 2,
-									fontLarger_Widths,
-									fontLarger_Offsets,
-									fontLarger_Data};
-	static const uint8_t fontLarger_Widths[] = {
-		2, 3, 5, 8, 7, 13, 8, 2, 4, 4, 7, 8, 3, 4, 3, 5,
-		7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 3, 9, 8, 9, 6,
-		9, 8, 7, 7, 8, 6, 5, 7, 8, 4, 5, 7, 6, 10, 7, 8,
-		7, 8, 8, 7, 6, 7, 7, 11, 7, 6, 6, 4, 5, 4, 9, 8,
-		5, 6, 7, 5, 7, 6, 5, 7, 7, 2, 3, 6, 2, 10, 7, 7,
-		7, 7, 4, 5, 5, 7, 6, 10, 6, 6, 5, 6, 4, 6, 9, 0
-	};
-	static const uint16_t fontLarger_Offsets[] = {
-		0, 2, 5, 10, 18, 25, 38, 46,
-		48, 52, 56, 63, 71, 74, 78, 81,
-		86, 93, 100, 107, 114, 121, 128, 135,
-		142, 149, 156, 159, 162, 171, 179, 188,
-		194, 203, 211, 218, 225, 233, 239, 244,
-		251, 259, 263, 268, 275, 281, 291, 298,
-		306, 313, 321, 329, 336, 342, 349, 356,
-		367, 374, 380, 386, 390, 395, 399, 408,
-		416, 421, 427, 434, 439, 446, 452, 457,
-		464, 471, 473, 476, 482, 484, 494, 501,
-		508, 515, 522, 526, 531, 536, 543, 549,
-		559, 565, 571, 576, 582, 586, 592, 0
-	};
-	static const fontcolumn_t fontLarger_Data[] = {
-		/*   */	0x0000, 0x0000,
-		/* ! */	0x0000, 0x037E, 0x037E,
-		/* " */	0x0007, 0x0007, 0x0000, 0x0007, 0x0007,
-		/* # */	0x00C0, 0x03D8, 0x00F8, 0x00DE, 0x03D8, 0x00F8, 0x00DE, 0x0018,
-		/* $ */	0x0118, 0x023C, 0x0264, 0x0FFF, 0x0264, 0x03C4, 0x0188,
-		/* % */	0x001C, 0x003E, 0x0022, 0x023E, 0x011C, 0x00C0, 0x0020, 0x0018, 0x01C4, 0x03E2, 0x0220, 0x03E0,
-				0x01C0,
-		/* & */	0x01CC, 0x03FE, 0x0232, 0x0272, 0x03DE, 0x018C, 0x03E0, 0x0260,
-		/* ' */	0x0007, 0x0007,
-		/* ( */	0x01F8, 0x07FE, 0x0E07, 0x0801,
-		/* ) */	0x0801, 0x0E07, 0x07FE, 0x01F8,
-		/* * */	0x0000, 0x000A, 0x0004, 0x001F, 0x001F, 0x0004, 0x000A,
-		/* + */	0x0000, 0x0020, 0x0020, 0x0020, 0x01FC, 0x0020, 0x0020, 0x0020,
-		/* , */	0x0000, 0x0F00, 0x0700,
-		/* - */	0x0020, 0x0020, 0x0020, 0x0020,
-		/* . */	0x0000, 0x0300, 0x0300,
-		/* / */	0x0C00, 0x0380, 0x0060, 0x001C, 0x0003,
-		/* 0 */	0x01FC, 0x03FE, 0x0202, 0x0202, 0x0202, 0x03FE, 0x01FC,
-		/* 1 */	0x0000, 0x0204, 0x0204, 0x03FE, 0x03FE, 0x0200, 0x0200,
-		/* 2 */	0x0204, 0x0302, 0x0382, 0x02C2, 0x0262, 0x023E, 0x021C,
-		/* 3 */	0x0104, 0x0202, 0x0222, 0x0222, 0x0222, 0x03FE, 0x01DC,
-		/* 4 */	0x0060, 0x0050, 0x0048, 0x0044, 0x03FE, 0x03FE, 0x0040,
-		/* 5 */	0x0100, 0x021E, 0x021E, 0x0212, 0x0212, 0x03F2, 0x01E2,
-		/* 6 */	0x01F8, 0x03FC, 0x0216, 0x0212, 0x0212, 0x03F2, 0x01E0,
-		/* 7 */	0x0002, 0x0002, 0x0382, 0x03E2, 0x007A, 0x001E, 0x0006,
-		/* 8 */	0x01DC, 0x03FE, 0x0222, 0x0222, 0x0222, 0x03FE, 0x01DC,
-		/* 9 */	0x003C, 0x027E, 0x0242, 0x0242, 0x0342, 0x01FE, 0x00FC,
-		/* : */	0x0000, 0x0318, 0x0318,
-		/* ; */	0x0000, 0x0F18, 0x0718,
-		/* < */	0x0000, 0x0060, 0x0060, 0x0090, 0x0090, 0x0108, 0x0108, 0x0204, 0x0204,
-		/* = */	0x0000, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090,
-		/* > */	0x0000, 0x0204, 0x0204, 0x0108, 0x0108, 0x0090, 0x0090, 0x0060, 0x0060,
-		/* ? */	0x0004, 0x0002, 0x0362, 0x0372, 0x001E, 0x000C,
-		/* @ */	0x01F8, 0x0204, 0x04F2, 0x05FA, 0x050A, 0x04FA, 0x05FA, 0x0104, 0x00F8,
-		/* A */	0x0380, 0x03F0, 0x00FC, 0x008E, 0x008E, 0x00FC, 0x03F0, 0x0380,
-		/* B */	0x03FE, 0x03FE, 0x0222, 0x0222, 0x0222, 0x03FE, 0x01DC,
-		/* C */	0x01FC, 0x03FE, 0x0202, 0x0202, 0x0202, 0x0202, 0x018C,
-		/* D */	0x03FE, 0x03FE, 0x0202, 0x0202, 0x0202, 0x0306, 0x01FC, 0x00F8,
-		/* E */	0x03FE, 0x03FE, 0x0222, 0x0222, 0x0222, 0x0222,
-		/* F */	0x03FE, 0x03FE, 0x0022, 0x0022, 0x0022,
-		/* G */	0x01FC, 0x03FE, 0x0202, 0x0202, 0x0222, 0x03E2, 0x03EC,
-		/* H */	0x03FE, 0x03FE, 0x0020, 0x0020, 0x0020, 0x0020, 0x03FE, 0x03FE,
-		/* I */	0x0202, 0x03FE, 0x03FE, 0x0202,
-		/* J */	0x0200, 0x0202, 0x0202, 0x03FE, 0x01FE,
-		/* K */	0x03FE, 0x03FE, 0x0070, 0x00D8, 0x018C, 0x0306, 0x0202,
-		/* L */	0x03FE, 0x03FE, 0x0200, 0x0200, 0x0200, 0x0200,
-		/* M */	0x03FE, 0x000E, 0x001C, 0x0038, 0x0070, 0x0030, 0x0018, 0x000C, 0x03FE, 0x03FE,
-		/* N */	0x03FE, 0x000E, 0x001C, 0x0070, 0x01E0, 0x0380, 0x03FE,
-		/* O */	0x01FC, 0x03FE, 0x0202, 0x0202, 0x0202, 0x0202, 0x03FE, 0x01FC,
-		/* P */	0x03FE, 0x03FE, 0x0042, 0x0042, 0x0042, 0x007E, 0x003C,
-		/* Q */	0x01FC, 0x03FE, 0x0202, 0x0202, 0x0602, 0x0E02, 0x0BFE, 0x09FC,
-		/* R */	0x03FE, 0x03FE, 0x0022, 0x0062, 0x00E2, 0x01BE, 0x031C, 0x0200,
-		/* S */	0x019C, 0x023E, 0x0222, 0x0222, 0x0222, 0x03E2, 0x01CC,
-		/* T */	0x0002, 0x0002, 0x03FE, 0x03FE, 0x0002, 0x0002,
-		/* U */	0x01FE, 0x03FE, 0x0200, 0x0200, 0x0200, 0x03FE, 0x01FE,
-		/* V */	0x000E, 0x007E, 0x03F0, 0x0380, 0x03F0, 0x007E, 0x000E,
-		/* W */	0x001E, 0x00FE, 0x03E0, 0x03E0, 0x00FC, 0x000E, 0x00FC, 0x03E0, 0x03E0, 0x00FE, 0x001E,
-		/* X */	0x0306, 0x038E, 0x00F8, 0x0070, 0x00F8, 0x038E, 0x0306,
-		/* Y */	0x000E, 0x003E, 0x03F0, 0x03F0, 0x003E, 0x000E,
-		/* Z */	0x0382, 0x03C2, 0x0262, 0x0232, 0x021E, 0x020E,
-		/* [ */	0x0FFF, 0x0FFF, 0x0801, 0x0801,
-		/* \ */	0x0003, 0x001C, 0x0060, 0x0380, 0x0C00,
-		/* ] */	0x0801, 0x0801, 0x0FFF, 0x0FFF,
-		/* ^ */	0x0000, 0x0010, 0x0008, 0x0004, 0x0002, 0x0002, 0x0004, 0x0008, 0x0010,
-		/* _ */	0x0800, 0x0800, 0x0800, 0x0800, 0x0800, 0x0800, 0x0800, 0x0800,
-		/* ` */	0x0000, 0x0000, 0x0001, 0x0003, 0x0002,
-		/* a */	0x0180, 0x03D0, 0x0248, 0x0248, 0x03F8, 0x03F0,
-		/* b */	0x03FF, 0x03FF, 0x0210, 0x0208, 0x0208, 0x03F8, 0x01F0,
-		/* c */	0x01F0, 0x03F8, 0x0208, 0x0208, 0x0208,
-		/* d */	0x01F0, 0x03F8, 0x0208, 0x0208, 0x0108, 0x03FF, 0x03FF,
-		/* e */	0x01F0, 0x03F8, 0x0248, 0x0248, 0x0278, 0x0170,
-		/* f */	0x0008, 0x03FE, 0x03FF, 0x0009, 0x0001,
-		/* g */	0x01F0, 0x0BF8, 0x0A08, 0x0A08, 0x0908, 0x0FF8, 0x07F8,
-		/* h */	0x03FF, 0x03FF, 0x0010, 0x0008, 0x0008, 0x03F8, 0x03F0,
-		/* i */	0x03FA, 0x03FA,
-		/* j */	0x0808, 0x0FFA, 0x07FA,
-		/* k */	0x03FF, 0x03FF, 0x00E0, 0x01B0, 0x0318, 0x0208,
-		/* l */	0x03FF, 0x03FF,
-		/* m */	0x03F8, 0x03F8, 0x0008, 0x0008, 0x03F8, 0x03F0, 0x0008, 0x0008, 0x03F8, 0x03F0,
-		/* n */	0x03F8, 0x03F8, 0x0010, 0x0008, 0x0008, 0x03F8, 0x03F0,
-		/* o */	0x01F0, 0x03F8, 0x0208, 0x0208, 0x0208, 0x03F8, 0x01F0,
-		/* p */	0x0FF8, 0x0FF8, 0x0210, 0x0208, 0x0208, 0x03F8, 0x01F0,
-		/* q */	0x01F0, 0x03F8, 0x0208, 0x0208, 0x0108, 0x0FF8, 0x0FF8,
-		/* r */	0x03F8, 0x03F8, 0x0010, 0x0018,
-		/* s */	0x0130, 0x0278, 0x0248, 0x03C8, 0x0190,
-		/* t */	0x0008, 0x01FE, 0x03FE, 0x0208, 0x0208,
-		/* u */	0x01F8, 0x03F8, 0x0200, 0x0200, 0x0100, 0x03F8, 0x03F8,
-		/* v */	0x0038, 0x00F8, 0x03C0, 0x03C0, 0x00F8, 0x0038,
-		/* w */	0x0018, 0x00F8, 0x03E0, 0x0380, 0x00F8, 0x00F8, 0x0380, 0x03E0, 0x00F8, 0x0018,
-		/* x */	0x0318, 0x03B8, 0x00E0, 0x00E0, 0x03B8, 0x0318,
-		/* y */	0x0038, 0x0CF8, 0x0FC0, 0x03C0, 0x00F8, 0x0038,
-		/* z */	0x0388, 0x03C8, 0x0268, 0x0238, 0x0218,
-		/* { */	0x0020, 0x0020, 0x07FE, 0x0FDF, 0x0801, 0x0801,
-		/* | */	0x0000, 0x0000, 0x0FFF, 0x0FFF,
-		/* } */	0x0801, 0x0801, 0x0FDF, 0x07FE, 0x0020, 0x0020,
-		/* ~ */	0x00E0, 0x0030, 0x0030, 0x0030, 0x0060, 0x00C0, 0x00C0, 0x00C0, 0x0070
-	};
-#endif
-
-/* fontUI1 - UI Font 1 Medium Bold */
-#if GDISP_INCLUDE_FONT_UI1
-	/* Forward Declarations of internal arrays */
-    static const uint8_t        fontUI1_Widths[];
-    static const uint16_t       fontUI1_Offsets[];
-    static const fontcolumn_t   fontUI1_Data[];
-
-    static const struct font fontUI1 = {
-									"UI1",
-									13, 0, 15, 2, 3, 13, ' ', '~', 1, 1,
-									fontUI1_Widths,
-									fontUI1_Offsets,
-									fontUI1_Data};
-    static const struct font fontUI1Double = {
-									"UI1 Double",
-									13, 0, 15, 2, 3, 13, ' ', '~', 2, 2,
-									fontUI1_Widths,
-									fontUI1_Offsets,
-									fontUI1_Data};
-    static const struct font fontUI1Narrow = {
-									"UI1 Narrow",
-									13, 0, 15, 2, 3, 13, ' ', '~', 1, 2,
-									fontUI1_Widths,
-									fontUI1_Offsets,
-									fontUI1_Data};
-
-	static const uint8_t fontUI1_Widths[] = {
-		3, 3, 6, 8, 7, 13, 9, 3, 5, 5, 6, 8, 3, 5, 3, 7,
-		7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 3, 8, 8, 8, 6,
-		10, 8, 7, 7, 8, 7, 7, 8, 8, 5, 5, 7, 7, 9, 8, 8,
-		7, 8, 8, 7, 8, 8, 7, 11, 7, 7, 7, 5, 7, 5, 9, 8,
-		5, 7, 7, 6, 7, 7, 5, 7, 7, 3, 4, 7, 3, 11, 7, 7,
-		7, 7, 6, 6, 5, 7, 7, 9, 7, 7, 6, 7, 4, 7, 8, 0
-	};
-	static const uint16_t fontUI1_Offsets[] = {
-		0, 3, 6, 12, 20, 27, 40, 49,
-		52, 57, 62, 68, 76, 79, 84, 87,
-		94, 101, 108, 115, 122, 129, 136, 143,
-		150, 157, 164, 167, 170, 178, 186, 194,
-		200, 210, 218, 225, 232, 240, 247, 254,
-		262, 270, 275, 280, 287, 294, 303, 311,
-		319, 326, 334, 342, 349, 357, 365, 372,
-		383, 390, 397, 404, 409, 416, 421, 430,
-		438, 443, 450, 457, 463, 470, 477, 482,
-		489, 496, 499, 503, 510, 513, 524, 531,
-		538, 545, 552, 558, 564, 569, 576, 583,
-		592, 599, 606, 612, 619, 623, 630, 0
-	};
-	static const fontcolumn_t fontUI1_Data[] = {
-		/*   */	0x0000, 0x0000, 0x0000,
-		/* ! */	0x0000, 0x02FC, 0x02FC,
-		/* " */	0x0000, 0x000E, 0x000E, 0x0000, 0x000E, 0x000E,
-		/* # */	0x0000, 0x0080, 0x0390, 0x00F0, 0x039C, 0x00F0, 0x009C, 0x0010,
-		/* $ */	0x0000, 0x0130, 0x0278, 0x0FC8, 0x027E, 0x03C8, 0x0190,
-		/* % */	0x0000, 0x0038, 0x007C, 0x0044, 0x007C, 0x0338, 0x00C0, 0x0030, 0x01CC, 0x03E0, 0x0220, 0x03E0,
-				0x01C0,
-		/* & */	0x0000, 0x01D8, 0x03FC, 0x0224, 0x027C, 0x02D8, 0x0180, 0x0360, 0x0220,
-		/* ' */	0x0000, 0x000E, 0x000E,
-		/* ( */	0x0000, 0x01F0, 0x07FC, 0x0E0E, 0x0802,
-		/* ) */	0x0000, 0x0802, 0x0E0E, 0x07FC, 0x01F0,
-		/* * */	0x0000, 0x0014, 0x0008, 0x003E, 0x0008, 0x0014,
-		/* + */	0x0000, 0x0040, 0x0040, 0x0040, 0x03F8, 0x0040, 0x0040, 0x0040,
-		/* , */	0x0000, 0x0F00, 0x0700,
-		/* - */	0x0000, 0x0040, 0x0040, 0x0040, 0x0040,
-		/* . */	0x0000, 0x0300, 0x0300,
-		/* / */	0x0000, 0x0C00, 0x0F00, 0x03E0, 0x00F8, 0x001E, 0x0006,
-		/* 0 */	0x0000, 0x01F8, 0x03FC, 0x0204, 0x0204, 0x03FC, 0x01F8,
-		/* 1 */	0x0000, 0x0000, 0x0208, 0x03FC, 0x03FC, 0x0200, 0x0000,
-		/* 2 */	0x0000, 0x0308, 0x038C, 0x02C4, 0x0264, 0x023C, 0x0218,
-		/* 3 */	0x0000, 0x0108, 0x030C, 0x0224, 0x0224, 0x03FC, 0x01D8,
-		/* 4 */	0x0000, 0x00C0, 0x00A0, 0x0090, 0x03F8, 0x03FC, 0x0080,
-		/* 5 */	0x0000, 0x0100, 0x033C, 0x023C, 0x0224, 0x03E4, 0x01C4,
-		/* 6 */	0x0000, 0x01F0, 0x03F8, 0x022C, 0x0224, 0x03E4, 0x01C0,
-		/* 7 */	0x0000, 0x0004, 0x0304, 0x03C4, 0x00F4, 0x003C, 0x000C,
-		/* 8 */	0x0000, 0x01D8, 0x03FC, 0x0224, 0x0224, 0x03FC, 0x01D8,
-		/* 9 */	0x0000, 0x0038, 0x027C, 0x0244, 0x0344, 0x01FC, 0x00F8,
-		/* : */	0x0000, 0x0330, 0x0330,
-		/* ; */	0x0000, 0x0F30, 0x0730,
-		/* < */	0x0000, 0x0040, 0x00A0, 0x00A0, 0x0110, 0x0110, 0x0208, 0x0208,
-		/* = */	0x0000, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090,
-		/* > */	0x0000, 0x0208, 0x0208, 0x0110, 0x0110, 0x00A0, 0x00A0, 0x0040,
-		/* ? */	0x0000, 0x0008, 0x02C4, 0x02E4, 0x003C, 0x0018,
-		/* @ */	0x0000, 0x01F0, 0x0208, 0x04E4, 0x05F4, 0x0514, 0x05F4, 0x05F4, 0x0104, 0x00F8,
-		/* A */	0x0000, 0x0380, 0x03F0, 0x00FC, 0x008C, 0x00FC, 0x03F0, 0x0380,
-		/* B */	0x0000, 0x03FC, 0x03FC, 0x0224, 0x0224, 0x03FC, 0x01D8,
-		/* C */	0x0000, 0x01F8, 0x03FC, 0x0204, 0x0204, 0x0204, 0x0108,
-		/* D */	0x0000, 0x03FC, 0x03FC, 0x0204, 0x0204, 0x030C, 0x01F8, 0x00F0,
-		/* E */	0x0000, 0x03FC, 0x03FC, 0x0224, 0x0224, 0x0224, 0x0224,
-		/* F */	0x0000, 0x03FC, 0x03FC, 0x0024, 0x0024, 0x0024, 0x0024,
-		/* G */	0x0000, 0x01F8, 0x03FC, 0x0204, 0x0204, 0x0244, 0x03C4, 0x03C8,
-		/* H */	0x0000, 0x03FC, 0x03FC, 0x0020, 0x0020, 0x0020, 0x03FC, 0x03FC,
-		/* I */	0x0000, 0x0204, 0x03FC, 0x03FC, 0x0204,
-		/* J */	0x0200, 0x0204, 0x0204, 0x03FC, 0x01FC,
-		/* K */	0x0000, 0x03FC, 0x03FC, 0x00F0, 0x0198, 0x030C, 0x0204,
-		/* L */	0x0000, 0x03FC, 0x03FC, 0x0200, 0x0200, 0x0200, 0x0200,
-		/* M */	0x0000, 0x03FC, 0x001C, 0x0038, 0x0070, 0x0020, 0x0010, 0x03F8, 0x03FC,
-		/* N */	0x0000, 0x03FC, 0x0018, 0x0030, 0x0060, 0x00C0, 0x0180, 0x03FC,
-		/* O */	0x0000, 0x01F8, 0x03FC, 0x0204, 0x0204, 0x0204, 0x03FC, 0x01F8,
-		/* P */	0x0000, 0x03FC, 0x03FC, 0x0044, 0x0044, 0x007C, 0x0038,
-		/* Q */	0x0000, 0x01F8, 0x03FC, 0x0204, 0x0604, 0x0E04, 0x0BFC, 0x09F8,
-		/* R */	0x0000, 0x03FC, 0x03FC, 0x0044, 0x00C4, 0x01FC, 0x0338, 0x0200,
-		/* S */	0x0000, 0x0138, 0x027C, 0x0264, 0x0264, 0x03E4, 0x01C8,
-		/* T */	0x0004, 0x0004, 0x0004, 0x03FC, 0x03FC, 0x0004, 0x0004, 0x0004,
-		/* U */	0x0000, 0x01FC, 0x03FC, 0x0200, 0x0200, 0x0200, 0x03FC, 0x01FC,
-		/* V */	0x0000, 0x001C, 0x00FC, 0x03E0, 0x03E0, 0x00FC, 0x001C,
-		/* W */	0x0000, 0x001C, 0x00FC, 0x03E0, 0x03C0, 0x007C, 0x007C, 0x03C0, 0x03E0, 0x00FC, 0x001C,
-		/* X */	0x0000, 0x030C, 0x039C, 0x00F0, 0x00F0, 0x039C, 0x030C,
-		/* Y */	0x0000, 0x000C, 0x003C, 0x03F0, 0x03F0, 0x003C, 0x000C,
-		/* Z */	0x0000, 0x0384, 0x03C4, 0x02E4, 0x0274, 0x023C, 0x021C,
-		/* [ */	0x0000, 0x0FFE, 0x0FFE, 0x0802, 0x0802,
-		/* \ */	0x0000, 0x0006, 0x001E, 0x00F8, 0x03E0, 0x0F00, 0x0C00,
-		/* ] */	0x0000, 0x0802, 0x0802, 0x0FFE, 0x0FFE,
-		/* ^ */	0x0000, 0x0020, 0x0030, 0x0018, 0x000C, 0x000C, 0x0018, 0x0030, 0x0020,
-		/* _ */	0x0800, 0x0800, 0x0800, 0x0800, 0x0800, 0x0800, 0x0800, 0x0800,
-		/* ` */	0x0000, 0x0000, 0x0002, 0x0006, 0x0004,
-		/* a */	0x0000, 0x0180, 0x03D0, 0x0250, 0x0250, 0x03F0, 0x03E0,
-		/* b */	0x0000, 0x03FE, 0x03FE, 0x0210, 0x0210, 0x03F0, 0x01E0,
-		/* c */	0x0000, 0x01E0, 0x03F0, 0x0210, 0x0210, 0x0210,
-		/* d */	0x0000, 0x01E0, 0x03F0, 0x0210, 0x0210, 0x03FE, 0x03FE,
-		/* e */	0x0000, 0x01E0, 0x03F0, 0x0250, 0x0250, 0x0270, 0x0160,
-		/* f */	0x0010, 0x03FC, 0x03FE, 0x0012, 0x0012,
-		/* g */	0x0000, 0x01E0, 0x0BF0, 0x0A10, 0x0A10, 0x0FF0, 0x07F0,
-		/* h */	0x0000, 0x03FE, 0x03FE, 0x0010, 0x0010, 0x03F0, 0x03E0,
-		/* i */	0x0000, 0x03F4, 0x03F4,
-		/* j */	0x0800, 0x0810, 0x0FF4, 0x07F4,
-		/* k */	0x0000, 0x03FE, 0x03FE, 0x00C0, 0x01E0, 0x0330, 0x0210,
-		/* l */	0x0000, 0x03FE, 0x03FE,
-		/* m */	0x0000, 0x03F0, 0x03F0, 0x0010, 0x0010, 0x03F0, 0x03E0, 0x0010, 0x0010, 0x03F0, 0x03E0,
-		/* n */	0x0000, 0x03F0, 0x03F0, 0x0010, 0x0010, 0x03F0, 0x03E0,
-		/* o */	0x0000, 0x01E0, 0x03F0, 0x0210, 0x0210, 0x03F0, 0x01E0,
-		/* p */	0x0000, 0x0FF0, 0x0FF0, 0x0210, 0x0210, 0x03F0, 0x01E0,
-		/* q */	0x0000, 0x01E0, 0x03F0, 0x0210, 0x0210, 0x0FF0, 0x0FF0,
-		/* r */	0x0000, 0x03F0, 0x03F0, 0x0020, 0x0030, 0x0030,
-		/* s */	0x0000, 0x0260, 0x02F0, 0x02D0, 0x03D0, 0x0190,
-		/* t */	0x0010, 0x01FC, 0x03FC, 0x0210, 0x0210,
-		/* u */	0x0000, 0x01F0, 0x03F0, 0x0200, 0x0200, 0x03F0, 0x03F0,
-		/* v */	0x0000, 0x0070, 0x01F0, 0x0380, 0x0380, 0x01F0, 0x0070,
-		/* w */	0x0000, 0x00F0, 0x03F0, 0x0300, 0x00F0, 0x00F0, 0x0300, 0x03F0, 0x00F0,
-		/* x */	0x0000, 0x0330, 0x03F0, 0x00C0, 0x00C0, 0x03F0, 0x0330,
-		/* y */	0x0000, 0x0030, 0x0CF0, 0x0FC0, 0x03C0, 0x00F0, 0x0030,
-		/* z */	0x0000, 0x0310, 0x0390, 0x02D0, 0x0270, 0x0230,
-		/* { */	0x0000, 0x0040, 0x0040, 0x07FC, 0x0FBE, 0x0802, 0x0802,
-		/* | */	0x0000, 0x0000, 0x0FFE, 0x0FFE,
-		/* } */	0x0000, 0x0802, 0x0802, 0x0FBE, 0x07FC, 0x0040, 0x0040,
-		/* ~ */	0x0000, 0x01C0, 0x0020, 0x0020, 0x00C0, 0x0100, 0x0100, 0x00E0
-	};
-#endif
-
-/* fontUI1 - UI Font 2 Medium Bold */
-#if GDISP_INCLUDE_FONT_UI2
-	/* Forward Declarations of internal arrays */
-	static const uint8_t        fontUI2_Widths[];
-	static const uint16_t       fontUI2_Offsets[];
-	static const fontcolumn_t   fontUI2_Data[];
-
-	static const struct font fontUI2 = {
-									"UI2",
-									11, 1, 13, 2, 2, 12, ' ', '~', 1, 1,
-									fontUI2_Widths,
-									fontUI2_Offsets,
-									fontUI2_Data};
-	static const struct font fontUI2Double = {
-									"UI2 Double",
-									11, 1, 13, 2, 2, 12, ' ', '~', 2, 2,
-									fontUI2_Widths,
-									fontUI2_Offsets,
-									fontUI2_Data};
-	static const struct font fontUI2Narrow = {
-									"UI2 Narrow",
-									11, 1, 13, 2, 2, 12, ' ', '~', 1, 2,
-									fontUI2_Widths,
-									fontUI2_Offsets,
-									fontUI2_Data};
-
-	static const uint8_t fontUI2_Widths[] = {
-		2, 2, 5, 8, 6, 12, 8, 2, 4, 4, 6, 8, 2, 4, 2, 5,
-		6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2, 2, 8, 8, 8, 5,
-		9, 7, 6, 6, 7, 5, 5, 7, 7, 4, 5, 6, 5, 9, 6, 7,
-		6, 7, 7, 6, 6, 7, 6, 10, 6, 6, 6, 4, 5, 4, 7, 7,
-		4, 6, 6, 5, 6, 6, 4, 6, 6, 2, 3, 6, 2, 10, 6, 6,
-		6, 6, 4, 5, 4, 6, 6, 8, 6, 6, 5, 6, 4, 6, 8, 0
-	};
-	static const uint16_t fontUI2_Offsets[] = {
-		0, 2, 4, 9, 17, 23, 35, 43,
-		45, 49, 53, 59, 67, 69, 73, 75,
-		80, 86, 92, 98, 104, 110, 116, 122,
-		128, 134, 140, 142, 144, 152, 160, 168,
-		173, 182, 189, 195, 201, 208, 213, 218,
-		225, 232, 236, 241, 247, 252, 261, 267,
-		274, 280, 287, 294, 300, 306, 313, 319,
-		329, 335, 341, 347, 351, 356, 360, 367,
-		374, 378, 384, 390, 395, 401, 407, 411,
-		417, 423, 425, 428, 434, 436, 446, 452,
-		458, 464, 470, 474, 479, 483, 489, 495,
-		503, 509, 515, 520, 526, 530, 536, 0
-	};
-	static const fontcolumn_t fontUI2_Data[] = {
-		/*   */	0x0000, 0x0000,
-		/* ! */	0x017E, 0x017E,
-		/* " */	0x0007, 0x0007, 0x0000, 0x0007, 0x0007,
-		/* # */	0x00C0, 0x03D8, 0x00F8, 0x00DE, 0x03D8, 0x00F8, 0x00DE, 0x0018,
-		/* $ */	0x0098, 0x013C, 0x07E4, 0x013F, 0x01E4, 0x00C8,
-		/* % */	0x001C, 0x003E, 0x0022, 0x003E, 0x019C, 0x0060, 0x0018, 0x00E6, 0x01F0, 0x0110, 0x01F0, 0x00E0,
-		/* & */	0x00EC, 0x01FE, 0x0112, 0x013E, 0x016C, 0x00C0, 0x01B0, 0x0110,
-		/* ' */	0x0007, 0x0007,
-		/* ( */	0x00F8, 0x03FE, 0x0707, 0x0401,
-		/* ) */	0x0401, 0x0707, 0x03FE, 0x00F8,
-		/* * */	0x000A, 0x0004, 0x001F, 0x001F, 0x0004, 0x000A,
-		/* + */	0x0000, 0x0020, 0x0020, 0x0020, 0x01FC, 0x0020, 0x0020, 0x0020,
-		/* , */	0x0780, 0x0380,
-		/* - */	0x0020, 0x0020, 0x0020, 0x0020,
-		/* . */	0x0180, 0x0180,
-		/* / */	0x0600, 0x0180, 0x0070, 0x000C, 0x0003,
-		/* 0 */	0x00FC, 0x01FE, 0x0102, 0x0102, 0x01FE, 0x00FC,
-		/* 1 */	0x0000, 0x0104, 0x01FE, 0x01FE, 0x0100, 0x0000,
-		/* 2 */	0x0184, 0x01C6, 0x0162, 0x0132, 0x011E, 0x010C,
-		/* 3 */	0x0084, 0x0186, 0x0112, 0x0112, 0x01FE, 0x00EC,
-		/* 4 */	0x0060, 0x0050, 0x0048, 0x01FC, 0x01FE, 0x0040,
-		/* 5 */	0x0080, 0x019E, 0x011E, 0x0112, 0x01F2, 0x00E2,
-		/* 6 */	0x00FC, 0x01FE, 0x0112, 0x0112, 0x01F2, 0x00E0,
-		/* 7 */	0x0002, 0x0002, 0x01C2, 0x01FA, 0x003E, 0x0006,
-		/* 8 */	0x00EC, 0x01FE, 0x0112, 0x0112, 0x01FE, 0x00EC,
-		/* 9 */	0x001C, 0x013E, 0x0122, 0x0122, 0x01FE, 0x00FC,
-		/* : */	0x0198, 0x0198,
-		/* ; */	0x0798, 0x0398,
-		/* < */	0x0000, 0x0020, 0x0050, 0x0050, 0x0088, 0x0088, 0x0104, 0x0104,
-		/* = */	0x0000, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
-		/* > */	0x0000, 0x0104, 0x0104, 0x0088, 0x0088, 0x0050, 0x0050, 0x0020,
-		/* ? */	0x0004, 0x0162, 0x0172, 0x001E, 0x000C,
-		/* @ */	0x00F8, 0x0104, 0x0272, 0x02FA, 0x028A, 0x027A, 0x02FA, 0x0084, 0x0078,
-		/* A */	0x01C0, 0x01F8, 0x007E, 0x0046, 0x007E, 0x01F8, 0x01C0,
-		/* B */	0x01FE, 0x01FE, 0x0112, 0x0112, 0x01FE, 0x00EC,
-		/* C */	0x00FC, 0x01FE, 0x0102, 0x0102, 0x0102, 0x0102,
-		/* D */	0x01FE, 0x01FE, 0x0102, 0x0102, 0x0186, 0x00FC, 0x0078,
-		/* E */	0x01FE, 0x01FE, 0x0112, 0x0112, 0x0112,
-		/* F */	0x01FE, 0x01FE, 0x0012, 0x0012, 0x0012,
-		/* G */	0x00FC, 0x01FE, 0x0102, 0x0102, 0x0122, 0x01E2, 0x01E2,
-		/* H */	0x01FE, 0x01FE, 0x0010, 0x0010, 0x0010, 0x01FE, 0x01FE,
-		/* I */	0x0102, 0x01FE, 0x01FE, 0x0102,
-		/* J */	0x0100, 0x0102, 0x0102, 0x01FE, 0x00FE,
-		/* K */	0x01FE, 0x01FE, 0x0078, 0x00CC, 0x0186, 0x0102,
-		/* L */	0x01FE, 0x01FE, 0x0100, 0x0100, 0x0100,
-		/* M */	0x01FE, 0x000E, 0x001C, 0x0038, 0x0030, 0x0018, 0x000C, 0x01FE, 0x01FE,
-		/* N */	0x01FE, 0x000E, 0x001C, 0x0038, 0x0070, 0x01FE,
-		/* O */	0x00FC, 0x01FE, 0x0102, 0x0102, 0x0102, 0x01FE, 0x00FC,
-		/* P */	0x01FE, 0x01FE, 0x0022, 0x0022, 0x003E, 0x001C,
-		/* Q */	0x00FC, 0x01FE, 0x0102, 0x0302, 0x0702, 0x05FE, 0x04FC,
-		/* R */	0x01FE, 0x01FE, 0x0022, 0x0062, 0x00FE, 0x019C, 0x0100,
-		/* S */	0x011C, 0x013E, 0x0132, 0x0132, 0x01F2, 0x00E2,
-		/* T */	0x0002, 0x0002, 0x01FE, 0x01FE, 0x0002, 0x0002,
-		/* U */	0x00FE, 0x01FE, 0x0100, 0x0100, 0x0100, 0x01FE, 0x00FE,
-		/* V */	0x000E, 0x007E, 0x01F0, 0x01F0, 0x007E, 0x000E,
-		/* W */	0x000E, 0x007E, 0x01F0, 0x01E0, 0x003E, 0x003E, 0x01E0, 0x01F0, 0x007E, 0x000E,
-		/* X */	0x0186, 0x01CE, 0x0078, 0x0078, 0x01CE, 0x0186,
-		/* Y */	0x0006, 0x001E, 0x01F8, 0x01F8, 0x001E, 0x0006,
-		/* Z */	0x01C2, 0x01E2, 0x0172, 0x013A, 0x011E, 0x010E,
-		/* [ */	0x07FF, 0x07FF, 0x0401, 0x0401,
-		/* \ */	0x0003, 0x000C, 0x0070, 0x0180, 0x0600,
-		/* ] */	0x0401, 0x0401, 0x07FF, 0x07FF,
-		/* ^ */	0x0010, 0x0008, 0x0004, 0x0002, 0x0004, 0x0008, 0x0010,
-		/* _ */	0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400, 0x0400,
-		/* ` */	0x0000, 0x0001, 0x0003, 0x0002,
-		/* a */	0x00C0, 0x01E8, 0x0128, 0x0128, 0x01F8, 0x01F0,
-		/* b */	0x01FF, 0x01FF, 0x0108, 0x0108, 0x01F8, 0x00F0,
-		/* c */	0x00F0, 0x01F8, 0x0108, 0x0108, 0x0108,
-		/* d */	0x00F0, 0x01F8, 0x0108, 0x0108, 0x01FF, 0x01FF,
-		/* e */	0x00F0, 0x01F8, 0x0128, 0x0128, 0x0138, 0x0130,
-		/* f */	0x01FE, 0x01FF, 0x0009, 0x0001,
-		/* g */	0x00F0, 0x05F8, 0x0508, 0x0508, 0x07F8, 0x03F8,
-		/* h */	0x01FF, 0x01FF, 0x0008, 0x0008, 0x01F8, 0x01F0,
-		/* i */	0x01FA, 0x01FA,
-		/* j */	0x0408, 0x07FA, 0x03FA,
-		/* k */	0x01FF, 0x01FF, 0x0060, 0x00F0, 0x0198, 0x0108,
-		/* l */	0x01FF, 0x01FF,
-		/* m */	0x01F8, 0x01F8, 0x0008, 0x0008, 0x01F8, 0x01F0, 0x0008, 0x0008, 0x01F8, 0x01F0,
-		/* n */	0x01F8, 0x01F8, 0x0008, 0x0008, 0x01F8, 0x01F0,
-		/* o */	0x00F0, 0x01F8, 0x0108, 0x0108, 0x01F8, 0x00F0,
-		/* p */	0x07F8, 0x07F8, 0x0108, 0x0108, 0x01F8, 0x00F0,
-		/* q */	0x00F0, 0x01F8, 0x0108, 0x0108, 0x07F8, 0x07F8,
-		/* r */	0x01F8, 0x01F8, 0x0010, 0x0018,
-		/* s */	0x0130, 0x0178, 0x0168, 0x01E8, 0x00C8,
-		/* t */	0x00FE, 0x01FE, 0x0108, 0x0108,
-		/* u */	0x00F8, 0x01F8, 0x0100, 0x0100, 0x01F8, 0x01F8,
-		/* v */	0x0018, 0x0078, 0x01E0, 0x01E0, 0x0078, 0x0018,
-		/* w */	0x0078, 0x01F8, 0x01C0, 0x0078, 0x0078, 0x01C0, 0x01F8, 0x0078,
-		/* x */	0x0198, 0x01F8, 0x0060, 0x0060, 0x01F8, 0x0198,
-		/* y */	0x0018, 0x0678, 0x07E0, 0x01E0, 0x0078, 0x0018,
-		/* z */	0x0188, 0x01C8, 0x0168, 0x0138, 0x0118,
-		/* { */	0x0020, 0x0020, 0x03FE, 0x07DF, 0x0401, 0x0401,
-		/* | */	0x0000, 0x0000, 0x07FF, 0x07FF,
-		/* } */	0x0401, 0x0401, 0x07DF, 0x03FE, 0x0020, 0x0020,
-		/* ~ */	0x0060, 0x0010, 0x0010, 0x0030, 0x0060, 0x0040, 0x0040, 0x0030
-	};
-#endif
-
-/*
-	fontLargeNumbers:
-		Large numbers font, height = 16 (including the decenders)
-		Characters include:  0 - 9, -, +, ., %, :, Space, Comma
-*/
-#if GDISP_INCLUDE_FONT_LARGENUMBERS
-	/* Forward Declarations of internal arrays */
-    static const uint8_t        fontLargeNumbers_Widths[];
-    static const uint16_t       fontLargeNumbers_Offsets[];
-    static const fontcolumn_t   fontLargeNumbers_Data[];
-
-    static const struct font fontLargeNumbers = {
-									"LargeNumbers",
-									16, 2, 21, 1, 3, 15, '%', ':', 1, 1,
-									fontLargeNumbers_Widths,
-									fontLargeNumbers_Offsets,
-									fontLargeNumbers_Data};
-    static const struct font fontLargeNumbersDouble = {
-									"LargeNumbers Double",
-									16, 2, 21, 1, 3, 15, '%', ':', 2, 2,
-									fontLargeNumbers_Widths,
-									fontLargeNumbers_Offsets,
-									fontLargeNumbers_Data};
-    static const struct font fontLargeNumbersNarrow = {
-									"LargeNumbers Narrow", 16, 2, 21, 1, 3, 15, '%', ':', 1, 2,
-									fontLargeNumbers_Widths,
-									fontLargeNumbers_Offsets,
-									fontLargeNumbers_Data};
-
-	static const uint8_t fontLargeNumbers_Widths[] = {
-		15, 0, 0, 0, 0, 0, 11, 3, 6, 3, 0, 10, 10, 10, 10, 10,
-		10, 10, 10, 10, 10, 4, 0, 0
-	};
-	static const uint16_t fontLargeNumbers_Offsets[] = {
-		0, 0, 0, 0, 0, 0, 15, 26,
-		29, 35, 0, 38, 48, 58, 68, 78,
-		88, 98, 108, 118, 128, 138, 0, 0
-	};
-	static const fontcolumn_t fontLargeNumbers_Data[] = {
-		/* % */	0x007E, 0x00FF, 0x00C3, 0x80C3, 0xE0FF, 0x7C7E, 0x1F00, 0x07C0, 0x00F0, 0x7E3E, 0xFF0F, 0xC303,
-				0xC300, 0xFF00, 0x7E00,
-		/* + */	0x01C0, 0x01C0, 0x01C0, 0x01C0, 0x1FFC, 0x1FFC, 0x1FFC, 0x01C0, 0x01C0, 0x01C0, 0x01C0,
-		/* , */	0x7000, 0x7000, 0xF000,
-		/* - */	0x0700, 0x0700, 0x0700, 0x0700, 0x0700, 0x0700,
-		/* . */	0x7000, 0x7000, 0x7000,
-		/* 0 */	0x0FF8, 0x3FFE, 0x3FFE, 0x7007, 0x6003, 0x6003, 0x7007, 0x3FFE, 0x3FFE, 0x0FF8,
-		/* 1 */	0x0000, 0x0070, 0x0038, 0x0038, 0x001C, 0x7FFF, 0x7FFF, 0x7FFF, 0x0000, 0x0000,
-		/* 2 */	0x600C, 0x700E, 0x7C0F, 0x7E07, 0x6F03, 0x6783, 0x63C7, 0x61FF, 0x60FE, 0x603C,
-		/* 3 */	0x180C, 0x380E, 0x780F, 0x70C3, 0x60C3, 0x60E3, 0x71FF, 0x3FFE, 0x3F3C, 0x0E00,
-		/* 4 */	0x0F00, 0x0DC0, 0x0CE0, 0x0C38, 0x0C1E, 0x7FFF, 0x7FFF, 0x7FFF, 0x0C00, 0x0C00,
-		/* 5 */	0x18C0, 0x38FC, 0x78FF, 0x707F, 0x6063, 0x6063, 0x70E3, 0x3FE3, 0x3FC3, 0x0F80,
-		/* 6 */	0x0FF8, 0x3FFE, 0x3FFE, 0x70C7, 0x6063, 0x6063, 0x70E7, 0x3FEF, 0x3FC6, 0x0F04,
-		/* 7 */	0x0003, 0x0003, 0x7803, 0x7F03, 0x7FC3, 0x07F3, 0x00FB, 0x003F, 0x000F, 0x0007,
-		/* 8 */	0x1E1C, 0x3F3E, 0x7FFF, 0x71E7, 0x60C3, 0x60C3, 0x71E7, 0x7FFF, 0x3F3E, 0x1E1C,
-		/* 9 */	0x1078, 0x39FE, 0x7BFE, 0x7387, 0x6303, 0x6303, 0x7187, 0x3FFE, 0x3FFE, 0x0FF8,
-		/* : */	0x0000, 0x0E38, 0x0E38, 0x0E38
-	};
-#endif
-
-static const struct font *BuiltinFontTable[] = {
-	#if GDISP_INCLUDE_FONT_SMALL
-		&fontSmall, &fontSmallDouble, &fontSmallNarrow,
-	#endif
-	#if GDISP_INCLUDE_FONT_LARGER
-		&fontLarger, &fontLargerDouble, &fontLargerNarrow,
-	#endif
-	#if GDISP_INCLUDE_FONT_UI1
-		&fontUI1, &fontUI1Double, &fontUI1Narrow,
-	#endif
-	#if GDISP_INCLUDE_FONT_UI2
-		&fontUI2, &fontUI2Double, &fontUI2Narrow,
-	#endif
-	#if GDISP_INCLUDE_FONT_LARGENUMBERS
-		&fontLargeNumbers, &fontLargeNumbersDouble, &fontLargeNumbersNarrow,
-	#endif
-	};
+/* Custom flag to indicate dynamically allocated font */
+#define FONT_FLAG_DYNAMIC 0x80
 
 /**
  * Match a pattern against the font name.
@@ -712,21 +49,44 @@ static bool_t matchfont(const char *pattern, const char *name) {
 }
 
 font_t gdispOpenFont(const char *name) {
-	const struct font **p;
-
-	for(p = BuiltinFontTable; p < BuiltinFontTable+sizeof(BuiltinFontTable)/sizeof(BuiltinFontTable[0]); p++) {
-		if (matchfont(name, p[0]->name))
-			return p[0];
+	const struct mf_font_list_s *fp;
+	int i;
+	
+	fp = mf_get_font_list();
+	
+	while (fp)
+	{
+		if (matchfont(name, fp->font->short_name))
+			return fp->font;
+		fp = fp->next;
 	}
-	return 0;
+	
+	/* Return default font.. better than nothing. */
+	return mf_get_font_list()->font;
 }
 
 void gdispCloseFont(font_t font) {
-	(void) font;
+	if (font->flags & FONT_FLAG_DYNAMIC)
+	{
+		struct mf_font_s *dfont = (struct mf_font_s *)font;
+		
+		/* Make sure that no-one can successfully use font after closing */
+		dfont->render_character = NULL;
+		
+		/* Release the allocated memory */
+		gfxFree(dfont);
+	}
+}
+
+font_t gdispScaleFont(font_t font, uint8_t scale_x, uint8_t scale_y)
+{
+	struct mf_scaledfont_s *newfont = gfxAlloc(sizeof(struct mf_scaledfont_s));
+	mf_scale_font(newfont, font, scale_x, scale_y);
+	return (font_t)newfont;
 }
 
 const char *gdispGetFontName(font_t font) {
-	return font->name;
+	return font->short_name;
 }
 
 #endif /* GFX_USE_GDISP && GDISP_NEED_TEXT */
diff --git a/src/gdisp/fonts/DejaVuSans-Bold.ttf b/src/gdisp/fonts/DejaVuSans-Bold.ttf
new file mode 100644
index 00000000..9b74ef85
Binary files /dev/null and b/src/gdisp/fonts/DejaVuSans-Bold.ttf differ
diff --git a/src/gdisp/fonts/DejaVuSans.license b/src/gdisp/fonts/DejaVuSans.license
new file mode 100644
index 00000000..710b32c6
--- /dev/null
+++ b/src/gdisp/fonts/DejaVuSans.license
@@ -0,0 +1,58 @@
+This package was debianized by Peter Cernak <pce@users.sourceforge.net> on
+Sun,  5 Sep 2004 17:10:26 +0200.
+
+It was downloaded from http://dejavu.sourceforge.net/
+
+Upstream Authors: Stepan Roh <src@users.sourceforge.net> (original author),
+                  see /usr/share/doc/ttf-dejavu/AUTHORS for full list
+
+Copyright:
+
+Fonts are (c) Bitstream (see below). DejaVu changes are in public domain.
+
+Bitstream Vera Fonts Copyright
+------------------------------
+
+Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is
+a trademark of Bitstream, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of the fonts accompanying this license ("Fonts") and associated
+documentation files (the "Font Software"), to reproduce and distribute the
+Font Software, including without limitation the rights to use, copy, merge,
+publish, distribute, and/or sell copies of the Font Software, and to permit
+persons to whom the Font Software is furnished to do so, subject to the
+following conditions:
+
+The above copyright and trademark notices and this permission notice shall
+be included in all copies of one or more of the Font Software typefaces.
+
+The Font Software may be modified, altered, or added to, and in particular
+the designs of glyphs or characters in the Fonts may be modified and
+additional glyphs or characters may be added to the Fonts, only if the fonts
+are renamed to names not containing either the words "Bitstream" or the word
+"Vera".
+
+This License becomes null and void to the extent applicable to Fonts or Font
+Software that has been modified and is distributed under the "Bitstream
+Vera" names.
+
+The Font Software may be sold as part of a larger software package but no
+copy of one or more of the Font Software typefaces may be sold by itself.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
+TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME
+FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING
+ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE
+FONT SOFTWARE.
+
+Except as contained in this notice, the names of Gnome, the Gnome
+Foundation, and Bitstream Inc., shall not be used in advertising or
+otherwise to promote the sale, use or other dealings in this Font Software
+without prior written authorization from the Gnome Foundation or Bitstream
+Inc., respectively. For further information, contact: fonts at gnome dot
+org. 
diff --git a/src/gdisp/fonts/DejaVuSans.ttf b/src/gdisp/fonts/DejaVuSans.ttf
new file mode 100644
index 00000000..19ed0b46
Binary files /dev/null and b/src/gdisp/fonts/DejaVuSans.ttf differ
diff --git a/src/gdisp/fonts/DejaVuSans10.c b/src/gdisp/fonts/DejaVuSans10.c
new file mode 100644
index 00000000..604fcd02
--- /dev/null
+++ b/src/gdisp/fonts/DejaVuSans10.c
@@ -0,0 +1,166 @@
+
+
+/* Start of automatically generated font definition for DejaVuSans10. */
+
+#ifndef MF_BWFONT_INTERNALS
+#define MF_BWFONT_INTERNALS
+#endif
+#include "mf_bwfont.h"
+
+#ifndef MF_BWFONT_VERSION_4_SUPPORTED
+#error The font file is not compatible with this version of mcufont.
+#endif
+
+static const uint8_t mf_bwfont_DejaVuSans10_glyph_data_0[1222] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 
+    0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xe8, 0x00, 0x3e, 0x00, 0x28, 0x00, 0xf8, 0x00, 
+    0x2e, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x00, 0x94, 0x00, 0xfe, 0x01, 0xa4, 0x00, 
+    0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x12, 0x00, 0xde, 0x00, 0x30, 0x00, 0x18, 0x00, 
+    0xf6, 0x00, 0x90, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0xcc, 0x00, 0x92, 0x00, 
+    0x92, 0x00, 0x64, 0x00, 0x40, 0x00, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0xfe, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x83, 0x01, 0x7c, 0x00, 0x00, 0x00, 
+    0x12, 0x00, 0x0c, 0x00, 0x1e, 0x00, 0x0c, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 
+    0x10, 0x00, 0x10, 0x00, 0xfe, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x80, 0x00, 0x00, 0x00, 0x80, 0x01, 0x78, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 
+    0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x82, 0x00, 
+    0xfe, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0xc2, 0x00, 0xa2, 0x00, 
+    0x92, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x92, 0x00, 0x92, 0x00, 0x92, 0x00, 
+    0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x28, 0x00, 0x24, 0x00, 0xfe, 0x00, 0x20, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x8a, 0x00, 0x8a, 0x00, 0x8a, 0x00, 0x70, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x7c, 0x00, 0x96, 0x00, 0x92, 0x00, 0x92, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x02, 0x00, 0x82, 0x00, 0x62, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x00, 
+    0x92, 0x00, 0x92, 0x00, 0x92, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x92, 0x00, 
+    0x92, 0x00, 0xd2, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x88, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 
+    0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 
+    0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x10, 0x00, 
+    0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0xb2, 0x00, 0x0a, 0x00, 0x06, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0xf8, 0x00, 0x8c, 0x01, 0x06, 0x03, 0x72, 0x02, 0x52, 0x02, 0x72, 0x02, 0x42, 0x01, 
+    0x64, 0x00, 0x38, 0x00, 0x00, 0x00, 0x80, 0x00, 0x70, 0x00, 0x2c, 0x00, 0x22, 0x00, 0x2c, 0x00, 
+    0x70, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x92, 0x00, 0x92, 0x00, 0x92, 0x00, 
+    0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x44, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 
+    0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0xc6, 0x00, 
+    0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x92, 0x00, 0x92, 0x00, 0x92, 0x00, 0x92, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x7c, 0x00, 0xc6, 0x00, 0x82, 0x00, 0x92, 0x00, 0x92, 0x00, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0xfe, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0xfe, 0x00, 0x00, 0x02, 0x00, 0x02, 0xfe, 0x01, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x10, 0x00, 
+    0x28, 0x00, 0x44, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x80, 0x00, 0x80, 0x00, 
+    0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x0c, 0x00, 0x30, 0x00, 0x40, 0x00, 
+    0x30, 0x00, 0x0c, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x04, 0x00, 0x18, 0x00, 
+    0x20, 0x00, 0x40, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0xc6, 0x00, 0x82, 0x00, 
+    0x82, 0x00, 0xc6, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x12, 0x00, 0x12, 0x00, 
+    0x12, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0xc6, 0x00, 0x82, 0x00, 0x82, 0x00, 
+    0x46, 0x01, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x12, 0x00, 0x12, 0x00, 0x32, 0x00, 
+    0x4c, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x92, 0x00, 0x92, 0x00, 0x92, 0x00, 
+    0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x7e, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x7e, 0x00, 0x00, 0x00, 
+    0x06, 0x00, 0x18, 0x00, 0x60, 0x00, 0x80, 0x00, 0x60, 0x00, 0x18, 0x00, 0x06, 0x00, 0x00, 0x00, 
+    0x06, 0x00, 0x38, 0x00, 0xc0, 0x00, 0x38, 0x00, 0x06, 0x00, 0x38, 0x00, 0xc0, 0x00, 0x38, 0x00, 
+    0x06, 0x00, 0x00, 0x00, 0x82, 0x00, 0xc6, 0x00, 0x38, 0x00, 0x38, 0x00, 0xc6, 0x00, 0x82, 0x00, 
+    0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0xf0, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 
+    0x00, 0x00, 0x82, 0x00, 0xc2, 0x00, 0xb2, 0x00, 0x9a, 0x00, 0x86, 0x00, 0x82, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0xff, 0x01, 0x01, 0x01, 0x00, 0x00, 0x06, 0x00, 0x78, 0x00, 0x80, 0x01, 0x00, 0x00, 
+    0x00, 0x00, 0x01, 0x01, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 
+    0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 
+    0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 
+    0xa8, 0x00, 0xa8, 0x00, 0xa8, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x88, 0x00, 
+    0x88, 0x00, 0x88, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x88, 0x00, 0x88, 0x00, 
+    0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x88, 0x00, 0x88, 0x00, 0x88, 0x00, 0xff, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0xa8, 0x00, 0xa8, 0x00, 0xa8, 0x00, 0xb0, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x08, 0x00, 0xff, 0x00, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 
+    0x88, 0x02, 0x88, 0x02, 0x88, 0x02, 0xf8, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x08, 0x00, 
+    0x08, 0x00, 0x08, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x02, 
+    0xf9, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x20, 0x00, 0x50, 0x00, 0x88, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 
+    0xf0, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 
+    0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x88, 0x00, 
+    0x88, 0x00, 0x88, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x03, 0x88, 0x00, 0x88, 0x00, 
+    0x88, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x88, 0x00, 0x88, 0x00, 0x88, 0x00, 
+    0xf8, 0x03, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x98, 0x00, 0xa8, 0x00, 0xa8, 0x00, 0xe8, 0x00, 0x00, 0x00, 0x08, 0x00, 0xfe, 0x00, 0x88, 0x00, 
+    0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0xf8, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x60, 0x00, 0x80, 0x00, 0x60, 0x00, 0x18, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x38, 0x00, 0xc0, 0x00, 0x30, 0x00, 0x08, 0x00, 0x30, 0x00, 0xc0, 0x00, 0x38, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x88, 0x00, 0x50, 0x00, 0x20, 0x00, 0x50, 0x00, 0x88, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x18, 0x02, 0x60, 0x02, 0x80, 0x01, 0x60, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x88, 0x00, 0xc8, 0x00, 0xa8, 0x00, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 
+    0xef, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 
+    0xef, 0x01, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x10, 0x00, 0x10, 0x00, 
+    0x20, 0x00, 0x20, 0x00, 0x10, 0x00, 
+};
+
+static const uint16_t mf_bwfont_DejaVuSans10_glyph_offsets_0[96] = {
+    0x0000, 0x0000, 0x0004, 0x0009, 0x0012, 0x0019, 0x0023, 0x002c, 
+    0x002f, 0x0033, 0x0037, 0x003d, 0x0046, 0x0049, 0x004e, 0x0051, 
+    0x0055, 0x005c, 0x0063, 0x006a, 0x0071, 0x0078, 0x007f, 0x0086, 
+    0x008d, 0x0094, 0x009b, 0x009e, 0x00a1, 0x00a9, 0x00b1, 0x00b9, 
+    0x00bf, 0x00ca, 0x00d2, 0x00d9, 0x00e1, 0x00e9, 0x00f0, 0x00f6, 
+    0x00fe, 0x0106, 0x0109, 0x010c, 0x0113, 0x011a, 0x0123, 0x012b, 
+    0x0133, 0x013a, 0x0142, 0x014a, 0x0151, 0x0157, 0x015f, 0x0167, 
+    0x0171, 0x0178, 0x0180, 0x0187, 0x018b, 0x018f, 0x0193, 0x019b, 
+    0x01a1, 0x01a5, 0x01ac, 0x01b3, 0x01b9, 0x01c0, 0x01c7, 0x01cd, 
+    0x01d4, 0x01db, 0x01de, 0x01e1, 0x01e7, 0x01ea, 0x01f5, 0x01fc, 
+    0x0203, 0x020a, 0x0211, 0x0216, 0x021c, 0x0221, 0x0228, 0x022f, 
+    0x0238, 0x023f, 0x0246, 0x024c, 0x0252, 0x0255, 0x025b, 0x0263, 
+};
+
+static const uint8_t mf_bwfont_DejaVuSans10_glyph_widths_0[95] = {
+    0x03, 0x04, 0x05, 0x08, 0x06, 0x0a, 0x09, 0x03, 0x04, 0x04, 0x05, 0x08, 0x03, 0x04, 0x03, 0x03, 
+    0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x03, 0x03, 0x08, 0x08, 0x08, 0x05, 
+    0x0b, 0x07, 0x07, 0x08, 0x08, 0x07, 0x06, 0x08, 0x08, 0x03, 0x03, 0x07, 0x06, 0x09, 0x08, 0x08, 
+    0x07, 0x08, 0x07, 0x07, 0x05, 0x08, 0x07, 0x09, 0x06, 0x07, 0x06, 0x04, 0x03, 0x04, 0x08, 0x05, 
+    0x05, 0x06, 0x06, 0x05, 0x06, 0x06, 0x04, 0x06, 0x06, 0x02, 0x02, 0x05, 0x02, 0x0a, 0x06, 0x06, 
+    0x06, 0x06, 0x04, 0x05, 0x04, 0x06, 0x06, 0x08, 0x06, 0x06, 0x05, 0x06, 0x03, 0x06, 0x08, 
+};
+
+static const struct mf_bwfont_char_range_s mf_bwfont_DejaVuSans10_char_ranges[] = {
+    {
+        32, /* first char */
+        95, /* char count */
+        0, /* offset x */
+        0, /* offset y */
+        2, /* height in bytes */
+        10, /* height in pixels */
+        0, /* width */
+        mf_bwfont_DejaVuSans10_glyph_widths_0, /* glyph widths */
+        mf_bwfont_DejaVuSans10_glyph_offsets_0, /* glyph offsets */
+        mf_bwfont_DejaVuSans10_glyph_data_0, /* glyph data */
+    },
+};
+
+const struct mf_bwfont_s mf_bwfont_DejaVuSans10 = {
+    {
+    "DejaVu Sans Book 10",
+    "DejaVuSans10",
+    11, /* width */
+    10, /* height */
+    2, /* min x advance */
+    11, /* max x advance */
+    1, /* baseline x */
+    8, /* baseline y */
+    12, /* line height */
+    2, /* flags */
+    63, /* fallback character */
+    &mf_bwfont_character_width,
+    &mf_bwfont_render_character,
+    },
+    4, /* version */
+    1, /* char range count */
+    mf_bwfont_DejaVuSans10_char_ranges,
+};
+
+#ifdef MF_INCLUDED_FONTS
+/* List entry for searching fonts by name. */
+static const struct mf_font_list_s mf_bwfont_DejaVuSans10_listentry = {
+    MF_INCLUDED_FONTS,
+    (struct mf_font_s*)&mf_bwfont_DejaVuSans10
+};
+#undef MF_INCLUDED_FONTS
+#define MF_INCLUDED_FONTS (&mf_bwfont_DejaVuSans10_listentry)
+#endif
+
+
+/* End of automatically generated font definition for DejaVuSans10. */
+
diff --git a/src/gdisp/fonts/DejaVuSans12.c b/src/gdisp/fonts/DejaVuSans12.c
new file mode 100644
index 00000000..e9e16118
--- /dev/null
+++ b/src/gdisp/fonts/DejaVuSans12.c
@@ -0,0 +1,175 @@
+
+
+/* Start of automatically generated font definition for DejaVuSans12. */
+
+#ifndef MF_BWFONT_INTERNALS
+#define MF_BWFONT_INTERNALS
+#endif
+#include "mf_bwfont.h"
+
+#ifndef MF_BWFONT_VERSION_4_SUPPORTED
+#error The font file is not compatible with this version of mcufont.
+#endif
+
+static const uint8_t mf_bwfont_DejaVuSans12_glyph_data_0[1372] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 
+    0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x90, 0x02, 0xf0, 0x01, 0x9c, 0x00, 0x90, 0x03, 
+    0xf8, 0x00, 0x94, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x01, 0x24, 0x02, 
+    0xfe, 0x0f, 0x44, 0x02, 0xc8, 0x01, 0x00, 0x00, 0x1c, 0x00, 0x22, 0x00, 0x22, 0x02, 0x9c, 0x01, 
+    0x60, 0x00, 0x30, 0x00, 0xcc, 0x01, 0x22, 0x02, 0x20, 0x02, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, 
+    0xc0, 0x01, 0x3c, 0x03, 0x12, 0x02, 0x22, 0x02, 0x44, 0x02, 0x80, 0x01, 0x80, 0x02, 0x60, 0x02, 
+    0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x07, 0x07, 0x01, 0x04, 
+    0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x07, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 
+    0x18, 0x00, 0x7e, 0x00, 0x18, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 
+    0x40, 0x00, 0xf8, 0x03, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 
+    0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
+    0x00, 0x00, 0x00, 0x06, 0xc0, 0x01, 0x38, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 
+    0x06, 0x03, 0x02, 0x02, 0x02, 0x02, 0x06, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 
+    0x02, 0x02, 0xfe, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x02, 0x03, 
+    0x82, 0x02, 0x42, 0x02, 0x26, 0x02, 0x1c, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x02, 0x02, 
+    0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0xdc, 0x01, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0xb0, 0x00, 
+    0x88, 0x00, 0x86, 0x00, 0xfe, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x01, 0x12, 0x02, 
+    0x12, 0x02, 0x12, 0x02, 0x32, 0x03, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x24, 0x03, 
+    0x12, 0x02, 0x12, 0x02, 0x32, 0x03, 0xe4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x02, 
+    0x82, 0x01, 0x62, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0x22, 0x02, 
+    0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0xdc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x01, 0x66, 0x02, 
+    0x42, 0x02, 0x42, 0x02, 0x26, 0x01, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x03, 0x00, 0x00, 
+    0x00, 0x00, 0x30, 0x07, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x90, 0x00, 
+    0x90, 0x00, 0x90, 0x00, 0x98, 0x01, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0xa0, 0x00, 
+    0xa0, 0x00, 0xa0, 0x00, 0xa0, 0x00, 0xa0, 0x00, 0xa0, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x08, 0x01, 0x98, 0x01, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 
+    0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x62, 0x03, 0x12, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0xf0, 0x01, 0x08, 0x02, 0x04, 0x04, 0xe2, 0x08, 0x12, 0x09, 0x12, 0x09, 0x12, 0x09, 0xf2, 0x09, 
+    0x04, 0x05, 0x8c, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x02, 0xc0, 0x01, 0xb8, 0x00, 0x86, 0x00, 
+    0x86, 0x00, 0xb8, 0x00, 0xc0, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x22, 0x02, 
+    0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0xdc, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x04, 0x01, 
+    0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x02, 0x02, 
+    0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0x01, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 
+    0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 
+    0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x04, 0x01, 
+    0x02, 0x02, 0x02, 0x02, 0x22, 0x02, 0x22, 0x02, 0xe4, 0x01, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 
+    0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00, 
+    0xfe, 0x03, 0x00, 0x08, 0x00, 0x08, 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x20, 0x00, 
+    0x50, 0x00, 0x88, 0x00, 0x04, 0x01, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x02, 
+    0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x0c, 0x00, 0x30, 0x00, 
+    0xc0, 0x00, 0xc0, 0x00, 0x30, 0x00, 0x0c, 0x00, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 
+    0x06, 0x00, 0x18, 0x00, 0x20, 0x00, 0xc0, 0x00, 0x00, 0x03, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00, 
+    0xf8, 0x00, 0x04, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0x01, 0xf8, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0xfe, 0x03, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x1c, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0xf8, 0x00, 0x04, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x04, 0x09, 0xf8, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x62, 0x00, 0x9c, 0x01, 
+    0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x01, 0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 
+    0xc4, 0x01, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xfe, 0x03, 0x02, 0x00, 0x02, 0x00, 
+    0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x00, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 
+    0x00, 0x03, 0xfe, 0x01, 0x00, 0x00, 0x06, 0x00, 0x38, 0x00, 0xc0, 0x00, 0x00, 0x03, 0x00, 0x03, 
+    0xc0, 0x00, 0x38, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x1c, 0x00, 0xe0, 0x00, 0x00, 0x03, 
+    0xf0, 0x00, 0x0e, 0x00, 0xf0, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x1c, 0x00, 0x02, 0x00, 0x00, 0x00, 
+    0x02, 0x02, 0x06, 0x01, 0xd8, 0x00, 0x20, 0x00, 0xd8, 0x00, 0x06, 0x01, 0x02, 0x02, 0x00, 0x00, 
+    0x02, 0x00, 0x0c, 0x00, 0x30, 0x00, 0xc0, 0x03, 0x30, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x02, 0x03, 0x82, 0x02, 0x42, 0x02, 0x22, 0x02, 0x12, 0x02, 0x0a, 0x02, 0x06, 0x02, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x0f, 0x02, 0x08, 0x00, 0x00, 0x06, 0x00, 0x38, 0x00, 
+    0xc0, 0x01, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x02, 0x08, 0xfe, 0x0f, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 
+    0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x01, 0x48, 0x02, 0x48, 0x02, 
+    0x48, 0x02, 0x48, 0x01, 0xf0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0x18, 0x03, 0x08, 0x02, 
+    0x08, 0x02, 0x18, 0x03, 0xf0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x18, 0x03, 0x08, 0x02, 
+    0x08, 0x02, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x18, 0x03, 0x08, 0x02, 0x08, 0x02, 
+    0x18, 0x03, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x58, 0x03, 0x48, 0x02, 0x48, 0x02, 
+    0x58, 0x02, 0x70, 0x01, 0x00, 0x00, 0x08, 0x00, 0xfe, 0x03, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0xf0, 0x01, 0x18, 0x0b, 0x08, 0x12, 0x08, 0x12, 0x18, 0x1b, 0xf8, 0x0f, 0x00, 0x00, 
+    0x00, 0x00, 0xff, 0x03, 0x10, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0xf0, 0x03, 0x00, 0x00, 
+    0x00, 0x00, 0xfa, 0x03, 0x00, 0x00, 0x00, 0x10, 0xfa, 0x1f, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 
+    0x40, 0x00, 0xa0, 0x00, 0x10, 0x01, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0x00, 0x00, 
+    0x00, 0x00, 0xf8, 0x03, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0xf0, 0x03, 0x08, 0x00, 0x08, 0x00, 
+    0x08, 0x00, 0xf0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x03, 0x10, 0x00, 0x08, 0x00, 0x08, 0x00, 
+    0x08, 0x00, 0xf0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x18, 0x03, 0x08, 0x02, 0x08, 0x02, 
+    0x18, 0x03, 0xf0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x18, 0x03, 0x08, 0x02, 0x08, 0x02, 
+    0x18, 0x03, 0xf0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x18, 0x03, 0x08, 0x02, 0x08, 0x02, 
+    0x18, 0x03, 0xf8, 0x1f, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x03, 0x10, 0x00, 0x08, 0x00, 0x08, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x30, 0x01, 0x48, 0x02, 0x48, 0x02, 0x48, 0x02, 0x90, 0x01, 0x00, 0x00, 
+    0x08, 0x00, 0xfe, 0x03, 0x08, 0x02, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 0x00, 0x02, 
+    0x00, 0x02, 0x00, 0x02, 0x00, 0x01, 0xf8, 0x03, 0x00, 0x00, 0x18, 0x00, 0xe0, 0x00, 0x00, 0x03, 
+    0x00, 0x03, 0xe0, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0xe0, 0x00, 0x00, 0x03, 0xe0, 0x00, 
+    0x18, 0x00, 0xe0, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x18, 0x00, 0x00, 0x00, 0x08, 0x02, 0xb0, 0x01, 
+    0x40, 0x00, 0x40, 0x00, 0xb0, 0x01, 0x08, 0x02, 0x00, 0x00, 0x18, 0x10, 0x60, 0x10, 0x80, 0x09, 
+    0x00, 0x07, 0xe0, 0x00, 0x18, 0x00, 0x00, 0x00, 0x08, 0x03, 0x88, 0x02, 0x48, 0x02, 0x28, 0x02, 
+    0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0xbe, 0x0f, 0x02, 0x08, 
+    0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x02, 0x08, 
+    0x02, 0x08, 0xbe, 0x0f, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x00, 
+    0x20, 0x00, 0x20, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x20, 0x00, 
+};
+
+static const uint16_t mf_bwfont_DejaVuSans12_glyph_offsets_0[96] = {
+    0x0000, 0x0000, 0x0004, 0x0009, 0x0013, 0x001b, 0x0026, 0x0030, 
+    0x0033, 0x0038, 0x003d, 0x0044, 0x004d, 0x0050, 0x0055, 0x0058, 
+    0x005d, 0x0065, 0x006c, 0x0074, 0x007c, 0x0084, 0x008c, 0x0094, 
+    0x009c, 0x00a4, 0x00ac, 0x00af, 0x00b2, 0x00bc, 0x00c6, 0x00d0, 
+    0x00d6, 0x00e3, 0x00ec, 0x00f4, 0x00fc, 0x0105, 0x010d, 0x0114, 
+    0x011d, 0x0126, 0x0129, 0x012c, 0x0134, 0x013b, 0x0145, 0x014e, 
+    0x0157, 0x015f, 0x0168, 0x0171, 0x0179, 0x0181, 0x018a, 0x0193, 
+    0x019f, 0x01a7, 0x01af, 0x01b8, 0x01bd, 0x01c2, 0x01c6, 0x01cf, 
+    0x01d6, 0x01db, 0x01e3, 0x01eb, 0x01f2, 0x01fa, 0x0202, 0x0207, 
+    0x020f, 0x0217, 0x021a, 0x021d, 0x0224, 0x0227, 0x0232, 0x023a, 
+    0x0242, 0x024a, 0x0252, 0x0258, 0x025f, 0x0264, 0x026c, 0x0273, 
+    0x027d, 0x0284, 0x028b, 0x0291, 0x0299, 0x029d, 0x02a4, 0x02ae, 
+};
+
+static const uint8_t mf_bwfont_DejaVuSans12_glyph_widths_0[95] = {
+    0x04, 0x05, 0x05, 0x0a, 0x08, 0x0b, 0x0a, 0x03, 0x05, 0x05, 0x06, 0x0a, 0x04, 0x04, 0x04, 0x04, 
+    0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x0a, 0x0a, 0x0a, 0x06, 
+    0x0d, 0x08, 0x08, 0x08, 0x09, 0x08, 0x07, 0x09, 0x09, 0x03, 0x03, 0x07, 0x06, 0x0a, 0x09, 0x09, 
+    0x08, 0x09, 0x08, 0x08, 0x07, 0x09, 0x08, 0x0b, 0x07, 0x07, 0x09, 0x05, 0x04, 0x05, 0x0a, 0x06, 
+    0x06, 0x08, 0x08, 0x07, 0x08, 0x08, 0x04, 0x08, 0x08, 0x03, 0x03, 0x07, 0x03, 0x0b, 0x08, 0x08, 
+    0x08, 0x08, 0x05, 0x07, 0x05, 0x08, 0x06, 0x09, 0x06, 0x06, 0x05, 0x08, 0x04, 0x08, 0x0a, 
+};
+
+static const struct mf_bwfont_char_range_s mf_bwfont_DejaVuSans12_char_ranges[] = {
+    {
+        32, /* first char */
+        95, /* char count */
+        0, /* offset x */
+        0, /* offset y */
+        2, /* height in bytes */
+        13, /* height in pixels */
+        0, /* width */
+        mf_bwfont_DejaVuSans12_glyph_widths_0, /* glyph widths */
+        mf_bwfont_DejaVuSans12_glyph_offsets_0, /* glyph offsets */
+        mf_bwfont_DejaVuSans12_glyph_data_0, /* glyph data */
+    },
+};
+
+const struct mf_bwfont_s mf_bwfont_DejaVuSans12 = {
+    {
+    "DejaVu Sans Book 12",
+    "DejaVuSans12",
+    13, /* width */
+    13, /* height */
+    3, /* min x advance */
+    13, /* max x advance */
+    1, /* baseline x */
+    10, /* baseline y */
+    14, /* line height */
+    2, /* flags */
+    63, /* fallback character */
+    &mf_bwfont_character_width,
+    &mf_bwfont_render_character,
+    },
+    4, /* version */
+    1, /* char range count */
+    mf_bwfont_DejaVuSans12_char_ranges,
+};
+
+#ifdef MF_INCLUDED_FONTS
+/* List entry for searching fonts by name. */
+static const struct mf_font_list_s mf_bwfont_DejaVuSans12_listentry = {
+    MF_INCLUDED_FONTS,
+    (struct mf_font_s*)&mf_bwfont_DejaVuSans12
+};
+#undef MF_INCLUDED_FONTS
+#define MF_INCLUDED_FONTS (&mf_bwfont_DejaVuSans12_listentry)
+#endif
+
+
+/* End of automatically generated font definition for DejaVuSans12. */
+
diff --git a/src/gdisp/fonts/DejaVuSans12_aa.c b/src/gdisp/fonts/DejaVuSans12_aa.c
new file mode 100644
index 00000000..3384b4e3
--- /dev/null
+++ b/src/gdisp/fonts/DejaVuSans12_aa.c
@@ -0,0 +1,246 @@
+
+
+/* Start of automatically generated font definition for DejaVuSans12_aa. */
+
+#ifndef MF_RLEFONT_INTERNALS
+#define MF_RLEFONT_INTERNALS
+#endif
+#include "mf_rlefont.h"
+
+#ifndef MF_RLEFONT_VERSION_4_SUPPORTED
+#error The font file is not compatible with this version of mcufont.
+#endif
+
+static const uint8_t mf_rlefont_DejaVuSans12_aa_dictionary_data[329] = {
+    0x27, 0x02, 0x0b, 0x80, 0x01, 0x80, 0x07, 0x80, 0x04, 0x80, 0x02, 0x80, 0x06, 0x04, 0x80, 0x02, 
+    0x0e, 0xc9, 0xde, 0xc7, 0x0a, 0x06, 0x2a, 0x10, 0x84, 0x07, 0x80, 0x02, 0x80, 0x0c, 0x80, 0x0c, 
+    0x0f, 0x80, 0x08, 0xcd, 0xc3, 0x86, 0x0d, 0x0c, 0xc2, 0xca, 0x29, 0xc8, 0xcb, 0xc4, 0xcc, 0xce, 
+    0xc7, 0xcc, 0xc6, 0xcd, 0xc8, 0xcd, 0xc2, 0x01, 0xde, 0xc4, 0xce, 0xcd, 0xc4, 0xc3, 0xce, 0xc7, 
+    0xcb, 0xc5, 0xcb, 0x06, 0x80, 0x02, 0xc5, 0xcd, 0x07, 0xc6, 0xcd, 0xc5, 0xcc, 0x82, 0xc7, 0xcc, 
+    0xc3, 0xcd, 0x09, 0xc6, 0x0b, 0xc6, 0xca, 0xd1, 0xc1, 0xcd, 0xc8, 0xcd, 0xca, 0xc6, 0xce, 0xc2, 
+    0x01, 0xc3, 0x40, 0x03, 0xcc, 0xc3, 0x03, 0x80, 0xc1, 0x02, 0xc7, 0xce, 0x08, 0xca, 0xc4, 0x01, 
+    0xc2, 0xc7, 0xc9, 0xc2, 0xce, 0xce, 0xc9, 0x01, 0x80, 0xc9, 0xc7, 0x01, 0x80, 0xce, 0xd2, 0xcb, 
+    0xc4, 0xca, 0xc5, 0xc1, 0x05, 0xc9, 0xc1, 0xcc, 0xc4, 0xcc, 0xc2, 0xc7, 0xc8, 0xca, 0xc2, 0xce, 
+    0xc1, 0x81, 0x80, 0xc2, 0xcb, 0xc4, 0xcb, 0xc5, 0xca, 0xc7, 0x80, 0x07, 0xc4, 0xcb, 0xc2, 0xc1, 
+    0xc2, 0xcd, 0xce, 0xcb, 0xcb, 0xce, 0xc3, 0xcc, 0xc4, 0xcd, 0x80, 0xcc, 0xc1, 0xce, 0xcd, 0xc6, 
+    0x28, 0x28, 0x28, 0x28, 0x0f, 0x2e, 0x28, 0x02, 0x45, 0x2e, 0xbc, 0x6f, 0x02, 0x27, 0x01, 0x19, 
+    0x07, 0x0a, 0x23, 0x03, 0x45, 0x1f, 0xc6, 0xc5, 0x95, 0xc8, 0x00, 0x01, 0x19, 0x32, 0x3f, 0x0f, 
+    0x52, 0x58, 0x50, 0xa4, 0x0b, 0x5c, 0x07, 0x3f, 0x67, 0x19, 0x44, 0x3f, 0xc5, 0x6b, 0x67, 0x19, 
+    0x6e, 0x19, 0xa4, 0x0b, 0x5c, 0x08, 0x19, 0xa4, 0x23, 0xc6, 0x74, 0x27, 0x01, 0x08, 0x0c, 0x21, 
+    0x6b, 0x31, 0x5c, 0x6b, 0x36, 0x4d, 0x1c, 0x5f, 0x36, 0x4d, 0x6b, 0x31, 0x5c, 0x2a, 0x40, 0x0f, 
+    0x4f, 0x19, 0xa4, 0x0a, 0x6d, 0x43, 0x3f, 0x51, 0x74, 0x3f, 0xc5, 0x1c, 0x23, 0xa4, 0x2e, 0x3a, 
+    0x5e, 0x38, 0x03, 0x23, 0x4b, 0x50, 0x47, 0x23, 0x36, 0x19, 0x6e, 0x3d, 0x50, 0x1d, 0xcc, 0xa4, 
+    0x5f, 0x1d, 0x4b, 0x50, 0x47, 0x23, 0x3a, 0x04, 0x01, 0x38, 0x03, 0x3f, 0x0f, 0x1a, 0x72, 0x39, 
+    0x0f, 0x22, 0x19, 0x1c, 0x5f, 0x28, 0x28, 0x37, 0x08, 0x53, 0x2e, 0x24, 0x28, 0x22, 0x25, 0x0a, 
+    0x45, 0x0f, 0x45, 0x0c, 0x08, 0x48, 0x08, 0x0c, 0x3f, 
+};
+
+static const uint16_t mf_rlefont_DejaVuSans12_aa_dictionary_offsets[122] = {
+    0x0000, 0x0001, 0x0002, 0x0003, 0x0005, 0x000b, 0x000d, 0x000e, 
+    0x0010, 0x0011, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 
+    0x001c, 0x0020, 0x0021, 0x0023, 0x0025, 0x0026, 0x0027, 0x0028, 
+    0x002a, 0x002b, 0x002d, 0x002f, 0x0031, 0x0033, 0x0035, 0x0038, 
+    0x0039, 0x003b, 0x003d, 0x003f, 0x0041, 0x0043, 0x0046, 0x0048, 
+    0x0049, 0x004b, 0x004d, 0x004e, 0x0050, 0x0052, 0x0053, 0x0055, 
+    0x0057, 0x0058, 0x005a, 0x005c, 0x005e, 0x0060, 0x0062, 0x0064, 
+    0x0066, 0x0067, 0x006a, 0x006c, 0x006d, 0x006f, 0x0071, 0x0073, 
+    0x0075, 0x0077, 0x0079, 0x007c, 0x007e, 0x0080, 0x0082, 0x0084, 
+    0x0085, 0x0087, 0x0089, 0x008b, 0x008d, 0x008f, 0x0091, 0x0092, 
+    0x0094, 0x0096, 0x0098, 0x009a, 0x009c, 0x009e, 0x00a0, 0x00a2, 
+    0x00a4, 0x00a6, 0x00a8, 0x00aa, 0x00ac, 0x00ae, 0x00b0, 0x00b4, 
+    0x00b7, 0x00b9, 0x00bf, 0x00c3, 0x00c5, 0x00ca, 0x00cc, 0x00cf, 
+    0x00e8, 0x00ef, 0x00fe, 0x010c, 0x010f, 0x011e, 0x0122, 0x012c, 
+    0x012e, 0x0130, 0x0132, 0x0135, 0x0137, 0x013a, 0x013f, 0x0141, 
+    0x0143, 0x0149, 
+};
+
+static const uint8_t mf_rlefont_DejaVuSans12_aa_glyph_data_0[2069] = {
+    0x04, 0x00, 0x10, 0x05, 0x25, 0x8b, 0x0e, 0x2e, 0x0d, 0x20, 0x83, 0x0f, 0x10, 0x05, 0x1a, 0x94, 
+    0x1d, 0x94, 0x6b, 0xac, 0x10, 0x0a, 0x29, 0x25, 0x0d, 0x01, 0x5d, 0x3f, 0x55, 0x0c, 0x00, 0x08, 
+    0x06, 0x23, 0x05, 0xc3, 0x6b, 0x0a, 0x05, 0x49, 0x45, 0x0d, 0x01, 0x5d, 0x3f, 0x2c, 0x05, 0x23, 
+    0x05, 0x09, 0x00, 0x0b, 0x02, 0x53, 0x54, 0x49, 0x10, 0x08, 0x19, 0x25, 0x89, 0x72, 0x0f, 0x0d, 
+    0x05, 0x53, 0x39, 0x0f, 0x2f, 0x53, 0x65, 0x89, 0x09, 0x0c, 0x0f, 0x05, 0x22, 0x04, 0x0f, 0x0b, 
+    0x8e, 0x59, 0x74, 0x53, 0x60, 0x0f, 0x72, 0x53, 0x40, 0x0f, 0x39, 0x22, 0x28, 0x10, 0x0b, 0x20, 
+    0x88, 0x19, 0x72, 0x5f, 0x61, 0x41, 0x19, 0x0d, 0x05, 0x1e, 0x96, 0x06, 0x0b, 0x23, 0x39, 0x32, 
+    0x74, 0x03, 0x23, 0x88, 0x09, 0x09, 0x88, 0x5f, 0x4d, 0x65, 0x39, 0x32, 0x23, 0x0b, 0x06, 0xd6, 
+    0x5f, 0x41, 0x19, 0x39, 0x32, 0x5f, 0x39, 0x19, 0x88, 0x10, 0x0a, 0x25, 0x72, 0x33, 0x45, 0x0d, 
+    0x5e, 0x09, 0x45, 0x4c, 0x1a, 0x0b, 0x0b, 0x01, 0x45, 0x3b, 0x6c, 0x01, 0x00, 0x6e, 0x5f, 0x2b, 
+    0x00, 0x32, 0x01, 0x56, 0x5f, 0x4c, 0x19, 0x41, 0x36, 0x1e, 0x09, 0x0b, 0x6d, 0x06, 0x35, 0x5f, 
+    0x7d, 0x09, 0x37, 0x0a, 0x71, 0x08, 0x10, 0x03, 0x29, 0x77, 0x10, 0x05, 0x50, 0x08, 0x8e, 0x7d, 
+    0x4c, 0x22, 0x56, 0x1a, 0x68, 0x1a, 0x65, 0x83, 0x65, 0x1a, 0x68, 0x1a, 0x56, 0x1a, 0x74, 0x78, 
+    0x7a, 0x10, 0x05, 0x19, 0x6a, 0x22, 0x55, 0x65, 0x1a, 0x09, 0x46, 0x6c, 0x1a, 0x74, 0x2e, 0x87, 
+    0x74, 0x1a, 0x6c, 0x1a, 0x09, 0x06, 0x45, 0x55, 0x65, 0x22, 0x6a, 0x10, 0x06, 0x00, 0x25, 0x89, 
+    0x09, 0x02, 0x67, 0x09, 0x53, 0x2f, 0x0f, 0x64, 0x53, 0x2f, 0x0f, 0x64, 0x53, 0x09, 0x02, 0x67, 
+    0x09, 0x5f, 0xa4, 0x10, 0x0a, 0x19, 0x24, 0x28, 0x8f, 0xc3, 0x8f, 0x77, 0x10, 0x04, 0x18, 0x4e, 
+    0x77, 0x10, 0x04, 0x22, 0x4e, 0xbc, 0x10, 0x04, 0x18, 0x4e, 0x28, 0x10, 0x04, 0x25, 0x44, 0x1a, 
+    0x63, 0x1a, 0x61, 0x22, 0x74, 0x1a, 0x47, 0x1a, 0x0a, 0x46, 0x65, 0x22, 0x32, 0x1a, 0x08, 0x07, 
+    0x1a, 0x2b, 0x10, 0x08, 0x25, 0x08, 0x8c, 0x06, 0x62, 0x02, 0x34, 0x3f, 0x61, 0x7e, 0x65, 0x19, 
+    0x74, 0x3f, 0xc5, 0x6b, 0x65, 0x19, 0x74, 0x3f, 0x61, 0x7e, 0x06, 0x62, 0x02, 0x34, 0x53, 0x08, 
+    0x8c, 0x10, 0x08, 0x1a, 0xb4, 0x77, 0x8b, 0x8f, 0xc2, 0x10, 0x08, 0x29, 0x6c, 0x5b, 0x60, 0x3f, 
+    0x68, 0x48, 0x09, 0x0b, 0x1a, 0x74, 0x1a, 0x3c, 0x22, 0x44, 0x78, 0x72, 0x7b, 0x3e, 0x7b, 0x07, 
+    0x36, 0x45, 0xc3, 0x01, 0x10, 0x08, 0x29, 0x6c, 0x5b, 0x60, 0x3f, 0x69, 0x48, 0x3b, 0x1a, 0x74, 
+    0x45, 0x7d, 0x3b, 0x1e, 0xa4, 0x5b, 0x78, 0x7d, 0x31, 0x1a, 0x74, 0x3f, 0x64, 0x55, 0x09, 0x0b, 
+    0x3f, 0x41, 0x0f, 0x0d, 0x60, 0x10, 0x08, 0x19, 0x25, 0x0b, 0x89, 0x06, 0x0c, 0x8f, 0x49, 0x02, 
+    0x8f, 0x5a, 0x2a, 0x71, 0x19, 0x2a, 0x62, 0x19, 0x2a, 0xc3, 0x83, 0x0f, 0x10, 0x08, 0x2d, 0xc0, 
+    0x2a, 0x28, 0x0f, 0x37, 0x0c, 0x46, 0x71, 0x08, 0x1a, 0x57, 0x1a, 0x57, 0x3f, 0x0a, 0x03, 0x55, 
+    0x0b, 0x09, 0x3f, 0x41, 0x0f, 0x35, 0x10, 0x08, 0x29, 0x4d, 0x70, 0x75, 0x3f, 0x6e, 0x5e, 0x2f, 
+    0x3f, 0x0a, 0x46, 0x0e, 0x08, 0x37, 0x60, 0x19, 0xa4, 0x0a, 0x48, 0x0a, 0x09, 0x3f, 0x65, 0x19, 
+    0x74, 0x3f, 0x0b, 0x01, 0x19, 0x74, 0x3f, 0x47, 0x48, 0x0a, 0x09, 0x53, 0x08, 0x37, 0x0a, 0x01, 
+    0x10, 0x08, 0x2d, 0xc0, 0x5b, 0x1a, 0x05, 0x08, 0x1a, 0x62, 0x22, 0x05, 0x09, 0x1a, 0x62, 0x22, 
+    0x5d, 0x1a, 0x4f, 0x22, 0x32, 0x1a, 0x69, 0x10, 0x08, 0x20, 0x55, 0x70, 0x6f, 0x02, 0x3f, 0x90, 
+    0x65, 0x19, 0x74, 0x3f, 0x0a, 0x08, 0x48, 0x08, 0x0a, 0x3f, 0x6e, 0x66, 0x36, 0x23, 0x0b, 0x08, 
+    0x48, 0x31, 0x3f, 0x65, 0x19, 0x74, 0x3f, 0x90, 0x02, 0x70, 0x6f, 0x02, 0x10, 0x08, 0x20, 0x7d, 
+    0x09, 0x8c, 0x09, 0x0a, 0x48, 0x4b, 0x3f, 0x65, 0x00, 0x7d, 0x0b, 0x3f, 0x65, 0x19, 0x74, 0x3f, 
+    0x0a, 0x0a, 0x48, 0x0a, 0x1d, 0x7d, 0x0a, 0x37, 0x52, 0x1a, 0x47, 0x3f, 0x0a, 0x6d, 0x3e, 0x02, 
+    0x3f, 0x40, 0x6f, 0x03, 0x10, 0x04, 0x8d, 0x28, 0x10, 0x04, 0x8d, 0x77, 0x10, 0x0a, 0x50, 0x24, 
+    0x4d, 0x4a, 0x3f, 0x04, 0x09, 0x0d, 0x35, 0x03, 0x5f, 0x09, 0x0e, 0x0c, 0x07, 0x02, 0x53, 0x09, 
+    0x0e, 0x0c, 0x07, 0x02, 0x22, 0x04, 0x09, 0x0d, 0x35, 0x7b, 0x4d, 0x4a, 0x10, 0x0a, 0x4e, 0x0f, 
+    0x2c, 0x2d, 0xa4, 0x2c, 0x10, 0x0a, 0x30, 0x35, 0x7b, 0x4d, 0x4a, 0x35, 0x04, 0x45, 0x4d, 0x43, 
+    0x58, 0x3f, 0x55, 0x43, 0x58, 0x1e, 0x4d, 0x4a, 0x0d, 0x09, 0x04, 0x3f, 0x35, 0x03, 0x10, 0x06, 
+    0x20, 0x3e, 0x0f, 0x4f, 0x53, 0x0b, 0x03, 0x00, 0x3e, 0x1a, 0x6e, 0x22, 0x6e, 0x05, 0x22, 0x0c, 
+    0x05, 0x83, 0x2d, 0x28, 0x10, 0x0d, 0x25, 0x55, 0x4a, 0x5b, 0x54, 0x5f, 0x38, 0x08, 0x03, 0x48, 
+    0x05, 0x35, 0x50, 0x57, 0x04, 0x1e, 0x7d, 0x0c, 0x05, 0x19, 0x5a, 0x44, 0x33, 0x1b, 0x32, 0x19, 
+    0x36, 0x34, 0x01, 0x06, 0x0f, 0x7d, 0x0f, 0xc8, 0x65, 0x7d, 0x1b, 0x44, 0x19, 0x36, 0x34, 0x01, 
+    0x06, 0x67, 0x34, 0x19, 0x5a, 0x44, 0x0e, 0x52, 0x69, 0x50, 0x57, 0x03, 0x1a, 0x05, 0x33, 0x02, 
+    0x55, 0x07, 0x0a, 0x5f, 0x55, 0x09, 0x0d, 0x5b, 0x54, 0x10, 0x08, 0x00, 0x25, 0x0d, 0x0d, 0x22, 
+    0x44, 0x0d, 0x7b, 0x09, 0x07, 0x56, 0x45, 0x4c, 0x57, 0x53, 0x3c, 0x19, 0x69, 0x3f, 0x69, 0x19, 
+    0x3c, 0x5f, 0x7d, 0xc3, 0x01, 0x5f, 0x56, 0x1e, 0x5a, 0x1e, 0x61, 0x1e, 0x32, 0x10, 0x08, 0x79, 
+    0x43, 0x27, 0x7d, 0xe5, 0x94, 0x7d, 0x3b, 0x1e, 0xbc, 0x5b, 0x03, 0x27, 0x01, 0x3b, 0x23, 0xc6, 
+    0x74, 0x27, 0x01, 0x43, 0x50, 0xb4, 0x5b, 0x4f, 0x10, 0x08, 0x25, 0x32, 0x0f, 0x75, 0x3f, 0x3a, 
+    0x5e, 0x02, 0x09, 0x3f, 0x0a, 0x46, 0x0d, 0x02, 0x83, 0x36, 0x22, 0x0a, 0x46, 0x3a, 0x5e, 0x02, 
+    0x09, 0x53, 0x32, 0x0f, 0x75, 0x10, 0x09, 0x2e, 0xbc, 0x0d, 0x0a, 0x03, 0x27, 0x02, 0x52, 0x03, 
+    0x3d, 0x7a, 0xc5, 0x57, 0x5f, 0xc6, 0x7d, 0x1d, 0xc5, 0x57, 0x3d, 0x7a, 0x1b, 0x55, 0x52, 0x03, 
+    0x19, 0xb4, 0x5b, 0x0a, 0x03, 0x10, 0x08, 0x20, 0xc2, 0x6b, 0x77, 0x26, 0x6b, 0x77, 0xc3, 0x10, 
+    0x07, 0x2d, 0xc0, 0x2a, 0x77, 0xf3, 0x2a, 0x8b, 0x10, 0x09, 0x29, 0x4d, 0x70, 0x73, 0x05, 0x23, 
+    0x3a, 0x06, 0x02, 0x4d, 0x0a, 0x23, 0x6a, 0x1a, 0x4c, 0x1a, 0xb5, 0x1d, 0x4c, 0x1e, 0x1d, 0x6a, 
+    0x1e, 0x1d, 0x3a, 0x06, 0x48, 0x04, 0x1d, 0x4d, 0x0b, 0x37, 0x68, 0x10, 0x09, 0x53, 0x27, 0x85, 
+    0x1f, 0x85, 0x2c, 0x3d, 0x85, 0x1f, 0x85, 0x10, 0x03, 0x29, 0x76, 0x0f, 0x10, 0x03, 0x29, 0x77, 
+    0x8b, 0x87, 0x74, 0x1a, 0x06, 0x0b, 0x5f, 0xa4, 0x4f, 0x10, 0x07, 0x53, 0x27, 0x55, 0x39, 0x3d, 
+    0x03, 0x2b, 0x50, 0x94, 0x05, 0x2b, 0x50, 0xa4, 0x40, 0x78, 0x66, 0x04, 0x5f, 0xa4, 0x40, 0x78, 
+    0x1b, 0x06, 0x0e, 0x03, 0x00, 0x27, 0x05, 0x0e, 0x03, 0x23, 0xc6, 0x05, 0x0e, 0x04, 0x10, 0x06, 
+    0x29, 0x76, 0x26, 0x10, 0x0a, 0x22, 0xa4, 0x06, 0x1e, 0x04, 0x0f, 0x5f, 0x73, 0x1e, 0x0b, 0x0f, 
+    0xa4, 0x08, 0x05, 0x19, 0x04, 0x09, 0x0f, 0x5f, 0x67, 0x0c, 0x19, 0x62, 0x1b, 0x94, 0x0a, 0x05, 
+    0x3c, 0xf6, 0x94, 0x32, 0x61, 0xc6, 0xc8, 0x0d, 0x0d, 0xc8, 0x85, 0x0f, 0x10, 0x09, 0x29, 0x73, 
+    0x94, 0xa4, 0x69, 0xcc, 0xa4, 0x44, 0x00, 0xc8, 0x94, 0x5a, 0xe6, 0x94, 0x49, 0x01, 0x59, 0x3d, 
+    0x63, 0x59, 0x3d, 0x49, 0x02, 0x1d, 0xe5, 0x05, 0x0a, 0x1d, 0xc5, 0x0c, 0x0f, 0x10, 0x09, 0x25, 
+    0x32, 0x0f, 0x61, 0x3f, 0x84, 0x36, 0x19, 0x6e, 0x23, 0x86, 0x3e, 0x0f, 0x0d, 0x05, 0x10, 0x08, 
+    0x1a, 0xb4, 0x5b, 0x64, 0x27, 0x01, 0x31, 0x80, 0x1e, 0xbc, 0x6f, 0x02, 0x3f, 0x8b, 0x10, 0x09, 
+    0x25, 0x32, 0x73, 0x05, 0x3f, 0x84, 0x36, 0x19, 0x57, 0x23, 0x86, 0x3e, 0x66, 0x05, 0x1a, 0x6a, 
+    0x22, 0x55, 0x65, 0x10, 0x08, 0x79, 0x08, 0x0c, 0x80, 0x5f, 0xc0, 0x4c, 0x27, 0x02, 0x69, 0x27, 
+    0x55, 0x65, 0x23, 0xc5, 0x4b, 0x3d, 0x7e, 0x10, 0x08, 0x20, 0x7d, 0x0a, 0x0e, 0x0f, 0x68, 0x3f, 
+    0x0b, 0x08, 0x01, 0x00, 0x6c, 0x3f, 0x65, 0x1a, 0x0b, 0x09, 0x78, 0x7d, 0x09, 0x0d, 0x0e, 0x0a, 
+    0x78, 0x7d, 0x31, 0x1a, 0x74, 0x3f, 0x68, 0x7d, 0x31, 0x3f, 0x6c, 0x5b, 0x64, 0x10, 0x07, 0x20, 
+    0xc3, 0x8f, 0x76, 0x10, 0x09, 0x53, 0x27, 0x85, 0x1f, 0x85, 0x1f, 0x85, 0x2b, 0x50, 0x44, 0x23, 
+    0x3b, 0x03, 0x4d, 0x0b, 0x07, 0x3f, 0x07, 0x0d, 0x0f, 0x0d, 0x07, 0x10, 0x08, 0x2d, 0x47, 0x23, 
+    0x4b, 0x1e, 0x4c, 0x1e, 0x57, 0x5f, 0x63, 0x1e, 0x08, 0x07, 0x1e, 0x7d, 0x65, 0x00, 0x7d, 0x65, 
+    0x23, 0x5a, 0x00, 0x56, 0x3f, 0x6e, 0x19, 0x36, 0x3f, 0x0a, 0x05, 0x05, 0x8e, 0x71, 0x4f, 0x22, 
+    0x0c, 0x0c, 0x10, 0x0b, 0x20, 0x4f, 0x50, 0x0e, 0x50, 0x71, 0x19, 0x56, 0x00, 0x4d, 0x0f, 0x03, 
+    0x19, 0x5a, 0x00, 0x57, 0x19, 0x07, 0x0f, 0x07, 0x19, 0x4c, 0x50, 0x61, 0x00, 0x0a, 0x09, 0x0a, 
+    0x00, 0x6c, 0x1e, 0x47, 0x00, 0x0d, 0x6e, 0x00, 0x4b, 0x1e, 0x74, 0x71, 0x00, 0x4f, 0x65, 0x5f, 
+    0x0b, 0x0b, 0x08, 0x00, 0x31, 0x0a, 0x23, 0x05, 0x0f, 0x04, 0x00, 0x04, 0x0f, 0x05, 0x5f, 0x7d, 
+    0x65, 0x7d, 0x65, 0x10, 0x07, 0x20, 0x0a, 0x08, 0x50, 0x08, 0x0a, 0x23, 0x74, 0x03, 0x4d, 0x65, 
+    0x3f, 0x06, 0x0c, 0x00, 0x34, 0x45, 0x0b, 0x0c, 0x0b, 0x22, 0x04, 0x0f, 0x04, 0x22, 0x0b, 0x0b, 
+    0x0b, 0x45, 0x06, 0x0c, 0x00, 0x34, 0x23, 0x7d, 0x4c, 0x55, 0x65, 0x23, 0x6a, 0x00, 0x7a, 0x10, 
+    0x07, 0x20, 0x69, 0x50, 0x3c, 0x23, 0x71, 0x50, 0x4f, 0x3f, 0x54, 0x00, 0x5d, 0x3f, 0x4d, 0x0b, 
+    0x00, 0x0b, 0x7b, 0x0a, 0x08, 0x8e, 0x55, 0x67, 0x1a, 0x77, 0x10, 0x09, 0x29, 0xc3, 0x87, 0x63, 
+    0x22, 0x05, 0x8e, 0x4d, 0x0b, 0x45, 0x55, 0x0c, 0x01, 0x53, 0x7d, 0x62, 0x22, 0x68, 0x22, 0x09, 
+    0x46, 0x2c, 0x10, 0x05, 0x2e, 0xb4, 0x83, 0x76, 0x66, 0x10, 0x04, 0x20, 0x2b, 0x1a, 0x08, 0x07, 
+    0x1a, 0x32, 0x2e, 0x65, 0x1a, 0x0a, 0x46, 0x47, 0x1a, 0x74, 0x2e, 0x61, 0x1a, 0x63, 0x1a, 0x44, 
+    0x10, 0x05, 0x1a, 0xb4, 0x2e, 0x76, 0x6b, 0xb4, 0x10, 0x0a, 0x00, 0x25, 0x04, 0x37, 0x04, 0x53, 
+    0x05, 0x39, 0x72, 0x05, 0x23, 0x07, 0x62, 0x00, 0x55, 0x0c, 0x07, 0x10, 0x06, 0x3f, 0x25, 0x4e, 
+    0x4e, 0xc3, 0x10, 0x06, 0x7a, 0x23, 0x63, 0x10, 0x08, 0x30, 0x2f, 0x37, 0x0a, 0x01, 0x3f, 0x61, 
+    0x48, 0x09, 0x09, 0x1a, 0x49, 0x23, 0x4d, 0x70, 0x66, 0x6b, 0x75, 0x01, 0x7d, 0x6b, 0x0e, 0x05, 
+    0x00, 0x2f, 0x6b, 0x72, 0x0f, 0x75, 0x0f, 0x10, 0x08, 0x19, 0x77, 0x7f, 0x52, 0x58, 0x10, 0x07, 
+    0x24, 0x4a, 0x33, 0x53, 0x3b, 0x6d, 0x08, 0x53, 0x2b, 0x83, 0x2b, 0x1a, 0x3b, 0x6d, 0x08, 0x45, 
+    0x4a, 0x33, 0x10, 0x08, 0x3f, 0x28, 0x2a, 0x81, 0x21, 0x0f, 0x10, 0x08, 0x24, 0x07, 0x0d, 0x0e, 
+    0x60, 0x3f, 0x3b, 0x6d, 0x0a, 0x08, 0x3f, 0x36, 0x00, 0x49, 0x3f, 0x0e, 0xf3, 0x6b, 0x36, 0x22, 
+    0x3b, 0x02, 0x4d, 0x0a, 0x53, 0x40, 0x73, 0x05, 0x10, 0x04, 0x19, 0x3e, 0x89, 0x2b, 0x1a, 0x2a, 
+    0xbc, 0x89, 0x28, 0x8b, 0x10, 0x08, 0x24, 0x21, 0x6b, 0x31, 0x5c, 0x6b, 0x36, 0x55, 0x1c, 0x5f, 
+    0x36, 0x55, 0x6b, 0x31, 0x5c, 0x2a, 0x21, 0x87, 0x44, 0x53, 0x08, 0x01, 0x02, 0x0b, 0x08, 0x53, 
+    0x07, 0x0d, 0x0e, 0x60, 0x10, 0x08, 0x19, 0x77, 0x0f, 0x82, 0x5f, 0xc5, 0x1c, 0x10, 0x03, 0x29, 
+    0x8f, 0x25, 0x77, 0x8b, 0x10, 0x03, 0x29, 0x8f, 0x25, 0x77, 0x8b, 0x87, 0x44, 0x1a, 0x0e, 0x06, 
+    0x10, 0x07, 0x19, 0x77, 0x1f, 0x44, 0x07, 0x50, 0x94, 0x38, 0x05, 0x50, 0xa4, 0x40, 0x7b, 0x0f, 
+    0x35, 0x5f, 0xa4, 0x6e, 0x07, 0x5f, 0x94, 0x6e, 0x07, 0x00, 0x27, 0x49, 0x07, 0x10, 0x03, 0x19, 
+    0x28, 0x76, 0x10, 0x0b, 0x18, 0xf8, 0x07, 0x37, 0x05, 0x52, 0x39, 0xd4, 0x60, 0x06, 0x0e, 0x60, 
+    0x06, 0x0c, 0x1e, 0x51, 0x51, 0xc5, 0x7c, 0x19, 0x7c, 0x10, 0x08, 0x18, 0xf8, 0x82, 0x5f, 0xc5, 
+    0x1c, 0x10, 0x08, 0x24, 0x08, 0x8c, 0x31, 0x5c, 0x08, 0x3f, 0x36, 0x00, 0x44, 0x3f, 0xc5, 0x6b, 
+    0x36, 0x00, 0x44, 0x3f, 0x31, 0x5c, 0x08, 0x53, 0x09, 0x0e, 0x58, 0x10, 0x08, 0x30, 0x7f, 0x52, 
+    0x58, 0x53, 0x28, 0x89, 0x08, 0x24, 0x81, 0x21, 0x77, 0x0f, 0x10, 0x05, 0x18, 0xf8, 0x07, 0x0d, 
+    0xc5, 0xa4, 0x64, 0x22, 0x67, 0x1a, 0x8b, 0x10, 0x07, 0x30, 0x32, 0x0f, 0x75, 0x53, 0x0e, 0x05, 
+    0x55, 0x09, 0x53, 0x75, 0x78, 0x4d, 0x0a, 0x0e, 0x39, 0x1a, 0x38, 0x53, 0x64, 0x00, 0x72, 0x53, 
+    0x3e, 0x0f, 0x61, 0x10, 0x05, 0x1e, 0x83, 0x2a, 0xbc, 0x89, 0x8b, 0x4c, 0x1a, 0x52, 0x0f, 0x10, 
+    0x08, 0x18, 0xc8, 0x8a, 0x1f, 0x8a, 0x51, 0x01, 0x6b, 0x0c, 0x07, 0x01, 0x2f, 0x6b, 0x71, 0x0f, 
+    0x75, 0x0f, 0x10, 0x06, 0x18, 0x44, 0x1e, 0x2b, 0x23, 0x61, 0x7e, 0x47, 0x19, 0x4b, 0x3f, 0x74, 
+    0x48, 0x65, 0x53, 0x6a, 0x07, 0x8e, 0x88, 0x22, 0x0d, 0x0d, 0x10, 0x09, 0x00, 0x18, 0x36, 0x02, 
+    0x67, 0x00, 0x6e, 0x1e, 0x09, 0x06, 0x00, 0x06, 0x0f, 0x06, 0x00, 0x06, 0x09, 0x1e, 0x5d, 0x00, 
+    0x0b, 0x31, 0x00, 0x54, 0x1e, 0x49, 0x74, 0x74, 0x49, 0x23, 0x0b, 0x3b, 0x00, 0x0b, 0x3b, 0x23, 
+    0x06, 0x33, 0x00, 0x52, 0x06, 0x5f, 0x55, 0x0f, 0x03, 0x4d, 0x67, 0x10, 0x06, 0x00, 0x18, 0x68, 
+    0x19, 0x6c, 0x3f, 0x44, 0x19, 0x62, 0x53, 0x6a, 0x63, 0x45, 0x3e, 0x0d, 0x78, 0x0b, 0x06, 0x06, 
+    0x09, 0x53, 0x72, 0x19, 0x4f, 0x3f, 0x69, 0x19, 0x6c, 0x10, 0x06, 0x18, 0x01, 0x65, 0x50, 0x65, 
+    0x23, 0x5a, 0x00, 0x6c, 0x3f, 0x6e, 0x19, 0x09, 0x05, 0x53, 0x0a, 0x05, 0x00, 0x0d, 0x01, 0x3f, 
+    0x4d, 0x4f, 0x09, 0x22, 0x0b, 0x68, 0x22, 0x3e, 0x1a, 0x06, 0x08, 0x22, 0x49, 0x78, 0x66, 0x06, 
+    0x10, 0x05, 0x18, 0xe2, 0x87, 0x06, 0x09, 0x45, 0x4d, 0x0b, 0x45, 0x55, 0x62, 0x22, 0x0b, 0x03, 
+    0x22, 0x09, 0x46, 0x26, 0x10, 0x08, 0x19, 0x25, 0x40, 0x89, 0x0e, 0x04, 0x83, 0x87, 0x3e, 0x23, 
+    0xb4, 0x46, 0x3e, 0x2e, 0x28, 0x0e, 0x03, 0x1a, 0x40, 0x0f, 0x10, 0x04, 0x25, 0x77, 0x76, 0x8f, 
+    0x08, 0x29, 0x5b, 0x46, 0x38, 0x2e, 0x28, 0x0d, 0x05, 0x1a, 0x06, 0x0f, 0x89, 0x0d, 0x05, 0x83, 
+    0x87, 0x38, 0x22, 0x5b, 0x06, 0x10, 0x0a, 0x4e, 0x41, 0x6f, 0x5e, 0x02, 0x0b, 0x5f, 0x09, 0x6d, 
+    0x05, 0x70, 0x0c, 0x05, 0x10, 
+};
+
+static const uint16_t mf_rlefont_DejaVuSans12_aa_glyph_offsets_0[95] = {
+    0x0000, 0x0003, 0x000d, 0x0015, 0x0039, 0x005e, 0x008a, 0x00b7, 
+    0x00bb, 0x00d2, 0x00ec, 0x0104, 0x010d, 0x0112, 0x0117, 0x011c, 
+    0x0133, 0x0152, 0x015a, 0x0175, 0x0196, 0x01ad, 0x01c7, 0x01f1, 
+    0x0208, 0x022d, 0x0255, 0x0259, 0x025d, 0x027d, 0x0285, 0x029f, 
+    0x02b5, 0x02fa, 0x031e, 0x0339, 0x0356, 0x0376, 0x0380, 0x0389, 
+    0x03ac, 0x03b8, 0x03bd, 0x03ca, 0x03ef, 0x03f4, 0x041d, 0x043e, 
+    0x044f, 0x045f, 0x0474, 0x0488, 0x04ae, 0x04b4, 0x04cc, 0x04f3, 
+    0x0534, 0x0560, 0x057b, 0x0593, 0x059a, 0x05b1, 0x05b9, 0x05cc, 
+    0x05d3, 0x05d8, 0x05f8, 0x05ff, 0x0613, 0x061b, 0x0639, 0x0645, 
+    0x0665, 0x066e, 0x0675, 0x0681, 0x069e, 0x06a3, 0x06ba, 0x06c2, 
+    0x06dc, 0x06e4, 0x06eb, 0x06f8, 0x0714, 0x0720, 0x0733, 0x074b, 
+    0x077c, 0x079a, 0x07c1, 0x07d5, 0x07eb, 0x07f0, 0x0806, 
+};
+
+static const struct mf_rlefont_char_range_s mf_rlefont_DejaVuSans12_aa_char_ranges[] = {
+    {32, 95, mf_rlefont_DejaVuSans12_aa_glyph_offsets_0, mf_rlefont_DejaVuSans12_aa_glyph_data_0},
+};
+
+const struct mf_rlefont_s mf_rlefont_DejaVuSans12_aa = {
+    {
+    "DejaVu Sans Book 12",
+    "DejaVuSans12_aa",
+    13, /* width */
+    13, /* height */
+    3, /* min x advance */
+    13, /* max x advance */
+    1, /* baseline x */
+    10, /* baseline y */
+    14, /* line height */
+    0, /* flags */
+    63, /* fallback character */
+    &mf_rlefont_character_width,
+    &mf_rlefont_render_character,
+    },
+    4, /* version */
+    mf_rlefont_DejaVuSans12_aa_dictionary_data,
+    mf_rlefont_DejaVuSans12_aa_dictionary_offsets,
+    94, /* rle dict count */
+    121, /* total dict count */
+    1, /* char range count */
+    mf_rlefont_DejaVuSans12_aa_char_ranges,
+};
+
+#ifdef MF_INCLUDED_FONTS
+/* List entry for searching fonts by name. */
+static const struct mf_font_list_s mf_rlefont_DejaVuSans12_aa_listentry = {
+    MF_INCLUDED_FONTS,
+    (struct mf_font_s*)&mf_rlefont_DejaVuSans12_aa
+};
+#undef MF_INCLUDED_FONTS
+#define MF_INCLUDED_FONTS (&mf_rlefont_DejaVuSans12_aa_listentry)
+#endif
+
+
+/* End of automatically generated font definition for DejaVuSans12_aa. */
+
diff --git a/src/gdisp/fonts/DejaVuSans16.c b/src/gdisp/fonts/DejaVuSans16.c
new file mode 100644
index 00000000..375ec048
--- /dev/null
+++ b/src/gdisp/fonts/DejaVuSans16.c
@@ -0,0 +1,179 @@
+
+
+/* Start of automatically generated font definition for DejaVuSans16. */
+
+#ifndef MF_RLEFONT_INTERNALS
+#define MF_RLEFONT_INTERNALS
+#endif
+#include "mf_rlefont.h"
+
+#ifndef MF_RLEFONT_VERSION_4_SUPPORTED
+#error The font file is not compatible with this version of mcufont.
+#endif
+
+static const uint8_t mf_rlefont_DejaVuSans16_dictionary_data[247] = {
+    0x0f, 0x15, 0x83, 0x0a, 0x41, 0x2f, 0x06, 0x0a, 0x80, 0x01, 0x0b, 0x83, 0x01, 0x3d, 0x05, 0x80, 
+    0x09, 0x80, 0x06, 0x80, 0x09, 0x80, 0x06, 0x80, 0x09, 0x80, 0x01, 0x05, 0x80, 0x03, 0x0a, 0x81, 
+    0x0e, 0x80, 0x0d, 0x03, 0x80, 0x01, 0x0f, 0x80, 0x10, 0x80, 0x10, 0x80, 0x01, 0x09, 0x80, 0x01, 
+    0x04, 0x07, 0x80, 0x07, 0x80, 0x08, 0x80, 0x0b, 0x08, 0x80, 0x01, 0x0f, 0x80, 0x10, 0x80, 0x01, 
+    0x0d, 0x80, 0x01, 0x80, 0x03, 0x80, 0x07, 0x80, 0x01, 0x13, 0x02, 0x80, 0x06, 0x80, 0x01, 0x03, 
+    0x81, 0x01, 0x03, 0x84, 0x13, 0x87, 0x07, 0x81, 0x01, 0x80, 0x0c, 0x04, 0x80, 0x0a, 0x10, 0x14, 
+    0x04, 0x80, 0x01, 0x80, 0x01, 0x81, 0x01, 0x80, 0x01, 0x84, 0x82, 0x85, 0xa4, 0xb4, 0x26, 0xa4, 
+    0x26, 0x20, 0x21, 0x27, 0xf4, 0x2c, 0x1d, 0xc8, 0x1d, 0x00, 0x25, 0xb4, 0x22, 0x3f, 0xd4, 0x1d, 
+    0xf5, 0xac, 0x30, 0x31, 0x2d, 0x32, 0x22, 0xcf, 0x2b, 0x25, 0x00, 0x1d, 0xd4, 0x1d, 0x37, 0x29, 
+    0xd0, 0x2e, 0x28, 0x2e, 0x28, 0xf2, 0x29, 0x2f, 0x83, 0x1d, 0x3b, 0xa4, 0x26, 0x20, 0x21, 0x3c, 
+    0x1c, 0x22, 0x0f, 0x26, 0x21, 0x1c, 0x2c, 0x36, 0xfa, 0xc6, 0x1d, 0x36, 0xd4, 0xa4, 0x3a, 0x2a, 
+    0xf4, 0x8c, 0x20, 0x20, 0x31, 0x31, 0x2a, 0x29, 0x2a, 0x1f, 0x26, 0x3b, 0x25, 0xfe, 0x3a, 0xf4, 
+    0x29, 0x36, 0x0f, 0xa3, 0x1d, 0xc4, 0x74, 0x83, 0x1c, 0x32, 0x36, 0x95, 0x24, 0x23, 0x00, 0x29, 
+    0x31, 0xd0, 0xd8, 0x2a, 0xd5, 0x86, 0xa4, 0xa4, 0x1d, 0x37, 0x2d, 0x29, 0x2d, 0xd3, 0x22, 0x37, 
+    0x37, 0x31, 0x19, 0x1a, 0xc2, 0x29, 0x30, 0x2e, 0xb4, 0x26, 0xd4, 0x1c, 0x2d, 0xa4, 0x26, 0xc4, 
+    0xc0, 0xc4, 0x2d, 0x2d, 0x23, 0xfc, 0x36, 
+};
+
+static const uint16_t mf_rlefont_DejaVuSans16_dictionary_offsets[88] = {
+    0x0000, 0x0001, 0x0002, 0x0004, 0x0006, 0x0007, 0x000a, 0x000d, 
+    0x000e, 0x001b, 0x001e, 0x0020, 0x0023, 0x0026, 0x002d, 0x0030, 
+    0x0031, 0x0037, 0x0038, 0x003b, 0x0040, 0x0042, 0x0046, 0x0049, 
+    0x004a, 0x004c, 0x004f, 0x0052, 0x0054, 0x0056, 0x0058, 0x005b, 
+    0x005e, 0x005f, 0x0060, 0x0063, 0x0065, 0x0066, 0x0069, 0x006a, 
+    0x006b, 0x0074, 0x0076, 0x0079, 0x007b, 0x007e, 0x0080, 0x0082, 
+    0x0085, 0x0088, 0x008a, 0x008c, 0x008f, 0x0091, 0x0095, 0x0097, 
+    0x009a, 0x009f, 0x00a2, 0x00a6, 0x00a8, 0x00a9, 0x00ac, 0x00af, 
+    0x00b7, 0x00b9, 0x00bb, 0x00bd, 0x00bf, 0x00c2, 0x00c5, 0x00cc, 
+    0x00cf, 0x00d1, 0x00d2, 0x00da, 0x00dd, 0x00e0, 0x00e2, 0x00e4, 
+    0x00e6, 0x00e8, 0x00ea, 0x00ed, 0x00f0, 0x00f1, 0x00f4, 0x00f7, 
+};
+
+static const uint8_t mf_rlefont_DejaVuSans16_glyph_data_0[1166] = {
+    0x05, 0x00, 0x10, 0x06, 0x27, 0x43, 0x49, 0x18, 0x2f, 0x2b, 0x10, 0x06, 0x58, 0x55, 0x3d, 0x55, 
+    0x10, 0x0d, 0xf4, 0x19, 0x41, 0x8d, 0x42, 0xfa, 0x5e, 0x29, 0xdd, 0x5e, 0x29, 0xdd, 0x10, 0x0a, 
+    0x2f, 0x65, 0x2c, 0x1a, 0xfe, 0xa9, 0x1d, 0x55, 0xe0, 0x38, 0x8b, 0x4a, 0x36, 0xd6, 0x1d, 0xde, 
+    0x29, 0x3e, 0x6e, 0x10, 0x0f, 0x2f, 0xd2, 0x6a, 0x6a, 0xf4, 0x85, 0x8c, 0xb6, 0x2a, 0xa8, 0x22, 
+    0xed, 0x18, 0x76, 0x1d, 0xc6, 0x85, 0x32, 0x2d, 0x2a, 0xe8, 0x68, 0x24, 0x68, 0x74, 0x10, 0x0c, 
+    0x66, 0xfc, 0xa7, 0x4a, 0x5c, 0xfc, 0x8c, 0x53, 0xc6, 0xa5, 0x1c, 0x5b, 0x68, 0x3a, 0x86, 0x8c, 
+    0x69, 0x44, 0x30, 0x10, 0x03, 0x2f, 0x5a, 0x10, 0x06, 0x2f, 0xd0, 0x4c, 0x6e, 0x24, 0x49, 0x41, 
+    0x41, 0x38, 0x51, 0x10, 0x06, 0x2f, 0x51, 0x41, 0x41, 0x60, 0x49, 0x6e, 0x32, 0x4c, 0x10, 0x08, 
+    0xfc, 0x1c, 0x6e, 0x96, 0x86, 0x1c, 0x67, 0xa0, 0x29, 0x6f, 0x2c, 0x41, 0x10, 0x0d, 0x1f, 0x23, 
+    0x8c, 0x6e, 0xf3, 0xa3, 0x29, 0x5a, 0x10, 0x05, 0x1b, 0x25, 0x23, 0x10, 0x06, 0x18, 0x1f, 0x1f, 
+    0xe2, 0x10, 0x05, 0x1b, 0x2b, 0x10, 0x05, 0x1c, 0x41, 0x41, 0x25, 0x6e, 0xd4, 0x25, 0x27, 0x22, 
+    0x5c, 0x10, 0x0a, 0x66, 0x30, 0x37, 0xfe, 0x45, 0x20, 0x6b, 0x52, 0xfe, 0x37, 0x5b, 0x1e, 0x10, 
+    0x0a, 0x2f, 0xe0, 0x4c, 0x5a, 0x49, 0x00, 0x23, 0x83, 0x10, 0x0a, 0x2f, 0xa2, 0x29, 0xa7, 0x4a, 
+    0x65, 0x5c, 0x5f, 0x36, 0x5f, 0xfe, 0x38, 0x83, 0x10, 0x0a, 0x2f, 0x67, 0xe5, 0x90, 0x6e, 0xdc, 
+    0x1e, 0x41, 0x5a, 0x2a, 0x37, 0xc2, 0x10, 0x0a, 0x29, 0x4c, 0x53, 0x30, 0x55, 0xd5, 0x29, 0xa5, 
+    0x1c, 0xa4, 0x4b, 0x3c, 0x83, 0x6e, 0xd4, 0x10, 0x0a, 0x39, 0x5d, 0x5c, 0xd4, 0x18, 0x67, 0x5b, 
+    0x38, 0x5a, 0x2a, 0x37, 0xc2, 0x10, 0x0a, 0x39, 0xa0, 0x29, 0xa7, 0x1c, 0xa4, 0x2b, 0x64, 0x3b, 
+    0x20, 0x21, 0x1c, 0x5b, 0x1e, 0x10, 0x0a, 0x34, 0x41, 0x2b, 0x23, 0xec, 0x25, 0x6e, 0xec, 0x10, 
+    0x0a, 0x66, 0xfa, 0x69, 0x6b, 0xf5, 0x35, 0xb4, 0x1e, 0x22, 0x69, 0x6b, 0x52, 0x5b, 0x1e, 0x10, 
+    0x0a, 0x66, 0x30, 0x45, 0x45, 0x6b, 0x52, 0x3d, 0x48, 0x5c, 0xec, 0x4a, 0x90, 0x1c, 0x74, 0x10, 
+    0x05, 0x29, 0x1f, 0x41, 0x41, 0x2f, 0x1f, 0x65, 0x10, 0x05, 0x00, 0x29, 0x1f, 0x2b, 0x1c, 0x1f, 
+    0x43, 0x23, 0x10, 0x0d, 0x27, 0x1f, 0x5c, 0x4e, 0x3f, 0x29, 0x92, 0x4a, 0x41, 0x51, 0x0f, 0x18, 
+    0xa0, 0x41, 0x10, 0x0d, 0x39, 0x19, 0x1f, 0x33, 0xa3, 0x19, 0x34, 0x3c, 0x10, 0x0d, 0x00, 0x59, 
+    0x18, 0xd2, 0x41, 0x51, 0xf5, 0x5c, 0x4e, 0x4e, 0x3f, 0x2c, 0x10, 0x09, 0x2f, 0xa2, 0x4a, 0x8c, 
+    0x6e, 0x32, 0x4c, 0x4c, 0x6e, 0x1c, 0x2b, 0x10, 0x10, 0x38, 0x35, 0x1a, 0xf7, 0xb4, 0x2e, 0x35, 
+    0x21, 0xb3, 0x86, 0x97, 0x32, 0x2d, 0x47, 0x47, 0x47, 0x47, 0x8d, 0xb0, 0x21, 0x73, 0x1c, 0x86, 
+    0x4c, 0x44, 0x0f, 0x10, 0x0b, 0x39, 0x8c, 0x23, 0x98, 0x53, 0x63, 0x4a, 0x4b, 0x3f, 0x93, 0x28, 
+    0xc4, 0x68, 0x2a, 0x10, 0x0b, 0x4f, 0xfc, 0x32, 0x28, 0xfc, 0x21, 0x21, 0x32, 0x1c, 0x82, 0x87, 
+    0x21, 0x32, 0x28, 0x2e, 0x28, 0x00, 0x21, 0x1c, 0x83, 0x10, 0x0b, 0x19, 0x67, 0x0f, 0x69, 0xf4, 
+    0x4a, 0x49, 0x41, 0x60, 0xdc, 0x29, 0x3e, 0x10, 0x0c, 0x4f, 0x69, 0x31, 0x2e, 0x28, 0x4d, 0x28, 
+    0x27, 0x8a, 0x1c, 0x83, 0x10, 0x0a, 0x34, 0x26, 0x25, 0x18, 0x83, 0x85, 0x65, 0x25, 0xfc, 0x2c, 
+    0x83, 0x10, 0x09, 0x4f, 0x25, 0x18, 0x5d, 0x49, 0x10, 0x0c, 0x19, 0x82, 0x1d, 0xb4, 0x1c, 0x68, 
+    0x1c, 0x5a, 0x00, 0x7c, 0x2e, 0x28, 0x2a, 0x1c, 0x52, 0x82, 0x10, 0x0c, 0x2f, 0xe5, 0xa4, 0x4d, 
+    0xf4, 0x74, 0x83, 0x2e, 0x28, 0x4d, 0x10, 0x05, 0xc4, 0x2b, 0x49, 0x49, 0x10, 0x05, 0x39, 0x5a, 
+    0x49, 0x49, 0x4c, 0x10, 0x0a, 0x58, 0xa4, 0x26, 0x45, 0x24, 0x42, 0x36, 0xd2, 0x53, 0x30, 0x88, 
+    0x42, 0xec, 0x4a, 0x45, 0xa4, 0x10, 0x09, 0x58, 0x49, 0x49, 0x18, 0x83, 0x10, 0x0d, 0xf4, 0x41, 
+    0x85, 0x90, 0xb4, 0x35, 0x31, 0x46, 0x31, 0x46, 0x31, 0x46, 0x31, 0x2d, 0x47, 0x30, 0x6d, 0x6d, 
+    0x00, 0x21, 0x5b, 0x6b, 0xc5, 0xa4, 0x10, 0x0c, 0x2f, 0x87, 0x8c, 0xa4, 0x86, 0x68, 0xc5, 0x68, 
+    0x3d, 0x6a, 0x6a, 0xd4, 0x1c, 0x5b, 0x68, 0xd4, 0x68, 0xd4, 0x68, 0xf4, 0x98, 0x1c, 0x85, 0x8e, 
+    0xa4, 0x35, 0x10, 0x0d, 0x2f, 0x33, 0x4a, 0x3a, 0x57, 0x37, 0xc2, 0x10, 0x0a, 0x2f, 0x5d, 0x45, 
+    0x20, 0x37, 0x5d, 0x18, 0x5a, 0x10, 0x0d, 0x2f, 0x33, 0x4a, 0x3a, 0x57, 0x44, 0x60, 0x41, 0x10, 
+    0x0b, 0x2f, 0x5d, 0x45, 0x20, 0x37, 0x83, 0x1d, 0x45, 0x6b, 0xf5, 0x28, 0x2e, 0x10, 0x0a, 0x66, 
+    0xfe, 0xb5, 0x1d, 0x2b, 0x41, 0x51, 0x51, 0x38, 0x52, 0x3c, 0x44, 0x10, 0x09, 0x18, 0x7c, 0xa3, 
+    0x4a, 0x49, 0x49, 0x10, 0x0c, 0x58, 0x28, 0x4d, 0x4d, 0x2a, 0x21, 0x1c, 0x82, 0x10, 0x0b, 0xfc, 
+    0x38, 0x52, 0x0f, 0x28, 0x2e, 0x2a, 0x4b, 0x2d, 0x29, 0x63, 0x53, 0xd8, 0x5c, 0x10, 0x11, 0x58, 
+    0xc4, 0x85, 0x96, 0xa4, 0x31, 0x88, 0x8e, 0x88, 0x86, 0x89, 0x86, 0xa5, 0x5b, 0x3a, 0x98, 0x47, 
+    0x47, 0x68, 0x3b, 0x62, 0x10, 0x0b, 0x1c, 0x4c, 0x69, 0x37, 0x63, 0x29, 0x98, 0x23, 0x8c, 0x53, 
+    0x63, 0x1c, 0xa4, 0x6b, 0xfe, 0x10, 0x09, 0x38, 0x68, 0x2a, 0x37, 0x63, 0x29, 0xd8, 0x2b, 0x49, 
+    0x10, 0x0c, 0x34, 0xf7, 0x5c, 0x5f, 0x36, 0x5f, 0x36, 0x5f, 0x36, 0x74, 0x83, 0x10, 0x06, 0x2f, 
+    0x8b, 0x4a, 0x49, 0x49, 0x5c, 0x74, 0x10, 0x05, 0xfc, 0x41, 0x41, 0x5a, 0x43, 0x43, 0x41, 0x41, 
+    0x10, 0x06, 0x2f, 0xd2, 0x49, 0x49, 0x5c, 0x37, 0x74, 0x10, 0x0d, 0xfc, 0x19, 0x8a, 0x1e, 0x1c, 
+    0xa4, 0x45, 0xa4, 0x10, 0x08, 0xfc, 0x38, 0x1f, 0x1b, 0x34, 0x10, 0x08, 0xf0, 0x38, 0x51, 0x10, 
+    0x09, 0x1f, 0x1e, 0x4a, 0xd0, 0x29, 0x37, 0x82, 0x22, 0x45, 0x4b, 0x3c, 0x48, 0x10, 0x0a, 0x2f, 
+    0x5a, 0x64, 0x50, 0xfc, 0xb4, 0x37, 0xc1, 0x10, 0x09, 0x1f, 0x1e, 0x1c, 0xa4, 0x45, 0x18, 0x5a, 
+    0x41, 0x37, 0xc0, 0x10, 0x0a, 0x29, 0x25, 0x22, 0xf7, 0x40, 0x24, 0x48, 0x10, 0x09, 0x29, 0x1f, 
+    0xeb, 0x29, 0x2d, 0x4a, 0x4b, 0x83, 0x1c, 0x65, 0x41, 0x37, 0xc0, 0x10, 0x06, 0x39, 0x92, 0x4a, 
+    0x5c, 0x7c, 0x6e, 0x3a, 0x49, 0x10, 0x0a, 0x1f, 0x1e, 0x40, 0x24, 0x48, 0x29, 0x45, 0x24, 0x1e, 
+    0x10, 0x0a, 0x2f, 0x5a, 0x64, 0x3b, 0x20, 0x20, 0xa4, 0x10, 0x03, 0xc4, 0x6e, 0x19, 0x5a, 0x49, 
+    0x10, 0x03, 0xc4, 0x6e, 0x1c, 0x49, 0x49, 0x5c, 0xf0, 0x10, 0x09, 0x2f, 0x5a, 0x45, 0x24, 0x42, 
+    0x36, 0xd2, 0x2c, 0x88, 0x42, 0xec, 0x4a, 0xd4, 0x10, 0x03, 0x27, 0x2b, 0x49, 0x49, 0x10, 0x0f, 
+    0x59, 0x3f, 0x7d, 0xa4, 0xb5, 0xb5, 0x3a, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0xd4, 0xa4, 0x10, 
+    0x0a, 0x59, 0x64, 0x3b, 0x20, 0x20, 0xa4, 0x10, 0x0a, 0x1f, 0x1e, 0x1c, 0xa4, 0x37, 0x50, 0x1c, 
+    0x5b, 0x1e, 0x10, 0x0a, 0x59, 0x64, 0x50, 0xfc, 0xb4, 0x37, 0xc1, 0x4a, 0x2b, 0x10, 0x0a, 0x1f, 
+    0x1e, 0x40, 0x24, 0x48, 0x25, 0x10, 0x07, 0x59, 0xcb, 0x22, 0x2b, 0x49, 0x10, 0x09, 0x1f, 0x22, 
+    0x3f, 0x4a, 0x45, 0x18, 0x51, 0x87, 0x4c, 0x29, 0x4b, 0xc2, 0x10, 0x06, 0x00, 0x19, 0x6e, 0x33, 
+    0x2c, 0x43, 0x25, 0x18, 0xf2, 0x10, 0x0a, 0x59, 0x20, 0x20, 0x00, 0x45, 0x48, 0x10, 0x09, 0x00, 
+    0x1f, 0x28, 0x2e, 0x2a, 0x4b, 0x63, 0x53, 0xe0, 0x5c, 0x10, 0x0d, 0x1f, 0x2a, 0x56, 0xf4, 0x86, 
+    0x86, 0x2d, 0x2d, 0x31, 0x98, 0x47, 0x68, 0x3b, 0x62, 0x10, 0x0a, 0xfc, 0x1f, 0x35, 0xb4, 0x1d, 
+    0x24, 0x4a, 0x55, 0x00, 0x8a, 0x4a, 0x55, 0xa5, 0x22, 0xb4, 0x10, 0x09, 0x1c, 0x1f, 0x68, 0x2a, 
+    0x4b, 0xfe, 0x37, 0x63, 0x53, 0x00, 0x8e, 0x4c, 0x6e, 0xf2, 0x10, 0x09, 0xfc, 0x1f, 0x35, 0xa3, 
+    0x5c, 0x5f, 0x36, 0x5f, 0xfe, 0x38, 0x83, 0x10, 0x0a, 0x00, 0x19, 0x8a, 0x4a, 0x49, 0x4c, 0x43, 
+    0x25, 0x1c, 0x22, 0x10, 0x05, 0x00, 0x58, 0x49, 0x49, 0x49, 0x10, 0x0a, 0x38, 0xb4, 0x60, 0x49, 
+    0x18, 0x8a, 0x4a, 0x49, 0x4c, 0x10, 0x0d, 0x00, 0x1f, 0x1f, 0x93, 0x68, 0x7c, 0x10, 
+};
+
+static const uint16_t mf_rlefont_DejaVuSans16_glyph_offsets_0[95] = {
+    0x0000, 0x0003, 0x000b, 0x0011, 0x001f, 0x0034, 0x004f, 0x0064, 
+    0x0068, 0x0074, 0x007f, 0x008d, 0x0097, 0x009c, 0x00a2, 0x00a6, 
+    0x00b2, 0x00c0, 0x00ca, 0x00d9, 0x00e7, 0x00f8, 0x0106, 0x0116, 
+    0x0120, 0x0130, 0x0140, 0x0149, 0x0153, 0x0163, 0x016d, 0x017b, 
+    0x0188, 0x01a4, 0x01b4, 0x01ca, 0x01d8, 0x01e5, 0x01f2, 0x01f9, 
+    0x020b, 0x0217, 0x021d, 0x0224, 0x0236, 0x023d, 0x0257, 0x0273, 
+    0x027c, 0x0286, 0x0290, 0x029e, 0x02ac, 0x02b4, 0x02be, 0x02ce, 
+    0x02e5, 0x02f6, 0x0301, 0x030e, 0x0317, 0x0321, 0x032a, 0x0334, 
+    0x033b, 0x0340, 0x034e, 0x0358, 0x0364, 0x036d, 0x037c, 0x0386, 
+    0x0391, 0x039a, 0x03a1, 0x03aa, 0x03b9, 0x03bf, 0x03d0, 0x03d8, 
+    0x03e3, 0x03ee, 0x03f6, 0x03fd, 0x040b, 0x0416, 0x041e, 0x042a, 
+    0x043a, 0x044b, 0x045b, 0x0468, 0x0474, 0x047b, 0x0486, 
+};
+
+static const struct mf_rlefont_char_range_s mf_rlefont_DejaVuSans16_char_ranges[] = {
+    {32, 95, mf_rlefont_DejaVuSans16_glyph_offsets_0, mf_rlefont_DejaVuSans16_glyph_data_0},
+};
+
+const struct mf_rlefont_s mf_rlefont_DejaVuSans16 = {
+    {
+    "DejaVu Sans Book 16",
+    "DejaVuSans16",
+    17, /* width */
+    17, /* height */
+    3, /* min x advance */
+    17, /* max x advance */
+    1, /* baseline x */
+    13, /* baseline y */
+    19, /* line height */
+    2, /* flags */
+    63, /* fallback character */
+    &mf_rlefont_character_width,
+    &mf_rlefont_render_character,
+    },
+    4, /* version */
+    mf_rlefont_DejaVuSans16_dictionary_data,
+    mf_rlefont_DejaVuSans16_dictionary_offsets,
+    40, /* rle dict count */
+    87, /* total dict count */
+    1, /* char range count */
+    mf_rlefont_DejaVuSans16_char_ranges,
+};
+
+#ifdef MF_INCLUDED_FONTS
+/* List entry for searching fonts by name. */
+static const struct mf_font_list_s mf_rlefont_DejaVuSans16_listentry = {
+    MF_INCLUDED_FONTS,
+    (struct mf_font_s*)&mf_rlefont_DejaVuSans16
+};
+#undef MF_INCLUDED_FONTS
+#define MF_INCLUDED_FONTS (&mf_rlefont_DejaVuSans16_listentry)
+#endif
+
+
+/* End of automatically generated font definition for DejaVuSans16. */
+
diff --git a/src/gdisp/fonts/DejaVuSans16_aa.c b/src/gdisp/fonts/DejaVuSans16_aa.c
new file mode 100644
index 00000000..adcf9a37
--- /dev/null
+++ b/src/gdisp/fonts/DejaVuSans16_aa.c
@@ -0,0 +1,303 @@
+
+
+/* Start of automatically generated font definition for DejaVuSans16_aa. */
+
+#ifndef MF_RLEFONT_INTERNALS
+#define MF_RLEFONT_INTERNALS
+#endif
+#include "mf_rlefont.h"
+
+#ifndef MF_RLEFONT_VERSION_4_SUPPORTED
+#error The font file is not compatible with this version of mcufont.
+#endif
+
+static const uint8_t mf_rlefont_DejaVuSans16_aa_dictionary_data[425] = {
+    0x02, 0x07, 0x05, 0x16, 0x0a, 0x80, 0x02, 0x09, 0x04, 0x11, 0x10, 0x0a, 0x08, 0x01, 0x80, 0x04, 
+    0x80, 0x08, 0x80, 0x40, 0x08, 0x86, 0x14, 0x80, 0x01, 0x80, 0x11, 0x80, 0x11, 0x80, 0xc1, 0x80, 
+    0xc3, 0xcb, 0xde, 0x88, 0x85, 0x80, 0x0e, 0x01, 0xc1, 0x07, 0xc7, 0xc9, 0x07, 0x80, 0x03, 0xca, 
+    0xc7, 0xcc, 0xc4, 0x01, 0xc7, 0xc8, 0xcb, 0xc4, 0xcd, 0xc8, 0xce, 0xc2, 0xcd, 0xc2, 0xca, 0xc6, 
+    0xc3, 0xca, 0xc5, 0xcc, 0xc7, 0xca, 0xcc, 0xc1, 0xca, 0xc2, 0xce, 0xc5, 0x81, 0xc7, 0xcd, 0xc9, 
+    0xc5, 0x02, 0x80, 0xd1, 0xc6, 0xc8, 0xca, 0xc5, 0xcd, 0x0c, 0x80, 0xcd, 0xc2, 0x80, 0xce, 0x80, 
+    0xc6, 0xcd, 0xc9, 0xcd, 0x80, 0xc2, 0x82, 0xcb, 0xc6, 0xc3, 0xcd, 0xc4, 0xca, 0xce, 0x0f, 0xce, 
+    0xc3, 0xcc, 0xc5, 0x01, 0xc6, 0xca, 0x80, 0x02, 0xc1, 0xcd, 0x0e, 0xc4, 0xcc, 0xcc, 0xc3, 0x01, 
+    0xc7, 0x80, 0x80, 0xc1, 0xc8, 0xc9, 0x80, 0xce, 0xc6, 0xcc, 0x80, 0x11, 0x80, 0xca, 0xc4, 0x80, 
+    0xc7, 0xc2, 0xce, 0x01, 0xc2, 0xce, 0xc6, 0xc2, 0xcd, 0xc4, 0xcb, 0x28, 0x15, 0xd1, 0xc9, 0xc7, 
+    0xcc, 0xc7, 0x14, 0x80, 0xd8, 0xc9, 0xca, 0xcd, 0xc3, 0xcd, 0xc4, 0xc6, 0x80, 0xc6, 0xc1, 0xc2, 
+    0xcc, 0xc6, 0xc7, 0x01, 0xc7, 0xc6, 0xc9, 0x03, 0xc8, 0xcd, 0xce, 0xc1, 0xc5, 0xcb, 0xde, 0xca, 
+    0xc8, 0xcb, 0xc5, 0x0b, 0xc6, 0xcb, 0xce, 0xcb, 0x0d, 0xc3, 0xcc, 0xc7, 0xcc, 0xc4, 0xcd, 0x05, 
+    0x80, 0xc1, 0xce, 0x80, 0x0a, 0x2a, 0x1f, 0x2a, 0x1e, 0x87, 0x1d, 0x26, 0x44, 0x38, 0x19, 0x6c, 
+    0x31, 0x71, 0x19, 0x51, 0x18, 0x86, 0x22, 0x87, 0x18, 0x86, 0x22, 0x87, 0x19, 0x71, 0x19, 0x51, 
+    0x19, 0x6c, 0x25, 0x25, 0x25, 0x25, 0x23, 0x1c, 0x1e, 0x88, 0x1b, 0x3b, 0x0e, 0x5f, 0x0a, 0x03, 
+    0x21, 0x05, 0x0e, 0x07, 0x02, 0x65, 0x06, 0x40, 0x19, 0x65, 0x54, 0x1a, 0x7f, 0x09, 0x1d, 0x25, 
+    0x1f, 0x2a, 0x01, 0x7a, 0x00, 0x09, 0x01, 0x88, 0x64, 0x07, 0x6b, 0x3d, 0x88, 0x33, 0x1e, 0x08, 
+    0x88, 0x38, 0x78, 0x65, 0x88, 0xc5, 0x30, 0x88, 0x38, 0x78, 0x65, 0x88, 0x33, 0x1e, 0x5c, 0x1d, 
+    0x65, 0x66, 0x6b, 0x56, 0x0f, 0x7f, 0x2c, 0x09, 0x01, 0x57, 0x00, 0xc8, 0x05, 0x18, 0x25, 0x08, 
+    0x1e, 0x5a, 0x21, 0x4e, 0x1e, 0x87, 0x1c, 0x24, 0x1c, 0x24, 0x1c, 0x24, 0x1c, 0x24, 0x1c, 0x24, 
+    0x26, 0x6e, 0x1f, 0x2a, 0x86, 0x86, 0x86, 0x00, 0x42, 0x49, 0x06, 0x78, 0x25, 0x09, 0x08, 0x02, 
+    0x01, 0x85, 0x1f, 0x61, 0x78, 0x09, 0x0e, 0x81, 0x03, 0x78, 0x25, 0x33, 0x6b, 0x07, 0x38, 0x21, 
+    0x63, 0x1e, 0x3d, 0x21, 0x4e, 0x1e, 0x64, 0x21, 0xc5, 0x30, 0x88, 0x4e, 0x1e, 0x64, 0x21, 0x63, 
+    0x1e, 0x3d, 0x18, 0x25, 0x3a, 0x45, 0x38, 0x21, 0x5d, 0x09, 0x0e, 0x81, 0x03, 0x7f, 0x87, 0x20, 
+    0x1d, 0x25, 0x20, 0x1c, 0x78, 0x85, 0x59, 0x30, 0x19, 0xc8, 0x1f, 0xbc, 0x5f, 0x75, 0x00, 0x1c, 
+    0x30, 0x47, 0x05, 0x66, 0x02, 0x65, 0x06, 0x02, 0x00, 
+};
+
+static const uint16_t mf_rlefont_DejaVuSans16_aa_dictionary_offsets[140] = {
+    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0007, 0x0008, 0x0009, 
+    0x000a, 0x000b, 0x000c, 0x000d, 0x000f, 0x0011, 0x0013, 0x0015, 
+    0x0016, 0x0017, 0x0019, 0x001e, 0x0020, 0x0023, 0x0024, 0x0025, 
+    0x0027, 0x0029, 0x002d, 0x002f, 0x0031, 0x0034, 0x0036, 0x0038, 
+    0x003a, 0x003c, 0x003e, 0x0040, 0x0042, 0x0044, 0x0046, 0x0048, 
+    0x004a, 0x004c, 0x004d, 0x004f, 0x0051, 0x0053, 0x0055, 0x0057, 
+    0x0059, 0x005a, 0x005c, 0x005e, 0x0060, 0x0062, 0x0064, 0x0066, 
+    0x0067, 0x0069, 0x006b, 0x006e, 0x006f, 0x0071, 0x0074, 0x0076, 
+    0x0078, 0x007a, 0x007b, 0x007d, 0x0080, 0x0082, 0x0084, 0x0086, 
+    0x0088, 0x008a, 0x008d, 0x008f, 0x0091, 0x0093, 0x0095, 0x0097, 
+    0x0099, 0x009b, 0x009c, 0x009d, 0x009e, 0x00a0, 0x00a2, 0x00a4, 
+    0x00a5, 0x00a7, 0x00a9, 0x00ab, 0x00ae, 0x00b0, 0x00b2, 0x00b5, 
+    0x00b7, 0x00b8, 0x00ba, 0x00bc, 0x00be, 0x00bf, 0x00c1, 0x00c3, 
+    0x00c4, 0x00c6, 0x00c8, 0x00c9, 0x00cb, 0x00cd, 0x00cf, 0x00d1, 
+    0x00d3, 0x00d5, 0x00d8, 0x00db, 0x00dd, 0x00f2, 0x00f6, 0x00fa, 
+    0x010c, 0x010e, 0x0112, 0x0115, 0x013a, 0x013c, 0x0151, 0x0154, 
+    0x0157, 0x0162, 0x0165, 0x018e, 0x0190, 0x0193, 0x0196, 0x0198, 
+    0x019a, 0x01a2, 0x01a7, 0x01a9, 
+};
+
+static const uint8_t mf_rlefont_DejaVuSans16_aa_glyph_data_0[2853] = {
+    0x05, 0x00, 0x10, 0x06, 0x6a, 0x89, 0x1f, 0x0e, 0x1f, 0x0d, 0x82, 0x69, 0x61, 0x10, 0x06, 0x28, 
+    0xed, 0x48, 0xa8, 0x48, 0xa8, 0x48, 0xa8, 0x10, 0x0d, 0x18, 0x69, 0x70, 0x00, 0x2b, 0x03, 0x48, 
+    0x0d, 0x06, 0x00, 0x05, 0x0e, 0x48, 0x4a, 0xa2, 0x70, 0x22, 0x65, 0x2d, 0x88, 0x0a, 0x09, 0x65, 
+    0x4e, 0x48, 0x40, 0x00, 0x05, 0x0e, 0x48, 0x4a, 0xa2, 0x08, 0x0b, 0x21, 0x2d, 0x5d, 0x1d, 0x0a, 
+    0x09, 0x65, 0x4e, 0x48, 0x40, 0x00, 0x4c, 0x48, 0x03, 0x5d, 0x00, 0x0a, 0x09, 0x10, 0x0a, 0x19, 
+    0x99, 0x21, 0x30, 0x4d, 0x5f, 0x62, 0x7f, 0x0a, 0x3f, 0x5d, 0x7b, 0x7f, 0x7a, 0x00, 0x2f, 0x71, 
+    0x00, 0x2f, 0x05, 0x0e, 0x08, 0x4e, 0x82, 0x65, 0x07, 0x49, 0x5b, 0x21, 0xcc, 0x60, 0x7f, 0xcc, 
+    0x87, 0x7f, 0x36, 0x01, 0x4e, 0x70, 0x7f, 0x52, 0x49, 0x09, 0x01, 0x59, 0x61, 0x10, 0x0f, 0x28, 
+    0x02, 0x0b, 0x81, 0x02, 0x1e, 0x0b, 0x07, 0x19, 0x7d, 0x01, 0x46, 0x78, 0x3c, 0x22, 0x7a, 0x00, 
+    0x87, 0x00, 0x30, 0x72, 0x22, 0x7a, 0x00, 0x87, 0x18, 0x5e, 0x1d, 0x7d, 0x01, 0x46, 0x00, 0x03, 
+    0x7a, 0x22, 0x65, 0x0b, 0x81, 0xa2, 0x75, 0x53, 0x60, 0x65, 0x0b, 0x81, 0x02, 0x22, 0x30, 0x54, 
+    0x00, 0x7d, 0x01, 0x46, 0x1d, 0x09, 0x08, 0x18, 0x7a, 0x00, 0x87, 0x22, 0x51, 0x01, 0x18, 0x7a, 
+    0x00, 0x87, 0x22, 0x55, 0x18, 0x7d, 0x01, 0x46, 0x19, 0x07, 0x0b, 0x78, 0x65, 0x0b, 0x81, 0x02, 
+    0x10, 0x0c, 0x1b, 0x79, 0x0f, 0x55, 0x90, 0x3f, 0x01, 0x68, 0x48, 0x7a, 0x20, 0x71, 0x20, 0x06, 
+    0x3e, 0x53, 0x7d, 0x0b, 0x01, 0x82, 0x6f, 0x00, 0x83, 0x02, 0x18, 0x87, 0x22, 0x39, 0x18, 0x03, 
+    0x72, 0x00, 0x67, 0x22, 0x5d, 0x78, 0x03, 0x40, 0x3d, 0x22, 0x55, 0x78, 0x03, 0x0e, 0x38, 0x22, 
+    0x04, 0x66, 0x01, 0x18, 0x3c, 0x63, 0x1d, 0x2c, 0x0d, 0x0a, 0x05, 0x67, 0x07, 0x10, 0x03, 0x96, 
+    0x10, 0x06, 0x6a, 0x4a, 0x09, 0x53, 0x4d, 0x01, 0x59, 0x2b, 0x04, 0x53, 0x07, 0x0b, 0x20, 0x3a, 
+    0x20, 0x39, 0x20, 0x7a, 0x20, 0x7a, 0x20, 0x39, 0x20, 0x3a, 0x20, 0x80, 0x20, 0x2b, 0x04, 0x1a, 
+    0x90, 0x3e, 0x53, 0x4a, 0x09, 0x10, 0x06, 0x1d, 0x90, 0x4e, 0x53, 0x58, 0x09, 0x20, 0x04, 0x5d, 
+    0x20, 0x75, 0x20, 0x56, 0x20, 0x67, 0x20, 0x9b, 0x9b, 0x67, 0x20, 0x56, 0x20, 0x75, 0x53, 0x04, 
+    0x5d, 0x59, 0x58, 0x09, 0x1e, 0x90, 0x4e, 0x10, 0x08, 0x78, 0x6e, 0x1f, 0x2f, 0x3a, 0xf6, 0x56, 
+    0x48, 0x80, 0x0f, 0x50, 0x82, 0x80, 0x0f, 0x50, 0x48, 0x3a, 0xf6, 0x56, 0x59, 0x61, 0x10, 0x0d, 
+    0x1b, 0x69, 0x91, 0x82, 0x2d, 0x82, 0x61, 0x99, 0x10, 0x05, 0x69, 0x26, 0x26, 0x9c, 0x9b, 0x77, 
+    0x20, 0x5b, 0x10, 0x06, 0x26, 0x26, 0xc0, 0x10, 0x05, 0x69, 0x26, 0x26, 0x99, 0x10, 0x05, 0x1b, 
+    0x51, 0x20, 0x35, 0x20, 0x34, 0x59, 0x64, 0x20, 0x77, 0x20, 0x7e, 0x9e, 0x7a, 0x53, 0x7b, 0x1a, 
+    0x90, 0x06, 0x20, 0x38, 0x53, 0x5a, 0x20, 0x6f, 0x20, 0x71, 0x10, 0x0a, 0x28, 0x65, 0x0a, 0x7c, 
+    0x3f, 0x7f, 0x58, 0x07, 0x6b, 0x42, 0x01, 0x21, 0x3d, 0x1e, 0x3a, 0x21, 0x36, 0x1e, 0x68, 0x21, 
+    0x7a, 0x8a, 0x23, 0x1a, 0x8e, 0x7a, 0x8a, 0x00, 0x36, 0x1e, 0x68, 0x21, 0x3d, 0x1e, 0x33, 0x21, 
+    0x58, 0x07, 0x6b, 0x42, 0x01, 0x21, 0x65, 0x0a, 0x7c, 0x3f, 0x10, 0x0a, 0x6a, 0x03, 0x09, 0x0e, 
+    0x2f, 0x37, 0x03, 0x89, 0x91, 0x59, 0x27, 0x10, 0x0a, 0x28, 0x52, 0x0e, 0x55, 0x78, 0x25, 0x0b, 
+    0x03, 0x01, 0x03, 0x75, 0x7f, 0x08, 0x1e, 0x51, 0x20, 0x2b, 0x20, 0x3c, 0x9e, 0x72, 0x82, 0x30, 
+    0x36, 0x82, 0x65, 0x34, 0x48, 0x65, 0x34, 0x48, 0x30, 0x34, 0x59, 0x55, 0x53, 0x2e, 0x5d, 0x10, 
+    0x0a, 0x28, 0x03, 0x4d, 0x5f, 0x7e, 0x7f, 0x75, 0x02, 0x30, 0x5a, 0x08, 0x20, 0x64, 0x20, 0x64, 
+    0x82, 0x30, 0x5a, 0x08, 0x21, 0xc0, 0x0b, 0x9e, 0x47, 0x07, 0x20, 0x85, 0x20, 0x2b, 0x20, 0x5a, 
+    0x21, 0x7e, 0x01, 0x65, 0x06, 0x72, 0x21, 0x52, 0x5f, 0x0a, 0x03, 0x10, 0x0a, 0x18, 0x1b, 0x58, 
+    0x0f, 0x53, 0x7e, 0x2f, 0x3d, 0x23, 0x82, 0x51, 0x01, 0x23, 0x7f, 0x30, 0x5b, 0x23, 0x48, 0x6c, 
+    0xec, 0x7f, 0x7b, 0x24, 0x7f, 0x39, 0x24, 0x7f, 0x2d, 0x53, 0x2a, 0x10, 0x0a, 0x6a, 0x2e, 0x48, 
+    0x2a, 0x1f, 0x5f, 0x5f, 0x3f, 0x48, 0x62, 0x65, 0x07, 0x54, 0x20, 0x80, 0x20, 0x9b, 0x9b, 0x80, 
+    0x21, 0x7e, 0x01, 0x65, 0x07, 0x54, 0x21, 0x52, 0x49, 0x3f, 0x10, 0x0a, 0x1b, 0x4c, 0x0f, 0x55, 
+    0x90, 0x09, 0xa2, 0x03, 0x0b, 0x7f, 0x68, 0x20, 0x62, 0x20, 0x0d, 0x7b, 0x0e, 0x81, 0x03, 0x78, 
+    0x25, 0x66, 0x45, 0x0e, 0x04, 0x18, 0x25, 0x06, 0x1e, 0x80, 0x21, 0x7a, 0x8a, 0x00, 0x0b, 0x01, 
+    0x8a, 0x00, 0x06, 0x06, 0x1e, 0x80, 0x7f, 0x75, 0x45, 0x0e, 0x04, 0x21, 0x30, 0x0a, 0x4b, 0x34, 
+    0x10, 0x0a, 0x6e, 0x27, 0x20, 0x3d, 0x20, 0x71, 0x53, 0x3c, 0x20, 0x7e, 0x53, 0x51, 0x20, 0x6c, 
+    0x9e, 0x7a, 0x22, 0x31, 0x1d, 0x39, 0x53, 0x7b, 0x20, 0x34, 0x10, 0x0a, 0x6a, 0x60, 0x7c, 0x75, 
+    0x90, 0x0c, 0x04, 0x6b, 0x5a, 0x09, 0x21, 0x38, 0x1e, 0x64, 0x21, 0x38, 0x1e, 0x64, 0x21, 0x84, 
+    0x04, 0x6b, 0x04, 0x6d, 0x7f, 0x0a, 0xf3, 0x0a, 0x7f, 0x42, 0x05, 0x6b, 0x47, 0x07, 0x21, 0x72, 
+    0x1e, 0x85, 0x21, 0x5d, 0x78, 0x30, 0x88, 0x72, 0x1e, 0x85, 0x21, 0x4c, 0x05, 0x6b, 0x47, 0x06, 
+    0x7f, 0x3c, 0x7c, 0x55, 0x10, 0x0a, 0x6a, 0x5a, 0x5f, 0x0a, 0x01, 0x7f, 0x04, 0x66, 0x6b, 0x60, 
+    0x7f, 0x50, 0x1e, 0x06, 0x06, 0x21, 0x7a, 0x78, 0x30, 0x0b, 0x21, 0x7a, 0x8a, 0x00, 0x50, 0x1e, 
+    0x06, 0x88, 0x04, 0x66, 0x45, 0x4b, 0x7f, 0x68, 0x7c, 0x0c, 0x47, 0x20, 0x04, 0x0a, 0x20, 0x62, 
+    0x7f, 0x0b, 0x03, 0x65, 0x09, 0x09, 0x48, 0x47, 0x49, 0x07, 0x10, 0x05, 0x6a, 0x26, 0x61, 0x26, 
+    0x99, 0x10, 0x05, 0x6a, 0x26, 0x61, 0x26, 0x9c, 0x9b, 0x77, 0x20, 0x5b, 0x10, 0x0d, 0x1d, 0x26, 
+    0x30, 0x60, 0x82, 0x52, 0x62, 0x1d, 0x65, 0x79, 0x75, 0x01, 0x21, 0x80, 0x0e, 0x08, 0x02, 0x1a, 
+    0x25, 0x09, 0x01, 0x53, 0x80, 0x0e, 0x08, 0x02, 0x59, 0x65, 0x79, 0x75, 0x01, 0x53, 0x52, 0x62, 
+    0x9e, 0x60, 0x10, 0x0d, 0x53, 0x1b, 0x8b, 0x2d, 0x69, 0x24, 0x2d, 0x10, 0x0d, 0x78, 0x26, 0x75, 
+    0x01, 0x53, 0x52, 0x62, 0x9e, 0x60, 0x37, 0x02, 0x59, 0x65, 0x08, 0x0e, 0x50, 0x9e, 0x09, 0x0f, 
+    0x48, 0x65, 0x08, 0x0e, 0x50, 0x1d, 0x30, 0x60, 0x37, 0x02, 0x21, 0x52, 0x62, 0x82, 0x75, 0x01, 
+    0x10, 0x09, 0x28, 0x7b, 0x7c, 0x09, 0x01, 0x48, 0x0c, 0x05, 0x6b, 0x70, 0x20, 0x9b, 0x42, 0x53, 
+    0x07, 0x63, 0x59, 0x06, 0x0f, 0x09, 0x53, 0x37, 0x20, 0x61, 0x82, 0x1b, 0x61, 0x10, 0x10, 0x22, 
+    0x9e, 0x84, 0x0e, 0x49, 0x09, 0x03, 0x1d, 0x04, 0x0e, 0x09, 0x04, 0x01, 0x65, 0x07, 0x37, 0x19, 
+    0x05, 0x54, 0x1a, 0x30, 0x0b, 0x09, 0x1e, 0x30, 0x54, 0x00, 0x5a, 0x5f, 0x36, 0x5d, 0x72, 0x1e, 
+    0x5e, 0x00, 0x04, 0x66, 0x45, 0x0e, 0x29, 0x56, 0x1e, 0x5b, 0x50, 0x1e, 0x06, 0x29, 0x87, 0x1e, 
+    0x7a, 0x00, 0x7a, 0x78, 0x30, 0x57, 0xc5, 0x7a, 0x00, 0x7a, 0x78, 0x30, 0x29, 0x67, 0x1e, 0x5b, 
+    0x50, 0x1e, 0x06, 0x29, 0x77, 0x1e, 0x5e, 0x00, 0x04, 0x66, 0x45, 0x4b, 0x03, 0x39, 0x78, 0x30, 
+    0x54, 0x00, 0x5a, 0x5f, 0x36, 0x0e, 0x0a, 0xa2, 0x1a, 0x05, 0x54, 0x20, 0x04, 0x0e, 0x09, 0x04, 
+    0x01, 0x30, 0x04, 0x09, 0x0b, 0x22, 0x30, 0x84, 0x0e, 0x5f, 0x0c, 0x08, 0x03, 0x10, 0x0b, 0x22, 
+    0x9e, 0x0c, 0x20, 0x07, 0x40, 0x53, 0x0d, 0x5a, 0x59, 0x05, 0x0a, 0x00, 0x0b, 0x03, 0x82, 0x36, 
+    0x00, 0x05, 0x0a, 0x48, 0x83, 0x78, 0x39, 0x90, 0x06, 0x78, 0x35, 0x21, 0x58, 0x1e, 0x92, 0x22, 
+    0x07, 0x2e, 0x63, 0x1d, 0x39, 0x1a, 0x67, 0x22, 0x05, 0x0a, 0x19, 0x7e, 0x19, 0x0c, 0x04, 0x19, 
+    0x5a, 0x10, 0x0b, 0x28, 0xf3, 0x5f, 0x75, 0x1d, 0xc6, 0x30, 0x5a, 0x09, 0x9f, 0x1e, 0x64, 0x9f, 
+    0x1e, 0x64, 0x22, 0xc6, 0x30, 0x5a, 0x09, 0x1d, 0x27, 0x3e, 0x22, 0xc6, 0x30, 0x04, 0x37, 0x9f, 
+    0x1e, 0x51, 0x9f, 0x1e, 0x2b, 0x9f, 0x1e, 0x51, 0x22, 0xc6, 0x30, 0x85, 0x07, 0x19, 0xc0, 0x5f, 
+    0x55, 0x10, 0x0b, 0x1b, 0x3b, 0x0e, 0x5f, 0x62, 0x21, 0x4c, 0x05, 0x6b, 0x3b, 0x0f, 0x1d, 0x51, 
+    0x01, 0x1a, 0x07, 0x1d, 0x09, 0x06, 0x20, 0x39, 0x20, 0x61, 0x1f, 0x39, 0x1a, 0x90, 0x06, 0x20, 
+    0x51, 0x01, 0x1a, 0x07, 0x21, 0x4c, 0x05, 0x6b, 0x3b, 0x0f, 0x7f, 0x3b, 0x0e, 0x5f, 0x62, 0x10, 
+    0x0c, 0x28, 0xf3, 0x81, 0x07, 0x02, 0x1c, 0x30, 0x03, 0x08, 0x40, 0x9f, 0x1e, 0x03, 0x54, 0x25, 
+    0x31, 0x23, 0x19, 0x67, 0x25, 0x22, 0x0e, 0x25, 0x19, 0x87, 0x25, 0x19, 0x67, 0x25, 0x31, 0xf6, 
+    0x1a, 0x03, 0x38, 0x1a, 0x94, 0x30, 0x03, 0x08, 0x40, 0x19, 0xc0, 0x81, 0x07, 0x02, 0x10, 0x0a, 
+    0x28, 0xe3, 0xcb, 0x25, 0x91, 0x2e, 0x88, 0x89, 0x27, 0x10, 0x09, 0x28, 0xe3, 0xc7, 0x25, 0x91, 
+    0xe3, 0x48, 0x89, 0x10, 0x0c, 0x6a, 0x65, 0x4d, 0x0f, 0x49, 0x09, 0x04, 0x1d, 0x47, 0x06, 0x02, 
+    0x30, 0x3c, 0x0f, 0x22, 0x67, 0xa2, 0x1a, 0x08, 0x22, 0x09, 0x06, 0x20, 0x39, 0x20, 0x61, 0x78, 
+    0xc0, 0x22, 0x39, 0x18, 0x86, 0x22, 0x6c, 0x18, 0x86, 0x22, 0x64, 0xa2, 0x86, 0x1d, 0x06, 0x0e, 
+    0x07, 0xa2, 0x74, 0x07, 0x88, 0x3b, 0x0d, 0x5f, 0x37, 0x03, 0x10, 0x0c, 0x6e, 0x25, 0x25, 0x8d, 
+    0x8d, 0x2d, 0x8d, 0x8d, 0x8d, 0x10, 0x05, 0x6a, 0x89, 0x1f, 0x89, 0x10, 0x05, 0x6a, 0x2a, 0x91, 
+    0x91, 0x9c, 0x64, 0x9e, 0x46, 0x19, 0x25, 0x0b, 0x02, 0x10, 0x0a, 0x6e, 0x1a, 0x51, 0x07, 0x1d, 
+    0xc5, 0x03, 0x40, 0x1d, 0xc6, 0x04, 0x71, 0x00, 0x1c, 0x05, 0x39, 0x1d, 0xcc, 0x07, 0x3e, 0x1a, 
+    0x25, 0x05, 0x3e, 0x59, 0x5d, 0x55, 0x1a, 0x25, 0x30, 0x55, 0x1d, 0xcc, 0x30, 0x75, 0x18, 0x1c, 
+    0x30, 0x75, 0x21, 0xc6, 0x30, 0x6d, 0x21, 0xc5, 0x30, 0x6d, 0x10, 0x09, 0x96, 0x91, 0x91, 0x2e, 
+    0x10, 0x0d, 0x6e, 0x0a, 0x19, 0x0a, 0x57, 0x86, 0x39, 0x1e, 0x65, 0x0c, 0x57, 0x86, 0x35, 0x1a, 
+    0x09, 0x06, 0x57, 0x86, 0x92, 0x18, 0x58, 0x00, 0xc5, 0xcc, 0x6c, 0x78, 0x35, 0x00, 0xc5, 0xcc, 
+    0x67, 0x78, 0x0d, 0xa2, 0xc5, 0x94, 0x7e, 0x00, 0x56, 0x18, 0xc5, 0x94, 0x5a, 0x00, 0x34, 0xf6, 
+    0x1a, 0xc6, 0x37, 0x0c, 0xcc, 0x1a, 0xc6, 0x73, 0x94, 0x86, 0x9f, 0x86, 0x9f, 0x10, 0x0c, 0x28, 
+    0x5f, 0xa2, 0x86, 0x25, 0x80, 0x00, 0x86, 0x1a, 0xcc, 0x50, 0x86, 0x1a, 0xcc, 0x67, 0x01, 0x24, 
+    0x1a, 0x94, 0x3d, 0x24, 0x19, 0xc6, 0x34, 0x44, 0x19, 0xc6, 0x51, 0x01, 0x44, 0x22, 0xc5, 0x6f, 
+    0x44, 0x25, 0x1a, 0x5b, 0x0f, 0x25, 0x1a, 0x83, 0x23, 0x1a, 0xcc, 0x1a, 0x08, 0x06, 0x0f, 0x25, 
+    0x1a, 0x30, 0x0c, 0x0f, 0x10, 0x0d, 0x8f, 0x03, 0x8c, 0x31, 0x02, 0x54, 0x1a, 0x03, 0x38, 0x22, 
+    0xa1, 0x40, 0x21, 0x3b, 0x0e, 0x5f, 0x0a, 0x03, 0x10, 0x0a, 0xa0, 0x06, 0x9d, 0x1c, 0x78, 0x2b, 
+    0x9d, 0x1c, 0x30, 0x47, 0x07, 0x19, 0xbc, 0x5f, 0x75, 0x78, 0x25, 0x91, 0x10, 0x0d, 0x8f, 0x03, 
+    0x8c, 0x31, 0x02, 0x54, 0x1a, 0x03, 0x0e, 0x04, 0x22, 0xa1, 0x0e, 0x08, 0x21, 0x3b, 0x0d, 0x4f, 
+    0x08, 0x20, 0x4c, 0x01, 0x20, 0x07, 0x3e, 0x10, 0x0b, 0xa0, 0x07, 0x1c, 0x78, 0x51, 0x1c, 0x78, 
+    0x2b, 0x9d, 0x1c, 0x30, 0x47, 0x06, 0x21, 0x2e, 0x0c, 0x00, 0x1c, 0x30, 0x05, 0x40, 0x1c, 0x78, 
+    0x47, 0x1c, 0x1e, 0x55, 0x1a, 0xcc, 0x1a, 0x47, 0x9f, 0x1a, 0x75, 0x10, 0x0a, 0x6a, 0x60, 0x7c, 
+    0x62, 0x7f, 0x84, 0x03, 0x01, 0x3b, 0x0f, 0x7f, 0x39, 0x1e, 0x08, 0x7f, 0x7a, 0x20, 0x0b, 0x07, 
+    0x20, 0x67, 0x0c, 0x08, 0x05, 0x02, 0x59, 0x04, 0x46, 0x81, 0x01, 0x20, 0x70, 0x20, 0x87, 0x21, 
+    0x09, 0x1a, 0x51, 0x18, 0x25, 0x0c, 0x05, 0x6b, 0x04, 0x6d, 0x21, 0x03, 0x4d, 0x5f, 0x75, 0x10, 
+    0x09, 0x18, 0x1f, 0x2d, 0x82, 0x2a, 0x91, 0x91, 0x10, 0x0c, 0x48, 0x8d, 0x8d, 0x8d, 0x8d, 0x22, 
+    0x0e, 0xa2, 0x1a, 0x64, 0x22, 0x33, 0x00, 0x1a, 0x3d, 0x19, 0x65, 0x37, 0xa2, 0x65, 0x08, 0x39, 
+    0x22, 0x65, 0x4d, 0x0f, 0x49, 0x09, 0x02, 0x10, 0x0b, 0x78, 0x9e, 0x7a, 0x19, 0x92, 0x1a, 0x6c, 
+    0x31, 0x51, 0x19, 0x71, 0x22, 0x7e, 0x1a, 0x7b, 0x1d, 0x68, 0x1a, 0x36, 0x21, 0x71, 0x78, 0x51, 
+    0x7f, 0x77, 0x78, 0x09, 0x06, 0x7f, 0x92, 0x92, 0x7f, 0x08, 0x76, 0x08, 0x82, 0x67, 0x01, 0x39, 
+    0x59, 0x0a, 0x0a, 0x0a, 0x53, 0x04, 0x0f, 0x04, 0x10, 0x11, 0x28, 0x0d, 0x1e, 0x65, 0x4e, 0x1a, 
+    0x7a, 0x18, 0x43, 0x1e, 0x06, 0x66, 0x1e, 0x7b, 0x78, 0x04, 0x0a, 0x1e, 0x09, 0x46, 0x1e, 0x0a, 
+    0x05, 0x1e, 0x0d, 0x01, 0x78, 0x0d, 0x67, 0x78, 0x92, 0x78, 0x08, 0x06, 0x00, 0x30, 0x0c, 0x00, 
+    0x0c, 0x02, 0x18, 0x77, 0x1a, 0x03, 0x0b, 0x18, 0x05, 0x08, 0x00, 0x08, 0x05, 0x18, 0x34, 0x1a, 
+    0x0c, 0xa2, 0x43, 0x00, 0x05, 0x09, 0x00, 0x67, 0x19, 0x07, 0x07, 0x00, 0x3e, 0x00, 0x58, 0x00, 
+    0x35, 0x19, 0x02, 0x3e, 0x0c, 0x78, 0x3e, 0x71, 0x22, 0x6d, 0x09, 0x78, 0x09, 0x08, 0x0c, 0x1d, 
+    0x07, 0x40, 0x78, 0x05, 0x63, 0x22, 0x30, 0x4e, 0x18, 0x65, 0x5d, 0x10, 0x0b, 0x28, 0x7d, 0x1a, 
+    0x46, 0x22, 0x30, 0x54, 0x78, 0x03, 0x7a, 0x21, 0x60, 0x78, 0x55, 0x7f, 0x0b, 0x76, 0x0b, 0x82, 
+    0x64, 0x04, 0x38, 0x59, 0x73, 0x53, 0x73, 0x59, 0x64, 0x04, 0x38, 0x82, 0x0b, 0x76, 0x0b, 0x48, 
+    0x60, 0x78, 0x75, 0x1d, 0x30, 0x38, 0x78, 0x03, 0x7a, 0x1d, 0x33, 0x1a, 0x3d, 0x10, 0x09, 0x18, 
+    0x1f, 0x33, 0x1a, 0x56, 0x22, 0x65, 0x38, 0x18, 0x65, 0x39, 0x21, 0x80, 0x78, 0x50, 0x48, 0x75, 
+    0x00, 0x80, 0x48, 0x65, 0x54, 0x38, 0x59, 0x07, 0x63, 0x20, 0x89, 0x10, 0x0c, 0x6e, 0x2d, 0x20, 
+    0x80, 0x53, 0x05, 0x3e, 0x59, 0x85, 0x01, 0x59, 0x04, 0x39, 0x59, 0x03, 0x39, 0x82, 0x65, 0x71, 
+    0x82, 0x65, 0x72, 0x82, 0x30, 0x55, 0x48, 0x30, 0x75, 0x53, 0x0b, 0x07, 0x22, 0x25, 0x2d, 0x10, 
+    0x06, 0x1f, 0xbc, 0x53, 0x89, 0x1f, 0x89, 0x59, 0xbc, 0x10, 0x05, 0x18, 0x1f, 0x71, 0x20, 0x6f, 
+    0x20, 0x5a, 0x1f, 0x38, 0x1a, 0x90, 0x06, 0x20, 0x7b, 0x20, 0x92, 0x53, 0x7e, 0x20, 0x77, 0x20, 
+    0x64, 0x1f, 0x34, 0x53, 0x35, 0x20, 0x51, 0x10, 0x06, 0x28, 0xf2, 0x91, 0x91, 0x91, 0x48, 0xbc, 
+    0x10, 0x0d, 0x18, 0x1b, 0x05, 0x41, 0x05, 0x82, 0x06, 0x0f, 0x09, 0x09, 0x0f, 0x06, 0x7f, 0x73, 
+    0x18, 0x73, 0x1d, 0x07, 0x0e, 0x04, 0x1e, 0x04, 0x0e, 0x07, 0x10, 0x08, 0x26, 0x26, 0x26, 0x26, 
+    0x23, 0x27, 0x10, 0x08, 0x18, 0x08, 0x38, 0x20, 0x0a, 0x0c, 0x1f, 0x0b, 0x09, 0x10, 0x09, 0x18, 
+    0x26, 0x65, 0x09, 0x0e, 0x37, 0x82, 0x0d, 0x06, 0x74, 0x7d, 0x20, 0x58, 0x48, 0x42, 0x0e, 0x4f, 
+    0x7f, 0x08, 0x0b, 0x03, 0x01, 0x44, 0x7f, 0x39, 0x78, 0x4a, 0x7f, 0x7a, 0x78, 0x08, 0x0f, 0x7f, 
+    0x0a, 0x0a, 0x6b, 0x3d, 0x88, 0x30, 0x0a, 0x7c, 0x09, 0x2b, 0x10, 0x0a, 0x96, 0x01, 0x9a, 0x10, 
+    0x09, 0x18, 0x26, 0x65, 0x09, 0x4b, 0x55, 0x21, 0x67, 0x07, 0xa2, 0x3b, 0x90, 0x08, 0x20, 0x38, 
+    0x20, 0x5d, 0x20, 0x38, 0x1a, 0x90, 0x08, 0x20, 0x67, 0x07, 0xa2, 0x3b, 0x7f, 0x65, 0x0a, 0x4b, 
+    0x55, 0x10, 0x0a, 0x1a, 0x1b, 0x2a, 0x7f, 0x2c, 0x93, 0x10, 0x09, 0x78, 0x26, 0x5a, 0x49, 0x06, 
+    0x7f, 0x65, 0x40, 0x01, 0x03, 0x72, 0x7f, 0x33, 0x78, 0x7b, 0x7f, 0x39, 0x78, 0x58, 0x7f, 0x27, 
+    0x7f, 0x7a, 0x20, 0x3a, 0x20, 0x03, 0x66, 0x6b, 0x68, 0x48, 0x2c, 0x36, 0x10, 0x06, 0x6a, 0x47, 
+    0x0f, 0x2f, 0x71, 0x20, 0x2f, 0xc0, 0x53, 0x89, 0x99, 0x10, 0x0a, 0x78, 0x26, 0x2c, 0x09, 0x2b, 
+    0x1d, 0x65, 0x66, 0x6b, 0x56, 0x88, 0x33, 0x1e, 0x07, 0x88, 0x38, 0x78, 0x65, 0x88, 0xc5, 0x30, 
+    0x88, 0x38, 0x78, 0x65, 0x88, 0x33, 0x1e, 0x5c, 0x1d, 0x65, 0x66, 0x6b, 0x56, 0x0f, 0x7f, 0x2c, 
+    0x09, 0x2b, 0x20, 0x5a, 0x7f, 0x62, 0x6b, 0x47, 0x06, 0x7f, 0x3c, 0x7c, 0x55, 0x10, 0x0a, 0x96, 
+    0x98, 0x95, 0x10, 0x03, 0x28, 0x61, 0x53, 0x6e, 0x91, 0x91, 0x10, 0x03, 0x28, 0x61, 0x53, 0x6e, 
+    0x91, 0x91, 0x1f, 0x0e, 0x20, 0x5a, 0x19, 0x25, 0x5b, 0x10, 0x09, 0x96, 0x1e, 0x03, 0x66, 0x1d, 
+    0xc6, 0x04, 0x72, 0x00, 0x1c, 0x60, 0x02, 0x1d, 0xcc, 0x3d, 0x01, 0x21, 0xcc, 0x7a, 0x7f, 0xcc, 
+    0x06, 0x39, 0x78, 0x1c, 0x04, 0x72, 0x7f, 0xc6, 0x51, 0x05, 0x7f, 0xc5, 0x67, 0x07, 0x10, 0x03, 
+    0x96, 0x91, 0x91, 0x10, 0x0f, 0x8b, 0x01, 0x09, 0x7c, 0x08, 0x30, 0x09, 0x7c, 0x09, 0x00, 0x86, 
+    0x09, 0x06, 0x74, 0x6d, 0x09, 0x06, 0x74, 0x75, 0x86, 0x06, 0x78, 0x03, 0x66, 0x78, 0x83, 0x1a, 
+    0x4e, 0x18, 0x30, 0x4e, 0x78, 0x87, 0x97, 0x97, 0x97, 0x97, 0x97, 0x10, 0x0a, 0x8b, 0x98, 0x95, 
+    0x10, 0x0a, 0x78, 0x26, 0x3c, 0x7c, 0x34, 0x21, 0x03, 0x40, 0x6b, 0x05, 0x54, 0x21, 0x3a, 0x1e, 
+    0x56, 0x21, 0x39, 0x1e, 0x67, 0x1c, 0x1e, 0x88, 0x39, 0x1e, 0x67, 0x21, 0x3a, 0x1e, 0x56, 0x21, 
+    0x03, 0x40, 0x6b, 0x05, 0x54, 0x7f, 0x3c, 0x7c, 0x55, 0x10, 0x0a, 0x8b, 0x01, 0x9a, 0x2a, 0x10, 
+    0x0a, 0x78, 0x26, 0x2c, 0x93, 0x53, 0x2a, 0x10, 0x07, 0x8b, 0x01, 0x09, 0x4b, 0x1a, 0x25, 0x43, 
+    0x01, 0x59, 0x63, 0x20, 0x4e, 0x22, 0x25, 0x91, 0x10, 0x09, 0x00, 0x26, 0x30, 0x79, 0x7c, 0x36, 
+    0x7f, 0x7d, 0x02, 0x30, 0x68, 0x7f, 0x7a, 0x20, 0x0c, 0x09, 0x02, 0x59, 0x65, 0x0a, 0x49, 0x43, 
+    0x53, 0x03, 0x60, 0x09, 0x20, 0x87, 0x7f, 0x7e, 0x02, 0x30, 0x08, 0x0b, 0x7f, 0x52, 0x0f, 0x37, 
+    0x01, 0x10, 0x06, 0x6a, 0x99, 0x7f, 0xc0, 0x2f, 0x89, 0x1f, 0x55, 0x53, 0x85, 0x41, 0x10, 0x0a, 
+    0x8b, 0x1a, 0x8e, 0x32, 0x94, 0x25, 0x1a, 0x8e, 0x7a, 0x78, 0x65, 0x88, 0x34, 0x78, 0x08, 0x88, 
+    0x05, 0x72, 0x74, 0x5e, 0x0f, 0x7f, 0x4c, 0x49, 0x07, 0x23, 0x10, 0x09, 0x26, 0x02, 0x0c, 0x19, 
+    0x34, 0x19, 0x3a, 0x1a, 0x60, 0x1d, 0x51, 0x1a, 0x72, 0x21, 0x0b, 0x07, 0x78, 0x84, 0x7f, 0x04, 
+    0x7a, 0x30, 0x40, 0x48, 0x6d, 0x00, 0x79, 0x82, 0x05, 0x38, 0x40, 0x59, 0x0d, 0x0e, 0x0d, 0x53, 
+    0x73, 0x10, 0x0d, 0x26, 0x51, 0x1e, 0x58, 0x1a, 0x71, 0x1e, 0x34, 0x18, 0x06, 0x40, 0x78, 0x5a, 
+    0x1a, 0x56, 0x78, 0x0c, 0x80, 0x78, 0x3a, 0x1a, 0x92, 0x83, 0x00, 0x0c, 0xa2, 0x92, 0x1a, 0x33, 
+    0x00, 0x08, 0x76, 0x76, 0x09, 0x19, 0x5a, 0x00, 0x0e, 0xa2, 0x67, 0x00, 0x5b, 0x19, 0x37, 0x0b, 
+    0x78, 0x0b, 0x08, 0x0c, 0x1d, 0x5c, 0x06, 0x78, 0x73, 0x22, 0x65, 0x7a, 0x78, 0x92, 0x10, 0x0a, 
+    0x18, 0x26, 0x7d, 0x1e, 0x46, 0x1d, 0x30, 0x71, 0x18, 0x03, 0x7a, 0x7f, 0x3c, 0x18, 0x55, 0x48, 
+    0x6c, 0x07, 0x0b, 0x82, 0x30, 0x0c, 0x39, 0x59, 0x43, 0x77, 0x82, 0x68, 0x18, 0x36, 0x21, 0x30, 
+    0x39, 0x18, 0x67, 0x01, 0x21, 0x7d, 0x1e, 0x46, 0x10, 0x09, 0x00, 0x26, 0x34, 0x1e, 0x51, 0x1d, 
+    0x7b, 0x1a, 0x6c, 0x21, 0x71, 0x78, 0x92, 0x1d, 0x07, 0x09, 0x78, 0x3d, 0x7f, 0x92, 0x00, 0x71, 
+    0x48, 0x6c, 0x00, 0x3c, 0x82, 0x51, 0x00, 0x7e, 0x59, 0x0b, 0x08, 0x0e, 0x53, 0x05, 0x0f, 0x08, 
+    0x9e, 0x4e, 0x82, 0x30, 0x5e, 0x59, 0x5f, 0x0a, 0x01, 0x10, 0x09, 0x8b, 0x2e, 0x20, 0x84, 0x53, 
+    0x05, 0x39, 0x59, 0x04, 0x38, 0x59, 0x03, 0x54, 0x59, 0x64, 0x04, 0x59, 0x67, 0x05, 0x53, 0x6d, 
+    0x20, 0x27, 0x10, 0x0a, 0x00, 0x1b, 0x47, 0x0f, 0x53, 0x0d, 0x05, 0x20, 0x61, 0x9c, 0x2b, 0x20, 
+    0x84, 0x7f, 0xb4, 0x04, 0x20, 0x60, 0x20, 0x87, 0x1f, 0x2a, 0x1f, 0x0d, 0x05, 0x20, 0x47, 0x0f, 
+    0x10, 0x05, 0x6a, 0x89, 0x91, 0x1f, 0x89, 0x10, 0x0a, 0x6a, 0x49, 0x05, 0x20, 0x47, 0x91, 0x01, 
+    0x20, 0x6d, 0x20, 0x04, 0x41, 0x53, 0x75, 0x20, 0x5d, 0x20, 0x61, 0x9c, 0x47, 0x53, 0x49, 0x05, 
+    0x10, 0x0d, 0x1f, 0x69, 0x26, 0x68, 0x7c, 0x50, 0x02, 0x01, 0x5a, 0x22, 0x0d, 0x05, 0x74, 0x80, 
+    0x7c, 0x36, 0x19, 0x30, 0x10, 
+};
+
+static const uint16_t mf_rlefont_DejaVuSans16_aa_glyph_offsets_0[95] = {
+    0x0000, 0x0003, 0x000e, 0x0018, 0x004e, 0x007e, 0x00d1, 0x010e, 
+    0x0111, 0x0136, 0x0158, 0x016f, 0x0179, 0x0183, 0x0188, 0x018e, 
+    0x01ab, 0x01db, 0x01e8, 0x0210, 0x023c, 0x025c, 0x027b, 0x02b1, 
+    0x02cb, 0x0305, 0x033b, 0x0342, 0x034d, 0x0373, 0x037c, 0x03a1, 
+    0x03be, 0x042e, 0x0462, 0x0492, 0x04c0, 0x04ef, 0x04fa, 0x0504, 
+    0x053b, 0x0546, 0x054c, 0x055a, 0x058b, 0x0591, 0x05ce, 0x0605, 
+    0x0619, 0x062d, 0x0648, 0x066c, 0x06a0, 0x06a9, 0x06c8, 0x06f9, 
+    0x075c, 0x078e, 0x07ac, 0x07d0, 0x07da, 0x07f8, 0x0801, 0x081b, 
+    0x0823, 0x082e, 0x085b, 0x0860, 0x0882, 0x088a, 0x08ad, 0x08ba, 
+    0x08ee, 0x08f3, 0x08fb, 0x090a, 0x092f, 0x0934, 0x095c, 0x0961, 
+    0x098a, 0x0990, 0x0998, 0x09a9, 0x09d2, 0x09df, 0x09fb, 0x0a22, 
+    0x0a5f, 0x0a89, 0x0aba, 0x0ad3, 0x0af1, 0x0af8, 0x0b11, 
+};
+
+static const struct mf_rlefont_char_range_s mf_rlefont_DejaVuSans16_aa_char_ranges[] = {
+    {32, 95, mf_rlefont_DejaVuSans16_aa_glyph_offsets_0, mf_rlefont_DejaVuSans16_aa_glyph_data_0},
+};
+
+const struct mf_rlefont_s mf_rlefont_DejaVuSans16_aa = {
+    {
+    "DejaVu Sans Book 16",
+    "DejaVuSans16_aa",
+    18, /* width */
+    17, /* height */
+    3, /* min x advance */
+    17, /* max x advance */
+    1, /* baseline x */
+    13, /* baseline y */
+    19, /* line height */
+    0, /* flags */
+    63, /* fallback character */
+    &mf_rlefont_character_width,
+    &mf_rlefont_render_character,
+    },
+    4, /* version */
+    mf_rlefont_DejaVuSans16_aa_dictionary_data,
+    mf_rlefont_DejaVuSans16_aa_dictionary_offsets,
+    113, /* rle dict count */
+    139, /* total dict count */
+    1, /* char range count */
+    mf_rlefont_DejaVuSans16_aa_char_ranges,
+};
+
+#ifdef MF_INCLUDED_FONTS
+/* List entry for searching fonts by name. */
+static const struct mf_font_list_s mf_rlefont_DejaVuSans16_aa_listentry = {
+    MF_INCLUDED_FONTS,
+    (struct mf_font_s*)&mf_rlefont_DejaVuSans16_aa
+};
+#undef MF_INCLUDED_FONTS
+#define MF_INCLUDED_FONTS (&mf_rlefont_DejaVuSans16_aa_listentry)
+#endif
+
+
+/* End of automatically generated font definition for DejaVuSans16_aa. */
+
diff --git a/src/gdisp/fonts/DejaVuSans24.c b/src/gdisp/fonts/DejaVuSans24.c
new file mode 100644
index 00000000..caabb080
--- /dev/null
+++ b/src/gdisp/fonts/DejaVuSans24.c
@@ -0,0 +1,237 @@
+
+
+/* Start of automatically generated font definition for DejaVuSans24. */
+
+#ifndef MF_RLEFONT_INTERNALS
+#define MF_RLEFONT_INTERNALS
+#endif
+#include "mf_rlefont.h"
+
+#ifndef MF_RLEFONT_VERSION_4_SUPPORTED
+#error The font file is not compatible with this version of mcufont.
+#endif
+
+static const uint8_t mf_rlefont_DejaVuSans24_dictionary_data[395] = {
+    0x80, 0x0a, 0x80, 0x3d, 0x81, 0x02, 0x81, 0x81, 0x09, 0x81, 0x0c, 0x81, 0x09, 0x81, 0x0c, 0x81, 
+    0x09, 0x81, 0x08, 0x16, 0x81, 0x01, 0x82, 0x0e, 0x84, 0x01, 0x07, 0x87, 0x01, 0x86, 0x0d, 0x85, 
+    0x80, 0x0c, 0x83, 0x0f, 0x89, 0x0f, 0x82, 0x07, 0x0b, 0x81, 0x09, 0x81, 0x0c, 0x13, 0x81, 0x16, 
+    0x80, 0x15, 0x04, 0x82, 0x0e, 0x0a, 0x80, 0x81, 0x0a, 0x80, 0x05, 0x82, 0x0a, 0x81, 0x0e, 0x81, 
+    0x07, 0x81, 0x0d, 0x02, 0x82, 0x01, 0x0b, 0x81, 0x08, 0x81, 0x0d, 0x04, 0x85, 0x09, 0x80, 0x05, 
+    0x81, 0x45, 0x15, 0x83, 0x01, 0x81, 0x01, 0x82, 0x12, 0x10, 0x81, 0x83, 0x0c, 0x0d, 0x85, 0x02, 
+    0x81, 0x07, 0x06, 0x82, 0x82, 0x10, 0x85, 0x02, 0x80, 0x15, 0x82, 0x0e, 0x81, 0x0c, 0x81, 0x26, 
+    0x0c, 0x07, 0x82, 0x0e, 0x82, 0x15, 0x81, 0x01, 0x16, 0x81, 0x17, 0x81, 0x01, 0x80, 0x0b, 0x84, 
+    0x12, 0x87, 0x10, 0x82, 0x08, 0x8b, 0x1d, 0x11, 0x1e, 0x80, 0x02, 0x0f, 0x04, 0x06, 0x81, 0x01, 
+    0x12, 0x17, 0x0d, 0x82, 0x01, 0x80, 0x01, 0x17, 0x81, 0x15, 0x03, 0x41, 0x0e, 0x00, 0xbc, 0x56, 
+    0x31, 0x31, 0x31, 0x31, 0x31, 0x37, 0x3d, 0x45, 0x47, 0x47, 0x47, 0x47, 0x47, 0x1d, 0x36, 0x2d, 
+    0x2f, 0x44, 0x30, 0x2c, 0x18, 0x2c, 0x1b, 0x51, 0x1b, 0xd4, 0xc5, 0x2d, 0x25, 0x9c, 0x4a, 0x4a, 
+    0x3b, 0x29, 0x36, 0xc7, 0x27, 0x47, 0x47, 0x47, 0x5a, 0x27, 0x47, 0x37, 0x1f, 0x2e, 0x31, 0xeb, 
+    0xa4, 0x23, 0xc0, 0x2a, 0x36, 0x22, 0x50, 0x1a, 0x1d, 0x27, 0xd0, 0x54, 0x1a, 0x4d, 0x31, 0x00, 
+    0xc7, 0x9c, 0x43, 0x3c, 0x2e, 0x37, 0x1f, 0x2e, 0x00, 0xc7, 0x9c, 0x45, 0x47, 0x29, 0xca, 0x54, 
+    0x00, 0x9c, 0x4a, 0x41, 0x33, 0x48, 0x53, 0x47, 0x47, 0x47, 0x2c, 0x48, 0x2c, 0x48, 0xb4, 0xc4, 
+    0x90, 0x34, 0x34, 0xc4, 0x3c, 0xc7, 0x90, 0x5a, 0x3b, 0x3a, 0xdc, 0x53, 0x47, 0x46, 0x40, 0x44, 
+    0x1c, 0x4a, 0xc7, 0xa2, 0x9c, 0x9c, 0x52, 0x3a, 0x51, 0x1b, 0x56, 0x31, 0x31, 0x31, 0x31, 0x37, 
+    0x00, 0x1c, 0x47, 0xea, 0x2b, 0xc7, 0x2d, 0x2f, 0x2d, 0xb4, 0x20, 0x39, 0x51, 0x24, 0xf2, 0x1a, 
+    0x55, 0x00, 0x9c, 0x5a, 0x9c, 0x56, 0x31, 0x31, 0x31, 0x31, 0xfe, 0xc5, 0x9c, 0x2a, 0xc0, 0x93, 
+    0x39, 0xb4, 0x90, 0x27, 0x25, 0x1d, 0x3c, 0x39, 0xd3, 0x39, 0x3a, 0xe3, 0x45, 0x20, 0x2a, 0xfc, 
+    0xc7, 0x1d, 0x9c, 0x38, 0xbf, 0x27, 0x5a, 0x3a, 0x43, 0x9c, 0xbc, 0x25, 0x2b, 0x22, 0x1c, 0x47, 
+    0xc2, 0x39, 0xe3, 0x1d, 0xa2, 0xbc, 0x45, 0x1f, 0x45, 0x1c, 0xfd, 0x55, 0x0f, 0xb5, 0x27, 0xca, 
+    0x54, 0x9f, 0x90, 0x00, 0x27, 0x22, 0x4d, 0x20, 0x43, 0x5b, 0x1a, 0x3e, 0x36, 0x50, 0x56, 0x5b, 
+    0xc2, 0x90, 0x3b, 0x3a, 0x2a, 0xf0, 0x2d, 0x34, 0x3d, 0xf0, 0x54, 
+};
+
+static const uint16_t mf_rlefont_DejaVuSans24_dictionary_offsets[119] = {
+    0x0000, 0x0003, 0x0004, 0x0007, 0x0013, 0x0016, 0x0018, 0x001a, 
+    0x001b, 0x001d, 0x001f, 0x0020, 0x0022, 0x0026, 0x0028, 0x002d, 
+    0x002f, 0x0031, 0x0032, 0x0035, 0x0037, 0x003a, 0x003d, 0x0043, 
+    0x0046, 0x0047, 0x004b, 0x004d, 0x004f, 0x0051, 0x0053, 0x0054, 
+    0x0056, 0x0059, 0x005b, 0x005d, 0x005f, 0x0062, 0x0064, 0x0067, 
+    0x0069, 0x006c, 0x006f, 0x0070, 0x0071, 0x0073, 0x0075, 0x0078, 
+    0x007d, 0x007f, 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 
+    0x008b, 0x008c, 0x008d, 0x008e, 0x0090, 0x0091, 0x0092, 0x0093, 
+    0x0094, 0x0097, 0x009a, 0x009b, 0x009d, 0x00a8, 0x00ad, 0x00bf, 
+    0x00c5, 0x00c8, 0x00cb, 0x00ce, 0x00d9, 0x00de, 0x00e2, 0x00ec, 
+    0x00f0, 0x00f6, 0x00fa, 0x00fe, 0x0107, 0x010b, 0x010d, 0x0111, 
+    0x0115, 0x0116, 0x0118, 0x011a, 0x0120, 0x0123, 0x012c, 0x0131, 
+    0x0133, 0x013a, 0x013d, 0x0141, 0x0143, 0x0145, 0x0148, 0x014b, 
+    0x014e, 0x0156, 0x0158, 0x015a, 0x015e, 0x0167, 0x016a, 0x016c, 
+    0x0172, 0x0173, 0x0178, 0x017e, 0x0184, 0x0189, 0x018b, 
+};
+
+static const uint8_t mf_rlefont_DejaVuSans24_glyph_data_0[1873] = {
+    0x08, 0x00, 0x10, 0x0a, 0x00, 0x4a, 0x47, 0x5d, 0x56, 0x19, 0x74, 0x10, 0x0b, 0x4c, 0x1a, 0x64, 
+    0xfc, 0x1a, 0x64, 0xfc, 0x1a, 0x10, 0x14, 0xc4, 0x4e, 0xc7, 0xc6, 0x82, 0x8d, 0xc7, 0xc7, 0x82, 
+    0x8d, 0xc5, 0xc7, 0x2b, 0x4b, 0x2c, 0x4b, 0xe7, 0x4a, 0x77, 0x8d, 0x4f, 0x3c, 0x2b, 0xa5, 0x4a, 
+    0x2b, 0xb5, 0x45, 0x4b, 0xc4, 0x34, 0x22, 0x21, 0xc7, 0xc6, 0x82, 0x8d, 0xc7, 0xc7, 0x82, 0x8d, 
+    0x0f, 0xb4, 0x10, 0x0f, 0x4e, 0x94, 0x29, 0xc8, 0x28, 0x28, 0x1e, 0x39, 0x21, 0x2f, 0xa6, 0x82, 
+    0xe8, 0x54, 0xa7, 0x27, 0xcd, 0x7c, 0x45, 0x93, 0x7c, 0x56, 0xbd, 0x50, 0x94, 0x8d, 0xfe, 0x9c, 
+    0x56, 0xa5, 0x2f, 0x3b, 0x7e, 0x2b, 0x29, 0xcc, 0x29, 0xc8, 0x28, 0x10, 0x17, 0x4c, 0xe2, 0x4a, 
+    0x2c, 0xdd, 0x3d, 0x33, 0xc5, 0xc7, 0x3c, 0xdc, 0xb4, 0xb4, 0x52, 0x34, 0x77, 0x2f, 0x2b, 0xc5, 
+    0xa7, 0x23, 0xc7, 0xaa, 0x41, 0x7b, 0x30, 0xaa, 0x9d, 0xc0, 0x4a, 0xa2, 0x90, 0x1a, 0x56, 0xaa, 
+    0xa5, 0x23, 0xab, 0xc5, 0x41, 0xdc, 0x77, 0x2b, 0xa7, 0xa5, 0x48, 0xe7, 0x90, 0x3c, 0xdc, 0x34, 
+    0xb4, 0x4a, 0x92, 0x7b, 0x52, 0x3c, 0xe2, 0x10, 0x13, 0x55, 0x33, 0x49, 0xa4, 0x39, 0x59, 0x8d, 
+    0x2d, 0x43, 0x92, 0x7c, 0x30, 0xb2, 0xc7, 0x3c, 0xbc, 0xbc, 0xb4, 0x4a, 0x90, 0xbc, 0x3c, 0xb4, 
+    0x52, 0xbb, 0x1f, 0x77, 0x71, 0x25, 0x25, 0x3d, 0x32, 0x3b, 0xe7, 0x1d, 0x1e, 0xbc, 0x10, 0x07, 
+    0x4c, 0x69, 0x10, 0x09, 0x56, 0x27, 0x1c, 0x61, 0x61, 0x1c, 0x60, 0x74, 0x59, 0x90, 0x1c, 0x10, 
+    0x09, 0x4c, 0xe7, 0x47, 0x74, 0x55, 0x86, 0x69, 0x61, 0x61, 0x46, 0x10, 0x0c, 0x4e, 0xc8, 0x28, 
+    0x27, 0xec, 0x9c, 0x56, 0xb2, 0x38, 0x1e, 0x7c, 0x30, 0x9b, 0x1d, 0xfe, 0x95, 0x8d, 0xe6, 0x28, 
+    0x10, 0x14, 0x5a, 0x55, 0x19, 0x69, 0x50, 0x4b, 0x93, 0x44, 0xe3, 0x20, 0x50, 0x69, 0x10, 0x08, 
+    0x35, 0x6d, 0x61, 0x10, 0x09, 0x00, 0x19, 0x19, 0x5b, 0x3b, 0x52, 0x3b, 0x10, 0x08, 0x35, 0x6d, 
+    0x10, 0x08, 0x30, 0x1c, 0x85, 0x47, 0x29, 0x6d, 0x85, 0x1c, 0x85, 0x47, 0x29, 0x6d, 0x85, 0x10, 
+    0x0f, 0x4e, 0x81, 0x52, 0xc2, 0x1d, 0x2f, 0xbc, 0x82, 0xa4, 0x48, 0xb4, 0x78, 0x31, 0x31, 0x31, 
+    0x65, 0x43, 0x90, 0x77, 0x45, 0x2a, 0x3f, 0x21, 0x71, 0x10, 0x0f, 0x4e, 0xc0, 0x27, 0xd3, 0x54, 
+    0x1a, 0x74, 0x5d, 0xfc, 0x6c, 0x20, 0x10, 0x0f, 0xc4, 0x55, 0x83, 0xff, 0x39, 0x2d, 0x52, 0x44, 
+    0x74, 0x46, 0x85, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x4a, 0x3b, 0x7f, 0x10, 0x0f, 0x54, 0x3b, 
+    0x4a, 0x2b, 0x20, 0x50, 0xc5, 0x92, 0x1c, 0x67, 0x8d, 0x22, 0x27, 0xe3, 0x29, 0x2f, 0x74, 0x28, 
+    0x48, 0xc8, 0x2d, 0x32, 0x7e, 0x10, 0x0f, 0x29, 0x45, 0x29, 0x93, 0x54, 0x9e, 0x54, 0xba, 0x64, 
+    0x00, 0xc7, 0xc7, 0x45, 0x9c, 0x39, 0xb4, 0x39, 0x34, 0x39, 0x34, 0x82, 0x34, 0x50, 0x4b, 0x48, 
+    0xc2, 0x20, 0x27, 0x74, 0x10, 0x0f, 0x4d, 0x3b, 0x3e, 0x7d, 0x59, 0xf0, 0x55, 0x21, 0xa4, 0x21, 
+    0x94, 0x2a, 0x33, 0x6d, 0x47, 0x40, 0x4f, 0x2a, 0xc2, 0x7e, 0x10, 0x0f, 0x51, 0x4e, 0x49, 0x00, 
+    0x94, 0x45, 0x61, 0x00, 0x1e, 0x82, 0x21, 0xc0, 0xb5, 0x23, 0xc0, 0x34, 0x23, 0x92, 0xa4, 0x23, 
+    0x92, 0x34, 0x56, 0x25, 0x2e, 0xd2, 0x2a, 0x36, 0xbc, 0x39, 0x22, 0x7c, 0x10, 0x0f, 0x4c, 0x22, 
+    0x7f, 0x46, 0x1c, 0x85, 0x61, 0x85, 0x61, 0x85, 0x1c, 0x46, 0x10, 0x0f, 0x4c, 0x83, 0x1d, 0x92, 
+    0x2f, 0x73, 0x2d, 0x52, 0x20, 0x39, 0x22, 0x50, 0x92, 0x2f, 0x73, 0xe5, 0x92, 0x3b, 0x7e, 0x10, 
+    0x0f, 0x56, 0x7c, 0x30, 0xc2, 0x1d, 0x2f, 0xc0, 0x45, 0xa4, 0x2e, 0xca, 0x2d, 0xdc, 0x44, 0x30, 
+    0x90, 0x34, 0x23, 0x92, 0x81, 0x3f, 0xa7, 0x93, 0x3b, 0x91, 0x45, 0x1a, 0x59, 0xea, 0x40, 0x58, 
+    0x7a, 0x57, 0x10, 0x08, 0x50, 0x5b, 0x74, 0x1f, 0x5b, 0x74, 0x10, 0x08, 0x50, 0x5b, 0x74, 0x1f, 
+    0x5b, 0x74, 0x61, 0x10, 0x14, 0x5b, 0x3f, 0x50, 0x71, 0x3d, 0x3e, 0x5a, 0x45, 0x3e, 0xc4, 0x45, 
+    0x28, 0x1e, 0x5f, 0xd3, 0x29, 0x93, 0x28, 0x10, 0x14, 0x19, 0x5b, 0x3f, 0x4b, 0x2c, 0x4b, 0xe7, 
+    0x19, 0x28, 0x4b, 0xc7, 0x44, 0x4b, 0x10, 0x14, 0x4a, 0x19, 0x19, 0x86, 0x36, 0x28, 0x1e, 0x5f, 
+    0xd3, 0x40, 0x00, 0x32, 0x39, 0x7e, 0xb4, 0x3a, 0x71, 0x33, 0x10, 0x0d, 0x4e, 0xc2, 0x27, 0x1e, 
+    0x39, 0x2a, 0x3f, 0x52, 0x6d, 0x46, 0x40, 0x44, 0x85, 0x47, 0x30, 0x42, 0x74, 0x10, 0x18, 0x19, 
+    0xf2, 0x3e, 0x0f, 0x3a, 0xa2, 0x34, 0x2c, 0x2c, 0xc7, 0x2d, 0x2f, 0x34, 0xa5, 0xab, 0x9d, 0x34, 
+    0xbc, 0x22, 0xbd, 0xb4, 0xb5, 0xb5, 0xa7, 0xc5, 0xa7, 0xc7, 0x2f, 0x90, 0x90, 0x79, 0x90, 0x90, 
+    0x79, 0x90, 0x90, 0x79, 0xf0, 0xb4, 0x9c, 0xa4, 0x1a, 0x34, 0xb5, 0xb4, 0xbf, 0x52, 0xa7, 0x4b, 
+    0x52, 0x92, 0xc0, 0x2f, 0x4a, 0x38, 0x2d, 0x48, 0xe2, 0x3d, 0x3b, 0xe3, 0x39, 0xe3, 0x10, 0x10, 
+    0x4e, 0x81, 0x5a, 0x71, 0x33, 0x25, 0x3b, 0x64, 0x37, 0x77, 0x39, 0x77, 0x39, 0x77, 0x82, 0x34, 
+    0x82, 0x34, 0x45, 0x3d, 0x56, 0x4b, 0x3b, 0xff, 0x3a, 0x6a, 0x2c, 0x4f, 0x4a, 0x41, 0x10, 0x10, 
+    0x4c, 0x20, 0x6c, 0x3d, 0x66, 0x22, 0x6c, 0x00, 0x78, 0xc7, 0x77, 0x3b, 0xe3, 0x45, 0x22, 0x10, 
+    0x11, 0x4e, 0x83, 0x1d, 0x36, 0x2d, 0xe0, 0x33, 0x4a, 0x77, 0x85, 0x47, 0x67, 0xbc, 0x59, 0x2f, 
+    0x4a, 0x48, 0xc0, 0x2d, 0x32, 0x7e, 0x10, 0x12, 0x4c, 0x22, 0x3e, 0xe3, 0x48, 0xd0, 0x71, 0xe7, 
+    0x44, 0x30, 0x2c, 0x48, 0x2c, 0x6a, 0x6a, 0x6a, 0x2c, 0x18, 0x2c, 0x18, 0x48, 0x53, 0x4a, 0x25, 
+    0x77, 0x71, 0x4b, 0x3b, 0x57, 0x10, 0x0f, 0x4c, 0x22, 0x7f, 0x56, 0x6d, 0x67, 0x5a, 0x22, 0x24, 
+    0x6d, 0x67, 0x5a, 0x22, 0x7f, 0x10, 0x0e, 0x4c, 0x22, 0x24, 0x6d, 0x67, 0x5a, 0x22, 0x3e, 0x7d, 
+    0x00, 0x60, 0x10, 0x13, 0x4e, 0x83, 0x1d, 0xeb, 0x2d, 0xe0, 0x33, 0x4a, 0x77, 0x85, 0x47, 0x3d, 
+    0x25, 0xdc, 0xc4, 0xc0, 0x6a, 0x2c, 0x6a, 0x25, 0x90, 0x4a, 0xc0, 0x3d, 0x3b, 0xe3, 0x39, 0xe3, 
+    0x10, 0x12, 0x4c, 0x1b, 0x72, 0x68, 0xf2, 0x22, 0x3a, 0x4b, 0x23, 0x1b, 0x72, 0x68, 0x10, 0x07, 
+    0x1f, 0x47, 0x60, 0x5d, 0x10, 0x07, 0x1f, 0x5d, 0x5d, 0x46, 0x7c, 0x30, 0xc0, 0x10, 0x10, 0x4c, 
+    0xe7, 0x2d, 0x9c, 0x2d, 0xb4, 0x2d, 0x34, 0x80, 0x1d, 0x71, 0x33, 0xd1, 0x54, 0xaa, 0xc7, 0x82, 
+    0x2f, 0x39, 0x8c, 0x30, 0xdc, 0x44, 0x56, 0xc7, 0x2d, 0x90, 0x44, 0x10, 0x0d, 0x1f, 0x60, 0x5d, 
+    0x54, 0x32, 0x7f, 0x10, 0x15, 0x4c, 0x25, 0xbc, 0x33, 0x25, 0xe2, 0x33, 0x25, 0xe2, 0x4a, 0xc2, 
+    0xc4, 0xc2, 0x4a, 0xba, 0xc4, 0xba, 0x4a, 0xba, 0x52, 0x9f, 0x4a, 0x1a, 0x7b, 0x1f, 0x1a, 0x7b, 
+    0x1f, 0x1a, 0x7b, 0x1f, 0xa7, 0x9d, 0x3c, 0x90, 0xaa, 0xb5, 0x33, 0xe5, 0x22, 0x9c, 0x6f, 0x6f, 
+    0x51, 0x77, 0x77, 0x72, 0xb4, 0x10, 0x12, 0x4c, 0x25, 0xca, 0x2b, 0x25, 0x41, 0xe7, 0xa4, 0x23, 
+    0x1e, 0xa4, 0x23, 0x9f, 0xa4, 0x23, 0x1a, 0xa4, 0x23, 0x1a, 0xa4, 0x23, 0xa7, 0xa5, 0x23, 0xa7, 
+    0xc5, 0x41, 0x77, 0x90, 0x2b, 0xc5, 0xc7, 0x41, 0xc4, 0x1a, 0x4a, 0x77, 0x7b, 0x2b, 0xc5, 0xb0, 
+    0x48, 0xca, 0x77, 0x41, 0x44, 0x48, 0xea, 0x71, 0x53, 0x44, 0x10, 0x13, 0x4e, 0x83, 0x5e, 0x75, 
+    0x36, 0x10, 0x0e, 0x4c, 0x20, 0x6c, 0xfc, 0x77, 0x66, 0x21, 0xfc, 0x20, 0x39, 0x55, 0x69, 0x10, 
+    0x13, 0x4e, 0x83, 0x5e, 0x75, 0x1e, 0x4a, 0x45, 0x59, 0xdc, 0x10, 0x11, 0x4c, 0x20, 0x6c, 0xfc, 
+    0x77, 0x66, 0x21, 0x3f, 0x20, 0x82, 0x2a, 0xca, 0x77, 0x56, 0x62, 0x37, 0x44, 0x56, 0x31, 0x31, 
+    0x0f, 0xc5, 0x34, 0x10, 0x0f, 0x4c, 0x83, 0xeb, 0x45, 0xa4, 0x48, 0x9c, 0x67, 0x2a, 0x4a, 0x21, 
+    0x44, 0x36, 0x29, 0xa2, 0x28, 0x6d, 0x28, 0x48, 0x90, 0x2a, 0x36, 0x21, 0xec, 0x22, 0x10, 0x0f, 
+    0x55, 0x32, 0xe3, 0x25, 0x32, 0x20, 0x39, 0x74, 0x47, 0x5d, 0x10, 0x12, 0x4c, 0x1b, 0x72, 0x72, 
+    0x72, 0x68, 0x90, 0x34, 0x45, 0x2d, 0x34, 0x21, 0x51, 0xc2, 0x10, 0x10, 0xc4, 0x28, 0x48, 0xca, 
+    0x4a, 0x6a, 0x2c, 0x23, 0x31, 0x31, 0xeb, 0x2d, 0x77, 0x34, 0x82, 0x34, 0x39, 0x77, 0x39, 0xb4, 
+    0x50, 0x90, 0x8d, 0x1a, 0x27, 0x8d, 0xf2, 0x1d, 0x71, 0x4a, 0xa2, 0x54, 0xc0, 0x10, 0x18, 0x43, 
+    0x39, 0x44, 0xe5, 0x77, 0x3c, 0x93, 0x34, 0xb4, 0xc4, 0xa2, 0x34, 0x34, 0xc4, 0xa2, 0x34, 0x34, 
+    0xa4, 0x9f, 0x77, 0x77, 0x7b, 0x9c, 0x34, 0x7b, 0x3c, 0xe7, 0x90, 0xc7, 0x79, 0x2f, 0x92, 0x79, 
+    0xf0, 0x77, 0x3c, 0xaa, 0xa5, 0x9d, 0x4a, 0x1a, 0x7b, 0x1f, 0x1a, 0x7b, 0x52, 0xba, 0xc4, 0xba, 
+    0x4a, 0xc0, 0x3d, 0x48, 0x36, 0x3d, 0x48, 0x36, 0x3d, 0x48, 0xeb, 0x44, 0x10, 0x11, 0x4c, 0x25, 
+    0x37, 0x23, 0x65, 0x45, 0x2a, 0x90, 0x38, 0x1a, 0x7c, 0x43, 0xc0, 0x40, 0x4a, 0x93, 0x54, 0x1e, 
+    0x27, 0x38, 0xc7, 0xc7, 0x45, 0x77, 0x45, 0xa4, 0x2e, 0xff, 0x33, 0x48, 0xcb, 0x44, 0x10, 0x0f, 
+    0xc4, 0x28, 0xc7, 0x34, 0x23, 0x65, 0x45, 0x2a, 0x90, 0x3c, 0x2b, 0x1a, 0xc5, 0x45, 0x1d, 0x71, 
+    0x1f, 0xc0, 0x60, 0x67, 0x10, 0x10, 0x50, 0x3b, 0xe3, 0x25, 0x32, 0x20, 0x6e, 0x46, 0x6e, 0x46, 
+    0x6e, 0xfc, 0x27, 0x4b, 0x52, 0x34, 0x4b, 0x10, 0x09, 0x4c, 0x1e, 0x7c, 0x56, 0x69, 0x5d, 0x28, 
+    0xd3, 0x7c, 0x10, 0x08, 0x51, 0x59, 0xe0, 0x74, 0x74, 0x74, 0x1c, 0x74, 0x74, 0x29, 0x38, 0x34, 
+    0x10, 0x09, 0x4c, 0x1e, 0x7c, 0x39, 0x74, 0x5d, 0x67, 0x1e, 0x7c, 0x10, 0x14, 0x50, 0x40, 0x52, 
+    0xc2, 0x27, 0xe1, 0x50, 0x2f, 0x2f, 0x45, 0x34, 0x23, 0x92, 0x2d, 0x92, 0x44, 0x10, 0x0c, 0x4c, 
+    0x5b, 0x35, 0xc2, 0x21, 0x4b, 0x10, 0x0c, 0x5a, 0x92, 0x1c, 0x59, 0xdc, 0x10, 0x0e, 0x5b, 0x3b, 
+    0xc4, 0x3b, 0x1d, 0xc8, 0x77, 0x59, 0x3c, 0x2b, 0x21, 0xc0, 0x22, 0x45, 0x52, 0x2e, 0x37, 0x3d, 
+    0x45, 0x76, 0x10, 0x0f, 0x52, 0x74, 0x84, 0x78, 0x63, 0x10, 0x0d, 0x50, 0x5b, 0x49, 0xa4, 0x39, 
+    0x1c, 0x47, 0x47, 0x59, 0x2f, 0x94, 0x39, 0x22, 0xc4, 0x3b, 0x10, 0x0f, 0x50, 0x74, 0x47, 0x50, 
+    0xe3, 0x90, 0x3b, 0x3a, 0x2f, 0x81, 0x90, 0x5c, 0x76, 0x10, 0x0e, 0x50, 0x5b, 0x49, 0x2a, 0x79, 
+    0x43, 0x31, 0x4b, 0x3b, 0xe3, 0x48, 0xd0, 0x1c, 0x59, 0xe0, 0xc4, 0xc6, 0x3b, 0x1d, 0x32, 0x10, 
+    0x08, 0x4c, 0x81, 0x4a, 0x1e, 0x54, 0x6d, 0x89, 0x5a, 0x82, 0x5d, 0x10, 0x0f, 0x8b, 0x2f, 0x81, 
+    0x92, 0x5c, 0x76, 0x53, 0x40, 0x58, 0x7a, 0x36, 0x10, 0x0f, 0x52, 0x74, 0x84, 0x52, 0x2e, 0x62, 
+    0x62, 0x62, 0x62, 0x10, 0x07, 0x1f, 0x67, 0x4e, 0x74, 0x5d, 0x10, 0x07, 0x1f, 0x67, 0x4e, 0x74, 
+    0x5d, 0x67, 0x36, 0x40, 0x10, 0x0e, 0x1f, 0x60, 0x2a, 0x37, 0x80, 0xcb, 0x54, 0x1e, 0x27, 0x38, 
+    0xaa, 0xc7, 0x82, 0x2f, 0x39, 0x8c, 0x10, 0x06, 0x1f, 0x47, 0x60, 0x5d, 0x10, 0x18, 0x1f, 0x5b, 
+    0x34, 0xc0, 0xa5, 0x93, 0x34, 0x20, 0x20, 0x51, 0xa2, 0xbc, 0xc7, 0x92, 0xbc, 0xc4, 0x92, 0x77, 
+    0x6b, 0x51, 0x79, 0x6b, 0x51, 0x79, 0x6b, 0x51, 0x79, 0x10, 0x0f, 0x8a, 0xd3, 0xbc, 0x45, 0x52, 
+    0x2e, 0x62, 0x62, 0x62, 0x62, 0x10, 0x0e, 0x51, 0x5b, 0x2b, 0x49, 0x2a, 0x57, 0x78, 0x31, 0xcb, 
+    0x77, 0x45, 0x7a, 0x36, 0x10, 0x0f, 0x8a, 0xd3, 0xbc, 0x45, 0x78, 0x63, 0xd0, 0x67, 0xdc, 0x10, 
+    0x0f, 0x8b, 0x2f, 0x81, 0x90, 0x5c, 0x76, 0x6d, 0x47, 0x10, 0x0a, 0x4a, 0x5b, 0x77, 0xa2, 0x39, 
+    0x22, 0x50, 0xc0, 0x85, 0x47, 0x60, 0x10, 0x0c, 0x5a, 0x5b, 0x2b, 0x49, 0xa4, 0x39, 0x29, 0x90, 
+    0x5f, 0x0f, 0x6d, 0x43, 0xc8, 0x2a, 0xc2, 0x3a, 0xa4, 0x22, 0x10, 0x09, 0x42, 0x39, 0x74, 0x89, 
+    0x54, 0x6d, 0x60, 0x28, 0x1e, 0x7c, 0x10, 0x0f, 0x30, 0x5b, 0x62, 0x62, 0x62, 0x62, 0x79, 0x4a, 
+    0x34, 0x3d, 0x45, 0x76, 0x10, 0x0f, 0x5b, 0x26, 0x62, 0xea, 0x2d, 0x34, 0x34, 0x39, 0x34, 0x50, 
+    0x90, 0x92, 0x82, 0x8d, 0x87, 0x7c, 0x45, 0x10, 0x14, 0x52, 0x5b, 0x34, 0x34, 0xc7, 0x3c, 0xc7, 
+    0xc0, 0x34, 0x6f, 0x6f, 0x4a, 0xa7, 0x9d, 0x3c, 0x2f, 0xaa, 0xbd, 0x4a, 0x90, 0x1a, 0x3c, 0x7b, 
+    0xd7, 0x48, 0xdf, 0x77, 0x41, 0x53, 0x81, 0xa2, 0x81, 0xa2, 0x81, 0xf2, 0x3d, 0x10, 0x0f, 0x30, 
+    0x5b, 0x25, 0x25, 0x3d, 0x2d, 0x5a, 0x2f, 0x2f, 0x39, 0x9c, 0x54, 0x9f, 0x7c, 0x45, 0x29, 0xe3, 
+    0x54, 0xb2, 0xc7, 0x82, 0x90, 0x82, 0x77, 0x45, 0x2d, 0xbc, 0x44, 0x10, 0x0f, 0x5b, 0x26, 0x62, 
+    0xf2, 0x2d, 0x34, 0x34, 0x39, 0x2a, 0x9c, 0x8d, 0x87, 0x7c, 0x45, 0x4a, 0x45, 0x47, 0x46, 0x7c, 
+    0x30, 0xc0, 0x10, 0x0d, 0x1f, 0x5b, 0x32, 0x7f, 0x46, 0x40, 0x44, 0x40, 0x44, 0x40, 0x44, 0x85, 
+    0x4a, 0x3b, 0x7f, 0x10, 0x0f, 0x51, 0x4e, 0xa2, 0x7c, 0x56, 0x69, 0x40, 0xc4, 0x1e, 0x7c, 0xfc, 
+    0x45, 0x55, 0x69, 0x28, 0xd3, 0x54, 0xc0, 0x10, 0x08, 0x4a, 0x5d, 0x5d, 0x67, 0xdc, 0x10, 0x0f, 
+    0x4e, 0x93, 0x7c, 0x39, 0x74, 0x67, 0xbc, 0x55, 0x1e, 0x7c, 0x30, 0xd2, 0x29, 0x69, 0x7c, 0x30, 
+    0xc0, 0x10, 0x14, 0xc4, 0x4e, 0x19, 0x5b, 0x7c, 0x48, 0x20, 0x5a, 0x2c, 0xc5, 0x20, 0x4d, 0xc2, 
+    0x10, 
+};
+
+static const uint16_t mf_rlefont_DejaVuSans24_glyph_offsets_0[95] = {
+    0x0000, 0x0003, 0x000c, 0x0016, 0x0043, 0x006c, 0x00a8, 0x00cf, 
+    0x00d3, 0x00e0, 0x00ec, 0x0101, 0x010f, 0x0114, 0x011d, 0x0121, 
+    0x0130, 0x014a, 0x0157, 0x016d, 0x0186, 0x01a5, 0x01bb, 0x01dd, 
+    0x01eb, 0x0200, 0x0223, 0x022b, 0x0234, 0x0248, 0x0257, 0x026b, 
+    0x027e, 0x02bf, 0x02df, 0x02f0, 0x0307, 0x0326, 0x0336, 0x0343, 
+    0x0361, 0x036f, 0x0375, 0x037e, 0x039c, 0x03a4, 0x03d6, 0x040b, 
+    0x0412, 0x0420, 0x042b, 0x0444, 0x045f, 0x046b, 0x047b, 0x049e, 
+    0x04dd, 0x04ff, 0x0515, 0x0528, 0x0533, 0x0541, 0x054c, 0x055e, 
+    0x0566, 0x056d, 0x0583, 0x058a, 0x059b, 0x05aa, 0x05c0, 0x05cc, 
+    0x05d9, 0x05e4, 0x05eb, 0x05f5, 0x0607, 0x060d, 0x062a, 0x0636, 
+    0x0645, 0x0650, 0x065a, 0x0667, 0x067b, 0x0687, 0x0695, 0x06a8, 
+    0x06ce, 0x06ec, 0x0703, 0x0714, 0x0728, 0x072f, 0x0742, 
+};
+
+static const struct mf_rlefont_char_range_s mf_rlefont_DejaVuSans24_char_ranges[] = {
+    {32, 95, mf_rlefont_DejaVuSans24_glyph_offsets_0, mf_rlefont_DejaVuSans24_glyph_data_0},
+};
+
+const struct mf_rlefont_s mf_rlefont_DejaVuSans24 = {
+    {
+    "DejaVu Sans Book 24",
+    "DejaVuSans24",
+    25, /* width */
+    25, /* height */
+    6, /* min x advance */
+    24, /* max x advance */
+    2, /* baseline x */
+    19, /* baseline y */
+    28, /* line height */
+    2, /* flags */
+    63, /* fallback character */
+    &mf_rlefont_character_width,
+    &mf_rlefont_render_character,
+    },
+    4, /* version */
+    mf_rlefont_DejaVuSans24_dictionary_data,
+    mf_rlefont_DejaVuSans24_dictionary_offsets,
+    68, /* rle dict count */
+    118, /* total dict count */
+    1, /* char range count */
+    mf_rlefont_DejaVuSans24_char_ranges,
+};
+
+#ifdef MF_INCLUDED_FONTS
+/* List entry for searching fonts by name. */
+static const struct mf_font_list_s mf_rlefont_DejaVuSans24_listentry = {
+    MF_INCLUDED_FONTS,
+    (struct mf_font_s*)&mf_rlefont_DejaVuSans24
+};
+#undef MF_INCLUDED_FONTS
+#define MF_INCLUDED_FONTS (&mf_rlefont_DejaVuSans24_listentry)
+#endif
+
+
+/* End of automatically generated font definition for DejaVuSans24. */
+
diff --git a/src/gdisp/fonts/DejaVuSans24_aa.c b/src/gdisp/fonts/DejaVuSans24_aa.c
new file mode 100644
index 00000000..9afd72c9
--- /dev/null
+++ b/src/gdisp/fonts/DejaVuSans24_aa.c
@@ -0,0 +1,439 @@
+
+
+/* Start of automatically generated font definition for DejaVuSans24_aa. */
+
+#ifndef MF_RLEFONT_INTERNALS
+#define MF_RLEFONT_INTERNALS
+#endif
+#include "mf_rlefont.h"
+
+#ifndef MF_RLEFONT_VERSION_4_SUPPORTED
+#error The font file is not compatible with this version of mcufont.
+#endif
+
+static const uint8_t mf_rlefont_DejaVuSans24_aa_dictionary_data[596] = {
+    0x20, 0x0f, 0x04, 0x81, 0x05, 0x1e, 0x11, 0x0c, 0x81, 0x01, 0x81, 0x0e, 0x81, 0x07, 0x81, 0x0e, 
+    0x10, 0xc8, 0x80, 0xce, 0xc5, 0xd1, 0x04, 0x0b, 0x84, 0x09, 0x17, 0x81, 0x17, 0x81, 0x06, 0x88, 
+    0x0e, 0x15, 0x12, 0x0a, 0x17, 0x81, 0x02, 0x09, 0x81, 0xce, 0x85, 0x0c, 0x83, 0x85, 0x06, 0xc2, 
+    0xc7, 0x03, 0x81, 0x01, 0xc2, 0xcb, 0x80, 0xc8, 0x02, 0x09, 0x81, 0x0c, 0x81, 0x09, 0x81, 0x80, 
+    0xcc, 0x03, 0x80, 0xca, 0x14, 0x0d, 0x80, 0x18, 0x05, 0x81, 0x07, 0x81, 0x86, 0x0d, 0x81, 0x01, 
+    0xcd, 0x80, 0x45, 0x07, 0xc1, 0x01, 0xce, 0xc8, 0x80, 0xc6, 0xc1, 0x80, 0xce, 0xc9, 0x80, 0x80, 
+    0xc2, 0x80, 0xcd, 0x1f, 0x1d, 0x81, 0xc3, 0xc1, 0xc6, 0xc1, 0xc1, 0xce, 0x02, 0x81, 0x89, 0xc8, 
+    0x80, 0x80, 0xc7, 0xc5, 0x02, 0xc5, 0x80, 0xc4, 0xc1, 0x06, 0xc1, 0x81, 0xc4, 0x01, 0xce, 0x80, 
+    0x80, 0xc5, 0x01, 0x80, 0xc8, 0x8c, 0x80, 0xce, 0x1b, 0xcd, 0xca, 0xc9, 0xc4, 0xc1, 0xc4, 0xcb, 
+    0xc5, 0x08, 0xc1, 0xcd, 0x0d, 0x81, 0x08, 0x81, 0x0d, 0xce, 0x80, 0xc3, 0xce, 0xcc, 0xc8, 0xcd, 
+    0xc8, 0xc4, 0xc1, 0x0e, 0x81, 0xc9, 0x41, 0x17, 0xcc, 0x80, 0xc2, 0xc9, 0x01, 0x81, 0xcc, 0xc1, 
+    0xc7, 0x80, 0xcd, 0xc9, 0xc2, 0xcd, 0x16, 0xcc, 0xc7, 0xc1, 0xcc, 0x80, 0x01, 0xc4, 0xc5, 0x81, 
+    0xc2, 0x01, 0xcd, 0xc1, 0x82, 0xc2, 0xc1, 0xcc, 0x81, 0x80, 0xcb, 0x17, 0x13, 0xc1, 0xc3, 0x32, 
+    0xcd, 0xc2, 0xc2, 0xce, 0x80, 0xc6, 0xcc, 0x80, 0xc9, 0x81, 0x0e, 0x81, 0xc4, 0x81, 0xc1, 0x81, 
+    0xde, 0xc3, 0x81, 0xc1, 0xc5, 0xc9, 0xc2, 0xc2, 0xc8, 0xcd, 0xc1, 0xc7, 0xc4, 0xc9, 0x6b, 0x34, 
+    0x27, 0x1f, 0x86, 0x27, 0x1f, 0x86, 0x27, 0x1f, 0x86, 0x27, 0x1f, 0x58, 0x01, 0x22, 0x35, 0x86, 
+    0x69, 0x6c, 0x05, 0x1b, 0x0a, 0x86, 0x69, 0x21, 0x04, 0x0b, 0x7a, 0x69, 0x63, 0x24, 0x73, 0x47, 
+    0x73, 0x0f, 0xdd, 0x19, 0xd4, 0xdd, 0x7f, 0x4a, 0x73, 0x63, 0x39, 0x68, 0x60, 0x0c, 0x7a, 0x3d, 
+    0x70, 0x6f, 0x22, 0x63, 0x86, 0x3d, 0x36, 0x05, 0x27, 0x77, 0x3d, 0x58, 0x56, 0x64, 0x0f, 0x56, 
+    0x3d, 0x36, 0x05, 0x27, 0x77, 0x3d, 0x07, 0x39, 0x1b, 0x01, 0x7c, 0x3d, 0x63, 0x39, 0x68, 0x60, 
+    0x0c, 0x7a, 0x86, 0x05, 0x27, 0x05, 0x7d, 0x25, 0xd4, 0x39, 0x1b, 0x75, 0x07, 0x00, 0x1e, 0x39, 
+    0x68, 0x60, 0x6c, 0x79, 0x25, 0xd4, 0x5a, 0x24, 0x5c, 0x0f, 0x6f, 0x3c, 0x07, 0x5c, 0x02, 0x3c, 
+    0x88, 0x04, 0x3c, 0x83, 0x07, 0x1d, 0x4c, 0x26, 0x3b, 0x73, 0x09, 0x46, 0x73, 0x0d, 0x49, 0x0e, 
+    0x61, 0x6e, 0x69, 0x03, 0x2f, 0x08, 0x86, 0x44, 0x87, 0x08, 0xc3, 0x79, 0x87, 0x7d, 0x68, 0x8c, 
+    0x0e, 0x5a, 0x87, 0x0a, 0x1b, 0x06, 0x39, 0x69, 0x87, 0x27, 0x47, 0x87, 0x27, 0x7d, 0x73, 0x0f, 
+    0x51, 0x2c, 0x26, 0x05, 0x2b, 0x05, 0x7d, 0x25, 0x0d, 0x49, 0x87, 0x27, 0x07, 0x39, 0x87, 0x27, 
+    0x44, 0x87, 0x08, 0x24, 0x5c, 0x03, 0x87, 0x39, 0x68, 0x60, 0x0c, 0x4a, 0x44, 0x1e, 0x6f, 0x22, 
+    0x63, 0x53, 0x00, 0x1e, 0x05, 0x27, 0x05, 0x7d, 0x00, 0x1e, 0x01, 0x27, 0x47, 0x41, 0x1b, 0xd0, 
+    0x1e, 0x44, 0x1b, 0x47, 0x86, 0x26, 0x26, 0x26, 0x01, 0x09, 0x42, 0x69, 0x03, 0x2f, 0x08, 0x86, 
+    0x19, 0x6d, 0x0d, 0x5c, 0x08, 0x01, 0x29, 0x58, 0x01, 0x62, 0x87, 0x73, 0x36, 0x06, 0x39, 0x0a, 
+    0x86, 0x5c, 0x5f, 0x7f, 0x01, 0x84, 0x7a, 0x67, 0x02, 0x7f, 0x8e, 0x86, 0x39, 0x4e, 0x7f, 0x90, 
+    0x0e, 0x7a, 0x70, 0x79, 0x07, 0x3b, 0x2b, 0x0a, 0x0b, 0x58, 0x71, 0x2c, 0x26, 0x26, 0x26, 0x2d, 
+    0x06, 0x3a, 0xd4, 0xc5, 0xca, 0x3f, 0x3f, 0x45, 0x4d, 0x80, 0x08, 0x0e, 0x39, 0x30, 0x48, 0x0e, 
+    0x74, 0x19, 0x03, 0x86, 0x39, 0x4e, 0x3d, 0x01, 0x84, 0x7a, 0x67, 0x78, 0x26, 0x26, 0x18, 0x90, 
+    0x0d, 0x8a, 0x0d, 0x5f, 0x19, 0x01, 0x0a, 0x40, 0x3b, 0x62, 0x35, 0x0f, 0x65, 0x62, 0x8b, 0x02, 
+    0x2b, 0x02, 0x1b, 0x47, 0x87, 0x27, 0x1f, 0x86, 0x27, 0x1f, 0x86, 0x27, 0x1f, 0x86, 0x27, 0x29, 
+    0x42, 0x00, 0x27, 0x0e, 0x49, 0x09, 0x73, 0x0c, 0x58, 0x5c, 0x01, 0x2d, 0x2e, 0x1e, 0x38, 0x1e, 
+    0x38, 0x30, 0x0d, 0x65, 
+};
+
+static const uint16_t mf_rlefont_DejaVuSans24_aa_dictionary_offsets[170] = {
+    0x0000, 0x0001, 0x0002, 0x0004, 0x0005, 0x0006, 0x0007, 0x0009, 
+    0x0010, 0x0011, 0x0016, 0x0017, 0x0018, 0x0019, 0x001a, 0x001e, 
+    0x001f, 0x0021, 0x0022, 0x0023, 0x0024, 0x0026, 0x0027, 0x0029, 
+    0x002b, 0x002c, 0x002d, 0x002f, 0x0031, 0x0033, 0x0035, 0x0037, 
+    0x0039, 0x003f, 0x0041, 0x0042, 0x0044, 0x0045, 0x0046, 0x0048, 
+    0x004c, 0x004d, 0x0050, 0x0052, 0x0054, 0x0056, 0x0058, 0x005a, 
+    0x005d, 0x005f, 0x0061, 0x0063, 0x0064, 0x0066, 0x0068, 0x006a, 
+    0x006c, 0x006e, 0x006f, 0x0071, 0x0073, 0x0076, 0x0078, 0x007c, 
+    0x007e, 0x0080, 0x0083, 0x0085, 0x0086, 0x0088, 0x0089, 0x008b, 
+    0x008d, 0x008f, 0x0091, 0x0092, 0x0094, 0x009a, 0x009c, 0x009f, 
+    0x00a1, 0x00a3, 0x00a4, 0x00a6, 0x00a8, 0x00aa, 0x00ac, 0x00ae, 
+    0x00b0, 0x00b2, 0x00b4, 0x00b6, 0x00b7, 0x00b9, 0x00bc, 0x00be, 
+    0x00c0, 0x00c2, 0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00cb, 0x00cc, 
+    0x00cd, 0x00cf, 0x00d0, 0x00d2, 0x00d5, 0x00d7, 0x00d9, 0x00da, 
+    0x00dc, 0x00de, 0x00e0, 0x00e1, 0x00e3, 0x00e5, 0x00e7, 0x00ea, 
+    0x00ec, 0x00ee, 0x010e, 0x0111, 0x0117, 0x0119, 0x0142, 0x0159, 
+    0x0166, 0x0168, 0x016f, 0x0177, 0x0188, 0x018d, 0x018f, 0x0191, 
+    0x0193, 0x019a, 0x01a0, 0x01c2, 0x01c4, 0x01c8, 0x01cb, 0x01d4, 
+    0x01db, 0x01dd, 0x01df, 0x01f2, 0x01f4, 0x01f8, 0x01fb, 0x01ff, 
+    0x0201, 0x0207, 0x020f, 0x0211, 0x0213, 0x021c, 0x021e, 0x0229, 
+    0x0231, 0x023f, 0x0241, 0x0243, 0x0245, 0x0247, 0x0249, 0x024c, 
+    0x0252, 0x0254, 
+};
+
+static const uint8_t mf_rlefont_DejaVuSans24_aa_glyph_data_0[4800] = {
+    0x08, 0x00, 0x10, 0x0a, 0x2d, 0x4c, 0xae, 0x7e, 0x5c, 0x7e, 0x8a, 0x7e, 0x0d, 0x0d, 0x7e, 0x0c, 
+    0x0c, 0x7f, 0x81, 0x98, 0x10, 0x0b, 0x4c, 0x50, 0x7f, 0x93, 0x93, 0x93, 0x10, 0x14, 0x3a, 0x18, 
+    0x52, 0x54, 0x53, 0x1d, 0x36, 0x01, 0x2d, 0x09, 0x55, 0x1d, 0x4a, 0x3a, 0x6c, 0x44, 0xb3, 0x85, 
+    0x2d, 0x01, 0x39, 0x1d, 0x07, 0x46, 0x00, 0x76, 0x5a, 0x3d, 0x36, 0x5b, 0x2b, 0x36, 0x5b, 0x30, 
+    0x35, 0x7d, 0x3a, 0x0e, 0x0d, 0x19, 0xaf, 0x53, 0x2d, 0x03, 0x3b, 0x1d, 0x09, 0x65, 0xaf, 0x46, 
+    0x1d, 0x0d, 0xe5, 0x0a, 0x65, 0x3d, 0x5b, 0x3b, 0x2b, 0x5b, 0x3b, 0x3d, 0x52, 0x54, 0x53, 0x1d, 
+    0x36, 0x01, 0x2d, 0x09, 0x55, 0x1d, 0x4a, 0x3a, 0x6c, 0x01, 0x19, 0x76, 0x85, 0x2d, 0x01, 0x39, 
+    0x1d, 0x07, 0x46, 0x00, 0x76, 0x5a, 0x10, 0x0f, 0x2d, 0x18, 0x3e, 0x3e, 0x0f, 0x3c, 0x8f, 0xbd, 
+    0x66, 0x03, 0x19, 0x01, 0x42, 0x40, 0x19, 0x09, 0x4a, 0x05, 0x01, 0x0f, 0x80, 0x07, 0x0c, 0x19, 
+    0x0e, 0x65, 0xf8, 0x1b, 0x87, 0x01, 0xf8, 0x7f, 0x0c, 0x85, 0x01, 0xfe, 0x7f, 0x88, 0x0e, 0x36, 
+    0x05, 0x01, 0x3a, 0xb3, 0x0b, 0x31, 0x7d, 0x03, 0x2a, 0x8c, 0x7d, 0x58, 0x55, 0x20, 0xcc, 0x01, 
+    0x0a, 0x39, 0x1d, 0xc8, 0x89, 0x1d, 0xc8, 0x03, 0x5c, 0x69, 0x67, 0x03, 0x44, 0x49, 0x06, 0x0d, 
+    0x85, 0x30, 0xe0, 0x5c, 0x31, 0x79, 0x69, 0x33, 0x0b, 0x0d, 0x0e, 0x5c, 0x0b, 0x4e, 0x3c, 0x3e, 
+    0x3e, 0x3e, 0x0f, 0x10, 0x17, 0x00, 0x5d, 0x35, 0x0a, 0x8a, 0x0a, 0x02, 0x1b, 0x76, 0x5c, 0x02, 
+    0x62, 0x4f, 0x82, 0x72, 0x0e, 0x01, 0x1b, 0x0c, 0x53, 0x25, 0x08, 0x46, 0xaf, 0x0f, 0x37, 0xaf, 
+    0x4a, 0x2b, 0x42, 0x78, 0x35, 0x4a, 0x3a, 0x4f, 0x59, 0x2e, 0x01, 0x2d, 0x01, 0xc7, 0x08, 0x7d, 
+    0x2d, 0x2e, 0x01, 0x2d, 0x01, 0xf7, 0x35, 0x0f, 0x65, 0x23, 0x42, 0x78, 0x35, 0x4a, 0x2d, 0x0b, 
+    0x85, 0x30, 0x09, 0x46, 0xaf, 0x5a, 0x76, 0xbe, 0x2b, 0x4f, 0x82, 0x72, 0x0e, 0x44, 0x0d, 0x53, 
+    0x35, 0x0a, 0x8a, 0x0a, 0x02, 0x27, 0x35, 0x0b, 0x8a, 0x0a, 0x78, 0x07, 0x4a, 0x00, 0x4f, 0x82, 
+    0x72, 0x0e, 0x01, 0x30, 0x01, 0x58, 0x57, 0x08, 0x46, 0xaf, 0x5a, 0x30, 0x09, 0x7d, 0x2d, 0x42, 
+    0x78, 0x35, 0x4a, 0x23, 0x8b, 0x02, 0x50, 0x01, 0x2d, 0x89, 0x23, 0x0b, 0x85, 0x34, 0x01, 0x2d, 
+    0x89, 0x2b, 0x05, 0xbe, 0x00, 0x42, 0x78, 0x35, 0x4a, 0x2b, 0x0d, 0x46, 0x22, 0x08, 0x46, 0xaf, 
+    0x5a, 0x25, 0x07, 0x39, 0x1b, 0x4f, 0x82, 0x72, 0x0e, 0x01, 0x62, 0x83, 0x04, 0x1b, 0x35, 0x0a, 
+    0x8a, 0x0a, 0x02, 0x10, 0x13, 0x4b, 0x8f, 0x7c, 0x71, 0x03, 0x20, 0x75, 0xc3, 0x20, 0x21, 0x03, 
+    0x07, 0x0c, 0x20, 0x0d, 0x55, 0x62, 0x87, 0x44, 0xb9, 0x04, 0x73, 0xab, 0x29, 0x89, 0x6f, 0x22, 
+    0xb3, 0x0d, 0x7a, 0x6f, 0x1d, 0x63, 0x39, 0x04, 0x42, 0x82, 0x2d, 0x35, 0x5c, 0x2b, 0x52, 0x79, 
+    0x35, 0x42, 0x82, 0xaf, 0x7d, 0x2b, 0x42, 0x05, 0x3a, 0x83, 0x0e, 0x03, 0x00, 0x0c, 0x46, 0x00, 
+    0x2e, 0x01, 0x22, 0x83, 0x45, 0xbe, 0x62, 0x0e, 0x65, 0x1b, 0x03, 0x0e, 0x86, 0x46, 0x23, 0x48, 
+    0x6f, 0x1b, 0x52, 0xbe, 0x25, 0x83, 0x0d, 0x06, 0x78, 0x03, 0x09, 0x7a, 0x7d, 0x30, 0x03, 0x0d, 
+    0xc3, 0x53, 0x88, 0x0a, 0x30, 0x8f, 0xbd, 0x71, 0x03, 0x2d, 0x88, 0x08, 0x10, 0x07, 0x27, 0xae, 
+    0x10, 0x09, 0x1c, 0x35, 0x9d, 0x09, 0x55, 0x3c, 0x35, 0x9d, 0x52, 0x05, 0x73, 0x0d, 0x0e, 0x01, 
+    0x3c, 0x76, 0x3b, 0x73, 0x07, 0x53, 0xa8, 0x57, 0xb9, 0x02, 0x73, 0x58, 0x01, 0x62, 0x87, 0x7e, 
+    0x58, 0x44, 0xb9, 0x02, 0xa8, 0x04, 0x73, 0x07, 0x53, 0x29, 0x76, 0x3b, 0x7e, 0x0d, 0x0e, 0x01, 
+    0x73, 0x52, 0x05, 0x29, 0x35, 0x7d, 0x7e, 0x09, 0x55, 0x29, 0x35, 0x7d, 0x10, 0x09, 0xba, 0xa8, 
+    0x02, 0x29, 0x76, 0x85, 0x7e, 0x0b, 0x49, 0x3c, 0xaf, 0x5a, 0x73, 0x4f, 0x0d, 0x7e, 0x0a, 0x65, 
+    0x73, 0x07, 0x53, 0x29, 0x76, 0x9d, 0x02, 0x94, 0x47, 0x2c, 0x92, 0x02, 0x94, 0x04, 0x9d, 0x07, 
+    0x53, 0xa8, 0x04, 0x29, 0x4f, 0x0d, 0x3c, 0xaf, 0x5a, 0xa8, 0x02, 0x3c, 0x76, 0x85, 0xa8, 0x02, 
+    0x10, 0x0c, 0x18, 0x3e, 0x0f, 0x7f, 0x09, 0x8d, 0xc8, 0x6d, 0x09, 0x69, 0x03, 0x0a, 0x3b, 0x03, 
+    0x65, 0x0a, 0x3b, 0x03, 0x19, 0x35, 0x08, 0x58, 0x45, 0x02, 0x1d, 0x35, 0x08, 0x58, 0x45, 0x78, 
+    0xb3, 0x0a, 0x3b, 0x03, 0x65, 0x0a, 0x3b, 0x03, 0x69, 0x09, 0x8d, 0xc8, 0x6d, 0x09, 0x7f, 0x3e, 
+    0x0f, 0x10, 0x14, 0x69, 0x81, 0xae, 0x69, 0xe0, 0x5b, 0xba, 0xe0, 0x5b, 0x20, 0xa4, 0x10, 0x08, 
+    0x43, 0x87, 0x2c, 0x29, 0x35, 0x94, 0x05, 0x99, 0x10, 0x09, 0x5d, 0x81, 0x81, 0x6b, 0xc3, 0x7f, 
+    0xc3, 0x10, 0x08, 0x43, 0x87, 0x26, 0x10, 0x08, 0x1d, 0xb3, 0x94, 0x08, 0x5a, 0x73, 0x0c, 0x55, 
+    0x3c, 0x35, 0x5c, 0x3c, 0xaf, 0x3b, 0xa8, 0x06, 0x29, 0x01, 0x58, 0x01, 0x29, 0x05, 0x39, 0x73, 
+    0x09, 0x53, 0x73, 0xc0, 0x27, 0xb3, 0x94, 0x70, 0xbc, 0x0c, 0x55, 0x20, 0xa3, 0x01, 0x7f, 0xaf, 
+    0x9d, 0x0a, 0x46, 0x73, 0xbb, 0x3c, 0x76, 0x39, 0x73, 0x08, 0x5a, 0x73, 0xc0, 0x10, 0x0f, 0x18, 
+    0x84, 0x8a, 0x0c, 0x06, 0x2a, 0x0b, 0x24, 0x7d, 0x20, 0x21, 0x05, 0x0e, 0x5a, 0x3d, 0x35, 0x0f, 
+    0x65, 0x22, 0x8b, 0x01, 0x23, 0xaf, 0x3b, 0x27, 0x0a, 0x46, 0x3d, 0x0a, 0x59, 0x1b, 0x05, 0x3b, 
+    0x3d, 0xc0, 0x27, 0x03, 0x39, 0x3d, 0x58, 0x44, 0xa3, 0x41, 0x3a, 0x1a, 0x64, 0x0f, 0x44, 0xa3, 
+    0x3d, 0xc0, 0x27, 0x03, 0x39, 0x3d, 0x0a, 0x59, 0x1b, 0x05, 0x3b, 0x23, 0xaf, 0x3b, 0x27, 0x0a, 
+    0x46, 0x30, 0x35, 0x0f, 0x65, 0x22, 0x8b, 0x01, 0x69, 0x21, 0x05, 0x0e, 0x5a, 0x20, 0x0b, 0x24, 
+    0x7d, 0x2a, 0x84, 0x8a, 0x0c, 0x06, 0x10, 0x0f, 0x1c, 0x02, 0x06, 0x0a, 0x0e, 0x86, 0x7f, 0xc3, 
+    0x7f, 0x71, 0x06, 0x02, 0xa4, 0xae, 0x7f, 0x51, 0x19, 0x51, 0x10, 0x0f, 0x2d, 0x5d, 0x33, 0x0b, 
+    0x0d, 0x5c, 0x71, 0x03, 0x30, 0xd4, 0x40, 0x53, 0x19, 0x67, 0x05, 0x7b, 0x80, 0x48, 0x55, 0x73, 
+    0x08, 0x9d, 0x47, 0x92, 0x04, 0x39, 0x73, 0x0c, 0x53, 0x29, 0x48, 0x79, 0x3c, 0x07, 0x5c, 0x03, 
+    0x3c, 0x70, 0x55, 0x3c, 0x70, 0x55, 0x3c, 0x70, 0x59, 0x7f, 0x70, 0x59, 0x7f, 0x70, 0x59, 0x7f, 
+    0x70, 0x59, 0x3c, 0x9e, 0x01, 0x3d, 0x9e, 0x01, 0x10, 0x0f, 0x19, 0xb3, 0x08, 0x0b, 0x0e, 0x5c, 
+    0x61, 0x1d, 0x40, 0x3b, 0x20, 0x74, 0x4d, 0x80, 0x52, 0x46, 0x73, 0x07, 0x39, 0x29, 0x35, 0x86, 
+    0x92, 0x06, 0x3b, 0x3c, 0x33, 0x5c, 0x03, 0x20, 0xe2, 0x7d, 0x03, 0x1d, 0xe2, 0x5c, 0x09, 0x01, 
+    0x3c, 0x60, 0x0a, 0x5c, 0x02, 0x73, 0x08, 0x9d, 0x47, 0x92, 0x08, 0x7d, 0x3d, 0x74, 0x4d, 0x2d, 
+    0x60, 0x0a, 0x86, 0x57, 0x1e, 0xc3, 0x5c, 0x05, 0x69, 0x03, 0x07, 0x0b, 0x58, 0x5c, 0x0b, 0x07, 
+    0x01, 0x10, 0x0f, 0x7f, 0xb3, 0x7a, 0x29, 0xbd, 0x0f, 0x3c, 0x07, 0x53, 0x86, 0x7f, 0x4f, 0x0d, 
+    0x6e, 0x7f, 0x0a, 0x55, 0x6e, 0x1d, 0x76, 0x7d, 0x50, 0x2a, 0x0d, 0x49, 0x50, 0x1d, 0x07, 0x5a, 
+    0x34, 0x19, 0x35, 0x0f, 0x79, 0x34, 0x20, 0x36, 0x05, 0x1a, 0x19, 0x05, 0x7d, 0x00, 0x1a, 0x19, 
+    0xc0, 0x00, 0x1a, 0x19, 0x5b, 0x30, 0x40, 0x32, 0x87, 0x9f, 0x10, 0x0f, 0x1c, 0x28, 0x2d, 0x28, 
+    0x50, 0xb5, 0x0c, 0x8a, 0x67, 0x02, 0x1d, 0xc3, 0x5c, 0x04, 0x20, 0x0b, 0x06, 0x78, 0x8c, 0x0c, 
+    0x5c, 0x02, 0x73, 0x0c, 0x5a, 0x29, 0x76, 0x94, 0x47, 0x92, 0x04, 0x4a, 0x29, 0x75, 0x08, 0x69, 
+    0x74, 0x03, 0x44, 0x8c, 0x0c, 0xbe, 0x30, 0x40, 0x5c, 0x03, 0xb3, 0x08, 0xbd, 0xb2, 0x01, 0x10, 
+    0x0f, 0x00, 0x18, 0x07, 0xbd, 0x71, 0x03, 0x20, 0x72, 0x40, 0x19, 0x83, 0x0b, 0x68, 0x35, 0x84, 
+    0x19, 0x0b, 0x85, 0x27, 0xb3, 0x94, 0x08, 0x53, 0xa8, 0x03, 0x03, 0x0a, 0x0e, 0x4a, 0x8d, 0x19, 
+    0x0e, 0x53, 0x24, 0x5c, 0x04, 0x87, 0x6a, 0x78, 0x6d, 0x5c, 0x78, 0x1e, 0x7d, 0x1b, 0x0b, 0x85, 
+    0x3d, 0x58, 0x55, 0x22, 0x76, 0x4a, 0x3d, 0x7c, 0x01, 0xa3, 0x3d, 0x0a, 0x86, 0x01, 0xa3, 0x23, 
+    0xaf, 0x0f, 0x55, 0x22, 0x76, 0x4a, 0x3d, 0x4f, 0x7d, 0x1b, 0x0b, 0x5a, 0x69, 0x08, 0x6a, 0x78, 
+    0x6d, 0x5c, 0x02, 0x19, 0x0a, 0x24, 0x5c, 0x04, 0x1d, 0x05, 0xad, 0x02, 0x10, 0x0f, 0x4c, 0x28, 
+    0x51, 0x0c, 0xa8, 0x06, 0x3c, 0x35, 0xbe, 0x7f, 0x52, 0xbc, 0x0e, 0x65, 0x29, 0x05, 0x39, 0x73, 
+    0x0c, 0x46, 0x27, 0xb3, 0xbe, 0x7f, 0x09, 0x85, 0x29, 0x4f, 0x65, 0x29, 0xa9, 0x73, 0x6c, 0x05, 
+    0x27, 0xb3, 0x5c, 0x73, 0x09, 0x5a, 0x29, 0x01, 0xbb, 0x7f, 0xaf, 0x9d, 0x6c, 0x05, 0x10, 0x0f, 
+    0x1c, 0x76, 0x0a, 0x0d, 0x86, 0x5e, 0x04, 0x20, 0x09, 0xc3, 0x6a, 0x30, 0xaf, 0x6a, 0x4d, 0x80, 
+    0x48, 0x46, 0x3d, 0x0c, 0x53, 0x27, 0x07, 0x39, 0x00, 0x1e, 0x56, 0x3d, 0x58, 0x01, 0x27, 0x01, 
+    0x4a, 0x3d, 0x0a, 0x46, 0x27, 0x07, 0x3b, 0x3d, 0x83, 0x09, 0x4d, 0x80, 0x09, 0x5c, 0x02, 0x3d, 
+    0x35, 0x0a, 0x24, 0x3b, 0x02, 0x69, 0x76, 0x0c, 0x24, 0x39, 0x04, 0x69, 0x03, 0x6a, 0x4d, 0x80, 
+    0x48, 0x65, 0x3d, 0x0b, 0x53, 0x27, 0x07, 0x7d, 0x3d, 0x58, 0x44, 0xa3, 0x3d, 0x58, 0x44, 0xa3, 
+    0x3d, 0x0c, 0x53, 0x27, 0x07, 0x39, 0x23, 0xaf, 0x6a, 0x4d, 0x80, 0x48, 0x46, 0x69, 0x09, 0xc3, 
+    0x6a, 0x19, 0x76, 0x0a, 0x0d, 0x86, 0x5e, 0x04, 0x10, 0x0f, 0x4b, 0x6d, 0x0d, 0x5c, 0x61, 0x20, 
+    0x76, 0x2f, 0x0a, 0x19, 0x83, 0x8d, 0x35, 0x48, 0x53, 0x69, 0x08, 0x7d, 0x1b, 0x0b, 0xbe, 0x23, 
+    0x0d, 0x55, 0x1b, 0x88, 0x06, 0x3d, 0x58, 0x01, 0x1b, 0x89, 0x0a, 0x00, 0x1e, 0x01, 0x1b, 0x89, 
+    0x0c, 0x3d, 0xc0, 0x1b, 0x88, 0x0e, 0x3d, 0x09, 0x3b, 0x1b, 0x0b, 0x7a, 0x3d, 0x83, 0x09, 0x78, 
+    0x6d, 0x31, 0x69, 0x05, 0xc3, 0x53, 0x5c, 0x19, 0x6d, 0x0d, 0x5c, 0x0a, 0x03, 0x03, 0x9d, 0x07, 
+    0x5a, 0x73, 0xc0, 0x29, 0x09, 0x7d, 0x19, 0x0c, 0x06, 0x78, 0x60, 0x0b, 0x5c, 0x02, 0x19, 0xc3, 
+    0x4a, 0x78, 0xb3, 0x09, 0x42, 0xb2, 0x01, 0x10, 0x08, 0x6b, 0x98, 0x81, 0x81, 0x81, 0x9f, 0x10, 
+    0x08, 0x6b, 0x98, 0x81, 0x81, 0x81, 0x26, 0x29, 0x35, 0x94, 0x05, 0x99, 0x10, 0x14, 0x2b, 0x18, 
+    0x81, 0x81, 0x8f, 0x0c, 0x7f, 0x8c, 0x0b, 0x7a, 0x1d, 0x90, 0x0e, 0x86, 0x3b, 0x05, 0x69, 0x8e, 
+    0xb4, 0x69, 0x0a, 0x86, 0x5c, 0x5f, 0x22, 0x87, 0x7d, 0x01, 0x3c, 0xaa, 0x0a, 0x05, 0x7f, 0x8c, 
+    0x0b, 0x7a, 0x73, 0x8f, 0x0c, 0x10, 0x14, 0x4b, 0x6b, 0x2c, 0x5b, 0x2b, 0x5b, 0xc7, 0x18, 0x81, 
+    0x9e, 0xd3, 0x2e, 0x5b, 0x10, 0x14, 0x1c, 0x81, 0x81, 0x74, 0x01, 0x3c, 0xe0, 0x61, 0x3c, 0x05, 
+    0xaa, 0x0a, 0x3c, 0x01, 0x0b, 0x7a, 0x2a, 0x90, 0x0e, 0x86, 0x3b, 0x19, 0x8e, 0xb4, 0x3d, 0x05, 
+    0x0a, 0x86, 0x5c, 0x5f, 0x19, 0xe0, 0x61, 0x01, 0x7f, 0x74, 0x01, 0x10, 0x0d, 0x1c, 0x6d, 0x42, 
+    0x71, 0x01, 0x19, 0xaf, 0xc3, 0x82, 0x20, 0x4a, 0x4e, 0x60, 0x0d, 0x3b, 0x20, 0x09, 0x01, 0x3a, 
+    0x76, 0x5c, 0x73, 0x89, 0x73, 0x05, 0x39, 0x27, 0xb3, 0x58, 0x05, 0x1b, 0xb3, 0x0e, 0x3b, 0x3c, 
+    0x83, 0x0a, 0x29, 0x0a, 0x3b, 0x73, 0x58, 0x01, 0x62, 0x87, 0x2c, 0x81, 0x9f, 0x10, 0x18, 0x2b, 
+    0x81, 0x33, 0x0b, 0x0d, 0x58, 0x5e, 0x4e, 0x30, 0x35, 0x48, 0x40, 0x5c, 0x06, 0x2b, 0x76, 0x58, 
+    0x3b, 0x05, 0x78, 0x01, 0x02, 0x06, 0x36, 0x7d, 0x25, 0x88, 0x0b, 0x02, 0xba, 0x76, 0x0d, 0x7d, 
+    0xba, 0x83, 0x08, 0x23, 0x72, 0x5a, 0x27, 0x0a, 0x7d, 0x3a, 0x05, 0x0c, 0x8a, 0x61, 0x6e, 0x35, 
+    0x0f, 0x49, 0x22, 0x03, 0xbe, 0x08, 0x24, 0x53, 0xe7, 0x09, 0x5a, 0x22, 0x52, 0x37, 0x88, 0x8d, 
+    0x80, 0x09, 0xeb, 0x76, 0x39, 0x22, 0x0c, 0x55, 0x2d, 0x0b, 0x85, 0x1b, 0x09, 0xe7, 0x47, 0x22, 
+    0x58, 0x01, 0x2d, 0xbb, 0x22, 0x35, 0x86, 0x34, 0x1a, 0x34, 0x01, 0x1b, 0x01, 0xf7, 0x35, 0x4a, 
+    0x22, 0x58, 0x01, 0x2d, 0xbb, 0x22, 0x35, 0x86, 0xaf, 0x3b, 0x22, 0x0c, 0x55, 0x2d, 0x0b, 0x85, 
+    0x1b, 0x09, 0xf7, 0x75, 0x04, 0x22, 0x08, 0x85, 0x00, 0x76, 0x6a, 0x7b, 0x6d, 0x86, 0x65, 0x0b, 
+    0x3b, 0x1b, 0x03, 0xbe, 0x08, 0x24, 0x53, 0x86, 0x6a, 0x01, 0x27, 0x0b, 0x3b, 0x3a, 0x05, 0x0c, 
+    0x8a, 0x61, 0x00, 0x0e, 0x71, 0x03, 0x62, 0x03, 0x58, 0xbc, 0x77, 0x0b, 0x02, 0xba, 0x76, 0x0c, 
+    0x03, 0x2b, 0x05, 0x58, 0x3b, 0x05, 0x7b, 0x01, 0x02, 0x06, 0x0b, 0x39, 0x02, 0x2b, 0x35, 0x0a, 
+    0x0f, 0x40, 0x5a, 0x01, 0x69, 0x03, 0x07, 0x0b, 0x42, 0xb2, 0x02, 0x10, 0x10, 0x00, 0x18, 0x52, 
+    0x5a, 0xb9, 0x4a, 0x7f, 0x76, 0x4a, 0x0d, 0x55, 0x7f, 0x09, 0x5a, 0x08, 0x3b, 0x2a, 0x01, 0xbb, 
+    0x02, 0xbe, 0x3d, 0xaf, 0x7d, 0x2d, 0x0b, 0x46, 0x1d, 0x0b, 0x46, 0xaf, 0x7d, 0x19, 0x35, 0xbe, 
+    0x01, 0xbb, 0x19, 0x07, 0x3b, 0x22, 0x0a, 0x53, 0x19, 0x0d, 0x55, 0x3a, 0x76, 0x4a, 0x69, 0x03, 
+    0x5c, 0x27, 0xc0, 0x3d, 0x09, 0x5a, 0x27, 0x08, 0x85, 0x3d, 0x2f, 0x7a, 0x5c, 0x30, 0x77, 0x51, 
+    0x05, 0x23, 0x0b, 0x46, 0x27, 0xaf, 0x7d, 0x2b, 0x89, 0x01, 0x62, 0x89, 0x01, 0x25, 0xac, 0x53, 
+    0x25, 0x6c, 0x05, 0x2b, 0x05, 0x39, 0x10, 0x10, 0x4c, 0x31, 0xb2, 0x2d, 0x87, 0x40, 0x6f, 0x69, 
+    0xc7, 0x35, 0x06, 0x0e, 0x5a, 0x87, 0x22, 0xaf, 0x4a, 0x87, 0x27, 0x89, 0x9c, 0x05, 0x7d, 0x69, 
+    0xc7, 0x35, 0x06, 0x58, 0x05, 0x69, 0x40, 0x4a, 0x06, 0x23, 0xd4, 0x40, 0x7d, 0x02, 0x87, 0x22, 
+    0x01, 0x33, 0x5c, 0x78, 0x1e, 0x1b, 0xaf, 0x3b, 0x41, 0x27, 0x01, 0x4a, 0x41, 0x27, 0x89, 0x41, 
+    0x22, 0xaf, 0x4a, 0x41, 0x3a, 0x35, 0x70, 0x53, 0x3d, 0x51, 0x0a, 0x69, 0x40, 0x5e, 0x05, 0x10, 
+    0x11, 0x1d, 0xb3, 0x08, 0xbd, 0x0e, 0x0b, 0x07, 0x01, 0x19, 0x09, 0x40, 0x5c, 0x05, 0x3d, 0x36, 
+    0x45, 0x03, 0x44, 0x01, 0x90, 0x58, 0x30, 0x52, 0x82, 0xba, 0x01, 0x0a, 0x2b, 0x35, 0x0f, 0x65, 
+    0x29, 0x07, 0x85, 0xa8, 0x57, 0xb9, 0x02, 0x62, 0x87, 0x2c, 0x7e, 0x0d, 0x49, 0xa8, 0x04, 0x73, 
+    0x70, 0xbc, 0x02, 0x0f, 0x65, 0x73, 0x52, 0x82, 0xba, 0x01, 0x0a, 0x3d, 0x36, 0x45, 0x03, 0x44, 
+    0x01, 0x90, 0x58, 0x69, 0x09, 0x40, 0x5c, 0x05, 0xb3, 0x08, 0xbd, 0x0e, 0x0b, 0x07, 0x01, 0x10, 
+    0x12, 0x4c, 0x7a, 0x8a, 0x0c, 0x09, 0x4e, 0x69, 0x51, 0x45, 0x41, 0x3a, 0x80, 0x06, 0x36, 0x7d, 
+    0x1e, 0xba, 0x76, 0x0e, 0x85, 0x2d, 0x2e, 0x25, 0x8b, 0x78, 0x2e, 0x2b, 0x0a, 0x5a, 0x00, 0x2e, 
+    0x2b, 0x05, 0x7d, 0x00, 0x2e, 0x25, 0x35, 0x4a, 0x00, 0x2e, 0x1b, 0xa3, 0x00, 0x2e, 0x1b, 0xa3, 
+    0x00, 0x2e, 0x25, 0x35, 0x4a, 0x00, 0x2e, 0x2b, 0x05, 0x7d, 0x00, 0x2e, 0x2b, 0x0a, 0x5a, 0x00, 
+    0x2e, 0x25, 0x8b, 0x78, 0x2e, 0xba, 0x76, 0x0e, 0x85, 0xba, 0xd4, 0xc5, 0x80, 0x06, 0x36, 0x7d, 
+    0x30, 0x51, 0x45, 0x30, 0xc2, 0x5c, 0x0c, 0x09, 0x4e, 0x10, 0x0f, 0x4c, 0x28, 0x86, 0x28, 0xa4, 
+    0x0f, 0x40, 0x19, 0x51, 0x19, 0xa4, 0x28, 0x9e, 0x10, 0x0e, 0x2d, 0x5d, 0x51, 0x19, 0x51, 0x19, 
+    0xa4, 0x40, 0x20, 0x28, 0x50, 0xae, 0x10, 0x13, 0x18, 0x90, 0x0d, 0x58, 0x5e, 0x4e, 0x69, 0x01, 
+    0x0a, 0x40, 0x5c, 0x05, 0x30, 0x75, 0x0e, 0x07, 0x4d, 0x35, 0x05, 0x09, 0x86, 0x30, 0x48, 0x6f, 
+    0xba, 0x01, 0x0a, 0x2b, 0x35, 0x5c, 0x02, 0x29, 0x52, 0xbc, 0x0b, 0x55, 0x73, 0x58, 0x01, 0x1d, 
+    0x3f, 0xd3, 0x2e, 0xba, 0xc3, 0x2b, 0x58, 0x78, 0x2e, 0x2b, 0x36, 0x57, 0x2e, 0x2b, 0x07, 0x85, 
+    0x00, 0x2e, 0x25, 0x35, 0x0f, 0x49, 0x2e, 0x23, 0x48, 0x82, 0x22, 0x1a, 0x30, 0x0c, 0x5c, 0x5f, 
+    0x44, 0x35, 0x05, 0x0b, 0x86, 0x3d, 0x48, 0x40, 0x4a, 0x04, 0x69, 0x03, 0x08, 0xbd, 0x0e, 0x0c, 
+    0x5f, 0x10, 0x12, 0x4c, 0x2e, 0x1e, 0x38, 0x1e, 0xbf, 0x5b, 0x30, 0x5b, 0x1e, 0xbf, 0x86, 0x2e, 
+    0x1e, 0x38, 0x10, 0x07, 0x27, 0xb5, 0xae, 0xae, 0x10, 0x07, 0x27, 0xb5, 0xae, 0xae, 0x29, 0x35, 
+    0x94, 0x06, 0x7d, 0x3c, 0x8c, 0x0e, 0x46, 0x1d, 0xe0, 0x39, 0x27, 0x87, 0x67, 0x01, 0x10, 0x10, 
+    0x4c, 0xba, 0x52, 0x53, 0x1e, 0x27, 0x52, 0x53, 0x41, 0x22, 0x48, 0x46, 0x87, 0x22, 0x48, 0x46, 
+    0x19, 0xc7, 0x48, 0x46, 0x19, 0xca, 0x0a, 0x86, 0x05, 0x22, 0x41, 0x0a, 0x86, 0x05, 0x22, 0x87, 
+    0x36, 0x59, 0x22, 0x87, 0x6a, 0x27, 0x87, 0x70, 0x53, 0x27, 0x41, 0x70, 0x5a, 0x1d, 0xca, 0x70, 
+    0x5a, 0x1d, 0xc7, 0x07, 0x6a, 0x19, 0xca, 0xaf, 0x6a, 0x19, 0xc7, 0xaf, 0x6a, 0x87, 0x22, 0xaf, 
+    0x0f, 0x3b, 0x41, 0x22, 0xaf, 0x0f, 0x3b, 0x1e, 0x62, 0x77, 0x0b, 0x10, 0x0d, 0x98, 0xae, 0xae, 
+    0x28, 0x9e, 0x10, 0x15, 0x4c, 0x53, 0x62, 0x07, 0x7a, 0x2e, 0x4a, 0x62, 0x0d, 0x7a, 0x2e, 0x0e, 
+    0x65, 0x27, 0x03, 0x4a, 0x86, 0x2e, 0x08, 0x85, 0x27, 0x09, 0x5a, 0x86, 0x2e, 0x03, 0x5c, 0x27, 
+    0xbb, 0x86, 0xba, 0xd0, 0x6c, 0x05, 0x22, 0x05, 0x39, 0x6e, 0xba, 0xd0, 0x06, 0x7d, 0x22, 0x0b, 
+    0x46, 0x6e, 0xba, 0xd0, 0x89, 0x01, 0x2d, 0x89, 0x01, 0x6e, 0x62, 0xca, 0x0a, 0x53, 0x2d, 0x07, 
+    0x3b, 0x50, 0x62, 0xca, 0x05, 0x39, 0x2d, 0x0c, 0x55, 0x50, 0x25, 0xc7, 0x0e, 0x65, 0x03, 0x5c, 
+    0x34, 0x25, 0xc7, 0x08, 0x85, 0x09, 0x5a, 0x34, 0x25, 0xc7, 0x03, 0x0f, 0x8a, 0x65, 0x34, 0x2e, 
+    0x22, 0x6c, 0x39, 0x1a, 0x2e, 0x22, 0x70, 0x53, 0x1a, 0x2e, 0x1e, 0x38, 0x1e, 0x10, 0x12, 0x4c, 
+    0x65, 0x3a, 0x1a, 0x1e, 0x7d, 0x3a, 0x1a, 0x1e, 0x0e, 0x65, 0x2d, 0x1a, 0x1e, 0x08, 0x7d, 0x2d, 
+    0x1a, 0x1e, 0x01, 0x58, 0x57, 0x1a, 0x2b, 0xd0, 0x07, 0x39, 0x00, 0x1a, 0x2b, 0xd0, 0x4f, 0x59, 
+    0x34, 0x23, 0xca, 0xa9, 0x1a, 0x30, 0xc7, 0x42, 0x05, 0x34, 0x2b, 0xd0, 0xaf, 0x4a, 0x34, 0x1e, 
+    0x22, 0x0d, 0x46, 0x50, 0x1e, 0x22, 0x05, 0x4a, 0x50, 0x1e, 0x1b, 0x0c, 0x53, 0x6e, 0x1e, 0x22, 
+    0x76, 0x5c, 0x89, 0x1e, 0x27, 0x0b, 0x53, 0x86, 0x1e, 0x27, 0x03, 0x5c, 0x86, 0x1e, 0xba, 0x0b, 
+    0x7a, 0x1e, 0xba, 0x03, 0x7a, 0x10, 0x13, 0xb6, 0x01, 0x3d, 0x6c, 0xb1, 0x82, 0x27, 0x72, 0x5a, 
+    0x25, 0x35, 0x0f, 0x65, 0x62, 0x8b, 0x02, 0x25, 0xac, 0x53, 0x25, 0x36, 0xa0, 0x25, 0x35, 0x4a, 
+    0x38, 0x1e, 0x25, 0xbb, 0x25, 0x35, 0x4a, 0x25, 0x36, 0x05, 0x2b, 0x05, 0x7d, 0x25, 0xac, 0x53, 
+    0xb7, 0x48, 0x82, 0x27, 0x72, 0x85, 0x23, 0x75, 0x45, 0x4d, 0x80, 0x08, 0x0e, 0x39, 0x3d, 0x01, 
+    0x0a, 0x40, 0x3b, 0x01, 0x19, 0x90, 0x0d, 0x8a, 0x0d, 0x5f, 0x10, 0x0e, 0x4c, 0x7a, 0x5c, 0x61, 
+    0x30, 0xd4, 0x40, 0x3b, 0x19, 0xc7, 0x01, 0x02, 0x52, 0x53, 0xa1, 0x47, 0x9c, 0x07, 0x39, 0x69, 
+    0xc7, 0x01, 0x02, 0x52, 0x53, 0x87, 0xc3, 0x7d, 0x69, 0xc2, 0x5c, 0x61, 0x2d, 0x87, 0xae, 0x10, 
+    0x13, 0xb6, 0x01, 0x3d, 0x6c, 0xb1, 0x82, 0x27, 0x72, 0x85, 0x25, 0x35, 0x0f, 0x65, 0x62, 0x8b, 
+    0x02, 0x25, 0xac, 0x53, 0x25, 0x36, 0xa0, 0x25, 0x35, 0x4a, 0x38, 0x1e, 0x25, 0x0d, 0x49, 0x25, 
+    0x35, 0x5c, 0x25, 0x36, 0x05, 0x2b, 0x05, 0x7d, 0x25, 0xac, 0x5a, 0xb7, 0x52, 0x82, 0x27, 0x72, 
+    0x3b, 0x30, 0x6c, 0x45, 0x4d, 0x80, 0x08, 0x58, 0x79, 0x30, 0x01, 0x0a, 0x40, 0x7d, 0x01, 0x19, 
+    0x90, 0x0d, 0x0e, 0x86, 0x39, 0x73, 0x83, 0x08, 0x73, 0x8b, 0x06, 0x73, 0x77, 0x04, 0x10, 0x11, 
+    0x4c, 0x7a, 0x5c, 0x0b, 0x06, 0x30, 0xd4, 0x40, 0x7d, 0x23, 0xd4, 0xc5, 0x33, 0x0e, 0x53, 0x87, 
+    0x27, 0xa9, 0x00, 0x41, 0xa3, 0x9c, 0xa9, 0x69, 0xc7, 0x35, 0x70, 0x46, 0x87, 0xc3, 0x5a, 0x23, 
+    0xd4, 0x40, 0x6f, 0x19, 0xc7, 0x8c, 0x0d, 0x7d, 0x00, 0x87, 0x1b, 0x83, 0x05, 0xa1, 0x00, 0x0e, 
+    0x65, 0x41, 0x27, 0x08, 0x85, 0x41, 0x1b, 0x35, 0x5c, 0x01, 0x1e, 0x62, 0x0b, 0x46, 0x1e, 0x62, 
+    0x05, 0x39, 0x10, 0x0f, 0x20, 0xb3, 0x0a, 0x42, 0x4a, 0x0b, 0x07, 0x03, 0x19, 0x08, 0x28, 0x77, 
+    0x08, 0x4d, 0x35, 0x04, 0x08, 0x0d, 0x69, 0x0b, 0x46, 0x73, 0x58, 0x01, 0x62, 0x87, 0x01, 0x73, 
+    0x0c, 0x46, 0x3c, 0xaf, 0x6a, 0x03, 0x29, 0x08, 0x7a, 0x39, 0x09, 0x05, 0x2a, 0x8e, 0x7a, 0x4a, 
+    0x04, 0x7f, 0x60, 0x07, 0x42, 0x65, 0x73, 0x0a, 0x9d, 0x02, 0x5c, 0x92, 0xa9, 0x3d, 0x67, 0x05, 
+    0x02, 0x44, 0x80, 0x48, 0x59, 0x1e, 0x40, 0x5a, 0x69, 0x33, 0x0a, 0x0d, 0x0e, 0x5c, 0x0c, 0x09, 
+    0x03, 0x10, 0x0f, 0x5d, 0x9e, 0xcb, 0x2e, 0x51, 0xc7, 0x87, 0x2c, 0xae, 0xae, 0x10, 0x12, 0x4c, 
+    0xbf, 0x86, 0xbf, 0x86, 0x2e, 0x1e, 0x01, 0xba, 0x89, 0x30, 0x0d, 0x49, 0x27, 0x35, 0x4a, 0x30, 
+    0x0b, 0x46, 0x1b, 0xaf, 0x7d, 0x2b, 0xaf, 0x0f, 0x79, 0x1b, 0x63, 0x46, 0x3d, 0x0d, 0x39, 0x05, 
+    0x44, 0x8c, 0x0c, 0x4a, 0x69, 0x72, 0x40, 0x82, 0x19, 0x8f, 0xbd, 0xb2, 0x01, 0x10, 0x10, 0x5d, 
+    0x6c, 0x05, 0x2b, 0x05, 0x39, 0x25, 0xac, 0x53, 0x25, 0x89, 0x01, 0x62, 0x89, 0x01, 0x2b, 0x0b, 
+    0x53, 0x27, 0xaf, 0x7d, 0x23, 0x05, 0x39, 0x62, 0x6c, 0x05, 0x30, 0x0e, 0x65, 0x27, 0x03, 0x5c, 
+    0x3d, 0x09, 0x5a, 0x27, 0x08, 0x85, 0x3d, 0x03, 0x5c, 0x27, 0xc0, 0x69, 0x0d, 0x55, 0x3a, 0x76, 
+    0x4a, 0x19, 0x07, 0x3b, 0x22, 0x0a, 0x53, 0x69, 0x35, 0x86, 0x01, 0x2d, 0x01, 0xbb, 0x20, 0x0b, 
+    0x46, 0xaf, 0x7d, 0x1d, 0xa9, 0x2d, 0x0b, 0x46, 0x1d, 0x01, 0xbb, 0x02, 0xbe, 0x20, 0x09, 0x5a, 
+    0x07, 0x3b, 0x2a, 0x76, 0x4a, 0x0d, 0x55, 0x3c, 0x42, 0x4a, 0x29, 0x52, 0x5a, 0x10, 0x18, 0x00, 
+    0x5d, 0xc0, 0x27, 0x48, 0x3b, 0x27, 0x03, 0x4a, 0x3a, 0x0a, 0x46, 0x27, 0x6c, 0x4a, 0x22, 0xaf, 
+    0x3b, 0x00, 0xaf, 0x3b, 0xa3, 0xbb, 0x1b, 0x0a, 0x46, 0x2d, 0x35, 0x4a, 0x1b, 0x05, 0x7d, 0x36, 
+    0x05, 0x1b, 0x0d, 0x49, 0x22, 0xbb, 0x22, 0x08, 0x5a, 0x07, 0x85, 0x3a, 0x35, 0x5c, 0x1b, 0x0a, 
+    0x46, 0x22, 0x0c, 0x55, 0x04, 0x39, 0x2d, 0xaf, 0x3b, 0x3a, 0xaf, 0x85, 0x3a, 0x89, 0x01, 0x89, 
+    0x01, 0x3a, 0x09, 0x46, 0x1b, 0x03, 0x4a, 0x2d, 0x76, 0x39, 0x2d, 0x0c, 0x55, 0x3a, 0xc0, 0x27, 
+    0xbb, 0x2d, 0x70, 0x37, 0x52, 0x37, 0x02, 0x5c, 0xba, 0x36, 0x05, 0x2d, 0x36, 0x54, 0x7d, 0x2d, 
+    0x05, 0x7d, 0xba, 0x07, 0x85, 0x2d, 0x58, 0x01, 0x2d, 0x47, 0x2d, 0x09, 0x53, 0xba, 0x03, 0x4a, 
+    0x00, 0x03, 0x4a, 0x22, 0xc0, 0x00, 0xc0, 0x62, 0x58, 0x8f, 0x85, 0x22, 0x09, 0x53, 0x47, 0x25, 
+    0x36, 0x05, 0x0a, 0x46, 0x2d, 0xaf, 0x3b, 0x05, 0x7d, 0x25, 0x07, 0x85, 0xbb, 0x3a, 0x35, 0x5c, 
+    0x09, 0x53, 0x62, 0x76, 0x5c, 0x5c, 0x27, 0x58, 0x58, 0x57, 0x2e, 0x3b, 0x27, 0x0a, 0x7a, 0x23, 
+    0x36, 0x46, 0x27, 0x70, 0x7d, 0x10, 0x11, 0x2d, 0x5d, 0x0a, 0x7d, 0x62, 0x0b, 0x3b, 0x23, 0x4f, 
+    0x59, 0x1b, 0xab, 0x2b, 0xaf, 0xbe, 0x2d, 0x8b, 0x04, 0x69, 0x0b, 0x3b, 0x22, 0x0c, 0x5a, 0x19, 
+    0x83, 0x04, 0x2d, 0x08, 0x39, 0x1d, 0xab, 0x88, 0x03, 0x2a, 0x0c, 0x85, 0x0d, 0x53, 0x2a, 0x35, 
+    0x86, 0x7d, 0x29, 0x48, 0x49, 0x3c, 0x83, 0x5a, 0x3c, 0x36, 0x36, 0x65, 0x2a, 0xab, 0x08, 0x39, 
+    0x1d, 0x8b, 0x57, 0x63, 0x53, 0x20, 0x6c, 0x37, 0x76, 0x5c, 0x02, 0x69, 0x08, 0x39, 0x1b, 0x09, 
+    0x7d, 0x3d, 0x88, 0x03, 0x1b, 0x63, 0x46, 0x23, 0x63, 0x53, 0xba, 0x05, 0xbe, 0x62, 0x0a, 0x7d, 
+    0x25, 0x0a, 0x3b, 0x10, 0x0f, 0x5d, 0x0a, 0x3b, 0x62, 0x0a, 0x3b, 0x23, 0x83, 0x05, 0x27, 0x05, 
+    0x5c, 0x02, 0x2b, 0xaf, 0xbe, 0x2d, 0x4f, 0x46, 0x69, 0x0c, 0x85, 0x22, 0x09, 0x7d, 0x69, 0x35, 
+    0x86, 0x57, 0x76, 0x0f, 0x49, 0x20, 0x07, 0x4a, 0x2d, 0x0d, 0x53, 0x2a, 0x0d, 0x5a, 0x08, 0x4a, 
+    0x22, 0xb3, 0x7a, 0x65, 0x3c, 0x09, 0x6a, 0x29, 0x89, 0x01, 0x62, 0x87, 0xae, 0x10, 0x10, 0x5d, 
+    0xfe, 0x5b, 0xba, 0xd4, 0x5b, 0x29, 0x83, 0x07, 0x3c, 0x75, 0x0a, 0x29, 0x0a, 0x97, 0x3a, 0x75, 
+    0x0a, 0x29, 0x0a, 0x97, 0x3a, 0x63, 0x3b, 0x29, 0x0a, 0x0f, 0x6f, 0x3c, 0x07, 0x5c, 0x02, 0x1d, 
+    0xd4, 0x5b, 0xba, 0xd4, 0x5b, 0x10, 0x09, 0x4c, 0x7a, 0x7f, 0xc2, 0x3c, 0xa4, 0xb5, 0xae, 0x7a, 
+    0x7f, 0xc2, 0x10, 0x08, 0x5d, 0xc0, 0x73, 0x08, 0x5a, 0x29, 0x76, 0x39, 0x7e, 0xbb, 0x73, 0x0a, 
+    0x46, 0x3c, 0xaf, 0x9d, 0x47, 0x01, 0x73, 0x0c, 0x55, 0x73, 0x70, 0xbc, 0x03, 0x4a, 0x7e, 0xc0, 
+    0x73, 0x09, 0x53, 0x73, 0x05, 0x39, 0x73, 0x89, 0x01, 0xa8, 0x06, 0x3c, 0xaf, 0x3b, 0x29, 0x35, 
+    0x5c, 0x7e, 0x0c, 0x55, 0x73, 0x08, 0x5a, 0xba, 0xb3, 0x4a, 0x10, 0x09, 0x4c, 0x7a, 0x7f, 0xc2, 
+    0x9f, 0xae, 0xae, 0x7f, 0xc2, 0x7f, 0xc2, 0x10, 0x14, 0x3a, 0x18, 0x83, 0x0e, 0x02, 0x7f, 0x72, 
+    0x7a, 0x82, 0x1d, 0x63, 0x4a, 0x04, 0x42, 0x79, 0x19, 0x75, 0x82, 0x35, 0x42, 0x6f, 0x69, 0x36, 
+    0x82, 0x3a, 0x72, 0x7d, 0x3d, 0x0a, 0x0f, 0x6f, 0x1b, 0x75, 0x09, 0x23, 0x52, 0x6f, 0xba, 0x75, 
+    0x08, 0x10, 0x0c, 0x4b, 0x6b, 0x43, 0xd4, 0x9e, 0x25, 0xd4, 0x9e, 0x10, 0x0c, 0x22, 0xab, 0x73, 
+    0x07, 0x7d, 0x7e, 0x07, 0x3b, 0x7e, 0x07, 0x5a, 0x10, 0x0e, 0x3a, 0x6b, 0x03, 0x08, 0xbd, 0x0e, 
+    0x61, 0x1d, 0x40, 0x5a, 0x20, 0x0c, 0x06, 0x4d, 0x35, 0x70, 0x55, 0x3c, 0xaf, 0x3b, 0x73, 0x01, 
+    0x4a, 0x19, 0x8f, 0x0b, 0x2f, 0x69, 0x72, 0x28, 0x0a, 0x39, 0x05, 0x7b, 0x34, 0x69, 0xbb, 0x1b, 
+    0x8b, 0x87, 0x02, 0x1b, 0x0a, 0x86, 0x69, 0x0b, 0x39, 0x4d, 0x60, 0x0b, 0x7a, 0x69, 0x03, 0xc3, 
+    0x5a, 0x86, 0xb3, 0x0a, 0x0e, 0x5c, 0x0b, 0x04, 0x6e, 0x10, 0x0f, 0x98, 0x9f, 0x00, 0x05, 0xad, 
+    0xa2, 0xa3, 0x3d, 0x96, 0x03, 0x00, 0x41, 0x05, 0xad, 0x02, 0x10, 0x0d, 0x22, 0x6b, 0x8f, 0xbd, 
+    0x5e, 0x04, 0x20, 0x72, 0x40, 0x19, 0x63, 0x4a, 0x05, 0x01, 0x35, 0x05, 0x0b, 0x19, 0xab, 0x29, 
+    0x36, 0x05, 0x73, 0x58, 0x01, 0x62, 0x87, 0x7e, 0x58, 0x01, 0xa8, 0x05, 0x3c, 0xaf, 0x0f, 0x79, 
+    0x29, 0x63, 0x4a, 0x05, 0x01, 0x35, 0x05, 0x0b, 0x20, 0x72, 0x40, 0x1d, 0x8f, 0xbd, 0x5e, 0x04, 
+    0x10, 0x0f, 0x25, 0x4c, 0xb5, 0x19, 0xa5, 0x9a, 0x3d, 0x95, 0xa6, 0x61, 0x6e, 0x10, 0x0e, 0x3a, 
+    0x6b, 0xaf, 0x0b, 0x58, 0x5e, 0x03, 0x19, 0x35, 0x0c, 0xc3, 0x46, 0x19, 0x0c, 0x7d, 0x04, 0x7b, 
+    0x02, 0x52, 0x65, 0x23, 0xaf, 0x7d, 0x27, 0x08, 0x85, 0x3d, 0x0b, 0x55, 0x1b, 0x35, 0x4a, 0x3d, 
+    0x0e, 0x9e, 0x25, 0xd4, 0x9e, 0x3d, 0xbb, 0x73, 0x6c, 0x05, 0x73, 0xab, 0x29, 0x63, 0x39, 0x05, 
+    0x44, 0x80, 0x07, 0x0c, 0x69, 0x35, 0x42, 0x40, 0x20, 0x8f, 0x0b, 0x58, 0x66, 0x03, 0x10, 0x08, 
+    0x4b, 0x05, 0x0b, 0x0e, 0x86, 0x7f, 0x05, 0x24, 0x7f, 0x6c, 0xa7, 0x29, 0xc3, 0xc7, 0x87, 0xc3, 
+    0x7f, 0xa4, 0xb5, 0x10, 0x0f, 0x22, 0x6b, 0x6d, 0x42, 0x9a, 0x3d, 0x63, 0x39, 0x68, 0x60, 0x0c, 
+    0x7a, 0x3d, 0x07, 0x39, 0x27, 0x7c, 0x3d, 0x6c, 0x05, 0x27, 0x77, 0x3d, 0x58, 0x56, 0x64, 0x0f, 
+    0x56, 0x3d, 0x6c, 0x05, 0x27, 0x77, 0x3d, 0x07, 0x39, 0x27, 0x7c, 0x3d, 0x4f, 0x39, 0x68, 0x60, 
+    0x0c, 0x7a, 0xa6, 0x61, 0x47, 0x29, 0x76, 0x39, 0xa8, 0x08, 0x19, 0x61, 0x7b, 0x60, 0x0b, 0x5c, 
+    0x78, 0x87, 0xc3, 0x05, 0x20, 0x90, 0x0d, 0x58, 0x71, 0x03, 0x10, 0x0f, 0x98, 0x9f, 0x76, 0xad, 
+    0x9b, 0x86, 0xb8, 0x1f, 0x10, 0x07, 0x98, 0x81, 0x26, 0xb5, 0xae, 0x10, 0x07, 0x98, 0x81, 0xae, 
+    0xae, 0x1d, 0xa3, 0x29, 0x01, 0x08, 0x3b, 0x2a, 0xe0, 0x55, 0x3c, 0x5c, 0x0c, 0x04, 0x10, 0x0e, 
+    0x98, 0x9f, 0x22, 0x75, 0x59, 0x3d, 0xc7, 0x75, 0x59, 0x3d, 0xca, 0x75, 0x0e, 0x04, 0x3a, 0x41, 
+    0x72, 0x5c, 0x03, 0x3a, 0x87, 0x72, 0x5c, 0x03, 0x22, 0x87, 0x42, 0x82, 0x1b, 0x87, 0x58, 0x6f, 
+    0x19, 0xd4, 0x49, 0x42, 0x82, 0x1b, 0x41, 0x75, 0x0d, 0x03, 0x20, 0xca, 0x01, 0x0b, 0x5c, 0x03, 
+    0x30, 0xd4, 0xc5, 0x0a, 0x5c, 0x57, 0x87, 0x1b, 0x48, 0x46, 0x87, 0x27, 0x52, 0x53, 0x10, 0x06, 
+    0x27, 0xb5, 0xae, 0xae, 0x10, 0x18, 0x6b, 0x34, 0x76, 0xad, 0x78, 0x76, 0x0a, 0x58, 0x71, 0x01, 
+    0x2d, 0xd4, 0x5a, 0x24, 0x5c, 0x33, 0x24, 0x4a, 0x44, 0x1a, 0x7d, 0x68, 0x8c, 0x0e, 0x4a, 0x7d, 
+    0x68, 0x8c, 0x58, 0x37, 0xec, 0x3b, 0x1b, 0x77, 0x0a, 0x1b, 0x05, 0x39, 0x00, 0xd4, 0x65, 0x1b, 
+    0x89, 0x03, 0xa3, 0x3f, 0xb0, 0xb0, 0xb0, 0x3a, 0xd4, 0xc5, 0xca, 0x3f, 0x10, 0x0f, 0x6b, 0x34, 
+    0x76, 0xad, 0x9b, 0x86, 0xb8, 0x1f, 0x10, 0x0e, 0x22, 0x6b, 0x01, 0x08, 0x0c, 0x0e, 0x66, 0x44, 
+    0xb3, 0x2f, 0x0e, 0x03, 0x69, 0x63, 0x39, 0x68, 0x60, 0x6c, 0x79, 0x3d, 0xab, 0x22, 0x63, 0x53, 
+    0x3d, 0x6c, 0x05, 0x27, 0x05, 0x7d, 0x3d, 0x58, 0x44, 0xa3, 0x64, 0x0f, 0x44, 0xa3, 0x3d, 0x6c, 
+    0x05, 0x27, 0x05, 0x39, 0x3d, 0x70, 0x6f, 0x22, 0x63, 0x53, 0x3d, 0x4f, 0x39, 0x68, 0x60, 0x6c, 
+    0x79, 0x69, 0x03, 0x2f, 0x0e, 0x03, 0x20, 0x01, 0x08, 0x0d, 0x8a, 0x67, 0x01, 0x10, 0x0f, 0x00, 
+    0x6b, 0xd0, 0x05, 0xad, 0xa2, 0xa3, 0x3d, 0x96, 0x03, 0x00, 0x41, 0x05, 0xad, 0x78, 0x87, 0xb5, 
+    0x10, 0x0f, 0x22, 0x6b, 0xa5, 0x9a, 0x3d, 0x95, 0xa6, 0x61, 0x6e, 0x2c, 0xb5, 0x10, 0x0a, 0x6b, 
+    0x34, 0x76, 0x0a, 0x0d, 0xc7, 0x87, 0x08, 0x7a, 0xc7, 0x87, 0x7d, 0x68, 0x19, 0xd4, 0x9d, 0x0f, 
+    0x55, 0x62, 0x87, 0x01, 0x73, 0xa4, 0x10, 0x0c, 0x3a, 0x6b, 0x03, 0x0a, 0x42, 0x4a, 0x5f, 0x20, 
+    0x88, 0xc3, 0x20, 0x0c, 0x7d, 0x4d, 0x35, 0x06, 0x0b, 0x2d, 0x87, 0x44, 0xb9, 0x07, 0x73, 0x70, 
+    0x5c, 0x0b, 0x08, 0x04, 0x1d, 0xaf, 0x0d, 0x7a, 0x5c, 0x07, 0x2a, 0x35, 0x05, 0x08, 0x6c, 0x53, 
+    0x73, 0x05, 0x94, 0x47, 0x19, 0x74, 0x04, 0x44, 0x80, 0x0b, 0x39, 0x19, 0x40, 0x5c, 0x03, 0xb3, 
+    0x08, 0x0b, 0x58, 0x66, 0x01, 0x10, 0x09, 0x4b, 0xb5, 0x29, 0xc3, 0xc7, 0x87, 0xc3, 0x7f, 0xa4, 
+    0x7e, 0x58, 0x01, 0x73, 0x0c, 0x53, 0x01, 0x29, 0x07, 0x24, 0x3c, 0x07, 0x0d, 0x7a, 0x10, 0x0f, 
+    0x91, 0x5a, 0x86, 0x19, 0xa5, 0x0e, 0x0b, 0x04, 0x6e, 0x10, 0x0f, 0x2d, 0x6b, 0x6c, 0x05, 0xba, 
+    0x05, 0x39, 0x2b, 0xaf, 0x7d, 0xba, 0x0b, 0x46, 0x30, 0x89, 0x02, 0x22, 0x35, 0x86, 0x01, 0x3d, 
+    0x0a, 0x53, 0x1b, 0x07, 0x3b, 0x3d, 0x76, 0x4a, 0x1b, 0x0d, 0x55, 0x19, 0x0d, 0x55, 0x2d, 0x76, 
+    0x4a, 0x20, 0x07, 0x3b, 0x3a, 0x0a, 0x53, 0x19, 0x35, 0x86, 0x44, 0x89, 0x02, 0x1d, 0x0b, 0x46, 
+    0x00, 0x06, 0x7d, 0x2a, 0x05, 0x39, 0x00, 0x6c, 0x05, 0x7f, 0x0e, 0x46, 0x5c, 0x3c, 0x08, 0x5c, 
+    0x5a, 0x3c, 0x8b, 0x65, 0x10, 0x14, 0x2d, 0x6b, 0xc0, 0x22, 0x09, 0x6a, 0x22, 0x03, 0x4a, 0xba, 
+    0x09, 0x53, 0x22, 0x42, 0x4a, 0x22, 0x07, 0x85, 0xba, 0x05, 0x7d, 0x2d, 0x35, 0x5c, 0xbb, 0x3a, 
+    0x36, 0x05, 0xba, 0x89, 0x01, 0xaf, 0x3b, 0x0a, 0x46, 0x2d, 0x89, 0x01, 0x62, 0x0c, 0x55, 0x2d, 
+    0x0a, 0x46, 0x06, 0x3b, 0x00, 0x76, 0x39, 0x25, 0x52, 0x37, 0xbb, 0x02, 0x5c, 0x2d, 0x08, 0x5a, 
+    0x62, 0x76, 0x39, 0x00, 0x03, 0x4a, 0x2d, 0xc0, 0x00, 0x0c, 0x55, 0x2b, 0x58, 0x8f, 0x85, 0x2d, 
+    0x09, 0x53, 0x47, 0x23, 0x36, 0x05, 0x36, 0x54, 0x0f, 0x61, 0x7d, 0x25, 0xaf, 0x3b, 0x86, 0x01, 
+    0x2d, 0x89, 0x0a, 0x46, 0x2b, 0x35, 0x86, 0x39, 0x22, 0x7c, 0x49, 0x30, 0x42, 0x5a, 0x22, 0x52, 
+    0x4a, 0x3d, 0x48, 0x55, 0x3a, 0x76, 0x6a, 0x10, 0x0f, 0x2d, 0x6b, 0x48, 0x79, 0x1b, 0x63, 0x85, 
+    0x3d, 0x0b, 0x7d, 0x1b, 0x0b, 0x7d, 0x69, 0x63, 0x85, 0x3a, 0x48, 0x79, 0xb3, 0x0e, 0x46, 0x00, 
+    0x06, 0x5c, 0x03, 0x1d, 0x77, 0x70, 0x59, 0x2a, 0x08, 0x86, 0x5a, 0x3c, 0x8b, 0x49, 0x7f, 0x63, 
+    0x5c, 0x7d, 0x7f, 0x0a, 0x39, 0x72, 0x5a, 0x19, 0xaf, 0x5c, 0x78, 0x8b, 0x05, 0x19, 0x8b, 0x05, 
+    0x3a, 0x07, 0x5c, 0x02, 0x3d, 0x63, 0x85, 0x1b, 0x0a, 0x39, 0x3d, 0x09, 0x39, 0x27, 0x63, 0x85, 
+    0x10, 0x0f, 0x2d, 0x6b, 0x6c, 0x05, 0xba, 0xa9, 0x30, 0xa9, 0xba, 0x6c, 0x05, 0x30, 0x4f, 0x65, 
+    0x22, 0x76, 0x5c, 0x69, 0x08, 0x85, 0x1b, 0x0a, 0x5a, 0x3d, 0x35, 0xbe, 0x00, 0x89, 0x02, 0x19, 
+    0x0b, 0x46, 0x3a, 0x08, 0x3b, 0x20, 0x05, 0x4a, 0x3a, 0x0e, 0x55, 0x1d, 0x42, 0x57, 0x05, 0x39, 
+    0x2a, 0x07, 0x3b, 0x00, 0x0c, 0x46, 0x1d, 0x35, 0x0f, 0x55, 0xbe, 0x1d, 0x0a, 0x5c, 0x5a, 0x3c, 
+    0x88, 0x49, 0xb9, 0x0a, 0x73, 0x0d, 0x55, 0x3c, 0x76, 0x4a, 0x27, 0xb3, 0x0c, 0x46, 0x1d, 0xe0, 
+    0x39, 0x20, 0xd4, 0x5c, 0x09, 0x01, 0x10, 0x0d, 0x6b, 0x50, 0x28, 0x9e, 0x29, 0x88, 0x07, 0x1b, 
+    0xb3, 0x0e, 0x5a, 0x3c, 0x83, 0x0a, 0x3c, 0x63, 0x7d, 0x3c, 0x75, 0x6f, 0x3c, 0x36, 0x79, 0x3c, 
+    0x0a, 0x5c, 0x02, 0x3c, 0x08, 0x5c, 0x03, 0x3c, 0x70, 0x55, 0xba, 0x87, 0x28, 0x9e, 0x10, 0x0f, 
+    0x3a, 0x18, 0x07, 0xbd, 0x3c, 0x07, 0x31, 0x3c, 0x6c, 0xa7, 0x26, 0x73, 0x89, 0x29, 0x76, 0x4a, 
+    0x3c, 0x80, 0x0c, 0x85, 0x1d, 0xe0, 0x7d, 0x01, 0x1d, 0xe0, 0x3b, 0x01, 0x3c, 0x60, 0x6c, 0xbc, 
+    0x03, 0x4a, 0xb5, 0x7e, 0x58, 0x01, 0x73, 0x0c, 0x5a, 0x01, 0x29, 0x07, 0x31, 0x29, 0x07, 0xbd, 
+    0x10, 0x08, 0x00, 0x98, 0xae, 0xae, 0xae, 0x10, 0x0f, 0x5d, 0xec, 0xb2, 0x7f, 0xe0, 0x53, 0x29, 
+    0x01, 0x08, 0x39, 0x1d, 0xa3, 0xb5, 0x01, 0x73, 0xc0, 0x73, 0x0a, 0x39, 0x4d, 0x3c, 0x01, 0x0a, 
+    0x31, 0x7f, 0x01, 0x0a, 0x31, 0x7f, 0x09, 0x39, 0x68, 0x3c, 0xc0, 0x62, 0x87, 0x9f, 0x1d, 0xa3, 
+    0x29, 0x01, 0x08, 0x39, 0x2a, 0xe0, 0x53, 0x20, 0xd4, 0xb2, 0x10, 0x14, 0x23, 0x18, 0x81, 0x6b, 
+    0x01, 0x23, 0x6d, 0x42, 0x67, 0x02, 0x1b, 0x01, 0x0c, 0x62, 0xaf, 0x2f, 0x0a, 0x68, 0x01, 0x06, 
+    0x58, 0x2b, 0x39, 0x05, 0x01, 0x60, 0x0a, 0xc3, 0x46, 0x2b, 0x07, 0x27, 0x8e, 0x4a, 0x8d, 0x10, 
+};
+
+static const uint16_t mf_rlefont_DejaVuSans24_aa_glyph_offsets_0[95] = {
+    0x0000, 0x0003, 0x0015, 0x001d, 0x0077, 0x00d4, 0x0174, 0x01dd, 
+    0x01e1, 0x021d, 0x0251, 0x0282, 0x028f, 0x0299, 0x02a2, 0x02a7, 
+    0x02de, 0x0337, 0x034b, 0x0389, 0x03d2, 0x040b, 0x0440, 0x049d, 
+    0x04cf, 0x0539, 0x0598, 0x05a0, 0x05ad, 0x05d6, 0x05e5, 0x060c, 
+    0x063e, 0x06fc, 0x0757, 0x07a0, 0x07f0, 0x084a, 0x0859, 0x0867, 
+    0x08c2, 0x08d3, 0x08d9, 0x08ef, 0x093c, 0x0943, 0x09ae, 0x0a06, 
+    0x0a4b, 0x0a70, 0x0abf, 0x0b03, 0x0b52, 0x0b5e, 0x0b8e, 0x0bee, 
+    0x0c96, 0x0cf4, 0x0d2e, 0x0d56, 0x0d63, 0x0d9b, 0x0da8, 0x0dd2, 
+    0x0ddc, 0x0de9, 0x0e2a, 0x0e3b, 0x0e71, 0x0e7e, 0x0ebf, 0x0ed4, 
+    0x0f1b, 0x0f25, 0x0f2c, 0x0f3f, 0x0f7f, 0x0f85, 0x0fbd, 0x0fc7, 
+    0x100e, 0x1021, 0x102e, 0x1047, 0x1086, 0x109f, 0x10aa, 0x10f5, 
+    0x1168, 0x11b1, 0x1207, 0x122f, 0x1261, 0x1268, 0x129b, 
+};
+
+static const struct mf_rlefont_char_range_s mf_rlefont_DejaVuSans24_aa_char_ranges[] = {
+    {32, 95, mf_rlefont_DejaVuSans24_aa_glyph_offsets_0, mf_rlefont_DejaVuSans24_aa_glyph_data_0},
+};
+
+const struct mf_rlefont_s mf_rlefont_DejaVuSans24_aa = {
+    {
+    "DejaVu Sans Book 24",
+    "DejaVuSans24_aa",
+    25, /* width */
+    25, /* height */
+    6, /* min x advance */
+    24, /* max x advance */
+    2, /* baseline x */
+    19, /* baseline y */
+    28, /* line height */
+    0, /* flags */
+    63, /* fallback character */
+    &mf_rlefont_character_width,
+    &mf_rlefont_render_character,
+    },
+    4, /* version */
+    mf_rlefont_DejaVuSans24_aa_dictionary_data,
+    mf_rlefont_DejaVuSans24_aa_dictionary_offsets,
+    121, /* rle dict count */
+    169, /* total dict count */
+    1, /* char range count */
+    mf_rlefont_DejaVuSans24_aa_char_ranges,
+};
+
+#ifdef MF_INCLUDED_FONTS
+/* List entry for searching fonts by name. */
+static const struct mf_font_list_s mf_rlefont_DejaVuSans24_aa_listentry = {
+    MF_INCLUDED_FONTS,
+    (struct mf_font_s*)&mf_rlefont_DejaVuSans24_aa
+};
+#undef MF_INCLUDED_FONTS
+#define MF_INCLUDED_FONTS (&mf_rlefont_DejaVuSans24_aa_listentry)
+#endif
+
+
+/* End of automatically generated font definition for DejaVuSans24_aa. */
+
diff --git a/src/gdisp/fonts/DejaVuSans32.c b/src/gdisp/fonts/DejaVuSans32.c
new file mode 100644
index 00000000..ca669582
--- /dev/null
+++ b/src/gdisp/fonts/DejaVuSans32.c
@@ -0,0 +1,291 @@
+
+
+/* Start of automatically generated font definition for DejaVuSans32. */
+
+#ifndef MF_RLEFONT_INTERNALS
+#define MF_RLEFONT_INTERNALS
+#endif
+#include "mf_rlefont.h"
+
+#ifndef MF_RLEFONT_VERSION_4_SUPPORTED
+#error The font file is not compatible with this version of mcufont.
+#endif
+
+static const uint8_t mf_rlefont_DejaVuSans32_dictionary_data[578] = {
+    0x06, 0x83, 0x1e, 0x82, 0x03, 0x0c, 0x80, 0x09, 0x8b, 0x84, 0x0e, 0x80, 0x82, 0x0c, 0x80, 0x05, 
+    0x83, 0x16, 0x83, 0x93, 0x0d, 0x87, 0x83, 0x11, 0x81, 0x1c, 0x87, 0x17, 0x80, 0x01, 0x1e, 0x82, 
+    0x1e, 0x82, 0x1b, 0x81, 0x07, 0x82, 0x06, 0x06, 0x82, 0x03, 0x0b, 0x82, 0x08, 0x03, 0x82, 0x85, 
+    0x08, 0x11, 0x83, 0x05, 0x11, 0x8f, 0x11, 0x80, 0x01, 0x82, 0x91, 0x0e, 0x92, 0x16, 0x1a, 0x82, 
+    0x10, 0x82, 0x80, 0x12, 0x04, 0x83, 0x8f, 0x18, 0x82, 0x11, 0x82, 0x0a, 0x82, 0x11, 0x82, 0x0a, 
+    0x82, 0x11, 0x82, 0x0a, 0x82, 0x15, 0x0f, 0x0a, 0x83, 0x12, 0x0d, 0x82, 0x03, 0x08, 0x83, 0x05, 
+    0x40, 0x07, 0x1e, 0x83, 0x11, 0x82, 0x05, 0x46, 0x05, 0x82, 0x0f, 0x04, 0x82, 0x0b, 0x8e, 0x0f, 
+    0x0b, 0x81, 0x1a, 0x83, 0x87, 0x1f, 0x81, 0x13, 0x88, 0x0d, 0x07, 0x83, 0x14, 0x83, 0x14, 0x82, 
+    0x81, 0x19, 0x89, 0x16, 0x89, 0x80, 0x14, 0x82, 0x81, 0x01, 0x82, 0x08, 0x82, 0x02, 0x80, 0x1f, 
+    0x82, 0x0d, 0x82, 0x0e, 0x82, 0x0d, 0x82, 0x0e, 0x80, 0x16, 0x82, 0x04, 0x04, 0x82, 0x81, 0x13, 
+    0x8c, 0x8a, 0x01, 0x01, 0x83, 0x17, 0x18, 0x8a, 0x16, 0x8b, 0x15, 0x81, 0x05, 0x13, 0x83, 0x17, 
+    0x01, 0x81, 0x41, 0x17, 0x1d, 0x19, 0x43, 0x08, 0x08, 0x82, 0x06, 0x81, 0x0f, 0x82, 0x0c, 0x82, 
+    0x0f, 0x82, 0x0c, 0x82, 0x0f, 0x82, 0x0a, 0x81, 0x14, 0x08, 0x82, 0x02, 0x86, 0x04, 0x80, 0x02, 
+    0x82, 0x80, 0x01, 0x80, 0x40, 0x28, 0x27, 0x27, 0x27, 0x27, 0x18, 0xd3, 0x21, 0x6a, 0x51, 0x5a, 
+    0x24, 0xeb, 0xa4, 0xd3, 0x3f, 0x3b, 0x3b, 0x1e, 0xcb, 0x3b, 0x56, 0x52, 0x2b, 0x64, 0x44, 0x30, 
+    0x2b, 0x64, 0x44, 0x30, 0x2b, 0x64, 0x44, 0x30, 0x2b, 0x64, 0x2a, 0x2b, 0x69, 0x68, 0xa7, 0x66, 
+    0x1d, 0xb3, 0x59, 0x34, 0x1d, 0x58, 0xcb, 0x33, 0x3e, 0x1b, 0x3e, 0x3e, 0x38, 0x38, 0x2e, 0x2c, 
+    0x34, 0x53, 0x34, 0x1d, 0x35, 0x59, 0x51, 0x23, 0xbf, 0x39, 0xc2, 0x2c, 0x39, 0x1c, 0x4d, 0xf4, 
+    0x33, 0xff, 0x3f, 0x41, 0x41, 0xf4, 0x32, 0x27, 0x61, 0x32, 0xeb, 0x48, 0x68, 0x67, 0xd2, 0x42, 
+    0xb4, 0x34, 0x67, 0x63, 0x55, 0x27, 0x19, 0x61, 0x63, 0x55, 0x27, 0x19, 0x66, 0x2b, 0x27, 0x27, 
+    0x27, 0x19, 0x40, 0x68, 0x27, 0x19, 0x40, 0x57, 0x32, 0x00, 0xc0, 0x2e, 0xdc, 0x34, 0xc3, 0x35, 
+    0xc5, 0x1e, 0x1c, 0x34, 0xd2, 0x6a, 0x66, 0xcb, 0xc2, 0x37, 0x2c, 0x37, 0x2c, 0xcb, 0x62, 0xc2, 
+    0x27, 0x27, 0x27, 0x0f, 0xc5, 0x32, 0x30, 0x2c, 0x67, 0x53, 0x67, 0x53, 0x67, 0x53, 0x67, 0x53, 
+    0x67, 0x53, 0xd2, 0x2a, 0x42, 0x6c, 0x4e, 0x20, 0xe4, 0x42, 0xcb, 0x4f, 0x69, 0xd2, 0x3d, 0x3b, 
+    0x67, 0x58, 0xc5, 0x3b, 0x3b, 0x3a, 0xc2, 0x18, 0x34, 0x1c, 0x66, 0x1c, 0x32, 0x5b, 0x6c, 0xc0, 
+    0x37, 0xdc, 0xc7, 0x4f, 0x35, 0xff, 0x5a, 0x3c, 0xc3, 0x35, 0x5d, 0x4d, 0x67, 0x3b, 0x64, 0x00, 
+    0x2b, 0xd2, 0x42, 0x58, 0x69, 0xc2, 0x39, 0xd2, 0x49, 0x51, 0x5a, 0x3c, 0xc3, 0x35, 0xc5, 0x1e, 
+    0x53, 0x67, 0x3b, 0x67, 0x27, 0x19, 0xff, 0x3f, 0x3b, 0x27, 0x27, 0x00, 0x39, 0x45, 0x1a, 0xc5, 
+    0xd2, 0x3f, 0x24, 0xa4, 0x34, 0x22, 0x1c, 0x4c, 0x4b, 0x23, 0xbf, 0x39, 0xc3, 0x2c, 0x25, 0x1a, 
+    0x52, 0xd2, 0xb4, 0xbd, 0xf4, 0x2d, 0x28, 0x1d, 0x68, 0x27, 0x27, 0x27, 0x27, 0xe4, 0x1f, 0xc7, 
+    0xd2, 0x6c, 0x34, 0x1d, 0x58, 0xc7, 0x33, 0x64, 0x3d, 0x44, 0x58, 0x64, 0x4c, 0x53, 0x4f, 0x20, 
+    0x21, 0x2d, 0x24, 0xd3, 0x5e, 0x1c, 0x4e, 0x18, 0x67, 0x2b, 0xeb, 0x38, 0x42, 0x44, 0xc0, 0x67, 
+    0xd3, 0x2e, 0x30, 0x34, 0x1f, 0x65, 0x6c, 0x3a, 0x51, 0x58, 0x66, 0xd2, 0xc0, 0x34, 0xb4, 0xbd, 
+    0xc7, 0x4f, 0x25, 0xc3, 0x62, 0xc2, 0xcb, 0x21, 0xc3, 0x37, 0xd3, 0x28, 0xe7, 0x62, 0x5b, 0xa4, 
+    0xcb, 0x48, 0xdc, 0x1c, 0x34, 0x46, 0x2c, 0x69, 0x5b, 0x32, 0x23, 0x3f, 0x66, 0x00, 0x1a, 0xbf, 
+    0x2d, 0x5f, 0x58, 0xf4, 0xd2, 0xb4, 0xc5, 0xcb, 0x3f, 0x52, 0x48, 0xb4, 0xa5, 0xc7, 0xd2, 0x25, 
+    0xd2, 0x5e, 
+};
+
+static const uint16_t mf_rlefont_DejaVuSans32_dictionary_offsets[141] = {
+    0x0000, 0x0002, 0x0005, 0x0007, 0x0008, 0x0009, 0x000a, 0x000c, 
+    0x000f, 0x0011, 0x0013, 0x0016, 0x0017, 0x0019, 0x001a, 0x001e, 
+    0x0022, 0x0024, 0x0027, 0x002a, 0x002d, 0x002f, 0x0031, 0x0034, 
+    0x0038, 0x003a, 0x003e, 0x0040, 0x0042, 0x0044, 0x0046, 0x0047, 
+    0x0049, 0x0055, 0x0056, 0x0057, 0x0059, 0x005a, 0x005d, 0x005f, 
+    0x0060, 0x0062, 0x0064, 0x0067, 0x0068, 0x006b, 0x006e, 0x0070, 
+    0x0072, 0x0074, 0x0075, 0x0078, 0x0079, 0x007a, 0x007c, 0x007e, 
+    0x0080, 0x0085, 0x0088, 0x008a, 0x008d, 0x008f, 0x0091, 0x0099, 
+    0x009c, 0x009e, 0x00a1, 0x00a3, 0x00a6, 0x00ad, 0x00af, 0x00b0, 
+    0x00b2, 0x00b4, 0x00b5, 0x00b6, 0x00b8, 0x00bb, 0x00c7, 0x00c9, 
+    0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00cf, 0x00d1, 0x00d4, 0x00d6, 
+    0x00da, 0x00fd, 0x011c, 0x011e, 0x0121, 0x0123, 0x0125, 0x0129, 
+    0x012c, 0x0132, 0x013c, 0x013e, 0x0142, 0x0149, 0x0159, 0x015d, 
+    0x0160, 0x0163, 0x0166, 0x0168, 0x0172, 0x017c, 0x018c, 0x0195, 
+    0x01a4, 0x01b4, 0x01b6, 0x01b9, 0x01bd, 0x01c9, 0x01cf, 0x01d4, 
+    0x01d6, 0x01d8, 0x01dd, 0x01e1, 0x01e3, 0x0204, 0x0208, 0x0212, 
+    0x0218, 0x021a, 0x0222, 0x0227, 0x0229, 0x022b, 0x022d, 0x0231, 
+    0x0233, 0x0239, 0x023b, 0x023f, 0x0242, 
+};
+
+static const uint8_t mf_rlefont_DejaVuSans32_glyph_data_0[2504] = {
+    0x0a, 0x00, 0x10, 0x0d, 0x6e, 0x6c, 0x80, 0x6f, 0x25, 0x6e, 0x8b, 0x10, 0x0f, 0x6e, 0x68, 0x2c, 
+    0x7e, 0x7e, 0x7e, 0x7e, 0x10, 0x1b, 0x67, 0x6e, 0x52, 0x58, 0x5e, 0x74, 0xc7, 0x4f, 0x9d, 0x2c, 
+    0x8c, 0x5a, 0x24, 0x9d, 0x2c, 0x9d, 0x2c, 0x8c, 0x5a, 0x24, 0x9d, 0xb4, 0x9d, 0xdc, 0xa5, 0xc7, 
+    0x4f, 0x58, 0x5e, 0xc7, 0xd0, 0x57, 0x5f, 0x10, 0x14, 0x4c, 0x4a, 0x1a, 0xc5, 0x28, 0x4a, 0x1b, 
+    0x4b, 0x21, 0x6a, 0x59, 0xfd, 0x24, 0xcb, 0xc7, 0xca, 0x33, 0xb5, 0x37, 0xb4, 0x37, 0xb4, 0x37, 
+    0xe5, 0xc7, 0x21, 0xd1, 0x37, 0x6a, 0x62, 0x49, 0xc7, 0x21, 0x2d, 0x24, 0xc0, 0x67, 0x24, 0x9b, 
+    0x9f, 0x5e, 0x9f, 0x5e, 0x9f, 0x24, 0x3f, 0xb7, 0xcb, 0x3a, 0x46, 0x2c, 0x5a, 0x4f, 0x6a, 0x5e, 
+    0x9d, 0x47, 0x4a, 0x1a, 0xc5, 0x28, 0x10, 0x1e, 0x00, 0x6e, 0xc2, 0x2b, 0xa4, 0x2d, 0xf0, 0x3d, 
+    0xcb, 0x3f, 0xca, 0x47, 0xa7, 0xcb, 0x58, 0x3d, 0xf0, 0xc5, 0xd0, 0x3d, 0xf0, 0xc5, 0xca, 0x1b, 
+    0xa0, 0x67, 0xeb, 0x58, 0xb4, 0x33, 0xe4, 0x82, 0x33, 0xb4, 0xc7, 0x74, 0x3d, 0xcb, 0x9f, 0x52, 
+    0x3b, 0xcb, 0x82, 0xd3, 0x3b, 0xa5, 0xb5, 0xb5, 0x34, 0xa7, 0xcb, 0xd2, 0x3a, 0x82, 0x44, 0x9f, 
+    0x44, 0x68, 0x58, 0x44, 0x74, 0xeb, 0x45, 0xdc, 0x2a, 0x6c, 0x3d, 0x2c, 0xb5, 0xc7, 0x1b, 0xca, 
+    0x2a, 0xcb, 0x47, 0x3b, 0xcb, 0x2b, 0x69, 0xc2, 0x10, 0x19, 0x6e, 0x18, 0x50, 0xc5, 0x2e, 0xea, 
+    0x4f, 0x27, 0x55, 0x41, 0x25, 0xc3, 0x9c, 0xc7, 0x45, 0xf0, 0xb7, 0xcb, 0x58, 0x3d, 0xc2, 0x35, 
+    0x67, 0x58, 0xc5, 0xc2, 0x2c, 0x3d, 0x35, 0xc1, 0x3d, 0x20, 0xd3, 0x3d, 0x18, 0xff, 0xc5, 0x3b, 
+    0x67, 0xc2, 0x33, 0xc5, 0x8f, 0x67, 0x1d, 0x20, 0xd3, 0x3a, 0x1c, 0xc2, 0x33, 0xc3, 0xb5, 0xcb, 
+    0x3a, 0xc3, 0xc5, 0xc2, 0x10, 0x09, 0x6e, 0x91, 0x10, 0x0c, 0x40, 0x6b, 0xc7, 0x28, 0x19, 0x28, 
+    0x27, 0x76, 0x5f, 0x27, 0x7b, 0x25, 0xe7, 0x76, 0x6c, 0x19, 0x25, 0x7a, 0x5e, 0x7a, 0x10, 0x0c, 
+    0x40, 0xcb, 0x61, 0x7a, 0x39, 0xd0, 0x27, 0x69, 0x76, 0xd0, 0x27, 0x7b, 0x28, 0x89, 0x32, 0x19, 
+    0x28, 0x19, 0x28, 0x19, 0x10, 0x10, 0x6e, 0xb4, 0x61, 0xd0, 0x62, 0xa5, 0xc5, 0x51, 0xec, 0xb5, 
+    0x51, 0xf1, 0x5b, 0x49, 0x28, 0xc7, 0x48, 0x90, 0xe5, 0x4f, 0xb1, 0xcb, 0x3f, 0x3d, 0xa7, 0x66, 
+    0xa5, 0xa5, 0x39, 0x9d, 0x47, 0x10, 0x1b, 0x25, 0x60, 0x91, 0x72, 0x1d, 0xd3, 0x47, 0x36, 0x1f, 
+    0x23, 0x36, 0x39, 0x91, 0x10, 0x0a, 0x63, 0x43, 0x4f, 0x89, 0x28, 0x27, 0xf4, 0x28, 0x10, 0x0c, 
+    0x4c, 0x40, 0x43, 0x49, 0x62, 0x49, 0x62, 0x49, 0x10, 0x0a, 0x63, 0x43, 0x4f, 0x89, 0x10, 0x0b, 
+    0x67, 0x40, 0x19, 0x48, 0x76, 0x68, 0x27, 0x76, 0x23, 0xa3, 0x2a, 0x48, 0x76, 0x0f, 0x81, 0x19, 
+    0x48, 0xa3, 0x2a, 0x48, 0xa3, 0x10, 0x14, 0x6e, 0x35, 0x50, 0x52, 0x4e, 0x35, 0x4e, 0x18, 0xf4, 
+    0x33, 0x64, 0x3d, 0xe4, 0xd2, 0x38, 0x38, 0x38, 0x3c, 0x53, 0x00, 0x3c, 0x53, 0x5d, 0x18, 0x4e, 
+    0x35, 0x72, 0x21, 0xc3, 0x62, 0xc3, 0x10, 0x14, 0xf4, 0x6e, 0x98, 0x98, 0x98, 0xf4, 0x91, 0x6f, 
+    0xe4, 0x72, 0x51, 0x23, 0x2d, 0x1a, 0x1c, 0x10, 0x14, 0x6e, 0xc2, 0xcb, 0x72, 0x72, 0xe7, 0x24, 
+    0x3e, 0x41, 0x8b, 0x29, 0x5e, 0x99, 0x25, 0x99, 0x62, 0x9a, 0x1c, 0x10, 0x14, 0x67, 0x40, 0x90, 
+    0x5c, 0xc2, 0x8b, 0x18, 0x37, 0x1d, 0x62, 0xc3, 0x90, 0xc7, 0x32, 0x81, 0x00, 0x8b, 0x3f, 0x93, 
+    0xc7, 0x58, 0x59, 0x4f, 0x4b, 0x5e, 0x49, 0x10, 0x14, 0x25, 0x40, 0x1e, 0x7f, 0x28, 0x23, 0x28, 
+    0x30, 0x32, 0xd2, 0x37, 0x6c, 0x62, 0xa7, 0x66, 0x6b, 0xa7, 0xc7, 0x4f, 0x58, 0x5e, 0x74, 0xcb, 
+    0x4f, 0x44, 0x2a, 0x2c, 0x39, 0xc7, 0xb4, 0x51, 0x29, 0x3d, 0x44, 0xb4, 0x46, 0x5f, 0x46, 0x5f, 
+    0x46, 0x1a, 0x81, 0x89, 0x10, 0x14, 0x6e, 0x1c, 0x72, 0x72, 0x00, 0x4f, 0x8b, 0x67, 0x4b, 0x5c, 
+    0x30, 0x81, 0x41, 0x8b, 0x29, 0x4c, 0xc7, 0x58, 0x59, 0x4f, 0x4b, 0x5e, 0x49, 0x10, 0x14, 0x6e, 
+    0xa4, 0x98, 0x68, 0xd3, 0x39, 0x5a, 0x4f, 0xc7, 0xcc, 0x4f, 0x25, 0x5b, 0x2a, 0x48, 0xa3, 0x2a, 
+    0x2d, 0x9e, 0x1a, 0x49, 0x2d, 0x3b, 0xc7, 0x93, 0x1d, 0x4d, 0x2e, 0x58, 0x2e, 0xb4, 0x34, 0x78, 
+    0x23, 0x73, 0xfd, 0xb4, 0x66, 0x1c, 0x21, 0xc3, 0x62, 0xc3, 0x10, 0x14, 0x61, 0x40, 0x9a, 0x1c, 
+    0xa3, 0x20, 0xa3, 0x2a, 0x48, 0xa3, 0x20, 0xa3, 0x2a, 0x48, 0xa3, 0x20, 0xa3, 0x2a, 0x32, 0x19, 
+    0x48, 0xa3, 0x2a, 0x32, 0x10, 0x14, 0x6e, 0x35, 0x50, 0x66, 0x94, 0x00, 0x1c, 0x66, 0x1c, 0x5e, 
+    0x49, 0x10, 0x14, 0xe4, 0x6e, 0xc3, 0x62, 0xc3, 0xcb, 0x72, 0x4e, 0xa4, 0xcb, 0x2e, 0x93, 0x78, 
+    0xeb, 0x3e, 0x42, 0x35, 0x2e, 0x54, 0xd3, 0x2e, 0x1d, 0x34, 0x46, 0x35, 0x8d, 0x5b, 0x18, 0xa3, 
+    0x20, 0x61, 0xcb, 0x3f, 0x1e, 0x18, 0xc5, 0x24, 0x4b, 0x21, 0x98, 0x23, 0x10, 0x0b, 0x79, 0x10, 
+    0x0b, 0x79, 0x28, 0x27, 0xf4, 0x28, 0x10, 0x1b, 0x6e, 0x60, 0xe5, 0x48, 0x9c, 0x5e, 0x4b, 0x21, 
+    0xd3, 0x39, 0x4b, 0x39, 0x4b, 0x21, 0xd3, 0x5e, 0xc2, 0x25, 0x49, 0x90, 0xa1, 0x1d, 0x28, 0xc3, 
+    0x90, 0xa1, 0xcb, 0x62, 0x93, 0x1e, 0x10, 0x1b, 0x6e, 0x63, 0x22, 0x1c, 0x4c, 0x1d, 0x46, 0x6e, 
+    0x48, 0x36, 0x4c, 0x22, 0x1c, 0x10, 0x1b, 0x25, 0x6e, 0x6e, 0x34, 0x1e, 0xcb, 0x90, 0x90, 0xa1, 
+    0x23, 0x90, 0xa1, 0x1d, 0x28, 0x68, 0x7f, 0x62, 0x49, 0x21, 0x1d, 0x39, 0x4b, 0x21, 0xd3, 0x39, 
+    0x4b, 0x5e, 0x6a, 0x48, 0x3a, 0x1e, 0x10, 0x11, 0x69, 0x6e, 0xc3, 0x62, 0x4b, 0x5e, 0x49, 0xcb, 
+    0x4f, 0x20, 0x39, 0xc5, 0x58, 0x89, 0x32, 0xa3, 0x44, 0x00, 0x3d, 0x48, 0x76, 0xd2, 0x40, 0x37, 
+    0x89, 0x10, 0x20, 0x6e, 0x3b, 0xcb, 0x72, 0xfd, 0x24, 0x46, 0xc3, 0x4d, 0xc7, 0x1b, 0xc2, 0x47, 
+    0xeb, 0x3b, 0x3a, 0xd3, 0x3e, 0x42, 0x58, 0x18, 0xec, 0xa7, 0xc7, 0x58, 0x20, 0xb3, 0xa7, 0xc7, 
+    0xb4, 0xa5, 0x1c, 0x58, 0x20, 0x35, 0x58, 0xc7, 0xd2, 0x58, 0x35, 0x18, 0xa0, 0x30, 0xa0, 0x30, 
+    0xa0, 0x30, 0xa0, 0x82, 0x2a, 0xe2, 0x18, 0x2c, 0x18, 0x58, 0xa5, 0xb3, 0x53, 0x58, 0x1c, 0x74, 
+    0x58, 0x20, 0xd3, 0xc3, 0x3b, 0x18, 0xdc, 0xc7, 0x3b, 0x41, 0x1e, 0x3a, 0x1d, 0x2b, 0x4d, 0xc7, 
+    0xb4, 0xcb, 0x1e, 0x1c, 0x66, 0x1c, 0x5e, 0x6a, 0x10, 0x16, 0x6e, 0x2a, 0x1b, 0x24, 0x7f, 0x90, 
+    0x32, 0x30, 0x32, 0xd2, 0x37, 0xbd, 0x37, 0x69, 0xd2, 0x21, 0x2c, 0x5e, 0xeb, 0x58, 0x57, 0xd2, 
+    0x4e, 0x20, 0x4f, 0x29, 0x1e, 0xe7, 0x44, 0xb4, 0x1c, 0x34, 0x46, 0x54, 0x36, 0x33, 0x2b, 0x64, 
+    0x44, 0xd3, 0x3b, 0x1e, 0x74, 0x64, 0x64, 0x29, 0xf4, 0x45, 0x58, 0x10, 0x16, 0x6e, 0x1c, 0x72, 
+    0x59, 0x74, 0x3d, 0xe4, 0xc2, 0x38, 0x42, 0x44, 0x69, 0x53, 0x34, 0x1c, 0x59, 0x4e, 0x5a, 0x42, 
+    0x35, 0x42, 0x44, 0x6c, 0x2b, 0x64, 0x44, 0x30, 0x2b, 0x64, 0x44, 0x30, 0x3b, 0x3a, 0xd2, 0x3e, 
+    0x2f, 0x0f, 0x1c, 0x34, 0x1c, 0x10, 0x16, 0x6e, 0x4d, 0xcb, 0x72, 0xe5, 0x33, 0x1c, 0x24, 0xcb, 
+    0xa4, 0xcb, 0x1e, 0x1f, 0x3f, 0x3b, 0xa3, 0x2a, 0x32, 0x80, 0x00, 0x27, 0x75, 0x1a, 0x24, 0x68, 
+    0x4d, 0xe4, 0x1e, 0x1c, 0x59, 0x5e, 0x6a, 0x10, 0x19, 0x6e, 0x1c, 0x72, 0xeb, 0x2f, 0x74, 0x8f, 
+    0x64, 0x20, 0x3a, 0x1f, 0xeb, 0x3d, 0x1b, 0xd2, 0x3d, 0x3b, 0x56, 0xff, 0x56, 0xff, 0x56, 0x74, 
+    0x64, 0x64, 0x29, 0x4d, 0x3d, 0x69, 0x64, 0x64, 0x18, 0x4c, 0xd2, 0x3b, 0x67, 0x29, 0xec, 0xd3, 
+    0x3a, 0x36, 0x24, 0x1c, 0x34, 0x1c, 0x10, 0x14, 0x6e, 0x46, 0x9a, 0x80, 0x5a, 0x3c, 0x1c, 0x59, 
+    0xe5, 0x33, 0x7b, 0x00, 0x5e, 0x9a, 0x1c, 0x10, 0x12, 0x6e, 0x1c, 0x51, 0x49, 0x66, 0x1c, 0x51, 
+    0x80, 0x4b, 0x72, 0x72, 0x39, 0x91, 0x27, 0x10, 0x19, 0x6e, 0x18, 0xd3, 0x21, 0x6a, 0x59, 0xff, 
+    0x24, 0xcb, 0xa4, 0xcb, 0x1e, 0x1f, 0x3f, 0x3b, 0xa3, 0x20, 0xf4, 0x32, 0x27, 0x1b, 0x49, 0x3d, 
+    0x18, 0x23, 0x3d, 0x18, 0x23, 0x56, 0xc7, 0x3b, 0x56, 0x1f, 0x8a, 0x2b, 0x3e, 0xe5, 0x58, 0xc7, 
+    0x1e, 0x1c, 0x59, 0x21, 0x23, 0x10, 0x18, 0x6e, 0x95, 0x95, 0x1f, 0x8a, 0x1c, 0x8a, 0x1c, 0x8a, 
+    0x1c, 0x65, 0x6c, 0x3a, 0x95, 0x95, 0x10, 0x09, 0x6e, 0x91, 0x80, 0x6f, 0x10, 0x09, 0x6e, 0x91, 
+    0x6f, 0x7b, 0x32, 0xf5, 0x48, 0x9c, 0x77, 0x10, 0x15, 0x6e, 0x68, 0x3b, 0x3a, 0xd2, 0x3e, 0x42, 
+    0xec, 0xcb, 0x33, 0x73, 0x20, 0x96, 0xc2, 0x37, 0x23, 0x77, 0x68, 0x86, 0x57, 0xe2, 0x39, 0xcb, 
+    0x58, 0x51, 0x73, 0x3e, 0x3c, 0xeb, 0x3e, 0x42, 0x20, 0x3a, 0xd2, 0x3b, 0x10, 0x12, 0x6e, 0x91, 
+    0x6f, 0x89, 0x00, 0x5e, 0x9a, 0x1c, 0x10, 0x1c, 0x6e, 0x1d, 0x47, 0x1f, 0x1d, 0x1b, 0x2d, 0x35, 
+    0x74, 0x58, 0x1f, 0x1d, 0x1b, 0x2d, 0x58, 0xd2, 0x3f, 0xd2, 0x1f, 0xef, 0xc7, 0x58, 0xd2, 0x47, 
+    0xc1, 0x20, 0x30, 0x8e, 0x8e, 0x1a, 0xb7, 0xa7, 0xcb, 0x1f, 0xa7, 0xa7, 0xc7, 0x1f, 0xa7, 0xc7, 
+    0xcb, 0xd2, 0x47, 0xa5, 0xbf, 0x92, 0x68, 0x92, 0x68, 0x45, 0x30, 0xa4, 0xd3, 0x45, 0x30, 0xa4, 
+    0xd3, 0x45, 0xd2, 0x58, 0x74, 0x1f, 0x74, 0xd2, 0x3f, 0x95, 0x68, 0x10, 0x18, 0x6e, 0x68, 0x74, 
+    0x44, 0x68, 0x74, 0x44, 0x2d, 0xfe, 0x8a, 0x74, 0x6b, 0x8a, 0x53, 0x3a, 0xdb, 0xc7, 0x44, 0xdb, 
+    0xcb, 0x44, 0xcb, 0xcb, 0x44, 0xcb, 0xd2, 0x44, 0xeb, 0xc0, 0x44, 0x68, 0x58, 0x44, 0x68, 0x35, 
+    0x45, 0xa0, 0xe4, 0x58, 0x20, 0x2c, 0x4c, 0x6c, 0x2a, 0xcb, 0x3d, 0xb4, 0xbd, 0x3a, 0xcb, 0xa4, 
+    0xbb, 0xc5, 0x2b, 0xeb, 0xcb, 0x3d, 0xa4, 0x2d, 0x29, 0x8f, 0x29, 0x8f, 0x29, 0x35, 0xc5, 0x2b, 
+    0x00, 0xc2, 0x10, 0x19, 0x6e, 0x70, 0x85, 0x5e, 0x49, 0x10, 0x13, 0x6e, 0x5a, 0x72, 0x51, 0x4b, 
+    0xc7, 0x33, 0x73, 0x3e, 0x3c, 0x78, 0x78, 0x53, 0xf5, 0x33, 0x73, 0x4b, 0x59, 0x69, 0x3c, 0x5a, 
+    0x39, 0x91, 0x10, 0x19, 0x6e, 0x70, 0x85, 0x5e, 0x4b, 0x75, 0x75, 0x10, 0x16, 0x6e, 0x5a, 0x72, 
+    0x51, 0x4b, 0xc7, 0x33, 0x73, 0x67, 0xd3, 0x42, 0xb4, 0x34, 0x78, 0x53, 0xf5, 0x33, 0x73, 0x5a, 
+    0x3c, 0x1c, 0x72, 0x39, 0xcb, 0x58, 0x51, 0x73, 0x64, 0x3d, 0x2a, 0xe4, 0x2b, 0xd2, 0x38, 0x0f, 
+    0x33, 0x2b, 0x64, 0x20, 0x10, 0x14, 0xe4, 0x6e, 0x49, 0x21, 0x6a, 0x59, 0xf5, 0x2e, 0xdc, 0x67, 
+    0x3b, 0x76, 0x5f, 0x81, 0xe7, 0x90, 0x66, 0xa4, 0x4b, 0x9c, 0xe5, 0x32, 0x81, 0xfd, 0x76, 0xd3, 
+    0x3a, 0xca, 0x3f, 0x93, 0x46, 0xdc, 0x1c, 0x39, 0x4b, 0x10, 0x14, 0xe4, 0x40, 0x32, 0x36, 0x1e, 
+    0x31, 0x91, 0x6f, 0x89, 0x10, 0x17, 0x6e, 0x95, 0x95, 0x95, 0x95, 0x1f, 0x8a, 0x3b, 0x33, 0x1b, 
+    0xd2, 0x3a, 0xc2, 0x18, 0x34, 0x1c, 0x66, 0x1c, 0x5e, 0x49, 0x10, 0x16, 0x40, 0x19, 0x67, 0x45, 
+    0x6c, 0x56, 0xeb, 0x3b, 0x4c, 0x6c, 0x2b, 0x64, 0x44, 0x30, 0xc5, 0xa4, 0xcb, 0x3a, 0x78, 0x84, 
+    0x44, 0x69, 0x2a, 0xd3, 0x39, 0x82, 0x5e, 0x82, 0x4c, 0x1a, 0xbf, 0x32, 0x30, 0x9c, 0x28, 0x7f, 
+    0xa3, 0x10, 0x20, 0x40, 0x55, 0x3b, 0x1b, 0x82, 0x3f, 0x58, 0x53, 0xc5, 0x53, 0x53, 0x3f, 0x53, 
+    0x53, 0x3f, 0x53, 0x53, 0xa4, 0xcb, 0xb4, 0xbd, 0x18, 0x2a, 0xf4, 0xcb, 0xcb, 0x58, 0x29, 0xcb, 
+    0xcb, 0x58, 0x29, 0xcb, 0xcb, 0x58, 0x4d, 0x58, 0xb4, 0xa5, 0x53, 0xa2, 0xe4, 0xa2, 0xec, 0x74, 
+    0x58, 0xa2, 0x3e, 0x69, 0xcb, 0x58, 0xc0, 0x1b, 0xd2, 0xd2, 0x3f, 0xcb, 0xcb, 0x1b, 0xab, 0x74, 
+    0xd2, 0xd2, 0x1b, 0xb2, 0xcb, 0xb4, 0xbd, 0x1b, 0x8f, 0x2d, 0x20, 0x74, 0x8f, 0x20, 0x74, 0x8f, 
+    0x20, 0x74, 0x8f, 0x18, 0x67, 0xf0, 0x8a, 0x3b, 0x10, 0x16, 0x69, 0x40, 0x41, 0x3b, 0x33, 0xfd, 
+    0x3f, 0x93, 0x53, 0x5d, 0x18, 0x4e, 0x35, 0x57, 0xeb, 0x21, 0xc0, 0x37, 0x1d, 0x77, 0xe7, 0x48, 
+    0x61, 0xd3, 0x28, 0xd3, 0x62, 0x49, 0x62, 0xcb, 0xcb, 0x21, 0xc0, 0x21, 0x35, 0x39, 0xcb, 0x58, 
+    0x4e, 0x18, 0x67, 0x3b, 0x3e, 0x42, 0x44, 0xe2, 0x3b, 0x1e, 0xcb, 0x3b, 0x10, 0x14, 0x40, 0x41, 
+    0x47, 0x8a, 0x00, 0x3e, 0x42, 0x45, 0x4d, 0x73, 0xe5, 0x93, 0x2c, 0x44, 0x4d, 0x9b, 0x23, 0x5b, 
+    0x54, 0xbf, 0x9c, 0x28, 0x68, 0x76, 0x00, 0x91, 0x10, 0x16, 0x40, 0x55, 0x36, 0x1e, 0x31, 0x18, 
+    0x25, 0xd3, 0x28, 0xc7, 0x48, 0x25, 0x99, 0x61, 0x99, 0x25, 0x5b, 0x20, 0x25, 0xd3, 0x90, 0x1c, 
+    0x1e, 0x31, 0x10, 0x0c, 0x40, 0x6a, 0x9c, 0x9c, 0x32, 0x80, 0x6f, 0x6f, 0xf4, 0x90, 0x9c, 0x9c, 
+    0x10, 0x0b, 0x40, 0x27, 0x0f, 0x27, 0x41, 0x89, 0x69, 0x32, 0x27, 0x41, 0x27, 0x41, 0x89, 0x69, 
+    0x32, 0x27, 0x00, 0x89, 0x28, 0x81, 0x10, 0x0c, 0x40, 0x6a, 0x9c, 0x48, 0x91, 0x6f, 0x7b, 0x5e, 
+    0x6a, 0x9c, 0x9c, 0x10, 0x1b, 0x6e, 0x3e, 0x97, 0xc0, 0x21, 0x35, 0x4e, 0x18, 0x67, 0x3b, 0x3e, 
+    0x67, 0x3e, 0x3b, 0x1e, 0xcb, 0x3b, 0x10, 0x10, 0x62, 0x6e, 0x43, 0x43, 0x36, 0x2f, 0x46, 0x10, 
+    0x44, 0x33, 0x55, 0x4a, 0x4c, 0x7a, 0x10, 0x14, 0x63, 0x4d, 0x68, 0x5c, 0xc0, 0x61, 0xd2, 0x27, 
+    0x21, 0xc3, 0x51, 0x49, 0x59, 0xf5, 0x33, 0xc7, 0xb4, 0x34, 0x78, 0x53, 0x34, 0x23, 0x20, 0x59, 
+    0x51, 0x8d, 0x10, 0x14, 0x40, 0x68, 0x80, 0x88, 0x23, 0x38, 0x38, 0x2e, 0x7d, 0x10, 0x12, 0x63, 
+    0x3b, 0xeb, 0x21, 0x6a, 0x72, 0x4f, 0xe7, 0xa4, 0x4e, 0xa3, 0xa4, 0x81, 0x8b, 0xf4, 0x2a, 0x28, 
+    0xe7, 0x28, 0xcb, 0xb4, 0x72, 0x21, 0x6a, 0x62, 0x6a, 0x10, 0x14, 0x62, 0x25, 0x27, 0x8b, 0x71, 
+    0x10, 0x14, 0x00, 0x63, 0x3e, 0x50, 0x66, 0x1d, 0x20, 0x67, 0x2b, 0xcb, 0x42, 0x58, 0x42, 0x44, 
+    0x69, 0x36, 0x2f, 0x46, 0x6c, 0x27, 0xfd, 0x3c, 0x2b, 0xc8, 0x24, 0xeb, 0x44, 0xa4, 0x1c, 0x39, 
+    0x5a, 0x5e, 0x6a, 0x10, 0x0b, 0x40, 0x8f, 0x24, 0x98, 0x98, 0x34, 0x2b, 0x57, 0x5e, 0x5a, 0x39, 
+    0x5a, 0x39, 0x5a, 0x37, 0x80, 0x6f, 0x10, 0x14, 0x1b, 0x63, 0x71, 0x19, 0x48, 0x39, 0x64, 0x1e, 
+    0x4d, 0x51, 0x4b, 0x39, 0x5a, 0x5e, 0x6a, 0x10, 0x14, 0x40, 0x68, 0x80, 0x8f, 0x9e, 0x1a, 0x87, 
+    0x3c, 0x78, 0x78, 0x78, 0x78, 0x78, 0x10, 0x09, 0x7c, 0x6f, 0x6f, 0x10, 0x09, 0x7c, 0x80, 0x80, 
+    0x7b, 0x48, 0x77, 0xa1, 0x10, 0x13, 0x4c, 0x25, 0x7b, 0xa4, 0xcb, 0x33, 0x73, 0x20, 0x96, 0xe2, 
+    0x62, 0x6a, 0x77, 0x68, 0x86, 0x57, 0xe2, 0x39, 0xcb, 0x58, 0x51, 0x73, 0x67, 0x1d, 0x10, 0x09, 
+    0x40, 0x91, 0x6f, 0x7b, 0x10, 0x1f, 0xe4, 0x63, 0x82, 0x74, 0xc2, 0x47, 0xc1, 0xd3, 0xc0, 0xd3, 
+    0x1b, 0x1c, 0xc1, 0x2d, 0xc2, 0x35, 0x9f, 0xfd, 0x3e, 0x18, 0xfd, 0xa4, 0x53, 0x67, 0x53, 0x67, 
+    0x53, 0x67, 0x53, 0x67, 0x53, 0x83, 0x83, 0x83, 0x10, 0x14, 0x00, 0x63, 0x58, 0x8f, 0x9e, 0x1a, 
+    0x87, 0x3c, 0x78, 0x78, 0x78, 0x78, 0x78, 0x10, 0x14, 0x00, 0x63, 0x3e, 0x50, 0xff, 0x4e, 0xa5, 
+    0xd3, 0x3c, 0x53, 0x67, 0x3b, 0x3e, 0x38, 0x38, 0x2e, 0x00, 0x93, 0x53, 0x3c, 0xc2, 0x58, 0x66, 
+    0x1c, 0x21, 0xc3, 0x62, 0xc3, 0x10, 0x14, 0x00, 0x63, 0x58, 0x88, 0x23, 0x38, 0x38, 0x2e, 0x7d, 
+    0x69, 0x4f, 0x80, 0x10, 0x14, 0x1b, 0x63, 0x71, 0x7b, 0x10, 0x0d, 0x00, 0x63, 0x58, 0x9b, 0xbb, 
+    0xd3, 0x21, 0xc3, 0x5e, 0xc3, 0x28, 0xc7, 0x48, 0x76, 0x00, 0x91, 0x10, 0x11, 0x63, 0x4d, 0x23, 
+    0x5e, 0x5a, 0x39, 0x5a, 0x4f, 0xc5, 0xcc, 0x4f, 0x27, 0x7f, 0x23, 0x62, 0x4b, 0x90, 0x41, 0x27, 
+    0x3c, 0xe8, 0x64, 0x1e, 0xe7, 0xb4, 0x66, 0x1c, 0x21, 0xc3, 0x62, 0xc3, 0x10, 0x0d, 0x6e, 0x68, 
+    0x8b, 0x18, 0x6a, 0x21, 0x6a, 0x39, 0xc2, 0x98, 0x27, 0x6f, 0x75, 0x23, 0x62, 0x49, 0x28, 0x23, 
+    0x10, 0x14, 0x3f, 0x63, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x53, 0x34, 0x23, 0x4d, 0x5d, 0x35, 
+    0x59, 0x51, 0x8d, 0x10, 0x13, 0x63, 0x2c, 0x67, 0x2c, 0x42, 0xb4, 0x34, 0x78, 0x84, 0x44, 0x4d, 
+    0x9b, 0x68, 0x2c, 0x5e, 0x82, 0x4c, 0x1a, 0xbf, 0x32, 0x30, 0x32, 0x30, 0x28, 0xeb, 0x28, 0x7f, 
+    0x10, 0x1a, 0x63, 0xec, 0x74, 0xc2, 0x2a, 0x29, 0x1d, 0x2a, 0xe4, 0x58, 0xa4, 0xd3, 0x92, 0x68, 
+    0x92, 0x68, 0x92, 0x68, 0x45, 0x00, 0x82, 0x82, 0x1e, 0xb7, 0xb5, 0xbd, 0x1e, 0xb7, 0xb5, 0xbd, 
+    0x1e, 0xb7, 0xb5, 0xbd, 0x3a, 0xdb, 0xa7, 0xbf, 0x33, 0xcb, 0x8f, 0x3e, 0x74, 0xc3, 0x33, 0xcb, 
+    0x8f, 0x67, 0xc2, 0xa4, 0xd3, 0x2e, 0x93, 0x23, 0x4d, 0x67, 0x3b, 0x4d, 0x10, 0x13, 0x63, 0x35, 
+    0x3e, 0x67, 0x3b, 0x18, 0x4e, 0x35, 0x57, 0x23, 0x21, 0xc0, 0x37, 0x1d, 0x77, 0x52, 0x4c, 0x1e, 
+    0x7f, 0x97, 0x6c, 0x5e, 0xd3, 0xc0, 0x57, 0x30, 0x51, 0xf5, 0x58, 0x5d, 0x4d, 0x2e, 0x35, 0x10, 
+    0x13, 0x63, 0x2c, 0x2b, 0x1b, 0x78, 0x23, 0x73, 0x29, 0x1e, 0xeb, 0x44, 0x2a, 0x93, 0x2c, 0x44, 
+    0x69, 0x2a, 0xd3, 0x39, 0x82, 0x37, 0xbd, 0x62, 0xeb, 0xd3, 0x37, 0xd2, 0x77, 0xf5, 0x32, 0xc7, 
+    0x48, 0xa3, 0x2a, 0x32, 0x19, 0x48, 0x77, 0xa1, 0x10, 0x11, 0x63, 0x2c, 0x5a, 0x3c, 0x1c, 0x59, 
+    0xf5, 0x48, 0x61, 0x99, 0x61, 0x99, 0xf4, 0x48, 0x25, 0x1c, 0x59, 0xf5, 0x24, 0x1c, 0x10, 0x14, 
+    0x67, 0x40, 0xc2, 0x9c, 0x9c, 0x67, 0x2e, 0x37, 0x7b, 0x48, 0x62, 0x6a, 0x32, 0x52, 0x90, 0x19, 
+    0x25, 0x91, 0x75, 0x68, 0x48, 0x7f, 0x10, 0x0b, 0x4c, 0x61, 0x6f, 0x6f, 0x6f, 0x6f, 0x10, 0x14, 
+    0x40, 0xfe, 0xd3, 0x90, 0x9c, 0x41, 0x6f, 0x75, 0x7f, 0x9c, 0x32, 0x61, 0x91, 0xf4, 0x48, 0x62, 
+    0x6a, 0x9c, 0x62, 0xc2, 0x10, 0x1b, 0x60, 0x63, 0x21, 0xe7, 0x3f, 0xcc, 0x4c, 0x5a, 0x45, 0xc0, 
+    0x36, 0x3d, 0xf0, 0x4b, 0x1e, 0x3b, 0xff, 0x10, 
+};
+
+static const uint16_t mf_rlefont_DejaVuSans32_glyph_offsets_0[95] = {
+    0x0000, 0x0003, 0x000c, 0x0015, 0x0038, 0x0077, 0x00c9, 0x0105, 
+    0x0109, 0x011f, 0x0135, 0x0156, 0x0165, 0x016f, 0x0179, 0x017f, 
+    0x0196, 0x01b7, 0x01c8, 0x01dc, 0x01f8, 0x0225, 0x023e, 0x026b, 
+    0x0285, 0x0292, 0x02bd, 0x02c0, 0x02c7, 0x02e7, 0x02f6, 0x0317, 
+    0x0332, 0x0389, 0x03bc, 0x03e6, 0x0408, 0x0437, 0x0448, 0x0458, 
+    0x0486, 0x0497, 0x049d, 0x04a8, 0x04cd, 0x04d7, 0x051c, 0x0563, 
+    0x056a, 0x0583, 0x058c, 0x05b5, 0x05da, 0x05e5, 0x05fb, 0x0622, 
+    0x0679, 0x06ad, 0x06c9, 0x06e3, 0x06f1, 0x0707, 0x0714, 0x0727, 
+    0x072f, 0x0737, 0x0753, 0x075e, 0x077a, 0x0781, 0x07a4, 0x07b7, 
+    0x07c8, 0x07d7, 0x07dc, 0x07e5, 0x07ff, 0x0805, 0x0829, 0x0838, 
+    0x0856, 0x0864, 0x086a, 0x087c, 0x089d, 0x08b1, 0x08c4, 0x08e1, 
+    0x091d, 0x0940, 0x0969, 0x097f, 0x0997, 0x099f, 0x09b5, 
+};
+
+static const struct mf_rlefont_char_range_s mf_rlefont_DejaVuSans32_char_ranges[] = {
+    {32, 95, mf_rlefont_DejaVuSans32_glyph_offsets_0, mf_rlefont_DejaVuSans32_glyph_data_0},
+};
+
+const struct mf_rlefont_s mf_rlefont_DejaVuSans32 = {
+    {
+    "DejaVu Sans Book 32",
+    "DejaVuSans32",
+    33, /* width */
+    34, /* height */
+    9, /* min x advance */
+    32, /* max x advance */
+    2, /* baseline x */
+    26, /* baseline y */
+    37, /* line height */
+    2, /* flags */
+    63, /* fallback character */
+    &mf_rlefont_character_width,
+    &mf_rlefont_render_character,
+    },
+    4, /* version */
+    mf_rlefont_DejaVuSans32_dictionary_data,
+    mf_rlefont_DejaVuSans32_dictionary_offsets,
+    87, /* rle dict count */
+    140, /* total dict count */
+    1, /* char range count */
+    mf_rlefont_DejaVuSans32_char_ranges,
+};
+
+#ifdef MF_INCLUDED_FONTS
+/* List entry for searching fonts by name. */
+static const struct mf_font_list_s mf_rlefont_DejaVuSans32_listentry = {
+    MF_INCLUDED_FONTS,
+    (struct mf_font_s*)&mf_rlefont_DejaVuSans32
+};
+#undef MF_INCLUDED_FONTS
+#define MF_INCLUDED_FONTS (&mf_rlefont_DejaVuSans32_listentry)
+#endif
+
+
+/* End of automatically generated font definition for DejaVuSans32. */
+
diff --git a/src/gdisp/fonts/DejaVuSans32_aa.c b/src/gdisp/fonts/DejaVuSans32_aa.c
new file mode 100644
index 00000000..8b8f6e8d
--- /dev/null
+++ b/src/gdisp/fonts/DejaVuSans32_aa.c
@@ -0,0 +1,569 @@
+
+
+/* Start of automatically generated font definition for DejaVuSans32_aa. */
+
+#ifndef MF_RLEFONT_INTERNALS
+#define MF_RLEFONT_INTERNALS
+#endif
+#include "mf_rlefont.h"
+
+#ifndef MF_RLEFONT_VERSION_4_SUPPORTED
+#error The font file is not compatible with this version of mcufont.
+#endif
+
+static const uint8_t mf_rlefont_DejaVuSans32_aa_dictionary_data[740] = {
+    0x86, 0x1a, 0x86, 0x1a, 0x85, 0x1e, 0x82, 0x1e, 0x81, 0x12, 0x82, 0x08, 0x1a, 0x1d, 0x05, 0x85, 
+    0x13, 0x1c, 0x88, 0x0f, 0x81, 0xcb, 0x0a, 0x82, 0x0f, 0x80, 0x1e, 0x82, 0x1e, 0x82, 0x83, 0x08, 
+    0x0c, 0xce, 0x1d, 0x0d, 0x40, 0x07, 0x8d, 0x13, 0xc9, 0x85, 0x1e, 0x82, 0x15, 0x17, 0x8c, 0x01, 
+    0x18, 0x01, 0xc1, 0x11, 0x82, 0x09, 0x81, 0xcd, 0x1b, 0x0f, 0x16, 0x80, 0xcc, 0x80, 0xc5, 0x80, 
+    0xca, 0x1e, 0xc6, 0x81, 0x04, 0x81, 0x0d, 0x93, 0x0d, 0x93, 0x41, 0x11, 0x8b, 0xce, 0xcc, 0x03, 
+    0x84, 0x01, 0x02, 0xcd, 0xc2, 0xcd, 0xc9, 0x91, 0x06, 0x4f, 0x01, 0x8f, 0x11, 0x8f, 0x11, 0x8f, 
+    0x0b, 0xc9, 0x81, 0xc6, 0xcb, 0x81, 0xca, 0xc3, 0xc1, 0x01, 0x82, 0x01, 0xc8, 0x81, 0x80, 0xc7, 
+    0x0f, 0x82, 0x02, 0x0c, 0x82, 0x80, 0xcd, 0xce, 0x80, 0x11, 0x82, 0x09, 0x82, 0x12, 0x82, 0x09, 
+    0x82, 0x01, 0xc5, 0x81, 0xc9, 0xc4, 0x80, 0xce, 0xcd, 0xc1, 0xc6, 0xc2, 0xca, 0xcd, 0x80, 0xc8, 
+    0xc1, 0xc4, 0xca, 0xc5, 0xc8, 0xcd, 0xc1, 0xcd, 0x81, 0xcb, 0xc1, 0xc3, 0xc7, 0xce, 0xc1, 0x01, 
+    0xc9, 0xc1, 0x02, 0xc5, 0x01, 0xc2, 0xc7, 0x80, 0xc2, 0xcd, 0xca, 0xc4, 0x01, 0x42, 0x3b, 0x09, 
+    0xc7, 0xc2, 0x0e, 0xc2, 0xc8, 0xce, 0xc5, 0xc2, 0xce, 0x80, 0x10, 0xc4, 0xc1, 0x0a, 0x19, 0xc8, 
+    0xc2, 0xc2, 0x82, 0xc1, 0xc7, 0x07, 0x80, 0xc3, 0x01, 0xcd, 0xc3, 0x82, 0xc1, 0x01, 0xc2, 0xc6, 
+    0xc8, 0xc4, 0xca, 0x81, 0xcc, 0xc1, 0xc7, 0x81, 0xce, 0xc2, 0xc2, 0xcd, 0x81, 0xc1, 0x80, 0x40, 
+    0x28, 0x12, 0x82, 0xcb, 0xc6, 0xc2, 0xc1, 0x81, 0xc4, 0x01, 0x80, 0xcb, 0xcd, 0xca, 0xcc, 0x81, 
+    0x80, 0xc4, 0xc1, 0xc3, 0xc1, 0x82, 0xcb, 0x81, 0x01, 0xc2, 0xde, 0xce, 0x81, 0xc9, 0xcd, 0x80, 
+    0xc9, 0x81, 0x11, 0x82, 0x08, 0x82, 0x08, 0x82, 0x08, 0x82, 0x08, 0x82, 0x08, 0x82, 0x08, 0x82, 
+    0x08, 0x82, 0x08, 0x82, 0x08, 0x82, 0x08, 0x82, 0x08, 0x82, 0x08, 0x82, 0x08, 0x82, 0x07, 0xc4, 
+    0x81, 0xc4, 0xce, 0x01, 0x81, 0x01, 0x01, 0xc3, 0xc3, 0x81, 0xcd, 0xcb, 0xc9, 0xc2, 0xc7, 0xc1, 
+    0x14, 0xcb, 0xcd, 0x91, 0x01, 0x05, 0x0e, 0x9f, 0x97, 0x0e, 0x1d, 0xeb, 0xe0, 0x31, 0x92, 0x0f, 
+    0x40, 0x9e, 0x1f, 0x4d, 0x4e, 0xe3, 0x44, 0x76, 0x51, 0x49, 0xe3, 0x85, 0x9f, 0x4d, 0x0a, 0x1e, 
+    0x38, 0x02, 0x76, 0x51, 0x2c, 0x84, 0x58, 0x47, 0x51, 0x4b, 0x4c, 0x8c, 0x94, 0x24, 0x19, 0x24, 
+    0x83, 0x3f, 0x6f, 0x68, 0x02, 0x94, 0x28, 0x1c, 0x91, 0x84, 0x19, 0x24, 0x19, 0x24, 0x0f, 0x38, 
+    0x83, 0xe2, 0x5b, 0x4c, 0x9a, 0x7c, 0x39, 0x47, 0x51, 0x8b, 0x47, 0x0b, 0x4b, 0x36, 0xdc, 0x5b, 
+    0x76, 0x04, 0x34, 0x36, 0xdc, 0x77, 0x76, 0x81, 0x57, 0x1a, 0x4d, 0x54, 0x54, 0x54, 0x54, 0x54, 
+    0x9f, 0x2a, 0x2d, 0x2d, 0x19, 0x24, 0x51, 0x50, 0x23, 0x84, 0x51, 0x50, 0x23, 0x84, 0x51, 0x50, 
+    0x23, 0x84, 0x51, 0x41, 0x51, 0x51, 0x50, 0x23, 0x1c, 0x8e, 0x06, 0x1c, 0x06, 0x22, 0x1c, 0x0f, 
+    0x22, 0x26, 0x8a, 0x08, 0x6b, 0xdc, 0x39, 0x26, 0x05, 0x22, 0x6b, 0xdc, 0x66, 0x76, 0x8f, 0x34, 
+    0x33, 0xf2, 0x33, 0xf2, 0x6b, 0xdc, 0x66, 0x76, 0x8f, 0x34, 0x6b, 0xdc, 0x39, 0x26, 0x05, 0x22, 
+    0x29, 0xd4, 0x22, 0x26, 0x8a, 0x08, 0x1d, 0x51, 0x4f, 0x47, 0x7e, 0x66, 0x1d, 0x51, 0x4b, 0x4c, 
+    0x8c, 0x7c, 0x3a, 0x47, 0x51, 0x2c, 0x84, 0x58, 0x95, 0x4d, 0x0a, 0x1e, 0x38, 0x02, 0x3d, 0x50, 
+    0x05, 0x5a, 0x57, 0x85, 0x67, 0xf2, 0x83, 0x8f, 0x0c, 0xe3, 0x4b, 0xf2, 0x83, 0x5f, 0x1e, 0x93, 
+    0x84, 0x83, 0x7c, 0x3a, 0x4c, 0x8c, 0x0a, 0xe3, 0x95, 0x74, 0x07, 0x47, 0x07, 0x25, 0x95, 0x08, 
+    0x22, 0x26, 0x0c, 0x84, 0x95, 0x8e, 0x05, 0x26, 0x05, 0x84, 0x95, 0x53, 0x66, 0x26, 0x74, 0x33, 
+    0xf2, 0x33, 0xf2, 0x95, 0x53, 0x66, 0x26, 0x74, 0x95, 0x8e, 0x05, 0x26, 0x05, 0x84, 0x95, 0x08, 
+    0x22, 0x26, 0x0c, 0x84, 0x95, 0x74, 0x07, 0x47, 0x07, 0x25, 0x83, 0x7c, 0x3a, 0x4c, 0x8c, 0x0a, 
+    0xe3, 0x83, 0x5f, 0x1e, 0x93, 0x84, 0x83, 0x8f, 0x0c, 0xe3, 0x4b, 0xf2, 0x2e, 0x4a, 0x53, 0x89, 
+    0x64, 0x94, 0x24, 0x2d, 0x1c, 0x81, 0x1d, 0xe0, 0x0f, 0x57, 0x00, 0x51, 0x69, 0x2e, 0x1e, 0x57, 
+    0x00, 0x23, 0x4d, 0x71, 0x91, 0x01, 0x6b, 0x81, 0x57, 0x71, 0x78, 0x0f, 0x77, 0x29, 0x9a, 0x34, 
+    0x72, 0x1e, 0x00, 0x7c, 0x06, 0x6b, 0x06, 0x4b, 0x3d, 0x7c, 0x3a, 0x47, 0x51, 0x4f, 0x47, 0x7e, 
+    0x66, 0x6e, 0x52, 0x1c, 0x8a, 0x07, 0x20, 0x0b, 0x6b, 0x8e, 0x06, 0x71, 0x8f, 0x94, 0x8b, 0x43, 
+    0x43, 0xe7, 0x04, 0x0d, 0x38, 0x19, 0x24, 0x1d, 0x02, 0x22, 0x1c, 0x55, 0x05, 0x1c, 0x08, 0x57, 
+    0x3b, 0x0b, 0x93, 0x3b, 0x29, 0x51, 0x0f, 0x58, 0x19, 0xfd, 0x43, 0x55, 0x29, 0x6e, 0x52, 0x03, 
+    0x76, 0x9a, 0x0d, 0x94, 0x7f, 0x29, 0x7c, 0x7f, 0x71, 0x6e, 0x3a, 0x27, 0x74, 0x04, 0x27, 0x97, 
+    0x66, 0x00, 0x71, 0x07, 0x22, 0x6b, 0x4a, 0x53, 0x51, 0x50, 0x23, 0x84, 0x51, 0x29, 0x2e, 0x3f, 
+    0x01, 0x8e, 0x01, 0x91, 0x0f, 0x46, 0x71, 0xd4, 0x46, 0x41, 0x68, 0x50, 0x0c, 0x53, 0x35, 0x55, 
+    0x3b, 0x2a, 0x0c, 0x1c, 
+};
+
+static const uint16_t mf_rlefont_DejaVuSans32_aa_dictionary_offsets[188] = {
+    0x0000, 0x0005, 0x0009, 0x000c, 0x000d, 0x000e, 0x000f, 0x0010, 
+    0x0011, 0x0012, 0x0014, 0x0016, 0x0019, 0x001e, 0x001f, 0x0020, 
+    0x0021, 0x0023, 0x0024, 0x0026, 0x0028, 0x002a, 0x002c, 0x002d, 
+    0x002e, 0x0030, 0x0031, 0x0033, 0x0036, 0x0038, 0x0039, 0x003a, 
+    0x003b, 0x003d, 0x003f, 0x0041, 0x0042, 0x0044, 0x0045, 0x004c, 
+    0x004d, 0x004f, 0x0050, 0x0052, 0x0053, 0x0055, 0x0057, 0x0058, 
+    0x0059, 0x0061, 0x0063, 0x0065, 0x0067, 0x0069, 0x006c, 0x006e, 
+    0x0070, 0x0073, 0x0075, 0x0077, 0x0079, 0x0082, 0x0084, 0x0086, 
+    0x0088, 0x008a, 0x008c, 0x008e, 0x0090, 0x0092, 0x0094, 0x0096, 
+    0x0099, 0x009b, 0x009d, 0x00a0, 0x00a3, 0x00a5, 0x00a7, 0x00a9, 
+    0x00ad, 0x00af, 0x00b0, 0x00b2, 0x00b3, 0x00b5, 0x00b7, 0x00ba, 
+    0x00bb, 0x00bd, 0x00be, 0x00bf, 0x00c1, 0x00c3, 0x00c5, 0x00c6, 
+    0x00c8, 0x00ca, 0x00ce, 0x00d0, 0x00d2, 0x00d4, 0x00d6, 0x00d8, 
+    0x00da, 0x00dd, 0x00df, 0x00e1, 0x00e2, 0x00e3, 0x00e5, 0x00e7, 
+    0x00ea, 0x00ec, 0x00ee, 0x00f0, 0x00f2, 0x00f4, 0x00f6, 0x00f8, 
+    0x00fa, 0x00fb, 0x00fd, 0x00ff, 0x0101, 0x0102, 0x0103, 0x011f, 
+    0x0121, 0x0123, 0x0126, 0x0128, 0x012a, 0x012c, 0x012e, 0x0130, 
+    0x0131, 0x0133, 0x0135, 0x0137, 0x013b, 0x013e, 0x014b, 0x015c, 
+    0x0160, 0x0162, 0x0164, 0x0167, 0x0169, 0x016e, 0x0192, 0x0196, 
+    0x01a8, 0x01af, 0x01f4, 0x0251, 0x0254, 0x0256, 0x0258, 0x025a, 
+    0x025d, 0x025f, 0x0270, 0x0272, 0x0279, 0x0281, 0x0283, 0x0287, 
+    0x0290, 0x0295, 0x0298, 0x02a4, 0x02a6, 0x02a8, 0x02aa, 0x02ac, 
+    0x02c6, 0x02c8, 0x02ce, 0x02d0, 0x02d2, 0x02d4, 0x02d9, 0x02dc, 
+    0x02de, 0x02e0, 0x02e2, 0x02e4, 
+};
+
+static const uint8_t mf_rlefont_DejaVuSans32_aa_glyph_data_0[6702] = {
+    0x0a, 0x00, 0x10, 0x0d, 0x82, 0xe0, 0x3b, 0xac, 0x3b, 0x53, 0x28, 0x78, 0x0f, 0x28, 0x78, 0x52, 
+    0x3b, 0x0c, 0x38, 0x3b, 0x0b, 0x88, 0x20, 0x82, 0xc1, 0x10, 0x0f, 0x82, 0xa4, 0xa4, 0xa4, 0xa4, 
+    0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0x10, 0x1b, 0x76, 0x82, 0x81, 0x4f, 0x3d, 0x0e, 0x93, 0x9f, 0xc6, 
+    0x03, 0x41, 0x9b, 0x05, 0x37, 0x09, 0x57, 0x3d, 0x7e, 0x01, 0x2e, 0x78, 0x3a, 0x3d, 0x0b, 0x38, 
+    0x2e, 0x8f, 0x94, 0x06, 0x41, 0x81, 0x4f, 0x37, 0x3c, 0x02, 0x00, 0xc6, 0x03, 0x6f, 0x9b, 0x46, 
+    0x27, 0x9b, 0x46, 0x27, 0x9b, 0x46, 0x95, 0x97, 0x04, 0x41, 0x9b, 0x05, 0x37, 0x08, 0x57, 0x3d, 
+    0x7e, 0x01, 0x37, 0x0c, 0x88, 0x3d, 0x0a, 0x52, 0x37, 0x81, 0x4f, 0x3d, 0x0e, 0x93, 0x9f, 0xc6, 
+    0x03, 0x41, 0x9b, 0x05, 0x29, 0xd4, 0x46, 0x77, 0x26, 0xd4, 0x46, 0x77, 0x26, 0xd4, 0x46, 0x77, 
+    0x6f, 0x9b, 0x05, 0x41, 0x81, 0x4f, 0x37, 0x7e, 0x01, 0x00, 0xc6, 0x03, 0x37, 0x0b, 0x38, 0x3d, 
+    0x09, 0x57, 0x37, 0x81, 0x5b, 0x41, 0x78, 0x3a, 0x37, 0x97, 0x04, 0x43, 0x8f, 0x0f, 0x39, 0x37, 
+    0x08, 0x57, 0x3d, 0x3c, 0x01, 0x10, 0x14, 0x27, 0x1c, 0xdc, 0x20, 0xdc, 0x20, 0xdc, 0x20, 0xdc, 
+    0x1b, 0x9a, 0x09, 0xcf, 0x34, 0x0c, 0x09, 0x05, 0x02, 0x83, 0x32, 0x0b, 0x3f, 0x95, 0x32, 0x0c, 
+    0x30, 0x95, 0x7e, 0x88, 0x70, 0x94, 0x01, 0x02, 0x04, 0x06, 0x5a, 0x83, 0x8a, 0x08, 0xdc, 0x31, 
+    0xa1, 0xdc, 0x31, 0x53, 0x66, 0xdc, 0x31, 0x0c, 0x4b, 0x01, 0xf0, 0x31, 0x3c, 0x57, 0x09, 0x55, 
+    0x72, 0x2c, 0x38, 0x09, 0x05, 0x01, 0x37, 0x05, 0x0d, 0x1e, 0xb6, 0x07, 0x2f, 0x61, 0x0a, 0xe3, 
+    0x4b, 0x37, 0xdc, 0x61, 0x0d, 0x84, 0x06, 0x9f, 0xd4, 0xe5, 0x7c, 0x0c, 0x31, 0xe7, 0x8f, 0xb6, 
+    0x31, 0xe7, 0x32, 0xb6, 0x9f, 0xd4, 0xe5, 0x4e, 0x0c, 0x95, 0x45, 0x05, 0x4c, 0xf8, 0x66, 0x05, 
+    0x8e, 0x4f, 0x1d, 0x51, 0xb6, 0x53, 0x1e, 0x7d, 0x95, 0x3f, 0x3a, 0x01, 0x95, 0x8f, 0x05, 0x08, 
+    0x0b, 0x0c, 0x0d, 0x91, 0x40, 0x08, 0x03, 0x31, 0xdc, 0x20, 0xdc, 0x20, 0xdc, 0x20, 0xdc, 0x20, 
+    0xdc, 0x10, 0x1e, 0x82, 0x8f, 0x5a, 0x52, 0x9d, 0x71, 0x0b, 0x93, 0x27, 0x98, 0x84, 0xb6, 0x04, 
+    0x26, 0x06, 0x0f, 0x62, 0x71, 0xcc, 0x05, 0x01, 0x55, 0x62, 0x3d, 0x32, 0x0e, 0x39, 0x27, 0x7e, 
+    0x08, 0x41, 0x49, 0x07, 0x47, 0x09, 0x88, 0x29, 0x8a, 0x03, 0x41, 0x97, 0x0c, 0x1d, 0x04, 0x0f, 
+    0x7f, 0x29, 0xa1, 0x43, 0x32, 0xb6, 0x3d, 0x78, 0x4f, 0x27, 0xf0, 0xe5, 0xe0, 0x3d, 0x08, 0x38, 
+    0x36, 0xa1, 0x43, 0x32, 0xb6, 0x41, 0x9b, 0x03, 0x36, 0x8a, 0x03, 0x41, 0x9b, 0x0c, 0x41, 0x0c, 
+    0x93, 0x6f, 0x4e, 0x08, 0x41, 0x49, 0x07, 0x43, 0x06, 0xc4, 0x6f, 0xcc, 0x64, 0x55, 0x62, 0x6e, 
+    0x64, 0x8f, 0x92, 0x0f, 0x89, 0x02, 0x69, 0x04, 0x25, 0xb6, 0x04, 0x43, 0x0a, 0x3a, 0x43, 0x98, 
+    0x84, 0xb6, 0x04, 0x26, 0x8f, 0x0a, 0x0e, 0x57, 0x0a, 0x02, 0x43, 0x05, 0x0f, 0x7f, 0x32, 0x53, 
+    0x39, 0x01, 0x55, 0x62, 0x6b, 0x32, 0x0d, 0x0f, 0x06, 0x43, 0x7e, 0x09, 0x41, 0x49, 0x07, 0x6f, 
+    0x08, 0x38, 0x41, 0x8a, 0x03, 0x41, 0x9b, 0x0c, 0x36, 0x9b, 0x03, 0x41, 0xa1, 0x43, 0x32, 0xb6, 
+    0x36, 0x0c, 0x5b, 0x00, 0xdc, 0xe5, 0xe0, 0x6b, 0x07, 0xc4, 0x3d, 0xa1, 0x43, 0x32, 0xb6, 0x29, 
+    0x6e, 0x04, 0x1d, 0x8a, 0x03, 0x41, 0x9b, 0x0c, 0x29, 0x0b, 0x3a, 0x47, 0x7e, 0x09, 0x41, 0x49, 
+    0x07, 0x27, 0x05, 0x57, 0x01, 0x47, 0xcc, 0x64, 0x55, 0x62, 0x69, 0x32, 0x53, 0x06, 0x26, 0x98, 
+    0x84, 0xb6, 0x04, 0x27, 0x09, 0x88, 0x69, 0x8f, 0x0a, 0x0e, 0x57, 0x0a, 0x02, 0x10, 0x19, 0x3d, 
+    0x82, 0x75, 0xcf, 0x0e, 0x89, 0x6a, 0x37, 0xa2, 0x21, 0x47, 0x9b, 0x21, 0x47, 0x0b, 0xb6, 0x08, 
+    0x86, 0x01, 0x02, 0x05, 0x92, 0x2e, 0x53, 0x8b, 0x1c, 0xa1, 0x1c, 0x8e, 0x05, 0x1c, 0x05, 0xb6, 
+    0x04, 0x20, 0x78, 0x84, 0x06, 0x1b, 0xcb, 0x94, 0x4f, 0x2f, 0x32, 0x0c, 0x84, 0x91, 0x5b, 0x1d, 
+    0x8f, 0xb6, 0x29, 0x0a, 0x84, 0x9e, 0x8a, 0x5b, 0x1d, 0x06, 0x22, 0x27, 0x04, 0x84, 0x06, 0x43, 
+    0x5f, 0x93, 0x3d, 0x8e, 0x07, 0x27, 0x0a, 0x4b, 0x3d, 0x80, 0x3a, 0x43, 0x74, 0x02, 0x27, 0x53, 
+    0x66, 0x1d, 0x6e, 0x4b, 0x00, 0x0a, 0x4b, 0x00, 0x51, 0x01, 0x1d, 0x9a, 0x53, 0x34, 0x94, 0x77, 
+    0x29, 0x53, 0x8b, 0x76, 0x98, 0x25, 0x5b, 0x6b, 0x8e, 0x0c, 0x26, 0x7e, 0x34, 0x36, 0x05, 0x84, 
+    0x60, 0x3d, 0x9a, 0x0e, 0x25, 0x39, 0x36, 0x8e, 0x57, 0x07, 0x4c, 0x75, 0x91, 0x53, 0xb6, 0x03, 
+    0x6b, 0x5f, 0x94, 0x1e, 0x77, 0x4e, 0xc4, 0x29, 0x32, 0x2c, 0xb6, 0x04, 0x43, 0x4e, 0x88, 0x6f, 
+    0x6c, 0x0b, 0x53, 0x40, 0x9e, 0x3d, 0x49, 0x93, 0x10, 0x09, 0x82, 0xac, 0x10, 0x0c, 0x3d, 0x2a, 
+    0x0b, 0x88, 0x1c, 0x97, 0x03, 0x1c, 0x0c, 0x88, 0x43, 0xd0, 0x04, 0x1c, 0x0c, 0x52, 0x1c, 0x9b, 
+    0x08, 0x1c, 0x49, 0x03, 0x1c, 0x53, 0x28, 0x03, 0x22, 0x1c, 0x7e, 0x08, 0x1c, 0x7c, 0x05, 0x1c, 
+    0x8a, 0x03, 0xab, 0x02, 0x1c, 0xa1, 0x3d, 0xc3, 0x3b, 0xa1, 0xab, 0x02, 0x1c, 0x8a, 0x03, 0x1c, 
+    0x49, 0x05, 0x1c, 0x3c, 0x08, 0x20, 0x9a, 0x22, 0x1c, 0x78, 0x57, 0x3b, 0x4e, 0x03, 0x1c, 0x9b, 
+    0x08, 0x3b, 0x0c, 0x52, 0x41, 0xd0, 0x04, 0x3b, 0x0c, 0x88, 0x3b, 0x97, 0x03, 0x3b, 0x0b, 0x88, 
+    0x10, 0x0c, 0x2a, 0x0b, 0x88, 0x3b, 0x9b, 0x04, 0x3b, 0x0b, 0x38, 0x41, 0xd0, 0x05, 0x3b, 0x0e, 
+    0x38, 0x3b, 0x4e, 0x03, 0x1c, 0x9b, 0x08, 0x3b, 0x0e, 0x52, 0x3b, 0x8e, 0x03, 0x1c, 0x4e, 0x06, 
+    0x43, 0xd0, 0x09, 0x1c, 0x9b, 0xd2, 0x02, 0x34, 0xb4, 0x57, 0x2d, 0xb4, 0x57, 0x20, 0x8f, 0x34, 
+    0x1c, 0x9b, 0xd2, 0x55, 0x09, 0x1c, 0x4e, 0x06, 0x1c, 0x8e, 0x03, 0x1c, 0x0e, 0x52, 0x1c, 0x9b, 
+    0x08, 0x1c, 0x4e, 0x03, 0x1c, 0x53, 0xd2, 0x55, 0x05, 0x1c, 0x0b, 0x0f, 0xd2, 0x9b, 0x04, 0x1c, 
+    0x0b, 0x88, 0x10, 0x10, 0x00, 0x82, 0xdc, 0x20, 0xdc, 0x72, 0x06, 0x63, 0x00, 0xe7, 0x32, 0x09, 
+    0x06, 0x1f, 0x0c, 0x52, 0x04, 0xc0, 0x83, 0x32, 0x49, 0x08, 0x99, 0x4e, 0x63, 0x83, 0x9a, 0x0c, 
+    0x52, 0x34, 0x38, 0x03, 0x72, 0x06, 0x0e, 0xb6, 0x06, 0x35, 0x06, 0x0e, 0xb6, 0x06, 0x31, 0x9a, 
+    0x0c, 0x52, 0x34, 0x38, 0x03, 0x9f, 0x32, 0x49, 0x08, 0x99, 0x4e, 0x63, 0x95, 0x0c, 0x52, 0x04, 
+    0xc0, 0x1f, 0x06, 0x63, 0x00, 0xe7, 0x32, 0x09, 0x06, 0x37, 0xdc, 0x20, 0xdc, 0x10, 0x1b, 0x3d, 
+    0x2a, 0x82, 0xac, 0x69, 0x51, 0x46, 0x51, 0x46, 0x51, 0x46, 0x2e, 0xac, 0x10, 0x0a, 0xd1, 0x82, 
+    0x68, 0x68, 0xc3, 0xc5, 0x20, 0xc2, 0x0e, 0x77, 0x10, 0x0c, 0x68, 0x68, 0x2d, 0xe3, 0xc3, 0xe3, 
+    0xc3, 0xe3, 0x10, 0x0a, 0x2f, 0x2a, 0x82, 0xa9, 0xa9, 0xb3, 0x10, 0x0b, 0x3d, 0x82, 0x04, 0x34, 
+    0x1c, 0x49, 0x08, 0x20, 0x78, 0x87, 0x35, 0x9b, 0x28, 0x07, 0x4b, 0x1c, 0x8a, 0x05, 0x20, 0x8d, 
+    0x01, 0x20, 0x06, 0x22, 0x1c, 0x8e, 0x06, 0x20, 0xcc, 0x02, 0x00, 0xd0, 0xd2, 0x49, 0x08, 0xab, 
+    0x03, 0x20, 0x9b, 0x28, 0x4e, 0x09, 0x1c, 0x8a, 0x05, 0x20, 0x74, 0x01, 0x20, 0x06, 0x22, 0x1c, 
+    0x8e, 0x06, 0x20, 0x8d, 0x02, 0x00, 0xd0, 0xd2, 0x7c, 0x07, 0xab, 0x03, 0x20, 0x04, 0x34, 0x1c, 
+    0x4e, 0x09, 0x20, 0x78, 0x87, 0x10, 0x14, 0x43, 0x82, 0x9a, 0x92, 0x90, 0x45, 0x03, 0x31, 0x4e, 
+    0xe3, 0x5b, 0x37, 0x08, 0x84, 0x1e, 0x5b, 0x9f, 0x97, 0x88, 0x70, 0x5c, 0x8e, 0x8b, 0x1f, 0x0c, 
+    0x22, 0x47, 0x8e, 0x0c, 0x83, 0x74, 0x02, 0x47, 0x74, 0x02, 0x95, 0x07, 0x4b, 0x26, 0x7c, 0x07, 
+    0x95, 0x7c, 0x06, 0x26, 0x06, 0x4b, 0x95, 0x8a, 0x03, 0x26, 0x9b, 0x0c, 0x95, 0xa1, 0x76, 0x32, 
+    0xb6, 0x95, 0xa1, 0x76, 0x32, 0xb6, 0x33, 0xf2, 0x95, 0xa1, 0x76, 0x32, 0xb6, 0x95, 0xa1, 0x76, 
+    0x32, 0xb6, 0x95, 0x8a, 0x03, 0x26, 0x9b, 0x0c, 0x95, 0x7c, 0x06, 0x26, 0x06, 0x4b, 0x95, 0x07, 
+    0x4b, 0x26, 0x7c, 0x07, 0x95, 0x74, 0x02, 0x47, 0x74, 0x02, 0x83, 0x0c, 0x22, 0x47, 0x8e, 0x0c, 
+    0x1f, 0x97, 0x88, 0x70, 0x5c, 0x8e, 0x8b, 0x9f, 0x08, 0x84, 0x1e, 0x5b, 0x37, 0x4e, 0xe3, 0x5b, 
+    0x2f, 0x9a, 0x92, 0x90, 0x45, 0x03, 0x10, 0x14, 0x82, 0x5c, 0x07, 0x09, 0xcf, 0x94, 0x31, 0x21, 
+    0x69, 0x21, 0x69, 0x0e, 0x0b, 0x09, 0x06, 0x70, 0xac, 0xae, 0xc5, 0x31, 0x30, 0x1f, 0x30, 0x1f, 
+    0x30, 0x10, 0x14, 0x00, 0xd1, 0x8f, 0x05, 0x08, 0xa0, 0x0e, 0x57, 0x9c, 0x9e, 0xb8, 0x84, 0xb6, 
+    0x07, 0x43, 0xa8, 0x5b, 0x1f, 0x89, 0x07, 0x04, 0x86, 0x43, 0x65, 0x91, 0x8b, 0x20, 0x80, 0x0b, 
+    0x1c, 0x97, 0x28, 0x8d, 0xb4, 0x52, 0x1c, 0x06, 0x4b, 0x20, 0x5f, 0x03, 0x20, 0x0b, 0x4b, 0x20, 
+    0x7c, 0x58, 0x35, 0x0a, 0xb6, 0x03, 0x1b, 0xcb, 0x0e, 0x03, 0x72, 0x32, 0x0c, 0xb6, 0x04, 0x1b, 
+    0x80, 0x0e, 0x04, 0x72, 0x9a, 0x0e, 0xb6, 0x04, 0x1b, 0x98, 0xb6, 0x03, 0x1b, 0x3c, 0x52, 0x03, 
+    0x1b, 0x07, 0x84, 0x44, 0x31, 0xdc, 0x3f, 0x66, 0x6b, 0xdc, 0x3f, 0x66, 0x6b, 0xdc, 0x3f, 0x66, 
+    0x10, 0x14, 0x82, 0x7a, 0x09, 0xcf, 0x0e, 0x89, 0x64, 0x71, 0x51, 0x1e, 0x38, 0x02, 0xb8, 0xe3, 
+    0x62, 0x1f, 0x45, 0x05, 0x4c, 0x8f, 0x04, 0x7c, 0x93, 0x1c, 0x07, 0x34, 0x1c, 0x8d, 0xb4, 0x0f, 
+    0x28, 0x7e, 0x09, 0x1b, 0x8c, 0x49, 0x7f, 0x2f, 0xe3, 0x22, 0x02, 0x2f, 0xe2, 0x4b, 0x02, 0xc3, 
+    0xe3, 0x63, 0x31, 0x8c, 0x08, 0x0e, 0x22, 0x1c, 0x80, 0x07, 0x43, 0xd0, 0xd2, 0x01, 0xb6, 0xb4, 
+    0x0f, 0x28, 0x05, 0x34, 0x20, 0x80, 0x08, 0x95, 0x78, 0x08, 0x05, 0x86, 0x43, 0x5c, 0x08, 0x91, 
+    0x7f, 0xa8, 0x39, 0x76, 0x51, 0x1e, 0x34, 0x04, 0x9f, 0x7a, 0x09, 0x0c, 0x91, 0x40, 0x09, 0x05, 
+    0x10, 0x14, 0x26, 0x82, 0x06, 0x25, 0x35, 0x6e, 0x84, 0x35, 0x0b, 0x52, 0x84, 0x1b, 0x3c, 0x04, 
+    0x84, 0x72, 0x6e, 0x09, 0xf2, 0x72, 0x0b, 0x57, 0x01, 0xf2, 0x31, 0x3c, 0x05, 0xe0, 0x2f, 0x6e, 
+    0x0a, 0x00, 0xe0, 0x2f, 0x0b, 0x0f, 0x62, 0xe0, 0x37, 0x3c, 0x06, 0x43, 0xe0, 0x2e, 0x6e, 0x0b, 
+    0x41, 0xe0, 0x2e, 0x0b, 0x0f, 0x7f, 0x41, 0xe0, 0x9f, 0x3c, 0x06, 0x3d, 0xe0, 0x1f, 0x6e, 0x0b, 
+    0xb5, 0x1f, 0x0b, 0x0f, 0x7f, 0xb5, 0x1f, 0xe3, 0x3f, 0x6f, 0xe3, 0x3f, 0x6f, 0xe3, 0x3f, 0x35, 
+    0xb3, 0x2d, 0x10, 0x14, 0x82, 0x3f, 0xca, 0xca, 0x2e, 0xb3, 0x2d, 0x2d, 0x92, 0x57, 0x0d, 0x5d, 
+    0x9f, 0xdc, 0x1e, 0x34, 0x03, 0xb8, 0x84, 0xb6, 0x03, 0x9f, 0x0c, 0x7b, 0x02, 0x00, 0x8f, 0x05, 
+    0x7c, 0xc4, 0x00, 0xd0, 0x4f, 0x1c, 0x08, 0x22, 0x1c, 0xaa, 0xf2, 0x1c, 0xaa, 0x08, 0x22, 0x00, 
+    0xd0, 0x4f, 0x95, 0x78, 0x08, 0x05, 0x4c, 0x00, 0x8f, 0x05, 0x7c, 0xc4, 0xa8, 0x0e, 0x03, 0x83, 
+    0xe2, 0x1e, 0x38, 0x03, 0x9f, 0x7a, 0x09, 0x0c, 0x91, 0x40, 0x56, 0x10, 0x14, 0x41, 0x82, 0x9a, 
+    0x08, 0xcf, 0x0e, 0x0b, 0x08, 0x03, 0x2e, 0x32, 0x2c, 0x84, 0x9f, 0x32, 0x0c, 0x25, 0x1e, 0x2e, 
+    0x8e, 0x88, 0x05, 0x01, 0x00, 0x5c, 0x5e, 0x9f, 0x3c, 0x5b, 0x35, 0x78, 0x4b, 0x20, 0x97, 0x66, 
+    0x20, 0x4e, 0xd2, 0x8e, 0x07, 0x20, 0x78, 0x0f, 0x39, 0x9a, 0x5a, 0x0f, 0x40, 0x73, 0x9f, 0x91, 
+    0x6c, 0x0f, 0x1e, 0x4f, 0x6f, 0xdc, 0x5b, 0x84, 0x1e, 0x4f, 0x83, 0x91, 0x34, 0x05, 0x01, 0x32, 
+    0x05, 0x0d, 0x94, 0x77, 0x95, 0x0e, 0x84, 0x7d, 0x3d, 0x32, 0x8a, 0x09, 0x95, 0x8a, 0x8b, 0x76, 
+    0x04, 0x34, 0x95, 0x0a, 0x84, 0x01, 0x47, 0x32, 0xb6, 0x95, 0x07, 0x84, 0x01, 0x47, 0x32, 0xb6, 
+    0x95, 0x74, 0x04, 0x76, 0x04, 0x34, 0x83, 0x8e, 0x7d, 0x3d, 0x32, 0x8a, 0x09, 0x83, 0x9b, 0x52, 
+    0x05, 0x01, 0x32, 0x05, 0x0d, 0x94, 0x66, 0x1f, 0x07, 0xe3, 0x1e, 0x06, 0x2e, 0x07, 0x1e, 0xb6, 
+    0x06, 0x2f, 0x6c, 0xcf, 0x0e, 0x0b, 0x9e, 0x10, 0x14, 0xd1, 0xe0, 0x3f, 0xa8, 0xb6, 0xa8, 0x0f, 
+    0x5b, 0x20, 0x74, 0x02, 0x20, 0x08, 0x22, 0xab, 0x64, 0xd0, 0x0d, 0x1c, 0x8e, 0x08, 0x20, 0x74, 
+    0x02, 0x20, 0x08, 0x4b, 0xab, 0x04, 0x20, 0x05, 0x34, 0x1c, 0x8e, 0x07, 0x20, 0x74, 0x01, 0x20, 
+    0x08, 0x4b, 0xab, 0x04, 0x20, 0x06, 0x34, 0xbe, 0x79, 0x35, 0x09, 0x4b, 0x20, 0xcc, 0x04, 0x20, 
+    0x06, 0x34, 0xbe, 0x10, 0x14, 0x00, 0x82, 0x32, 0x06, 0xa0, 0x34, 0x85, 0x01, 0x2e, 0x9a, 0x0d, 
+    0x1e, 0x34, 0x03, 0x9f, 0x6e, 0x84, 0x1e, 0x7f, 0x1f, 0x49, 0x93, 0x4c, 0x8c, 0x49, 0x93, 0x83, 
+    0x78, 0x0f, 0x4f, 0x47, 0x07, 0x34, 0x76, 0x51, 0x01, 0x47, 0x8d, 0x1f, 0xa1, 0x1d, 0x32, 0x34, 
+    0x1f, 0x49, 0x06, 0x47, 0x7e, 0x09, 0x1f, 0x80, 0x09, 0x4c, 0x8c, 0x49, 0x44, 0x1f, 0x8f, 0x0b, 
+    0x1e, 0x22, 0x02, 0x2e, 0x8f, 0x2c, 0x9d, 0x37, 0x08, 0x84, 0x1e, 0x93, 0x9f, 0x0a, 0x34, 0x59, 
+    0x43, 0x7a, 0x0e, 0x4b, 0x83, 0x3c, 0x58, 0x47, 0x5f, 0x06, 0x95, 0x8a, 0x04, 0x26, 0x97, 0x0c, 
+    0x95, 0xa1, 0x76, 0x32, 0xb6, 0x1d, 0x51, 0x01, 0x26, 0x8d, 0x6f, 0x78, 0x87, 0x76, 0x04, 0x34, 
+    0x95, 0x7c, 0x58, 0x47, 0x5f, 0x0a, 0x95, 0x97, 0x52, 0x59, 0x43, 0x65, 0x91, 0x8b, 0x83, 0x2c, 
+    0xe3, 0x93, 0x9f, 0x08, 0x84, 0x1e, 0x5b, 0x37, 0x6c, 0x0b, 0x0e, 0xb6, 0x0b, 0x73, 0x10, 0x14, 
+    0x43, 0x82, 0x75, 0x0b, 0x53, 0x40, 0x73, 0x2f, 0x05, 0x53, 0x1e, 0x4f, 0x2e, 0x06, 0x25, 0x1e, 
+    0x4f, 0x1f, 0x74, 0x0d, 0x05, 0x01, 0x32, 0x05, 0x0d, 0x94, 0x77, 0x83, 0x49, 0x7d, 0x3d, 0x32, 
+    0x0c, 0x22, 0x95, 0x78, 0x87, 0x47, 0x97, 0x66, 0x95, 0xa1, 0x76, 0x8d, 0x06, 0x95, 0xa1, 0x76, 
+    0x8d, 0x09, 0x6f, 0x78, 0x87, 0x47, 0x97, 0x38, 0x95, 0x49, 0x7d, 0x3d, 0x32, 0x8a, 0x52, 0x95, 
+    0x9b, 0x38, 0x05, 0x01, 0x32, 0x05, 0x0d, 0x94, 0xb6, 0x83, 0x08, 0x84, 0x1e, 0x5b, 0x84, 0x1f, 
+    0x7e, 0x1e, 0x73, 0xb6, 0x9f, 0x6c, 0xcf, 0x67, 0x05, 0x34, 0x1c, 0x08, 0x22, 0x1c, 0x8a, 0x08, 
+    0x20, 0x74, 0x04, 0x20, 0x0b, 0x34, 0x20, 0x08, 0x84, 0x06, 0x1f, 0x78, 0x08, 0x4c, 0x32, 0x05, 
+    0x8e, 0x88, 0xb8, 0x25, 0x7d, 0xb8, 0x84, 0x63, 0x1f, 0x9a, 0x08, 0x0b, 0x53, 0x40, 0x08, 0x03, 
+    0x10, 0x0b, 0x47, 0xa9, 0xc1, 0x2a, 0x68, 0xb3, 0x10, 0x0b, 0x47, 0xa9, 0xc1, 0x2a, 0x68, 0x94, 
+    0x24, 0x1c, 0xc2, 0x0e, 0x77, 0x10, 0x1b, 0x43, 0x68, 0x65, 0x0c, 0x1b, 0x32, 0x4a, 0x84, 0x72, 
+    0x04, 0x0a, 0x0e, 0xe3, 0x2e, 0x9a, 0x09, 0x0e, 0x1e, 0x85, 0x1f, 0x65, 0x0d, 0xe3, 0x38, 0x9e, 
+    0x95, 0x32, 0x06, 0x0c, 0x25, 0x34, 0x08, 0x03, 0x1f, 0x05, 0x0a, 0x25, 0xb6, 0x56, 0x2e, 0x0e, 
+    0x1e, 0x5d, 0x2f, 0xe2, 0x38, 0x02, 0x1b, 0x0e, 0x1e, 0x5d, 0x72, 0x05, 0x0a, 0x25, 0xb6, 0x56, 
+    0x2f, 0x32, 0x06, 0x0c, 0x25, 0x34, 0x08, 0x03, 0x31, 0x65, 0x0d, 0xe3, 0x38, 0x9e, 0x2f, 0x9a, 
+    0x09, 0x0e, 0x1e, 0x85, 0x72, 0x04, 0x0a, 0x0e, 0xe3, 0x1b, 0x32, 0x4a, 0x84, 0x3b, 0x65, 0x0c, 
+    0x10, 0x1b, 0xd1, 0xa9, 0x46, 0x3e, 0x46, 0x3e, 0x10, 0x1b, 0x20, 0x82, 0x82, 0x0c, 0x6a, 0x2d, 
+    0x85, 0x01, 0x43, 0xc3, 0xb6, 0x0a, 0x04, 0x72, 0x4a, 0x25, 0xb6, 0x09, 0x03, 0x31, 0x65, 0x0c, 
+    0x25, 0x34, 0x6a, 0x2f, 0x9a, 0x5e, 0x1e, 0x85, 0x01, 0x31, 0x04, 0x09, 0x0e, 0x1e, 0x5d, 0x72, 
+    0x05, 0x0b, 0x25, 0xb6, 0x72, 0x8f, 0x0c, 0xe3, 0x31, 0x05, 0x0a, 0x25, 0xb6, 0x2e, 0x04, 0x09, 
+    0x0e, 0x1e, 0x5d, 0x83, 0x9a, 0x5e, 0xe3, 0x38, 0x06, 0x01, 0x83, 0x75, 0x0c, 0x25, 0x34, 0x6a, 
+    0x1f, 0x4a, 0x25, 0xb6, 0x09, 0x03, 0x71, 0x51, 0xb6, 0x0a, 0x04, 0xc3, 0x85, 0x01, 0x35, 0x0c, 
+    0x6a, 0x10, 0x11, 0x00, 0x82, 0x05, 0x5a, 0x0f, 0x40, 0x73, 0x2f, 0x05, 0x0d, 0xe3, 0xb6, 0x04, 
+    0x2e, 0xe2, 0x1e, 0x66, 0x83, 0xdc, 0x5d, 0x01, 0x01, 0x6c, 0x0f, 0x4b, 0x2e, 0x0b, 0x02, 0x47, 
+    0x7e, 0x28, 0x8d, 0xb4, 0x52, 0x1c, 0x7e, 0x08, 0x20, 0x97, 0x62, 0x72, 0x9a, 0x0e, 0x57, 0x03, 
+    0x1b, 0x9a, 0x53, 0x8b, 0x35, 0xcc, 0x05, 0x20, 0x49, 0x08, 0x20, 0x78, 0x0f, 0x66, 0x1b, 0xdc, 
+    0x24, 0x72, 0x2a, 0xb3, 0x10, 0x20, 0x26, 0x82, 0x65, 0x5a, 0x0e, 0x57, 0x9c, 0x6a, 0x9f, 0x04, 
+    0x0b, 0x84, 0x1e, 0x22, 0x04, 0x6f, 0xcb, 0x3f, 0x3a, 0x01, 0x27, 0x9a, 0x91, 0x4b, 0x06, 0x4c, 
+    0x00, 0x8c, 0x4a, 0x25, 0x44, 0x00, 0x71, 0x04, 0x25, 0x63, 0x47, 0x8f, 0x7c, 0xc4, 0x69, 0xbd, 
+    0x03, 0x29, 0x04, 0x53, 0x38, 0x69, 0x8a, 0x44, 0x36, 0x04, 0x53, 0x4f, 0x1d, 0xc6, 0x77, 0x3d, 
+    0x06, 0x0c, 0x0e, 0x40, 0x06, 0xf8, 0xe7, 0x06, 0xb6, 0x47, 0x78, 0x0f, 0x4f, 0x43, 0x32, 0x0c, 
+    0x25, 0x4b, 0xfa, 0xe5, 0x8a, 0x05, 0x1d, 0x97, 0x62, 0x43, 0x7c, 0x1e, 0x49, 0xe5, 0x06, 0x4b, 
+    0x1d, 0x4e, 0x09, 0x41, 0x97, 0x88, 0x70, 0x5c, 0x8e, 0xe7, 0x8f, 0x34, 0x1d, 0x8a, 0x04, 0x41, 
+    0x0a, 0x22, 0x47, 0x8e, 0xf5, 0x32, 0xb6, 0x1d, 0x53, 0x66, 0x43, 0x78, 0x87, 0x1d, 0x97, 0xe5, 
+    0x4d, 0xd4, 0xe7, 0xe0, 0x01, 0x47, 0x81, 0xe7, 0x8f, 0x34, 0x41, 0xe0, 0x01, 0x00, 0xe0, 0x01, 
+    0x47, 0x8d, 0x41, 0x05, 0x22, 0x1d, 0x53, 0x66, 0x43, 0x78, 0x87, 0x1d, 0x97, 0xe5, 0x8e, 0x06, 
+    0x1d, 0x8a, 0x05, 0x41, 0x0a, 0x22, 0x47, 0x8e, 0xf5, 0x3c, 0x58, 0x1d, 0x49, 0x09, 0x41, 0x97, 
+    0x88, 0x70, 0x8c, 0x0b, 0x84, 0x66, 0x4e, 0x39, 0x3d, 0xc6, 0x62, 0x43, 0x8e, 0x1e, 0x4e, 0xe3, 
+    0x06, 0x26, 0x53, 0x5b, 0x43, 0x32, 0x0c, 0x25, 0x4b, 0xf2, 0x22, 0x03, 0x69, 0x3c, 0x77, 0x3d, 
+    0x07, 0x0c, 0x0e, 0x40, 0x06, 0x43, 0x0e, 0x9c, 0x08, 0x03, 0x27, 0x0d, 0x94, 0x7f, 0x20, 0x9b, 
+    0x57, 0x04, 0x27, 0x01, 0x0a, 0x03, 0x29, 0x05, 0x25, 0x9d, 0x69, 0x05, 0x0d, 0x38, 0x6b, 0x05, 
+    0x91, 0x4b, 0x06, 0x4c, 0x32, 0x61, 0x8a, 0x4f, 0x6b, 0x9a, 0x0d, 0x0f, 0x3f, 0x6d, 0x83, 0x06, 
+    0x0d, 0x25, 0x1e, 0x63, 0x1f, 0x04, 0x08, 0xcf, 0x57, 0x0b, 0x9e, 0x10, 0x16, 0x1d, 0x82, 0x7e, 
+    0x4f, 0x20, 0x8a, 0x52, 0x1b, 0x9a, 0x25, 0x77, 0x1b, 0x09, 0x25, 0x93, 0x1b, 0x53, 0x4f, 0xb6, 
+    0x72, 0x05, 0x34, 0x78, 0x0f, 0x39, 0x31, 0x8e, 0x07, 0x00, 0x07, 0x22, 0x2f, 0x74, 0x02, 0x8f, 
+    0x94, 0x66, 0x37, 0x07, 0x22, 0x41, 0x8e, 0x07, 0x2e, 0x78, 0x94, 0x64, 0xc6, 0x0d, 0x00, 0xa3, 
+    0x53, 0x8b, 0x9f, 0x49, 0x09, 0x1d, 0x49, 0x09, 0x1f, 0xcc, 0x03, 0x1d, 0x9b, 0x62, 0x95, 0x3c, 
+    0x0c, 0x76, 0x8a, 0x06, 0x83, 0x0c, 0x3f, 0x38, 0x95, 0x74, 0x3f, 0x02, 0x6f, 0x4e, 0x3f, 0x5b, 
+    0x36, 0x78, 0x0f, 0x39, 0x69, 0x04, 0x34, 0x36, 0x04, 0xb6, 0x00, 0x71, 0x53, 0x8b, 0x6b, 0x7c, 
+    0x08, 0x00, 0x71, 0x08, 0x4b, 0x29, 0x8d, 0x03, 0x00, 0x71, 0x74, 0x01, 0x27, 0x3c, 0x0c, 0x29, 
+    0x8a, 0x06, 0x27, 0x8a, 0x06, 0x29, 0x3c, 0x0c, 0x10, 0x16, 0x82, 0x84, 0x1e, 0x40, 0x5d, 0x43, 
+    0xa8, 0x38, 0x03, 0xa8, 0x94, 0x7f, 0x1d, 0x51, 0x47, 0x5c, 0x7c, 0x93, 0x33, 0x07, 0x34, 0x33, 
+    0x8d, 0x33, 0x01, 0x34, 0x33, 0x07, 0x4b, 0x1d, 0x51, 0x47, 0x5c, 0x49, 0x77, 0x95, 0x3f, 0x52, 
+    0x04, 0xa8, 0x0c, 0x04, 0x00, 0xa8, 0x4b, 0x01, 0x1d, 0x51, 0x47, 0x8c, 0x06, 0x0d, 0x22, 0x33, 
+    0x01, 0x8a, 0x06, 0x3d, 0x51, 0x71, 0x04, 0x22, 0x41, 0xb7, 0x32, 0xb6, 0x41, 0xb7, 0x32, 0xeb, 
+    0x50, 0x26, 0x04, 0x34, 0x41, 0xb7, 0x01, 0x0c, 0x4b, 0x3d, 0x51, 0x1d, 0x32, 0x61, 0x0d, 0x94, 
+    0x8b, 0x29, 0xdc, 0x3f, 0x93, 0x29, 0xd4, 0x3f, 0x4f, 0x6b, 0xd4, 0x1e, 0xb6, 0x9c, 0x9e, 0x10, 
+    0x16, 0x1d, 0x82, 0x7a, 0x5a, 0x0e, 0x57, 0x89, 0x6a, 0x1f, 0x8f, 0x2c, 0x84, 0x22, 0x04, 0x95, 
+    0x04, 0x91, 0x3f, 0x6f, 0x04, 0x25, 0x85, 0x4c, 0x32, 0x02, 0x05, 0x5e, 0x94, 0x36, 0xbd, 0x03, 
+    0x71, 0x04, 0x0b, 0x36, 0x7c, 0x58, 0x35, 0x74, 0x03, 0x20, 0x07, 0x22, 0x1c, 0x7c, 0x06, 0x20, 
+    0x78, 0x0f, 0x66, 0x1c, 0xa1, 0x3d, 0xc3, 0x3b, 0xa1, 0x20, 0x78, 0x0f, 0x66, 0x1c, 0x7c, 0x06, 
+    0x1c, 0x07, 0x22, 0x1c, 0x74, 0x03, 0x1c, 0x7c, 0x58, 0x20, 0xbd, 0x03, 0x71, 0x04, 0x0b, 0x6f, 
+    0x04, 0x25, 0x85, 0x4c, 0x32, 0x02, 0x05, 0x5e, 0x94, 0x95, 0x04, 0x91, 0x3f, 0x95, 0x8f, 0x0a, 
+    0x84, 0x1e, 0x22, 0x04, 0x9f, 0x65, 0x5a, 0x0e, 0x57, 0x89, 0x6a, 0x10, 0x19, 0x82, 0xe3, 0xb6, 
+    0x0d, 0x89, 0x7b, 0x43, 0xa8, 0x57, 0x63, 0x27, 0xec, 0x3f, 0xb6, 0x06, 0x3d, 0x51, 0x3d, 0x32, 
+    0x02, 0x05, 0x5e, 0x25, 0x06, 0x50, 0x26, 0x05, 0x91, 0x77, 0x29, 0x4d, 0x71, 0x80, 0x0b, 0x43, 
+    0x51, 0x27, 0x9b, 0x77, 0xb7, 0x3d, 0x8e, 0x07, 0xb7, 0x3d, 0x06, 0x22, 0xb7, 0x41, 0x8f, 0x34, 
+    0xb7, 0x41, 0x32, 0xb6, 0xb7, 0x3d, 0x4d, 0x51, 0x27, 0x32, 0xb6, 0xb7, 0x41, 0x9a, 0x34, 0xb7, 
+    0x3d, 0x06, 0x22, 0xb7, 0x3d, 0x8e, 0x07, 0xb7, 0x41, 0x9b, 0x77, 0xb7, 0x43, 0x80, 0x0b, 0x43, 
+    0x51, 0x71, 0x05, 0x91, 0x77, 0x43, 0x51, 0x3d, 0x32, 0x02, 0x05, 0x5e, 0x25, 0x06, 0x41, 0x51, 
+    0x3f, 0x6d, 0x6f, 0x3f, 0x57, 0x63, 0x27, 0xec, 0x1e, 0x90, 0x89, 0x7b, 0x10, 0x14, 0x82, 0x84, 
+    0x3f, 0xa8, 0x84, 0xa8, 0x84, 0x83, 0xb3, 0xc5, 0x1c, 0x2b, 0x2b, 0x2b, 0xac, 0x3f, 0xa8, 0x84, 
+    0xa8, 0x84, 0x10, 0x12, 0x82, 0x30, 0x1f, 0x30, 0x1f, 0x30, 0x1f, 0xa7, 0x84, 0x1e, 0xca, 0xca, 
+    0x2e, 0xac, 0xc5, 0x10, 0x19, 0x1d, 0x82, 0x61, 0xa0, 0x53, 0x40, 0x0a, 0x59, 0x1f, 0x9a, 0x0b, 
+    0x84, 0x1e, 0x22, 0x04, 0x95, 0x3c, 0x30, 0x36, 0x06, 0x25, 0x5d, 0x86, 0x32, 0x02, 0x05, 0x5e, 
+    0x94, 0x36, 0x9b, 0x38, 0x02, 0x71, 0x04, 0x0b, 0x36, 0x8e, 0x0c, 0x20, 0x74, 0x02, 0x20, 0x07, 
+    0x4b, 0x1c, 0x8e, 0x05, 0x20, 0x78, 0x0f, 0x66, 0x1c, 0xa1, 0x1d, 0xdc, 0x1e, 0xb7, 0x94, 0x1e, 
+    0x29, 0xa1, 0x1d, 0xdc, 0x1e, 0x27, 0x78, 0x0f, 0x66, 0xb7, 0x3d, 0x8e, 0x06, 0xb7, 0x3d, 0x07, 
+    0x4b, 0xb7, 0x3d, 0x74, 0x02, 0x51, 0x6b, 0x7c, 0x7d, 0x3d, 0xb5, 0x6b, 0x6e, 0x38, 0x03, 0x23, 
+    0x55, 0x4b, 0x06, 0x4c, 0x32, 0x02, 0x04, 0x5e, 0x84, 0x6f, 0x05, 0x53, 0x3f, 0x6d, 0x6f, 0x9a, 
+    0x7c, 0x1e, 0xb6, 0x08, 0x01, 0x9f, 0x65, 0xa0, 0x53, 0x40, 0x09, 0x06, 0x01, 0x10, 0x18, 0x82, 
+    0x84, 0xaf, 0x46, 0x36, 0x46, 0x36, 0x46, 0x50, 0x23, 0x84, 0xaf, 0x84, 0x51, 0x10, 0x09, 0x82, 
+    0xac, 0xae, 0xae, 0xc5, 0x10, 0x09, 0x82, 0xac, 0xc5, 0x1c, 0xac, 0x19, 0x28, 0xaa, 0x97, 0xd2, 
+    0x7c, 0x09, 0x1b, 0x9a, 0x7c, 0x8b, 0xba, 0x0b, 0x1b, 0xe3, 0x7d, 0x1b, 0xb6, 0x85, 0x10, 0x15, 
+    0x6f, 0x2a, 0x33, 0x80, 0x4f, 0x50, 0x1d, 0x9a, 0x91, 0x39, 0x3d, 0x51, 0x76, 0xa2, 0xb6, 0x04, 
+    0x1d, 0x51, 0x47, 0x3c, 0x57, 0x03, 0x47, 0x51, 0x1d, 0x08, 0x84, 0x44, 0x76, 0x51, 0x3d, 0x09, 
+    0x84, 0x7d, 0x1d, 0x50, 0xcb, 0x0f, 0x60, 0x69, 0x51, 0x32, 0x8a, 0x93, 0x6f, 0xb5, 0x80, 0x5b, 
+    0x9f, 0xd4, 0xb6, 0x84, 0x06, 0xba, 0x06, 0x00, 0xba, 0x7d, 0xc3, 0x07, 0x84, 0x7d, 0x2f, 0x4d, 
+    0x06, 0x84, 0x44, 0x26, 0x50, 0x05, 0x84, 0x44, 0x2e, 0x4d, 0xc6, 0x57, 0x03, 0x69, 0x51, 0x3d, 
+    0x98, 0xb6, 0x03, 0x26, 0x51, 0x3d, 0x9a, 0x0e, 0xb6, 0x04, 0x76, 0x51, 0x1d, 0x9a, 0x0e, 0xb6, 
+    0x04, 0x47, 0x51, 0x76, 0x80, 0x39, 0x1d, 0x51, 0x26, 0x80, 0x0f, 0x06, 0x41, 0xb7, 0x01, 0x0c, 
+    0x84, 0x06, 0x43, 0xb7, 0x32, 0x8a, 0x4f, 0x10, 0x12, 0x82, 0xac, 0xae, 0xae, 0x3f, 0xa8, 0x84, 
+    0xa8, 0x84, 0x10, 0x1c, 0x82, 0x25, 0x39, 0x69, 0x05, 0xe3, 0x51, 0x4b, 0x69, 0x0a, 0xe3, 0x27, 
+    0x1e, 0x01, 0x47, 0x32, 0x1e, 0x51, 0x8a, 0x06, 0x76, 0x3c, 0x0c, 0x84, 0x51, 0x3c, 0x0c, 0x76, 
+    0x8a, 0x06, 0x84, 0x51, 0x8d, 0x02, 0x3d, 0x9a, 0x84, 0x8d, 0x27, 0xeb, 0x7c, 0x08, 0x1d, 0x08, 
+    0x4b, 0x4d, 0x71, 0x4d, 0x04, 0x34, 0x3d, 0x78, 0x87, 0x84, 0x51, 0x43, 0x53, 0x8b, 0x41, 0x04, 
+    0xb6, 0xe0, 0x51, 0x43, 0x08, 0x4b, 0x41, 0x7c, 0x08, 0xe0, 0x51, 0x43, 0x9b, 0x62, 0xcc, 0x03, 
+    0xe0, 0x51, 0x41, 0x8a, 0x06, 0x00, 0x3c, 0x0c, 0x00, 0xe0, 0x51, 0x41, 0x07, 0x22, 0x00, 0x8e, 
+    0x07, 0x00, 0xe0, 0x51, 0x41, 0x74, 0x79, 0xe0, 0x51, 0x3d, 0x0b, 0x34, 0x22, 0x43, 0xe0, 0x51, 
+    0x3d, 0x05, 0x25, 0x39, 0x43, 0xe0, 0x51, 0x3d, 0xcc, 0x57, 0x01, 0x43, 0xe0, 0x51, 0x1d, 0x49, 
+    0x93, 0x41, 0xe0, 0x51, 0x1d, 0x97, 0x8b, 0x41, 0xe0, 0xc9, 0xe0, 0x51, 0x50, 0x10, 0x18, 0x82, 
+    0x84, 0x5b, 0x23, 0x25, 0x7f, 0x47, 0xdc, 0xe5, 0x51, 0x4b, 0x43, 0xb5, 0x36, 0xe3, 0x77, 0x1d, 
+    0xdc, 0xe5, 0x51, 0x7c, 0x0c, 0x1d, 0xdc, 0xe5, 0x51, 0x74, 0x05, 0xb5, 0x6b, 0x4d, 0x08, 0x34, 
+    0xb5, 0x6b, 0x4d, 0xcc, 0x07, 0x3d, 0xe0, 0x50, 0x3c, 0x62, 0x43, 0xe0, 0x50, 0x78, 0x0f, 0x93, 
+    0x41, 0xe0, 0x50, 0x00, 0x97, 0x77, 0x43, 0xe0, 0x50, 0x43, 0x0b, 0x22, 0x43, 0xe0, 0x50, 0x43, 
+    0x9b, 0x8b, 0xdc, 0xe5, 0x51, 0x1d, 0x09, 0x34, 0xdc, 0xe5, 0x51, 0x1d, 0xcc, 0x06, 0xe0, 0x50, 
+    0x3d, 0x7e, 0x62, 0x84, 0x50, 0x3d, 0x78, 0x0f, 0x5b, 0xf2, 0x50, 0x1d, 0x05, 0x84, 0x74, 0x50, 
+    0x47, 0x8a, 0x7c, 0xe5, 0x51, 0x76, 0x9a, 0x25, 0xe7, 0xb7, 0x0a, 0xe3, 0x50, 0x47, 0x8f, 0xe3, 
+    0x50, 0x26, 0x08, 0x25, 0x10, 0x19, 0x1d, 0x82, 0x61, 0xa0, 0x90, 0x9c, 0x07, 0x03, 0x9f, 0x8f, 
+    0x7c, 0x1e, 0x22, 0x02, 0x83, 0xa2, 0x3f, 0x6d, 0x6f, 0x04, 0x25, 0x5d, 0x86, 0x01, 0x02, 0x05, 
+    0x7c, 0x87, 0xc7, 0x8e, 0x06, 0x71, 0xbb, 0x47, 0x78, 0x0f, 0x77, 0x29, 0x9a, 0x34, 0x00, 0x71, 
+    0xa1, 0x6b, 0x81, 0xb9, 0x71, 0xbb, 0x76, 0x7e, 0xbf, 0x71, 0x97, 0x66, 0x27, 0x7c, 0x44, 0x71, 
+    0x6e, 0x3a, 0x29, 0xbd, 0x03, 0x76, 0x9a, 0x0d, 0x94, 0x7f, 0x6b, 0x05, 0x25, 0x5d, 0x86, 0x01, 
+    0x02, 0x05, 0x7c, 0x87, 0x36, 0xa2, 0x3f, 0x6d, 0x95, 0x9a, 0x8e, 0x1e, 0x22, 0x02, 0x2e, 0x61, 
+    0xa0, 0x90, 0x9c, 0x08, 0x03, 0x10, 0x13, 0xd1, 0xdc, 0x1e, 0x40, 0x73, 0xca, 0x09, 0x43, 0xa8, 
+    0x93, 0x76, 0x51, 0x1d, 0x7a, 0x0d, 0x94, 0x8b, 0x47, 0x51, 0x47, 0x32, 0x0c, 0x4b, 0x1a, 0x04, 
+    0x34, 0x1a, 0x01, 0xb6, 0x1a, 0x01, 0xb6, 0x1a, 0x04, 0x34, 0x47, 0x51, 0x47, 0x32, 0x0c, 0x4b, 
+    0x47, 0x51, 0x1d, 0x7a, 0x0d, 0x94, 0x8b, 0xa8, 0x3a, 0x00, 0xa8, 0x09, 0x95, 0xdc, 0x1e, 0x40, 
+    0x08, 0x03, 0x2e, 0xac, 0x10, 0x19, 0x1d, 0x82, 0x61, 0xa0, 0x90, 0x9c, 0x08, 0x03, 0x9f, 0x8f, 
+    0x7c, 0x1e, 0x22, 0x03, 0x83, 0xa2, 0x3f, 0x6d, 0x6f, 0x04, 0x25, 0x5d, 0x86, 0x01, 0x02, 0x05, 
+    0x0a, 0x25, 0x64, 0xc7, 0x8e, 0x07, 0x00, 0x71, 0x7c, 0x06, 0x6b, 0x06, 0x22, 0x71, 0x78, 0x0f, 
+    0x77, 0x29, 0x9a, 0x34, 0x00, 0x71, 0xa1, 0x6b, 0x81, 0xb9, 0x71, 0xbb, 0x76, 0x3c, 0xbf, 0x71, 
+    0x97, 0x66, 0x27, 0x7c, 0x44, 0x71, 0x6e, 0x93, 0x29, 0xbd, 0x03, 0x76, 0x9a, 0x0d, 0xb6, 0x01, 
+    0x6b, 0x04, 0x25, 0x5d, 0x86, 0x01, 0x02, 0x05, 0x7c, 0x87, 0x36, 0x98, 0x3f, 0x0e, 0x04, 0x95, 
+    0x8f, 0x0a, 0x25, 0x1e, 0x63, 0x1f, 0x61, 0xa0, 0x0e, 0x25, 0x77, 0x35, 0x32, 0x8a, 0x7f, 0x20, 
+    0x6e, 0xc4, 0x20, 0x9b, 0x88, 0x43, 0xd0, 0x93, 0x10, 0x16, 0xd1, 0xdc, 0x1e, 0x40, 0x56, 0xca, 
+    0x60, 0x00, 0xa8, 0x38, 0x76, 0x51, 0x3d, 0x32, 0x05, 0x8e, 0x4f, 0x1a, 0x7c, 0x0c, 0x1a, 0x02, 
+    0xb6, 0x1a, 0xf2, 0x1a, 0x02, 0x34, 0x1a, 0x0a, 0x4b, 0x47, 0x51, 0x3d, 0x32, 0x05, 0x8e, 0x77, 
+    0xa8, 0x0f, 0x06, 0x76, 0x51, 0x1e, 0x22, 0x03, 0x43, 0xa8, 0x06, 0x95, 0xdc, 0xe5, 0x8f, 0x05, 
+    0x8a, 0x8b, 0x76, 0x51, 0x76, 0x0b, 0x34, 0x76, 0x51, 0x76, 0xcc, 0x06, 0x1a, 0x07, 0x34, 0x1a, 
+    0xcc, 0x06, 0x33, 0x07, 0x34, 0x33, 0xcc, 0x64, 0x50, 0x26, 0x4e, 0x0c, 0x41, 0xb7, 0x32, 0x53, 
+    0x8b, 0x50, 0x69, 0x08, 0x22, 0x10, 0x14, 0x43, 0x82, 0x75, 0xa0, 0x0e, 0x57, 0x9c, 0x09, 0x59, 
+    0x9f, 0x07, 0x3f, 0x1f, 0x09, 0x30, 0x95, 0x97, 0x52, 0x06, 0x4c, 0x32, 0x02, 0x04, 0x06, 0x92, 
+    0x83, 0x0a, 0x22, 0xab, 0x02, 0x3d, 0xc3, 0x01, 0xab, 0x03, 0x1c, 0x7c, 0x44, 0x20, 0x04, 0x25, 
+    0x85, 0x4c, 0x72, 0x07, 0x1e, 0x38, 0x56, 0x37, 0x9a, 0x0b, 0x1e, 0x34, 0x05, 0x2f, 0x7a, 0x5a, 
+    0xe3, 0x4f, 0x1b, 0x5c, 0x08, 0x91, 0x77, 0x35, 0x32, 0x0c, 0x4b, 0x20, 0x9a, 0xb6, 0x2d, 0x20, 
+    0x9a, 0xb6, 0x20, 0xcb, 0x0b, 0x95, 0x89, 0x07, 0x04, 0x4c, 0x00, 0x32, 0x61, 0x0d, 0x94, 0x39, 
+    0x95, 0x3f, 0x4b, 0xa8, 0x5b, 0x83, 0x8f, 0x05, 0x08, 0x0b, 0xcf, 0x57, 0x89, 0x06, 0x01, 0x10, 
+    0x14, 0xd1, 0x0f, 0x46, 0x6b, 0xcd, 0x37, 0xac, 0xc5, 0x1c, 0xac, 0x10, 0x17, 0x82, 0x84, 0x51, 
+    0x50, 0x23, 0x84, 0xc9, 0xe0, 0xaf, 0xa1, 0x69, 0x32, 0xb6, 0x6b, 0x78, 0x0f, 0x77, 0x69, 0x9a, 
+    0x34, 0x36, 0x8e, 0x06, 0x71, 0x06, 0x22, 0x36, 0x7e, 0x0c, 0x71, 0x8a, 0x07, 0x36, 0x74, 0x08, 
+    0x26, 0x4e, 0x66, 0x6f, 0x49, 0x88, 0x05, 0x02, 0x00, 0x8f, 0x05, 0x8e, 0x93, 0x6f, 0x32, 0x0c, 
+    0x3f, 0x0c, 0x83, 0x32, 0x2c, 0x84, 0x93, 0x37, 0x6c, 0x0b, 0x0e, 0xb6, 0x0b, 0x73, 0x10, 0x16, 
+    0xd1, 0x8a, 0x06, 0x29, 0x3c, 0x0c, 0x27, 0x3c, 0x0c, 0x29, 0x8a, 0x06, 0x27, 0x8d, 0x02, 0x00, 
+    0x71, 0x74, 0x01, 0x29, 0x7c, 0x08, 0x00, 0x71, 0x08, 0x4b, 0x6b, 0x04, 0xb6, 0x00, 0x71, 0x53, 
+    0x8b, 0x6b, 0x78, 0x0f, 0x39, 0x69, 0x04, 0x34, 0x6f, 0x08, 0x4b, 0x69, 0x7c, 0x08, 0x6f, 0x74, 
+    0x01, 0x76, 0x8d, 0x02, 0x95, 0x8a, 0x07, 0x76, 0x7e, 0x0c, 0x83, 0x3c, 0x0c, 0x76, 0x8a, 0x06, 
+    0x83, 0xcc, 0x03, 0x1d, 0x9b, 0x62, 0x83, 0x49, 0x09, 0x1d, 0x49, 0x09, 0xa3, 0x53, 0x8b, 0x9f, 
+    0x78, 0x94, 0x64, 0xc6, 0x0d, 0x37, 0x07, 0x22, 0x41, 0x8e, 0x07, 0x37, 0x74, 0x02, 0x8f, 0x94, 
+    0x66, 0x2f, 0x8e, 0x07, 0x00, 0x07, 0x22, 0x31, 0x05, 0x34, 0x78, 0x0f, 0x39, 0x72, 0x91, 0x7e, 
+    0x62, 0x31, 0x09, 0x25, 0x93, 0x72, 0x9a, 0x25, 0x77, 0x35, 0x8a, 0x52, 0x20, 0x7e, 0x4f, 0x10, 
+    0x20, 0xd1, 0x78, 0x87, 0x76, 0x07, 0x84, 0x4f, 0x26, 0x04, 0x34, 0x41, 0x49, 0x07, 0x26, 0x7c, 
+    0x22, 0x26, 0x4e, 0x09, 0x41, 0x05, 0x22, 0x26, 0x91, 0xb6, 0x26, 0x8e, 0x05, 0x41, 0x8d, 0x01, 
+    0x1d, 0x9a, 0x34, 0x0d, 0x0f, 0x77, 0x47, 0x8d, 0x01, 0x41, 0x78, 0x87, 0x1d, 0x07, 0x4b, 0x49, 
+    0x07, 0x47, 0x04, 0x34, 0x1d, 0x49, 0x08, 0x47, 0x8e, 0x06, 0x06, 0x22, 0x47, 0x4e, 0x09, 0x41, 
+    0xc6, 0x0c, 0x47, 0x53, 0x66, 0x02, 0xb6, 0x47, 0x8a, 0x05, 0x1d, 0x8d, 0x01, 0x41, 0x9a, 0x34, 
+    0x00, 0x78, 0x0f, 0x77, 0x3d, 0x8d, 0x01, 0x47, 0x8a, 0x04, 0x3d, 0x7e, 0x09, 0x43, 0x49, 0x07, 
+    0x43, 0xc6, 0x0c, 0x76, 0x4e, 0x08, 0x3d, 0x8e, 0x06, 0x43, 0x06, 0x22, 0x3d, 0x49, 0x08, 0x76, 
+    0x97, 0x0c, 0x3d, 0x53, 0x66, 0x00, 0x8f, 0xb6, 0x3d, 0x8a, 0x04, 0x76, 0x8d, 0x01, 0x00, 0x9a, 
+    0x34, 0x41, 0x78, 0x0f, 0x77, 0x43, 0x8d, 0x01, 0x26, 0x8a, 0x05, 0x43, 0x7e, 0x09, 0x3d, 0x49, 
+    0x07, 0xc6, 0x0b, 0x69, 0x4e, 0x09, 0x43, 0x8e, 0x06, 0x3d, 0x05, 0x22, 0x43, 0x49, 0x08, 0x69, 
+    0x04, 0x34, 0x43, 0x53, 0x66, 0x41, 0x8f, 0xb6, 0x00, 0x78, 0x87, 0x47, 0xdc, 0x66, 0x04, 0x34, 
+    0x1d, 0x78, 0x0f, 0x8b, 0x02, 0xb6, 0x00, 0x71, 0x8e, 0x05, 0x7e, 0x09, 0x47, 0x49, 0x07, 0x06, 
+    0x22, 0x00, 0x71, 0x7e, 0x09, 0x8e, 0x05, 0x47, 0x05, 0x22, 0x7c, 0x07, 0x71, 0x9a, 0x34, 0x94, 
+    0x66, 0x1d, 0x8f, 0xb6, 0x53, 0x77, 0x27, 0x91, 0x34, 0x76, 0x78, 0x94, 0xb6, 0x29, 0x0b, 0x84, 
+    0x93, 0x26, 0x49, 0x4b, 0x29, 0x07, 0x84, 0x39, 0x26, 0x05, 0x84, 0x4f, 0x27, 0x9a, 0x25, 0x01, 
+    0x26, 0x74, 0x77, 0x10, 0x16, 0x43, 0xd1, 0x7c, 0x62, 0x76, 0xcc, 0x0a, 0x36, 0xcc, 0x0a, 0x26, 
+    0x7c, 0x62, 0x29, 0xc6, 0x39, 0x3d, 0xc6, 0x39, 0x83, 0x7c, 0x62, 0x41, 0xcc, 0x0a, 0x1f, 0xcc, 
+    0x0a, 0x3d, 0x7c, 0x62, 0x95, 0xc6, 0x39, 0xc6, 0x39, 0x37, 0x0a, 0xb6, 0x01, 0xcc, 0x0a, 0x2f, 
+    0xcc, 0x0a, 0x7c, 0x62, 0x2f, 0x05, 0xe3, 0x39, 0x1b, 0x7c, 0x4b, 0x35, 0xcc, 0x62, 0x1b, 0x05, 
+    0x84, 0x39, 0x1b, 0xcc, 0xb6, 0x01, 0x72, 0x7c, 0x90, 0x4b, 0x37, 0xc6, 0x39, 0x55, 0x39, 0x37, 
+    0xcc, 0x0a, 0x43, 0x7c, 0x62, 0x9f, 0x7c, 0x58, 0x43, 0xcc, 0x0a, 0x83, 0xc6, 0x8b, 0x43, 0xc6, 
+    0x39, 0x83, 0xcc, 0x09, 0x47, 0x7c, 0x62, 0x6f, 0x7c, 0x58, 0x47, 0xcc, 0x0a, 0x6b, 0xc6, 0x8b, 
+    0x47, 0xc6, 0x39, 0x6b, 0xcc, 0x09, 0x71, 0x7c, 0x62, 0x27, 0x7c, 0x58, 0x71, 0xcc, 0x0a, 0x10, 
+    0x14, 0xd1, 0x7c, 0x58, 0x69, 0x5f, 0x0a, 0x6b, 0xcc, 0x09, 0x69, 0x49, 0x62, 0x27, 0xc6, 0x8b, 
+    0x76, 0x97, 0x39, 0x95, 0x7c, 0x58, 0x1d, 0x5f, 0x0a, 0x83, 0xcc, 0x09, 0x1d, 0x49, 0x62, 0x6f, 
+    0xc6, 0x8b, 0x41, 0x97, 0x39, 0x2e, 0x7c, 0x58, 0x32, 0x0d, 0x4b, 0x37, 0xcc, 0x08, 0x00, 0x49, 
+    0x62, 0x37, 0x05, 0x84, 0x7e, 0x39, 0x72, 0x0a, 0x84, 0x4b, 0x1b, 0xcc, 0x57, 0x01, 0xd0, 0x39, 
+    0x1c, 0xac, 0xc5, 0x10, 0x16, 0x00, 0xd1, 0xcd, 0x6b, 0x46, 0x0c, 0x35, 0x5f, 0x7f, 0x35, 0x8e, 
+    0x77, 0x35, 0x09, 0x84, 0x06, 0x35, 0x3c, 0x5b, 0x35, 0x97, 0x88, 0x35, 0x6e, 0xc4, 0x72, 0x32, 
+    0x8a, 0x7f, 0x35, 0x7c, 0x8b, 0x35, 0x4e, 0x4f, 0xd0, 0x93, 0x1b, 0x9a, 0x53, 0x38, 0x35, 0x5f, 
+    0x58, 0x35, 0x0b, 0xb6, 0x03, 0x35, 0x49, 0x39, 0x35, 0x3c, 0x4f, 0x35, 0x97, 0x3a, 0x1b, 0x8f, 
+    0x91, 0x7d, 0x35, 0x0c, 0x46, 0x6b, 0xcd, 0x10, 0x0c, 0x2a, 0x18, 0x0f, 0x1b, 0xac, 0xae, 0xae, 
+    0xc5, 0x1c, 0x18, 0x0f, 0x10, 0x0b, 0xd1, 0x0d, 0x87, 0x20, 0x4e, 0x09, 0x1c, 0x04, 0x34, 0x3b, 
+    0x53, 0x77, 0x1c, 0x7c, 0x07, 0x43, 0xd0, 0xd2, 0x8d, 0x02, 0xb0, 0x74, 0x01, 0x1c, 0x8a, 0x05, 
+    0x1c, 0x4e, 0x09, 0x20, 0x9a, 0xb6, 0x3b, 0x53, 0x77, 0x1c, 0x49, 0x08, 0x43, 0xd0, 0xd2, 0xcc, 
+    0x02, 0xb0, 0x8d, 0x01, 0x1c, 0x8a, 0x05, 0x1c, 0x07, 0x4b, 0x1c, 0x9b, 0x28, 0x78, 0x87, 0x20, 
+    0x49, 0x08, 0x1c, 0x04, 0x34, 0x10, 0x0c, 0x2a, 0x18, 0x24, 0xae, 0xae, 0x3b, 0xac, 0x1b, 0x18, 
+    0x0f, 0x10, 0x1b, 0x76, 0x82, 0x80, 0x44, 0x1b, 0x5f, 0x0f, 0xc4, 0x2f, 0x32, 0x0c, 0xb6, 0x91, 
+    0x7d, 0x2e, 0x32, 0x8a, 0x44, 0x80, 0x7d, 0x2e, 0x8e, 0x44, 0x43, 0x80, 0x0b, 0x9f, 0x7c, 0x7d, 
+    0x41, 0x32, 0x0c, 0x4b, 0x83, 0x7c, 0x7d, 0x1d, 0x32, 0x0c, 0x4b, 0x6f, 0x49, 0x60, 0x26, 0xcb, 
+    0x09, 0x6b, 0x08, 0x4b, 0x27, 0x7c, 0x08, 0x10, 0x10, 0x48, 0x10, 0x10, 0x1d, 0x49, 0x03, 0x3b, 
+    0x0c, 0xc4, 0x1c, 0x6e, 0x09, 0x3b, 0x97, 0x04, 0x3b, 0x06, 0xc4, 0x3b, 0x0a, 0x3a, 0x10, 0x14, 
+    0x43, 0xa9, 0x7a, 0x09, 0xcf, 0x57, 0x0b, 0x9e, 0x2e, 0xe2, 0x1e, 0x6d, 0xca, 0x05, 0x1f, 0x78, 
+    0x08, 0x05, 0x4c, 0x32, 0x7a, 0x0d, 0xb6, 0x01, 0x35, 0x32, 0x8a, 0x06, 0x20, 0x9a, 0x4b, 0x3b, 
+    0x34, 0x2e, 0x05, 0x09, 0xcf, 0x25, 0xb6, 0x83, 0x9a, 0x0c, 0x3f, 0x83, 0x6e, 0x3f, 0x83, 0x09, 
+    0xb6, 0x7b, 0x86, 0x43, 0xe0, 0x95, 0x78, 0x0f, 0x39, 0x76, 0x74, 0x47, 0x51, 0x01, 0x76, 0x07, 
+    0x84, 0x83, 0x53, 0x8b, 0x1d, 0x9a, 0x0e, 0x84, 0x83, 0x0b, 0xb6, 0x6a, 0x00, 0x8c, 0x09, 0xe3, 
+    0x83, 0x04, 0x84, 0x1e, 0x93, 0x84, 0x1f, 0x3c, 0xe3, 0x93, 0xf2, 0x1f, 0x9a, 0x92, 0x57, 0x0d, 
+    0x56, 0xe0, 0x10, 0x14, 0x2a, 0xa7, 0x43, 0x04, 0x5a, 0x57, 0xa6, 0xbc, 0x95, 0xb1, 0x10, 0x12, 
+    0x1d, 0xa9, 0x75, 0xa0, 0x94, 0x9c, 0x08, 0x03, 0x37, 0x07, 0x0e, 0x21, 0x47, 0x7c, 0x21, 0x1d, 
+    0x7e, 0x52, 0x06, 0x86, 0x8f, 0x04, 0x08, 0x0c, 0x1f, 0xcc, 0x0a, 0x20, 0x07, 0x34, 0x1c, 0x8e, 
+    0x06, 0x20, 0x78, 0x0f, 0x66, 0x1c, 0xa1, 0x3d, 0xc3, 0x01, 0x20, 0x78, 0x0f, 0x66, 0x1c, 0x8e, 
+    0x06, 0x1c, 0x07, 0x34, 0x1c, 0xcc, 0x0a, 0x1c, 0x7e, 0x52, 0x06, 0x86, 0x00, 0x5c, 0x07, 0x0c, 
+    0x2e, 0x7c, 0x21, 0x76, 0x08, 0x25, 0x1e, 0x2f, 0x65, 0x0b, 0x91, 0x9c, 0x07, 0x03, 0x10, 0x14, 
+    0x2f, 0x3b, 0xae, 0x2e, 0xc8, 0xb2, 0xf2, 0x10, 0x14, 0x1d, 0xa9, 0x6c, 0xcf, 0x0e, 0x0b, 0x9e, 
+    0x2f, 0x08, 0x1e, 0xb6, 0x04, 0x2e, 0x0a, 0x25, 0x1e, 0x77, 0x1f, 0x7e, 0x93, 0x70, 0x00, 0x7a, 
+    0x0d, 0x34, 0x83, 0xcc, 0x04, 0x47, 0x5f, 0x05, 0x95, 0x7e, 0x08, 0x26, 0x05, 0x4b, 0x95, 0x8e, 
+    0x03, 0x76, 0x32, 0x34, 0x6f, 0x78, 0x3f, 0xb6, 0x95, 0x91, 0x30, 0x36, 0xe2, 0x3f, 0x95, 0xa1, 
+    0x1c, 0x8e, 0x04, 0x1c, 0x07, 0x22, 0x1c, 0x74, 0x08, 0x76, 0x8f, 0x0b, 0x1f, 0x4e, 0x38, 0x05, 
+    0x02, 0x32, 0x02, 0x05, 0x7c, 0x9f, 0x0a, 0x3f, 0x2e, 0x4e, 0xe3, 0x34, 0x04, 0x37, 0x65, 0x0b, 
+    0x0e, 0x57, 0x0d, 0x56, 0x10, 0x0b, 0x43, 0x2a, 0xc8, 0x84, 0x31, 0xcb, 0xe3, 0x31, 0x7e, 0x1e, 
+    0x31, 0x8a, 0x9d, 0x20, 0xa1, 0x6b, 0x50, 0xba, 0x42, 0xb8, 0x42, 0xb8, 0xe3, 0x72, 0xac, 0xae, 
+    0x10, 0x14, 0x1d, 0xa9, 0xc8, 0x67, 0xf2, 0x1f, 0x80, 0x84, 0x4b, 0xf2, 0x83, 0x5f, 0x1e, 0x93, 
+    0x84, 0x83, 0x7c, 0x93, 0x4c, 0x8c, 0x09, 0xe3, 0x95, 0x74, 0x06, 0x47, 0x06, 0x25, 0x95, 0x08, 
+    0x22, 0x26, 0x0b, 0x84, 0x95, 0x8e, 0x05, 0x26, 0x05, 0x84, 0x95, 0x53, 0x66, 0x26, 0x74, 0x33, 
+    0xf2, 0x33, 0xf2, 0x95, 0x53, 0x66, 0x26, 0x74, 0x95, 0x8e, 0x05, 0x26, 0x05, 0x84, 0x95, 0x08, 
+    0x22, 0x26, 0x0b, 0x84, 0x6f, 0x9a, 0x84, 0x06, 0x47, 0x06, 0x25, 0x83, 0x7c, 0x93, 0x4c, 0x8c, 
+    0x09, 0xe3, 0x83, 0x5f, 0x1e, 0x93, 0x84, 0x1f, 0x80, 0x84, 0x4b, 0x01, 0xb6, 0x2e, 0xc8, 0x67, 
+    0x02, 0x34, 0x1c, 0x05, 0x4b, 0xbe, 0x4e, 0x66, 0x1f, 0x0c, 0x7b, 0x86, 0x8f, 0x05, 0x8e, 0x3a, 
+    0x1f, 0xe2, 0x1e, 0xc4, 0x26, 0x51, 0x1e, 0x38, 0x02, 0x2e, 0x61, 0xa0, 0x0e, 0x57, 0x45, 0x05, 
+    0x10, 0x14, 0x2a, 0xa7, 0x00, 0x9a, 0xa5, 0xad, 0x10, 0x09, 0x2a, 0xb3, 0x72, 0x2a, 0xac, 0x3b, 
+    0xac, 0x10, 0x09, 0x2a, 0xb3, 0x72, 0x2a, 0xa7, 0xae, 0xae, 0xb4, 0x0f, 0x28, 0x97, 0x0c, 0x35, 
+    0x9a, 0x8a, 0x08, 0x1b, 0xe3, 0x66, 0x72, 0xe2, 0x4f, 0x31, 0xdc, 0x67, 0x10, 0x13, 0x2a, 0xa7, 
+    0x76, 0x98, 0x84, 0x06, 0x1d, 0x51, 0x47, 0x3c, 0x57, 0x04, 0x47, 0x51, 0x1d, 0x4e, 0x52, 0x03, 
+    0x3d, 0x50, 0x32, 0x7c, 0x38, 0x02, 0x1f, 0x4d, 0x32, 0x8a, 0x3a, 0x01, 0x69, 0x51, 0x9a, 0x0d, 
+    0x94, 0x5b, 0x6f, 0xb5, 0x98, 0x84, 0x06, 0x2f, 0xe2, 0xb6, 0x04, 0xba, 0x06, 0x37, 0xd4, 0x34, 
+    0x94, 0x8b, 0xc3, 0x80, 0x39, 0x2f, 0x4d, 0x80, 0x39, 0x26, 0x50, 0x80, 0x39, 0x76, 0x50, 0x32, 
+    0x0d, 0x84, 0x06, 0x83, 0xdc, 0xe5, 0x32, 0x0c, 0x84, 0x06, 0x26, 0x51, 0x3d, 0x32, 0x0c, 0x84, 
+    0x06, 0x76, 0x51, 0x1d, 0x32, 0x8a, 0x4f, 0x47, 0x51, 0x47, 0x32, 0x8a, 0x4f, 0x10, 0x09, 0x2a, 
+    0xac, 0xae, 0x3b, 0xac, 0x10, 0x1f, 0xce, 0x05, 0xa0, 0x52, 0x9d, 0x3d, 0x05, 0xa0, 0x52, 0x9d, 
+    0x69, 0x4d, 0x0a, 0x25, 0xb6, 0x03, 0x32, 0x0a, 0x25, 0xb6, 0x03, 0x43, 0xb5, 0x2c, 0x34, 0x00, 
+    0x7c, 0xe3, 0xc4, 0x1d, 0xdc, 0xb6, 0x6a, 0x8f, 0x4e, 0x88, 0x57, 0x6a, 0x00, 0x6c, 0x84, 0x06, 
+    0x3d, 0xd4, 0xb6, 0x03, 0x1d, 0x49, 0x57, 0x03, 0x1d, 0x09, 0x4b, 0x1d, 0xdc, 0x4f, 0x47, 0x9b, 
+    0x4f, 0x1d, 0x9a, 0x34, 0x1d, 0xdc, 0x66, 0x47, 0x8d, 0x02, 0x1d, 0x32, 0xb6, 0x00, 0xb5, 0x26, 
+    0x96, 0x4d, 0xb5, 0x26, 0x96, 0x4d, 0xb5, 0x10, 0x14, 0xce, 0x03, 0xa5, 0xad, 0x10, 0x14, 0x1d, 
+    0xa9, 0x04, 0x5a, 0x90, 0x67, 0x37, 0xcb, 0x1e, 0x60, 0x9f, 0x5f, 0x0f, 0x1e, 0xc4, 0x1f, 0x7c, 
+    0x3a, 0x4c, 0x8c, 0x7c, 0x3a, 0x83, 0x74, 0x07, 0x47, 0x7e, 0x66, 0x95, 0x4e, 0x0c, 0x26, 0x8a, 
+    0x08, 0x95, 0x8e, 0x05, 0x26, 0x06, 0x22, 0x95, 0x53, 0x66, 0x76, 0x8f, 0x34, 0x33, 0xf2, 0x33, 
+    0xf2, 0x95, 0x53, 0x66, 0x76, 0x8f, 0x34, 0x95, 0x8e, 0x05, 0x26, 0x05, 0x22, 0x95, 0x08, 0x22, 
+    0x26, 0x8a, 0x08, 0x95, 0x74, 0x07, 0x47, 0x7e, 0x66, 0x83, 0x7c, 0x3a, 0x4c, 0x8c, 0x7c, 0x3a, 
+    0x1f, 0x5f, 0x0f, 0x1e, 0xc4, 0x9f, 0xcb, 0x1e, 0x60, 0x2f, 0x05, 0x5a, 0x90, 0x67, 0x10, 0x14, 
+    0xce, 0x04, 0x5a, 0x57, 0xa6, 0xbc, 0x95, 0xb1, 0x2e, 0xa7, 0x10, 0x14, 0x1d, 0xa9, 0xc8, 0xb2, 
+    0xf2, 0x3b, 0xa7, 0x10, 0x0d, 0xce, 0x05, 0xa0, 0xf7, 0x71, 0x51, 0x01, 0x0a, 0x42, 0x71, 0x51, 
+    0x2c, 0x2f, 0xe3, 0x73, 0x00, 0xc3, 0x8b, 0x72, 0xdc, 0x93, 0x1b, 0xdc, 0x8b, 0x3d, 0xc3, 0x01, 
+    0x1c, 0xb3, 0xae, 0x10, 0x11, 0x43, 0xa9, 0x9a, 0x09, 0xcf, 0x0e, 0x9c, 0x08, 0x03, 0x37, 0x08, 
+    0x25, 0x1e, 0x2e, 0x3c, 0x21, 0x47, 0x0c, 0x34, 0x05, 0x02, 0x43, 0x5c, 0x07, 0x0c, 0x83, 0xdc, 
+    0x77, 0xab, 0x05, 0x1c, 0x0a, 0x84, 0x45, 0x05, 0x02, 0x72, 0x6e, 0x84, 0x34, 0x73, 0x37, 0x8f, 
+    0x09, 0x53, 0x1e, 0x06, 0x31, 0x5c, 0x08, 0x0b, 0x91, 0x87, 0x72, 0x32, 0x05, 0x0d, 0x22, 0x1c, 
+    0x97, 0x28, 0x8d, 0x9f, 0x0b, 0x02, 0x76, 0x04, 0xb6, 0x95, 0xdc, 0x85, 0x86, 0x01, 0x65, 0x0e, 
+    0x4b, 0x43, 0xa8, 0x03, 0x9f, 0x04, 0x0c, 0x1e, 0xb6, 0x04, 0x2f, 0x04, 0x92, 0x0e, 0x57, 0x85, 
+    0x01, 0x10, 0x0d, 0x82, 0xb3, 0x2d, 0x41, 0xba, 0x42, 0xb8, 0x42, 0xb8, 0xe3, 0x31, 0xb3, 0xae, 
+    0x3b, 0x53, 0x66, 0x1c, 0x0b, 0x22, 0x02, 0x20, 0x3c, 0x1e, 0x72, 0x8a, 0xe3, 0x1b, 0xc8, 0x84, 
+    0x10, 0x14, 0x68, 0x1a, 0x4d, 0x54, 0x54, 0x54, 0x54, 0x33, 0x84, 0x1a, 0x8d, 0x83, 0xa1, 0x47, 
+    0x9a, 0x84, 0x95, 0x78, 0x87, 0x47, 0x08, 0x84, 0x83, 0x0a, 0x22, 0x47, 0x04, 0x25, 0x6f, 0xc6, 
+    0x3a, 0x03, 0x00, 0x8c, 0x08, 0xe3, 0x1f, 0x8a, 0x1e, 0x5b, 0x84, 0x1f, 0x80, 0x25, 0x5b, 0xf2, 
+    0x9f, 0x75, 0xcf, 0x67, 0xf2, 0x10, 0x13, 0xa9, 0x8a, 0x06, 0x69, 0x3c, 0x0c, 0x6f, 0x07, 0x22, 
+    0x69, 0x8e, 0x07, 0x6f, 0x74, 0x02, 0x76, 0x74, 0x01, 0x95, 0x8e, 0x07, 0x76, 0x07, 0x22, 0x83, 
+    0x05, 0x34, 0x47, 0x78, 0x0f, 0x39, 0x83, 0xcc, 0x03, 0x1d, 0x9b, 0x62, 0x83, 0x7c, 0x08, 0x1d, 
+    0x08, 0x4b, 0xa3, 0x53, 0x8b, 0x2e, 0x53, 0x8b, 0x41, 0x04, 0x34, 0x37, 0x08, 0x4b, 0x41, 0x7c, 
+    0x08, 0x37, 0x9b, 0x62, 0xcc, 0x03, 0x2f, 0x8a, 0x06, 0x00, 0x3c, 0x0c, 0x31, 0x07, 0x22, 0x00, 
+    0x8e, 0x07, 0x31, 0x74, 0x79, 0x31, 0x0b, 0x34, 0x22, 0x1b, 0x05, 0x25, 0x39, 0x1b, 0xcc, 0x57, 
+    0x01, 0x35, 0x7c, 0x3a, 0x10, 0x1a, 0xa9, 0x0d, 0x0f, 0x77, 0x1d, 0x53, 0xb6, 0x3d, 0x9a, 0x34, 
+    0x71, 0x49, 0x07, 0x41, 0x8f, 0x25, 0x66, 0x3d, 0x7e, 0x09, 0x71, 0x06, 0x22, 0x3d, 0x06, 0xe3, 
+    0x06, 0x3d, 0x8e, 0x06, 0x69, 0x8f, 0xb6, 0x3d, 0x0a, 0x34, 0x4b, 0x3d, 0x53, 0x66, 0x71, 0x78, 
+    0x0f, 0x77, 0x41, 0x91, 0x06, 0xb6, 0x43, 0x9a, 0x34, 0x27, 0x7c, 0x07, 0x00, 0x8f, 0xb6, 0x00, 
+    0x53, 0x66, 0x43, 0x7e, 0x09, 0x27, 0x06, 0x22, 0x43, 0x06, 0x4b, 0x00, 0x7c, 0x06, 0x43, 0x8e, 
+    0x06, 0x27, 0x02, 0xb6, 0x43, 0x7c, 0x06, 0x00, 0x07, 0x4b, 0x43, 0x53, 0x66, 0x27, 0x78, 0x0f, 
+    0x77, 0x00, 0x53, 0x77, 0x9a, 0xb6, 0x9a, 0x34, 0x6b, 0x7c, 0x07, 0x03, 0xb6, 0x41, 0x91, 0x65, 
+    0x4b, 0x6b, 0x3c, 0x85, 0x4b, 0x41, 0x7c, 0x06, 0x8e, 0x06, 0x29, 0x8f, 0xb6, 0x7c, 0x06, 0x41, 
+    0x06, 0x4b, 0x53, 0x66, 0x6b, 0x78, 0x25, 0x77, 0x43, 0x9a, 0x84, 0x34, 0x6f, 0x7c, 0xb6, 0x1d, 
+    0x91, 0x4b, 0x6f, 0x3c, 0x4b, 0x1d, 0x0a, 0x25, 0x06, 0x36, 0x8f, 0x25, 0x06, 0x1d, 0x06, 0x84, 
+    0x66, 0x6f, 0x78, 0x94, 0x77, 0x1d, 0x9b, 0x52, 0x83, 0x0a, 0xb6, 0x76, 0x0e, 0x4b, 0x10, 0x13, 
+    0x00, 0xa9, 0x7c, 0x7f, 0x47, 0x6e, 0x3a, 0x95, 0x5f, 0x0c, 0x47, 0x8a, 0x58, 0x83, 0x9b, 0x5b, 
+    0x3d, 0x7e, 0x77, 0x9f, 0x7e, 0x8b, 0x43, 0x9b, 0x4f, 0x37, 0x8e, 0x58, 0x5f, 0x0b, 0x2f, 0x6e, 
+    0x3a, 0x7c, 0x7f, 0x31, 0x05, 0xe3, 0x39, 0x1b, 0x09, 0x84, 0x93, 0x35, 0xcc, 0x58, 0x35, 0x08, 
+    0x84, 0x77, 0x1b, 0x04, 0x25, 0xc4, 0x31, 0x6e, 0x88, 0x53, 0x93, 0x31, 0x8a, 0x58, 0x3c, 0x8b, 
+    0x37, 0x49, 0x77, 0x43, 0x7c, 0x58, 0x83, 0xc6, 0x4f, 0x41, 0xcc, 0x09, 0x1f, 0x6e, 0x3a, 0x41, 
+    0xc6, 0x8b, 0x6f, 0x32, 0x8a, 0x58, 0x47, 0x7c, 0x62, 0x36, 0x49, 0x77, 0x76, 0x5f, 0x0a, 0x10, 
+    0x13, 0xa9, 0x8a, 0x07, 0x69, 0x3c, 0x0c, 0x6f, 0x06, 0x34, 0x69, 0x8a, 0x06, 0x95, 0x53, 0x8b, 
+    0x76, 0x79, 0x6f, 0x08, 0x22, 0x76, 0x09, 0x4b, 0x83, 0x74, 0x02, 0x47, 0x53, 0x8b, 0x1f, 0x8e, 
+    0x08, 0x1d, 0x05, 0x34, 0xa3, 0x8e, 0x07, 0x9f, 0x78, 0x94, 0x06, 0x41, 0x74, 0x02, 0x2e, 0x7e, 
+    0x0c, 0x41, 0x08, 0x22, 0x37, 0x8d, 0x03, 0x00, 0x78, 0x0f, 0x39, 0x2f, 0x49, 0x09, 0x00, 0x04, 
+    0xb6, 0x2f, 0x9a, 0x84, 0x01, 0x7c, 0x08, 0x72, 0x8a, 0x4e, 0x77, 0x72, 0x06, 0x25, 0x38, 0x35, 
+    0x0e, 0x25, 0x06, 0x35, 0x4e, 0x57, 0x01, 0x35, 0x74, 0x09, 0x20, 0xcc, 0x04, 0x20, 0x05, 0x34, 
+    0x1c, 0x7c, 0x07, 0x20, 0x8d, 0x02, 0x1b, 0x8f, 0x0b, 0x4b, 0x1b, 0xe3, 0x77, 0x72, 0xe2, 0x93, 
+    0x2f, 0xd4, 0x34, 0x07, 0x10, 0x11, 0xa9, 0x2b, 0x2b, 0x3f, 0x57, 0x20, 0x4e, 0x8b, 0xd0, 0x5b, 
+    0x35, 0x6e, 0x88, 0x35, 0x5f, 0x58, 0x35, 0x8e, 0x77, 0x35, 0x08, 0x84, 0x06, 0xd0, 0x93, 0x35, 
+    0x6e, 0x38, 0x35, 0x5f, 0x7f, 0x35, 0x7c, 0x8b, 0x35, 0x7e, 0x4f, 0x35, 0x97, 0x3a, 0x20, 0x53, 
+    0x3f, 0x1f, 0x2b, 0x2b, 0x10, 0x14, 0x26, 0x2a, 0x06, 0x5a, 0x91, 0x1b, 0x0c, 0x1e, 0x72, 0x3c, 
+    0xe3, 0x72, 0x8e, 0x0c, 0x70, 0x35, 0x53, 0x77, 0x1c, 0xb3, 0x2d, 0xb4, 0x0f, 0x28, 0x3c, 0x0c, 
+    0x35, 0x7a, 0x53, 0x5b, 0xba, 0x60, 0x31, 0xe2, 0x5b, 0x1b, 0xe2, 0x4b, 0x35, 0x8f, 0x7e, 0x4f, 
+    0x1c, 0x7e, 0xd2, 0xaa, 0xf2, 0xc1, 0x72, 0xa1, 0x20, 0x78, 0x87, 0x20, 0x0b, 0x34, 0x70, 0x35, 
+    0x3c, 0xe3, 0x1b, 0x0b, 0x1e, 0x35, 0x05, 0x5a, 0x91, 0x10, 0x0b, 0x00, 0x2a, 0xac, 0xae, 0xae, 
+    0xc5, 0x1c, 0xac, 0x10, 0x14, 0x00, 0x2a, 0xb6, 0x89, 0x06, 0x35, 0xe3, 0x38, 0x37, 0xd4, 0x1e, 
+    0x06, 0x35, 0x5c, 0x0c, 0x22, 0x1c, 0x9b, 0x28, 0x8d, 0xc1, 0x72, 0xa1, 0x1c, 0x8a, 0x06, 0x1c, 
+    0x08, 0xb6, 0x59, 0x35, 0xcb, 0x25, 0x35, 0x08, 0xe3, 0x1b, 0x0a, 0x1e, 0x72, 0x07, 0x84, 0x6a, 
+    0x35, 0x8a, 0x07, 0xab, 0x02, 0x1c, 0xb3, 0x2d, 0xb4, 0x0f, 0x28, 0x04, 0x34, 0x35, 0x5c, 0x0c, 
+    0x22, 0xc3, 0x25, 0x06, 0xba, 0x0b, 0x1b, 0xb6, 0x0d, 0x5d, 0x10, 0x1b, 0x83, 0x3b, 0x82, 0xa9, 
+    0x32, 0x6b, 0x9a, 0x92, 0x0e, 0x40, 0x56, 0x26, 0xa2, 0x27, 0x32, 0x2c, 0xb6, 0x56, 0x02, 0x00, 
+    0x7a, 0x8a, 0x27, 0x78, 0x46, 0x0d, 0x69, 0xd4, 0x38, 0x59, 0x8f, 0x05, 0x09, 0x0e, 0x1e, 0x4b, 
+    0x01, 0x29, 0x0e, 0x06, 0x26, 0x04, 0x09, 0x0c, 0x90, 0x45, 0x03, 0x6b, 0x8f, 0x10, 
+};
+
+static const uint16_t mf_rlefont_DejaVuSans32_aa_glyph_offsets_0[95] = {
+    0x0000, 0x0003, 0x001a, 0x0026, 0x00a6, 0x0132, 0x020e, 0x02a9, 
+    0x02ad, 0x0301, 0x0353, 0x039e, 0x03ad, 0x03b9, 0x03c3, 0x03cb, 
+    0x0416, 0x0497, 0x04b2, 0x0511, 0x0571, 0x05c3, 0x060c, 0x0698, 
+    0x06d4, 0x075f, 0x07e1, 0x07e9, 0x07f6, 0x0851, 0x0859, 0x08b2, 
+    0x08f5, 0x09fc, 0x0a79, 0x0ae0, 0x0b4c, 0x0bbd, 0x0bd3, 0x0be4, 
+    0x0c5e, 0x0c6e, 0x0c75, 0x0c8f, 0x0d08, 0x0d13, 0x0d9e, 0x0e15, 
+    0x0e76, 0x0eb5, 0x0f29, 0x0f86, 0x0ff0, 0x0ffc, 0x103f, 0x10c0, 
+    0x11b4, 0x1230, 0x1274, 0x12b8, 0x12c5, 0x1306, 0x1312, 0x1348, 
+    0x134b, 0x135f, 0x13c3, 0x13cf, 0x141f, 0x1428, 0x1485, 0x14a1, 
+    0x1521, 0x1529, 0x1532, 0x154d, 0x15ae, 0x15b5, 0x1608, 0x160e, 
+    0x166f, 0x167b, 0x1684, 0x16a4, 0x1702, 0x1721, 0x1756, 0x17b5, 
+    0x185f, 0x18c0, 0x1935, 0x1965, 0x19aa, 0x19b4, 0x19fb, 
+};
+
+static const struct mf_rlefont_char_range_s mf_rlefont_DejaVuSans32_aa_char_ranges[] = {
+    {32, 95, mf_rlefont_DejaVuSans32_aa_glyph_offsets_0, mf_rlefont_DejaVuSans32_aa_glyph_data_0},
+};
+
+const struct mf_rlefont_s mf_rlefont_DejaVuSans32_aa = {
+    {
+    "DejaVu Sans Book 32",
+    "DejaVuSans32_aa",
+    33, /* width */
+    34, /* height */
+    9, /* min x advance */
+    32, /* max x advance */
+    2, /* baseline x */
+    26, /* baseline y */
+    37, /* line height */
+    0, /* flags */
+    63, /* fallback character */
+    &mf_rlefont_character_width,
+    &mf_rlefont_render_character,
+    },
+    4, /* version */
+    mf_rlefont_DejaVuSans32_aa_dictionary_data,
+    mf_rlefont_DejaVuSans32_aa_dictionary_offsets,
+    137, /* rle dict count */
+    187, /* total dict count */
+    1, /* char range count */
+    mf_rlefont_DejaVuSans32_aa_char_ranges,
+};
+
+#ifdef MF_INCLUDED_FONTS
+/* List entry for searching fonts by name. */
+static const struct mf_font_list_s mf_rlefont_DejaVuSans32_aa_listentry = {
+    MF_INCLUDED_FONTS,
+    (struct mf_font_s*)&mf_rlefont_DejaVuSans32_aa
+};
+#undef MF_INCLUDED_FONTS
+#define MF_INCLUDED_FONTS (&mf_rlefont_DejaVuSans32_aa_listentry)
+#endif
+
+
+/* End of automatically generated font definition for DejaVuSans32_aa. */
+
diff --git a/src/gdisp/fonts/DejaVuSansBold12.c b/src/gdisp/fonts/DejaVuSansBold12.c
new file mode 100644
index 00000000..b2581760
--- /dev/null
+++ b/src/gdisp/fonts/DejaVuSansBold12.c
@@ -0,0 +1,186 @@
+
+
+/* Start of automatically generated font definition for DejaVuSansBold12. */
+
+#ifndef MF_BWFONT_INTERNALS
+#define MF_BWFONT_INTERNALS
+#endif
+#include "mf_bwfont.h"
+
+#ifndef MF_BWFONT_VERSION_4_SUPPORTED
+#error The font file is not compatible with this version of mcufont.
+#endif
+
+static const uint8_t mf_bwfont_DejaVuSansBold12_glyph_data_0[1540] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x03, 0x7e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 
+    0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0xc8, 0x03, 0xf8, 0x01, 0x4e, 0x00, 
+    0xc8, 0x03, 0x7c, 0x00, 0x4e, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x02, 0x7c, 0x02, 
+    0x74, 0x02, 0xfe, 0x0f, 0xe4, 0x02, 0xe4, 0x03, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 
+    0x22, 0x00, 0x22, 0x00, 0x22, 0x03, 0xdc, 0x00, 0x70, 0x00, 0xd8, 0x01, 0x26, 0x02, 0x20, 0x02, 
+    0x20, 0x02, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0xec, 0x03, 0x3e, 0x02, 0x72, 0x02, 
+    0xe2, 0x02, 0xc4, 0x03, 0x80, 0x01, 0xe0, 0x03, 0x60, 0x02, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0xff, 0x07, 0x07, 0x07, 0x01, 0x04, 0x00, 0x00, 0x01, 0x04, 
+    0x07, 0x07, 0xff, 0x07, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x18, 0x00, 0x7e, 0x00, 
+    0x18, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0xf8, 0x03, 
+    0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x07, 0x00, 0x03, 0x00, 0x00, 
+    0x00, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 
+    0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0xc0, 0x03, 0x3c, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0xf8, 0x00, 0xfc, 0x01, 0x06, 0x03, 0x02, 0x02, 0x06, 0x03, 0xfc, 0x01, 0xf8, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0xfe, 0x03, 0xfe, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 
+    0x00, 0x00, 0x04, 0x02, 0x02, 0x03, 0x82, 0x03, 0xc2, 0x02, 0x62, 0x02, 0x3e, 0x02, 0x1c, 0x02, 
+    0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x02, 0x02, 0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0xfe, 0x03, 
+    0xdc, 0x01, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0xb0, 0x00, 0x8c, 0x00, 0x86, 0x00, 0xfe, 0x03, 
+    0xfe, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x02, 0x1e, 0x02, 0x12, 0x02, 0x12, 0x02, 
+    0x32, 0x03, 0xf2, 0x03, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0xfc, 0x01, 0x16, 0x02, 
+    0x12, 0x02, 0x12, 0x02, 0xf2, 0x03, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x02, 
+    0x82, 0x03, 0xe2, 0x01, 0x7a, 0x00, 0x1e, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 
+    0xde, 0x03, 0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0xde, 0x03, 0xdc, 0x01, 0x00, 0x00, 0x00, 0x00, 
+    0x3c, 0x00, 0x7e, 0x02, 0x42, 0x02, 0x42, 0x02, 0x42, 0x03, 0xfc, 0x01, 0xf8, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x18, 0x03, 0x18, 0x03, 0x00, 0x00, 0x00, 0x08, 0x18, 0x07, 0x18, 0x03, 0x00, 0x00, 
+    0x00, 0x00, 0x40, 0x00, 0xe0, 0x00, 0xa0, 0x00, 0xa0, 0x00, 0xb0, 0x01, 0x10, 0x01, 0x10, 0x01, 
+    0x18, 0x03, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0xa0, 0x00, 0xa0, 0x00, 0xa0, 0x00, 0xa0, 0x00, 
+    0xa0, 0x00, 0xa0, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x03, 0x10, 0x01, 0x10, 0x01, 
+    0xb0, 0x01, 0xa0, 0x00, 0xa0, 0x00, 0xe0, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 
+    0x62, 0x03, 0x72, 0x03, 0x1e, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x08, 0x02, 
+    0x04, 0x04, 0xe2, 0x08, 0x12, 0x09, 0x12, 0x09, 0xf2, 0x09, 0x04, 0x0d, 0x8c, 0x09, 0xf0, 0x00, 
+    0x00, 0x00, 0x00, 0x02, 0xc0, 0x03, 0xf8, 0x01, 0xbe, 0x00, 0x86, 0x00, 0xbe, 0x00, 0xf8, 0x01, 
+    0xc0, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0xfe, 0x03, 0x22, 0x02, 0x22, 0x02, 
+    0x22, 0x02, 0xfe, 0x03, 0xdc, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0xfc, 0x01, 0x06, 0x03, 
+    0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x03, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0xfe, 0x03, 
+    0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x03, 0xfc, 0x01, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0xfe, 0x03, 0xfe, 0x03, 0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0x22, 0x02, 0x00, 0x00, 0x00, 0x00, 
+    0xfe, 0x03, 0xfe, 0x03, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0xf8, 0x00, 0xfc, 0x01, 0x06, 0x03, 0x02, 0x02, 0x02, 0x02, 0x22, 0x02, 0xe2, 0x03, 0xe6, 0x03, 
+    0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0xfe, 0x03, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 
+    0xfe, 0x03, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0xfe, 0x03, 0x00, 0x08, 0x00, 0x08, 
+    0xfe, 0x0f, 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0xfe, 0x03, 0x20, 0x00, 0x70, 0x00, 
+    0xd8, 0x00, 0x8c, 0x01, 0x06, 0x03, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0xfe, 0x03, 
+    0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0xfe, 0x03, 
+    0x0e, 0x00, 0x38, 0x00, 0xe0, 0x00, 0xe0, 0x00, 0x38, 0x00, 0x0e, 0x00, 0xfe, 0x03, 0xfe, 0x03, 
+    0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0xfe, 0x03, 0x0e, 0x00, 0x38, 0x00, 0xe0, 0x00, 0x80, 0x03, 
+    0xfe, 0x03, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0xfc, 0x01, 0x06, 0x03, 0x02, 0x02, 
+    0x02, 0x02, 0x02, 0x02, 0x06, 0x03, 0xfc, 0x01, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 
+    0xfe, 0x03, 0x42, 0x00, 0x42, 0x00, 0x42, 0x00, 0x7e, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0xf8, 0x00, 0xfc, 0x01, 0x06, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x06, 0x0f, 0xfc, 0x09, 
+    0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0xfe, 0x03, 0x22, 0x00, 0x22, 0x00, 0x62, 0x00, 
+    0xfe, 0x01, 0x9c, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x03, 0x3e, 0x02, 0x32, 0x02, 
+    0x32, 0x02, 0x62, 0x02, 0xe6, 0x03, 0xc0, 0x01, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 
+    0xfe, 0x03, 0xfe, 0x03, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x01, 
+    0xfe, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0xfe, 0x03, 0xfe, 0x01, 0x00, 0x00, 
+    0x02, 0x00, 0x1e, 0x00, 0xfc, 0x00, 0xe0, 0x03, 0x00, 0x03, 0xe0, 0x03, 0xfc, 0x00, 0x1e, 0x00, 
+    0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x7e, 0x00, 0xf8, 0x03, 0xc0, 0x03, 0xf8, 0x00, 
+    0x1e, 0x00, 0x1e, 0x00, 0xf8, 0x00, 0xc0, 0x03, 0xf8, 0x03, 0x7e, 0x00, 0x06, 0x00, 0x00, 0x00, 
+    0x02, 0x02, 0x06, 0x03, 0xdc, 0x01, 0xf8, 0x00, 0x20, 0x00, 0xf8, 0x00, 0xdc, 0x01, 0x06, 0x03, 
+    0x02, 0x02, 0x00, 0x00, 0x02, 0x00, 0x0e, 0x00, 0x1c, 0x00, 0xf0, 0x03, 0xf0, 0x03, 0x1c, 0x00, 
+    0x0e, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x82, 0x03, 0xc2, 0x02, 0x62, 0x02, 
+    0x32, 0x02, 0x1a, 0x02, 0x0e, 0x02, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07, 0xff, 0x07, 
+    0x01, 0x04, 0x01, 0x04, 0x00, 0x00, 0x06, 0x00, 0x3c, 0x00, 0xc0, 0x03, 0x00, 0x06, 0x00, 0x00, 
+    0x01, 0x04, 0x01, 0x04, 0xff, 0x07, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 
+    0x04, 0x00, 0x06, 0x00, 0x06, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 
+    0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 
+    0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0xd0, 0x03, 0x48, 0x02, 0x48, 0x02, 0x48, 0x02, 
+    0xf8, 0x03, 0xf0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0xff, 0x03, 0x08, 0x02, 0x08, 0x02, 
+    0x08, 0x02, 0xf8, 0x03, 0xf0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0xf0, 0x01, 0x18, 0x03, 
+    0x08, 0x02, 0x08, 0x02, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0xf8, 0x03, 0x08, 0x02, 
+    0x08, 0x02, 0x08, 0x02, 0xff, 0x03, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0xf0, 0x01, 
+    0x58, 0x03, 0x48, 0x02, 0x48, 0x02, 0x78, 0x02, 0x60, 0x01, 0x00, 0x00, 0x08, 0x00, 0xfe, 0x03, 
+    0xff, 0x03, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0xf8, 0x0b, 0x18, 0x12, 
+    0x08, 0x12, 0x18, 0x13, 0xf8, 0x1f, 0xf8, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0xff, 0x03, 
+    0x18, 0x00, 0x08, 0x00, 0x08, 0x00, 0xf8, 0x03, 0xf0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xfb, 0x03, 
+    0xfb, 0x03, 0x00, 0x00, 0x00, 0x10, 0xfb, 0x1f, 0xfb, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 
+    0xff, 0x03, 0x60, 0x00, 0xf0, 0x00, 0x98, 0x01, 0x08, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 
+    0xff, 0x03, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x03, 0xf8, 0x03, 0x08, 0x00, 0x08, 0x00, 
+    0xf8, 0x03, 0xf8, 0x03, 0x08, 0x00, 0x08, 0x00, 0xf8, 0x03, 0xf0, 0x03, 0x00, 0x00, 0x00, 0x00, 
+    0xf8, 0x03, 0xf8, 0x03, 0x18, 0x00, 0x08, 0x00, 0x08, 0x00, 0xf8, 0x03, 0xf0, 0x03, 0x00, 0x00, 
+    0x00, 0x00, 0xf0, 0x01, 0xf8, 0x03, 0x08, 0x02, 0x08, 0x02, 0x08, 0x02, 0xf8, 0x03, 0xf0, 0x01, 
+    0x00, 0x00, 0x00, 0x00, 0xf8, 0x1f, 0xf8, 0x1f, 0x08, 0x02, 0x08, 0x02, 0x08, 0x02, 0xf8, 0x03, 
+    0xf0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0xf8, 0x03, 0x08, 0x02, 0x08, 0x02, 0x08, 0x02, 
+    0xf8, 0x1f, 0xf8, 0x1f, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x03, 0xf8, 0x03, 0x18, 0x00, 0x08, 0x00, 
+    0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x01, 0x78, 0x02, 0x48, 0x02, 0x48, 0x02, 0xc8, 0x03, 
+    0x90, 0x01, 0x00, 0x00, 0x08, 0x00, 0xfe, 0x03, 0xfe, 0x03, 0x08, 0x02, 0x08, 0x02, 0x00, 0x00, 
+    0x00, 0x00, 0xf8, 0x01, 0xf8, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, 0xf8, 0x03, 0xf8, 0x03, 
+    0x00, 0x00, 0x18, 0x00, 0xf8, 0x00, 0xe0, 0x03, 0x00, 0x03, 0xe0, 0x03, 0xf8, 0x00, 0x18, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0xf8, 0x01, 0x80, 0x03, 0xe0, 0x03, 0x78, 0x00, 0x78, 0x00, 
+    0xe0, 0x03, 0x80, 0x03, 0xf8, 0x01, 0x38, 0x00, 0x00, 0x00, 0x08, 0x02, 0x18, 0x03, 0xf0, 0x01, 
+    0xe0, 0x00, 0xf0, 0x01, 0x18, 0x03, 0x08, 0x02, 0x00, 0x00, 0x18, 0x00, 0x78, 0x10, 0xe0, 0x19, 
+    0x80, 0x0f, 0xe0, 0x07, 0xf8, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x03, 0x88, 0x03, 
+    0xc8, 0x02, 0x68, 0x02, 0x38, 0x02, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 
+    0xfe, 0x03, 0xdf, 0x07, 0x01, 0x04, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f, 
+    0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x01, 0x04, 0xdf, 0x07, 0xfe, 0x03, 0x20, 0x00, 0x20, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x40, 0x00, 0x40, 0x00, 
+    0x40, 0x00, 0x20, 0x00, 
+};
+
+static const uint16_t mf_bwfont_DejaVuSansBold12_glyph_offsets_0[96] = {
+    0x0000, 0x0000, 0x0005, 0x000a, 0x0014, 0x001d, 0x002a, 0x0035, 
+    0x0038, 0x003e, 0x0043, 0x004a, 0x0053, 0x0057, 0x005d, 0x0061, 
+    0x0066, 0x006f, 0x0077, 0x0080, 0x0089, 0x0092, 0x009b, 0x00a4, 
+    0x00ad, 0x00b6, 0x00bf, 0x00c3, 0x00c7, 0x00d1, 0x00db, 0x00e5, 
+    0x00ec, 0x00f8, 0x0102, 0x010b, 0x0114, 0x011e, 0x0126, 0x012e, 
+    0x0138, 0x0142, 0x0146, 0x014a, 0x0154, 0x015c, 0x0168, 0x0172, 
+    0x017d, 0x0186, 0x0191, 0x019b, 0x01a4, 0x01ad, 0x01b7, 0x01c1, 
+    0x01cf, 0x01d9, 0x01e2, 0x01ec, 0x01f2, 0x01f7, 0x01fc, 0x0205, 
+    0x020c, 0x0211, 0x021a, 0x0223, 0x022b, 0x0234, 0x023d, 0x0243, 
+    0x024c, 0x0255, 0x0259, 0x025d, 0x0266, 0x026a, 0x0276, 0x027f, 
+    0x0288, 0x0291, 0x029a, 0x02a1, 0x02a9, 0x02af, 0x02b8, 0x02c0, 
+    0x02cc, 0x02d4, 0x02dc, 0x02e4, 0x02ec, 0x02f0, 0x02f8, 0x0302, 
+};
+
+static const uint8_t mf_bwfont_DejaVuSansBold12_glyph_widths_0[95] = {
+    0x04, 0x05, 0x06, 0x0a, 0x08, 0x0c, 0x0a, 0x04, 0x05, 0x05, 0x06, 0x0a, 0x05, 0x05, 0x05, 0x04, 
+    0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x05, 0x05, 0x0a, 0x0a, 0x0a, 0x07, 
+    0x0c, 0x09, 0x09, 0x09, 0x0a, 0x08, 0x08, 0x0a, 0x0a, 0x04, 0x04, 0x09, 0x08, 0x0c, 0x0a, 0x0b, 
+    0x09, 0x0a, 0x09, 0x09, 0x08, 0x0a, 0x09, 0x0e, 0x09, 0x08, 0x0a, 0x05, 0x04, 0x05, 0x0a, 0x06, 
+    0x06, 0x09, 0x09, 0x07, 0x09, 0x09, 0x05, 0x09, 0x09, 0x04, 0x04, 0x08, 0x04, 0x0c, 0x09, 0x09, 
+    0x09, 0x09, 0x06, 0x08, 0x06, 0x09, 0x07, 0x0c, 0x07, 0x08, 0x08, 0x09, 0x04, 0x09, 0x0a, 
+};
+
+static const struct mf_bwfont_char_range_s mf_bwfont_DejaVuSansBold12_char_ranges[] = {
+    {
+        32, /* first char */
+        95, /* char count */
+        0, /* offset x */
+        0, /* offset y */
+        2, /* height in bytes */
+        13, /* height in pixels */
+        0, /* width */
+        mf_bwfont_DejaVuSansBold12_glyph_widths_0, /* glyph widths */
+        mf_bwfont_DejaVuSansBold12_glyph_offsets_0, /* glyph offsets */
+        mf_bwfont_DejaVuSansBold12_glyph_data_0, /* glyph data */
+    },
+};
+
+const struct mf_bwfont_s mf_bwfont_DejaVuSansBold12 = {
+    {
+    "DejaVu Sans Bold 12",
+    "DejaVuSansBold12",
+    14, /* width */
+    13, /* height */
+    4, /* min x advance */
+    14, /* max x advance */
+    1, /* baseline x */
+    10, /* baseline y */
+    14, /* line height */
+    2, /* flags */
+    63, /* fallback character */
+    &mf_bwfont_character_width,
+    &mf_bwfont_render_character,
+    },
+    4, /* version */
+    1, /* char range count */
+    mf_bwfont_DejaVuSansBold12_char_ranges,
+};
+
+#ifdef MF_INCLUDED_FONTS
+/* List entry for searching fonts by name. */
+static const struct mf_font_list_s mf_bwfont_DejaVuSansBold12_listentry = {
+    MF_INCLUDED_FONTS,
+    (struct mf_font_s*)&mf_bwfont_DejaVuSansBold12
+};
+#undef MF_INCLUDED_FONTS
+#define MF_INCLUDED_FONTS (&mf_bwfont_DejaVuSansBold12_listentry)
+#endif
+
+
+/* End of automatically generated font definition for DejaVuSansBold12. */
+
diff --git a/src/gdisp/fonts/DejaVuSansBold12_aa.c b/src/gdisp/fonts/DejaVuSansBold12_aa.c
new file mode 100644
index 00000000..bab54f58
--- /dev/null
+++ b/src/gdisp/fonts/DejaVuSansBold12_aa.c
@@ -0,0 +1,257 @@
+
+
+/* Start of automatically generated font definition for DejaVuSansBold12_aa. */
+
+#ifndef MF_RLEFONT_INTERNALS
+#define MF_RLEFONT_INTERNALS
+#endif
+#include "mf_rlefont.h"
+
+#ifndef MF_RLEFONT_VERSION_4_SUPPORTED
+#error The font file is not compatible with this version of mcufont.
+#endif
+
+static const uint8_t mf_rlefont_DejaVuSansBold12_aa_dictionary_data[295] = {
+    0x09, 0x06, 0xce, 0x80, 0xc2, 0x02, 0x11, 0x80, 0xc5, 0x07, 0x0a, 0x03, 0x0b, 0x02, 0x01, 0xc2, 
+    0x06, 0x81, 0x81, 0x0c, 0x81, 0x86, 0x04, 0x81, 0x2c, 0x83, 0x05, 0x2b, 0x80, 0xc3, 0x80, 0xcb, 
+    0x0f, 0x40, 0x07, 0xce, 0xcb, 0x80, 0xc6, 0x0c, 0xd9, 0x0c, 0x01, 0xca, 0x84, 0x1a, 0xc5, 0xc1, 
+    0xcb, 0x80, 0x2d, 0xc7, 0x80, 0xc8, 0xc2, 0x01, 0x0b, 0xc5, 0x07, 0x81, 0x02, 0x01, 0x80, 0x10, 
+    0xc4, 0xce, 0xc3, 0x80, 0x80, 0xca, 0xc3, 0xca, 0x04, 0x80, 0xcc, 0xce, 0xca, 0x07, 0x81, 0xc5, 
+    0xcd, 0xc3, 0xcc, 0xc2, 0x81, 0xce, 0x80, 0x80, 0xc2, 0x01, 0x81, 0x82, 0x80, 0xce, 0xc1, 0xc5, 
+    0x80, 0xc9, 0x0c, 0x01, 0xc5, 0x80, 0x08, 0xcd, 0x80, 0xcd, 0xc9, 0x80, 0xc7, 0x85, 0x08, 0xce, 
+    0xc9, 0xd1, 0xc1, 0x01, 0xce, 0x81, 0xc1, 0xc6, 0x80, 0xc4, 0xcc, 0xc6, 0xc3, 0xce, 0x07, 0xcd, 
+    0x80, 0xce, 0xc1, 0x81, 0xde, 0x80, 0xcd, 0xce, 0xcd, 0xc4, 0xcb, 0xc1, 0xc9, 0xc5, 0xcc, 0x80, 
+    0xc8, 0xcd, 0xc5, 0xc2, 0xc9, 0x0e, 0x0c, 0x06, 0x2c, 0x24, 0x50, 0x24, 0x05, 0x0f, 0x45, 0xdc, 
+    0x1a, 0x18, 0x0f, 0x52, 0xa4, 0x18, 0x94, 0x42, 0x09, 0x30, 0x1f, 0x06, 0x4f, 0x29, 0x1a, 0x22, 
+    0x63, 0x21, 0x9c, 0x26, 0x29, 0x1a, 0x22, 0x4d, 0x29, 0x09, 0x30, 0x1f, 0x06, 0x0f, 0x4f, 0x66, 
+    0x55, 0x45, 0x02, 0x22, 0x63, 0x19, 0x8a, 0x4d, 0x45, 0x02, 0x22, 0x63, 0x45, 0x09, 0x66, 0x55, 
+    0x29, 0xc0, 0x57, 0x00, 0x01, 0x01, 0x20, 0x24, 0x50, 0x24, 0x50, 0x24, 0x50, 0x24, 0x50, 0x09, 
+    0x0e, 0x28, 0x1d, 0x38, 0x66, 0x61, 0x5f, 0x39, 0x48, 0x45, 0xdc, 0x5f, 0x39, 0x48, 0x1d, 0x38, 
+    0x66, 0x61, 0x52, 0x09, 0x0c, 0x03, 0x45, 0x09, 0x4e, 0x63, 0x45, 0x24, 0x20, 0x02, 0x62, 0x04, 
+    0x01, 0x01, 0x4d, 0x21, 0x90, 0xb7, 0x5f, 0x39, 0x01, 0x63, 0x2a, 0x24, 0x3a, 0x1c, 0x20, 0x0c, 
+    0x07, 0x26, 0x23, 0x02, 0x1e, 0x1e, 0x01, 0x07, 0x20, 0x51, 0x0a, 0x1d, 0x0f, 0x1c, 0x18, 0x1d, 
+    0x36, 0x0b, 0x1c, 0x0d, 0x63, 0x0a, 0x49, 
+};
+
+static const uint16_t mf_rlefont_DejaVuSansBold12_aa_dictionary_offsets[115] = {
+    0x0000, 0x0001, 0x0002, 0x0006, 0x0007, 0x0009, 0x000a, 0x000b, 
+    0x000c, 0x000d, 0x000e, 0x0010, 0x0012, 0x0015, 0x0016, 0x0018, 
+    0x0019, 0x001a, 0x001b, 0x001c, 0x001e, 0x0020, 0x0021, 0x0023, 
+    0x0025, 0x0027, 0x002a, 0x002c, 0x002d, 0x002e, 0x0030, 0x0032, 
+    0x0033, 0x0036, 0x0038, 0x003a, 0x003d, 0x003f, 0x0040, 0x0042, 
+    0x0044, 0x0046, 0x0048, 0x0049, 0x004b, 0x004d, 0x004f, 0x0051, 
+    0x0053, 0x0055, 0x0057, 0x0059, 0x005b, 0x005c, 0x005e, 0x0060, 
+    0x0062, 0x0063, 0x0066, 0x0067, 0x0069, 0x006b, 0x006d, 0x006f, 
+    0x0071, 0x0072, 0x0074, 0x0076, 0x0078, 0x007a, 0x007c, 0x007e, 
+    0x0081, 0x0083, 0x0084, 0x0085, 0x0087, 0x0089, 0x008b, 0x008d, 
+    0x008f, 0x0091, 0x0093, 0x0095, 0x0097, 0x0099, 0x009c, 0x009e, 
+    0x00a0, 0x00a2, 0x00a7, 0x00bd, 0x00d3, 0x00d5, 0x00d7, 0x00df, 
+    0x00f4, 0x00fb, 0x00fd, 0x0101, 0x0103, 0x0106, 0x0108, 0x010a, 
+    0x0111, 0x0113, 0x0115, 0x0117, 0x0119, 0x011c, 0x011f, 0x0121, 
+    0x0123, 0x0125, 0x0127, 
+};
+
+static const uint8_t mf_rlefont_DejaVuSansBold12_aa_glyph_data_0[2289] = {
+    0x04, 0x00, 0x10, 0x05, 0x1b, 0x6d, 0x50, 0x0d, 0x0d, 0x50, 0x0c, 0x0c, 0x34, 0x24, 0x10, 0x06, 
+    0x2d, 0xee, 0x52, 0xac, 0x52, 0xac, 0x10, 0x0a, 0x52, 0x82, 0x4a, 0x06, 0x0d, 0x18, 0x46, 0x32, 
+    0x09, 0x19, 0x51, 0x56, 0x69, 0x3f, 0x01, 0x1d, 0x74, 0x4a, 0x06, 0x0d, 0x52, 0xc3, 0x1c, 0x1d, 
+    0x08, 0x0b, 0x00, 0x5d, 0x18, 0x0b, 0x08, 0x00, 0x2b, 0x18, 0x69, 0x3f, 0x01, 0x10, 0x08, 0x2d, 
+    0xd4, 0x82, 0x89, 0xf7, 0x86, 0x3f, 0x1e, 0x0e, 0x4f, 0x0f, 0x01, 0x18, 0x0c, 0x4c, 0x43, 0x03, 
+    0x1d, 0x03, 0x0d, 0x4c, 0x43, 0x18, 0x03, 0x2c, 0x4d, 0x1e, 0x4a, 0x2c, 0x29, 0xc0, 0x44, 0x81, 
+    0x0f, 0x52, 0xa4, 0x10, 0x0c, 0x3d, 0x47, 0x6b, 0x03, 0x21, 0x0c, 0x05, 0x29, 0x5d, 0x5b, 0x0c, 
+    0x00, 0x06, 0x0b, 0x19, 0x60, 0x74, 0x60, 0x0d, 0x03, 0x19, 0x5d, 0x5b, 0x0c, 0x08, 0x09, 0x1d, 
+    0x47, 0x6b, 0x3e, 0x04, 0x0c, 0x6b, 0x03, 0x19, 0x32, 0x08, 0x5d, 0x5b, 0x0c, 0x19, 0x03, 0x0d, 
+    0x01, 0x60, 0x74, 0x0e, 0x19, 0x0b, 0x06, 0x00, 0x5d, 0x5b, 0x0c, 0x29, 0x67, 0x21, 0x47, 0x6b, 
+    0x03, 0x10, 0x0a, 0x1b, 0x47, 0x64, 0x06, 0x18, 0x0d, 0x2b, 0x6a, 0x18, 0x0e, 0x5c, 0x20, 0x09, 
+    0x63, 0x01, 0x18, 0x06, 0x61, 0x2c, 0x22, 0x4d, 0x29, 0x0d, 0x1c, 0x0e, 0x68, 0x08, 0x40, 0x29, 
+    0x49, 0x01, 0x04, 0x4c, 0x5c, 0x29, 0x09, 0x68, 0x01, 0x0a, 0x0f, 0x43, 0x29, 0x74, 0x08, 0x88, 
+    0x0a, 0x06, 0x0e, 0x08, 0x10, 0x04, 0x3d, 0x71, 0x10, 0x05, 0x1f, 0x08, 0x40, 0x82, 0x49, 0x81, 
+    0x06, 0x40, 0x20, 0x87, 0x20, 0x49, 0x75, 0x61, 0x50, 0x49, 0x75, 0x87, 0x20, 0x07, 0x40, 0x00, 
+    0x82, 0x70, 0x08, 0x40, 0x10, 0x05, 0x32, 0x68, 0x1e, 0x22, 0x4d, 0x75, 0x0a, 0x30, 0x3a, 0x2c, 
+    0x20, 0x7b, 0x29, 0x45, 0x20, 0x7b, 0x3a, 0x2c, 0x1e, 0x32, 0x30, 0x18, 0x22, 0x0f, 0x60, 0x18, 
+    0x32, 0x68, 0x10, 0x06, 0x2d, 0xec, 0x1e, 0x32, 0x3f, 0x41, 0x18, 0x04, 0x88, 0x04, 0x18, 0x04, 
+    0x88, 0x04, 0x52, 0x32, 0x3f, 0x41, 0x19, 0xa4, 0x10, 0x0a, 0x21, 0x37, 0x71, 0x18, 0x25, 0x1e, 
+    0x71, 0x10, 0x05, 0x2e, 0x7f, 0x10, 0x05, 0x2d, 0x2e, 0x28, 0x52, 0xc0, 0x10, 0x05, 0x2a, 0x2e, 
+    0x24, 0x10, 0x04, 0x1b, 0x46, 0x31, 0x0d, 0x04, 0x20, 0x3f, 0x75, 0x07, 0x0b, 0x50, 0x0b, 0x83, 
+    0x01, 0x2b, 0x20, 0x04, 0x0d, 0x31, 0x69, 0x10, 0x08, 0x19, 0x3a, 0x53, 0x69, 0x52, 0x04, 0x4f, 
+    0x66, 0x2b, 0x86, 0x02, 0x22, 0x40, 0x5f, 0x21, 0x7e, 0x6f, 0x5f, 0x21, 0x7e, 0x86, 0x02, 0x22, 
+    0x40, 0x1d, 0x04, 0x4f, 0x66, 0x5c, 0x52, 0x05, 0x53, 0x69, 0x10, 0x08, 0x18, 0x45, 0x6d, 0x50, 
+    0x6d, 0x1e, 0xc3, 0x10, 0x08, 0x3d, 0x41, 0x0e, 0x63, 0x08, 0x01, 0x1d, 0x0b, 0x05, 0x58, 0x08, 
+    0x4f, 0x20, 0x7b, 0x20, 0x04, 0x63, 0x1e, 0x5e, 0x1c, 0x18, 0x3e, 0x30, 0x18, 0x05, 0x85, 0x07, 
+    0x4d, 0x04, 0x1e, 0x25, 0x10, 0x08, 0x3d, 0x65, 0x62, 0x54, 0x01, 0x1d, 0x0b, 0x04, 0x58, 0x08, 
+    0x2c, 0x20, 0x7b, 0x82, 0x07, 0x40, 0x21, 0x45, 0x63, 0x02, 0x82, 0x07, 0x2c, 0x00, 0x82, 0x61, 
+    0x1d, 0x0b, 0x04, 0x58, 0x08, 0x2c, 0x1d, 0x05, 0x36, 0x64, 0x08, 0x01, 0x10, 0x08, 0x21, 0x1b, 
+    0x0c, 0x61, 0x1e, 0x08, 0x0a, 0x61, 0x18, 0x03, 0x60, 0x61, 0x1d, 0x74, 0x69, 0x4b, 0x52, 0x09, 
+    0x09, 0xf0, 0x52, 0x0d, 0x01, 0xf0, 0x52, 0x25, 0x20, 0x24, 0x10, 0x08, 0x3d, 0x56, 0x79, 0x3c, 
+    0x4d, 0x6b, 0x83, 0x02, 0x0a, 0x68, 0x20, 0x7b, 0x20, 0x7b, 0x82, 0x0a, 0x68, 0x45, 0x4d, 0x5d, 
+    0x10, 0x08, 0x1b, 0x03, 0x0b, 0x4c, 0x52, 0x03, 0x2c, 0x81, 0x0a, 0x2b, 0x20, 0x0e, 0x43, 0x0e, 
+    0x57, 0x01, 0x45, 0x07, 0x01, 0x07, 0x4f, 0x5f, 0x59, 0x7b, 0x86, 0x59, 0x7e, 0x1d, 0x04, 0x55, 
+    0x01, 0x38, 0x52, 0x05, 0x88, 0x07, 0x10, 0x08, 0x3d, 0x25, 0x20, 0x04, 0x63, 0x20, 0x0c, 0x30, 
+    0x1e, 0x04, 0x63, 0x20, 0x87, 0x1e, 0x03, 0x43, 0x1e, 0x32, 0x5c, 0x18, 0x22, 0x43, 0x20, 0x09, 
+    0x5c, 0x10, 0x08, 0x2d, 0x22, 0x89, 0x44, 0x02, 0x86, 0x06, 0x01, 0x6c, 0x1d, 0x49, 0x59, 0x7b, 
+    0x19, 0x32, 0x30, 0x5b, 0x40, 0x19, 0x74, 0x0c, 0x61, 0x43, 0x01, 0x86, 0x06, 0x01, 0x6c, 0x1d, 
+    0x49, 0x59, 0x7b, 0x86, 0x06, 0x01, 0x6c, 0x19, 0x22, 0x89, 0x44, 0x02, 0x10, 0x08, 0x1b, 0x07, 
+    0x0d, 0x43, 0x05, 0x52, 0x08, 0x55, 0x01, 0x07, 0x2b, 0x5f, 0x01, 0x74, 0x2c, 0x1d, 0x49, 0x59, 
+    0x7e, 0x1d, 0x09, 0x55, 0x01, 0x07, 0x61, 0x1d, 0x66, 0x0e, 0x6b, 0x4d, 0x20, 0x03, 0x40, 0x18, 
+    0x22, 0x0b, 0x2b, 0x00, 0x45, 0x2c, 0x03, 0x10, 0x05, 0x27, 0x79, 0x2a, 0x24, 0x10, 0x05, 0x27, 
+    0x79, 0x7f, 0x10, 0x0a, 0x1f, 0x37, 0x22, 0x07, 0x0c, 0x52, 0x5b, 0x0c, 0x0f, 0x44, 0x19, 0x06, 
+    0x36, 0x44, 0x35, 0x45, 0x0a, 0x01, 0x1e, 0x06, 0x36, 0x44, 0x35, 0x18, 0x5b, 0x0c, 0x0f, 0x44, 
+    0x1e, 0x22, 0x07, 0x0c, 0x10, 0x0a, 0x2e, 0x3c, 0x25, 0x2d, 0xa4, 0x25, 0x10, 0x0a, 0x27, 0x0c, 
+    0x07, 0x02, 0x20, 0x89, 0x5d, 0x01, 0x18, 0x4e, 0x89, 0x0b, 0x06, 0x82, 0x0a, 0x61, 0x1d, 0x4e, 
+    0x89, 0x0b, 0x06, 0x19, 0x89, 0x5d, 0x01, 0x52, 0x0c, 0x07, 0x02, 0x10, 0x07, 0x18, 0x45, 0x43, 
+    0x04, 0x20, 0x03, 0x63, 0x20, 0x07, 0x63, 0x1e, 0x04, 0x0f, 0x5c, 0x1e, 0x0c, 0x30, 0x42, 0x45, 
+    0x01, 0x52, 0x1b, 0x24, 0x10, 0x0c, 0x00, 0x1b, 0x41, 0x62, 0x5d, 0x1d, 0x06, 0x0e, 0x06, 0x02, 
+    0x01, 0x65, 0x0a, 0x29, 0x5e, 0x02, 0x29, 0x0b, 0x06, 0x1f, 0x32, 0x07, 0x00, 0x04, 0x44, 0xfd, 
+    0x47, 0x42, 0x0e, 0x39, 0x0d, 0x04, 0x6e, 0x74, 0x0e, 0xd4, 0xa8, 0x22, 0x0d, 0x42, 0x0d, 0x39, 
+    0x0d, 0x04, 0x05, 0x4a, 0x0b, 0x07, 0x42, 0x09, 0x06, 0x00, 0x04, 0x2f, 0x63, 0x07, 0x42, 0x22, 
+    0x0d, 0x02, 0x50, 0x46, 0x35, 0x4e, 0x5d, 0x1d, 0x6a, 0x53, 0x44, 0x03, 0x10, 0x09, 0x1d, 0x82, 
+    0x49, 0x60, 0x52, 0x51, 0x85, 0x0b, 0x43, 0x40, 0x1d, 0x74, 0x61, 0x48, 0x01, 0x1d, 0x06, 0x40, 
+    0x00, 0x0b, 0x30, 0x1d, 0x87, 0x51, 0x0b, 0x29, 0x22, 0xc3, 0x4a, 0x29, 0x07, 0x40, 0x21, 0x32, 
+    0x55, 0x29, 0x0c, 0x1c, 0x1f, 0x05, 0x43, 0x10, 0x09, 0x2d, 0xe2, 0x44, 0x02, 0x3b, 0x6c, 0x3b, 
+    0x7b, 0x3b, 0x6c, 0x19, 0xc2, 0x2b, 0x3b, 0x05, 0x43, 0x6f, 0x3b, 0x05, 0x43, 0x29, 0xc0, 0x2f, 
+    0x03, 0x10, 0x09, 0x1b, 0x6a, 0x49, 0x2f, 0x19, 0x22, 0x62, 0x35, 0x41, 0x1d, 0x09, 0x30, 0x20, 
+    0x70, 0x61, 0x50, 0x70, 0x09, 0x30, 0x20, 0x7a, 0x41, 0x52, 0x6a, 0x49, 0x2f, 0x10, 0x0a, 0x2d, 
+    0xf2, 0x6b, 0x08, 0x01, 0x45, 0x22, 0x06, 0x64, 0x01, 0x29, 0x8a, 0x07, 0x4f, 0x42, 0x90, 0x22, 
+    0x63, 0x23, 0x80, 0x21, 0x22, 0x63, 0x29, 0x8a, 0x07, 0x4f, 0x1f, 0x9c, 0x5b, 0x64, 0x01, 0x1f, 
+    0xbc, 0x6b, 0x08, 0x01, 0x10, 0x08, 0x3d, 0x56, 0x6d, 0x28, 0x52, 0x6d, 0x28, 0x10, 0x08, 0x3d, 
+    0x56, 0x6d, 0x28, 0x52, 0x6d, 0x10, 0x0a, 0x1d, 0x82, 0x08, 0x53, 0x64, 0x0b, 0x29, 0x74, 0x0d, 
+    0x0e, 0x06, 0x58, 0x65, 0x19, 0x09, 0x55, 0x42, 0x7d, 0x1f, 0x45, 0xbc, 0x19, 0x1a, 0x4b, 0x19, 
+    0x09, 0x30, 0xdc, 0x29, 0x22, 0x62, 0x35, 0x48, 0x1d, 0x6a, 0x53, 0x6b, 0x09, 0x10, 0x0a, 0x18, 
+    0x45, 0x80, 0x80, 0x80, 0x80, 0xc3, 0x23, 0x80, 0x80, 0x80, 0x26, 0x10, 0x04, 0x3d, 0x76, 0x61, 
+    0x10, 0x04, 0x3d, 0x76, 0x4d, 0x20, 0x07, 0x2c, 0x29, 0xa4, 0x54, 0x01, 0x10, 0x09, 0x2d, 0x8a, 
+    0x03, 0x0d, 0x30, 0x1f, 0x90, 0x04, 0x62, 0x04, 0x23, 0x51, 0x0d, 0x03, 0x45, 0x06, 0x43, 0x59, 
+    0x45, 0x85, 0x0f, 0x30, 0x0f, 0x1c, 0x00, 0x45, 0x51, 0x1c, 0x3b, 0x3e, 0x30, 0x29, 0x8a, 0x3e, 
+    0x55, 0x10, 0x08, 0x3d, 0x76, 0xc3, 0x10, 0x0c, 0x20, 0xa4, 0x4f, 0x42, 0x09, 0xf7, 0xbc, 0x39, 
+    0x22, 0x4c, 0x26, 0x54, 0x21, 0x09, 0x53, 0xa5, 0x55, 0x4a, 0x02, 0x55, 0x61, 0x26, 0x01, 0x57, 
+    0x09, 0x60, 0xf7, 0x9c, 0x07, 0x0f, 0x55, 0x4b, 0x26, 0x74, 0x0e, 0x60, 0x4b, 0x80, 0x80, 0x10, 
+    0x0a, 0x20, 0xa4, 0x43, 0xdc, 0x23, 0x5c, 0xd0, 0xa4, 0x43, 0x0c, 0xd0, 0xa4, 0x5c, 0x1c, 0x8a, 
+    0x9c, 0x0b, 0x0c, 0x8a, 0x9c, 0x04, 0x0f, 0x6e, 0xc5, 0x90, 0x0b, 0x0c, 0x0f, 0xc5, 0x90, 0x03, 
+    0x61, 0xc5, 0x90, 0x32, 0x61, 0x10, 0x0b, 0x1b, 0x6a, 0x49, 0x54, 0x02, 0x19, 0x7a, 0x04, 0x62, 
+    0x39, 0x72, 0x4f, 0x29, 0x7a, 0x04, 0x62, 0x02, 0x19, 0x6a, 0x49, 0x57, 0x02, 0x10, 0x09, 0x2d, 
+    0xe2, 0x54, 0x01, 0x3b, 0x08, 0x4f, 0x3b, 0x7b, 0x3b, 0x7b, 0x3b, 0x08, 0x4f, 0x29, 0xc0, 0x54, 
+    0x01, 0x45, 0x50, 0x24, 0x10, 0x0a, 0x1b, 0x6a, 0x49, 0x57, 0x02, 0x19, 0x7a, 0x04, 0x62, 0x39, 
+    0x72, 0x40, 0x29, 0x7a, 0x3e, 0x2b, 0x19, 0x6a, 0x0d, 0x61, 0x5c, 0x82, 0x0d, 0x30, 0x20, 0x03, 
+    0x4d, 0x02, 0x10, 0x09, 0x2d, 0xe2, 0x2f, 0x02, 0x3b, 0x06, 0x43, 0x3b, 0x7b, 0x3b, 0x6c, 0x29, 
+    0xc0, 0x63, 0x01, 0x45, 0x22, 0x0b, 0x30, 0x3b, 0x7e, 0x3b, 0x32, 0x1c, 0x29, 0x8a, 0x05, 0x43, 
+    0x10, 0x09, 0x19, 0x82, 0x89, 0x6b, 0x1d, 0x32, 0x1c, 0x00, 0x41, 0x52, 0x70, 0x53, 0x57, 0x06, 
+    0x01, 0x52, 0x04, 0x0d, 0x61, 0x85, 0x03, 0x07, 0x88, 0x1e, 0x22, 0x4d, 0x1d, 0x0b, 0x35, 0x84, 
+    0x0a, 0x0d, 0x49, 0x54, 0x01, 0x10, 0x08, 0x1e, 0xa4, 0x25, 0x18, 0x76, 0x10, 0x0a, 0x18, 0x45, 
+    0x80, 0x80, 0x80, 0x80, 0x80, 0x26, 0x19, 0x53, 0x01, 0x21, 0x7e, 0x19, 0x08, 0x4f, 0x01, 0x66, 
+    0x68, 0x1d, 0x07, 0x53, 0x63, 0x07, 0x10, 0x09, 0x2d, 0x0c, 0x1c, 0x1f, 0x05, 0x43, 0x29, 0x07, 
+    0x40, 0x21, 0x32, 0x55, 0x42, 0x22, 0x0f, 0x60, 0x74, 0x1a, 0x42, 0x87, 0x51, 0x0b, 0x1d, 0x6c, 
+    0x00, 0x0b, 0x30, 0x19, 0x74, 0x0f, 0x2b, 0x61, 0x59, 0x86, 0x0c, 0x40, 0x52, 0x51, 0x85, 0x01, 
+    0x49, 0x60, 0x10, 0x0e, 0x3d, 0x0d, 0x2b, 0x74, 0x61, 0x59, 0x03, 0x63, 0x00, 0x32, 0x55, 0x51, 
+    0x1c, 0x00, 0x07, 0x40, 0x21, 0x06, 0x40, 0x00, 0x09, 0x0e, 0x44, 0x32, 0x30, 0x00, 0x22, 0x4d, 
+    0x00, 0x57, 0x09, 0x0e, 0x00, 0x1a, 0x00, 0x0e, 0x30, 0x1c, 0x05, 0x30, 0x4d, 0x1f, 0x32, 0x0f, 
+    0x49, 0x01, 0x7b, 0x40, 0x42, 0x07, 0x0f, 0x2c, 0x21, 0x36, 0x55, 0x42, 0x3f, 0x55, 0x21, 0x06, 
+    0x0f, 0x2b, 0x29, 0x1a, 0x02, 0x4d, 0x10, 0x09, 0x2d, 0x0a, 0x30, 0x1f, 0x06, 0x40, 0x42, 0x74, 
+    0x0d, 0x0e, 0x02, 0x22, 0x64, 0x01, 0x19, 0x04, 0x2c, 0x00, 0x0b, 0x5c, 0x52, 0x08, 0x43, 0x68, 
+    0x18, 0x48, 0x4a, 0x52, 0x32, 0x4f, 0x40, 0x52, 0x05, 0x40, 0x32, 0x1c, 0x29, 0x74, 0x0e, 0x60, 
+    0x74, 0x0e, 0x60, 0x42, 0x32, 0x1c, 0x21, 0x84, 0x10, 0x08, 0x2d, 0x0b, 0x2b, 0x21, 0x03, 0x2c, 
+    0x29, 0x22, 0x2c, 0x21, 0x0b, 0x4a, 0x1d, 0x08, 0x5c, 0x04, 0x68, 0x1d, 0x74, 0x6b, 0x0c, 0x60, 
+    0x18, 0x06, 0x0f, 0x30, 0x20, 0x6d, 0x10, 0x0a, 0x20, 0xa4, 0x25, 0x3a, 0x4d, 0x1e, 0x05, 0x4d, 
+    0x03, 0x18, 0x04, 0x4d, 0x03, 0x18, 0x5e, 0x5c, 0x18, 0x5e, 0x1c, 0x18, 0x5e, 0x30, 0x1e, 0x49, 
+    0x83, 0x0f, 0x25, 0x10, 0x05, 0xc0, 0x1e, 0x76, 0x24, 0x61, 0x10, 0x04, 0x2d, 0x69, 0x31, 0x04, 
+    0x0d, 0x21, 0x82, 0x2b, 0x50, 0x0b, 0x07, 0x50, 0x07, 0x0b, 0x50, 0x3f, 0x01, 0x50, 0x0d, 0x04, 
+    0x31, 0x46, 0x10, 0x05, 0x4b, 0x76, 0x24, 0x52, 0xc0, 0x10, 0x0a, 0x1d, 0x3a, 0x85, 0x06, 0x40, 
+    0x0a, 0x30, 0x1d, 0x07, 0x0e, 0x05, 0x21, 0x05, 0x0e, 0x07, 0x10, 0x06, 0x00, 0x34, 0x2e, 0x2e, 
+    0xc3, 0x10, 0x06, 0x21, 0x08, 0x0d, 0x01, 0x50, 0x08, 0x09, 0x10, 0x09, 0x37, 0x07, 0x61, 0x57, 
+    0x01, 0x52, 0x08, 0x03, 0x00, 0x06, 0x4f, 0x50, 0x63, 0x1d, 0x03, 0x0b, 0x0e, 0x28, 0x5f, 0x04, 
+    0x74, 0x61, 0x5f, 0x04, 0x66, 0x61, 0x1d, 0x04, 0x0c, 0x33, 0x10, 0x09, 0x21, 0x6d, 0x61, 0x57, 
+    0x52, 0x73, 0x10, 0x07, 0x37, 0x67, 0x64, 0x06, 0x52, 0x6c, 0x02, 0x66, 0x00, 0x7d, 0x1f, 0x45, 
+    0x29, 0x7d, 0x1e, 0x6c, 0x02, 0x01, 0x08, 0x18, 0x67, 0x64, 0x06, 0x10, 0x09, 0x45, 0x50, 0x24, 
+    0x52, 0x77, 0x0e, 0x28, 0x10, 0x09, 0x37, 0x06, 0x0c, 0x64, 0x06, 0x52, 0x06, 0x40, 0x01, 0x08, 
+    0x30, 0x7d, 0x7e, 0x1d, 0x25, 0x7d, 0x1e, 0x07, 0x40, 0x58, 0x65, 0x52, 0x67, 0x0e, 0x2f, 0x04, 
+    0x10, 0x05, 0x21, 0x46, 0xc7, 0x5f, 0x03, 0x42, 0x45, 0x1e, 0xc2, 0x1e, 0x24, 0x50, 0x6d, 0x10, 
+    0x09, 0x37, 0x08, 0x0e, 0x28, 0x1d, 0x07, 0x4f, 0x66, 0x61, 0x7d, 0x48, 0x6f, 0x7d, 0x48, 0x1d, 
+    0x38, 0x66, 0x61, 0x52, 0x08, 0x0e, 0x28, 0x20, 0x7b, 0x52, 0x09, 0x02, 0x01, 0x08, 0x4f, 0x52, 
+    0x06, 0x88, 0x07, 0x10, 0x09, 0x21, 0x6d, 0x4c, 0x78, 0x02, 0xf0, 0x6f, 0x6f, 0x6f, 0x6f, 0x10, 
+    0x04, 0x21, 0x24, 0x34, 0x79, 0x4b, 0x50, 0x6d, 0x10, 0x04, 0x21, 0x24, 0x34, 0x6d, 0x50, 0x6d, 
+    0x1e, 0x22, 0x43, 0x20, 0x63, 0x04, 0x10, 0x08, 0x21, 0x6d, 0x22, 0x0d, 0x55, 0x45, 0x02, 0x0d, 
+    0x55, 0x1f, 0xa4, 0x63, 0x55, 0x42, 0xa4, 0x4d, 0x60, 0x42, 0xa4, 0x5c, 0x43, 0x59, 0x45, 0x84, 
+    0xca, 0x38, 0x10, 0x04, 0x21, 0x76, 0x24, 0x10, 0x0c, 0x2a, 0xe2, 0x6b, 0x88, 0x04, 0xd4, 0x55, 
+    0x3f, 0x55, 0x03, 0x63, 0x26, 0x01, 0x4b, 0x01, 0x4b, 0x7c, 0x7c, 0x7c, 0x7c, 0x10, 0x09, 0x2a, 
+    0xc2, 0x78, 0x02, 0xf0, 0x6f, 0x6f, 0x6f, 0x6f, 0x10, 0x09, 0x37, 0x06, 0x0d, 0x64, 0x06, 0x52, 
+    0x38, 0x66, 0x30, 0x7d, 0x02, 0x63, 0x1d, 0x0e, 0xe5, 0x4d, 0x7d, 0x02, 0x63, 0x1d, 0x38, 0x66, 
+    0x55, 0x52, 0x07, 0x0d, 0x64, 0x07, 0x10, 0x09, 0x2a, 0xe2, 0x57, 0x52, 0x73, 0x52, 0x79, 0x4b, 
+    0x10, 0x09, 0x37, 0x77, 0x5a, 0x6d, 0x10, 0x06, 0x2a, 0xe2, 0xc5, 0xa4, 0x4f, 0x01, 0x1f, 0x45, 
+    0x75, 0x6d, 0x10, 0x08, 0x27, 0x03, 0x0b, 0x0e, 0x2f, 0x04, 0x00, 0x5f, 0x35, 0x65, 0x52, 0x0e, 
+    0x1c, 0x81, 0x06, 0x5a, 0x69, 0x1e, 0x03, 0x07, 0x63, 0x1d, 0x32, 0x03, 0x00, 0x03, 0x63, 0x52, 
+    0x65, 0x0e, 0x2f, 0x03, 0x10, 0x06, 0x3d, 0x79, 0x33, 0x1e, 0x6d, 0x50, 0x70, 0x06, 0x5a, 0x10, 
+    0x09, 0x20, 0x34, 0x6f, 0x6f, 0x6f, 0x6f, 0x3b, 0x48, 0x5f, 0x05, 0x66, 0x61, 0x1d, 0x47, 0x33, 
+    0x10, 0x07, 0x19, 0x34, 0x82, 0x43, 0x00, 0x74, 0x61, 0x01, 0x29, 0x32, 0x2b, 0x84, 0x04, 0x68, 
+    0x32, 0x5c, 0x52, 0x62, 0x7b, 0x18, 0x08, 0x40, 0x68, 0x52, 0x22, 0x4c, 0x81, 0x0c, 0x43, 0x10, 
+    0x0c, 0x2a, 0x03, 0x43, 0x74, 0x61, 0x59, 0x0c, 0x2b, 0x1f, 0x62, 0x51, 0x1c, 0x00, 0x4d, 0x42, 
+    0x09, 0x0f, 0x41, 0x0c, 0x0c, 0x09, 0x03, 0x4f, 0x42, 0x04, 0x30, 0x0e, 0x08, 0x08, 0x0e, 0x06, 
+    0x5c, 0x29, 0x6b, 0x5c, 0x04, 0x43, 0x0e, 0x29, 0x32, 0x61, 0x58, 0x0f, 0x40, 0x19, 0x05, 0x2c, 
+    0x21, 0x87, 0x10, 0x07, 0x2a, 0x0a, 0x5c, 0x00, 0x04, 0x40, 0x19, 0x74, 0x62, 0x02, 0x0e, 0x60, 
+    0x1d, 0x51, 0x85, 0x00, 0x88, 0x1e, 0x06, 0x4d, 0x30, 0x1d, 0x74, 0x64, 0x01, 0x0d, 0x60, 0x19, 
+    0x32, 0x5c, 0x00, 0x03, 0x40, 0x10, 0x08, 0x2d, 0x34, 0x22, 0x0f, 0x60, 0x22, 0x63, 0x86, 0x07, 
+    0x00, 0x38, 0x1d, 0x04, 0x63, 0x00, 0x0c, 0x2b, 0x52, 0x0c, 0x68, 0x4d, 0x18, 0x05, 0x61, 0x4f, 
+    0x1f, 0x5f, 0x5c, 0x1e, 0x07, 0x4d, 0x20, 0x03, 0x40, 0x82, 0x0c, 0x5c, 0x1e, 0x4d, 0x06, 0x10, 
+    0x08, 0x27, 0xc3, 0x3a, 0x61, 0x18, 0x51, 0x5c, 0x18, 0x04, 0x85, 0x04, 0x0f, 0x30, 0x1f, 0x45, 
+    0x83, 0xc3, 0x10, 0x09, 0x42, 0x46, 0x61, 0x1e, 0x0e, 0x5c, 0x20, 0x79, 0x06, 0x63, 0x1f, 0x45, 
+    0x1c, 0x20, 0x07, 0x63, 0x00, 0x82, 0x24, 0x50, 0x0e, 0x5c, 0x20, 0x46, 0x61, 0x10, 0x04, 0x1b, 
+    0x71, 0x50, 0x71, 0x50, 0x71, 0x50, 0x71, 0x10, 0x09, 0xf0, 0x69, 0x20, 0x04, 0x4d, 0x50, 0x24, 
+    0x50, 0x0d, 0x30, 0x3a, 0x8b, 0x5f, 0x83, 0x61, 0x75, 0x61, 0x20, 0x04, 0x4d, 0x1f, 0x45, 0x69, 
+    0x10, 0x0a, 0x00, 0x2e, 0x67, 0x2f, 0x35, 0x02, 0x0b, 0x19, 0x09, 0x02, 0x4e, 0x0b, 0x6b, 0x05, 
+    0x10, 
+};
+
+static const uint16_t mf_rlefont_DejaVuSansBold12_aa_glyph_offsets_0[95] = {
+    0x0000, 0x0003, 0x000f, 0x0017, 0x003e, 0x0064, 0x00a2, 0x00d5, 
+    0x00d9, 0x00f5, 0x0113, 0x0129, 0x0132, 0x0136, 0x013d, 0x0142, 
+    0x0158, 0x017b, 0x0184, 0x01a5, 0x01cd, 0x01eb, 0x0201, 0x0227, 
+    0x0242, 0x026d, 0x0298, 0x029e, 0x02a3, 0x02c5, 0x02cd, 0x02ec, 
+    0x0305, 0x034d, 0x0378, 0x0392, 0x03ae, 0x03d5, 0x03de, 0x03e6, 
+    0x040e, 0x041c, 0x0421, 0x042d, 0x0452, 0x0457, 0x0480, 0x04a6, 
+    0x04be, 0x04d5, 0x04f3, 0x0511, 0x0536, 0x053d, 0x0557, 0x0583, 
+    0x05c7, 0x05f9, 0x0617, 0x0634, 0x063b, 0x0653, 0x065a, 0x066b, 
+    0x0672, 0x067b, 0x069b, 0x06a3, 0x06bc, 0x06c5, 0x06e1, 0x06f0, 
+    0x0714, 0x0720, 0x0729, 0x0737, 0x0753, 0x0758, 0x076e, 0x0779, 
+    0x0797, 0x07a1, 0x07a7, 0x07b3, 0x07d5, 0x07e0, 0x07f1, 0x0810, 
+    0x0843, 0x0866, 0x0890, 0x08a3, 0x08be, 0x08c8, 0x08e1, 
+};
+
+static const struct mf_rlefont_char_range_s mf_rlefont_DejaVuSansBold12_aa_char_ranges[] = {
+    {32, 95, mf_rlefont_DejaVuSansBold12_aa_glyph_offsets_0, mf_rlefont_DejaVuSansBold12_aa_glyph_data_0},
+};
+
+const struct mf_rlefont_s mf_rlefont_DejaVuSansBold12_aa = {
+    {
+    "DejaVu Sans Bold 12",
+    "DejaVuSansBold12_aa",
+    14, /* width */
+    13, /* height */
+    4, /* min x advance */
+    14, /* max x advance */
+    1, /* baseline x */
+    10, /* baseline y */
+    14, /* line height */
+    0, /* flags */
+    63, /* fallback character */
+    &mf_rlefont_character_width,
+    &mf_rlefont_render_character,
+    },
+    4, /* version */
+    mf_rlefont_DejaVuSansBold12_aa_dictionary_data,
+    mf_rlefont_DejaVuSansBold12_aa_dictionary_offsets,
+    83, /* rle dict count */
+    114, /* total dict count */
+    1, /* char range count */
+    mf_rlefont_DejaVuSansBold12_aa_char_ranges,
+};
+
+#ifdef MF_INCLUDED_FONTS
+/* List entry for searching fonts by name. */
+static const struct mf_font_list_s mf_rlefont_DejaVuSansBold12_aa_listentry = {
+    MF_INCLUDED_FONTS,
+    (struct mf_font_s*)&mf_rlefont_DejaVuSansBold12_aa
+};
+#undef MF_INCLUDED_FONTS
+#define MF_INCLUDED_FONTS (&mf_rlefont_DejaVuSansBold12_aa_listentry)
+#endif
+
+
+/* End of automatically generated font definition for DejaVuSansBold12_aa. */
+
diff --git a/src/gdisp/fonts/DejaVuSerif.license b/src/gdisp/fonts/DejaVuSerif.license
new file mode 100644
index 00000000..710b32c6
--- /dev/null
+++ b/src/gdisp/fonts/DejaVuSerif.license
@@ -0,0 +1,58 @@
+This package was debianized by Peter Cernak <pce@users.sourceforge.net> on
+Sun,  5 Sep 2004 17:10:26 +0200.
+
+It was downloaded from http://dejavu.sourceforge.net/
+
+Upstream Authors: Stepan Roh <src@users.sourceforge.net> (original author),
+                  see /usr/share/doc/ttf-dejavu/AUTHORS for full list
+
+Copyright:
+
+Fonts are (c) Bitstream (see below). DejaVu changes are in public domain.
+
+Bitstream Vera Fonts Copyright
+------------------------------
+
+Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is
+a trademark of Bitstream, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of the fonts accompanying this license ("Fonts") and associated
+documentation files (the "Font Software"), to reproduce and distribute the
+Font Software, including without limitation the rights to use, copy, merge,
+publish, distribute, and/or sell copies of the Font Software, and to permit
+persons to whom the Font Software is furnished to do so, subject to the
+following conditions:
+
+The above copyright and trademark notices and this permission notice shall
+be included in all copies of one or more of the Font Software typefaces.
+
+The Font Software may be modified, altered, or added to, and in particular
+the designs of glyphs or characters in the Fonts may be modified and
+additional glyphs or characters may be added to the Fonts, only if the fonts
+are renamed to names not containing either the words "Bitstream" or the word
+"Vera".
+
+This License becomes null and void to the extent applicable to Fonts or Font
+Software that has been modified and is distributed under the "Bitstream
+Vera" names.
+
+The Font Software may be sold as part of a larger software package but no
+copy of one or more of the Font Software typefaces may be sold by itself.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
+TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME
+FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING
+ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE
+FONT SOFTWARE.
+
+Except as contained in this notice, the names of Gnome, the Gnome
+Foundation, and Bitstream Inc., shall not be used in advertising or
+otherwise to promote the sale, use or other dealings in this Font Software
+without prior written authorization from the Gnome Foundation or Bitstream
+Inc., respectively. For further information, contact: fonts at gnome dot
+org. 
diff --git a/src/gdisp/fonts/DejaVuSerif.ttf b/src/gdisp/fonts/DejaVuSerif.ttf
new file mode 100644
index 00000000..0dfeb882
Binary files /dev/null and b/src/gdisp/fonts/DejaVuSerif.ttf differ
diff --git a/src/gdisp/fonts/LargeNumbers.c b/src/gdisp/fonts/LargeNumbers.c
new file mode 100644
index 00000000..08517248
--- /dev/null
+++ b/src/gdisp/fonts/LargeNumbers.c
@@ -0,0 +1,127 @@
+
+
+/* Start of automatically generated font definition for LargeNumbers. */
+
+#ifndef MF_RLEFONT_INTERNALS
+#define MF_RLEFONT_INTERNALS
+#endif
+#include "mf_rlefont.h"
+
+#ifndef MF_RLEFONT_VERSION_4_SUPPORTED
+#error The font file is not compatible with this version of mcufont.
+#endif
+
+static const uint8_t mf_rlefont_LargeNumbers_dictionary_data[141] = {
+    0x82, 0x11, 0x85, 0x11, 0x82, 0x0f, 0x10, 0x82, 0x02, 0x82, 0x10, 0x82, 0x02, 0x82, 0x16, 0x0d, 
+    0x04, 0x15, 0x81, 0x8c, 0x0b, 0x8c, 0x03, 0x86, 0x11, 0x86, 0x80, 0x14, 0x82, 0x84, 0x0a, 0x1a, 
+    0x82, 0x08, 0x03, 0x81, 0x89, 0x80, 0x0c, 0x44, 0x10, 0x09, 0x82, 0x81, 0x13, 0x83, 0x13, 0x84, 
+    0x13, 0x83, 0x13, 0x84, 0x13, 0x83, 0x14, 0x83, 0x13, 0x82, 0x05, 0x82, 0x81, 0x0b, 0x8b, 0x0c, 
+    0x8a, 0x0f, 0x81, 0x09, 0x8e, 0x04, 0x84, 0x03, 0x82, 0x02, 0x80, 0x8f, 0x08, 0x8f, 0x08, 0x85, 
+    0x01, 0x81, 0x83, 0x01, 0x0b, 0x1d, 0x14, 0x82, 0x11, 0x40, 0x01, 0x82, 0x81, 0x0c, 0x83, 0x0d, 
+    0x89, 0x3d, 0x75, 0x84, 0x2c, 0x1f, 0xfd, 0x39, 0x9c, 0x19, 0x67, 0x2a, 0x28, 0x75, 0xc7, 0x2c, 
+    0x33, 0x83, 0x23, 0x23, 0x23, 0x23, 0x0f, 0x00, 0x2c, 0x85, 0xa2, 0x27, 0xa2, 0x64, 0x00, 0x83, 
+    0x3c, 0x65, 0x39, 0x23, 0x23, 0x00, 0x2e, 0x25, 0x2c, 0x3d, 0x2a, 0x23, 0x0f, 
+};
+
+static const uint16_t mf_rlefont_LargeNumbers_dictionary_offsets[55] = {
+    0x0000, 0x0005, 0x0006, 0x000c, 0x000e, 0x000f, 0x0010, 0x0011, 
+    0x0013, 0x0016, 0x0018, 0x001a, 0x001d, 0x001e, 0x001f, 0x0021, 
+    0x0022, 0x0024, 0x0025, 0x0027, 0x0029, 0x002b, 0x003a, 0x003c, 
+    0x0043, 0x0045, 0x0047, 0x0049, 0x004b, 0x0050, 0x0052, 0x0054, 
+    0x0055, 0x0056, 0x0058, 0x0059, 0x005b, 0x005c, 0x005d, 0x005e, 
+    0x0061, 0x0065, 0x0068, 0x006e, 0x0070, 0x0072, 0x0077, 0x007e, 
+    0x0080, 0x0082, 0x0085, 0x0087, 0x0089, 0x008b, 0x008d, 
+};
+
+static const uint8_t mf_rlefont_LargeNumbers_glyph_data_0[630] = {
+    0x08, 0x00, 0x10, 0x0b, 0x00, 0x26, 0x45, 0x49, 0x45, 0x3b, 0x7c, 0x49, 0x0f, 0x10, 0x0d, 0x26, 
+    0x1b, 0x1a, 0x1b, 0x1a, 0x1b, 0x1a, 0x1b, 0x10, 0x14, 0x37, 0x1f, 0x75, 0x19, 0x40, 0x42, 0x37, 
+    0x34, 0x29, 0x27, 0xd4, 0x75, 0x19, 0x40, 0xec, 0x2a, 0x34, 0x29, 0x37, 0x40, 0x42, 0x10, 0x11, 
+    0x1e, 0x9c, 0x1f, 0x1c, 0xe7, 0x22, 0x2a, 0xf0, 0x29, 0x25, 0x44, 0x93, 0x2c, 0x9f, 0x90, 0x2c, 
+    0x9d, 0x19, 0x53, 0x2a, 0x31, 0x36, 0x1d, 0x44, 0x4c, 0x44, 0x4c, 0x31, 0x36, 0x1d, 0x70, 0x4c, 
+    0xd4, 0x7d, 0x25, 0x87, 0x77, 0x85, 0x64, 0x83, 0xa3, 0x2c, 0x29, 0x25, 0x7c, 0xa3, 0x19, 0x9c, 
+    0x1f, 0x1c, 0xf7, 0x1f, 0x10, 0x18, 0x00, 0x1c, 0x31, 0x27, 0x8a, 0x31, 0x87, 0x9c, 0x84, 0x73, 
+    0x87, 0x92, 0xa4, 0xa7, 0x87, 0x8a, 0xa4, 0x67, 0x65, 0x2c, 0x28, 0x75, 0x2c, 0xec, 0x67, 0x25, 
+    0x73, 0x77, 0x27, 0x21, 0x9c, 0x80, 0x2e, 0x67, 0x21, 0x37, 0x6b, 0x7f, 0x25, 0x67, 0x75, 0x2c, 
+    0xf4, 0x8b, 0x8b, 0x64, 0x65, 0x75, 0x27, 0x87, 0x92, 0x92, 0x64, 0x85, 0x73, 0x87, 0x9c, 0x4a, 
+    0x93, 0xa4, 0x85, 0x31, 0x10, 0x15, 0xc4, 0x26, 0x4c, 0x31, 0x36, 0x1d, 0x29, 0xc4, 0x2c, 0x85, 
+    0x85, 0x2c, 0x23, 0x23, 0xf7, 0x3a, 0x82, 0x22, 0x75, 0x85, 0x21, 0xab, 0x8b, 0x31, 0x82, 0x92, 
+    0x4a, 0xb5, 0x83, 0x27, 0x36, 0x21, 0x2c, 0xc5, 0x82, 0x2c, 0xf7, 0x31, 0x25, 0x29, 0xa3, 0x30, 
+    0x84, 0xa4, 0xa3, 0x82, 0x10, 0x07, 0x26, 0x41, 0x41, 0x41, 0x10, 0x0b, 0xf4, 0x26, 0x23, 0x39, 
+    0x23, 0x49, 0x49, 0x45, 0x41, 0x4d, 0x41, 0x0f, 0x41, 0x0f, 0x10, 0x0b, 0x26, 0x0f, 0x41, 0x0f, 
+    0x41, 0x4d, 0x41, 0x45, 0x49, 0x49, 0x39, 0x23, 0x3a, 0x7c, 0x10, 0x0d, 0x38, 0xf7, 0x1f, 0x3a, 
+    0xc6, 0xa7, 0x27, 0x64, 0x5f, 0x4c, 0x44, 0x3a, 0xa2, 0x22, 0x2a, 0xf0, 0x5f, 0x4c, 0xc6, 0xa7, 
+    0x19, 0x9c, 0x1f, 0x10, 0x14, 0xfc, 0x3a, 0x3b, 0x41, 0x41, 0x41, 0x84, 0x30, 0x30, 0x30, 0x1d, 
+    0xa0, 0x39, 0x41, 0x41, 0x10, 0x09, 0x2b, 0x1b, 0x45, 0x39, 0x39, 0x23, 0x10, 0x0a, 0x38, 0x3b, 
+    0x3b, 0x3b, 0x22, 0x22, 0x22, 0x10, 0x09, 0x2b, 0x1b, 0x45, 0x10, 0x09, 0x00, 0x27, 0x41, 0x1f, 
+    0x41, 0x1f, 0x41, 0x1f, 0x41, 0x1f, 0x41, 0x1f, 0x41, 0x1f, 0x41, 0x10, 0x11, 0x38, 0xc3, 0x19, 
+    0x44, 0x19, 0x29, 0x1d, 0x48, 0x43, 0xe5, 0xa2, 0x46, 0x3d, 0x46, 0x3d, 0x46, 0x3d, 0x46, 0x3d, 
+    0x37, 0x48, 0x43, 0xc5, 0x3f, 0x1d, 0x44, 0x3a, 0xc3, 0x10, 0x11, 0xf4, 0x26, 0x4c, 0x31, 0x4c, 
+    0x74, 0xa3, 0x19, 0x77, 0x45, 0x49, 0x45, 0x00, 0x19, 0x29, 0x43, 0xc3, 0x4c, 0x3d, 0x29, 0x10, 
+    0x11, 0x37, 0x22, 0x3e, 0x21, 0x3f, 0x43, 0x00, 0x31, 0x37, 0x85, 0x7c, 0x49, 0x0f, 0x19, 0x31, 
+    0x1d, 0x64, 0x18, 0x18, 0x18, 0x29, 0x37, 0x20, 0x10, 0x11, 0x37, 0x22, 0x3e, 0x21, 0x3f, 0x3d, 
+    0x25, 0x88, 0x7c, 0x23, 0x4d, 0x4b, 0x2a, 0x21, 0x2a, 0x74, 0xa3, 0x1d, 0x44, 0x4d, 0x23, 0x23, 
+    0x4d, 0x84, 0x64, 0x4a, 0x2f, 0x24, 0x10, 0x11, 0x84, 0x1c, 0x31, 0x3a, 0x82, 0x22, 0x22, 0x3e, 
+    0x31, 0x4c, 0x7c, 0xa2, 0x1d, 0x52, 0x4c, 0xf0, 0x77, 0x85, 0x2c, 0x7c, 0x27, 0x64, 0xa7, 0x4c, 
+    0x48, 0x43, 0xa4, 0x8b, 0x30, 0x30, 0x30, 0x27, 0x2c, 0x23, 0x4d, 0x10, 0x11, 0x25, 0x22, 0x3f, 
+    0x2a, 0xfe, 0x29, 0x25, 0x7c, 0x49, 0x3c, 0x4c, 0x21, 0x4c, 0x44, 0x4c, 0xc6, 0x7c, 0x45, 0x84, 
+    0x64, 0x4a, 0x2f, 0x24, 0x10, 0x11, 0x1d, 0x22, 0x19, 0xc3, 0x3f, 0xe5, 0x2c, 0x87, 0x88, 0x2c, 
+    0x23, 0x39, 0xf1, 0x3f, 0x43, 0x29, 0x25, 0xc2, 0x31, 0x46, 0xf7, 0x2c, 0xe5, 0x7c, 0x37, 0x8b, 
+    0x7c, 0x84, 0x64, 0x87, 0x3f, 0x2a, 0xf0, 0x83, 0x19, 0x82, 0x10, 0x11, 0x26, 0x29, 0x37, 0x20, 
+    0x4b, 0x2d, 0x2d, 0x3d, 0x10, 0x11, 0x37, 0x22, 0x2a, 0xf0, 0x29, 0x27, 0x7c, 0x29, 0x84, 0x31, 
+    0x31, 0x46, 0xe7, 0x2c, 0xa5, 0x93, 0x2c, 0xc3, 0x4c, 0x1b, 0xa3, 0x1d, 0x29, 0x43, 0xe5, 0xa2, 
+    0x46, 0xf7, 0x2c, 0x85, 0xa2, 0x2c, 0x87, 0xa3, 0x27, 0x44, 0x3f, 0x1d, 0x44, 0x10, 0x11, 0x38, 
+    0xc3, 0x19, 0x82, 0x4c, 0x44, 0x4c, 0xa2, 0x7c, 0x84, 0x64, 0x87, 0xa0, 0x46, 0xf7, 0x2c, 0xe5, 
+    0x7c, 0x84, 0x31, 0x31, 0x37, 0x29, 0x4c, 0x29, 0x87, 0x2c, 0x7b, 0x23, 0x39, 0x2a, 0xf5, 0x31, 
+    0x37, 0x47, 0x3f, 0x3e, 0x21, 0x10, 
+};
+
+static const uint16_t mf_rlefont_LargeNumbers_glyph_offsets_0[26] = {
+    0x0000, 0x0003, 0x000e, 0x0018, 0x002f, 0x0065, 0x00a5, 0x00d5, 
+    0x00db, 0x00eb, 0x00fb, 0x0114, 0x0125, 0x012d, 0x0136, 0x013b, 
+    0x014c, 0x016a, 0x0180, 0x0199, 0x01b7, 0x01dc, 0x01f5, 0x021b, 
+    0x0225, 0x024e, 
+};
+
+static const struct mf_rlefont_char_range_s mf_rlefont_LargeNumbers_char_ranges[] = {
+    {32, 26, mf_rlefont_LargeNumbers_glyph_offsets_0, mf_rlefont_LargeNumbers_glyph_data_0},
+};
+
+const struct mf_rlefont_s mf_rlefont_LargeNumbers = {
+    {
+    "DejaVu Sans Bold 24",
+    "LargeNumbers",
+    24, /* width */
+    23, /* height */
+    7, /* min x advance */
+    24, /* max x advance */
+    0, /* baseline x */
+    19, /* baseline y */
+    28, /* line height */
+    2, /* flags */
+    32, /* fallback character */
+    &mf_rlefont_character_width,
+    &mf_rlefont_render_character,
+    },
+    4, /* version */
+    mf_rlefont_LargeNumbers_dictionary_data,
+    mf_rlefont_LargeNumbers_dictionary_offsets,
+    40, /* rle dict count */
+    54, /* total dict count */
+    1, /* char range count */
+    mf_rlefont_LargeNumbers_char_ranges,
+};
+
+#ifdef MF_INCLUDED_FONTS
+/* List entry for searching fonts by name. */
+static const struct mf_font_list_s mf_rlefont_LargeNumbers_listentry = {
+    MF_INCLUDED_FONTS,
+    (struct mf_font_s*)&mf_rlefont_LargeNumbers
+};
+#undef MF_INCLUDED_FONTS
+#define MF_INCLUDED_FONTS (&mf_rlefont_LargeNumbers_listentry)
+#endif
+
+
+/* End of automatically generated font definition for LargeNumbers. */
+
diff --git a/src/gdisp/fonts/build_fonts.sh b/src/gdisp/fonts/build_fonts.sh
new file mode 100644
index 00000000..8b434e6e
--- /dev/null
+++ b/src/gdisp/fonts/build_fonts.sh
@@ -0,0 +1,77 @@
+#!/bin/bash
+
+set -x -e
+
+# Path to the mcufont encoder program
+MCUFONT=mcufont
+
+# Character ranges to include in the fonts.
+# Default: ASCII only
+CHARS=32-127
+
+# Number of iterations in optimization
+# Higher numbers compress better
+ITERS=25
+
+function build {
+	infile=`basename $1`
+	outfile=$2
+	fmt=$3
+	size=$4
+	bw=$5
+	ext="${infile##*.}"
+	noext="${infile%.*}"
+	if [ $ext = 'ttf' ]; then
+		dat=$noext$size$bw.dat
+		$MCUFONT import_ttf $1 $size $bw
+	else
+		dat=$noext.dat
+		$MCUFONT import_bdf $1
+	fi
+
+	$MCUFONT filter $dat $CHARS
+
+	if [ $outfile = 'LargeNumbers' ]; then
+		$MCUFONT filter $dat 0x20-0x39
+	fi
+
+	if [ $fmt = 'rlefont' ]; then
+		$MCUFONT rlefont_optimize $dat $ITERS
+		$MCUFONT rlefont_export $dat $outfile.c
+	else
+		$MCUFONT bwfont_export $dat $outfile.c
+	fi
+}
+
+# Commands are of form: build <input_file> <output_file> <output_format> [size] [bw]
+# If bw is not given, builds an antialiased font.
+
+rm -f *.c
+build DejaVuSans.ttf DejaVuSans10 bwfont 10 bw
+build DejaVuSans.ttf DejaVuSans12 bwfont 12 bw
+build DejaVuSans.ttf DejaVuSans16 rlefont 16 bw
+build DejaVuSans.ttf DejaVuSans24 rlefont 24 bw
+build DejaVuSans.ttf DejaVuSans32 rlefont 32 bw
+build DejaVuSans.ttf DejaVuSans12_aa rlefont 12
+build DejaVuSans.ttf DejaVuSans16_aa rlefont 16
+build DejaVuSans.ttf DejaVuSans24_aa rlefont 24
+build DejaVuSans.ttf DejaVuSans32_aa rlefont 32
+build DejaVuSans-Bold.ttf DejaVuSansBold12 bwfont 12 bw
+build DejaVuSans-Bold.ttf DejaVuSansBold12_aa rlefont 12
+build DejaVuSans-Bold.ttf LargeNumbers rlefont 24 bw
+build fixed_10x20.bdf fixed_10x20 bwfont
+build fixed_7x14.bdf fixed_7x14 bwfont
+build fixed_5x8.bdf fixed_5x8 bwfont
+
+echo > fonts.h
+echo '#include <gfx.h>' >> fonts.h
+for file in *.c; do
+	echo >> fonts.h
+	noext="${file%.*}"
+	upper=${noext^^}
+	defname='GDISP_INCLUDE_FONT_'$upper
+	echo '#if defined('$defname') && '$defname >> fonts.h
+	echo '#include "'$file'"' >> fonts.h
+	echo '#endif' >> fonts.h
+done
+
diff --git a/src/gdisp/fonts/fixed_10x20.bdf b/src/gdisp/fonts/fixed_10x20.bdf
new file mode 100644
index 00000000..20134133
--- /dev/null
+++ b/src/gdisp/fonts/fixed_10x20.bdf
@@ -0,0 +1,6279 @@
+STARTFONT 2.1
+FONT -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-15
+SIZE 20 75 75
+FONTBOUNDINGBOX 10 20 0 -4
+
+STARTPROPERTIES 24
+FONTNAME_REGISTRY ""
+FOUNDRY "Misc"
+FAMILY_NAME "Fixed"
+WEIGHT_NAME "Medium"
+SLANT "R"
+SETWIDTH_NAME "Normal"
+ADD_STYLE_NAME ""
+PIXEL_SIZE 20
+POINT_SIZE 200
+RESOLUTION_X 75
+RESOLUTION_Y 75
+SPACING "C"
+AVERAGE_WIDTH 100
+CHARSET_REGISTRY "ISO8859"
+CHARSET_ENCODING "15"
+X_HEIGHT 8
+CAP_HEIGHT 13
+COPYRIGHT "Public domain font.  Share and enjoy."
+_GBDFED_INFO "Edited with gbdfed 1.3."
+WEIGHT 10
+QUAD_WIDTH 10
+DEFAULT_CHAR 0
+FONT_DESCENT 4
+FONT_ASCENT 16
+ENDPROPERTIES
+
+CHARS 223
+
+STARTCHAR defaultchar
+ENCODING 0
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+7380
+4080
+4080
+0000
+0000
+4080
+4080
+4080
+0000
+0000
+4080
+4080
+7380
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR uni25C6
+ENCODING 1
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0C00
+1E00
+3F00
+7F80
+7F80
+3F00
+1E00
+0C00
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR shade
+ENCODING 2
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+5540
+AA80
+5540
+AA80
+5540
+AA80
+5540
+AA80
+5540
+AA80
+5540
+AA80
+5540
+AA80
+5540
+AA80
+5540
+AA80
+5540
+AA80
+ENDCHAR
+
+STARTCHAR uni2409
+ENCODING 3
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+6600
+6600
+6600
+7E00
+6600
+6600
+6600
+0000
+1F80
+0600
+0600
+0600
+0600
+0600
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR uni240C
+ENCODING 4
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+7C00
+6000
+6000
+7800
+6000
+6000
+6000
+0F80
+0C00
+0C00
+0F00
+0C00
+0C00
+0C00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR uni240D
+ENCODING 5
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+3C00
+6600
+6000
+6000
+6600
+3C00
+0000
+1F00
+1980
+1980
+1F00
+1E00
+1B00
+1980
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR uni240A
+ENCODING 6
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+3000
+3000
+3000
+3000
+3000
+3E00
+0000
+0F80
+0C00
+0C00
+0F00
+0C00
+0C00
+0C00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR degree
+ENCODING 7
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0C00
+1E00
+3300
+3300
+1E00
+0C00
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR plusminus
+ENCODING 8
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0C00
+0C00
+7F80
+0C00
+0C00
+0000
+7F80
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR uni2424
+ENCODING 9
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+6600
+7600
+7E00
+7E00
+6E00
+6600
+0000
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0F80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR uni240B
+ENCODING 10
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+6600
+6600
+6600
+3C00
+3C00
+1800
+1800
+0000
+1F80
+0600
+0600
+0600
+0600
+0600
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR SF040000
+ENCODING 11
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+F800
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR SF030000
+ENCODING 12
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+F800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+ENDCHAR
+
+STARTCHAR SF010000
+ENCODING 13
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0FC0
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+ENDCHAR
+
+STARTCHAR SF020000
+ENCODING 14
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0FC0
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR SF050000
+ENCODING 15
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+FFC0
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+ENDCHAR
+
+STARTCHAR uni23BA
+ENCODING 16
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+FFC0
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR uni23BB
+ENCODING 17
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+FFC0
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR SF100000
+ENCODING 18
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+FFC0
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR uni23BC
+ENCODING 19
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+FFC0
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR uni23BD
+ENCODING 20
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+FFC0
+ENDCHAR
+
+STARTCHAR SF080000
+ENCODING 21
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0FC0
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+ENDCHAR
+
+STARTCHAR SF090000
+ENCODING 22
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+F800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+ENDCHAR
+
+STARTCHAR SF070000
+ENCODING 23
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+FFC0
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR SF060000
+ENCODING 24
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+FFC0
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+ENDCHAR
+
+STARTCHAR SF110000
+ENCODING 25
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+0800
+ENDCHAR
+
+STARTCHAR lessequal
+ENCODING 26
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0380
+0E00
+3800
+E000
+3800
+0E00
+0380
+0000
+0000
+FF80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR greaterequal
+ENCODING 27
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+E000
+3800
+0E00
+0380
+0E00
+3800
+E000
+0000
+0000
+FF80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR pi
+ENCODING 28
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+7F80
+3300
+3300
+3300
+3300
+3300
+3300
+3300
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR notequal
+ENCODING 29
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0300
+0300
+0600
+7F80
+0C00
+0C00
+7F80
+1800
+3000
+3000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR sterling
+ENCODING 30
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0F00
+1980
+1980
+1800
+1800
+7E00
+1800
+1800
+1800
+7C00
+56C0
+7380
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR periodcentered
+ENCODING 31
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0E00
+0E00
+0E00
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR space
+ENCODING 32
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR exclam
+ENCODING 33
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0000
+0C00
+0C00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR quotedbl
+ENCODING 34
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+3300
+3300
+3300
+1200
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR numbersign
+ENCODING 35
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0D80
+0D80
+0D80
+3FC0
+1B00
+1B00
+1B00
+7F80
+3600
+3600
+3600
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR dollar
+ENCODING 36
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0C00
+3F00
+6D80
+6C00
+6C00
+6C00
+3F00
+0D80
+0D80
+0D80
+6D80
+3F00
+0C00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR percent
+ENCODING 37
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+3980
+6D80
+6F00
+3B00
+0600
+0600
+0C00
+0C00
+1B80
+1EC0
+36C0
+3380
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR ampersand
+ENCODING 38
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+1C00
+3600
+3600
+3600
+3C00
+1800
+3800
+6C00
+66C0
+6380
+6300
+7780
+3CC0
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR quotesingle
+ENCODING 39
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0C00
+0C00
+0C00
+0C00
+0800
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR parenleft
+ENCODING 40
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0300
+0600
+0C00
+0C00
+1800
+1800
+1800
+1800
+1800
+0C00
+0C00
+0600
+0300
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR parenright
+ENCODING 41
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+3000
+1800
+0C00
+0C00
+0600
+0600
+0600
+0600
+0600
+0C00
+0C00
+1800
+3000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR asterisk
+ENCODING 42
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+3300
+3300
+1E00
+7F80
+1E00
+3300
+3300
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR plus
+ENCODING 43
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0C00
+0C00
+0C00
+7F80
+0C00
+0C00
+0C00
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR comma
+ENCODING 44
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0E00
+0E00
+1C00
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR hyphen
+ENCODING 45
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+7F80
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR period
+ENCODING 46
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0E00
+0E00
+0E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR slash
+ENCODING 47
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0180
+0180
+0300
+0300
+0600
+0600
+0C00
+0C00
+1800
+1800
+3000
+3000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR zero
+ENCODING 48
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0C00
+1E00
+3300
+3300
+6180
+6180
+6180
+6180
+6180
+3300
+3300
+1E00
+0C00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR one
+ENCODING 49
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0C00
+1C00
+3C00
+6C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+7F80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR two
+ENCODING 50
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+1E00
+3300
+6180
+6180
+0180
+0180
+0300
+0E00
+1800
+3000
+6000
+6000
+7F80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR three
+ENCODING 51
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+1E00
+3300
+6180
+6180
+0180
+0300
+0E00
+0300
+0180
+6180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR four
+ENCODING 52
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0100
+0300
+0700
+0F00
+1B00
+3300
+6300
+6300
+7F80
+0300
+0300
+0300
+0300
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR five
+ENCODING 53
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+7F80
+6000
+6000
+6000
+6000
+6E00
+7300
+0180
+0180
+0180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR six
+ENCODING 54
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+1E00
+3300
+6100
+6000
+6000
+6E00
+7300
+6180
+6180
+6180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR seven
+ENCODING 55
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+7F80
+0180
+0180
+0300
+0300
+0600
+0600
+0C00
+0C00
+1800
+1800
+3000
+3000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR eight
+ENCODING 56
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+1E00
+3300
+6180
+6180
+6180
+3300
+1E00
+3300
+6180
+6180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR nine
+ENCODING 57
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+1E00
+3300
+6180
+6180
+6180
+6180
+3380
+1D80
+0180
+0180
+2180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR colon
+ENCODING 58
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0E00
+0E00
+0000
+0000
+0000
+0000
+0E00
+0E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR semicolon
+ENCODING 59
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0E00
+0E00
+0000
+0000
+0000
+0000
+0E00
+0E00
+1C00
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR less
+ENCODING 60
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0100
+0300
+0600
+0C00
+1800
+3000
+6000
+3000
+1800
+0C00
+0600
+0300
+0100
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR equal
+ENCODING 61
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+7F80
+0000
+0000
+0000
+0000
+7F80
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR greater
+ENCODING 62
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+2000
+3000
+1800
+0C00
+0600
+0300
+0180
+0300
+0600
+0C00
+1800
+3000
+2000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR question
+ENCODING 63
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+1E00
+3300
+6180
+6180
+6180
+0300
+0600
+0C00
+0C00
+0C00
+0000
+0C00
+0C00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR at
+ENCODING 64
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+1E00
+3300
+6180
+6780
+6F80
+6D80
+6D80
+6D80
+6F00
+6600
+6000
+3180
+1F00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR A
+ENCODING 65
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0C00
+1E00
+3300
+3300
+6180
+6180
+6180
+7F80
+6180
+6180
+6180
+6180
+6180
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR B
+ENCODING 66
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+7C00
+6600
+6300
+6300
+6300
+6600
+7E00
+6300
+6180
+6180
+6180
+6300
+7E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR C
+ENCODING 67
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+1E00
+3300
+6180
+6000
+6000
+6000
+6000
+6000
+6000
+6000
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR D
+ENCODING 68
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+7E00
+6300
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+6300
+7E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR E
+ENCODING 69
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+7F80
+6000
+6000
+6000
+6000
+6000
+7E00
+6000
+6000
+6000
+6000
+6000
+7F80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR F
+ENCODING 70
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+7F80
+6000
+6000
+6000
+6000
+6000
+7E00
+6000
+6000
+6000
+6000
+6000
+6000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR G
+ENCODING 71
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+1E00
+3300
+6180
+6000
+6000
+6000
+6780
+6180
+6180
+6180
+6180
+3380
+1E80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR H
+ENCODING 72
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+6180
+6180
+6180
+6180
+6180
+6180
+7F80
+6180
+6180
+6180
+6180
+6180
+6180
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR I
+ENCODING 73
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+7F80
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+7F80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR J
+ENCODING 74
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0FC0
+0300
+0300
+0300
+0300
+0300
+0300
+0300
+0300
+6300
+6300
+3600
+1C00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR K
+ENCODING 75
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+6180
+6180
+6300
+6300
+6600
+6600
+7C00
+6600
+6600
+6300
+6300
+6180
+6180
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR L
+ENCODING 76
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+6000
+6000
+6000
+6000
+6000
+6000
+6000
+6000
+6000
+6000
+6000
+6000
+7F80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR M
+ENCODING 77
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+6180
+6180
+7380
+7380
+7F80
+6D80
+6D80
+6D80
+6D80
+6180
+6180
+6180
+6180
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR N
+ENCODING 78
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+6180
+7180
+7180
+7980
+7980
+6D80
+6D80
+6780
+6780
+6380
+6380
+6180
+6180
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR O
+ENCODING 79
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+1E00
+3300
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR P
+ENCODING 80
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+7E00
+6300
+6180
+6180
+6180
+6180
+6300
+7E00
+6000
+6000
+6000
+6000
+6000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Q
+ENCODING 81
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+1E00
+3300
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+6D80
+6780
+3300
+1F00
+0180
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR R
+ENCODING 82
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+7E00
+6300
+6180
+6180
+6180
+6180
+6300
+7E00
+6600
+6300
+6300
+6180
+6180
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR S
+ENCODING 83
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+1E00
+3300
+6180
+6000
+6000
+3000
+1E00
+0300
+0180
+0180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR T
+ENCODING 84
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+7F80
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR U
+ENCODING 85
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR V
+ENCODING 86
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+6180
+6180
+6180
+6180
+3300
+3300
+3300
+1E00
+1E00
+1E00
+0C00
+0C00
+0C00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR W
+ENCODING 87
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+6180
+6180
+6180
+6180
+6180
+6D80
+6D80
+6D80
+6D80
+7380
+7380
+6180
+6180
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR X
+ENCODING 88
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+6180
+6180
+3300
+3300
+1E00
+1E00
+0C00
+1E00
+1E00
+3300
+3300
+6180
+6180
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Y
+ENCODING 89
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+6180
+6180
+3300
+3300
+1E00
+1E00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Z
+ENCODING 90
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+7F80
+0180
+0180
+0300
+0600
+0600
+0C00
+1800
+1800
+3000
+6000
+6000
+7F80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR bracketleft
+ENCODING 91
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+3F00
+3000
+3000
+3000
+3000
+3000
+3000
+3000
+3000
+3000
+3000
+3000
+3F00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR backslash
+ENCODING 92
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+3000
+3000
+1800
+1800
+0C00
+0C00
+0600
+0600
+0300
+0300
+0180
+0180
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR bracketright
+ENCODING 93
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+3F00
+0300
+0300
+0300
+0300
+0300
+0300
+0300
+0300
+0300
+0300
+0300
+3F00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR asciicircum
+ENCODING 94
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0C00
+1E00
+3300
+6180
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR underscore
+ENCODING 95
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+7FC0
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR grave
+ENCODING 96
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+1800
+0C00
+0600
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR a
+ENCODING 97
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+1F00
+3180
+0180
+3F80
+6180
+6180
+6180
+3E80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR b
+ENCODING 98
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+6000
+6000
+6000
+6000
+6000
+6E00
+7300
+6180
+6180
+6180
+6180
+7300
+6E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR c
+ENCODING 99
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+1F00
+3180
+6000
+6000
+6000
+6000
+3180
+1F00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR d
+ENCODING 100
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0180
+0180
+0180
+0180
+0180
+1D80
+3380
+6180
+6180
+6180
+6180
+3380
+1D80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR e
+ENCODING 101
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+1E00
+3300
+6180
+7F80
+6000
+6000
+3180
+1F00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR f
+ENCODING 102
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0F00
+1980
+1980
+1800
+1800
+7E00
+1800
+1800
+1800
+1800
+1800
+1800
+1800
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR g
+ENCODING 103
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+3E80
+6380
+6300
+6300
+6300
+3E00
+6000
+3F00
+6180
+6180
+6180
+3F00
+ENDCHAR
+
+STARTCHAR h
+ENCODING 104
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+6000
+6000
+6000
+6000
+6000
+6E00
+7300
+6180
+6180
+6180
+6180
+6180
+6180
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR i
+ENCODING 105
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0C00
+0C00
+0000
+3C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+7F80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR j
+ENCODING 106
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0180
+0180
+0000
+0780
+0180
+0180
+0180
+0180
+0180
+0180
+0180
+3180
+3180
+3180
+1F00
+ENDCHAR
+
+STARTCHAR k
+ENCODING 107
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+6000
+6000
+6000
+6000
+6000
+6300
+6600
+6C00
+7800
+7C00
+6600
+6300
+6180
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR l
+ENCODING 108
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+3C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+7F80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR m
+ENCODING 109
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+5B00
+7F80
+6D80
+6D80
+6D80
+6D80
+6D80
+6D80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR n
+ENCODING 110
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+6E00
+7300
+6180
+6180
+6180
+6180
+6180
+6180
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR o
+ENCODING 111
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+1E00
+3300
+6180
+6180
+6180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR p
+ENCODING 112
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+6E00
+7300
+6180
+6180
+6180
+6180
+7300
+6E00
+6000
+6000
+6000
+6000
+ENDCHAR
+
+STARTCHAR q
+ENCODING 113
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+1D80
+3380
+6180
+6180
+6180
+6180
+3380
+1D80
+0180
+0180
+0180
+0180
+ENDCHAR
+
+STARTCHAR r
+ENCODING 114
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+6F00
+3980
+3000
+3000
+3000
+3000
+3000
+3000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR s
+ENCODING 115
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+3F00
+6180
+6000
+3F00
+0180
+0180
+6180
+3F00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR t
+ENCODING 116
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+1800
+1800
+1800
+7E00
+1800
+1800
+1800
+1800
+1800
+1980
+0F00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR u
+ENCODING 117
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+6180
+6180
+6180
+6180
+6180
+6180
+3380
+1D80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR v
+ENCODING 118
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+6180
+6180
+3300
+3300
+1E00
+1E00
+0C00
+0C00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR w
+ENCODING 119
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+6180
+6180
+6180
+6D80
+6D80
+6D80
+7F80
+3300
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR x
+ENCODING 120
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+6180
+3300
+1E00
+0C00
+0C00
+1E00
+3300
+6180
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR y
+ENCODING 121
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+6180
+6180
+6180
+6180
+6180
+6180
+3380
+1D80
+0180
+6180
+3300
+1E00
+ENDCHAR
+
+STARTCHAR z
+ENCODING 122
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+3F80
+0180
+0300
+0600
+0C00
+1800
+3000
+3F80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR braceleft
+ENCODING 123
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0780
+0C00
+0C00
+0C00
+0C00
+0C00
+7800
+0C00
+0C00
+0C00
+0C00
+0C00
+0780
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR bar
+ENCODING 124
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR braceright
+ENCODING 125
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+7800
+0C00
+0C00
+0C00
+0C00
+0C00
+0780
+0C00
+0C00
+0C00
+0C00
+0C00
+7800
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR asciitilde
+ENCODING 126
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+3980
+6D80
+6700
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR space
+ENCODING 160
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR exclamdown
+ENCODING 161
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0C00
+0C00
+0000
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR cent
+ENCODING 162
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0C00
+0C00
+1E00
+3300
+6100
+6000
+6000
+6100
+3300
+1E00
+0C00
+0C00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR sterling
+ENCODING 163
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0F00
+1980
+1980
+1800
+1800
+7E00
+1800
+1800
+1800
+7C00
+56C0
+7380
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Euro
+ENCODING 164
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0F00
+1980
+3000
+3000
+7F00
+3000
+7E00
+3000
+3000
+1980
+0F00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR yen
+ENCODING 165
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+4080
+6180
+3300
+1E00
+3F00
+0C00
+3F00
+0C00
+0C00
+0C00
+0C00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Scaron
+ENCODING 166
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+3300
+1E00
+0C00
+0000
+1E00
+3300
+6180
+6000
+3000
+1E00
+0300
+0180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR section
+ENCODING 167
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+1E00
+3300
+6300
+3000
+3C00
+6600
+3300
+1980
+0F00
+0300
+3180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR scaron
+ENCODING 168
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+3300
+1E00
+0C00
+0000
+3F00
+6180
+6000
+3F00
+0180
+0180
+6180
+3F00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR copyright
+ENCODING 169
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+1E00
+3300
+6180
+5E80
+5280
+5080
+5280
+5E80
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR ordfeminine
+ENCODING 170
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+1F00
+2180
+0180
+3F80
+6180
+6180
+3E80
+0000
+7F80
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR guillemotleft
+ENCODING 171
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0480
+0D80
+1B00
+3600
+6C00
+D800
+6C00
+3600
+1B00
+0D80
+0480
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR logicalnot
+ENCODING 172
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+7F80
+7F80
+0180
+0180
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR hyphen
+ENCODING 173
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+3F00
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR registered
+ENCODING 174
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+1E00
+3300
+6180
+5E80
+5280
+5E80
+5480
+5680
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR macron
+ENCODING 175
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+7F80
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR degree
+ENCODING 176
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0C00
+1E00
+3300
+3300
+1E00
+0C00
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR plusminus
+ENCODING 177
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0C00
+0C00
+7F80
+0C00
+0C00
+0000
+7F80
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR twosuperior
+ENCODING 178
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+1C00
+3600
+0600
+0C00
+1800
+3000
+3E00
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR threesuperior
+ENCODING 179
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+1C00
+3600
+0600
+0C00
+0600
+3600
+1C00
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Zcaron
+ENCODING 180
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+3300
+1E00
+0C00
+0000
+7F80
+0180
+0300
+0600
+0600
+0C00
+1800
+1800
+3000
+6000
+7F80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR mu
+ENCODING 181
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+6300
+6300
+6300
+6300
+6300
+7700
+7D00
+6000
+6000
+6000
+0000
+ENDCHAR
+
+STARTCHAR paragraph
+ENCODING 182
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+3F80
+7F80
+7D80
+7D80
+7D80
+3D80
+0D80
+0D80
+0D80
+0D80
+0D80
+0D80
+0D80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR periodcentered
+ENCODING 183
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0E00
+0E00
+0E00
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR zcaron
+ENCODING 184
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+3300
+1E00
+0C00
+0000
+3F80
+0180
+0300
+0600
+0C00
+1800
+3000
+3F80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR onesuperior
+ENCODING 185
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+1800
+3800
+1800
+1800
+1800
+1800
+3C00
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR ordmasculine
+ENCODING 186
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+1C00
+3600
+6300
+6300
+6300
+3600
+1C00
+0000
+7F00
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR guillemotright
+ENCODING 187
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+4800
+6C00
+3600
+1B00
+0D80
+06C0
+0D80
+1B00
+3600
+6C00
+4800
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR OE
+ENCODING 188
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+1F80
+3600
+6600
+6600
+6600
+6600
+6780
+6600
+6600
+6600
+6600
+3600
+1F80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR oe
+ENCODING 189
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+3F00
+6D80
+6D80
+6F80
+6C00
+6C00
+6D80
+3F00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Ydieresis
+ENCODING 190
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+3300
+3300
+0000
+6180
+6180
+3300
+3300
+1E00
+1E00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR questiondown
+ENCODING 191
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0C00
+0C00
+0000
+0C00
+0C00
+0C00
+1800
+3000
+6180
+6180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Agrave
+ENCODING 192
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+3000
+1800
+0C00
+0000
+0C00
+1E00
+3300
+6180
+6180
+6180
+7F80
+6180
+6180
+6180
+6180
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Aacute
+ENCODING 193
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0300
+0600
+0C00
+0000
+0C00
+1E00
+3300
+6180
+6180
+6180
+7F80
+6180
+6180
+6180
+6180
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Acircumflex
+ENCODING 194
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0C00
+1E00
+3300
+0000
+0C00
+1E00
+3300
+6180
+6180
+6180
+7F80
+6180
+6180
+6180
+6180
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Atilde
+ENCODING 195
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+1900
+3F00
+2600
+0000
+0C00
+1E00
+3300
+6180
+6180
+6180
+7F80
+6180
+6180
+6180
+6180
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Adieresis
+ENCODING 196
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+3300
+3300
+0000
+0C00
+1E00
+3300
+3300
+6180
+6180
+6180
+7F80
+6180
+6180
+6180
+6180
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Aring
+ENCODING 197
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+1E00
+3300
+3300
+1E00
+0000
+0C00
+1E00
+3300
+6180
+6180
+6180
+7F80
+6180
+6180
+6180
+6180
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR AE
+ENCODING 198
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0F80
+1E00
+3600
+3600
+6600
+6600
+7F80
+6600
+6600
+6600
+6600
+6600
+6780
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Ccedilla
+ENCODING 199
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+1E00
+3300
+6180
+6000
+6000
+6000
+6000
+6000
+6000
+6000
+6180
+3300
+1E00
+0C00
+0600
+3600
+1C00
+ENDCHAR
+
+STARTCHAR Egrave
+ENCODING 200
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+3000
+1800
+0C00
+0000
+7F80
+6000
+6000
+6000
+6000
+7E00
+6000
+6000
+6000
+6000
+7F80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Eacute
+ENCODING 201
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0600
+0C00
+1800
+0000
+7F80
+6000
+6000
+6000
+6000
+7E00
+6000
+6000
+6000
+6000
+7F80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Ecircumflex
+ENCODING 202
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0C00
+1E00
+3300
+0000
+7F80
+6000
+6000
+6000
+6000
+7E00
+6000
+6000
+6000
+6000
+7F80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Edieresis
+ENCODING 203
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+3300
+3300
+0000
+0000
+7F80
+6000
+6000
+6000
+6000
+7E00
+6000
+6000
+6000
+6000
+7F80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Igrave
+ENCODING 204
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+1800
+0C00
+0600
+0000
+3F00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+3F00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Iacute
+ENCODING 205
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0600
+0C00
+1800
+0000
+3F00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+3F00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Icircumflex
+ENCODING 206
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0C00
+1E00
+3300
+0000
+3F00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+3F00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Idieresis
+ENCODING 207
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+3300
+3300
+0000
+3F00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+3F00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Eth
+ENCODING 208
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+7E00
+6300
+6180
+6180
+6180
+6180
+F980
+6180
+6180
+6180
+6180
+6300
+7E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Ntilde
+ENCODING 209
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+1900
+3F00
+2600
+0000
+6180
+7180
+7980
+7980
+6D80
+6D80
+6780
+6780
+6380
+6180
+6180
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Ograve
+ENCODING 210
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+1800
+0C00
+0600
+0000
+1E00
+3300
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Oacute
+ENCODING 211
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0600
+0C00
+1800
+0000
+1E00
+3300
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Ocircumflex
+ENCODING 212
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0C00
+1E00
+3300
+0000
+1E00
+3300
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Otilde
+ENCODING 213
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+1900
+3F00
+2600
+0000
+1E00
+3300
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Odieresis
+ENCODING 214
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+3300
+3300
+0000
+1E00
+3300
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR multiply
+ENCODING 215
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+4100
+6300
+3600
+1C00
+1C00
+3600
+6300
+4100
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Oslash
+ENCODING 216
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0080
+1F00
+3300
+6380
+6380
+6580
+6580
+6580
+6980
+6980
+6980
+7180
+3300
+3E00
+4000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Ugrave
+ENCODING 217
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+1800
+0C00
+0600
+0000
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Uacute
+ENCODING 218
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0600
+0C00
+1800
+0000
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Ucircumflex
+ENCODING 219
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0C00
+1E00
+3300
+0000
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Udieresis
+ENCODING 220
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+3300
+3300
+0000
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Yacute
+ENCODING 221
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0600
+0C00
+1800
+0000
+6180
+6180
+3300
+3300
+1E00
+1E00
+0C00
+0C00
+0C00
+0C00
+0C00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR Thorn
+ENCODING 222
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+3000
+3000
+3000
+3F00
+3180
+3180
+3180
+3180
+3180
+3F00
+3000
+3000
+3000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR germandbls
+ENCODING 223
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0E00
+1B00
+3180
+3180
+3300
+7600
+3600
+3300
+3180
+3180
+3180
+3300
+3600
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR agrave
+ENCODING 224
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+1800
+0C00
+0600
+0000
+3F00
+6180
+0180
+3F80
+6180
+6180
+6180
+3E80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR aacute
+ENCODING 225
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0600
+0C00
+1800
+0000
+3F00
+6180
+0180
+3F80
+6180
+6180
+6180
+3E80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR acircumflex
+ENCODING 226
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0C00
+1E00
+3300
+0000
+3F00
+6180
+0180
+3F80
+6180
+6180
+6180
+3E80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR atilde
+ENCODING 227
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+1900
+3F00
+2600
+0000
+3F00
+6180
+0180
+3F80
+6180
+6180
+6180
+3E80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR adieresis
+ENCODING 228
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+3300
+3300
+0000
+3F00
+6180
+0180
+3F80
+6180
+6180
+6180
+3E80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR aring
+ENCODING 229
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+1E00
+3300
+3300
+1E00
+0000
+3F00
+6180
+0180
+3F80
+6180
+6180
+6180
+3E80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR ae
+ENCODING 230
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+3B00
+4D80
+0D80
+0F00
+3C00
+6C00
+6C80
+3700
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR ccedilla
+ENCODING 231
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+1F00
+3180
+6000
+6000
+6000
+6000
+3180
+1F00
+0C00
+0600
+3600
+1C00
+ENDCHAR
+
+STARTCHAR egrave
+ENCODING 232
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+3000
+1800
+0C00
+0000
+1E00
+3300
+6180
+7F80
+6000
+6000
+3180
+1F00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR eacute
+ENCODING 233
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0300
+0600
+0C00
+0000
+1E00
+3300
+6180
+7F80
+6000
+6000
+3180
+1F00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR ecircumflex
+ENCODING 234
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0C00
+1E00
+3300
+0000
+1E00
+3300
+6180
+7F80
+6000
+6000
+3180
+1F00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR edieresis
+ENCODING 235
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+3300
+3300
+0000
+1E00
+3300
+6180
+7F80
+6000
+6000
+3180
+1F00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR igrave
+ENCODING 236
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+3000
+1800
+0C00
+0000
+3C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+7F80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR iacute
+ENCODING 237
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0600
+0C00
+1800
+0000
+3C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+7F80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR icircumflex
+ENCODING 238
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0C00
+1E00
+3300
+0000
+3C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+7F80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR idieresis
+ENCODING 239
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+3300
+3300
+0000
+3C00
+0C00
+0C00
+0C00
+0C00
+0C00
+0C00
+7F80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR eth
+ENCODING 240
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+4400
+6C00
+3800
+3800
+6C00
+4600
+1F00
+3380
+6180
+6180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR ntilde
+ENCODING 241
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+1900
+3F00
+2600
+0000
+6E00
+7300
+6180
+6180
+6180
+6180
+6180
+6180
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR ograve
+ENCODING 242
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+3000
+1800
+0C00
+0000
+1E00
+3300
+6180
+6180
+6180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR oacute
+ENCODING 243
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0300
+0600
+0C00
+0000
+1E00
+3300
+6180
+6180
+6180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR ocircumflex
+ENCODING 244
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0C00
+1E00
+3300
+0000
+1E00
+3300
+6180
+6180
+6180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR otilde
+ENCODING 245
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+1900
+3F00
+2600
+0000
+1E00
+3300
+6180
+6180
+6180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR odieresis
+ENCODING 246
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+3300
+3300
+0000
+1E00
+3300
+6180
+6180
+6180
+6180
+3300
+1E00
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR divide
+ENCODING 247
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0C00
+0C00
+0000
+0000
+7F80
+7F80
+0000
+0000
+0C00
+0C00
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR oslash
+ENCODING 248
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+0080
+1F00
+3300
+6580
+6580
+6980
+6980
+3300
+3E00
+4000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR ugrave
+ENCODING 249
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+1800
+0C00
+0600
+0000
+6180
+6180
+6180
+6180
+6180
+6180
+3380
+1D80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR uacute
+ENCODING 250
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0300
+0600
+0C00
+0000
+6180
+6180
+6180
+6180
+6180
+6180
+3380
+1D80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR ucircumflex
+ENCODING 251
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0C00
+1E00
+3300
+0000
+6180
+6180
+6180
+6180
+6180
+6180
+3380
+1D80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR udieresis
+ENCODING 252
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+3300
+3300
+0000
+6180
+6180
+6180
+6180
+6180
+6180
+3380
+1D80
+0000
+0000
+0000
+0000
+ENDCHAR
+
+STARTCHAR yacute
+ENCODING 253
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0600
+0C00
+1800
+0000
+6180
+6180
+6180
+6180
+6180
+6180
+3380
+1D80
+0180
+6180
+3300
+1E00
+ENDCHAR
+
+STARTCHAR thorn
+ENCODING 254
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+3000
+3000
+3000
+3000
+3000
+3000
+3E00
+3300
+3180
+3180
+3180
+3300
+3E00
+3000
+3000
+3000
+3000
+ENDCHAR
+
+STARTCHAR ydieresis
+ENCODING 255
+SWIDTH 480 0
+DWIDTH 10 0
+BBX 10 20 0 -4
+BITMAP
+0000
+0000
+0000
+0000
+0000
+3300
+3300
+0000
+6180
+6180
+6180
+6180
+6180
+6180
+3380
+1D80
+0180
+6180
+3300
+1E00
+ENDCHAR
+
+ENDFONT
diff --git a/src/gdisp/fonts/fixed_10x20.c b/src/gdisp/fonts/fixed_10x20.c
new file mode 100644
index 00000000..6c6fc416
--- /dev/null
+++ b/src/gdisp/fonts/fixed_10x20.c
@@ -0,0 +1,227 @@
+
+
+/* Start of automatically generated font definition for fixed_10x20. */
+
+#ifndef MF_BWFONT_INTERNALS
+#define MF_BWFONT_INTERNALS
+#endif
+#include "mf_bwfont.h"
+
+#ifndef MF_BWFONT_VERSION_4_SUPPORTED
+#error The font file is not compatible with this version of mcufont.
+#endif
+
+static const uint8_t mf_bwfont_fixed_10x20_glyph_data_0[2193] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x1b, 0x00, 0xff, 0x1b, 0x00, 0x00, 
+    0x00, 0x00, 0x07, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 
+    0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x0f, 0x00, 0xf0, 0x0f, 0x00, 0xfe, 0x01, 0x00, 
+    0x1e, 0x0f, 0x00, 0xf0, 0x0f, 0x00, 0xfe, 0x01, 0x00, 0x1e, 0x01, 0x00, 0x10, 0x00, 0x00, 0x3c, 
+    0x04, 0x00, 0x7e, 0x0c, 0x00, 0x42, 0x08, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x42, 0x08, 
+    0x00, 0xc6, 0x0f, 0x00, 0x84, 0x07, 0x00, 0x0c, 0x00, 0x00, 0x1e, 0x18, 0x00, 0x12, 0x1e, 0x00, 
+    0x9e, 0x07, 0x00, 0xec, 0x0d, 0x00, 0x78, 0x1e, 0x00, 0x1e, 0x12, 0x00, 0x06, 0x1e, 0x00, 0x00, 
+    0x0c, 0x00, 0x80, 0x0f, 0x00, 0xde, 0x1f, 0x00, 0x7f, 0x18, 0x00, 0xf1, 0x10, 0x00, 0x9f, 0x19, 
+    0x00, 0x0e, 0x0f, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0xf0, 0x01, 0x00, 0xfc, 0x07, 0x00, 0x0e, 0x0e, 0x00, 0x03, 0x18, 0x00, 0x01, 0x10, 
+    0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x03, 0x18, 0x00, 0x0e, 0x0e, 0x00, 0xfc, 0x07, 0x00, 
+    0xf0, 0x01, 0x00, 0x40, 0x00, 0x00, 0x58, 0x03, 0x00, 0xf8, 0x03, 0x00, 0xe0, 0x00, 0x00, 0xe0, 
+    0x00, 0x00, 0xf8, 0x03, 0x00, 0x58, 0x03, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 
+    0x00, 0x40, 0x00, 0x00, 0xf8, 0x03, 0x00, 0xf8, 0x03, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 
+    0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x38, 0x00, 0x00, 
+    0x38, 0x00, 0x00, 0x18, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 
+    0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x1c, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x1e, 0x00, 0x80, 0x07, 0x00, 0xe0, 0x01, 0x00, 0x78, 0x00, 
+    0x00, 0x1e, 0x00, 0x00, 0x06, 0x00, 0x00, 0xf0, 0x01, 0x00, 0xfc, 0x07, 0x00, 0x0e, 0x0e, 0x00, 
+    0x03, 0x18, 0x00, 0x03, 0x18, 0x00, 0x0e, 0x0e, 0x00, 0xfc, 0x07, 0x00, 0xf0, 0x01, 0x00, 0x08, 
+    0x10, 0x00, 0x0c, 0x10, 0x00, 0x06, 0x10, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0x10, 
+    0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x0c, 0x1c, 0x00, 0x0e, 0x1e, 0x00, 0x03, 0x13, 0x00, 
+    0x81, 0x11, 0x00, 0x81, 0x10, 0x00, 0xc3, 0x10, 0x00, 0x7e, 0x10, 0x00, 0x3c, 0x10, 0x00, 0x0c, 
+    0x06, 0x00, 0x0e, 0x0e, 0x00, 0x03, 0x18, 0x00, 0x41, 0x10, 0x00, 0x41, 0x10, 0x00, 0xe3, 0x18, 
+    0x00, 0xbe, 0x0f, 0x00, 0x1c, 0x07, 0x00, 0xc0, 0x01, 0x00, 0xe0, 0x01, 0x00, 0x30, 0x01, 0x00, 
+    0x18, 0x01, 0x00, 0x0c, 0x01, 0x00, 0xfe, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0x01, 0x00, 0x7f, 
+    0x04, 0x00, 0x7f, 0x0c, 0x00, 0x41, 0x18, 0x00, 0x21, 0x10, 0x00, 0x21, 0x10, 0x00, 0x61, 0x18, 
+    0x00, 0xc1, 0x0f, 0x00, 0x81, 0x07, 0x00, 0xfc, 0x07, 0x00, 0xfe, 0x0f, 0x00, 0x43, 0x18, 0x00, 
+    0x21, 0x10, 0x00, 0x21, 0x10, 0x00, 0x63, 0x18, 0x00, 0xc6, 0x0f, 0x00, 0x80, 0x07, 0x00, 0x01, 
+    0x00, 0x00, 0x01, 0x18, 0x00, 0x01, 0x1e, 0x00, 0x81, 0x07, 0x00, 0xe1, 0x01, 0x00, 0x79, 0x00, 
+    0x00, 0x1f, 0x00, 0x00, 0x07, 0x00, 0x00, 0x1c, 0x07, 0x00, 0xbe, 0x0f, 0x00, 0xe3, 0x18, 0x00, 
+    0x41, 0x10, 0x00, 0x41, 0x10, 0x00, 0xe3, 0x18, 0x00, 0xbe, 0x0f, 0x00, 0x1c, 0x07, 0x00, 0x3c, 
+    0x00, 0x00, 0x7e, 0x0c, 0x00, 0xc3, 0x18, 0x00, 0x81, 0x10, 0x00, 0x81, 0x10, 0x00, 0x43, 0x18, 
+    0x00, 0xfe, 0x0f, 0x00, 0xfc, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x60, 0x18, 0x00, 0x60, 0x18, 0x00, 0x60, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x20, 0x00, 0x60, 0x38, 0x00, 0x60, 0x38, 0x00, 0x60, 0x18, 0x00, 0x40, 0x00, 0x00, 0xe0, 0x00, 
+    0x00, 0xb0, 0x01, 0x00, 0x18, 0x03, 0x00, 0x0c, 0x06, 0x00, 0x06, 0x0c, 0x00, 0x03, 0x18, 0x00, 
+    0x10, 0x02, 0x00, 0x10, 0x02, 0x00, 0x10, 0x02, 0x00, 0x10, 0x02, 0x00, 0x10, 0x02, 0x00, 0x10, 
+    0x02, 0x00, 0x10, 0x02, 0x00, 0x10, 0x02, 0x00, 0x00, 0x00, 0x00, 0x03, 0x18, 0x00, 0x06, 0x0c, 
+    0x00, 0x0c, 0x06, 0x00, 0x18, 0x03, 0x00, 0xb0, 0x01, 0x00, 0xe0, 0x00, 0x00, 0x40, 0x00, 0x00, 
+    0x1c, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x03, 0x00, 0x00, 0x81, 0x1b, 0x00, 0xc1, 0x1b, 0x00, 0x63, 
+    0x00, 0x00, 0x3e, 0x00, 0x00, 0x1c, 0x00, 0x00, 0xfc, 0x07, 0x00, 0xfe, 0x0f, 0x00, 0x03, 0x18, 
+    0x00, 0xf1, 0x11, 0x00, 0xf9, 0x13, 0x00, 0x1b, 0x13, 0x00, 0xfe, 0x19, 0x00, 0xfc, 0x08, 0x00, 
+    0xf0, 0x1f, 0x00, 0xfc, 0x1f, 0x00, 0x8e, 0x00, 0x00, 0x83, 0x00, 0x00, 0x83, 0x00, 0x00, 0x8e, 
+    0x00, 0x00, 0xfc, 0x1f, 0x00, 0xf0, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x41, 0x10, 
+    0x00, 0x41, 0x10, 0x00, 0x63, 0x10, 0x00, 0xfe, 0x18, 0x00, 0x9c, 0x0f, 0x00, 0x00, 0x07, 0x00, 
+    0xfc, 0x07, 0x00, 0xfe, 0x0f, 0x00, 0x03, 0x18, 0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0x03, 
+    0x18, 0x00, 0x06, 0x0c, 0x00, 0x04, 0x04, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x01, 0x10, 
+    0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0x03, 0x18, 0x00, 0xfe, 0x0f, 0x00, 0xfc, 0x07, 0x00, 
+    0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x41, 0x10, 0x00, 0x41, 0x10, 0x00, 0x41, 0x10, 0x00, 0x41, 
+    0x10, 0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x41, 0x00, 
+    0x00, 0x41, 0x00, 0x00, 0x41, 0x00, 0x00, 0x41, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 
+    0xfc, 0x07, 0x00, 0xfe, 0x0f, 0x00, 0x03, 0x18, 0x00, 0x01, 0x10, 0x00, 0x41, 0x10, 0x00, 0x43, 
+    0x18, 0x00, 0xc6, 0x0f, 0x00, 0xc4, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x40, 0x00, 
+    0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 
+    0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x01, 
+    0x10, 0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x18, 
+    0x00, 0x01, 0x10, 0x00, 0x01, 0x18, 0x00, 0xff, 0x0f, 0x00, 0xff, 0x07, 0x00, 0x01, 0x00, 0x00, 
+    0x01, 0x00, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0xf0, 
+    0x01, 0x00, 0xbc, 0x07, 0x00, 0x0f, 0x1e, 0x00, 0x03, 0x18, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 
+    0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 
+    0x00, 0x10, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x1c, 0x00, 0x00, 0xf0, 0x01, 0x00, 0xf0, 
+    0x01, 0x00, 0x1c, 0x00, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 
+    0x00, 0x1e, 0x00, 0x00, 0x78, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x80, 0x07, 0x00, 0xff, 0x1f, 0x00, 
+    0xff, 0x1f, 0x00, 0xfc, 0x07, 0x00, 0xfe, 0x0f, 0x00, 0x03, 0x18, 0x00, 0x01, 0x10, 0x00, 0x01, 
+    0x10, 0x00, 0x03, 0x18, 0x00, 0xfe, 0x0f, 0x00, 0xfc, 0x07, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 
+    0x00, 0x81, 0x00, 0x00, 0x81, 0x00, 0x00, 0x81, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x7e, 0x00, 0x00, 
+    0x3c, 0x00, 0x00, 0xfc, 0x07, 0x00, 0xfe, 0x0f, 0x00, 0x03, 0x18, 0x00, 0x01, 0x12, 0x00, 0x01, 
+    0x16, 0x00, 0x03, 0x1c, 0x00, 0xfe, 0x3f, 0x00, 0xfc, 0x27, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 
+    0x00, 0x81, 0x00, 0x00, 0x81, 0x00, 0x00, 0x81, 0x01, 0x00, 0xc3, 0x07, 0x00, 0x7e, 0x1e, 0x00, 
+    0x3c, 0x18, 0x00, 0x1c, 0x04, 0x00, 0x3e, 0x0c, 0x00, 0x63, 0x18, 0x00, 0x41, 0x10, 0x00, 0x41, 
+    0x10, 0x00, 0xc3, 0x18, 0x00, 0x86, 0x0f, 0x00, 0x04, 0x07, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 
+    0x00, 0x01, 0x00, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 
+    0x01, 0x00, 0x00, 0xff, 0x07, 0x00, 0xff, 0x0f, 0x00, 0x00, 0x18, 0x00, 0x00, 0x10, 0x00, 0x00, 
+    0x10, 0x00, 0x00, 0x18, 0x00, 0xff, 0x0f, 0x00, 0xff, 0x07, 0x00, 0x0f, 0x00, 0x00, 0x7f, 0x00, 
+    0x00, 0xf0, 0x03, 0x00, 0x80, 0x1f, 0x00, 0x80, 0x1f, 0x00, 0xf0, 0x03, 0x00, 0x7f, 0x00, 0x00, 
+    0x0f, 0x00, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0x06, 0x00, 0xe0, 0x01, 0x00, 0xe0, 
+    0x01, 0x00, 0x00, 0x06, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x03, 0x18, 0x00, 0x0f, 0x1e, 
+    0x00, 0xbc, 0x07, 0x00, 0xf0, 0x01, 0x00, 0xf0, 0x01, 0x00, 0xbc, 0x07, 0x00, 0x0f, 0x1e, 0x00, 
+    0x03, 0x18, 0x00, 0x03, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x3c, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0xf0, 
+    0x1f, 0x00, 0x3c, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x03, 0x00, 0x00, 0x01, 0x1c, 0x00, 0x01, 0x1e, 
+    0x00, 0x81, 0x13, 0x00, 0xc1, 0x11, 0x00, 0x71, 0x10, 0x00, 0x39, 0x10, 0x00, 0x0f, 0x10, 0x00, 
+    0x07, 0x10, 0x00, 0x00, 0x00, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x01, 0x10, 0x00, 0x01, 
+    0x10, 0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x1e, 0x00, 
+    0x00, 0x78, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x80, 0x07, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x18, 0x00, 
+    0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0xff, 
+    0x1f, 0x00, 0xff, 0x1f, 0x00, 0x08, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x06, 0x00, 0x00, 0x03, 0x00, 
+    0x00, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 
+    0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 
+    0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 
+    0x00, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x40, 0x1f, 0x00, 
+    0x60, 0x11, 0x00, 0x20, 0x11, 0x00, 0x20, 0x11, 0x00, 0x20, 0x11, 0x00, 0xe0, 0x0f, 0x00, 0xc0, 
+    0x1f, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x40, 0x08, 0x00, 0x20, 0x10, 0x00, 0x20, 0x10, 
+    0x00, 0x60, 0x18, 0x00, 0xc0, 0x0f, 0x00, 0x80, 0x07, 0x00, 0x80, 0x07, 0x00, 0xc0, 0x0f, 0x00, 
+    0x60, 0x18, 0x00, 0x20, 0x10, 0x00, 0x20, 0x10, 0x00, 0x20, 0x10, 0x00, 0x60, 0x18, 0x00, 0x40, 
+    0x08, 0x00, 0x80, 0x07, 0x00, 0xc0, 0x0f, 0x00, 0x60, 0x18, 0x00, 0x20, 0x10, 0x00, 0x20, 0x10, 
+    0x00, 0x40, 0x08, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x80, 0x07, 0x00, 0xc0, 0x0f, 0x00, 
+    0x60, 0x19, 0x00, 0x20, 0x11, 0x00, 0x20, 0x11, 0x00, 0x60, 0x11, 0x00, 0xc0, 0x19, 0x00, 0x80, 
+    0x09, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0xfe, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x21, 0x00, 
+    0x00, 0x21, 0x00, 0x00, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0xc0, 0xeb, 0x00, 0xe0, 0xff, 0x01, 
+    0x20, 0x14, 0x01, 0x20, 0x14, 0x01, 0x20, 0x14, 0x01, 0xe0, 0x17, 0x01, 0xc0, 0xf3, 0x01, 0x60, 
+    0xe0, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 0x40, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 
+    0x00, 0x60, 0x00, 0x00, 0xc0, 0x1f, 0x00, 0x80, 0x1f, 0x00, 0x00, 0x10, 0x00, 0x20, 0x10, 0x00, 
+    0x20, 0x10, 0x00, 0xec, 0x1f, 0x00, 0xec, 0x1f, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 
+    0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x01, 0x20, 0x00, 
+    0x01, 0x20, 0x00, 0x01, 0xec, 0xff, 0x01, 0xec, 0xff, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 0x00, 
+    0x00, 0x03, 0x00, 0x80, 0x03, 0x00, 0xc0, 0x06, 0x00, 0x60, 0x0c, 0x00, 0x20, 0x18, 0x00, 0x00, 
+    0x10, 0x00, 0x00, 0x10, 0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 
+    0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0xe0, 0x1f, 0x00, 0xc0, 0x1f, 0x00, 
+    0x60, 0x00, 0x00, 0xe0, 0x1f, 0x00, 0xc0, 0x1f, 0x00, 0x60, 0x00, 0x00, 0xe0, 0x1f, 0x00, 0xc0, 
+    0x1f, 0x00, 0xe0, 0x1f, 0x00, 0xe0, 0x1f, 0x00, 0x40, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 
+    0x00, 0x60, 0x00, 0x00, 0xc0, 0x1f, 0x00, 0x80, 0x1f, 0x00, 0x80, 0x07, 0x00, 0xc0, 0x0f, 0x00, 
+    0x60, 0x18, 0x00, 0x20, 0x10, 0x00, 0x20, 0x10, 0x00, 0x60, 0x18, 0x00, 0xc0, 0x0f, 0x00, 0x80, 
+    0x07, 0x00, 0xe0, 0xff, 0x01, 0xe0, 0xff, 0x01, 0x40, 0x08, 0x00, 0x20, 0x10, 0x00, 0x20, 0x10, 
+    0x00, 0x60, 0x18, 0x00, 0xc0, 0x0f, 0x00, 0x80, 0x07, 0x00, 0x80, 0x07, 0x00, 0xc0, 0x0f, 0x00, 
+    0x60, 0x18, 0x00, 0x20, 0x10, 0x00, 0x20, 0x10, 0x00, 0x40, 0x08, 0x00, 0xe0, 0xff, 0x01, 0xe0, 
+    0xff, 0x01, 0x20, 0x00, 0x00, 0xe0, 0x1f, 0x00, 0xc0, 0x1f, 0x00, 0x60, 0x00, 0x00, 0x20, 0x00, 
+    0x00, 0x20, 0x00, 0x00, 0x60, 0x00, 0x00, 0x40, 0x00, 0x00, 0xc0, 0x08, 0x00, 0xe0, 0x19, 0x00, 
+    0x20, 0x11, 0x00, 0x20, 0x11, 0x00, 0x20, 0x11, 0x00, 0x20, 0x11, 0x00, 0x60, 0x1f, 0x00, 0x40, 
+    0x0e, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0xfc, 0x0f, 0x00, 0xfc, 0x1f, 0x00, 0x20, 0x10, 
+    0x00, 0x20, 0x10, 0x00, 0x00, 0x18, 0x00, 0x00, 0x08, 0x00, 0xe0, 0x07, 0x00, 0xe0, 0x0f, 0x00, 
+    0x00, 0x18, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xe0, 0x1f, 0x00, 0xe0, 
+    0x1f, 0x00, 0x60, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x80, 0x07, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x1e, 
+    0x00, 0x80, 0x07, 0x00, 0xe0, 0x01, 0x00, 0x60, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0xe0, 0x1f, 0x00, 
+    0x00, 0x18, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x18, 0x00, 0xe0, 0x1f, 0x00, 0xe0, 
+    0x0f, 0x00, 0x20, 0x10, 0x00, 0x60, 0x18, 0x00, 0xc0, 0x0c, 0x00, 0x80, 0x07, 0x00, 0x80, 0x07, 
+    0x00, 0xc0, 0x0c, 0x00, 0x60, 0x18, 0x00, 0x20, 0x10, 0x00, 0xe0, 0x47, 0x00, 0xe0, 0xcf, 0x00, 
+    0x00, 0x98, 0x01, 0x00, 0x10, 0x01, 0x00, 0x10, 0x01, 0x00, 0x88, 0x01, 0xe0, 0xff, 0x00, 0xe0, 
+    0x7f, 0x00, 0x00, 0x00, 0x00, 0x20, 0x18, 0x00, 0x20, 0x1c, 0x00, 0x20, 0x16, 0x00, 0x20, 0x13, 
+    0x00, 0xa0, 0x11, 0x00, 0xe0, 0x10, 0x00, 0x60, 0x10, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 
+    0x40, 0x00, 0x00, 0xfe, 0x0f, 0x00, 0xbf, 0x1f, 0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0x01, 
+    0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x1f, 0x00, 0xff, 0x1f, 
+    0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0x01, 0x10, 0x00, 0xbf, 0x1f, 0x00, 0xfe, 0x0f, 0x00, 
+    0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x01, 
+    0x00, 0x00, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x00, 0x00, 0x03, 0x00, 
+    0x00, 
+};
+
+static const uint16_t mf_bwfont_fixed_10x20_glyph_offsets_0[96] = {
+    0x0000, 0x0000, 0x0005, 0x000c, 0x0015, 0x001d, 0x0026, 0x002f, 
+    0x0034, 0x003b, 0x0041, 0x0049, 0x0051, 0x0057, 0x005f, 0x0065, 
+    0x006d, 0x0075, 0x007d, 0x0085, 0x008d, 0x0095, 0x009d, 0x00a5, 
+    0x00ad, 0x00b5, 0x00bd, 0x00c3, 0x00c9, 0x00d0, 0x00d8, 0x00e0, 
+    0x00e8, 0x00f0, 0x00f8, 0x0100, 0x0108, 0x0110, 0x0118, 0x0120, 
+    0x0128, 0x0130, 0x0138, 0x0141, 0x0149, 0x0151, 0x0159, 0x0161, 
+    0x0169, 0x0171, 0x0179, 0x0181, 0x0189, 0x0191, 0x0199, 0x01a1, 
+    0x01a9, 0x01b1, 0x01b9, 0x01c1, 0x01c8, 0x01d0, 0x01d7, 0x01df, 
+    0x01e8, 0x01ee, 0x01f6, 0x01fe, 0x0206, 0x020e, 0x0216, 0x021e, 
+    0x0226, 0x022e, 0x0236, 0x023e, 0x0246, 0x024e, 0x0256, 0x025e, 
+    0x0266, 0x026e, 0x0276, 0x027e, 0x0286, 0x028e, 0x0296, 0x029e, 
+    0x02a6, 0x02ae, 0x02b6, 0x02be, 0x02c6, 0x02cb, 0x02d3, 0x02db, 
+};
+
+static const uint8_t mf_bwfont_fixed_10x20_glyph_widths_0[95] = {
+    0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 
+    0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 
+    0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 
+    0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 
+    0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 
+    0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 
+};
+
+static const struct mf_bwfont_char_range_s mf_bwfont_fixed_10x20_char_ranges[] = {
+    {
+        32, /* first char */
+        95, /* char count */
+        0, /* offset x */
+        0, /* offset y */
+        3, /* height in bytes */
+        17, /* height in pixels */
+        0, /* width */
+        mf_bwfont_fixed_10x20_glyph_widths_0, /* glyph widths */
+        mf_bwfont_fixed_10x20_glyph_offsets_0, /* glyph offsets */
+        mf_bwfont_fixed_10x20_glyph_data_0, /* glyph data */
+    },
+};
+
+const struct mf_bwfont_s mf_bwfont_fixed_10x20 = {
+    {
+    "-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-15",
+    "fixed_10x20",
+    9, /* width */
+    17, /* height */
+    10, /* min x advance */
+    10, /* max x advance */
+    -1, /* baseline x */
+    13, /* baseline y */
+    20, /* line height */
+    3, /* flags */
+    63, /* fallback character */
+    &mf_bwfont_character_width,
+    &mf_bwfont_render_character,
+    },
+    4, /* version */
+    1, /* char range count */
+    mf_bwfont_fixed_10x20_char_ranges,
+};
+
+#ifdef MF_INCLUDED_FONTS
+/* List entry for searching fonts by name. */
+static const struct mf_font_list_s mf_bwfont_fixed_10x20_listentry = {
+    MF_INCLUDED_FONTS,
+    (struct mf_font_s*)&mf_bwfont_fixed_10x20
+};
+#undef MF_INCLUDED_FONTS
+#define MF_INCLUDED_FONTS (&mf_bwfont_fixed_10x20_listentry)
+#endif
+
+
+/* End of automatically generated font definition for fixed_10x20. */
+
diff --git a/src/gdisp/fonts/fixed_5x8.bdf b/src/gdisp/fonts/fixed_5x8.bdf
new file mode 100644
index 00000000..a44d3bfa
--- /dev/null
+++ b/src/gdisp/fonts/fixed_5x8.bdf
@@ -0,0 +1,3602 @@
+STARTFONT 2.1
+FONT -Misc-Fixed-Medium-R-Normal--8-80-75-75-C-50-ISO8859-15
+SIZE 8 75 75
+FONTBOUNDINGBOX 5 8 0 -1
+
+STARTPROPERTIES 23
+FONTNAME_REGISTRY ""
+FOUNDRY "Misc"
+FAMILY_NAME "Fixed"
+WEIGHT_NAME "Medium"
+SLANT "R"
+SETWIDTH_NAME "Normal"
+ADD_STYLE_NAME ""
+PIXEL_SIZE 8
+POINT_SIZE 80
+RESOLUTION_X 75
+RESOLUTION_Y 75
+SPACING "C"
+AVERAGE_WIDTH 50
+CHARSET_REGISTRY "ISO8859"
+CHARSET_ENCODING "15"
+COPYRIGHT "Public domain font.  Share and enjoy."
+CAP_HEIGHT 6
+X_HEIGHT 4
+WEIGHT 10
+QUAD_WIDTH 5
+DEFAULT_CHAR 0
+FONT_DESCENT 1
+FONT_ASCENT 7
+ENDPROPERTIES
+
+CHARS 223
+
+STARTCHAR defaultchar
+ENCODING 0
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+A0
+10
+80
+10
+80
+50
+00
+ENDCHAR
+
+STARTCHAR uni25C6
+ENCODING 1
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+20
+70
+F8
+70
+20
+00
+ENDCHAR
+
+STARTCHAR shade
+ENCODING 2
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+50
+A8
+50
+A8
+50
+A8
+50
+A8
+ENDCHAR
+
+STARTCHAR uni2409
+ENCODING 3
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+A0
+A0
+E0
+A0
+A0
+70
+20
+20
+ENDCHAR
+
+STARTCHAR uni240C
+ENCODING 4
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+E0
+80
+C0
+B8
+A0
+30
+20
+20
+ENDCHAR
+
+STARTCHAR uni240D
+ENCODING 5
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+60
+80
+80
+60
+30
+28
+30
+28
+ENDCHAR
+
+STARTCHAR uni240A
+ENCODING 6
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+80
+80
+80
+E0
+38
+20
+30
+20
+ENDCHAR
+
+STARTCHAR degree
+ENCODING 7
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+20
+50
+20
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR plusminus
+ENCODING 8
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+20
+70
+20
+00
+70
+00
+ENDCHAR
+
+STARTCHAR uni2424
+ENCODING 9
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+90
+D0
+B0
+90
+20
+20
+20
+38
+ENDCHAR
+
+STARTCHAR uni240B
+ENCODING 10
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+A0
+A0
+A0
+40
+38
+10
+10
+10
+ENDCHAR
+
+STARTCHAR SF040000
+ENCODING 11
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+20
+20
+20
+E0
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR SF030000
+ENCODING 12
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+E0
+20
+20
+20
+20
+ENDCHAR
+
+STARTCHAR SF010000
+ENCODING 13
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+38
+20
+20
+20
+20
+ENDCHAR
+
+STARTCHAR SF020000
+ENCODING 14
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+20
+20
+20
+38
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR SF050000
+ENCODING 15
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+20
+20
+20
+F8
+20
+20
+20
+20
+ENDCHAR
+
+STARTCHAR uni23BA
+ENCODING 16
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+F8
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR uni23BB
+ENCODING 17
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+F8
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR SF100000
+ENCODING 18
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+F8
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR uni23BC
+ENCODING 19
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+00
+00
+00
+F8
+00
+ENDCHAR
+
+STARTCHAR uni23BD
+ENCODING 20
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+F8
+ENDCHAR
+
+STARTCHAR SF080000
+ENCODING 21
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+20
+20
+20
+38
+20
+20
+20
+20
+ENDCHAR
+
+STARTCHAR SF090000
+ENCODING 22
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+20
+20
+20
+E0
+20
+20
+20
+20
+ENDCHAR
+
+STARTCHAR SF070000
+ENCODING 23
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+20
+20
+20
+F8
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR SF060000
+ENCODING 24
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+F8
+20
+20
+20
+20
+ENDCHAR
+
+STARTCHAR SF110000
+ENCODING 25
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+20
+20
+20
+20
+20
+20
+20
+20
+ENDCHAR
+
+STARTCHAR lessequal
+ENCODING 26
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+10
+20
+40
+20
+10
+70
+00
+ENDCHAR
+
+STARTCHAR greaterequal
+ENCODING 27
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+40
+20
+10
+20
+40
+70
+00
+ENDCHAR
+
+STARTCHAR pi
+ENCODING 28
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+F8
+50
+50
+50
+00
+ENDCHAR
+
+STARTCHAR notequal
+ENCODING 29
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+20
+F0
+60
+F0
+40
+00
+ENDCHAR
+
+STARTCHAR sterling
+ENCODING 30
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+20
+50
+E0
+40
+50
+A0
+00
+ENDCHAR
+
+STARTCHAR periodcentered
+ENCODING 31
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+00
+20
+00
+00
+00
+ENDCHAR
+
+STARTCHAR space
+ENCODING 32
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR exclam
+ENCODING 33
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+20
+20
+20
+20
+00
+20
+00
+ENDCHAR
+
+STARTCHAR quotedbl
+ENCODING 34
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+50
+50
+50
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR numbersign
+ENCODING 35
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+50
+50
+F8
+50
+F8
+50
+50
+00
+ENDCHAR
+
+STARTCHAR dollar
+ENCODING 36
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+20
+70
+A0
+70
+28
+70
+20
+00
+ENDCHAR
+
+STARTCHAR percent
+ENCODING 37
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+40
+50
+20
+50
+10
+00
+00
+ENDCHAR
+
+STARTCHAR ampersand
+ENCODING 38
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+40
+A0
+A0
+40
+A0
+A0
+50
+00
+ENDCHAR
+
+STARTCHAR quotesingle
+ENCODING 39
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+20
+20
+20
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR parenleft
+ENCODING 40
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+20
+40
+40
+40
+40
+20
+00
+ENDCHAR
+
+STARTCHAR parenright
+ENCODING 41
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+40
+20
+20
+20
+20
+40
+00
+ENDCHAR
+
+STARTCHAR asterisk
+ENCODING 42
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+90
+60
+F0
+60
+90
+00
+ENDCHAR
+
+STARTCHAR plus
+ENCODING 43
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+20
+20
+F8
+20
+20
+00
+ENDCHAR
+
+STARTCHAR comma
+ENCODING 44
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+00
+00
+30
+20
+40
+ENDCHAR
+
+STARTCHAR hyphen
+ENCODING 45
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+00
+F0
+00
+00
+00
+ENDCHAR
+
+STARTCHAR period
+ENCODING 46
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+00
+00
+20
+70
+20
+ENDCHAR
+
+STARTCHAR slash
+ENCODING 47
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+10
+10
+20
+40
+80
+80
+00
+ENDCHAR
+
+STARTCHAR zero
+ENCODING 48
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+20
+50
+50
+50
+50
+20
+00
+ENDCHAR
+
+STARTCHAR one
+ENCODING 49
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+20
+60
+20
+20
+20
+70
+00
+ENDCHAR
+
+STARTCHAR two
+ENCODING 50
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+60
+90
+10
+60
+80
+F0
+00
+ENDCHAR
+
+STARTCHAR three
+ENCODING 51
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+F0
+20
+60
+10
+90
+60
+00
+ENDCHAR
+
+STARTCHAR four
+ENCODING 52
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+20
+60
+A0
+F0
+20
+20
+00
+ENDCHAR
+
+STARTCHAR five
+ENCODING 53
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+F0
+80
+E0
+10
+90
+60
+00
+ENDCHAR
+
+STARTCHAR six
+ENCODING 54
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+60
+80
+E0
+90
+90
+60
+00
+ENDCHAR
+
+STARTCHAR seven
+ENCODING 55
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+F0
+10
+20
+20
+40
+40
+00
+ENDCHAR
+
+STARTCHAR eight
+ENCODING 56
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+60
+90
+60
+90
+90
+60
+00
+ENDCHAR
+
+STARTCHAR nine
+ENCODING 57
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+60
+90
+90
+70
+10
+60
+00
+ENDCHAR
+
+STARTCHAR colon
+ENCODING 58
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+60
+60
+00
+60
+60
+00
+ENDCHAR
+
+STARTCHAR semicolon
+ENCODING 59
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+30
+30
+00
+30
+20
+40
+ENDCHAR
+
+STARTCHAR less
+ENCODING 60
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+10
+20
+40
+40
+20
+10
+00
+ENDCHAR
+
+STARTCHAR equal
+ENCODING 61
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+F0
+00
+F0
+00
+00
+ENDCHAR
+
+STARTCHAR greater
+ENCODING 62
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+40
+20
+10
+10
+20
+40
+00
+ENDCHAR
+
+STARTCHAR question
+ENCODING 63
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+20
+50
+10
+20
+00
+20
+00
+ENDCHAR
+
+STARTCHAR at
+ENCODING 64
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+30
+48
+98
+A8
+A8
+90
+40
+30
+ENDCHAR
+
+STARTCHAR A
+ENCODING 65
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+60
+90
+90
+F0
+90
+90
+00
+ENDCHAR
+
+STARTCHAR B
+ENCODING 66
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+E0
+90
+E0
+90
+90
+E0
+00
+ENDCHAR
+
+STARTCHAR C
+ENCODING 67
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+60
+90
+80
+80
+90
+60
+00
+ENDCHAR
+
+STARTCHAR D
+ENCODING 68
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+E0
+90
+90
+90
+90
+E0
+00
+ENDCHAR
+
+STARTCHAR E
+ENCODING 69
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+F0
+80
+E0
+80
+80
+F0
+00
+ENDCHAR
+
+STARTCHAR F
+ENCODING 70
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+F0
+80
+E0
+80
+80
+80
+00
+ENDCHAR
+
+STARTCHAR G
+ENCODING 71
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+60
+90
+80
+B0
+90
+60
+00
+ENDCHAR
+
+STARTCHAR H
+ENCODING 72
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+90
+90
+F0
+90
+90
+90
+00
+ENDCHAR
+
+STARTCHAR I
+ENCODING 73
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+70
+20
+20
+20
+20
+70
+00
+ENDCHAR
+
+STARTCHAR J
+ENCODING 74
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+70
+20
+20
+20
+A0
+40
+00
+ENDCHAR
+
+STARTCHAR K
+ENCODING 75
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+90
+A0
+C0
+A0
+A0
+90
+00
+ENDCHAR
+
+STARTCHAR L
+ENCODING 76
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+80
+80
+80
+80
+80
+F0
+00
+ENDCHAR
+
+STARTCHAR M
+ENCODING 77
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+90
+F0
+F0
+90
+90
+90
+00
+ENDCHAR
+
+STARTCHAR N
+ENCODING 78
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+90
+D0
+F0
+B0
+B0
+90
+00
+ENDCHAR
+
+STARTCHAR O
+ENCODING 79
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+60
+90
+90
+90
+90
+60
+00
+ENDCHAR
+
+STARTCHAR P
+ENCODING 80
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+E0
+90
+90
+E0
+80
+80
+00
+ENDCHAR
+
+STARTCHAR Q
+ENCODING 81
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+60
+90
+90
+D0
+B0
+60
+10
+ENDCHAR
+
+STARTCHAR R
+ENCODING 82
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+E0
+90
+90
+E0
+90
+90
+00
+ENDCHAR
+
+STARTCHAR S
+ENCODING 83
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+60
+90
+40
+20
+90
+60
+00
+ENDCHAR
+
+STARTCHAR T
+ENCODING 84
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+70
+20
+20
+20
+20
+20
+00
+ENDCHAR
+
+STARTCHAR U
+ENCODING 85
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+90
+90
+90
+90
+90
+60
+00
+ENDCHAR
+
+STARTCHAR V
+ENCODING 86
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+90
+90
+90
+90
+60
+60
+00
+ENDCHAR
+
+STARTCHAR W
+ENCODING 87
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+90
+90
+90
+F0
+F0
+90
+00
+ENDCHAR
+
+STARTCHAR X
+ENCODING 88
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+90
+90
+60
+60
+90
+90
+00
+ENDCHAR
+
+STARTCHAR Y
+ENCODING 89
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+88
+88
+50
+20
+20
+20
+00
+ENDCHAR
+
+STARTCHAR Z
+ENCODING 90
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+F0
+10
+20
+40
+80
+F0
+00
+ENDCHAR
+
+STARTCHAR bracketleft
+ENCODING 91
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+70
+40
+40
+40
+40
+70
+00
+ENDCHAR
+
+STARTCHAR backslash
+ENCODING 92
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+80
+80
+40
+20
+10
+10
+00
+ENDCHAR
+
+STARTCHAR bracketright
+ENCODING 93
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+70
+10
+10
+10
+10
+70
+00
+ENDCHAR
+
+STARTCHAR asciicircum
+ENCODING 94
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+20
+50
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR underscore
+ENCODING 95
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+F0
+ENDCHAR
+
+STARTCHAR grave
+ENCODING 96
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+40
+20
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR a
+ENCODING 97
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+70
+90
+90
+70
+00
+ENDCHAR
+
+STARTCHAR b
+ENCODING 98
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+80
+80
+E0
+90
+90
+E0
+00
+ENDCHAR
+
+STARTCHAR c
+ENCODING 99
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+30
+40
+40
+30
+00
+ENDCHAR
+
+STARTCHAR d
+ENCODING 100
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+10
+10
+70
+90
+90
+70
+00
+ENDCHAR
+
+STARTCHAR e
+ENCODING 101
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+60
+B0
+C0
+60
+00
+ENDCHAR
+
+STARTCHAR f
+ENCODING 102
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+20
+50
+40
+E0
+40
+40
+00
+ENDCHAR
+
+STARTCHAR g
+ENCODING 103
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+60
+90
+70
+10
+60
+ENDCHAR
+
+STARTCHAR h
+ENCODING 104
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+80
+80
+E0
+90
+90
+90
+00
+ENDCHAR
+
+STARTCHAR i
+ENCODING 105
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+20
+00
+60
+20
+20
+70
+00
+ENDCHAR
+
+STARTCHAR j
+ENCODING 106
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+10
+00
+10
+10
+10
+50
+20
+ENDCHAR
+
+STARTCHAR k
+ENCODING 107
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+80
+80
+90
+E0
+90
+90
+00
+ENDCHAR
+
+STARTCHAR l
+ENCODING 108
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+60
+20
+20
+20
+20
+70
+00
+ENDCHAR
+
+STARTCHAR m
+ENCODING 109
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+D0
+A8
+A8
+A8
+00
+ENDCHAR
+
+STARTCHAR n
+ENCODING 110
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+E0
+90
+90
+90
+00
+ENDCHAR
+
+STARTCHAR o
+ENCODING 111
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+60
+90
+90
+60
+00
+ENDCHAR
+
+STARTCHAR p
+ENCODING 112
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+E0
+90
+E0
+80
+80
+ENDCHAR
+
+STARTCHAR q
+ENCODING 113
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+70
+90
+70
+10
+10
+ENDCHAR
+
+STARTCHAR r
+ENCODING 114
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+A0
+D0
+80
+80
+00
+ENDCHAR
+
+STARTCHAR s
+ENCODING 115
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+30
+60
+10
+60
+00
+ENDCHAR
+
+STARTCHAR t
+ENCODING 116
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+40
+40
+E0
+40
+50
+20
+00
+ENDCHAR
+
+STARTCHAR u
+ENCODING 117
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+90
+90
+90
+70
+00
+ENDCHAR
+
+STARTCHAR v
+ENCODING 118
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+50
+50
+50
+20
+00
+ENDCHAR
+
+STARTCHAR w
+ENCODING 119
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+88
+A8
+A8
+50
+00
+ENDCHAR
+
+STARTCHAR x
+ENCODING 120
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+90
+60
+60
+90
+00
+ENDCHAR
+
+STARTCHAR y
+ENCODING 121
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+90
+90
+70
+90
+60
+ENDCHAR
+
+STARTCHAR z
+ENCODING 122
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+F0
+20
+40
+F0
+00
+ENDCHAR
+
+STARTCHAR braceleft
+ENCODING 123
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+30
+40
+20
+C0
+20
+40
+30
+00
+ENDCHAR
+
+STARTCHAR bar
+ENCODING 124
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+20
+20
+20
+20
+20
+20
+00
+ENDCHAR
+
+STARTCHAR braceright
+ENCODING 125
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+C0
+20
+40
+30
+40
+20
+C0
+00
+ENDCHAR
+
+STARTCHAR asciitilde
+ENCODING 126
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+50
+A0
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR space
+ENCODING 160
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR exclamdown
+ENCODING 161
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+20
+00
+20
+20
+20
+20
+00
+ENDCHAR
+
+STARTCHAR cent
+ENCODING 162
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+20
+70
+A0
+A0
+70
+20
+ENDCHAR
+
+STARTCHAR sterling
+ENCODING 163
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+20
+50
+E0
+40
+50
+A0
+00
+ENDCHAR
+
+STARTCHAR Euro
+ENCODING 164
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+30
+40
+E0
+40
+E0
+40
+30
+00
+ENDCHAR
+
+STARTCHAR yen
+ENCODING 165
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+88
+50
+F8
+20
+F8
+20
+00
+ENDCHAR
+
+STARTCHAR Scaron
+ENCODING 166
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+90
+60
+70
+80
+60
+10
+E0
+00
+ENDCHAR
+
+STARTCHAR section
+ENCODING 167
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+70
+80
+E0
+90
+70
+10
+E0
+00
+ENDCHAR
+
+STARTCHAR scaron
+ENCODING 168
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+50
+20
+00
+30
+60
+10
+60
+00
+ENDCHAR
+
+STARTCHAR copyright
+ENCODING 169
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+70
+A8
+C8
+C8
+A8
+70
+00
+ENDCHAR
+
+STARTCHAR ordfeminine
+ENCODING 170
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+30
+50
+30
+00
+70
+00
+00
+00
+ENDCHAR
+
+STARTCHAR guillemotleft
+ENCODING 171
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+50
+A0
+50
+00
+00
+ENDCHAR
+
+STARTCHAR logicalnot
+ENCODING 172
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+00
+70
+10
+10
+00
+ENDCHAR
+
+STARTCHAR hyphen
+ENCODING 173
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+00
+70
+00
+00
+00
+ENDCHAR
+
+STARTCHAR registered
+ENCODING 174
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+70
+E8
+D8
+E8
+D8
+70
+00
+ENDCHAR
+
+STARTCHAR macron
+ENCODING 175
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+70
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR degree
+ENCODING 176
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+20
+50
+20
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR plusminus
+ENCODING 177
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+20
+70
+20
+00
+70
+00
+ENDCHAR
+
+STARTCHAR twosuperior
+ENCODING 178
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+20
+50
+10
+20
+70
+00
+00
+00
+ENDCHAR
+
+STARTCHAR threesuperior
+ENCODING 179
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+60
+10
+60
+10
+60
+00
+00
+00
+ENDCHAR
+
+STARTCHAR Zcaron
+ENCODING 180
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+90
+60
+F0
+20
+40
+80
+F0
+00
+ENDCHAR
+
+STARTCHAR mu
+ENCODING 181
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+90
+90
+90
+E0
+80
+ENDCHAR
+
+STARTCHAR paragraph
+ENCODING 182
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+78
+E8
+E8
+68
+28
+28
+00
+ENDCHAR
+
+STARTCHAR periodcentered
+ENCODING 183
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+00
+20
+00
+00
+00
+ENDCHAR
+
+STARTCHAR zcaron
+ENCODING 184
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+90
+60
+00
+F0
+20
+40
+F0
+00
+ENDCHAR
+
+STARTCHAR onesuperior
+ENCODING 185
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+20
+60
+20
+20
+70
+00
+00
+00
+ENDCHAR
+
+STARTCHAR ordmasculine
+ENCODING 186
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+20
+50
+20
+00
+70
+00
+00
+00
+ENDCHAR
+
+STARTCHAR guillemotright
+ENCODING 187
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+A0
+50
+A0
+00
+00
+ENDCHAR
+
+STARTCHAR OE
+ENCODING 188
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+70
+A0
+B0
+A0
+A0
+70
+00
+ENDCHAR
+
+STARTCHAR oe
+ENCODING 189
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+70
+A8
+B0
+78
+00
+ENDCHAR
+
+STARTCHAR Ydieresis
+ENCODING 190
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+50
+00
+88
+50
+20
+20
+20
+00
+ENDCHAR
+
+STARTCHAR questiondown
+ENCODING 191
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+20
+00
+20
+40
+50
+20
+00
+ENDCHAR
+
+STARTCHAR Agrave
+ENCODING 192
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+40
+20
+60
+90
+F0
+90
+90
+00
+ENDCHAR
+
+STARTCHAR Aacute
+ENCODING 193
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+20
+40
+60
+90
+F0
+90
+90
+00
+ENDCHAR
+
+STARTCHAR Acircumflex
+ENCODING 194
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+60
+90
+60
+90
+F0
+90
+90
+00
+ENDCHAR
+
+STARTCHAR Atilde
+ENCODING 195
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+50
+A0
+60
+90
+F0
+90
+90
+00
+ENDCHAR
+
+STARTCHAR Adieresis
+ENCODING 196
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+90
+00
+60
+90
+F0
+90
+90
+00
+ENDCHAR
+
+STARTCHAR Aring
+ENCODING 197
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+60
+90
+60
+90
+F0
+90
+90
+00
+ENDCHAR
+
+STARTCHAR AE
+ENCODING 198
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+70
+A0
+A0
+F0
+A0
+B0
+00
+ENDCHAR
+
+STARTCHAR Ccedilla
+ENCODING 199
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+60
+90
+80
+80
+90
+60
+40
+ENDCHAR
+
+STARTCHAR Egrave
+ENCODING 200
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+40
+20
+F0
+80
+E0
+80
+F0
+00
+ENDCHAR
+
+STARTCHAR Eacute
+ENCODING 201
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+20
+40
+F0
+80
+E0
+80
+F0
+00
+ENDCHAR
+
+STARTCHAR Ecircumflex
+ENCODING 202
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+60
+90
+F0
+80
+E0
+80
+F0
+00
+ENDCHAR
+
+STARTCHAR Edieresis
+ENCODING 203
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+90
+00
+F0
+80
+E0
+80
+F0
+00
+ENDCHAR
+
+STARTCHAR Igrave
+ENCODING 204
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+40
+20
+70
+20
+20
+20
+70
+00
+ENDCHAR
+
+STARTCHAR Iacute
+ENCODING 205
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+10
+20
+70
+20
+20
+20
+70
+00
+ENDCHAR
+
+STARTCHAR Icircumflex
+ENCODING 206
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+20
+50
+70
+20
+20
+20
+70
+00
+ENDCHAR
+
+STARTCHAR Idieresis
+ENCODING 207
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+50
+00
+70
+20
+20
+20
+70
+00
+ENDCHAR
+
+STARTCHAR Eth
+ENCODING 208
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+70
+48
+E8
+48
+48
+70
+00
+ENDCHAR
+
+STARTCHAR Ntilde
+ENCODING 209
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+50
+A0
+90
+D0
+B0
+90
+90
+00
+ENDCHAR
+
+STARTCHAR Ograve
+ENCODING 210
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+40
+20
+60
+90
+90
+90
+60
+00
+ENDCHAR
+
+STARTCHAR Oacute
+ENCODING 211
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+20
+40
+60
+90
+90
+90
+60
+00
+ENDCHAR
+
+STARTCHAR Ocircumflex
+ENCODING 212
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+60
+90
+60
+90
+90
+90
+60
+00
+ENDCHAR
+
+STARTCHAR Otilde
+ENCODING 213
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+50
+A0
+60
+90
+90
+90
+60
+00
+ENDCHAR
+
+STARTCHAR Odieresis
+ENCODING 214
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+90
+00
+60
+90
+90
+90
+60
+00
+ENDCHAR
+
+STARTCHAR multiply
+ENCODING 215
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+00
+50
+20
+50
+00
+ENDCHAR
+
+STARTCHAR Oslash
+ENCODING 216
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+70
+B0
+B0
+D0
+D0
+E0
+00
+ENDCHAR
+
+STARTCHAR Ugrave
+ENCODING 217
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+40
+20
+90
+90
+90
+90
+60
+00
+ENDCHAR
+
+STARTCHAR Uacute
+ENCODING 218
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+20
+40
+90
+90
+90
+90
+60
+00
+ENDCHAR
+
+STARTCHAR Ucircumflex
+ENCODING 219
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+60
+90
+90
+90
+90
+90
+60
+00
+ENDCHAR
+
+STARTCHAR Udieresis
+ENCODING 220
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+90
+00
+90
+90
+90
+90
+60
+00
+ENDCHAR
+
+STARTCHAR Yacute
+ENCODING 221
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+10
+20
+88
+50
+20
+20
+20
+00
+ENDCHAR
+
+STARTCHAR Thorn
+ENCODING 222
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+80
+E0
+90
+90
+E0
+80
+00
+ENDCHAR
+
+STARTCHAR germandbls
+ENCODING 223
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+60
+90
+A0
+A0
+90
+A0
+00
+ENDCHAR
+
+STARTCHAR agrave
+ENCODING 224
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+40
+20
+00
+70
+90
+90
+70
+00
+ENDCHAR
+
+STARTCHAR aacute
+ENCODING 225
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+20
+40
+00
+70
+90
+90
+70
+00
+ENDCHAR
+
+STARTCHAR acircumflex
+ENCODING 226
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+20
+50
+00
+70
+90
+90
+70
+00
+ENDCHAR
+
+STARTCHAR atilde
+ENCODING 227
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+50
+A0
+00
+70
+90
+90
+70
+00
+ENDCHAR
+
+STARTCHAR adieresis
+ENCODING 228
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+50
+00
+70
+90
+90
+70
+00
+ENDCHAR
+
+STARTCHAR aring
+ENCODING 229
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+60
+90
+60
+70
+90
+90
+70
+00
+ENDCHAR
+
+STARTCHAR ae
+ENCODING 230
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+F0
+68
+B0
+78
+00
+ENDCHAR
+
+STARTCHAR ccedilla
+ENCODING 231
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+30
+40
+40
+30
+20
+ENDCHAR
+
+STARTCHAR egrave
+ENCODING 232
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+40
+20
+00
+60
+B0
+C0
+60
+00
+ENDCHAR
+
+STARTCHAR eacute
+ENCODING 233
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+20
+40
+00
+60
+B0
+C0
+60
+00
+ENDCHAR
+
+STARTCHAR ecircumflex
+ENCODING 234
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+60
+90
+00
+60
+B0
+C0
+60
+00
+ENDCHAR
+
+STARTCHAR edieresis
+ENCODING 235
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+50
+00
+60
+B0
+C0
+60
+00
+ENDCHAR
+
+STARTCHAR igrave
+ENCODING 236
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+40
+20
+00
+60
+20
+20
+70
+00
+ENDCHAR
+
+STARTCHAR iacute
+ENCODING 237
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+10
+20
+00
+60
+20
+20
+70
+00
+ENDCHAR
+
+STARTCHAR icircumflex
+ENCODING 238
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+20
+50
+00
+60
+20
+20
+70
+00
+ENDCHAR
+
+STARTCHAR idieresis
+ENCODING 239
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+50
+00
+60
+20
+20
+70
+00
+ENDCHAR
+
+STARTCHAR eth
+ENCODING 240
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+A0
+40
+A0
+10
+70
+90
+60
+00
+ENDCHAR
+
+STARTCHAR ntilde
+ENCODING 241
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+50
+A0
+00
+E0
+90
+90
+90
+00
+ENDCHAR
+
+STARTCHAR ograve
+ENCODING 242
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+40
+20
+00
+60
+90
+90
+60
+00
+ENDCHAR
+
+STARTCHAR oacute
+ENCODING 243
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+20
+40
+00
+60
+90
+90
+60
+00
+ENDCHAR
+
+STARTCHAR ocircumflex
+ENCODING 244
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+60
+90
+00
+60
+90
+90
+60
+00
+ENDCHAR
+
+STARTCHAR otilde
+ENCODING 245
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+50
+A0
+00
+60
+90
+90
+60
+00
+ENDCHAR
+
+STARTCHAR odieresis
+ENCODING 246
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+90
+00
+60
+90
+90
+60
+00
+ENDCHAR
+
+STARTCHAR divide
+ENCODING 247
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+20
+00
+70
+00
+20
+00
+ENDCHAR
+
+STARTCHAR oslash
+ENCODING 248
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+00
+00
+70
+B0
+D0
+E0
+00
+ENDCHAR
+
+STARTCHAR ugrave
+ENCODING 249
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+40
+20
+00
+90
+90
+90
+70
+00
+ENDCHAR
+
+STARTCHAR uacute
+ENCODING 250
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+20
+40
+00
+90
+90
+90
+70
+00
+ENDCHAR
+
+STARTCHAR ucircumflex
+ENCODING 251
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+60
+90
+00
+90
+90
+90
+70
+00
+ENDCHAR
+
+STARTCHAR udieresis
+ENCODING 252
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+90
+00
+90
+90
+90
+70
+00
+ENDCHAR
+
+STARTCHAR yacute
+ENCODING 253
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+20
+40
+00
+90
+90
+70
+90
+60
+ENDCHAR
+
+STARTCHAR thorn
+ENCODING 254
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+80
+80
+E0
+90
+E0
+80
+80
+ENDCHAR
+
+STARTCHAR ydieresis
+ENCODING 255
+SWIDTH 436 0
+DWIDTH 5 0
+BBX 5 8 0 -1
+BITMAP
+00
+90
+00
+90
+90
+70
+90
+60
+ENDCHAR
+
+ENDFONT
diff --git a/src/gdisp/fonts/fixed_5x8.c b/src/gdisp/fonts/fixed_5x8.c
new file mode 100644
index 00000000..d65d58bf
--- /dev/null
+++ b/src/gdisp/fonts/fixed_5x8.c
@@ -0,0 +1,95 @@
+
+
+/* Start of automatically generated font definition for fixed_5x8. */
+
+#ifndef MF_BWFONT_INTERNALS
+#define MF_BWFONT_INTERNALS
+#endif
+#include "mf_bwfont.h"
+
+#ifndef MF_BWFONT_VERSION_4_SUPPORTED
+#error The font file is not compatible with this version of mcufont.
+#endif
+
+static const uint8_t mf_bwfont_fixed_5x8_glyph_data_0[475] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x14, 
+    0x7f, 0x14, 0x7f, 0x14, 0x04, 0x2a, 0x7f, 0x2a, 0x10, 0x00, 0x16, 0x08, 0x34, 0x00, 0x36, 0x49, 
+    0x36, 0x40, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x00, 0x00, 0x00, 0x42, 0x3c, 
+    0x00, 0x00, 0x54, 0x38, 0x38, 0x54, 0x00, 0x10, 0x10, 0x7c, 0x10, 0x10, 0x00, 0x80, 0x60, 0x20, 
+    0x00, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x40, 0xe0, 0x40, 0x00, 0x60, 0x10, 0x08, 0x06, 0x00, 
+    0x00, 0x3c, 0x42, 0x3c, 0x00, 0x00, 0x44, 0x7e, 0x40, 0x00, 0x64, 0x52, 0x52, 0x4c, 0x00, 0x22, 
+    0x4a, 0x4e, 0x32, 0x00, 0x18, 0x14, 0x7e, 0x10, 0x00, 0x2e, 0x4a, 0x4a, 0x32, 0x00, 0x3c, 0x4a, 
+    0x4a, 0x30, 0x00, 0x02, 0x62, 0x1a, 0x06, 0x00, 0x34, 0x4a, 0x4a, 0x34, 0x00, 0x0c, 0x52, 0x52, 
+    0x3c, 0x00, 0x00, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x80, 0x6c, 0x2c, 0x00, 0x00, 0x18, 0x24, 0x42, 
+    0x00, 0x28, 0x28, 0x28, 0x28, 0x00, 0x00, 0x42, 0x24, 0x18, 0x00, 0x00, 0x04, 0x52, 0x0c, 0x00, 
+    0x3c, 0x42, 0x99, 0xa5, 0x1e, 0x7c, 0x12, 0x12, 0x7c, 0x00, 0x7e, 0x4a, 0x4a, 0x34, 0x00, 0x3c, 
+    0x42, 0x42, 0x24, 0x00, 0x7e, 0x42, 0x42, 0x3c, 0x00, 0x7e, 0x4a, 0x4a, 0x42, 0x00, 0x7e, 0x0a, 
+    0x0a, 0x02, 0x00, 0x3c, 0x42, 0x52, 0x34, 0x00, 0x7e, 0x08, 0x08, 0x7e, 0x00, 0x00, 0x42, 0x7e, 
+    0x42, 0x00, 0x20, 0x42, 0x3e, 0x02, 0x00, 0x7e, 0x08, 0x34, 0x42, 0x00, 0x7e, 0x40, 0x40, 0x40, 
+    0x00, 0x7e, 0x0c, 0x0c, 0x7e, 0x00, 0x7e, 0x0c, 0x38, 0x7e, 0x00, 0x3c, 0x42, 0x42, 0x3c, 0x00, 
+    0x7e, 0x12, 0x12, 0x0c, 0x00, 0x3c, 0x52, 0x62, 0xbc, 0x00, 0x7e, 0x12, 0x12, 0x6c, 0x00, 0x24, 
+    0x4a, 0x52, 0x24, 0x00, 0x00, 0x02, 0x7e, 0x02, 0x00, 0x3e, 0x40, 0x40, 0x3e, 0x00, 0x1e, 0x60, 
+    0x60, 0x1e, 0x00, 0x7e, 0x30, 0x30, 0x7e, 0x00, 0x66, 0x18, 0x18, 0x66, 0x00, 0x06, 0x08, 0x70, 
+    0x08, 0x06, 0x62, 0x52, 0x4a, 0x46, 0x00, 0x00, 0x7e, 0x42, 0x42, 0x00, 0x06, 0x08, 0x10, 0x60, 
+    0x00, 0x00, 0x42, 0x42, 0x7e, 0x00, 0x00, 0x04, 0x02, 0x04, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 
+    0x00, 0x02, 0x04, 0x00, 0x00, 0x30, 0x48, 0x48, 0x78, 0x00, 0x7e, 0x48, 0x48, 0x30, 0x00, 0x00, 
+    0x30, 0x48, 0x48, 0x00, 0x30, 0x48, 0x48, 0x7e, 0x00, 0x30, 0x68, 0x58, 0x10, 0x00, 0x10, 0x7c, 
+    0x12, 0x04, 0x00, 0x10, 0xa8, 0xa8, 0x70, 0x00, 0x7e, 0x08, 0x08, 0x70, 0x00, 0x00, 0x48, 0x7a, 
+    0x40, 0x00, 0x00, 0x40, 0x80, 0x7a, 0x00, 0x7e, 0x10, 0x10, 0x68, 0x00, 0x00, 0x42, 0x7e, 0x40, 
+    0x00, 0x78, 0x08, 0x70, 0x08, 0x70, 0x78, 0x08, 0x08, 0x70, 0x00, 0x30, 0x48, 0x48, 0x30, 0x00, 
+    0xf8, 0x28, 0x28, 0x10, 0x00, 0x10, 0x28, 0x28, 0xf8, 0x00, 0x78, 0x10, 0x08, 0x10, 0x00, 0x00, 
+    0x50, 0x58, 0x28, 0x00, 0x08, 0x3e, 0x48, 0x20, 0x00, 0x38, 0x40, 0x40, 0x78, 0x00, 0x00, 0x38, 
+    0x40, 0x38, 0x00, 0x38, 0x40, 0x30, 0x40, 0x38, 0x48, 0x30, 0x30, 0x48, 0x00, 0x58, 0xa0, 0xa0, 
+    0x78, 0x00, 0x48, 0x68, 0x58, 0x48, 0x00, 0x08, 0x2a, 0x55, 0x41, 0x00, 0x00, 0x00, 0x7e, 0x00, 
+    0x00, 0x41, 0x55, 0x2a, 0x08, 0x00, 0x04, 0x02, 0x04, 0x02, 0x00, 
+};
+
+static const struct mf_bwfont_char_range_s mf_bwfont_fixed_5x8_char_ranges[] = {
+    {
+        32, /* first char */
+        95, /* char count */
+        0, /* offset x */
+        0, /* offset y */
+        1, /* height in bytes */
+        8, /* height in pixels */
+        5, /* width */
+        0, /* glyph widths */
+        0, /* glyph offsets */
+        mf_bwfont_fixed_5x8_glyph_data_0, /* glyph data */
+    },
+};
+
+const struct mf_bwfont_s mf_bwfont_fixed_5x8 = {
+    {
+    "-Misc-Fixed-Medium-R-Normal--8-80-75-75-C-50-ISO8859-15",
+    "fixed_5x8",
+    5, /* width */
+    8, /* height */
+    5, /* min x advance */
+    5, /* max x advance */
+    0, /* baseline x */
+    7, /* baseline y */
+    8, /* line height */
+    3, /* flags */
+    63, /* fallback character */
+    &mf_bwfont_character_width,
+    &mf_bwfont_render_character,
+    },
+    4, /* version */
+    1, /* char range count */
+    mf_bwfont_fixed_5x8_char_ranges,
+};
+
+#ifdef MF_INCLUDED_FONTS
+/* List entry for searching fonts by name. */
+static const struct mf_font_list_s mf_bwfont_fixed_5x8_listentry = {
+    MF_INCLUDED_FONTS,
+    (struct mf_font_s*)&mf_bwfont_fixed_5x8
+};
+#undef MF_INCLUDED_FONTS
+#define MF_INCLUDED_FONTS (&mf_bwfont_fixed_5x8_listentry)
+#endif
+
+
+/* End of automatically generated font definition for fixed_5x8. */
+
diff --git a/src/gdisp/fonts/fixed_7x14.bdf b/src/gdisp/fonts/fixed_7x14.bdf
new file mode 100644
index 00000000..674a5ebd
--- /dev/null
+++ b/src/gdisp/fonts/fixed_7x14.bdf
@@ -0,0 +1,4940 @@
+STARTFONT 2.1
+FONT -Misc-Fixed-Medium-R-Normal--14-130-75-75-C-70-ISO8859-15
+SIZE 14 75 75
+FONTBOUNDINGBOX 7 14 0 -2
+
+STARTPROPERTIES 23
+FONTNAME_REGISTRY ""
+FOUNDRY "Misc"
+FAMILY_NAME "Fixed"
+WEIGHT_NAME "Medium"
+SLANT "R"
+SETWIDTH_NAME "Normal"
+ADD_STYLE_NAME ""
+PIXEL_SIZE 14
+POINT_SIZE 130
+RESOLUTION_X 75
+RESOLUTION_Y 75
+SPACING "C"
+AVERAGE_WIDTH 70
+CHARSET_REGISTRY "ISO8859"
+CHARSET_ENCODING "15"
+COPYRIGHT "Public domain font.  Share and enjoy."
+CAP_HEIGHT 10
+X_HEIGHT 7
+WEIGHT 10
+QUAD_WIDTH 7
+DEFAULT_CHAR 0
+FONT_DESCENT 2
+FONT_ASCENT 12
+ENDPROPERTIES
+
+CHARS 223
+
+STARTCHAR defaultchar
+ENCODING 0
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+B4
+84
+00
+84
+84
+00
+84
+84
+00
+84
+B4
+00
+00
+ENDCHAR
+
+STARTCHAR uni25C6
+ENCODING 1
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+30
+30
+78
+78
+FC
+FC
+78
+78
+30
+30
+00
+00
+ENDCHAR
+
+STARTCHAR shade
+ENCODING 2
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+54
+AA
+54
+AA
+54
+AA
+54
+AA
+54
+AA
+54
+AA
+54
+AA
+ENDCHAR
+
+STARTCHAR uni2409
+ENCODING 3
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+90
+90
+F0
+90
+90
+00
+7C
+10
+10
+10
+10
+00
+00
+ENDCHAR
+
+STARTCHAR uni240C
+ENCODING 4
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+E0
+80
+80
+E0
+80
+9C
+90
+10
+1C
+10
+10
+10
+00
+ENDCHAR
+
+STARTCHAR uni240D
+ENCODING 5
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+70
+80
+80
+80
+70
+00
+38
+24
+24
+38
+24
+24
+00
+ENDCHAR
+
+STARTCHAR uni240A
+ENCODING 6
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+80
+80
+80
+80
+F0
+00
+3C
+20
+38
+20
+20
+00
+00
+ENDCHAR
+
+STARTCHAR degree
+ENCODING 7
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+30
+48
+48
+30
+00
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR plusminus
+ENCODING 8
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+10
+10
+7C
+10
+10
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR uni2424
+ENCODING 9
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+90
+D0
+B0
+90
+90
+20
+20
+20
+20
+3C
+00
+00
+ENDCHAR
+
+STARTCHAR uni240B
+ENCODING 10
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+88
+88
+88
+50
+20
+00
+7C
+10
+10
+10
+10
+10
+00
+ENDCHAR
+
+STARTCHAR SF040000
+ENCODING 11
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+10
+10
+10
+10
+10
+10
+10
+F0
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR SF030000
+ENCODING 12
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+F0
+10
+10
+10
+10
+10
+10
+ENDCHAR
+
+STARTCHAR SF010000
+ENCODING 13
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+1E
+10
+10
+10
+10
+10
+10
+ENDCHAR
+
+STARTCHAR SF020000
+ENCODING 14
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+10
+10
+10
+10
+10
+10
+10
+1E
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR SF050000
+ENCODING 15
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+10
+10
+10
+10
+10
+10
+10
+FE
+10
+10
+10
+10
+10
+10
+ENDCHAR
+
+STARTCHAR uni23BA
+ENCODING 16
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+FE
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR uni23BB
+ENCODING 17
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+FE
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR SF100000
+ENCODING 18
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+FE
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR uni23BC
+ENCODING 19
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+FE
+00
+00
+00
+ENDCHAR
+
+STARTCHAR uni23BD
+ENCODING 20
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+FE
+ENDCHAR
+
+STARTCHAR SF080000
+ENCODING 21
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+10
+10
+10
+10
+10
+10
+10
+1E
+10
+10
+10
+10
+10
+10
+ENDCHAR
+
+STARTCHAR SF090000
+ENCODING 22
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+10
+10
+10
+10
+10
+10
+10
+F0
+10
+10
+10
+10
+10
+10
+ENDCHAR
+
+STARTCHAR SF070000
+ENCODING 23
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+10
+10
+10
+10
+10
+10
+10
+FE
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR SF060000
+ENCODING 24
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+FE
+10
+10
+10
+10
+10
+10
+ENDCHAR
+
+STARTCHAR SF110000
+ENCODING 25
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+10
+10
+10
+10
+10
+10
+10
+10
+10
+10
+10
+10
+10
+10
+ENDCHAR
+
+STARTCHAR lessequal
+ENCODING 26
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+0C
+30
+C0
+30
+0C
+00
+FC
+00
+00
+00
+ENDCHAR
+
+STARTCHAR greaterequal
+ENCODING 27
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+C0
+30
+0C
+30
+C0
+00
+FC
+00
+00
+00
+ENDCHAR
+
+STARTCHAR pi
+ENCODING 28
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+FC
+48
+48
+48
+48
+48
+48
+00
+00
+ENDCHAR
+
+STARTCHAR notequal
+ENCODING 29
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+08
+08
+FC
+10
+10
+FC
+20
+20
+00
+00
+00
+ENDCHAR
+
+STARTCHAR sterling
+ENCODING 30
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+18
+24
+20
+20
+78
+20
+20
+78
+24
+00
+00
+ENDCHAR
+
+STARTCHAR periodcentered
+ENCODING 31
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+10
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR space
+ENCODING 32
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR exclam
+ENCODING 33
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+10
+10
+10
+10
+10
+10
+10
+00
+10
+10
+00
+00
+ENDCHAR
+
+STARTCHAR quotedbl
+ENCODING 34
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+28
+28
+28
+28
+00
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR numbersign
+ENCODING 35
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+28
+28
+28
+7C
+28
+28
+7C
+28
+28
+28
+00
+00
+ENDCHAR
+
+STARTCHAR dollar
+ENCODING 36
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+10
+78
+94
+94
+50
+38
+14
+94
+94
+78
+10
+00
+ENDCHAR
+
+STARTCHAR percent
+ENCODING 37
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+64
+94
+98
+70
+10
+20
+38
+64
+A4
+98
+00
+00
+ENDCHAR
+
+STARTCHAR ampersand
+ENCODING 38
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+30
+48
+48
+48
+30
+64
+94
+88
+98
+64
+00
+00
+ENDCHAR
+
+STARTCHAR quotesingle
+ENCODING 39
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+10
+10
+10
+10
+00
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR parenleft
+ENCODING 40
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+04
+08
+10
+10
+20
+20
+20
+20
+20
+10
+10
+08
+04
+ENDCHAR
+
+STARTCHAR parenright
+ENCODING 41
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+40
+20
+10
+10
+08
+08
+08
+08
+08
+10
+10
+20
+40
+ENDCHAR
+
+STARTCHAR asterisk
+ENCODING 42
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+10
+54
+38
+10
+38
+54
+10
+00
+00
+00
+ENDCHAR
+
+STARTCHAR plus
+ENCODING 43
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+10
+10
+10
+7C
+10
+10
+10
+00
+00
+00
+ENDCHAR
+
+STARTCHAR comma
+ENCODING 44
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+30
+10
+10
+20
+ENDCHAR
+
+STARTCHAR hyphen
+ENCODING 45
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+7C
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR period
+ENCODING 46
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+10
+38
+10
+00
+ENDCHAR
+
+STARTCHAR slash
+ENCODING 47
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+04
+04
+08
+08
+10
+10
+10
+20
+20
+40
+40
+80
+80
+ENDCHAR
+
+STARTCHAR zero
+ENCODING 48
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+30
+48
+84
+84
+84
+84
+84
+84
+48
+30
+00
+00
+ENDCHAR
+
+STARTCHAR one
+ENCODING 49
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+10
+30
+50
+10
+10
+10
+10
+10
+10
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR two
+ENCODING 50
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+78
+84
+84
+04
+08
+08
+10
+20
+40
+FC
+00
+00
+ENDCHAR
+
+STARTCHAR three
+ENCODING 51
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+FC
+04
+08
+10
+38
+04
+04
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR four
+ENCODING 52
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+08
+18
+28
+28
+48
+48
+88
+FC
+08
+08
+00
+00
+ENDCHAR
+
+STARTCHAR five
+ENCODING 53
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+FC
+80
+80
+F8
+84
+04
+04
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR six
+ENCODING 54
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+38
+40
+80
+80
+B8
+C4
+84
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR seven
+ENCODING 55
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+FC
+04
+08
+08
+10
+10
+20
+20
+40
+40
+00
+00
+ENDCHAR
+
+STARTCHAR eight
+ENCODING 56
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+78
+84
+84
+48
+30
+48
+84
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR nine
+ENCODING 57
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+78
+84
+84
+84
+8C
+74
+04
+84
+88
+70
+00
+00
+ENDCHAR
+
+STARTCHAR colon
+ENCODING 58
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+10
+38
+10
+00
+00
+10
+38
+10
+00
+00
+ENDCHAR
+
+STARTCHAR semicolon
+ENCODING 59
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+30
+30
+00
+00
+30
+10
+10
+20
+00
+ENDCHAR
+
+STARTCHAR less
+ENCODING 60
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+04
+08
+10
+20
+40
+20
+10
+08
+04
+00
+00
+ENDCHAR
+
+STARTCHAR equal
+ENCODING 61
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+FC
+00
+00
+FC
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR greater
+ENCODING 62
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+40
+20
+10
+08
+04
+08
+10
+20
+40
+00
+00
+ENDCHAR
+
+STARTCHAR question
+ENCODING 63
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+78
+84
+84
+08
+10
+10
+10
+00
+10
+10
+00
+00
+ENDCHAR
+
+STARTCHAR at
+ENCODING 64
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+38
+44
+9C
+A4
+A4
+A4
+A4
+9C
+40
+3C
+00
+00
+ENDCHAR
+
+STARTCHAR A
+ENCODING 65
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+30
+48
+84
+84
+84
+FC
+84
+84
+84
+84
+00
+00
+ENDCHAR
+
+STARTCHAR B
+ENCODING 66
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+F0
+88
+84
+88
+F0
+88
+84
+84
+88
+F0
+00
+00
+ENDCHAR
+
+STARTCHAR C
+ENCODING 67
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+78
+84
+84
+80
+80
+80
+80
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR D
+ENCODING 68
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+F0
+88
+84
+84
+84
+84
+84
+84
+88
+F0
+00
+00
+ENDCHAR
+
+STARTCHAR E
+ENCODING 69
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+FC
+80
+80
+80
+F0
+80
+80
+80
+80
+FC
+00
+00
+ENDCHAR
+
+STARTCHAR F
+ENCODING 70
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+FC
+80
+80
+80
+F0
+80
+80
+80
+80
+80
+00
+00
+ENDCHAR
+
+STARTCHAR G
+ENCODING 71
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+78
+84
+84
+80
+80
+9C
+84
+84
+8C
+74
+00
+00
+ENDCHAR
+
+STARTCHAR H
+ENCODING 72
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+84
+84
+84
+84
+FC
+84
+84
+84
+84
+84
+00
+00
+ENDCHAR
+
+STARTCHAR I
+ENCODING 73
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+7C
+10
+10
+10
+10
+10
+10
+10
+10
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR J
+ENCODING 74
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+1C
+08
+08
+08
+08
+08
+08
+88
+88
+70
+00
+00
+ENDCHAR
+
+STARTCHAR K
+ENCODING 75
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+84
+88
+90
+A0
+C0
+A0
+90
+88
+84
+84
+00
+00
+ENDCHAR
+
+STARTCHAR L
+ENCODING 76
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+80
+80
+80
+80
+80
+80
+80
+80
+80
+FC
+00
+00
+ENDCHAR
+
+STARTCHAR M
+ENCODING 77
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+84
+CC
+CC
+B4
+B4
+84
+84
+84
+84
+84
+00
+00
+ENDCHAR
+
+STARTCHAR N
+ENCODING 78
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+84
+84
+C4
+C4
+A4
+94
+8C
+8C
+84
+84
+00
+00
+ENDCHAR
+
+STARTCHAR O
+ENCODING 79
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+78
+84
+84
+84
+84
+84
+84
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR P
+ENCODING 80
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+F8
+84
+84
+84
+84
+F8
+80
+80
+80
+80
+00
+00
+ENDCHAR
+
+STARTCHAR Q
+ENCODING 81
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+78
+84
+84
+84
+84
+84
+E4
+94
+8C
+78
+08
+04
+ENDCHAR
+
+STARTCHAR R
+ENCODING 82
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+F8
+84
+84
+84
+84
+F8
+90
+88
+84
+84
+00
+00
+ENDCHAR
+
+STARTCHAR S
+ENCODING 83
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+78
+84
+84
+80
+60
+18
+04
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR T
+ENCODING 84
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+FE
+10
+10
+10
+10
+10
+10
+10
+10
+10
+00
+00
+ENDCHAR
+
+STARTCHAR U
+ENCODING 85
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+84
+84
+84
+84
+84
+84
+84
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR V
+ENCODING 86
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+84
+84
+84
+84
+48
+48
+48
+30
+30
+30
+00
+00
+ENDCHAR
+
+STARTCHAR W
+ENCODING 87
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+44
+44
+44
+44
+44
+44
+54
+54
+54
+28
+00
+00
+ENDCHAR
+
+STARTCHAR X
+ENCODING 88
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+84
+84
+48
+48
+30
+30
+48
+48
+84
+84
+00
+00
+ENDCHAR
+
+STARTCHAR Y
+ENCODING 89
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+44
+44
+44
+28
+28
+10
+10
+10
+10
+10
+00
+00
+ENDCHAR
+
+STARTCHAR Z
+ENCODING 90
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+FC
+04
+08
+10
+10
+20
+40
+40
+80
+FC
+00
+00
+ENDCHAR
+
+STARTCHAR bracketleft
+ENCODING 91
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+3C
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+20
+3C
+ENDCHAR
+
+STARTCHAR backslash
+ENCODING 92
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+80
+80
+40
+40
+20
+20
+20
+10
+10
+08
+08
+04
+04
+ENDCHAR
+
+STARTCHAR bracketright
+ENCODING 93
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+78
+08
+08
+08
+08
+08
+08
+08
+08
+08
+08
+08
+78
+ENDCHAR
+
+STARTCHAR asciicircum
+ENCODING 94
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+30
+48
+84
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR underscore
+ENCODING 95
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+FC
+ENDCHAR
+
+STARTCHAR grave
+ENCODING 96
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+20
+10
+08
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR a
+ENCODING 97
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+78
+84
+04
+7C
+84
+84
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR b
+ENCODING 98
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+80
+80
+80
+B8
+C4
+84
+84
+84
+C4
+B8
+00
+00
+ENDCHAR
+
+STARTCHAR c
+ENCODING 99
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+78
+84
+80
+80
+80
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR d
+ENCODING 100
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+04
+04
+04
+74
+8C
+84
+84
+84
+8C
+74
+00
+00
+ENDCHAR
+
+STARTCHAR e
+ENCODING 101
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+78
+84
+84
+FC
+80
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR f
+ENCODING 102
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+18
+24
+20
+20
+F8
+20
+20
+20
+20
+20
+00
+00
+ENDCHAR
+
+STARTCHAR g
+ENCODING 103
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+74
+88
+88
+88
+70
+40
+B8
+84
+78
+ENDCHAR
+
+STARTCHAR h
+ENCODING 104
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+80
+80
+80
+B8
+C4
+84
+84
+84
+84
+84
+00
+00
+ENDCHAR
+
+STARTCHAR i
+ENCODING 105
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+10
+10
+00
+30
+10
+10
+10
+10
+10
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR j
+ENCODING 106
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+04
+04
+00
+0C
+04
+04
+04
+04
+04
+44
+44
+38
+ENDCHAR
+
+STARTCHAR k
+ENCODING 107
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+80
+80
+80
+88
+90
+A0
+E0
+90
+88
+84
+00
+00
+ENDCHAR
+
+STARTCHAR l
+ENCODING 108
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+30
+10
+10
+10
+10
+10
+10
+10
+10
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR m
+ENCODING 109
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+68
+54
+54
+54
+54
+54
+44
+00
+00
+ENDCHAR
+
+STARTCHAR n
+ENCODING 110
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+B8
+C4
+84
+84
+84
+84
+84
+00
+00
+ENDCHAR
+
+STARTCHAR o
+ENCODING 111
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+78
+84
+84
+84
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR p
+ENCODING 112
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+B8
+C4
+84
+84
+84
+C4
+B8
+80
+80
+ENDCHAR
+
+STARTCHAR q
+ENCODING 113
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+74
+8C
+84
+84
+84
+8C
+74
+04
+04
+ENDCHAR
+
+STARTCHAR r
+ENCODING 114
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+B8
+C4
+84
+80
+80
+80
+80
+00
+00
+ENDCHAR
+
+STARTCHAR s
+ENCODING 115
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+78
+84
+40
+30
+08
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR t
+ENCODING 116
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+20
+20
+20
+F8
+20
+20
+20
+20
+24
+18
+00
+00
+ENDCHAR
+
+STARTCHAR u
+ENCODING 117
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+84
+84
+84
+84
+84
+8C
+74
+00
+00
+ENDCHAR
+
+STARTCHAR v
+ENCODING 118
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+44
+44
+44
+28
+28
+10
+10
+00
+00
+ENDCHAR
+
+STARTCHAR w
+ENCODING 119
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+44
+44
+54
+54
+54
+54
+28
+00
+00
+ENDCHAR
+
+STARTCHAR x
+ENCODING 120
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+84
+84
+48
+30
+48
+84
+84
+00
+00
+ENDCHAR
+
+STARTCHAR y
+ENCODING 121
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+84
+84
+84
+84
+8C
+74
+04
+84
+78
+ENDCHAR
+
+STARTCHAR z
+ENCODING 122
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+FC
+08
+10
+20
+20
+40
+FC
+00
+00
+ENDCHAR
+
+STARTCHAR braceleft
+ENCODING 123
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+0C
+10
+10
+10
+10
+10
+20
+10
+10
+10
+10
+10
+0C
+ENDCHAR
+
+STARTCHAR bar
+ENCODING 124
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+10
+10
+10
+10
+10
+10
+10
+10
+10
+10
+10
+10
+10
+ENDCHAR
+
+STARTCHAR braceright
+ENCODING 125
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+60
+10
+10
+10
+10
+10
+08
+10
+10
+10
+10
+10
+60
+ENDCHAR
+
+STARTCHAR asciitilde
+ENCODING 126
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+40
+A4
+94
+08
+00
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR space
+ENCODING 160
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR exclamdown
+ENCODING 161
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+10
+10
+00
+10
+10
+10
+10
+10
+10
+10
+00
+00
+ENDCHAR
+
+STARTCHAR cent
+ENCODING 162
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+20
+78
+A4
+A0
+A0
+A0
+A4
+78
+20
+00
+ENDCHAR
+
+STARTCHAR sterling
+ENCODING 163
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+18
+24
+20
+20
+78
+20
+20
+78
+24
+00
+00
+ENDCHAR
+
+STARTCHAR Euro
+ENCODING 164
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+38
+44
+40
+E0
+40
+E0
+40
+44
+38
+00
+00
+ENDCHAR
+
+STARTCHAR yen
+ENCODING 165
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+44
+28
+28
+10
+7C
+10
+7C
+10
+10
+10
+00
+00
+ENDCHAR
+
+STARTCHAR Scaron
+ENCODING 166
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+48
+30
+00
+78
+84
+84
+60
+18
+04
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR section
+ENCODING 167
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+78
+84
+40
+30
+48
+84
+48
+30
+08
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR scaron
+ENCODING 168
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+48
+30
+00
+78
+84
+40
+30
+08
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR copyright
+ENCODING 169
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+78
+84
+B4
+CC
+C4
+C4
+C4
+CC
+B4
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR ordfeminine
+ENCODING 170
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+38
+44
+3C
+44
+4C
+34
+00
+7C
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR guillemotleft
+ENCODING 171
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+14
+28
+50
+A0
+50
+28
+14
+00
+00
+ENDCHAR
+
+STARTCHAR logicalnot
+ENCODING 172
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+7C
+04
+04
+04
+00
+00
+ENDCHAR
+
+STARTCHAR hyphen
+ENCODING 173
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+78
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR registered
+ENCODING 174
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+78
+84
+F4
+CC
+CC
+F4
+CC
+CC
+CC
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR macron
+ENCODING 175
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+7C
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR degree
+ENCODING 176
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+30
+48
+48
+30
+00
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR plusminus
+ENCODING 177
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+10
+10
+7C
+10
+10
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR twosuperior
+ENCODING 178
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+30
+48
+08
+10
+20
+40
+78
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR threesuperior
+ENCODING 179
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+30
+48
+08
+30
+08
+48
+30
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR Zcaron
+ENCODING 180
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+48
+30
+00
+FC
+08
+10
+10
+20
+40
+40
+80
+FC
+00
+00
+ENDCHAR
+
+STARTCHAR mu
+ENCODING 181
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+44
+44
+44
+44
+6C
+54
+40
+40
+ENDCHAR
+
+STARTCHAR paragraph
+ENCODING 182
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+3C
+54
+54
+54
+54
+34
+14
+14
+14
+14
+14
+1C
+ENDCHAR
+
+STARTCHAR periodcentered
+ENCODING 183
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+10
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR zcaron
+ENCODING 184
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+48
+30
+00
+FC
+08
+10
+20
+20
+40
+FC
+00
+00
+ENDCHAR
+
+STARTCHAR onesuperior
+ENCODING 185
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+10
+30
+10
+10
+10
+10
+38
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR ordmasculine
+ENCODING 186
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+30
+48
+48
+30
+00
+78
+00
+00
+00
+00
+00
+00
+ENDCHAR
+
+STARTCHAR guillemotright
+ENCODING 187
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+A0
+50
+28
+14
+28
+50
+A0
+00
+00
+ENDCHAR
+
+STARTCHAR OE
+ENCODING 188
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+7C
+90
+90
+90
+9C
+90
+90
+90
+90
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR oe
+ENCODING 189
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+78
+94
+94
+9C
+90
+90
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR Ydieresis
+ENCODING 190
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+28
+28
+00
+44
+44
+28
+28
+10
+10
+10
+10
+10
+00
+00
+ENDCHAR
+
+STARTCHAR questiondown
+ENCODING 191
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+20
+20
+00
+20
+20
+20
+20
+40
+84
+84
+78
+ENDCHAR
+
+STARTCHAR Agrave
+ENCODING 192
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+20
+10
+00
+30
+48
+84
+84
+FC
+84
+84
+84
+84
+00
+00
+ENDCHAR
+
+STARTCHAR Aacute
+ENCODING 193
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+10
+20
+00
+30
+48
+84
+84
+FC
+84
+84
+84
+84
+00
+00
+ENDCHAR
+
+STARTCHAR Acircumflex
+ENCODING 194
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+30
+48
+00
+30
+48
+84
+84
+FC
+84
+84
+84
+84
+00
+00
+ENDCHAR
+
+STARTCHAR Atilde
+ENCODING 195
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+64
+98
+00
+30
+48
+84
+84
+FC
+84
+84
+84
+84
+00
+00
+ENDCHAR
+
+STARTCHAR Adieresis
+ENCODING 196
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+48
+00
+30
+48
+84
+84
+FC
+84
+84
+84
+84
+00
+00
+ENDCHAR
+
+STARTCHAR Aring
+ENCODING 197
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+30
+48
+30
+48
+84
+84
+FC
+84
+84
+84
+84
+00
+00
+ENDCHAR
+
+STARTCHAR AE
+ENCODING 198
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+3C
+50
+90
+90
+FC
+90
+90
+90
+90
+9C
+00
+00
+ENDCHAR
+
+STARTCHAR Ccedilla
+ENCODING 199
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+78
+84
+84
+80
+80
+80
+80
+84
+84
+78
+10
+20
+ENDCHAR
+
+STARTCHAR Egrave
+ENCODING 200
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+20
+10
+00
+FC
+80
+80
+80
+F8
+80
+80
+80
+FC
+00
+00
+ENDCHAR
+
+STARTCHAR Eacute
+ENCODING 201
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+10
+20
+00
+FC
+80
+80
+80
+F8
+80
+80
+80
+FC
+00
+00
+ENDCHAR
+
+STARTCHAR Ecircumflex
+ENCODING 202
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+30
+48
+00
+FC
+80
+80
+80
+F8
+80
+80
+80
+FC
+00
+00
+ENDCHAR
+
+STARTCHAR Edieresis
+ENCODING 203
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+48
+00
+FC
+80
+80
+80
+F8
+80
+80
+80
+FC
+00
+00
+ENDCHAR
+
+STARTCHAR Igrave
+ENCODING 204
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+20
+10
+00
+7C
+10
+10
+10
+10
+10
+10
+10
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR Iacute
+ENCODING 205
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+08
+10
+00
+7C
+10
+10
+10
+10
+10
+10
+10
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR Icircumflex
+ENCODING 206
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+10
+28
+00
+7C
+10
+10
+10
+10
+10
+10
+10
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR Idieresis
+ENCODING 207
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+28
+00
+7C
+10
+10
+10
+10
+10
+10
+10
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR Eth
+ENCODING 208
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+78
+44
+42
+42
+F2
+42
+42
+42
+44
+78
+00
+00
+ENDCHAR
+
+STARTCHAR Ntilde
+ENCODING 209
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+64
+98
+00
+C4
+C4
+A4
+A4
+94
+94
+94
+8C
+8C
+00
+00
+ENDCHAR
+
+STARTCHAR Ograve
+ENCODING 210
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+20
+10
+00
+78
+84
+84
+84
+84
+84
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR Oacute
+ENCODING 211
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+10
+20
+00
+78
+84
+84
+84
+84
+84
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR Ocircumflex
+ENCODING 212
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+30
+48
+00
+78
+84
+84
+84
+84
+84
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR Otilde
+ENCODING 213
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+64
+98
+00
+78
+84
+84
+84
+84
+84
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR Odieresis
+ENCODING 214
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+48
+00
+78
+84
+84
+84
+84
+84
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR multiply
+ENCODING 215
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+82
+44
+28
+10
+28
+44
+82
+00
+00
+ENDCHAR
+
+STARTCHAR Oslash
+ENCODING 216
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+04
+04
+78
+8C
+94
+94
+94
+A4
+A4
+A4
+C4
+78
+80
+80
+ENDCHAR
+
+STARTCHAR Ugrave
+ENCODING 217
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+20
+10
+00
+84
+84
+84
+84
+84
+84
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR Uacute
+ENCODING 218
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+10
+20
+00
+84
+84
+84
+84
+84
+84
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR Ucircumflex
+ENCODING 219
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+30
+48
+00
+84
+84
+84
+84
+84
+84
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR Udieresis
+ENCODING 220
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+48
+00
+84
+84
+84
+84
+84
+84
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR Yacute
+ENCODING 221
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+08
+10
+00
+44
+44
+28
+28
+10
+10
+10
+10
+10
+00
+00
+ENDCHAR
+
+STARTCHAR Thorn
+ENCODING 222
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+80
+80
+F8
+84
+84
+84
+84
+F8
+80
+80
+00
+00
+ENDCHAR
+
+STARTCHAR germandbls
+ENCODING 223
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+30
+48
+48
+48
+70
+48
+44
+44
+44
+F8
+00
+00
+ENDCHAR
+
+STARTCHAR agrave
+ENCODING 224
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+20
+10
+00
+78
+84
+04
+7C
+84
+84
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR aacute
+ENCODING 225
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+08
+10
+00
+78
+84
+04
+7C
+84
+84
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR acircumflex
+ENCODING 226
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+30
+48
+00
+78
+84
+04
+7C
+84
+84
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR atilde
+ENCODING 227
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+64
+98
+00
+78
+84
+04
+7C
+84
+84
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR adieresis
+ENCODING 228
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+48
+00
+78
+84
+04
+7C
+84
+84
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR aring
+ENCODING 229
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+30
+48
+30
+00
+78
+84
+04
+7C
+84
+84
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR ae
+ENCODING 230
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+7C
+92
+32
+5E
+90
+92
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR ccedilla
+ENCODING 231
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+78
+84
+80
+80
+80
+84
+78
+10
+20
+ENDCHAR
+
+STARTCHAR egrave
+ENCODING 232
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+20
+10
+00
+78
+84
+84
+FC
+80
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR eacute
+ENCODING 233
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+10
+20
+00
+78
+84
+84
+FC
+80
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR ecircumflex
+ENCODING 234
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+30
+48
+00
+78
+84
+84
+FC
+80
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR edieresis
+ENCODING 235
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+48
+00
+78
+84
+84
+FC
+80
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR igrave
+ENCODING 236
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+20
+10
+00
+30
+10
+10
+10
+10
+10
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR iacute
+ENCODING 237
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+08
+10
+00
+30
+10
+10
+10
+10
+10
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR icircumflex
+ENCODING 238
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+30
+48
+00
+30
+10
+10
+10
+10
+10
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR idieresis
+ENCODING 239
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+28
+00
+30
+10
+10
+10
+10
+10
+7C
+00
+00
+ENDCHAR
+
+STARTCHAR eth
+ENCODING 240
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+28
+10
+28
+04
+3C
+44
+44
+44
+44
+44
+38
+00
+00
+ENDCHAR
+
+STARTCHAR ntilde
+ENCODING 241
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+64
+98
+00
+B8
+C4
+84
+84
+84
+84
+84
+00
+00
+ENDCHAR
+
+STARTCHAR ograve
+ENCODING 242
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+20
+10
+00
+78
+84
+84
+84
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR oacute
+ENCODING 243
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+10
+20
+00
+78
+84
+84
+84
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR ocircumflex
+ENCODING 244
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+30
+48
+00
+78
+84
+84
+84
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR otilde
+ENCODING 245
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+64
+98
+00
+78
+84
+84
+84
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR odieresis
+ENCODING 246
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+48
+00
+78
+84
+84
+84
+84
+84
+78
+00
+00
+ENDCHAR
+
+STARTCHAR divide
+ENCODING 247
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+30
+00
+FC
+00
+30
+00
+00
+ENDCHAR
+
+STARTCHAR oslash
+ENCODING 248
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+04
+08
+78
+94
+94
+A4
+A4
+C4
+78
+80
+80
+ENDCHAR
+
+STARTCHAR ugrave
+ENCODING 249
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+20
+10
+00
+84
+84
+84
+84
+84
+8C
+74
+00
+00
+ENDCHAR
+
+STARTCHAR uacute
+ENCODING 250
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+10
+20
+00
+84
+84
+84
+84
+84
+8C
+74
+00
+00
+ENDCHAR
+
+STARTCHAR ucircumflex
+ENCODING 251
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+30
+48
+00
+84
+84
+84
+84
+84
+8C
+74
+00
+00
+ENDCHAR
+
+STARTCHAR udieresis
+ENCODING 252
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+48
+00
+84
+84
+84
+84
+84
+8C
+74
+00
+00
+ENDCHAR
+
+STARTCHAR yacute
+ENCODING 253
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+10
+20
+00
+84
+84
+44
+48
+28
+38
+10
+90
+60
+ENDCHAR
+
+STARTCHAR thorn
+ENCODING 254
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+80
+80
+80
+B8
+C4
+84
+84
+84
+C4
+B8
+80
+80
+ENDCHAR
+
+STARTCHAR ydieresis
+ENCODING 255
+SWIDTH 960 0
+DWIDTH 7 0
+BBX 7 14 0 -2
+BITMAP
+00
+00
+00
+48
+00
+84
+84
+44
+48
+28
+38
+10
+90
+60
+ENDCHAR
+
+ENDFONT
diff --git a/src/gdisp/fonts/fixed_7x14.c b/src/gdisp/fonts/fixed_7x14.c
new file mode 100644
index 00000000..28b05608
--- /dev/null
+++ b/src/gdisp/fonts/fixed_7x14.c
@@ -0,0 +1,149 @@
+
+
+/* Start of automatically generated font definition for fixed_7x14. */
+
+#ifndef MF_BWFONT_INTERNALS
+#define MF_BWFONT_INTERNALS
+#endif
+#include "mf_bwfont.h"
+
+#ifndef MF_BWFONT_VERSION_4_SUPPORTED
+#error The font file is not compatible with this version of mcufont.
+#endif
+
+static const uint8_t mf_bwfont_fixed_7x14_glyph_data_0[1330] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0xfe, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0xfe, 0x07, 
+    0x90, 0x00, 0xfe, 0x07, 0x90, 0x00, 0x00, 0x00, 0x18, 0x03, 0x24, 0x04, 0x44, 0x04, 0xfe, 0x0f, 
+    0x44, 0x04, 0x98, 0x03, 0x00, 0x00, 0x0c, 0x06, 0x12, 0x01, 0xd2, 0x03, 0xbc, 0x04, 0x88, 0x04, 
+    0x06, 0x03, 0x00, 0x00, 0x80, 0x03, 0x5c, 0x04, 0x62, 0x04, 0xa2, 0x02, 0x1c, 0x03, 0xc0, 0x04, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x0c, 0x06, 0x02, 0x08, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 
+    0x01, 0x10, 0x02, 0x08, 0x0c, 0x06, 0xf0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 
+    0xa0, 0x00, 0xf8, 0x03, 0xa0, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 
+    0xf8, 0x03, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x0e, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 
+    0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x0e, 0x00, 0x04, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x18, 0x00, 0x06, 0x80, 0x01, 0x70, 0x00, 0x0c, 0x00, 0x03, 0x00, 0x00, 0x00, 
+    0xf8, 0x01, 0x04, 0x02, 0x02, 0x04, 0x02, 0x04, 0x04, 0x02, 0xf8, 0x01, 0x00, 0x00, 0x00, 0x00, 
+    0x08, 0x04, 0x04, 0x04, 0xfe, 0x07, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x0c, 0x04, 0x02, 0x06, 
+    0x02, 0x05, 0x82, 0x04, 0x62, 0x04, 0x1c, 0x04, 0x00, 0x00, 0x02, 0x03, 0x02, 0x04, 0x22, 0x04, 
+    0x32, 0x04, 0x2a, 0x04, 0xc6, 0x03, 0x00, 0x00, 0x80, 0x01, 0x60, 0x01, 0x18, 0x01, 0x04, 0x01, 
+    0xfe, 0x07, 0x00, 0x01, 0x00, 0x00, 0x3e, 0x03, 0x12, 0x04, 0x12, 0x04, 0x12, 0x04, 0x12, 0x04, 
+    0xe2, 0x03, 0x00, 0x00, 0xf8, 0x03, 0x44, 0x04, 0x22, 0x04, 0x22, 0x04, 0x22, 0x04, 0xc0, 0x03, 
+    0x00, 0x00, 0x02, 0x00, 0x02, 0x06, 0x82, 0x01, 0x62, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x00, 0x00, 
+    0x8c, 0x03, 0x52, 0x04, 0x22, 0x04, 0x22, 0x04, 0x52, 0x04, 0x8c, 0x03, 0x00, 0x00, 0x3c, 0x03, 
+    0x42, 0x04, 0x42, 0x04, 0x42, 0x04, 0x22, 0x02, 0xfc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x10, 0x02, 0x38, 0x07, 0x10, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x09, 
+    0x30, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0xa0, 0x00, 0x10, 0x01, 
+    0x08, 0x02, 0x04, 0x04, 0x00, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 0x90, 0x00, 
+    0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x08, 0x02, 0x10, 0x01, 0xa0, 0x00, 0x40, 0x00, 
+    0x00, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x02, 0x00, 0xe2, 0x06, 0x12, 0x00, 0x0c, 0x00, 0x00, 0x00, 
+    0xf8, 0x01, 0x04, 0x02, 0xf2, 0x04, 0x0a, 0x05, 0x0a, 0x05, 0xfc, 0x05, 0x00, 0x00, 0xf8, 0x07, 
+    0x44, 0x00, 0x42, 0x00, 0x42, 0x00, 0x44, 0x00, 0xf8, 0x07, 0x00, 0x00, 0xfe, 0x07, 0x22, 0x04, 
+    0x22, 0x04, 0x22, 0x04, 0x54, 0x02, 0x88, 0x01, 0x00, 0x00, 0xfc, 0x03, 0x02, 0x04, 0x02, 0x04, 
+    0x02, 0x04, 0x02, 0x04, 0x0c, 0x03, 0x00, 0x00, 0xfe, 0x07, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 
+    0x04, 0x02, 0xf8, 0x01, 0x00, 0x00, 0xfe, 0x07, 0x22, 0x04, 0x22, 0x04, 0x22, 0x04, 0x02, 0x04, 
+    0x02, 0x04, 0x00, 0x00, 0xfe, 0x07, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x02, 0x00, 0x02, 0x00, 
+    0x00, 0x00, 0xfc, 0x03, 0x02, 0x04, 0x02, 0x04, 0x42, 0x04, 0x42, 0x02, 0xcc, 0x07, 0x00, 0x00, 
+    0xfe, 0x07, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00, 
+    0x02, 0x04, 0x02, 0x04, 0xfe, 0x07, 0x02, 0x04, 0x02, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x04, 
+    0x00, 0x04, 0x02, 0x04, 0xfe, 0x03, 0x02, 0x00, 0x00, 0x00, 0xfe, 0x07, 0x20, 0x00, 0x50, 0x00, 
+    0x88, 0x00, 0x04, 0x01, 0x02, 0x06, 0x00, 0x00, 0xfe, 0x07, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 
+    0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0xfe, 0x07, 0x0c, 0x00, 0x30, 0x00, 0x30, 0x00, 0x0c, 0x00, 
+    0xfe, 0x07, 0x00, 0x00, 0xfe, 0x07, 0x18, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x01, 0xfe, 0x07, 
+    0x00, 0x00, 0xfc, 0x03, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0xfc, 0x03, 0x00, 0x00, 
+    0xfe, 0x07, 0x42, 0x00, 0x42, 0x00, 0x42, 0x00, 0x42, 0x00, 0x3c, 0x00, 0x00, 0x00, 0xfc, 0x03, 
+    0x82, 0x04, 0x82, 0x04, 0x02, 0x05, 0x02, 0x0e, 0xfc, 0x13, 0x00, 0x00, 0xfe, 0x07, 0x42, 0x00, 
+    0x42, 0x00, 0xc2, 0x00, 0x42, 0x01, 0x3c, 0x06, 0x00, 0x00, 0x1c, 0x03, 0x22, 0x04, 0x22, 0x04, 
+    0x42, 0x04, 0x42, 0x04, 0x8c, 0x03, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xfe, 0x07, 
+    0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xfe, 0x03, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 
+    0xfe, 0x03, 0x00, 0x00, 0x1e, 0x00, 0xe0, 0x00, 0x00, 0x07, 0x00, 0x07, 0xe0, 0x00, 0x1e, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x04, 0x80, 0x03, 0x00, 0x04, 0xfe, 0x03, 0x00, 0x00, 
+    0x06, 0x06, 0x98, 0x01, 0x60, 0x00, 0x60, 0x00, 0x98, 0x01, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 
+    0x0e, 0x00, 0x30, 0x00, 0xc0, 0x07, 0x30, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x02, 0x06, 0x82, 0x05, 
+    0x42, 0x04, 0x32, 0x04, 0x0a, 0x04, 0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x1f, 
+    0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x00, 0x00, 0x03, 0x00, 0x0c, 0x00, 0x70, 0x00, 0x80, 0x01, 
+    0x00, 0x06, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0xff, 0x1f, 
+    0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 
+    0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x03, 
+    0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 0xe0, 0x07, 0x00, 0x00, 0xfe, 0x07, 0x20, 0x02, 
+    0x10, 0x04, 0x10, 0x04, 0x10, 0x04, 0xe0, 0x03, 0x00, 0x00, 0xe0, 0x03, 0x10, 0x04, 0x10, 0x04, 
+    0x10, 0x04, 0x10, 0x04, 0x20, 0x02, 0x00, 0x00, 0xe0, 0x03, 0x10, 0x04, 0x10, 0x04, 0x10, 0x04, 
+    0x20, 0x02, 0xfe, 0x07, 0x00, 0x00, 0xe0, 0x03, 0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 
+    0xe0, 0x02, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0xfc, 0x07, 0x22, 0x00, 0x22, 0x00, 0x04, 0x00, 
+    0x00, 0x00, 0xe0, 0x0c, 0x10, 0x13, 0x10, 0x15, 0x10, 0x15, 0xe0, 0x14, 0x10, 0x08, 0x00, 0x00, 
+    0xfe, 0x07, 0x20, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x04, 0x10, 0x04, 0xf6, 0x07, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 
+    0x00, 0x10, 0x00, 0x10, 0x10, 0x10, 0xf6, 0x0f, 0x00, 0x00, 0xfe, 0x07, 0x80, 0x00, 0xc0, 0x00, 
+    0x20, 0x01, 0x10, 0x02, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x04, 0xfe, 0x07, 
+    0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x10, 0x00, 0xe0, 0x03, 0x10, 0x00, 
+    0xe0, 0x07, 0x00, 0x00, 0xf0, 0x07, 0x20, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0xe0, 0x07, 
+    0x00, 0x00, 0xe0, 0x03, 0x10, 0x04, 0x10, 0x04, 0x10, 0x04, 0x10, 0x04, 0xe0, 0x03, 0x00, 0x00, 
+    0xf0, 0x1f, 0x20, 0x02, 0x10, 0x04, 0x10, 0x04, 0x10, 0x04, 0xe0, 0x03, 0x00, 0x00, 0xe0, 0x03, 
+    0x10, 0x04, 0x10, 0x04, 0x10, 0x04, 0x20, 0x02, 0xf0, 0x1f, 0x00, 0x00, 0xf0, 0x07, 0x20, 0x00, 
+    0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x60, 0x00, 0x00, 0x00, 0x20, 0x02, 0x50, 0x04, 0x90, 0x04, 
+    0x90, 0x04, 0x10, 0x05, 0x20, 0x02, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0xfe, 0x03, 0x10, 0x04, 
+    0x10, 0x04, 0x00, 0x02, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x02, 
+    0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x80, 0x01, 0x00, 0x06, 0x80, 0x01, 0x70, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x04, 0xc0, 0x03, 0x00, 0x04, 0xf0, 0x03, 0x00, 0x00, 
+    0x30, 0x06, 0x40, 0x01, 0x80, 0x00, 0x80, 0x00, 0x40, 0x01, 0x30, 0x06, 0x00, 0x00, 0xf0, 0x09, 
+    0x00, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00, 0x11, 0xf0, 0x0f, 0x00, 0x00, 0x10, 0x04, 0x10, 0x06, 
+    0x90, 0x05, 0x50, 0x04, 0x30, 0x04, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 
+    0xbe, 0x0f, 0x01, 0x10, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x1f, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x01, 0x10, 0xbe, 0x0f, 0x40, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00, 0x06, 0x00, 
+    0x00, 0x00, 
+};
+
+static const struct mf_bwfont_char_range_s mf_bwfont_fixed_7x14_char_ranges[] = {
+    {
+        32, /* first char */
+        95, /* char count */
+        0, /* offset x */
+        0, /* offset y */
+        2, /* height in bytes */
+        13, /* height in pixels */
+        7, /* width */
+        0, /* glyph widths */
+        0, /* glyph offsets */
+        mf_bwfont_fixed_7x14_glyph_data_0, /* glyph data */
+    },
+};
+
+const struct mf_bwfont_s mf_bwfont_fixed_7x14 = {
+    {
+    "-Misc-Fixed-Medium-R-Normal--14-130-75-75-C-70-ISO8859-15",
+    "fixed_7x14",
+    7, /* width */
+    13, /* height */
+    7, /* min x advance */
+    7, /* max x advance */
+    0, /* baseline x */
+    11, /* baseline y */
+    14, /* line height */
+    3, /* flags */
+    63, /* fallback character */
+    &mf_bwfont_character_width,
+    &mf_bwfont_render_character,
+    },
+    4, /* version */
+    1, /* char range count */
+    mf_bwfont_fixed_7x14_char_ranges,
+};
+
+#ifdef MF_INCLUDED_FONTS
+/* List entry for searching fonts by name. */
+static const struct mf_font_list_s mf_bwfont_fixed_7x14_listentry = {
+    MF_INCLUDED_FONTS,
+    (struct mf_font_s*)&mf_bwfont_fixed_7x14
+};
+#undef MF_INCLUDED_FONTS
+#define MF_INCLUDED_FONTS (&mf_bwfont_fixed_7x14_listentry)
+#endif
+
+
+/* End of automatically generated font definition for fixed_7x14. */
+
diff --git a/src/gdisp/fonts/fonts.h b/src/gdisp/fonts/fonts.h
new file mode 100644
index 00000000..3b67de84
--- /dev/null
+++ b/src/gdisp/fonts/fonts.h
@@ -0,0 +1,62 @@
+
+#include <gfx.h>
+
+#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS10) && GDISP_INCLUDE_FONT_DEJAVUSANS10
+#include "DejaVuSans10.c"
+#endif
+
+#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS12_AA) && GDISP_INCLUDE_FONT_DEJAVUSANS12_AA
+#include "DejaVuSans12_aa.c"
+#endif
+
+#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS12) && GDISP_INCLUDE_FONT_DEJAVUSANS12
+#include "DejaVuSans12.c"
+#endif
+
+#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS16_AA) && GDISP_INCLUDE_FONT_DEJAVUSANS16_AA
+#include "DejaVuSans16_aa.c"
+#endif
+
+#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS16) && GDISP_INCLUDE_FONT_DEJAVUSANS16
+#include "DejaVuSans16.c"
+#endif
+
+#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS24_AA) && GDISP_INCLUDE_FONT_DEJAVUSANS24_AA
+#include "DejaVuSans24_aa.c"
+#endif
+
+#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS24) && GDISP_INCLUDE_FONT_DEJAVUSANS24
+#include "DejaVuSans24.c"
+#endif
+
+#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS32_AA) && GDISP_INCLUDE_FONT_DEJAVUSANS32_AA
+#include "DejaVuSans32_aa.c"
+#endif
+
+#if defined(GDISP_INCLUDE_FONT_DEJAVUSANS32) && GDISP_INCLUDE_FONT_DEJAVUSANS32
+#include "DejaVuSans32.c"
+#endif
+
+#if defined(GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12_AA) && GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12_AA
+#include "DejaVuSansBold12_aa.c"
+#endif
+
+#if defined(GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12) && GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12
+#include "DejaVuSansBold12.c"
+#endif
+
+#if defined(GDISP_INCLUDE_FONT_FIXED_10X20) && GDISP_INCLUDE_FONT_FIXED_10X20
+#include "fixed_10x20.c"
+#endif
+
+#if defined(GDISP_INCLUDE_FONT_FIXED_5X8) && GDISP_INCLUDE_FONT_FIXED_5X8
+#include "fixed_5x8.c"
+#endif
+
+#if defined(GDISP_INCLUDE_FONT_FIXED_7X14) && GDISP_INCLUDE_FONT_FIXED_7X14
+#include "fixed_7x14.c"
+#endif
+
+#if defined(GDISP_INCLUDE_FONT_LARGENUMBERS) && GDISP_INCLUDE_FONT_LARGENUMBERS
+#include "LargeNumbers.c"
+#endif
diff --git a/src/gdisp/gdisp.c b/src/gdisp/gdisp.c
index 4c005079..f7a94a60 100644
--- a/src/gdisp/gdisp.c
+++ b/src/gdisp/gdisp.c
@@ -17,7 +17,7 @@
 #if GFX_USE_GDISP
 
 #ifdef GDISP_NEED_TEXT
-	#include "gdisp/fonts.h"
+	#include "mcufont.h"
 #endif
 
 /* Include the low level driver information */
@@ -400,13 +400,13 @@ void gdispFillRoundedBox(coord_t x, coord_t y, coord_t cx, coord_t cy, coord_t r
 #endif
 
 #if (GDISP_NEED_TEXT && GDISP_NEED_MULTITHREAD)
-	void gdispDrawChar(coord_t x, coord_t y, char c, font_t font, color_t color) {
+	void gdispDrawChar(coord_t x, coord_t y, uint16_t c, font_t font, color_t color) {
 		gfxMutexEnter(&gdispMutex);
 		gdisp_lld_draw_char(x, y, c, font, color);
 		gfxMutexExit(&gdispMutex);
 	}
 #elif GDISP_NEED_TEXT && GDISP_NEED_ASYNC
-	void gdispDrawChar(coord_t x, coord_t y, char c, font_t font, color_t color) {
+	void gdispDrawChar(coord_t x, coord_t y, uint16_t c, font_t font, color_t color) {
 		gdisp_lld_msg_t *p = gdispAllocMsg(GDISP_LLD_MSG_DRAWCHAR);
 		p->drawchar.x = x;
 		p->drawchar.y = y;
@@ -418,13 +418,13 @@ void gdispFillRoundedBox(coord_t x, coord_t y, coord_t cx, coord_t cy, coord_t r
 #endif
 
 #if (GDISP_NEED_TEXT && GDISP_NEED_MULTITHREAD)
-	void gdispFillChar(coord_t x, coord_t y, char c, font_t font, color_t color, color_t bgcolor) {
+	void gdispFillChar(coord_t x, coord_t y, uint16_t c, font_t font, color_t color, color_t bgcolor) {
 		gfxMutexEnter(&gdispMutex);
 		gdisp_lld_fill_char(x, y, c, font, color, bgcolor);
 		gfxMutexExit(&gdispMutex);
 	}
 #elif GDISP_NEED_TEXT && GDISP_NEED_ASYNC
-	void gdispFillChar(coord_t x, coord_t y, char c, font_t font, color_t color, color_t bgcolor) {
+	void gdispFillChar(coord_t x, coord_t y, uint16_t c, font_t font, color_t color, color_t bgcolor) {
 		gdisp_lld_msg_t *p = gdispAllocMsg(GDISP_LLD_MSG_FILLCHAR);
 		p->fillchar.x = x;
 		p->fillchar.y = y;
@@ -619,321 +619,206 @@ void gdispDrawBox(coord_t x, coord_t y, coord_t cx, coord_t cy, color_t color) {
 	}
 #endif
 
-	#if GDISP_NEED_TEXT
+#if GDISP_NEED_TEXT
+	typedef struct
+	{
+		font_t font;
+		color_t color;
+	} gdispDrawString_state_t;
+
+	/* Callback to render characters. */
+	static uint8_t gdispDrawString_callback(int16_t x, int16_t y,
+											mf_char character, void *state)
+	{
+		gdispDrawString_state_t *s = state;
+		uint8_t w;
+		
+		gdispDrawChar(x, y, character, s->font, s->color);
+		w = mf_character_width(s->font, character);
+		return w;
+	}
+
 	void gdispDrawString(coord_t x, coord_t y, const char *str, font_t font, color_t color) {
 		/* No mutex required as we only call high level functions which have their own mutex */
-		coord_t		w, p;
-		char		c;
-		int			first;
+		gdispDrawString_state_t state;
+		
+		state.font = font;
+		state.color = color;
 		
-		if (!str) return;
+		mf_render_aligned(font, x, y, MF_ALIGN_LEFT, str, 0,
+						  gdispDrawString_callback, &state);
+	}
+#endif
+	
+#if GDISP_NEED_TEXT
+	typedef struct
+	{
+		coord_t y0;
+		coord_t prev_x;
+		font_t font;
+		color_t color;
+		color_t bgcolor;
+		bool_t rightalign;
+	} gdispFillString_state_t;
+
+	/* Callback to render characters. */
+	static uint8_t gdispFillString_callback(int16_t x, int16_t y,
+											mf_char character, void *state)
+	{
+		gdispFillString_state_t *s = state;
+		uint8_t w;
+		int16_t right_edge;
+		w = mf_character_width(s->font, character);
+		right_edge = x + w + s->font->baseline_x;
 		
-		first = 1;
-		p = font->charPadding * font->xscale;
-		while(*str) {
-			/* Get the next printable character */
-			c = *str++;
-			w = _getCharWidth(font, c) * font->xscale;
-			if (!w) continue;
+		if (!s->rightalign)
+		{
+			if (s->prev_x < x)
+			{
+				/* Fill any space between characters */
+				gdispFillArea(s->prev_x, s->y0, x - s->prev_x, s->font->height,
+							s->bgcolor);
+			}
+			else if (s->prev_x > x)
+			{
+				/* Uh, looks like there is some kerning going on. If we would
+				* just call gdispFillChar() here, it would overwrite part of
+				* the previous character. Instead, fill background separately.
+				*/
+				gdispFillArea(s->prev_x, s->y0, right_edge - s->prev_x,
+							  s->font->height, s->bgcolor);
+				gdispDrawChar(x, y, character, s->font, s->color);
+				s->prev_x = right_edge;
+				return w;
+			}
 			
-			/* Handle inter-character padding */
-			if (p) {
-				if (!first)
-					x += p;
-				else
-					first = 0;
+			s->prev_x = right_edge;
+		}
+		else
+		{
+			/* When rendering right-aligned text, the characters are drawn
+			 * from right to left. */
+			if (s->prev_x > right_edge)
+			{
+				/* Fill any space between characters */
+				gdispFillArea(right_edge, s->y0, s->prev_x - right_edge,
+							  s->font->height, s->bgcolor);
+			}
+			else if (s->prev_x < right_edge)
+			{
+				gdispFillArea(x, s->y0, s->prev_x - x,
+							  s->font->height, s->bgcolor);
+				gdispDrawChar(x, y, character, s->font, s->color);
+				s->prev_x = x;
+				return w;
 			}
 			
-			/* Print the character */
-			gdispDrawChar(x, y, c, font, color);
-			x += w;
+			s->prev_x = x;
 		}
+
+		gdispFillChar(x, y, character, s->font, s->color, s->bgcolor);
+		
+		return w;
 	}
-#endif
-	
-#if GDISP_NEED_TEXT
+
 	void gdispFillString(coord_t x, coord_t y, const char *str, font_t font, color_t color, color_t bgcolor) {
 		/* No mutex required as we only call high level functions which have their own mutex */
-		coord_t		w, h, p;
-		char		c;
-		int			first;
+		gdispFillString_state_t state;
 		
-		if (!str) return;
+		state.y0 = y;
+		state.prev_x = x;
+		state.font = font;
+		state.color = color;
+		state.bgcolor = bgcolor;
+		state.rightalign = false;
 		
-		first = 1;
-		h = font->height * font->yscale;
-		p = font->charPadding * font->xscale;
-		while(*str) {
-			/* Get the next printable character */
-			c = *str++;
-			w = _getCharWidth(font, c) * font->xscale;
-			if (!w) continue;
-			
-			/* Handle inter-character padding */
-			if (p) {
-				if (!first) {
-					gdispFillArea(x, y, p, h, bgcolor);
-					x += p;
-				} else
-					first = 0;
-			}
-
-			/* Print the character */
-			gdispFillChar(x, y, c, font, color, bgcolor);
-			x += w;
-		}
+		x += font->baseline_x;
+		mf_render_aligned(font, x, y, MF_ALIGN_LEFT, str, 0,
+						  gdispFillString_callback, &state);
 	}
 #endif
 	
 #if GDISP_NEED_TEXT
 	void gdispDrawStringBox(coord_t x, coord_t y, coord_t cx, coord_t cy, const char* str, font_t font, color_t color, justify_t justify) {
 		/* No mutex required as we only call high level functions which have their own mutex */
-		coord_t		w, h, p, ypos, xpos;
-		char		c;
-		int			first;
-		const char *rstr;
-		
-		if (!str) str = "";
-
-		h = font->height * font->yscale;
-		p = font->charPadding * font->xscale;
-
-		/* Oops - font too large for the area */
-		if (h > cy) return;
-
-		/* See if we need to fill above the font */
-		ypos = (cy - h + 1)/2;
-		if (ypos > 0) {
-			y += ypos;
-			cy -= ypos;
-		}
-		
-		/* See if we need to fill below the font */
-		ypos = cy - h;
-		if (ypos > 0)
-			cy -= ypos;
+		gdispDrawString_state_t state;
 		
-		/* get the start of the printable string and the xpos */
-		switch(justify) {
-		case justifyCenter:
-			/* Get the length of the entire string */
-			w = gdispGetStringWidth(str, font);
-			if (w <= cx)
-				xpos = x + (cx - w)/2;
-			else {
-				/* Calculate how much of the string we need to get rid of */
-				ypos = (w - cx)/2;
-				xpos = 0;
-				first = 1;
-				while(*str) {
-					/* Get the next printable character */
-					c = *str++;
-					w = _getCharWidth(font, c) * font->xscale;
-					if (!w) continue;
-					
-					/* Handle inter-character padding */
-					if (p) {
-						if (!first) {
-							xpos += p;
-							if (xpos > ypos) break;
-						} else
-							first = 0;
-					}
-
-					/* Print the character */
-					xpos += w;
-					if (xpos > ypos) break;
-				}
-				xpos = ypos - xpos + x;
-			}
-			break;
-		case justifyRight:
-			/* Find the end of the string */
-			for(rstr = str; *str; str++);
-			xpos = x+cx - 2;
-			first = 1;
-			for(str--; str >= rstr; str--) {
-				/* Get the next printable character */
-				c = *str;
-				w = _getCharWidth(font, c) * font->xscale;
-				if (!w) continue;
-				
-				/* Handle inter-character padding */
-				if (p) {
-					if (!first) {
-						if (xpos - p < x) break;
-						xpos -= p;
-					} else
-						first = 0;
-				}
-
-				/* Print the character */
-				if (xpos - w < x) break;
-				xpos -= w;
-			}
-			str++;
-			break;
-		case justifyLeft:
-			/* Fall through */
-		default:
-			xpos = x+1;
-			break;
-		}
+		state.font = font;
+		state.color = color;
 		
-		/* Print characters until we run out of room */
-		first = 1;
-		while(*str) {
-			/* Get the next printable character */
-			c = *str++;
-			w = _getCharWidth(font, c) * font->xscale;
-			if (!w) continue;
-			
-			/* Handle inter-character padding */
-			if (p) {
-				if (!first) {
-					if (xpos + p > x+cx) break;
-					xpos += p;
-				} else
-					first = 0;
-			}
+		/* Select the anchor position */
+		if (justify == justifyLeft)
+			x += font->baseline_x;
+		else if (justify == justifyCenter)
+			x += (cx + 1) / 2;
+		else if (justify == justifyRight)
+			x += cx;
 
-			/* Print the character */
-			if (xpos + w > x+cx) break;
-			gdispDrawChar(xpos, y, c, font, color);
-			xpos += w;
-		}
+		mf_render_aligned(font, x, y, justify, str, 0,
+						  gdispDrawString_callback, &state);
 	}
 #endif
 	
 #if GDISP_NEED_TEXT
 	void gdispFillStringBox(coord_t x, coord_t y, coord_t cx, coord_t cy, const char* str, font_t font, color_t color, color_t bgcolor, justify_t justify) {
 		/* No mutex required as we only call high level functions which have their own mutex */
-		coord_t		w, h, p, ypos, xpos;
-		char		c;
-		int			first;
-		const char *rstr;
+		gdispFillString_state_t state;
+		int16_t min_x, max_x;
 		
-		if (!str) str = "";
-
-		h = font->height * font->yscale;
-		p = font->charPadding * font->xscale;
-
-		/* Oops - font too large for the area */
-		if (h > cy) return;
-
-		/* See if we need to fill above the font */
-		ypos = (cy - h + 1)/2;
-		if (ypos > 0) {
-			gdispFillArea(x, y, cx, ypos, bgcolor);
-			y += ypos;
-			cy -= ypos;
+		min_x = x;
+		max_x = x + cx;
+		
+		state.y0 = y + (cy - font->height + 1) / 2;
+		state.prev_x = x;
+		state.font = font;
+		state.color = color;
+		state.bgcolor = bgcolor;
+		state.rightalign = false;
+		
+		/* Fill above the text */
+		if (state.y0 > y)
+		{
+			gdispFillArea(x, y, cx, state.y0 - y, bgcolor);
 		}
 		
-		/* See if we need to fill below the font */
-		ypos = cy - h;
-		if (ypos > 0) {
-			gdispFillArea(x, y+cy-ypos, cx, ypos, bgcolor);
-			cy -= ypos;
+		/* Fill below the text */
+		if (state.y0 + font->height < y + cy)
+		{
+			gdispFillArea(x, state.y0 + font->height, cx,
+						  (y + cy) - (state.y0 + font->height), bgcolor);
 		}
 		
-		/* get the start of the printable string and the xpos */
-		switch(justify) {
-		case justifyCenter:
-			/* Get the length of the entire string */
-			w = gdispGetStringWidth(str, font);
-			if (w <= cx)
-				xpos = x + (cx - w)/2;
-			else {
-				/* Calculate how much of the string we need to get rid of */
-				ypos = (w - cx)/2;
-				xpos = 0;
-				first = 1;
-				while(*str) {
-					/* Get the next printable character */
-					c = *str++;
-					w = _getCharWidth(font, c) * font->xscale;
-					if (!w) continue;
-					
-					/* Handle inter-character padding */
-					if (p) {
-						if (!first) {
-							xpos += p;
-							if (xpos > ypos) break;
-						} else
-							first = 0;
-					}
-
-					/* Print the character */
-					xpos += w;
-					if (xpos > ypos) break;
-				}
-				xpos = ypos - xpos + x;
-			}
-			break;
-		case justifyRight:
-			/* Find the end of the string */
-			for(rstr = str; *str; str++);
-			xpos = x+cx - 2;
-			first = 1;
-			for(str--; str >= rstr; str--) {
-				/* Get the next printable character */
-				c = *str;
-				w = _getCharWidth(font, c) * font->xscale;
-				if (!w) continue;
-				
-				/* Handle inter-character padding */
-				if (p) {
-					if (!first) {
-						if (xpos - p < x) break;
-						xpos -= p;
-					} else
-						first = 0;
-				}
-
-				/* Print the character */
-				if (xpos - w < x) break;
-				xpos -= w;
-			}
-			str++;
-			break;
-		case justifyLeft:
-			/* Fall through */
-		default:
-			xpos = x+1;
-			break;
+		/* Select the anchor position */
+		if (justify == justifyLeft)
+		{
+			x += font->baseline_x;
+		}
+		else if (justify == justifyCenter)
+		{
+			x += (cx + 1) / 2;
+		}
+		else if (justify == justifyRight)
+		{
+			state.rightalign = true;
+			state.prev_x = x + cx;
+			x += cx;
 		}
 		
-		/* Fill any space to the left */
-		if (x < xpos)
-			gdispFillArea(x, y, xpos-x, cy, bgcolor);
+		/* Render */
+		mf_render_aligned(font, x, state.y0, justify, str, 0,
+						  gdispFillString_callback, &state);
 		
-		/* Print characters until we run out of room */
-		first = 1;
-		while(*str) {
-			/* Get the next printable character */
-			c = *str++;
-			w = _getCharWidth(font, c) * font->xscale;
-			if (!w) continue;
-			
-			/* Handle inter-character padding */
-			if (p) {
-				if (!first) {
-					if (xpos + p > x+cx) break;
-					gdispFillArea(xpos, y, p, cy, bgcolor);
-					xpos += p;
-				} else
-					first = 0;
-			}
-
-			/* Print the character */
-			if (xpos + w > x+cx) break;
-			gdispFillChar(xpos, y, c, font, color, bgcolor);
-			xpos += w;
+		/* Fill any space left */
+		if (!state.rightalign && state.prev_x < max_x)
+		{
+			gdispFillArea(state.prev_x, state.y0, max_x - state.prev_x,
+						  state.font->height, bgcolor);
+		}
+		else if (state.rightalign && state.prev_x > min_x)
+		{
+			gdispFillArea(min_x, state.y0, state.prev_x - min_x,
+						  state.font->height, bgcolor);
 		}
-		
-		/* Fill any space to the right */
-		if (xpos < x+cx)
-			gdispFillArea(xpos, y, x+cx-xpos, cy, bgcolor);
 	}
 #endif
 	
@@ -941,12 +826,12 @@ void gdispDrawBox(coord_t x, coord_t y, coord_t cx, coord_t cy, color_t color) {
 	coord_t gdispGetFontMetric(font_t font, fontmetric_t metric) {
 		/* No mutex required as we only read static data */
 		switch(metric) {
-		case fontHeight:			return font->height * font->yscale;
-		case fontDescendersHeight:	return font->descenderHeight * font->yscale;
-		case fontLineSpacing:		return font->lineSpacing * font->yscale;
-		case fontCharPadding:		return font->charPadding * font->xscale;
-		case fontMinWidth:			return font->minWidth * font->xscale;
-		case fontMaxWidth:			return font->maxWidth * font->xscale;
+		case fontHeight:			return font->height;
+		case fontDescendersHeight:	return font->height - font->baseline_y;
+		case fontLineSpacing:		return font->line_height;
+		case fontCharPadding:		return 0;
+		case fontMinWidth:			return font->min_x_advance;
+		case fontMaxWidth:			return font->max_x_advance;
 		}
 		return 0;
 	}
@@ -955,41 +840,38 @@ void gdispDrawBox(coord_t x, coord_t y, coord_t cx, coord_t cy, color_t color) {
 #if GDISP_NEED_TEXT
 	coord_t gdispGetCharWidth(char c, font_t font) {
 		/* No mutex required as we only read static data */
-		return _getCharWidth(font, c) * font->xscale;
+		return mf_character_width(font, c);
 	}
 #endif
 	
 #if GDISP_NEED_TEXT
 	coord_t gdispGetStringWidth(const char* str, font_t font) {
 		/* No mutex required as we only read static data */
-		coord_t		w, p, x;
-		char		c;
-		int			first;
-		
-		first = 1;
-		x = 0;
-		p = font->charPadding * font->xscale;
-		while(*str) {
-			/* Get the next printable character */
-			c = *str++;
-			w = _getCharWidth(font, c)  * font->xscale;
-			if (!w) continue;
-			
-			/* Handle inter-character padding */
-			if (p) {
-				if (!first)
-					x += p;
-				else
-					first = 0;
-			}
-			
-			/* Add the character width */
-			x += w;
-		}
-		return x;
+		return mf_get_string_width(font, str, 0, 0);
 	}
 #endif
 
+color_t gdispBlendColor(color_t fg, color_t bg, uint8_t alpha)
+{
+	uint16_t fg_ratio = alpha + 1;
+	uint16_t bg_ratio = 256 - alpha;
+	uint16_t r, g, b;
+	
+	r = RED_OF(fg) * fg_ratio;
+	g = GREEN_OF(fg) * fg_ratio;
+	b = BLUE_OF(fg) * fg_ratio;
+	
+	r += RED_OF(bg) * bg_ratio;
+	g += GREEN_OF(bg) * bg_ratio;
+	b += BLUE_OF(bg) * bg_ratio;
+	
+	r /= 256;
+	g /= 256;
+	b /= 256;
+	
+	return RGB2COLOR(r, g, b);
+}
+
 #if (!defined(gdispPackPixels) && !defined(GDISP_PIXELFORMAT_CUSTOM))
 	void gdispPackPixels(pixel_t *buf, coord_t cx, coord_t x, coord_t y, color_t color) {
 		/* No mutex required as we only read static data */
diff --git a/src/gdisp/gdisp.mk b/src/gdisp/gdisp.mk
index caa5f65d..a93394e8 100644
--- a/src/gdisp/gdisp.mk
+++ b/src/gdisp/gdisp.mk
@@ -7,3 +7,9 @@ GFXSRC +=   $(GFXLIB)/src/gdisp/gdisp.c \
 			$(GFXLIB)/src/gdisp/image_jpg.c \
 			$(GFXLIB)/src/gdisp/image_png.c
 			
+MFDIR = $(GFXLIB)/src/gdisp/mcufont
+include $(GFXLIB)/src/gdisp/mcufont/mcufont.mk
+GFXINC += $(MFDIR)
+GFXSRC += $(MFSRC)
+
+GFXINC += $(GFXLIB)/src/gdisp/fonts
diff --git a/src/gdisp/mcufont/mcufont.h b/src/gdisp/mcufont/mcufont.h
new file mode 100644
index 00000000..8a81ff42
--- /dev/null
+++ b/src/gdisp/mcufont/mcufont.h
@@ -0,0 +1,14 @@
+/* Tiny library for rendering compressed bitmap fonts on microcontrollers. */
+
+#ifndef _MCUFONT_H_
+#define _MCUFONT_H_
+
+#include "mf_config.h"
+#include "mf_encoding.h"
+#include "mf_justify.h"
+#include "mf_kerning.h"
+#include "mf_rlefont.h"
+#include "mf_scaledfont.h"
+#include "mf_wordwrap.h"
+
+#endif
diff --git a/src/gdisp/mcufont/mcufont.mk b/src/gdisp/mcufont/mcufont.mk
new file mode 100644
index 00000000..0b402877
--- /dev/null
+++ b/src/gdisp/mcufont/mcufont.mk
@@ -0,0 +1,19 @@
+# Makefile fragment listing the source files for the mcufont decoder.
+
+# Directory where the decoder source code recides
+# Usually you'll want to set this in your own Makefile.
+MFDIR ?= mcufont/decoder
+
+# Name of the include directory
+MFINC = $(MFDIR)
+
+# Source code files to include
+MFSRC = \
+    $(MFDIR)/mf_encoding.c \
+    $(MFDIR)/mf_font.c \
+    $(MFDIR)/mf_justify.c \
+    $(MFDIR)/mf_kerning.c \
+    $(MFDIR)/mf_rlefont.c \
+    $(MFDIR)/mf_bwfont.c \
+    $(MFDIR)/mf_scaledfont.c \
+    $(MFDIR)/mf_wordwrap.c
diff --git a/src/gdisp/mcufont/mf_bwfont.c b/src/gdisp/mcufont/mf_bwfont.c
new file mode 100644
index 00000000..918fbb29
--- /dev/null
+++ b/src/gdisp/mcufont/mf_bwfont.c
@@ -0,0 +1,134 @@
+#include "mf_bwfont.h"
+#include <stdbool.h>
+
+/* Find the character range and index that contains a given glyph.. */
+static const struct mf_bwfont_char_range_s *find_char_range(
+    const struct mf_bwfont_s *font, uint16_t character, uint16_t *index_ret)
+{
+    unsigned i, index;
+    const struct mf_bwfont_char_range_s *range;
+    for (i = 0; i < font->char_range_count; i++)
+    {
+        range = &font->char_ranges[i];
+        index = character - range->first_char;
+        if (character >= range->first_char && index < range->char_count)
+        {
+            *index_ret = index;
+            return range;
+        }
+    }
+    
+    return 0;
+}
+
+static uint8_t get_width(const struct mf_bwfont_char_range_s *r, uint16_t index)
+{
+    if (r->width)
+    {
+        return r->width + r->offset_x;
+    }
+    else
+    {
+        return r->glyph_widths[index];
+    }
+}
+
+static uint8_t render_char(const struct mf_bwfont_char_range_s *r,
+                           int16_t x0, int16_t y0, uint16_t index,
+                           mf_pixel_callback_t callback,
+                           void *state)
+{
+    const uint8_t *data, *p;
+    uint8_t stride, runlen;
+    uint8_t x, y, height, num_cols;
+    uint8_t bit, byte, mask;
+    bool oldstate, newstate;
+    
+    if (r->width)
+    {
+        data = r->glyph_data + r->width * index * r->height_bytes;
+        num_cols = r->width;
+    }
+    else
+    {
+        data = r->glyph_data + r->glyph_offsets[index] * r->height_bytes;
+        num_cols = r->glyph_offsets[index + 1] - r->glyph_offsets[index];
+    }
+    
+    stride = r->height_bytes;
+    height = r->height_pixels;
+    y0 += r->offset_y;
+    x0 += r->offset_x;
+    bit = 0;
+    byte = 0;
+    
+    for (y = 0; y < height; y++)
+    {
+        mask = (1 << bit);
+        
+        oldstate = false;
+        runlen = 0;
+        p = data + byte;
+        for (x = 0; x < num_cols; x++, p += stride)
+        {
+            newstate = *p & mask;
+            if (newstate != oldstate)
+            {
+                if (oldstate && runlen)
+                {
+                    callback(x0 + x - runlen, y0 + y, runlen, 255, state);
+                }
+                
+                oldstate = newstate;
+                runlen = 0;
+            }
+            
+            runlen++;
+        }
+        
+        if (oldstate && runlen)
+        {
+            callback(x0 + x - runlen, y0 + y, runlen, 255, state);
+        }
+        
+        bit++;
+        if (bit > 7)
+        {
+            bit = 0;
+            byte++;
+        }
+    }
+    
+    return get_width(r, index);
+}
+
+uint8_t mf_bwfont_render_character(const struct mf_font_s *font,
+                                   int16_t x0, int16_t y0,
+                                   uint16_t character,
+                                   mf_pixel_callback_t callback,
+                                   void *state)
+{
+    const struct mf_bwfont_s *bwfont = (const struct mf_bwfont_s*)font;
+    const struct mf_bwfont_char_range_s *range;
+    uint16_t index;
+    
+    range = find_char_range(bwfont, character, &index);
+    if (!range)
+        return 0;
+    
+    return render_char(range, x0, y0, index, callback, state);
+}
+
+uint8_t mf_bwfont_character_width(const struct mf_font_s *font,
+                                  uint16_t character)
+{
+    const struct mf_bwfont_s *bwfont = (const struct mf_bwfont_s*)font;
+    const struct mf_bwfont_char_range_s *range;
+    uint16_t index;
+    
+    range = find_char_range(bwfont, character, &index);
+    if (!range)
+        return 0;
+    
+    return get_width(range, index);
+}
diff --git a/src/gdisp/mcufont/mf_bwfont.h b/src/gdisp/mcufont/mf_bwfont.h
new file mode 100644
index 00000000..9aea2ac9
--- /dev/null
+++ b/src/gdisp/mcufont/mf_bwfont.h
@@ -0,0 +1,77 @@
+/* Uncompressed font format for storing black & white fonts. Very efficient
+ * to decode and works well for small font sizes.
+ */
+
+#ifndef _MF_BWFONT_H_
+#define _MF_BWFONT_H_
+
+#include "mf_font.h"
+
+/* Versions of the BW font format that are supported. */
+#define MF_BWFONT_VERSION_4_SUPPORTED 1
+
+/* Structure for a range of characters. */
+struct mf_bwfont_char_range_s
+{
+    /* The number of the first character in this range. */
+    uint16_t first_char;
+    
+    /* The total count of characters in this range. */
+    uint16_t char_count;
+    
+    /* The left and top skips of the characters in this range.
+     * This is the number of empty rows at left and at top. */
+    uint8_t offset_x;
+    uint8_t offset_y;
+    
+    /* Column height for glyphs in this range, in bytes and pixels. */
+    uint8_t height_bytes;
+    uint8_t height_pixels;
+    
+    /* Positive value if the width of all glyphs in this range is the
+     * same, or zero if it is not. */
+    uint8_t width;
+    
+    /* Lookup table for the character widths. NULL if width is specified. */
+    const uint8_t *glyph_widths;
+    
+    /* Lookup table for the character offsets.  Multiply by height_bytes
+     * to get the byte offset. Also allows lookup of the number of columns.
+     * NULL if width is specified. */
+    const uint16_t *glyph_offsets;
+    
+    /* Table for the glyph data.
+     * The data for each glyph is column-by-column, with N bytes per each
+     * column. The LSB of the first byte is the top left pixel.
+     */
+    const uint8_t *glyph_data;
+};
+
+/* Structure for the font */
+struct mf_bwfont_s
+{
+    struct mf_font_s font;
+    
+    /* Version of the font format. */
+    const uint8_t version;
+    
+    /* Number of character ranges. */
+    const uint8_t char_range_count;
+    
+    /* Array of the character ranges */
+    const struct mf_bwfont_char_range_s *char_ranges;
+};
+
+#ifdef MF_BWFONT_INTERNALS
+/* Internal functions, don't use these directly. */
+MF_EXTERN uint8_t mf_bwfont_render_character(const struct mf_font_s *font,
+                                             int16_t x0, int16_t y0,
+                                             mf_char character,
+                                             mf_pixel_callback_t callback,
+                                             void *state);
+
+MF_EXTERN uint8_t mf_bwfont_character_width(const struct mf_font_s *font,
+                                            mf_char character);
+#endif
+
+#endif
diff --git a/src/gdisp/mcufont/mf_config.h b/src/gdisp/mcufont/mf_config.h
new file mode 100644
index 00000000..7e58c8f6
--- /dev/null
+++ b/src/gdisp/mcufont/mf_config.h
@@ -0,0 +1,148 @@
+/* Configuration constants for mcufont. */
+
+#ifndef _MF_CONFIG_H_
+#define _MF_CONFIG_H_
+
+#include <gfx.h>
+
+/* Mapping from uGFX settings to mcufont settings */
+#if GDISP_NEED_UTF8
+#define MF_ENCODING MF_ENCODING_UTF8
+#else
+#define MF_ENCODING MF_ENCODING_ASCII
+#endif
+
+#define MF_USE_KERNING GDISP_NEED_TEXT_KERNING
+
+/* These are not used for now */
+#define MF_USE_ADVANCED_WORDWRAP 0
+#define MF_USE_JUSTIFY 0
+
+
+/*******************************************************
+ * Configuration settings related to build environment *
+ *******************************************************/
+
+/* Name of the file that contains all the included fonts. */
+#ifndef MF_FONT_FILE_NAME
+#define MF_FONT_FILE_NAME "fonts.h"
+#endif
+
+
+/*****************************************
+ * Configuration settings related to API *
+ *****************************************/
+
+/* Encoding for the input data.
+ * With the unicode encodings, the library supports the range of unicode
+ * characters 0x0000-0xFFFF (the Basic Multilingual Plane).
+ * 
+ * ASCII: Plain ascii (somewhat works with ISO8859-1 also)
+ * UTF8:  UTF8 encoding (variable number of bytes)
+ * UTF16: UTF16 encoding (2 bytes per character, compatible with UCS-2)
+ * WCHAR: Use compiler's wchar_t (usually same as UTF16)
+ */
+#define MF_ENCODING_ASCII 0
+#define MF_ENCODING_UTF8  1
+#define MF_ENCODING_UTF16 2
+#define MF_ENCODING_WCHAR 3
+#ifndef MF_ENCODING
+#define MF_ENCODING MF_ENCODING_UTF8
+#endif
+
+
+/************************************************************************
+ * Configuration settings related to visual appearance of rendered text *
+ ************************************************************************/
+
+/* Minimum space between characters, in percents of the glyph width.
+ * Increasing this causes the kerning module to leave more space between
+ * characters.
+ */
+#ifndef MF_KERNING_SPACE_PERCENT
+#define MF_KERNING_SPACE_PERCENT 15
+#endif
+
+/* Minimum space between characters, in pixels. Added to the percentual
+ * spacing. This pixel-based value guarantees enough space even with small
+ * fonts.
+ */
+#ifndef MF_KERNING_SPACE_PIXELS
+#define MF_KERNING_SPACE_PIXELS 3
+#endif
+
+/* Maximum adjustment done by the kerning algorithm, as percent of the
+ * glyph width.
+ */
+#ifndef MF_KERNING_LIMIT
+#define MF_KERNING_LIMIT 20
+#endif
+
+/* Spacing of tabulator stops. The value is multiplied by the width of the
+ * 'm' character in the current font.
+ */
+#ifndef MF_TABSIZE
+#define MF_TABSIZE 8
+#endif
+
+
+/*************************************************************************
+ * Configuration settings to strip down library to reduce resource usage *
+ *************************************************************************/
+
+/* Enable or disable the kerning module.
+ * Disabling it saves some code size and run time, but causes the spacing
+ * between characters to be less consistent.
+ */
+#ifndef MF_USE_KERNING
+#define MF_USE_KERNING 1
+#endif
+
+/* Enable or disable the advanced word wrap algorithm.
+ * If disabled, uses a simpler algorithm.
+ */
+#ifndef MF_USE_ADVANCED_WORDWRAP
+#define MF_USE_ADVANCED_WORDWRAP 1
+#endif
+
+/* Enable of disable the justification algorithm.
+ * If disabled, mf_render_justified renders just left-aligned.
+ */
+#ifndef MF_USE_JUSTIFY
+#define MF_USE_JUSTIFY 1
+#endif
+
+/* Enable or disable the center and right alignment code.
+ * If disabled, any alignment results in MF_ALIGN_LEFT.
+ */
+#ifndef MF_USE_ALIGN
+#define MF_USE_ALIGN 1
+#endif
+
+/* Enable or disable the support for tab alignment.
+ * If disabled, tabs will be rendered as regular space character.
+ */
+#ifndef MF_USE_TABS
+#define MF_USE_TABS 1
+#endif
+
+/* Number of vertical zones to use when computing kerning.
+ * Larger values give more accurate kerning, but are slower and use somewhat
+ * more memory. There is no point to increase this beyond the height of the
+ * font.
+ */
+#ifndef MF_KERNING_ZONES
+#define MF_KERNING_ZONES 16
+#endif
+
+
+
+/* Add extern "C" when used from C++. */
+#ifdef __cplusplus
+#define MF_EXTERN extern "C"
+#else
+#define MF_EXTERN extern
+#endif
+
+#endif
+
diff --git a/src/gdisp/mcufont/mf_encoding.c b/src/gdisp/mcufont/mf_encoding.c
new file mode 100644
index 00000000..4e3975ae
--- /dev/null
+++ b/src/gdisp/mcufont/mf_encoding.c
@@ -0,0 +1,69 @@
+#include "mf_encoding.h"
+
+#if MF_ENCODING == MF_ENCODING_UTF8
+
+mf_char mf_getchar(mf_str *str)
+{
+    uint8_t c;
+    uint8_t tmp, seqlen;
+    uint16_t result;
+    
+    c = **str;
+    if (!c)
+        return 0;
+    
+    (*str)++;
+    
+    if ((c & 0x80) == 0)
+    {
+        /* Just normal ASCII character. */
+        return c;
+    }
+    else if ((c & 0xC0) == 0x80)
+    {
+        /* Dangling piece of corrupted multibyte sequence.
+         * Did you cut the string in the wrong place?
+         */
+        return c;
+    }
+    else if ((**str & 0xC0) == 0xC0)
+    {
+        /* Start of multibyte sequence without any following bytes.
+         * Silly. Maybe you are using the wrong encoding.
+         */
+        return c;
+    }
+    else
+    {
+        /* Beginning of a multi-byte sequence.
+         * Find out how many characters and combine them.
+         */
+        seqlen = 2;
+        tmp = 0x20;
+        result = 0;
+        while ((c & tmp) && (seqlen < 5))
+        {
+            seqlen++;
+            tmp >>= 1;
+            
+            result = (result << 6) | (**str & 0x3F);
+            (*str)++;
+        }
+        
+        result = (result << 6) | (**str & 0x3F);
+        (*str)++;
+        
+        result |= (c & (tmp - 1)) << ((seqlen - 1) * 6);
+        return result;
+    }
+}
+
+void mf_rewind(mf_str *str)
+{
+    (*str)--;
+    
+    while ((**str & 0x80) != 0x00 && (**str & 0xC0) != 0xC0)
+        (*str)--;
+}
+
+#endif
diff --git a/src/gdisp/mcufont/mf_encoding.h b/src/gdisp/mcufont/mf_encoding.h
new file mode 100644
index 00000000..e96718b7
--- /dev/null
+++ b/src/gdisp/mcufont/mf_encoding.h
@@ -0,0 +1,53 @@
+/* Simple UTF-8 decoder. Also implements the much simpler ASCII and UTF16
+ * input encodings.
+ */
+
+#ifndef _MF_ENCODING_H_
+#define _MF_ENCODING_H_
+
+#include "mf_config.h"
+#include <stdint.h>
+
+/* Type used to represent characters internally. */
+#if MF_ENCODING == MF_ENCODING_ASCII
+typedef char mf_char;
+#else
+typedef uint16_t mf_char;
+#endif
+
+/* Type used to represent input strings. */
+#if MF_ENCODING == MF_ENCODING_ASCII
+typedef const char * mf_str;
+#elif MF_ENCODING == MF_ENCODING_UTF8
+typedef const char * mf_str;
+#elif MF_ENCODING == MF_ENCODING_UTF16
+typedef const uint16_t * mf_str;
+#elif MF_ENCODING == MF_ENCODING_WCHAR
+#include <stddef.h>
+typedef const wchar_t * mf_str;
+#endif
+
+/* Returns the next character in the string and advances the pointer.
+ * When the string ends, returns 0 and leaves the pointer at the 0 byte.
+ * 
+ * str: Pointer to variable holding current location in string.
+ *      Initialize it to the start of the string.
+ * 
+ * Returns: The next character, as unicode codepoint.
+ */
+#if MF_ENCODING == MF_ENCODING_UTF8
+MF_EXTERN mf_char mf_getchar(mf_str *str);
+#else
+static mf_char mf_getchar(mf_str *str) { return *(*str)++; }
+#endif
+
+/* Moves back the pointer to the beginning of the previous character.
+ * Be careful not to go beyond the start of the string.
+ */
+#if MF_ENCODING == MF_ENCODING_UTF8
+MF_EXTERN void mf_rewind(mf_str *str);
+#else
+static void mf_rewind(mf_str *str) { (*str)--; }
+#endif
+
+#endif
diff --git a/src/gdisp/mcufont/mf_font.c b/src/gdisp/mcufont/mf_font.c
new file mode 100644
index 00000000..698a3d8e
--- /dev/null
+++ b/src/gdisp/mcufont/mf_font.c
@@ -0,0 +1,77 @@
+#include "mf_font.h"
+#include <stdbool.h>
+
+/* This will be made into a list of included fonts using macro magic. */
+#define MF_INCLUDED_FONTS 0
+
+/* Included fonts begin here */
+#include MF_FONT_FILE_NAME
+/* Include fonts end here */
+
+uint8_t mf_render_character(const struct mf_font_s *font,
+                            int16_t x0, int16_t y0,
+                            mf_char character,
+                            mf_pixel_callback_t callback,
+                            void *state)
+{
+    uint8_t width;
+    width = font->render_character(font, x0, y0, character, callback, state);
+    
+    if (!width)
+    {
+        width = font->render_character(font, x0, y0, font->fallback_character,
+                                       callback, state);
+    }
+    
+    return width;
+}
+
+uint8_t mf_character_width(const struct mf_font_s *font,
+                           mf_char character)
+{
+    uint8_t width;
+    width = font->character_width(font, character);
+    
+    if (!width)
+    {
+        width = font->character_width(font, font->fallback_character);
+    }
+    
+    return width;
+}
+
+/* Avoids a dependency on libc */
+static bool strequals(const char *a, const char *b)
+{
+    while (*a)
+    {
+        if (*a++ != *b++)
+            return false;
+    }
+    return (!*b);
+}
+
+const struct mf_font_s *mf_find_font(const char *name)
+{
+    const struct mf_font_list_s *f;
+    f = MF_INCLUDED_FONTS;
+    
+    while (f)
+    {
+        if (strequals(f->font->full_name, name) ||
+            strequals(f->font->short_name, name))
+        {
+            return f->font;
+        }
+        
+        f = f->next;
+    }
+    
+    return 0;
+}
+
+const struct mf_font_list_s *mf_get_font_list()
+{
+    return MF_INCLUDED_FONTS;
+}
+
diff --git a/src/gdisp/mcufont/mf_font.h b/src/gdisp/mcufont/mf_font.h
new file mode 100644
index 00000000..591ebab6
--- /dev/null
+++ b/src/gdisp/mcufont/mf_font.h
@@ -0,0 +1,118 @@
+/* Generic font type that supports fonts with multiple kinds of compression.
+ * Provides an interface for decoding and rendering single characters.
+ */
+
+#ifndef _MF_FONT_H_
+#define _MF_FONT_H_
+
+#include "mf_encoding.h"
+
+/* Callback function that writes pixels to screen / buffer / whatever.
+ *
+ * x:     X coordinate of the first pixel to write.
+ * y:     Y coordinate of the first pixel to write.
+ * count: Number of pixels to fill (horizontally).
+ * alpha: The "opaqueness" of the pixels, 0 for background, 255 for text.
+ * state: Free variable that was passed to render_character().
+ */
+typedef void (*mf_pixel_callback_t) (int16_t x, int16_t y, uint8_t count,
+                                     uint8_t alpha, void *state);
+
+/* General information about a font. */
+struct mf_font_s
+{
+    /* Full name of the font, comes from the original font file. */
+    const char *full_name;
+    
+    /* Short name of the font, comes from file name. */
+    const char *short_name;
+    
+    /* Width and height of the character bounding box. */
+    uint8_t width;
+    uint8_t height;
+    
+    /* Minimum and maximum tracking width of characters. */
+    uint8_t min_x_advance;
+    uint8_t max_x_advance;
+    
+    /* Location of the text baseline relative to character. */
+    uint8_t baseline_x;
+    uint8_t baseline_y;
+    
+    /* Line height of the font (vertical advance). */
+    uint8_t line_height;
+    
+    /* Flags identifying various aspects of the font. */
+    uint8_t flags;
+    
+    /* Fallback character to use for missing glyphs. */
+    mf_char fallback_character;
+    
+    /* Function to get character width. Should return 0 if character is
+     * not found. */
+    uint8_t (*character_width)(const struct mf_font_s *font, mf_char character);
+    
+    /* Function to render a character. Returns the character width or 0 if
+     * character is not found. */
+    uint8_t (*render_character)(const struct mf_font_s *font,
+                                int16_t x0, int16_t y0,
+                                mf_char character,
+                                mf_pixel_callback_t callback,
+                                void *state);
+};
+
+/* The flag definitions for the font.flags field. */
+#define MF_FONT_FLAG_MONOSPACE 0x01
+#define MF_FONT_FLAG_BW        0x02
+
+/* Lookup structure for searching fonts by name. */
+struct mf_font_list_s
+{
+    const struct mf_font_list_s *next;
+    const struct mf_font_s *font;
+};
+
+
+/* Function to decode and render a single character. 
+ * 
+ * font:      Pointer to the font definition.
+ * x0, y0:    Upper left corner of the target area.
+ * character: The character code (unicode) to render.
+ * callback:  Callback function to write out the pixels.
+ * state:     Free variable for caller to use (can be NULL).
+ * 
+ * Returns width of the character.
+ */
+MF_EXTERN uint8_t mf_render_character(const struct mf_font_s *font,
+                                      int16_t x0, int16_t y0,
+                                      mf_char character,
+                                      mf_pixel_callback_t callback,
+                                      void *state);
+
+/* Function to get the width of a single character.
+ * This is not necessarily the bounding box of the character
+ * data, but rather the tracking width.
+ *
+ * font:      Pointer to the font definition.
+ * character: The character code (unicode) to render.
+ * 
+ * Returns width of the character in pixels.
+ */
+MF_EXTERN uint8_t mf_character_width(const struct mf_font_s *font,
+                                     mf_char character);
+
+/* Find a font based on name. The name can be either short name or full name.
+ * Note: You can pass MF_INCLUDED_FONTS to search among all the included .h
+ * files.
+ *
+ * name: Font name to search for.
+ * fonts: Pointer to the first font search entry.
+ *
+ * Returns a pointer to the font or NULL if not found.
+ */
+MF_EXTERN const struct mf_font_s *mf_find_font(const char *name);
+
+/* Get the list of included fonts */
+MF_EXTERN const struct mf_font_list_s *mf_get_font_list();
+
+#endif
\ No newline at end of file
diff --git a/src/gdisp/mcufont/mf_justify.c b/src/gdisp/mcufont/mf_justify.c
new file mode 100644
index 00000000..1938bb6a
--- /dev/null
+++ b/src/gdisp/mcufont/mf_justify.c
@@ -0,0 +1,321 @@
+#include "mf_justify.h"
+#include "mf_kerning.h"
+
+#if MF_USE_TABS
+/* Round the X coordinate up to the nearest tab stop. */
+static int16_t mf_round_to_tab(const struct mf_font_s *font,
+                               int16_t x0, int16_t x)
+{
+    int16_t tabw, dx;
+    
+    tabw = mf_character_width(font, 'm') * MF_TABSIZE;
+    
+    /* Always atleast 1 space */
+    x += mf_character_width(font, ' ');
+    
+    /* Round to next tab stop */
+    dx = x - x0 + font->baseline_x;
+    x += tabw - (dx % tabw);
+    
+    return x;
+}
+
+/* Round the X coordinate down to the nearest tab stop. */
+static int16_t mf_round_to_prev_tab(const struct mf_font_s *font,
+                                    int16_t x0, int16_t x)
+{
+    int16_t tabw, dx;
+    
+    tabw = mf_character_width(font, 'm') * MF_TABSIZE;
+    
+    /* Always atleast 1 space */
+    x -= mf_character_width(font, ' ');
+    
+    /* Round to previous tab stop */
+    dx = x0 - x + font->baseline_x;
+    x -= tabw - (dx % tabw);
+    
+    return x;
+}
+#endif
+
+int16_t mf_get_string_width(const struct mf_font_s *font, mf_str text,
+                            uint16_t count, bool kern)
+{
+    int16_t result = 0;
+    uint16_t c1 = 0, c2;
+    
+    if (!count)
+        count = 0xFFFF;
+    
+    while (count-- && *text)
+    {
+        c2 = mf_getchar(&text);
+
+        if (kern && c1 != 0)
+            result += mf_compute_kerning(font, c1, c2);
+
+        result += mf_character_width(font, c2);
+        c1 = c2;
+    }
+    
+    return result;
+}
+
+/* Return the length of the string without trailing spaces. */
+static uint16_t strip_spaces(mf_str text, uint16_t count, mf_char *last_char)
+{
+    uint16_t i = 0, result = 0;
+    mf_char tmp = 0;
+    
+    if (!count)
+        count = 0xFFFF;
+    
+    while (count-- && *text)
+    {
+        i++;
+        tmp = mf_getchar(&text);
+        if (tmp != ' ' && tmp != 0xA0 && tmp != '\n' &&
+            tmp != '\r' && tmp != '\t')
+        {
+            result = i;
+        }
+    }
+    
+    if (last_char)
+    {
+        if (!*text)
+            *last_char = 0;
+        else
+            *last_char = tmp;
+    }
+    
+    return result;
+}
+
+/* Render left-aligned string, left edge at x0. */
+static void render_left(const struct mf_font_s *font,
+                        int16_t x0, int16_t y0,
+                        mf_str text, uint16_t count,
+                        mf_character_callback_t callback,
+                        void *state)
+{
+    int16_t x;
+    mf_char c1 = 0, c2;
+    
+    x = x0 - font->baseline_x;
+    while (count--)
+    {
+        c2 = mf_getchar(&text);
+        
+        if (c2 == '\t')
+        {
+#if MF_USE_TABS
+            x = mf_round_to_tab(font, x0, x);
+            c1 = ' ';
+            continue;
+#else
+            c2 = ' ';
+#endif
+        }
+        
+        if (c1 != 0)
+            x += mf_compute_kerning(font, c1, c2);
+
+        x += callback(x, y0, c2, state);
+        c1 = c2;
+    }
+}
+
+#if !MF_USE_ALIGN
+
+void mf_render_aligned(const struct mf_font_s *font,
+                       int16_t x0, int16_t y0,
+                       enum mf_align_t align,
+                       mf_str text, uint16_t count,
+                       mf_character_callback_t callback,
+                       void *state)
+{
+    int16_t string_width;
+    count = strip_spaces(text, count, 0);
+    render_left(font, x0, y0, text, count, callback, state);
+}
+
+#else
+
+/* Render right-aligned string, right edge at x0. */
+static void render_right(const struct mf_font_s *font,
+                         int16_t x0, int16_t y0,
+                         mf_str text, uint16_t count,
+                         mf_character_callback_t callback,
+                         void *state)
+{
+    int16_t x;
+    uint16_t i;
+    mf_char c1, c2 = 0;
+    mf_str tmp;
+    
+    /* Go to the end of the line. */
+    for (i = 0; i < count; i++)
+        mf_getchar(&text);
+    
+    x = x0 - font->baseline_x;
+    for (i = 0; i < count; i++)
+    {
+        mf_rewind(&text);
+        tmp = text;
+        c1 = mf_getchar(&tmp);
+        
+        /* Perform tab alignment */
+        if (c1 == '\t')
+        {
+#if MF_USE_TABS
+            x = mf_round_to_prev_tab(font, x0, x);
+            c2 = ' ';
+            continue;
+#else
+            c1 = ' ';
+#endif
+        }
+        
+        /* Apply the nominal character width */
+        x -= mf_character_width(font, c1);
+        
+        /* Apply kerning */
+        if (c2 != 0)
+            x -= mf_compute_kerning(font, c1, c2);
+        
+        callback(x, y0, c1, state);
+        c2 = c1;
+    }
+}
+
+void mf_render_aligned(const struct mf_font_s *font,
+                       int16_t x0, int16_t y0,
+                       enum mf_align_t align,
+                       mf_str text, uint16_t count,
+                       mf_character_callback_t callback,
+                       void *state)
+{
+    int16_t string_width;
+    count = strip_spaces(text, count, 0);
+    
+    if (align == MF_ALIGN_LEFT)
+    {
+        render_left(font, x0, y0, text, count, callback, state);
+    }
+    if (align == MF_ALIGN_CENTER)
+    {
+        string_width = mf_get_string_width(font, text, count, false);
+        x0 -= string_width / 2;
+        render_left(font, x0, y0, text, count, callback, state);
+    }
+    else if (align == MF_ALIGN_RIGHT)
+    {
+        render_right(font, x0, y0, text, count, callback, state);
+    }
+}
+
+#endif
+
+
+#if !MF_USE_JUSTIFY
+
+void mf_render_justified(const struct mf_font_s *font,
+                         int16_t x0, int16_t y0, int16_t width,
+                         mf_str text, uint16_t count,
+                         mf_character_callback_t callback,
+                         void *state)
+{
+    mf_render_aligned(font, x0, y0, MF_ALIGN_LEFT, text, count, callback, state);
+}
+
+#else
+
+/* Returns true if the character is a justification point, i.e. expands
+ * when the text is being justified. */
+static bool is_justify_space(uint16_t c)
+{
+    return c == ' ' || c == 0xA0;
+}
+
+/* Count the number of space characters in string */
+static uint16_t count_spaces(mf_str text, uint16_t count)
+{
+    uint16_t spaces = 0;
+    while (count-- && *text)
+    {
+        if (is_justify_space(mf_getchar(&text)))
+            spaces++;
+    }
+    return spaces;
+}
+
+void mf_render_justified(const struct mf_font_s *font,
+                         int16_t x0, int16_t y0, int16_t width,
+                         mf_str text, uint16_t count,
+                         mf_character_callback_t callback,
+                         void *state)
+{
+    int16_t string_width, adjustment;
+    uint16_t num_spaces;
+    mf_char last_char;
+    
+    count = strip_spaces(text, count, &last_char);
+    
+    if (last_char == '\n' || last_char == 0)
+    {
+        /* Line ends in linefeed, do not justify. */
+        render_left(font, x0, y0, text, count, callback, state);
+        return;
+    }
+    
+    string_width = mf_get_string_width(font, text, count, false);
+    adjustment = width - string_width;
+    num_spaces = count_spaces(text, count);
+    
+    {
+        int16_t x, tmp;
+        uint16_t c1 = 0, c2;
+        
+        x = x0 - font->baseline_x;
+        while (count--)
+        {
+            c2 = mf_getchar(&text);
+            
+            if (c2 == '\t')
+            {
+#if MF_USE_TABS
+                tmp = x;
+                x = mf_round_to_tab(font, x0, x);
+                adjustment -= x - tmp - mf_character_width(font, '\t');
+                c1 = c2;
+                continue;
+#else
+                c2 = ' ';
+#endif
+            }
+            
+            if (is_justify_space(c2))
+            {
+                tmp = (adjustment + num_spaces / 2) / num_spaces;
+                adjustment -= tmp;
+                num_spaces--;
+                x += tmp;
+            }
+            
+            if (c1 != 0)
+            {
+                tmp = mf_compute_kerning(font, c1, c2);
+                x += tmp;
+                adjustment -= tmp;
+            }
+
+            x += callback(x, y0, c2, state);
+            c1 = c2;
+        }
+    }
+}
+
+#endif
+
diff --git a/src/gdisp/mcufont/mf_justify.h b/src/gdisp/mcufont/mf_justify.h
new file mode 100644
index 00000000..c3e8ba75
--- /dev/null
+++ b/src/gdisp/mcufont/mf_justify.h
@@ -0,0 +1,74 @@
+/* Text alignment and justification algorithm. Supports left, right, center
+ * alignment and justify. Supports tab stops and kerning.
+ */
+
+#ifndef _MF_JUSTIFY_H_
+#define _MF_JUSTIFY_H_
+
+#include "mf_rlefont.h"
+#include <stdbool.h>
+
+enum mf_align_t
+{
+    MF_ALIGN_LEFT = 0,
+    MF_ALIGN_CENTER,
+    MF_ALIGN_RIGHT
+};
+
+/* Callback for rendering a single character.
+ * x0:          Left edge of the target position of character.
+ * y0:          Upper edge of the target position of character.
+ * character:   Character to render.
+ * state:       Free state variable for use by the callback.
+ * Returns the width of the character.
+ */
+typedef uint8_t (*mf_character_callback_t) (int16_t x0, int16_t y0,
+                                            mf_char character, void *state);
+
+/* Get width of a string in pixels.
+ *
+ * font:   Pointer to the font definition.
+ * text:   Pointer to start of the text to measure.
+ * count:  Number of characters on the line or 0 to read until end of string.
+ * kern:   True to consider kerning (slower).
+ */
+MF_EXTERN int16_t mf_get_string_width(const struct mf_font_s *font,
+                                      mf_str text, uint16_t count, bool kern);
+
+/* Render a single line of aligned text.
+ *
+ * font:     Pointer to the font definition.
+ * x0:       Depending on aligned, either left, center or right edge of target.
+ * y0:       Upper edge of the target area.
+ * align:    Type of alignment.
+ * text:     Pointer to start of the text to render.
+ * count:    Number of characters on the line or 0 to read until end of string.
+ * callback: Callback to call for each character.
+ * state:    Free variable for use in the callback.
+ */
+MF_EXTERN void mf_render_aligned(const struct mf_font_s *font,
+                                 int16_t x0, int16_t y0,
+                                 enum mf_align_t align,
+                                 mf_str text, uint16_t count,
+                                 mf_character_callback_t callback,
+                                 void *state);
+
+/* Render a single line of justified text.
+ *
+ * font:     Pointer to the font definition.
+ * x0:       Left edge of the target area.
+ * y0:       Upper edge of the target area.
+ * width:    Width of the target area.
+ * text:     Pointer to start of the text to render.
+ * count:    Number of characters on the line or 0 to read until end of string.
+ * callback: Callback to call for each character.
+ * state:    Free variable for use in the callback.
+ */
+MF_EXTERN void mf_render_justified(const struct mf_font_s *font,
+                                   int16_t x0, int16_t y0, int16_t width,
+                                   mf_str text, uint16_t count,
+                                   mf_character_callback_t callback,
+                                   void *state);
+
+
+#endif
diff --git a/src/gdisp/mcufont/mf_kerning.c b/src/gdisp/mcufont/mf_kerning.c
new file mode 100644
index 00000000..bd5afc1a
--- /dev/null
+++ b/src/gdisp/mcufont/mf_kerning.c
@@ -0,0 +1,118 @@
+#include "mf_kerning.h"
+#include <stdbool.h>
+
+#if MF_USE_KERNING
+
+/* Structure for keeping track of the edge of the glyph as it is rendered. */
+struct kerning_state_s
+{
+    uint8_t edgepos[MF_KERNING_ZONES];
+    uint8_t zoneheight;
+};
+
+/* Pixel callback for analyzing the left edge of a glyph. */
+static void fit_leftedge(int16_t x, int16_t y, uint8_t count, uint8_t alpha,
+                         void *state)
+{
+    struct kerning_state_s *s = state;
+    
+    if (alpha > 7)
+    {
+        uint8_t zone = y / s->zoneheight;
+        if (x < s->edgepos[zone])
+            s->edgepos[zone] = x;
+    }
+}
+
+/* Pixel callback for analyzing the right edge of a glyph. */
+static void fit_rightedge(int16_t x, int16_t y, uint8_t count, uint8_t alpha,
+                         void *state)
+{
+    struct kerning_state_s *s = state;
+    
+    if (alpha > 7)
+    {
+        uint8_t zone = y / s->zoneheight;
+        x += count - 1;
+        if (x > s->edgepos[zone])
+            s->edgepos[zone] = x;
+    }
+}
+
+/* Should kerning be done against this character? */
+static bool do_kerning(mf_char c)
+{
+    /* Just a speed optimization, spaces would be ignored anyway. */
+    if (c == ' ' || c == '\n' || c == '\r' || c == '\t')
+        return false;
+    
+    /* Do not kern against digits, in order to keep values in tables nicely
+     * aligned. Most fonts have constant width for digits. */
+    if (c >= '0' && c <= '9')
+        return false;
+    
+    return true;
+}
+
+static int16_t min16(int16_t a, int16_t b) { return (a < b) ? a : b; }
+static int16_t max16(int16_t a, int16_t b) { return (a > b) ? a : b; }
+static int16_t avg16(int16_t a, int16_t b) { return (a + b) / 2; }
+
+int8_t mf_compute_kerning(const struct mf_font_s *font,
+                          mf_char c1, mf_char c2)
+{
+    struct kerning_state_s leftedge, rightedge;
+    uint8_t w1, w2, i, min_space;
+    int16_t normal_space, adjust, max_adjust;
+    
+    if (font->flags & MF_FONT_FLAG_MONOSPACE)
+        return 0; /* No kerning for monospace fonts */
+    
+    if (!do_kerning(c1) || !do_kerning(c2))
+        return 0;
+    
+    /* Compute the height of one kerning zone in pixels */
+    i = (font->height + MF_KERNING_ZONES - 1) / MF_KERNING_ZONES;
+    if (i < 1) i = 1;
+    
+    /* Initialize structures */
+    leftedge.zoneheight = rightedge.zoneheight = i;
+    for (i = 0; i < MF_KERNING_ZONES; i++)
+    {
+        leftedge.edgepos[i] = 255;
+        rightedge.edgepos[i] = 0;
+    }
+    
+    /* Analyze the edges of both glyphs. */
+    w1 = mf_render_character(font, 0, 0, c1, fit_rightedge, &rightedge);
+    w2 = mf_render_character(font, 0, 0, c2, fit_leftedge, &leftedge);
+    
+    /* Find the minimum horizontal space between the glyphs. */
+    min_space = 255;
+    for (i = 0; i < MF_KERNING_ZONES; i++)
+    {
+        uint8_t space;
+        if (leftedge.edgepos[i] == 255 || rightedge.edgepos[i] == 0)
+            continue; /* Outside glyph area. */
+        
+        space = w1 - rightedge.edgepos[i] + leftedge.edgepos[i];
+        if (space < min_space)
+            min_space = space;
+    }
+    
+    if (min_space == 255)
+        return 0; /* One of the characters is space, or both are punctuation. */
+    
+    /* Compute the adjustment of the glyph position. */
+    normal_space = avg16(w1, w2) * MF_KERNING_SPACE_PERCENT / 100;
+    normal_space += MF_KERNING_SPACE_PIXELS;
+    adjust = normal_space - min_space;
+    max_adjust = -max16(w1, w2) * MF_KERNING_LIMIT / 100;
+    
+    if (adjust > 0) adjust = 0;
+    if (adjust < max_adjust) adjust = max_adjust;
+    
+    return adjust;
+}
+
+#endif
diff --git a/src/gdisp/mcufont/mf_kerning.h b/src/gdisp/mcufont/mf_kerning.h
new file mode 100644
index 00000000..ed885162
--- /dev/null
+++ b/src/gdisp/mcufont/mf_kerning.h
@@ -0,0 +1,29 @@
+/* Automatic kerning for font rendering. This solves the issue where some
+ * fonts (especially serif fonts) have too much space between specific
+ * character pairs, like WA or L'.
+ */
+
+#ifndef _MF_KERNING_H_
+#define _MF_KERNING_H_
+
+#include "mf_config.h"
+#include "mf_rlefont.h"
+
+/* Compute the kerning adjustment when c1 is followed by c2.
+ * 
+ * font: Pointer to the font definition.
+ * c1: The previous character.
+ * c2: The next character to render.
+ * 
+ * Returns the offset to add to the x position for c2.
+ */
+#if MF_USE_KERNING
+MF_EXTERN int8_t mf_compute_kerning(const struct mf_font_s *font,
+                                    mf_char c1, mf_char c2);
+#else
+static int8_t mf_compute_kerning(const struct mf_font_s *font,
+                                 mf_char c1, mf_char c2)
+{ return 0; }
+#endif
+
+#endif
\ No newline at end of file
diff --git a/src/gdisp/mcufont/mf_rlefont.c b/src/gdisp/mcufont/mf_rlefont.c
new file mode 100644
index 00000000..8afaa9c2
--- /dev/null
+++ b/src/gdisp/mcufont/mf_rlefont.c
@@ -0,0 +1,282 @@
+#include "mf_rlefont.h"
+
+/* Number of reserved codes before the dictionary entries. */
+#define DICT_START 24
+
+/* Special reference to mean "fill with zeros to the end of the glyph" */
+#define REF_FILLZEROS 16
+
+/* RLE codes */
+#define RLE_CODEMASK    0xC0
+#define RLE_VALMASK     0x3F
+#define RLE_ZEROS       0x00
+#define RLE_64ZEROS     0x40
+#define RLE_ONES        0x80
+#define RLE_SHADE       0xC0
+
+/* Dictionary "fill entries" for encoding bits directly. */
+#define DICT_START7BIT  4
+#define DICT_START6BIT  132
+#define DICT_START5BIT  196
+#define DICT_START4BIT  228
+#define DICT_START3BIT  244
+#define DICT_START2BIT  252
+
+/* Find a pointer to the glyph matching a given character by searching
+ * through the character ranges. If the character is not found, return
+ * pointer to the default glyph.
+ */
+static const uint8_t *find_glyph(const struct mf_rlefont_s *font,
+                                 uint16_t character)
+{
+   unsigned i, index;
+   const struct mf_rlefont_char_range_s *range;
+   for (i = 0; i < font->char_range_count; i++)
+   {
+       range = &font->char_ranges[i];
+       index = character - range->first_char;
+       if (character >= range->first_char && index < range->char_count)
+       {
+           uint16_t offset = range->glyph_offsets[index];
+           return &range->glyph_data[offset];
+       }
+   }
+
+   return 0;
+}
+
+/* Structure to keep track of coordinates of the next pixel to be written,
+ * and also the bounds of the character. */
+struct renderstate_r
+{
+    int16_t x_begin;
+    int16_t x_end;
+    int16_t x;
+    int16_t y;
+    int16_t y_end;
+    mf_pixel_callback_t callback;
+    void *state;
+};
+
+/* Call the callback to write one pixel to screen, and advance to next
+ * pixel position. */
+static void write_pixels(struct renderstate_r *rstate, uint16_t count,
+                         uint8_t alpha)
+{
+    uint8_t rowlen;
+    
+    /* Write row-by-row if the run spans multiple rows. */
+    while (rstate->x + count >= rstate->x_end)
+    {
+        rowlen = rstate->x_end - rstate->x;
+        rstate->callback(rstate->x, rstate->y, rowlen, alpha, rstate->state);
+        count -= rowlen;
+        rstate->x = rstate->x_begin;
+        rstate->y++;
+    }
+    
+    /* Write the remaining part */
+    if (count)
+    {
+        rstate->callback(rstate->x, rstate->y, count, alpha, rstate->state);
+        rstate->x += count;
+    }
+}
+
+/* Skip the given number of pixels (0 alpha) */
+static void skip_pixels(struct renderstate_r *rstate, uint16_t count)
+{
+    rstate->x += count;
+    while (rstate->x >= rstate->x_end)
+    {
+        rstate->x -= rstate->x_end - rstate->x_begin;
+        rstate->y++;
+    }
+}
+
+/* Decode and write out a RLE-encoded dictionary entry. */
+static void write_rle_dictentry(const struct mf_rlefont_s *font,
+                                struct renderstate_r *rstate,
+                                uint8_t index)
+{
+    uint16_t offset = font->dictionary_offsets[index];
+    uint16_t length = font->dictionary_offsets[index + 1] - offset;
+    uint16_t i;
+    
+    for (i = 0; i < length; i++)
+    {
+        uint8_t code = font->dictionary_data[offset + i];
+        if ((code & RLE_CODEMASK) == RLE_ZEROS)
+        {
+            skip_pixels(rstate, code & RLE_VALMASK);
+        }
+        else if ((code & RLE_CODEMASK) == RLE_64ZEROS)
+        {
+            skip_pixels(rstate, ((code & RLE_VALMASK) + 1) * 64);
+        }
+        else if ((code & RLE_CODEMASK) == RLE_ONES)
+        {
+            write_pixels(rstate, (code & RLE_VALMASK) + 1, 255);
+        }
+        else if ((code & RLE_CODEMASK) == RLE_SHADE)
+        {
+            uint8_t count, alpha;
+            count = ((code & RLE_VALMASK) >> 4) + 1;
+            alpha = ((code & RLE_VALMASK) & 0xF) * 0x11;
+            write_pixels(rstate, count, alpha);
+        }
+    }
+}
+
+/* Get bit count for the "fill entries" */
+static uint8_t fillentry_bitcount(uint8_t index)
+{
+    if (index >= DICT_START2BIT)
+        return 2;
+    else if (index >= DICT_START3BIT)
+        return 3;
+    else if (index >= DICT_START4BIT)
+        return 4;
+    else if (index >= DICT_START5BIT)
+        return 5;
+    else if (index >= DICT_START6BIT)
+        return 6;
+    else
+        return 7;
+}
+
+/* Decode and write out a direct binary codeword */
+static void write_bin_codeword(const struct mf_rlefont_s *font,
+                                struct renderstate_r *rstate,
+                                uint8_t code)
+{
+    uint8_t bitcount = fillentry_bitcount(code);
+    uint8_t byte = code - DICT_START7BIT;
+    uint8_t runlen = 0;
+    
+    while (bitcount--)
+    {
+        if (byte & 1)
+        {
+            runlen++;
+        }
+        else 
+        {
+            if (runlen)
+            {
+                write_pixels(rstate, runlen, 255);
+                runlen = 0;
+            }
+            
+            skip_pixels(rstate, 1);
+        }
+        
+        byte >>= 1;
+    }
+    
+    if (runlen)
+        write_pixels(rstate, runlen, 255);
+}
+
+/* Decode and write out a reference codeword */
+static void write_ref_codeword(const struct mf_rlefont_s *font,
+                                struct renderstate_r *rstate,
+                                uint8_t code)
+{
+    if (code <= 15)
+    {
+        write_pixels(rstate, 1, 0x11 * code);
+    }
+    else if (code == REF_FILLZEROS)
+    {
+        /* Fill with zeroes to end */
+        rstate->y = rstate->y_end;
+    }
+    else if (code < DICT_START)
+    {
+        /* Reserved */
+    }
+    else if (code < DICT_START + font->rle_entry_count)
+    {
+        write_rle_dictentry(font, rstate, code - DICT_START);
+    }
+    else
+    {
+        write_bin_codeword(font, rstate, code);
+    }
+}
+
+/* Decode and write out a reference encoded dictionary entry. */
+static void write_ref_dictentry(const struct mf_rlefont_s *font,
+                                struct renderstate_r *rstate,
+                                uint8_t index)
+{
+    uint16_t offset = font->dictionary_offsets[index];
+    uint16_t length = font->dictionary_offsets[index + 1] - offset;
+    uint16_t i;
+    
+    for (i = 0; i < length; i++)
+    {
+        uint8_t code = font->dictionary_data[offset + i];
+        write_ref_codeword(font, rstate, code);
+    }
+}
+
+/* Decode and write out an arbitrary glyph codeword */
+static void write_glyph_codeword(const struct mf_rlefont_s *font,
+                                struct renderstate_r *rstate,
+                                uint8_t code)
+{
+    if (code >= DICT_START + font->rle_entry_count &&
+        code < DICT_START + font->dict_entry_count)
+    {
+        write_ref_dictentry(font, rstate, code - DICT_START);
+    }
+    else
+    {
+        write_ref_codeword(font, rstate, code);
+    }
+}
+
+
+uint8_t mf_rlefont_render_character(const struct mf_font_s *font,
+                                    int16_t x0, int16_t y0,
+                                    uint16_t character,
+                                    mf_pixel_callback_t callback,
+                                    void *state)
+{
+    const uint8_t *p;
+    uint8_t width;
+    
+    struct renderstate_r rstate;
+    rstate.x_begin = x0;
+    rstate.x_end = x0 + font->width;
+    rstate.x = x0;
+    rstate.y = y0;
+    rstate.y_end = y0 + font->height;
+    rstate.callback = callback;
+    rstate.state = state;
+    
+    p = find_glyph((struct mf_rlefont_s*)font, character);
+    if (!p)
+        return 0;
+    
+    width = *p++;
+    while (rstate.y < rstate.y_end)
+    {
+        write_glyph_codeword((struct mf_rlefont_s*)font, &rstate, *p++);
+    }
+    
+    return width;
+}
+
+uint8_t mf_rlefont_character_width(const struct mf_font_s *font,
+                                   uint16_t character)
+{
+    const uint8_t *p;
+    p = find_glyph((struct mf_rlefont_s*)font, character);
+    if (!p)
+        return 0;
+    
+    return *p;
+}
diff --git a/src/gdisp/mcufont/mf_rlefont.h b/src/gdisp/mcufont/mf_rlefont.h
new file mode 100644
index 00000000..d8275d5c
--- /dev/null
+++ b/src/gdisp/mcufont/mf_rlefont.h
@@ -0,0 +1,74 @@
+/* A compressed font format based on run length encoding and dictionary
+ * compression.
+ */
+
+#ifndef _MF_RLEFONT_H_
+#define _MF_RLEFONT_H_
+
+#include "mf_font.h"
+
+/* Versions of the RLE font format that are supported. */
+#define MF_RLEFONT_VERSION_4_SUPPORTED 1
+
+/* Structure for a range of characters. This implements a sparse storage of
+ * character indices, so that you can e.g. pick a 100 characters in the middle
+ * of the UTF16 range and just store them. */
+struct mf_rlefont_char_range_s
+{
+    /* The number of the first character in this range. */
+    uint16_t first_char;
+    
+    /* The total count of characters in this range. */
+    uint16_t char_count;
+    
+    /* Lookup table with the start indices into glyph_data. */
+    const uint16_t *glyph_offsets;
+    
+    /* The encoded glyph data for glyphs in this range. */
+    const uint8_t *glyph_data;
+};
+
+/* Structure for a single encoded font. */
+struct mf_rlefont_s
+{
+    struct mf_font_s font;
+    
+    /* Version of the font definition used. */
+    const uint8_t version;
+    
+    /* Big array of the data for all the dictionary entries. */
+    const uint8_t *dictionary_data;
+    
+    /* Lookup table with the start indices into dictionary_data.
+     * Contains N+1 entries, so that the length of the entry can
+     * be determined by subtracting from the next offset. */
+    const uint16_t *dictionary_offsets;
+    
+    /* Number of dictionary entries using the RLE encoding.
+     * Entries starting at this index use the dictionary encoding. */
+    const uint8_t rle_entry_count;
+    
+    /* Total number of dictionary entries.
+     * Entries after this are nonexistent. */
+    const uint8_t dict_entry_count;
+    
+    /* Number of discontinuous character ranges */
+    const uint8_t char_range_count;
+    
+    /* Array of the character ranges */
+    const struct mf_rlefont_char_range_s *char_ranges;
+};
+
+#ifdef MF_RLEFONT_INTERNALS
+/* Internal functions, don't use these directly. */
+MF_EXTERN uint8_t mf_rlefont_render_character(const struct mf_font_s *font,
+                                              int16_t x0, int16_t y0,
+                                              mf_char character,
+                                              mf_pixel_callback_t callback,
+                                              void *state);
+
+MF_EXTERN uint8_t mf_rlefont_character_width(const struct mf_font_s *font,
+                                             mf_char character);
+#endif
+
+#endif
diff --git a/src/gdisp/mcufont/mf_scaledfont.c b/src/gdisp/mcufont/mf_scaledfont.c
new file mode 100644
index 00000000..da2b31fe
--- /dev/null
+++ b/src/gdisp/mcufont/mf_scaledfont.c
@@ -0,0 +1,83 @@
+#include "mf_scaledfont.h"
+
+struct scaled_renderstate
+{
+    mf_pixel_callback_t orig_callback;
+    void *orig_state;
+    uint8_t x_scale;
+    uint8_t y_scale;
+    int16_t x0;
+    int16_t y0;
+};
+
+static void scaled_pixel_callback(int16_t x, int16_t y, uint8_t count,
+                                  uint8_t alpha, void *state)
+{
+    struct scaled_renderstate *rstate = state;
+    uint8_t dy;
+    
+    count *= rstate->x_scale;
+    x = rstate->x0 + x * rstate->x_scale;
+    y = rstate->y0 + y * rstate->y_scale;
+    
+    for (dy = 0; dy < rstate->y_scale; dy++)
+    {
+        rstate->orig_callback(x, y + dy, count, alpha, rstate->orig_state);
+    }
+}
+    
+static uint8_t scaled_character_width(const struct mf_font_s *font,
+                                      mf_char character)
+{
+    struct mf_scaledfont_s *sfont = (struct mf_scaledfont_s*)font;
+    uint8_t basewidth;
+    
+    basewidth = sfont->basefont->character_width(sfont->basefont, character);
+    
+    return sfont->x_scale * basewidth;
+}
+
+static uint8_t scaled_render_character(const struct mf_font_s *font,
+                                       int16_t x0, int16_t y0,
+                                       mf_char character,
+                                       mf_pixel_callback_t callback,
+                                       void *state)
+{
+    struct mf_scaledfont_s *sfont = (struct mf_scaledfont_s*)font;
+    struct scaled_renderstate rstate;
+    uint8_t basewidth;
+    
+    rstate.orig_callback = callback;
+    rstate.orig_state = state;
+    rstate.x_scale = sfont->x_scale;
+    rstate.y_scale = sfont->y_scale;
+    rstate.x0 = x0;
+    rstate.y0 = y0;
+    
+    basewidth = sfont->basefont->render_character(sfont->basefont, 0, 0,
+                            character, scaled_pixel_callback, &rstate);
+    
+    return sfont->x_scale * basewidth;
+}
+
+void mf_scale_font(struct mf_scaledfont_s *newfont,
+                   const struct mf_font_s *basefont,
+                   uint8_t x_scale, uint8_t y_scale)
+{
+    newfont->font = *basefont;
+    newfont->basefont = basefont;
+    
+    newfont->font.width *= x_scale;
+    newfont->font.height *= y_scale;
+    newfont->font.baseline_x *= x_scale;
+    newfont->font.baseline_y *= y_scale;
+    newfont->font.min_x_advance *= x_scale;
+    newfont->font.max_x_advance *= x_scale;
+    newfont->font.line_height *= y_scale;
+    newfont->font.character_width = &scaled_character_width;
+    newfont->font.render_character = &scaled_render_character;
+    
+    newfont->x_scale = x_scale;
+    newfont->y_scale = y_scale;
+}
+
diff --git a/src/gdisp/mcufont/mf_scaledfont.h b/src/gdisp/mcufont/mf_scaledfont.h
new file mode 100644
index 00000000..f6607010
--- /dev/null
+++ b/src/gdisp/mcufont/mf_scaledfont.h
@@ -0,0 +1,23 @@
+/* Generate scaled (nearest-neighbor) fonts. This can be used for displaying
+ * larger text without spending the memory required for including larger fonts.
+ */
+
+#ifndef _MF_SCALEDFONT_H_
+#define _MF_SCALEDFONT_H_
+
+#include "mf_font.h"
+
+struct mf_scaledfont_s
+{
+    struct mf_font_s font;
+    
+    const struct mf_font_s *basefont;
+    uint8_t x_scale;
+    uint8_t y_scale;
+};
+
+MF_EXTERN void mf_scale_font(struct mf_scaledfont_s *newfont,
+                             const struct mf_font_s *basefont,
+                             uint8_t x_scale, uint8_t y_scale);
+
+#endif
diff --git a/src/gdisp/mcufont/mf_wordwrap.c b/src/gdisp/mcufont/mf_wordwrap.c
new file mode 100644
index 00000000..cc735a4e
--- /dev/null
+++ b/src/gdisp/mcufont/mf_wordwrap.c
@@ -0,0 +1,290 @@
+#include "mf_wordwrap.h"
+
+/* Returns true if the line can be broken at this character. */
+static bool is_wrap_space(uint16_t c)
+{
+    return c == ' ' || c == '\n' || c == '\t' || c == '\r' || c == '-';
+}
+
+#if MF_USE_ADVANCED_WORDWRAP
+
+/* Represents a single word and the whitespace after it. */
+struct wordlen_s
+{
+    int16_t word; /* Length of the word in pixels. */
+    int16_t space; /* Length of the whitespace in pixels. */
+    uint16_t chars; /* Number of characters in word + space, combined. */
+};
+
+/* Take the next word from the string and compute its width.
+ * Returns true if the word ends in a linebreak. */
+static bool get_wordlen(const struct mf_font_s *font, mf_str *text,
+                        struct wordlen_s *result)
+{
+    mf_char c;
+    mf_str prev;
+    
+    result->word = 0;
+    result->space = 0;
+    result->chars = 0;
+    
+    c = mf_getchar(text);
+    while (c && !is_wrap_space(c))
+    {
+        result->chars++;
+        result->word += mf_character_width(font, c);
+        c = mf_getchar(text);
+    }
+    
+    prev = *text;
+    while (c && is_wrap_space(c))
+    {
+        result->chars++;
+        
+        if (c == ' ')
+            result->space += mf_character_width(font, c);
+        else if (c == '\t')
+            result->space += mf_character_width(font, 'm') * MF_TABSIZE;
+        else if (c == '\n')
+            break;
+        
+        prev = *text;
+        c = mf_getchar(text);
+    }
+    
+    /* The last loop reads the first character of next word, put it back. */
+    if (c)
+        *text = prev;
+    
+    return (c == '\0' || c == '\n');
+}
+
+/* Represents the rendered length for a single line. */
+struct linelen_s
+{
+    mf_str start; /* Start of the text for line. */
+    uint16_t chars; /* Total number of characters on the line. */
+    int16_t width; /* Total length of all words + whitespace on the line in pixels. */
+    bool linebreak; /* True if line ends in a linebreak */
+    struct wordlen_s last_word; /* Last word on the line. */
+    struct wordlen_s last_word_2; /* Second to last word on the line. */
+};
+
+/* Append word onto the line if it fits. If it would overflow, don't add and
+ * return false. */
+static bool append_word(const struct mf_font_s *font, int16_t width,
+                        struct linelen_s *current, mf_str *text)
+{
+    mf_str tmp = *text;
+    struct wordlen_s wordlen;
+    bool linebreak;
+    
+    linebreak = get_wordlen(font, &tmp, &wordlen);
+    
+    if (current->width + wordlen.word <= width)
+    {
+        *text = tmp;
+        current->last_word_2 = current->last_word;
+        current->last_word = wordlen;
+        current->linebreak = linebreak;
+        current->chars += wordlen.chars;
+        current->width += wordlen.word + wordlen.space;
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+/* Append a character to the line if it fits. */
+static bool append_char(const struct mf_font_s *font, int16_t width,
+                        struct linelen_s *current, mf_str *text)
+{
+    mf_str tmp = *text;
+    mf_char c;
+    uint16_t w;
+    
+    c = mf_getchar(&tmp);
+    w = mf_character_width(font, c);
+    
+    if (current->width + w <= width)
+    {
+        *text = tmp;
+        current->chars++;
+        current->width += w;
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
+
+static int16_t abs16(int16_t x) { return (x > 0) ? x : -x; }
+static int32_t sq16(int16_t x) { return (int32_t)x * x; }
+
+/* Try to balance the lines by potentially moving one word from the previous
+ * line to the the current one. */
+static void tune_lines(struct linelen_s *current, struct linelen_s *previous,
+                       int16_t max_width)
+{
+    int16_t curw1, prevw1;
+    int16_t curw2, prevw2;
+    int32_t delta1, delta2;
+    
+    /* If the lines are rendered as is */
+    curw1 = current->width - current->last_word.space;
+    prevw1 = previous->width - previous->last_word.space;
+    delta1 = sq16(max_width - prevw1) + sq16(max_width - curw1);
+    
+    /* If the last word is moved */
+    curw2 = current->width + previous->last_word.word;
+    prevw2 = previous->width - previous->last_word.word
+                             - previous->last_word.space
+                             - previous->last_word_2.space;
+    delta2 = sq16(max_width - prevw2) + sq16(max_width - curw2);
+    
+    if (delta1 > delta2 && curw2 <= max_width)
+    {
+        /* Do the change. */
+        uint16_t chars;
+        
+        chars = previous->last_word.chars;
+        previous->chars -= chars;
+        current->chars += chars;
+        previous->width -= previous->last_word.word + previous->last_word.space;
+        current->width += previous->last_word.word + previous->last_word.space;
+        previous->last_word = previous->last_word_2;
+        
+        while (chars--) mf_rewind(&current->start);
+    }
+}
+
+void mf_wordwrap(const struct mf_font_s *font, int16_t width,
+                 mf_str text, mf_line_callback_t callback, void *state)
+{
+    struct linelen_s current = {};
+    struct linelen_s previous = {};
+    bool full;
+    
+    current.start = text;
+    
+    while (*text)
+    {
+        full = !append_word(font, width, &current, &text);
+        
+        if (full || current.linebreak)
+        {
+            if (!current.chars)
+            {
+                /* We have a very long word. We must just cut it off at some
+                 * point. */
+                while (append_char(font, width, &current, &text));
+            }
+            
+            if (previous.chars)
+            {
+                /* Tune the length and dispatch the previous line. */
+                if (!previous.linebreak && !current.linebreak)
+                    tune_lines(&current, &previous, width);
+                
+                if (!callback(previous.start, previous.chars, state))
+                    return;
+            }
+            
+            previous = current;
+            current.start = text;
+            current.chars = 0;
+            current.width = 0;
+            current.linebreak = false;
+            current.last_word.word = 0;
+            current.last_word.space = 0;
+            current.last_word.chars = 0;
+        }
+    }
+    
+    /* Dispatch the last lines. */
+    if (previous.chars)
+    {
+        if (!callback(previous.start, previous.chars, state))
+            return;
+    }
+    
+    if (current.chars)
+        callback(current.start, current.chars, state);
+}
+
+#else
+
+void mf_wordwrap(const struct mf_font_s *font, int16_t width,
+                 mf_str text, mf_line_callback_t callback, void *state)
+{
+    mf_str orig = text;
+    mf_str linestart;
+    
+    /* Current line width and character count */
+    int16_t lw_cur = 0, cc_cur = 0;
+    
+    /* Previous wrap point */
+    int16_t cc_prev;
+    mf_str ls_prev;
+    
+    linestart = text;
+    
+    while (*text)
+    {
+        cc_prev = 0;
+        ls_prev = text;
+    
+        while (*text)
+        {
+            mf_char c;
+            int16_t new_width;
+            mf_str tmp;
+            
+            tmp = text;
+            c = mf_getchar(&text);
+            new_width = lw_cur + mf_character_width(font, c);
+            
+            if (c == '\n')
+            {
+                cc_prev = cc_cur + 1;
+                ls_prev = text;
+                break;
+            }
+            
+            if (new_width > width)
+            {
+                text = tmp;
+                break;
+            }
+            
+            cc_cur++;
+            lw_cur = new_width;
+            
+            if (is_wrap_space(c))
+            {
+                cc_prev = cc_cur;
+                ls_prev = text;
+            }
+        }
+        
+        /* Handle unbreakable words */
+        if (cc_prev == 0)
+        {
+            cc_prev = cc_cur;
+            ls_prev = text;
+        }
+        
+        if (!callback(linestart, cc_prev, state))
+            return;
+        
+        linestart = ls_prev;
+        text = linestart;
+        lw_cur = 0;
+        cc_cur = 0;
+    }
+}
+
+#endif
diff --git a/src/gdisp/mcufont/mf_wordwrap.h b/src/gdisp/mcufont/mf_wordwrap.h
new file mode 100644
index 00000000..bf3dbcb7
--- /dev/null
+++ b/src/gdisp/mcufont/mf_wordwrap.h
@@ -0,0 +1,32 @@
+/* Word wrapping algorithm with UTF-8 support. More than just a basic greedy
+ * word-wrapper: it attempts to balance consecutive lines as pairs.
+ */
+
+#ifndef _MF_WORDWRAP_H_
+#define _MF_WORDWRAP_H_
+
+#include "mf_rlefont.h"
+#include <stdbool.h>
+
+/* Callback function for handling each line.
+ *
+ * line:   Pointer to the beginning of the string for this line.
+ * count:  Number of characters on the line.
+ * state:  Free variable that was passed to wordwrap().
+ * 
+ * Returns: true to continue, false to stop after this line.
+ */
+typedef bool (*mf_line_callback_t) (mf_str line, uint16_t count,
+                                    void *state);
+
+/* Word wrap a piece of text. Calls the callback function for each line.
+ * 
+ * font:  Font to use for metrics.
+ * width: Maximum line width in pixels.
+ * text:  Pointer to the start of the text to process.
+ * state: Free variable for caller to use (can be NULL).
+ */
+MF_EXTERN void mf_wordwrap(const struct mf_font_s *font, int16_t width,
+                           mf_str text, mf_line_callback_t callback, void *state);
+              
+#endif
-- 
cgit v1.2.3