aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorinmarket <andrewh@inmarket.com.au>2013-09-18 23:26:14 +1000
committerinmarket <andrewh@inmarket.com.au>2013-09-18 23:26:14 +1000
commit71ccbb32e12f95a60c40c3639910a2cc1fb5bfbd (patch)
treeb68505a3e56ce5579911a4e7237232f3e0076771
parent6e4437255b603b5b25360481507099dd9b92f942 (diff)
parent47f06373f361bf7cdea36ba167ee54afc60960c0 (diff)
downloaduGFX-71ccbb32e12f95a60c40c3639910a2cc1fb5bfbd.tar.gz
uGFX-71ccbb32e12f95a60c40c3639910a2cc1fb5bfbd.tar.bz2
uGFX-71ccbb32e12f95a60c40c3639910a2cc1fb5bfbd.zip
Merge remote-tracking branch 'origin/master' into GDISPStreaming
-rw-r--r--demos/modules/gdisp/gdisp_fonts_cyrillic/gfxconf.h169
-rw-r--r--demos/modules/gdisp/gdisp_fonts_cyrillic/main.c20
-rw-r--r--demos/modules/gdisp/gdisp_fonts_cyrillic/userfonts.h455
-rw-r--r--drivers/gdisp/ST7565/gdisp_lld.c269
-rw-r--r--drivers/gdisp/ST7565/gdisp_lld.mk6
-rw-r--r--drivers/gdisp/ST7565/gdisp_lld_board_template.h82
-rw-r--r--drivers/gdisp/ST7565/gdisp_lld_config.h29
-rw-r--r--drivers/gdisp/ST7565/st7565.h42
-rw-r--r--releases.txt1
9 files changed, 1073 insertions, 0 deletions
diff --git a/demos/modules/gdisp/gdisp_fonts_cyrillic/gfxconf.h b/demos/modules/gdisp/gdisp_fonts_cyrillic/gfxconf.h
new file mode 100644
index 00000000..997e57dd
--- /dev/null
+++ b/demos/modules/gdisp/gdisp_fonts_cyrillic/gfxconf.h
@@ -0,0 +1,169 @@
+/**
+ * This file has a different license to the rest of the GFX system.
+ * You can copy, modify and distribute this file as you see fit.
+ * You do not need to publish your source modifications to this file.
+ * The only thing you are not permitted to do is to relicense it
+ * under a different license.
+ */
+
+/**
+ * Copy this file into your project directory and rename it as gfxconf.h
+ * Edit your copy to turn on the GFX features you want to use.
+ */
+
+#ifndef _GFXCONF_H
+#define _GFXCONF_H
+
+/* The operating system to use - one of these must be defined */
+#define GFX_USE_OS_CHIBIOS FALSE
+#define GFX_USE_OS_WIN32 FALSE
+#define GFX_USE_OS_LINUX FALSE
+#define GFX_USE_OS_OSX FALSE
+
+/* GFX subsystems to turn on */
+#define GFX_USE_GDISP TRUE
+#define GFX_USE_TDISP FALSE
+#define GFX_USE_GWIN FALSE
+#define GFX_USE_GEVENT FALSE
+#define GFX_USE_GTIMER FALSE
+#define GFX_USE_GQUEUE FALSE
+#define GFX_USE_GINPUT FALSE
+#define GFX_USE_GADC FALSE
+#define GFX_USE_GAUDIN FALSE
+#define GFX_USE_GAUDOUT FALSE
+#define GFX_USE_GMISC FALSE
+
+/* Features for the GDISP subsystem */
+#define GDISP_NEED_VALIDATION TRUE
+#define GDISP_NEED_CLIP TRUE
+#define GDISP_NEED_TEXT TRUE
+#define GDISP_NEED_CIRCLE TRUE
+#define GDISP_NEED_ELLIPSE TRUE
+#define GDISP_NEED_ARC FALSE
+#define GDISP_NEED_CONVEX_POLYGON FALSE
+#define GDISP_NEED_SCROLL FALSE
+#define GDISP_NEED_PIXELREAD FALSE
+#define GDISP_NEED_CONTROL FALSE
+#define GDISP_NEED_QUERY FALSE
+#define GDISP_NEED_IMAGE FALSE
+#define GDISP_NEED_MULTITHREAD FALSE
+#define GDISP_NEED_ASYNC FALSE
+#define GDISP_NEED_MSGAPI FALSE
+#define GDISP_NEED_ANTIALIAS TRUE
+#define GDISP_NEED_UTF8 TRUE
+#define GDISP_NEED_TEXT_KERNING TRUE
+
+/* GDISP - fonts to include */
+#define GDISP_INCLUDE_FONT_DEJAVUSANS10 FALSE
+#define GDISP_INCLUDE_FONT_DEJAVUSANS12 FALSE
+#define GDISP_INCLUDE_FONT_DEJAVUSANS16 FALSE
+#define GDISP_INCLUDE_FONT_DEJAVUSANS24 FALSE
+#define GDISP_INCLUDE_FONT_DEJAVUSANS32 FALSE
+#define GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12 FALSE
+#define GDISP_INCLUDE_FONT_FIXED_10x20 FALSE
+#define GDISP_INCLUDE_FONT_FIXED_7x14 FALSE
+#define GDISP_INCLUDE_FONT_FIXED_5x8 FALSE
+#define GDISP_INCLUDE_FONT_DEJAVUSANS12_AA FALSE
+#define GDISP_INCLUDE_FONT_DEJAVUSANS16_AA FALSE
+#define GDISP_INCLUDE_FONT_DEJAVUSANS24_AA FALSE
+#define GDISP_INCLUDE_FONT_DEJAVUSANS32_AA FALSE
+#define GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12_AA FALSE
+
+#define GDISP_INCLUDE_FONT_UI1 FALSE
+#define GDISP_INCLUDE_FONT_UI2 FALSE
+#define GDISP_INCLUDE_FONT_LARGENUMBERS FALSE
+#define GDISP_INCLUDE_USER_FONTS TRUE
+
+/* GDISP image decoders */
+#define GDISP_NEED_IMAGE_NATIVE FALSE
+#define GDISP_NEED_IMAGE_GIF FALSE
+#define GDISP_NEED_IMAGE_BMP FALSE
+#define GDISP_NEED_IMAGE_JPG FALSE
+#define GDISP_NEED_IMAGE_PNG FALSE
+#define GDISP_NEED_IMAGE_ACCOUNTING FALSE
+
+/* Optional image support that can be turned off */
+/*
+ #define GDISP_NEED_IMAGE_BMP_1 TRUE
+ #define GDISP_NEED_IMAGE_BMP_4 TRUE
+ #define GDISP_NEED_IMAGE_BMP_4_RLE TRUE
+ #define GDISP_NEED_IMAGE_BMP_8 TRUE
+ #define GDISP_NEED_IMAGE_BMP_8_RLE TRUE
+ #define GDISP_NEED_IMAGE_BMP_16 TRUE
+ #define GDISP_NEED_IMAGE_BMP_24 TRUE
+ #define GDISP_NEED_IMAGE_BMP_32 TRUE
+*/
+
+/* Features for the TDISP subsystem. */
+#define TDISP_NEED_MULTITHREAD FALSE
+
+/* Features for the GWIN subsystem. */
+#define GWIN_NEED_WINDOWMANAGER FALSE
+#define GWIN_NEED_CONSOLE FALSE
+#define GWIN_NEED_GRAPH FALSE
+#define GWIN_NEED_WIDGET FALSE
+#define GWIN_NEED_BUTTON FALSE
+#define GWIN_NEED_SLIDER FALSE
+#define GWIN_NEED_CHECKBOX FALSE
+#define GWIN_NEED_IMAGE FALSE
+#define GWIN_NEED_RADIO FALSE
+#define GWIN_NEED_LIST FALSE
+
+/* Features for the GEVENT subsystem. */
+#define GEVENT_ASSERT_NO_RESOURCE FALSE
+
+/* Features for the GTIMER subsystem. */
+/* NONE */
+
+/* Features for the GQUEUE subsystem. */
+#define GQUEUE_NEED_ASYNC FALSE
+#define GQUEUE_NEED_GSYNC FALSE
+#define GQUEUE_NEED_FSYNC FALSE
+
+/* Features for the GINPUT subsystem. */
+#define GINPUT_NEED_MOUSE FALSE
+#define GINPUT_NEED_KEYBOARD FALSE
+#define GINPUT_NEED_TOGGLE FALSE
+#define GINPUT_NEED_DIAL FALSE
+
+/* Features for the GADC subsystem. */
+/* NONE */
+
+/* Features for the GAUDIN subsystem. */
+/* NONE */
+
+/* Features for the GAUDOUT subsystem. */
+/* NONE */
+
+/* Features for the GMISC subsystem. */
+#define GMISC_NEED_ARRAYOPS FALSE
+#define GMISC_NEED_FASTTRIG FALSE
+#define GMISC_NEED_FIXEDTRIG FALSE
+
+/* Optional Parameters for various subsystems */
+/*
+ #define GDISP_NEED_UTF8 FALSE
+ #define GDISP_NEED_TEXT_KERNING FALSE
+ #define GDISP_NEED_ANTIALIAS FALSE
+ #define GEVENT_MAXIMUM_SIZE 32
+ #define GEVENT_MAX_SOURCE_LISTENERS 32
+ #define GTIMER_THREAD_WORKAREA_SIZE 512
+ #define GADC_MAX_LOWSPEED_DEVICES 4
+ #define GWIN_BUTTON_LAZY_RELEASE FALSE
+ #define GWIN_CONSOLE_USE_BASESTREAM FALSE
+ #define GWIN_CONSOLE_USE_FLOAT FALSE
+ #define GWIN_NEED_IMAGE_ANIMATION FALSE
+*/
+
+/* Optional Low Level Driver Definitions */
+/*
+ #define GDISP_USE_CUSTOM_BOARD FALSE
+ #define GDISP_SCREEN_WIDTH 320
+ #define GDISP_SCREEN_HEIGHT 240
+ #define GDISP_USE_FSMC
+ #define GDISP_USE_GPIO
+ #define TDISP_COLUMNS 16
+ #define TDISP_ROWS 2
+*/
+
+#endif /* _GFXCONF_H */
diff --git a/demos/modules/gdisp/gdisp_fonts_cyrillic/main.c b/demos/modules/gdisp/gdisp_fonts_cyrillic/main.c
new file mode 100644
index 00000000..dd39a5d5
--- /dev/null
+++ b/demos/modules/gdisp/gdisp_fonts_cyrillic/main.c
@@ -0,0 +1,20 @@
+#include "gfx.h"
+
+int main(void) {
+ font_t font1;
+
+ // Initialize uGFX and the underlying system
+ gfxInit();
+
+ // Get the fonts we want to use
+ font1 = gdispOpenFont("Archangelsk Regular 12");
+
+ // Demonstrate our other fonts
+ gdispDrawString(10, 10, "привет мир", font1, Yellow);
+
+ // Wait forever
+ while(TRUE) {
+ gfxSleepMilliseconds(500);
+ }
+}
+
diff --git a/demos/modules/gdisp/gdisp_fonts_cyrillic/userfonts.h b/demos/modules/gdisp/gdisp_fonts_cyrillic/userfonts.h
new file mode 100644
index 00000000..4cb6b503
--- /dev/null
+++ b/demos/modules/gdisp/gdisp_fonts_cyrillic/userfonts.h
@@ -0,0 +1,455 @@
+
+
+/* Start of automatically generated font definition for php6ySCWY. */
+
+#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_php6ySCWY_dictionary_data[352] = {
+ 0x11, 0x09, 0x80, 0x03, 0x0f, 0x80, 0x0f, 0x80, 0x41, 0x01, 0x80, 0xc5, 0x80, 0xce, 0xc6, 0x0f,
+ 0x80, 0x0e, 0x02, 0x09, 0x80, 0x09, 0x0b, 0xc2, 0xce, 0x04, 0x0f, 0x0d, 0xc1, 0xcc, 0x05, 0x80,
+ 0x09, 0x80, 0x05, 0x80, 0xce, 0xc2, 0x01, 0x80, 0xc3, 0x40, 0x01, 0xce, 0xc7, 0x06, 0x80, 0x03,
+ 0x80, 0x06, 0x0a, 0x80, 0x83, 0xc8, 0x80, 0xc1, 0xcd, 0xce, 0xc5, 0x85, 0x21, 0x01, 0x80, 0x84,
+ 0x40, 0x11, 0x80, 0x1f, 0x21, 0x80, 0xcd, 0xc2, 0x80, 0x0b, 0x80, 0xca, 0xcd, 0xc4, 0x02, 0x80,
+ 0x80, 0xc9, 0xcd, 0xc5, 0xc5, 0xcd, 0x0b, 0x80, 0x03, 0x05, 0xc2, 0x80, 0x81, 0x82, 0xc4, 0x80,
+ 0xc3, 0xcd, 0x0a, 0x80, 0x02, 0xce, 0xc3, 0x01, 0xca, 0xc1, 0xcb, 0xce, 0x81, 0xcc, 0xc1, 0xc3,
+ 0xce, 0x07, 0xc6, 0xce, 0xc7, 0xce, 0xc6, 0x80, 0xca, 0xc3, 0x80, 0xce, 0xc7, 0x80, 0x10, 0x80,
+ 0xc4, 0xc8, 0xce, 0x20, 0x0c, 0x08, 0xca, 0x80, 0x31, 0xc2, 0xcd, 0xc4, 0xcd, 0xc1, 0xce, 0x0b,
+ 0x82, 0x80, 0x01, 0x24, 0x2c, 0x39, 0x33, 0x43, 0x22, 0xc5, 0x4b, 0x22, 0x2c, 0x21, 0x25, 0x19,
+ 0x2a, 0x0f, 0x1f, 0x2c, 0x28, 0x29, 0x20, 0x29, 0x0c, 0x19, 0x1b, 0x33, 0x05, 0x32, 0x1b, 0x03,
+ 0x0f, 0x21, 0x32, 0x26, 0x23, 0x2e, 0x56, 0x49, 0x29, 0x3d, 0x60, 0xcc, 0x50, 0x39, 0x19, 0x19,
+ 0x2a, 0x24, 0x4e, 0x00, 0x57, 0x4c, 0xc2, 0x01, 0x4c, 0x0f, 0x08, 0x21, 0x07, 0x42, 0x0e, 0x09,
+ 0x41, 0x54, 0xa6, 0x48, 0x1e, 0x22, 0xc8, 0x29, 0x22, 0xc8, 0x29, 0x24, 0x22, 0x52, 0x1a, 0x1d,
+ 0x1f, 0x27, 0x0d, 0x4c, 0xb4, 0x0d, 0x28, 0x07, 0x20, 0x48, 0x3e, 0x2f, 0x21, 0x3e, 0x08, 0x33,
+ 0x09, 0x42, 0x26, 0x29, 0x19, 0x09, 0x2d, 0x00, 0x5a, 0x08, 0x63, 0x3d, 0x0d, 0x01, 0x1a, 0x26,
+ 0xa6, 0x45, 0x3e, 0x2c, 0x3e, 0x2c, 0x00, 0x3e, 0x26, 0x32, 0x01, 0x20, 0x0d, 0x05, 0x0e, 0x49,
+ 0x2e, 0x31, 0x0f, 0x0b, 0x22, 0xc8, 0x25, 0x4c, 0xa6, 0x2a, 0x2a, 0x5e, 0xc2, 0x31, 0xc6, 0x33,
+ 0x0c, 0x46, 0x23, 0x2c, 0x21, 0x25, 0x22, 0x0b, 0x48, 0x00, 0x2b, 0xc8, 0xcc, 0x2b, 0x55, 0x49,
+ 0x26, 0x53, 0x60, 0xc2, 0x36, 0x2e, 0x0b, 0x0b, 0x21, 0x47, 0x05, 0x52, 0x28, 0x02, 0x5c, 0x4c,
+ 0x20, 0x35, 0x56, 0x0f, 0x2f, 0x28, 0x07, 0x49, 0x07, 0x28, 0x36, 0x22, 0xc5, 0x2c, 0x25, 0x60,
+ 0x29, 0x22, 0x4e, 0x1a, 0x45, 0x3e, 0x31, 0x1f, 0x1b, 0x1b, 0x4c, 0x56, 0x01, 0x28, 0x1a, 0x23,
+};
+
+static const uint16_t mf_rlefont_php6ySCWY_dictionary_offsets[138] = {
+ 0x0000, 0x0001, 0x0003, 0x0004, 0x0008, 0x000b, 0x000d, 0x000f,
+ 0x0011, 0x0012, 0x0013, 0x0014, 0x0016, 0x0017, 0x0019, 0x001a,
+ 0x001b, 0x001c, 0x001e, 0x0022, 0x0024, 0x0027, 0x0029, 0x002b,
+ 0x002d, 0x002e, 0x0032, 0x0034, 0x0035, 0x0037, 0x0039, 0x003b,
+ 0x003c, 0x003d, 0x003f, 0x0040, 0x0044, 0x0046, 0x0048, 0x004a,
+ 0x004c, 0x004e, 0x0050, 0x0052, 0x0054, 0x0056, 0x0059, 0x005a,
+ 0x005c, 0x005d, 0x005e, 0x0060, 0x0062, 0x0063, 0x0065, 0x0067,
+ 0x0069, 0x006b, 0x006d, 0x006f, 0x0071, 0x0072, 0x0074, 0x0076,
+ 0x0078, 0x007a, 0x007c, 0x007e, 0x007f, 0x0081, 0x0083, 0x0084,
+ 0x0085, 0x0086, 0x0088, 0x0089, 0x008b, 0x008d, 0x008f, 0x0091,
+ 0x0093, 0x0096, 0x009b, 0x00a1, 0x00a3, 0x00a5, 0x00a8, 0x00af,
+ 0x00b1, 0x00b3, 0x00b5, 0x00b8, 0x00bd, 0x00bf, 0x00c1, 0x00c9,
+ 0x00cc, 0x00ce, 0x00d0, 0x00d3, 0x00dc, 0x00df, 0x00e7, 0x00e9,
+ 0x00f0, 0x00f2, 0x00f5, 0x00f8, 0x00fc, 0x00ff, 0x0104, 0x0108,
+ 0x010d, 0x0110, 0x0112, 0x0114, 0x0119, 0x011b, 0x011d, 0x011f,
+ 0x0121, 0x0127, 0x0129, 0x012e, 0x0130, 0x0135, 0x013b, 0x0140,
+ 0x0142, 0x0145, 0x014a, 0x014d, 0x0150, 0x0154, 0x0157, 0x015b,
+ 0x015e, 0x0160,
+};
+
+static const uint8_t mf_rlefont_php6ySCWY_glyph_data_0[1460] = {
+ 0x06, 0x00, 0x10, 0x02, 0x3c, 0x1b, 0x1b, 0x27, 0x01, 0x1f, 0x07, 0x10, 0x04, 0x38, 0x3f, 0x67,
+ 0x70, 0x06, 0x0c, 0x28, 0x43, 0x08, 0x10, 0x08, 0x00, 0x3c, 0xa0, 0x5a, 0x37, 0x07, 0x19, 0xcc,
+ 0x32, 0xa0, 0x5a, 0x37, 0x07, 0x60, 0xa6, 0x4c, 0xa6, 0x10, 0x08, 0x46, 0x1f, 0x5f, 0x56, 0x33,
+ 0x08, 0x22, 0x4e, 0x20, 0x4e, 0x20, 0x56, 0x49, 0x43, 0x20, 0x53, 0x20, 0x53, 0x22, 0x08, 0x33,
+ 0x43, 0x70, 0x10, 0x0c, 0x38, 0x55, 0x40, 0x21, 0x25, 0x0b, 0x54, 0x52, 0x03, 0x0a, 0x21, 0x0c,
+ 0x84, 0x26, 0x52, 0x03, 0x0a, 0x00, 0x82, 0x54, 0x55, 0x40, 0x57, 0x06, 0x64, 0x1e, 0x60, 0x03,
+ 0x3f, 0x00, 0x58, 0x29, 0x54, 0x35, 0x52, 0x00, 0x58, 0x29, 0x54, 0x0b, 0x2c, 0x00, 0x64, 0x1e,
+ 0x10, 0x08, 0x1a, 0x38, 0x05, 0x0e, 0x1e, 0x5f, 0x40, 0x04, 0x0e, 0x22, 0xcc, 0x53, 0x22, 0x44,
+ 0x49, 0x2f, 0x22, 0x4e, 0x00, 0x57, 0x07, 0x4c, 0x0e, 0x04, 0x21, 0x0e, 0x0c, 0x4c, 0x44, 0x67,
+ 0x07, 0x2d, 0x10, 0x02, 0x3c, 0x05, 0x87, 0x10, 0x03, 0x18, 0x9f, 0x6c, 0x0f, 0x1b, 0x1b, 0x27,
+ 0x6c, 0x9f, 0x10, 0x03, 0x5b, 0x65, 0x7e, 0x25, 0x9e, 0x26, 0x25, 0x28, 0x01, 0x2f, 0x10, 0x04,
+ 0x38, 0x09, 0x77, 0x4c, 0x06, 0x51, 0x07, 0x5f, 0x34, 0x08, 0x10, 0x05, 0x1a, 0x38, 0x1b, 0x99,
+ 0x6b, 0x10, 0x02, 0x1c, 0x04, 0x20, 0x0e, 0x10, 0x05, 0x5e, 0x2e, 0x33, 0x05, 0x10, 0x02, 0x1c,
+ 0x10, 0x08, 0x30, 0x18, 0x97, 0x0c, 0x28, 0x0b, 0x2c, 0x24, 0x08, 0x5c, 0x5f, 0x1d, 0x08, 0x5f,
+ 0x25, 0x0b, 0x5f, 0x29, 0x84, 0x22, 0x82, 0x10, 0x07, 0x38, 0x06, 0x51, 0x1e, 0x4c, 0x2c, 0x00,
+ 0x25, 0x4c, 0xa5, 0x4c, 0xa5, 0x4c, 0xa5, 0x4c, 0x2c, 0x00, 0x25, 0x4c, 0x06, 0x51, 0x1e, 0x10,
+ 0x04, 0x38, 0x5a, 0x6b, 0x9e, 0x10, 0x08, 0x00, 0x38, 0x0c, 0x33, 0x08, 0x20, 0x6d, 0x22, 0x02,
+ 0x0a, 0x51, 0x43, 0x22, 0x0b, 0x7e, 0x0e, 0x01, 0x21, 0x70, 0x37, 0x10, 0x08, 0x38, 0x93, 0x1e,
+ 0x22, 0x4e, 0x1a, 0x6d, 0x5f, 0x61, 0x3f, 0x20, 0x9c, 0x35, 0x22, 0x93, 0x1e, 0x10, 0x08, 0x26,
+ 0x38, 0x34, 0x5f, 0x01, 0x61, 0x3e, 0x29, 0x0f, 0x5a, 0x4c, 0x63, 0x0f, 0x07, 0x39, 0x4c, 0x05,
+ 0x48, 0x0d, 0x51, 0x07, 0x28, 0x6b, 0x10, 0x08, 0x38, 0x37, 0x06, 0x19, 0x1b, 0x33, 0x43, 0x20,
+ 0x9c, 0x29, 0x22, 0x93, 0x1e, 0x10, 0x08, 0x38, 0x56, 0x33, 0x06, 0x22, 0x4e, 0x20, 0x2d, 0x28,
+ 0xc2, 0x1e, 0x22, 0x2d, 0x1a, 0x9c, 0x29, 0x22, 0x88, 0x1e, 0x10, 0x08, 0x38, 0x37, 0x2d, 0x5f,
+ 0x35, 0x0d, 0x28, 0x08, 0x2d, 0x5f, 0x6f, 0x08, 0x5f, 0x35, 0x0c, 0x28, 0x08, 0x2d, 0x5f, 0x4a,
+ 0x08, 0x10, 0x08, 0x38, 0x56, 0x49, 0x2f, 0x7c, 0x29, 0x22, 0x84, 0x35, 0x22, 0x0b, 0x33, 0x8a,
+ 0x22, 0x84, 0x35, 0x7c, 0x29, 0x22, 0x56, 0x49, 0x2f, 0x10, 0x08, 0x38, 0x93, 0x36, 0x7c, 0x53,
+ 0x22, 0x52, 0x71, 0x44, 0x33, 0x6b, 0x20, 0x53, 0x22, 0x01, 0x33, 0x2f, 0x10, 0x02, 0x3b, 0x00,
+ 0x1f, 0x07, 0x10, 0x02, 0x3b, 0x0f, 0x05, 0x87, 0x10, 0x05, 0x00, 0x62, 0x78, 0x5f, 0x5a, 0x08,
+ 0x28, 0x5a, 0x08, 0x20, 0x5a, 0x08, 0x10, 0x06, 0x5b, 0x3c, 0x8f, 0x22, 0x3c, 0x8f, 0x10, 0x05,
+ 0x62, 0x5a, 0x08, 0x20, 0x78, 0x28, 0x78, 0x5f, 0x5a, 0x08, 0x10, 0x06, 0x5e, 0x01, 0x49, 0x3f,
+ 0x97, 0x97, 0x60, 0xb4, 0x3f, 0x24, 0x3c, 0x10, 0x0b, 0x18, 0x55, 0x37, 0x1e, 0x30, 0x2c, 0x46,
+ 0x25, 0x1a, 0xcc, 0x4f, 0xcb, 0xc5, 0xc8, 0x5c, 0x04, 0x4d, 0xc5, 0xc8, 0x5c, 0x04, 0x67, 0x53,
+ 0x1a, 0xcc, 0x4f, 0x33, 0x1e, 0x00, 0x2b, 0x27, 0x6c, 0x07, 0x51, 0x3f, 0x10, 0x08, 0x38, 0x88,
+ 0x36, 0x6a, 0x2a, 0x37, 0x75, 0x2b, 0x10, 0x08, 0x8d, 0x9a, 0x29, 0x22, 0xc5, 0x35, 0x60, 0xc2,
+ 0x8a, 0x22, 0xc5, 0x35, 0x19, 0x81, 0x33, 0x1e, 0x10, 0x08, 0x38, 0x56, 0x8f, 0x22, 0x6c, 0x0f,
+ 0x1b, 0x27, 0x6c, 0x56, 0x8f, 0x10, 0x08, 0x8d, 0x9a, 0x53, 0x75, 0x8c, 0x94, 0x10, 0x08, 0x38,
+ 0x37, 0x6e, 0x0f, 0x8f, 0x10, 0x08, 0x38, 0x37, 0x6e, 0x10, 0x08, 0x38, 0x88, 0x0f, 0x23, 0x6c,
+ 0xc5, 0x45, 0x5a, 0x23, 0x67, 0x71, 0x4e, 0x71, 0x88, 0x48, 0x10, 0x08, 0x3c, 0x2a, 0x8c, 0x37,
+ 0x19, 0x8c, 0x2b, 0x10, 0x02, 0x3c, 0x9e, 0x2b, 0x10, 0x06, 0x30, 0x18, 0x9e, 0x26, 0x25, 0x4c,
+ 0x05, 0x49, 0x2f, 0x10, 0x08, 0x5e, 0xc6, 0x5a, 0x05, 0x54, 0xc8, 0x4a, 0x08, 0x54, 0xcc, 0x65,
+ 0x0a, 0x22, 0xc0, 0x01, 0x60, 0xcc, 0x65, 0x0a, 0x22, 0xc8, 0x4a, 0x08, 0x22, 0xc6, 0x5a, 0x05,
+ 0x10, 0x06, 0x3c, 0x9e, 0x26, 0xc2, 0x05, 0x10, 0x09, 0x3c, 0x05, 0x26, 0x1d, 0x60, 0x59, 0x01,
+ 0x21, 0x65, 0x0f, 0x60, 0x59, 0x0b, 0x21, 0x0b, 0x0e, 0xe5, 0x2b, 0x57, 0x06, 0x57, 0x57, 0x46,
+ 0xcc, 0x0b, 0x0e, 0x0e, 0x0b, 0x39, 0x46, 0xcc, 0x65, 0x0e, 0x01, 0x39, 0x30, 0xc8, 0x05, 0x05,
+ 0x41, 0x10, 0x08, 0x3c, 0x08, 0x71, 0x48, 0x08, 0xa0, 0x42, 0x77, 0x23, 0x67, 0x80, 0x74, 0x21,
+ 0x80, 0x23, 0xe5, 0x34, 0x23, 0xc5, 0x34, 0x10, 0x08, 0x38, 0x93, 0x1e, 0x6a, 0x2a, 0x90, 0x93,
+ 0x1e, 0x10, 0x08, 0x8d, 0x9a, 0x4b, 0x75, 0x26, 0x4b, 0x60, 0xc2, 0x43, 0x22, 0x6b, 0x10, 0x08,
+ 0x38, 0x93, 0x1e, 0x6a, 0x2a, 0x00, 0x71, 0x4e, 0x00, 0x0d, 0x00, 0x53, 0x22, 0x44, 0x49, 0x43,
+ 0x70, 0x10, 0x08, 0x8d, 0x9a, 0x4b, 0x75, 0x94, 0x30, 0xcc, 0x50, 0x0f, 0x07, 0x22, 0xc6, 0x61,
+ 0x07, 0x10, 0x08, 0x38, 0x08, 0x3a, 0x02, 0x7c, 0x24, 0x52, 0x20, 0x44, 0x49, 0x43, 0x20, 0x6d,
+ 0x22, 0x02, 0x3a, 0x08, 0x10, 0x08, 0x38, 0x0d, 0x3a, 0x0d, 0x70, 0x9e, 0x10, 0x08, 0x3c, 0x8c,
+ 0x8c, 0x90, 0x88, 0x36, 0x10, 0x08, 0x38, 0x0c, 0x0b, 0x1a, 0x5d, 0x01, 0x60, 0x57, 0x02, 0x21,
+ 0x79, 0x22, 0x65, 0x08, 0x00, 0x05, 0x2d, 0x4c, 0x09, 0x0e, 0x00, 0x0c, 0x0c, 0x24, 0x6f, 0x34,
+ 0x06, 0x5f, 0x0c, 0x59, 0x01, 0x5f, 0x06, 0x42, 0x10, 0x0a, 0x38, 0x0d, 0x0a, 0x21, 0x0d, 0x0e,
+ 0x21, 0x09, 0x0e, 0x30, 0x5d, 0x00, 0x6f, 0x5c, 0x00, 0x0d, 0x09, 0x30, 0x04, 0x5c, 0x5a, 0x79,
+ 0x6f, 0x05, 0x54, 0x0e, 0x08, 0x0c, 0x0b, 0x0a, 0x0d, 0x5a, 0x01, 0x30, 0x4f, 0x0e, 0x0f, 0x06,
+ 0x05, 0x59, 0x0b, 0x60, 0x05, 0x48, 0x02, 0x01, 0x48, 0x06, 0x60, 0x01, 0x0f, 0x0c, 0x21, 0x0b,
+ 0x0f, 0x02, 0x10, 0x08, 0x38, 0x82, 0x35, 0x0c, 0x4c, 0x0c, 0x0d, 0x50, 0x2c, 0x22, 0x25, 0x0e,
+ 0x5c, 0x5f, 0x07, 0x3f, 0x5f, 0x25, 0x0e, 0x5c, 0x24, 0x0c, 0x0d, 0x50, 0x2c, 0x60, 0x82, 0x35,
+ 0x0c, 0x10, 0x08, 0x3c, 0x2a, 0x90, 0x44, 0x49, 0x43, 0x70, 0x1b, 0x10, 0x08, 0x38, 0x37, 0x2d,
+ 0x5f, 0x08, 0x3f, 0x24, 0x4f, 0x3f, 0x24, 0x50, 0x3f, 0x24, 0x29, 0x3f, 0x5f, 0x0d, 0x3f, 0x28,
+ 0x37, 0x2d, 0x10, 0x03, 0x21, 0x1f, 0x5c, 0x28, 0x6b, 0x9e, 0x2b, 0x5c, 0x10, 0x08, 0x38, 0x82,
+ 0x28, 0x0c, 0x84, 0x4c, 0x25, 0x0b, 0x20, 0x1d, 0x7e, 0x08, 0x5c, 0x20, 0x0b, 0x2c, 0x5f, 0x35,
+ 0x0c, 0x10, 0x03, 0x5b, 0x4a, 0x6b, 0x9e, 0x2b, 0x28, 0x04, 0x48, 0x10, 0x05, 0x21, 0x07, 0x08,
+ 0x28, 0x5a, 0x42, 0x70, 0x08, 0x57, 0x01, 0x24, 0x08, 0x21, 0x06, 0x01, 0x10, 0x06, 0x5b, 0x1c,
+ 0x8f, 0x10, 0x02, 0x38, 0x0d, 0x7e, 0x0a, 0x7e, 0x06, 0x07, 0x10, 0x06, 0x2e, 0x91, 0x77, 0x5f,
+ 0x25, 0x24, 0x34, 0x7f, 0x10, 0x06, 0x3c, 0x1b, 0x48, 0x1e, 0x8b, 0x22, 0xc8, 0x25, 0x66, 0x2f,
+ 0x10, 0x06, 0x72, 0x24, 0x6c, 0x0f, 0x27, 0x6c, 0x56, 0x49, 0x10, 0x06, 0x26, 0x3c, 0x27, 0x3e,
+ 0x93, 0x68, 0x45, 0x86, 0x56, 0x49, 0x10, 0x06, 0x2e, 0x5d, 0x0f, 0x2f, 0x76, 0x6c, 0x08, 0x49,
+ 0x0d, 0x10, 0x03, 0x38, 0x07, 0x36, 0x28, 0x0e, 0x7e, 0x59, 0x20, 0x6b, 0x1b, 0x10, 0x06, 0x72,
+ 0x68, 0x45, 0x86, 0x93, 0x20, 0x65, 0x60, 0xb4, 0x2f, 0x10, 0x06, 0x3c, 0x1b, 0x48, 0x1e, 0x8b,
+ 0x9d, 0x10, 0x02, 0x3c, 0x05, 0x20, 0x04, 0x9e, 0x10, 0x02, 0x00, 0x3c, 0x20, 0x18, 0x0e, 0x9e,
+ 0x26, 0x56, 0x20, 0x1e, 0x10, 0x06, 0x3c, 0x28, 0xc8, 0x01, 0x02, 0x01, 0x54, 0xcc, 0x29, 0x3d,
+ 0x32, 0x4b, 0x52, 0x66, 0x03, 0x70, 0x73, 0x4e, 0x10, 0x08, 0x5e, 0x3c, 0x59, 0x0b, 0x0e, 0x1e,
+ 0x30, 0xcc, 0x03, 0x2d, 0x53, 0x19, 0xc8, 0x23, 0xcd, 0x74, 0xa8, 0x10, 0x06, 0x2e, 0x49, 0x2f,
+ 0x8b, 0x9d, 0x10, 0x06, 0x2e, 0x98, 0x24, 0x2c, 0x25, 0x45, 0x3e, 0x9b, 0x1a, 0x98, 0x10, 0x06,
+ 0x2e, 0x49, 0x2f, 0x8b, 0x22, 0xc8, 0x25, 0x66, 0x1e, 0x00, 0x32, 0x1b, 0x10, 0x06, 0x72, 0x68,
+ 0x45, 0x86, 0x93, 0x1f, 0x1b, 0x10, 0x06, 0x2e, 0x49, 0x1e, 0x22, 0xc8, 0x08, 0x0d, 0x00, 0x32,
+ 0x1b, 0x10, 0x06, 0x2e, 0x09, 0x48, 0x59, 0x24, 0x1e, 0x20, 0x09, 0x49, 0x96, 0x0a, 0x49, 0x52,
+ 0x10, 0x03, 0x21, 0x18, 0x1b, 0x20, 0x0b, 0x8a, 0x20, 0x6b, 0x1b, 0x10, 0x06, 0x89, 0x85, 0x25,
+ 0x24, 0x98, 0x10, 0x07, 0x95, 0x22, 0x03, 0x5c, 0x4f, 0x0c, 0x4c, 0x4f, 0x0c, 0x03, 0x5c, 0x24,
+ 0x6f, 0x0d, 0x0b, 0x28, 0x82, 0x10, 0x0a, 0x2e, 0x0c, 0x09, 0x00, 0x4a, 0x07, 0x00, 0x1d, 0x01,
+ 0x30, 0x55, 0x01, 0x0a, 0x59, 0x00, 0x0b, 0x0a, 0x54, 0x65, 0x34, 0x5a, 0x08, 0x5c, 0x60, 0x09,
+ 0x59, 0x00, 0x0b, 0x0f, 0x0d, 0x22, 0x6f, 0x08, 0x00, 0x4a, 0x07, 0x10, 0x06, 0x2e, 0x0a, 0x0e,
+ 0x01, 0x0a, 0x84, 0x54, 0x35, 0x0d, 0x2d, 0x5f, 0x05, 0x42, 0x5f, 0x35, 0x0d, 0x2d, 0x4c, 0x4f,
+ 0x0e, 0x50, 0x84, 0x10, 0x07, 0x95, 0x22, 0x03, 0x2d, 0x4f, 0x0b, 0x24, 0x09, 0x0b, 0x02, 0x2d,
+ 0x24, 0x47, 0x0c, 0x09, 0x28, 0x09, 0x2c, 0x24, 0x02, 0x2f, 0x5f, 0x04, 0x42, 0x10, 0x06, 0x2e,
+ 0x33, 0x5c, 0x5f, 0x06, 0x8a, 0x01, 0x24, 0x09, 0x3f, 0x5f, 0x0b, 0x42, 0x24, 0xc0, 0x5c, 0x10,
+ 0x04, 0x00, 0x18, 0x9f, 0x6c, 0x6b, 0x20, 0x63, 0x1b, 0x27, 0x6c, 0x9f, 0x10, 0x02, 0x21, 0x9e,
+ 0x2b, 0x1b, 0x1b, 0x10, 0x04, 0x5b, 0x65, 0x7e, 0x25, 0x1b, 0x27, 0x3d, 0x20, 0x6b, 0x20, 0x25,
+ 0x28, 0x01, 0x2f, 0x10, 0x06, 0x38, 0x05, 0x0e, 0x58, 0x02, 0x08, 0x32, 0x8f, 0x4c, 0x08, 0x01,
+ 0x05, 0x0c, 0x36, 0x10,
+};
+
+static const uint16_t mf_rlefont_php6ySCWY_glyph_offsets_0[95] = {
+ 0x0000, 0x0003, 0x000c, 0x0017, 0x002a, 0x0043, 0x0071, 0x0093,
+ 0x0098, 0x00a3, 0x00af, 0x00bb, 0x00c2, 0x00c8, 0x00ce, 0x00d1,
+ 0x00e8, 0x0100, 0x0106, 0x011c, 0x012e, 0x0147, 0x0156, 0x016b,
+ 0x0182, 0x019a, 0x01ad, 0x01b3, 0x01b9, 0x01c7, 0x01cf, 0x01db,
+ 0x01e8, 0x020d, 0x0217, 0x0229, 0x0236, 0x023e, 0x0245, 0x024a,
+ 0x025b, 0x0264, 0x0269, 0x0274, 0x0291, 0x0298, 0x02c2, 0x02d8,
+ 0x02e2, 0x02ef, 0x0302, 0x0312, 0x0325, 0x032d, 0x0335, 0x0359,
+ 0x0393, 0x03b2, 0x03bc, 0x03d3, 0x03dd, 0x03f2, 0x03fc, 0x040d,
+ 0x0412, 0x041b, 0x0425, 0x0431, 0x043b, 0x0447, 0x0452, 0x045e,
+ 0x046a, 0x0472, 0x0479, 0x0485, 0x0264, 0x0499, 0x04ac, 0x04b3,
+ 0x04bf, 0x04cd, 0x04d6, 0x04e2, 0x04f1, 0x04fc, 0x0503, 0x0516,
+ 0x053c, 0x0554, 0x056e, 0x0580, 0x058d, 0x0594, 0x05a4,
+};
+
+static const uint8_t mf_rlefont_php6ySCWY_glyph_data_1[1341] = {
+ 0x06, 0x00, 0x10, 0x02, 0x3c, 0x7e, 0x01, 0x9e, 0x10, 0x00, 0x02, 0x3c, 0x7e, 0x0f, 0x7e, 0x0d,
+ 0x06, 0x28, 0x18, 0x0d, 0x1b, 0x10, 0x05, 0x18, 0x61, 0x5c, 0x5f, 0x84, 0x24, 0x0d, 0x0f, 0x43,
+ 0x5f, 0x0b, 0x01, 0x29, 0x5f, 0x52, 0x35, 0x5f, 0x06, 0x0d, 0x8a, 0x97, 0x27, 0x0c, 0x5f, 0x4a,
+ 0x42, 0x10, 0x06, 0x38, 0x09, 0x48, 0x42, 0x24, 0x59, 0x67, 0x3e, 0x59, 0x67, 0x3e, 0x09, 0x48,
+ 0x42, 0x10, 0x08, 0x00, 0x62, 0x78, 0x63, 0x3d, 0x60, 0x83, 0x22, 0x83, 0x4c, 0x83, 0x10, 0x06,
+ 0x38, 0x09, 0x48, 0x42, 0x66, 0x09, 0x67, 0x32, 0x2d, 0x04, 0x3e, 0x09, 0x48, 0x42, 0x10, 0x04,
+ 0x5e, 0x4f, 0x3f, 0x00, 0x70, 0x47, 0x5f, 0x4f, 0x3f, 0x10, 0x05, 0x62, 0x41, 0x99, 0x0f, 0x27,
+ 0x7e, 0x28, 0xc0, 0x05, 0x10, 0x03, 0x62, 0x0b, 0x42, 0x28, 0x51, 0x10, 0x03, 0x62, 0x0e, 0x42,
+ 0x28, 0x0e, 0x8a, 0x10, 0x02, 0x3c, 0x05, 0x87, 0x10, 0x02, 0x3b, 0x10, 0x06, 0x38, 0x05, 0xf9,
+ 0x05, 0x4c, 0x18, 0x5d, 0x0f, 0x2f, 0x76, 0x6c, 0x08, 0x49, 0x0d, 0x10, 0x0d, 0x38, 0x0b, 0x08,
+ 0x26, 0x0b, 0x00, 0x64, 0x1e, 0xd4, 0x42, 0xcc, 0x58, 0x29, 0xd4, 0x34, 0x07, 0xe8, 0x58, 0x29,
+ 0x00, 0xcc, 0x34, 0x06, 0xf6, 0x64, 0x1e, 0x21, 0xc8, 0x34, 0x4a, 0x60, 0xc6, 0x5d, 0x67, 0x91,
+ 0xc5, 0xc5, 0x34, 0x10, 0x08, 0x62, 0x83, 0x4c, 0x78, 0x63, 0x2c, 0x60, 0x78, 0x63, 0x2c, 0x54,
+ 0x83, 0x10, 0x04, 0x38, 0x7d, 0x00, 0x04, 0x0b, 0x28, 0x03, 0x57, 0x28, 0x91, 0x09, 0x10, 0x04,
+ 0x38, 0x7d, 0x0b, 0x3f, 0x28, 0x0b, 0x3f, 0x22, 0xb4, 0x0d, 0x10, 0x04, 0x38, 0x25, 0x0e, 0x28,
+ 0x02, 0x05, 0x0e, 0x28, 0x25, 0x0e, 0x28, 0x0d, 0x48, 0x20, 0x04, 0x0b, 0x28, 0x04, 0x34, 0x28,
+ 0x91, 0x10, 0x06, 0x38, 0xc6, 0x38, 0x66, 0x0a, 0x97, 0x97, 0x4c, 0x01, 0x49, 0x3f, 0x10, 0x08,
+ 0x38, 0x93, 0x1e, 0x6a, 0x2a, 0x37, 0x75, 0x2b, 0x10, 0x08, 0x38, 0x37, 0x01, 0x19, 0x1b, 0x33,
+ 0x43, 0x19, 0x81, 0x81, 0x33, 0x1e, 0x10, 0x08, 0x8d, 0x9a, 0x29, 0x22, 0xc5, 0x35, 0x60, 0xc2,
+ 0x8a, 0x22, 0xc5, 0x35, 0x19, 0x81, 0x33, 0x1e, 0x10, 0x06, 0x8d, 0x05, 0x32, 0x9e, 0x10, 0x09,
+ 0x00, 0x38, 0x05, 0x51, 0x36, 0x4c, 0x3d, 0x21, 0x63, 0x4c, 0xa5, 0x4c, 0xa5, 0x4c, 0xa5, 0x32,
+ 0x71, 0x48, 0x37, 0x46, 0xcc, 0x2b, 0x10, 0x08, 0x38, 0x37, 0x6e, 0x0f, 0x8f, 0x10, 0x0a, 0x38,
+ 0x35, 0x0c, 0xe8, 0x29, 0x84, 0x1a, 0x03, 0x42, 0xf6, 0x09, 0x4e, 0x60, 0x57, 0x57, 0x57, 0x06,
+ 0x4c, 0x0c, 0x49, 0x0c, 0x4c, 0x57, 0x57, 0x57, 0x06, 0x60, 0x03, 0x42, 0xf6, 0x09, 0x4e, 0x30,
+ 0x35, 0x52, 0xf6, 0x29, 0x84, 0x10, 0x08, 0x38, 0x08, 0x33, 0x42, 0x20, 0x6d, 0x5f, 0x61, 0x3f,
+ 0x20, 0x29, 0x97, 0x22, 0x08, 0x3a, 0x08, 0x10, 0x08, 0x38, 0xc5, 0x34, 0x60, 0xc6, 0x34, 0x23,
+ 0x4d, 0x80, 0x23, 0x67, 0x80, 0x74, 0x80, 0x00, 0x74, 0x77, 0x74, 0x08, 0xd4, 0x10, 0x08, 0x1a,
+ 0x47, 0x05, 0x24, 0x03, 0x46, 0x03, 0x22, 0xc5, 0x61, 0x60, 0xc6, 0x61, 0x23, 0x4d, 0x61, 0x34,
+ 0x30, 0xcc, 0x61, 0x08, 0x74, 0x61, 0x08, 0x00, 0x74, 0x77, 0x74, 0x08, 0xd4, 0x10, 0x08, 0x5e,
+ 0xc6, 0x5a, 0x05, 0x54, 0xc8, 0x4a, 0x08, 0x54, 0xcc, 0x65, 0x0a, 0x22, 0xc0, 0x01, 0x60, 0xcc,
+ 0x65, 0x0a, 0x22, 0xc8, 0x4a, 0x08, 0x22, 0xc6, 0x5a, 0x05, 0x10, 0x08, 0x21, 0x38, 0x93, 0x4c,
+ 0x02, 0x5c, 0x41, 0x4c, 0x55, 0xec, 0x4c, 0x0b, 0x0a, 0xa0, 0x01, 0x1e, 0xa0, 0x1d, 0x02, 0xa0,
+ 0x09, 0x0d, 0xd4, 0x10, 0x09, 0x3c, 0x05, 0x26, 0x1d, 0x60, 0x59, 0x01, 0x21, 0x65, 0x0f, 0x60,
+ 0x59, 0x0b, 0x21, 0x0b, 0x0e, 0xe5, 0x2b, 0x57, 0x06, 0x57, 0x57, 0x46, 0xcc, 0x0b, 0x0e, 0x0e,
+ 0x0b, 0x39, 0x46, 0xcc, 0x65, 0x0e, 0x01, 0x39, 0x30, 0xc8, 0x05, 0x05, 0x41, 0x10, 0x08, 0x3c,
+ 0x2a, 0x8c, 0x37, 0x19, 0x8c, 0x2b, 0x10, 0x08, 0x38, 0x93, 0x1e, 0x6a, 0x2a, 0x90, 0x93, 0x1e,
+ 0x10, 0x08, 0x3c, 0x37, 0x75, 0x8c, 0x8c, 0x2b, 0x10, 0x08, 0x8d, 0x9a, 0x4b, 0x75, 0x26, 0x4b,
+ 0x60, 0xc2, 0x43, 0x22, 0x6b, 0x10, 0x08, 0x38, 0x56, 0x8f, 0x22, 0x6c, 0x0f, 0x1b, 0x27, 0x6c,
+ 0x56, 0x8f, 0x10, 0x08, 0x38, 0x0d, 0x3a, 0x0d, 0x70, 0x9e, 0x10, 0x08, 0x38, 0x09, 0x0f, 0x05,
+ 0x21, 0x0c, 0x0d, 0x4c, 0x0b, 0x2d, 0x07, 0x2d, 0x4c, 0x35, 0x0e, 0x79, 0x5f, 0x47, 0x84, 0x22,
+ 0x05, 0x5c, 0x5f, 0x65, 0x08, 0x5f, 0x04, 0x3f, 0x10, 0x0a, 0x38, 0x44, 0x3a, 0x43, 0x54, 0x40,
+ 0x41, 0x0d, 0x00, 0x4b, 0x30, 0xa6, 0x0d, 0x41, 0x54, 0x40, 0x41, 0x0d, 0x00, 0x4b, 0x54, 0x44,
+ 0x3a, 0x40, 0x24, 0x6b, 0x10, 0x08, 0x38, 0x82, 0x35, 0x0c, 0x4c, 0x0c, 0x0d, 0x50, 0x2c, 0x22,
+ 0x25, 0x0e, 0x5c, 0x5f, 0x07, 0x3f, 0x5f, 0x25, 0x0e, 0x5c, 0x24, 0x0c, 0x0d, 0x50, 0x2c, 0x60,
+ 0x82, 0x35, 0x0c, 0x10, 0x09, 0x3c, 0x8c, 0x8c, 0x8c, 0x37, 0x6b, 0x10, 0x08, 0x3c, 0x8c, 0x00,
+ 0x71, 0x4e, 0x71, 0x44, 0x3a, 0x1b, 0x10, 0x0a, 0x5e, 0xc6, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x31,
+ 0xf2, 0x37, 0x10, 0x0a, 0x5e, 0xa6, 0x7a, 0x7a, 0x7a, 0x7a, 0x7a, 0x21, 0xc5, 0xb4, 0x37, 0x6b,
+ 0x10, 0x09, 0x5e, 0x07, 0x48, 0x1b, 0x69, 0x75, 0x94, 0x10, 0x0a, 0x5e, 0xe6, 0x2b, 0x46, 0xc8,
+ 0x2b, 0x30, 0xc2, 0x43, 0xe6, 0x2b, 0x02, 0x05, 0x09, 0x0d, 0x0f, 0x0d, 0x39, 0x54, 0xc5, 0x02,
+ 0xf9, 0x54, 0xc5, 0x25, 0x39, 0x30, 0xc2, 0x36, 0x39, 0x10, 0x08, 0x3c, 0x1b, 0x69, 0x75, 0x94,
+ 0x10, 0x08, 0x38, 0x0c, 0x49, 0x59, 0x7e, 0x53, 0x1f, 0x5f, 0x0d, 0x48, 0x6b, 0x20, 0x53, 0x22,
+ 0x0c, 0x33, 0x2f, 0x10, 0x0b, 0x38, 0x0d, 0x21, 0x88, 0x1e, 0x26, 0xc8, 0x2c, 0x21, 0x25, 0x92,
+ 0x49, 0x2b, 0x92, 0x21, 0x2c, 0x21, 0x25, 0x30, 0x0d, 0x21, 0x88, 0x1e, 0x10, 0x08, 0x38, 0x88,
+ 0x0f, 0x23, 0x4e, 0x71, 0x67, 0x71, 0x4e, 0x71, 0x88, 0x48, 0x4c, 0x07, 0x8a, 0x01, 0x00, 0x23,
+ 0x07, 0x3f, 0xec, 0x10, 0x06, 0x2e, 0x91, 0x77, 0x5f, 0x25, 0x24, 0x34, 0x7f, 0x10, 0x06, 0x5e,
+ 0x4f, 0x48, 0x42, 0x00, 0x32, 0x01, 0x1a, 0x66, 0x1e, 0x8b, 0x24, 0x9b, 0x1a, 0x98, 0x10, 0x06,
+ 0x2e, 0x49, 0x42, 0x45, 0x0c, 0x66, 0x8a, 0x45, 0x0c, 0x66, 0x42, 0x10, 0x06, 0x2e, 0x0a, 0x49,
+ 0x96, 0x09, 0x49, 0x52, 0x32, 0x06, 0x20, 0x09, 0x48, 0x59, 0x10, 0x06, 0x72, 0x68, 0x45, 0x86,
+ 0x93, 0x20, 0x65, 0x60, 0xb4, 0x2f, 0x10, 0x06, 0x2e, 0x5d, 0x0f, 0x2f, 0x76, 0x6c, 0x08, 0x49,
+ 0x0d, 0x10, 0x09, 0x00, 0x62, 0x97, 0x0a, 0x39, 0x4f, 0x84, 0x46, 0x6f, 0x1d, 0x05, 0x2d, 0x22,
+ 0x4f, 0x48, 0x3f, 0x4c, 0x6f, 0x1d, 0x05, 0x2d, 0x60, 0x35, 0x0a, 0x39, 0x4f, 0x84, 0x10, 0x06,
+ 0x2e, 0x91, 0x3f, 0x27, 0x0c, 0x5f, 0x57, 0x8a, 0x27, 0x0c, 0x24, 0x91, 0x8a, 0x10, 0x06, 0x2e,
+ 0xd5, 0x9d, 0x46, 0x0e, 0x01, 0x02, 0x0b, 0x3e, 0x56, 0x79, 0x0e, 0x10, 0x06, 0x21, 0x3c, 0x28,
+ 0x06, 0x1a, 0x06, 0x9d, 0x1a, 0xc8, 0x02, 0x3e, 0x2f, 0x56, 0x3e, 0x55, 0x79, 0x0d, 0x10, 0x06,
+ 0x2e, 0x67, 0x50, 0x4e, 0x32, 0x50, 0x3d, 0x66, 0x03, 0x70, 0x73, 0x4e, 0x10, 0x06, 0x00, 0x2e,
+ 0x09, 0x51, 0x24, 0x6f, 0x02, 0x00, 0x3e, 0x06, 0x0d, 0x21, 0x3e, 0x09, 0x0a, 0x21, 0x3e, 0x0c,
+ 0x07, 0x41, 0x10, 0x07, 0x5e, 0x3c, 0x05, 0x21, 0x1d, 0x4c, 0x59, 0x02, 0x25, 0x0f, 0x32, 0x0c,
+ 0x0c, 0x0c, 0x0c, 0x0f, 0x32, 0x25, 0x0e, 0x47, 0x54, 0xcc, 0x05, 0x05, 0x39, 0x10, 0x06, 0x89,
+ 0x26, 0xa6, 0x4c, 0xc2, 0x9d, 0x10, 0x06, 0x2e, 0x98, 0x24, 0x2c, 0x25, 0x45, 0x3e, 0x9b, 0x1a,
+ 0x98, 0x10, 0x06, 0x2e, 0x49, 0x2f, 0x8b, 0x9d, 0x10, 0x06, 0x2e, 0x49, 0x2f, 0x8b, 0x22, 0xc8,
+ 0x25, 0x66, 0x1e, 0x00, 0x32, 0x1b, 0x10, 0x06, 0x72, 0x24, 0x6c, 0x0f, 0x27, 0x6c, 0x56, 0x49,
+ 0x10, 0x06, 0x5e, 0x8d, 0x28, 0x6b, 0x1b, 0x10, 0x07, 0x95, 0x22, 0x03, 0x2d, 0x4f, 0x0b, 0x24,
+ 0x09, 0x0b, 0x02, 0x2d, 0x24, 0x47, 0x0c, 0x09, 0x28, 0x09, 0x2c, 0x24, 0x02, 0x2f, 0x5f, 0x04,
+ 0x42, 0x10, 0x08, 0x72, 0x2f, 0x22, 0x2c, 0x67, 0x25, 0x19, 0xc8, 0x23, 0x2c, 0x67, 0x25, 0x22,
+ 0x56, 0x49, 0x2f, 0x70, 0x1b, 0x10, 0x06, 0x2e, 0x0a, 0x0e, 0x01, 0x0a, 0x84, 0x54, 0x35, 0x0d,
+ 0x2d, 0x5f, 0x05, 0x42, 0x5f, 0x35, 0x0d, 0x2d, 0x4c, 0x4f, 0x0e, 0x50, 0x84, 0x10, 0x07, 0x89,
+ 0x85, 0x00, 0x3e, 0x93, 0x6b, 0x10, 0x06, 0x2e, 0xe5, 0x86, 0x56, 0x49, 0x1b, 0x10, 0x08, 0x2e,
+ 0xcd, 0x74, 0xe8, 0x74, 0xc8, 0x23, 0x4e, 0x03, 0x2d, 0x00, 0x23, 0x55, 0x8a, 0x49, 0x10, 0x08,
+ 0x2e, 0xad, 0x4c, 0xad, 0x4c, 0xad, 0x4c, 0x4e, 0x6f, 0x01, 0x0f, 0x4c, 0x55, 0x0e, 0x91, 0x6b,
+ 0x10, 0x07, 0x27, 0x62, 0x1d, 0x6b, 0x7b, 0x49, 0x1e, 0x10, 0x08, 0x2e, 0x67, 0x71, 0x8a, 0x0b,
+ 0x58, 0x74, 0x49, 0x0d, 0x74, 0x21, 0x29, 0x74, 0x48, 0x2f, 0x39, 0x10, 0x06, 0x2e, 0x6b, 0x7b,
+ 0x49, 0x1e, 0x10, 0x06, 0x2e, 0x51, 0x42, 0x20, 0x01, 0x3e, 0x4f, 0x49, 0x20, 0x01, 0x3e, 0x51,
+ 0x3f, 0x10, 0x09, 0x2e, 0x4d, 0x98, 0x30, 0xc8, 0x9b, 0x49, 0x31, 0xc8, 0x9b, 0x4d, 0x98, 0x10,
+ 0x06, 0x2e, 0x34, 0x7f, 0x5f, 0x0b, 0x0e, 0x02, 0x3e, 0x08, 0x2d, 0x39, 0x10,
+};
+
+static const uint16_t mf_rlefont_php6ySCWY_glyph_offsets_1[96] = {
+ 0x0000, 0x0003, 0x0009, 0x0009, 0x0009, 0x0009, 0x000a, 0x0016,
+ 0x0009, 0x0032, 0x0009, 0x0042, 0x0009, 0x0009, 0x004f, 0x0009,
+ 0x005f, 0x006a, 0x0075, 0x007c, 0x0084, 0x0009, 0x0009, 0x0089,
+ 0x008c, 0x009c, 0x005f, 0x00c4, 0x00d2, 0x00df, 0x00eb, 0x0102,
+ 0x010f, 0x0119, 0x0127, 0x0139, 0x013f, 0x0157, 0x015e, 0x0186,
+ 0x0198, 0x01ae, 0x01ce, 0x01eb, 0x0204, 0x022e, 0x0237, 0x0241,
+ 0x0249, 0x0256, 0x0263, 0x026b, 0x0289, 0x02a5, 0x02c4, 0x02cc,
+ 0x02d7, 0x02e3, 0x02f1, 0x02fa, 0x031a, 0x0321, 0x0334, 0x034d,
+ 0x0364, 0x036e, 0x037f, 0x038c, 0x039b, 0x03a7, 0x03b2, 0x03cf,
+ 0x03de, 0x03ec, 0x03ff, 0x040d, 0x0423, 0x043e, 0x0446, 0x0452,
+ 0x0459, 0x0467, 0x0471, 0x0478, 0x0492, 0x04a6, 0x04be, 0x04c6,
+ 0x04ce, 0x04df, 0x04f1, 0x04fa, 0x050c, 0x0513, 0x0522, 0x0530,
+};
+
+static const uint8_t mf_rlefont_php6ySCWY_glyph_data_2[17] = {
+ 0x05, 0x21, 0x07, 0x08, 0x28, 0x5a, 0x42, 0x70, 0x08, 0x57, 0x01, 0x24, 0x08, 0x21, 0x06, 0x01,
+ 0x10,
+};
+
+static const uint16_t mf_rlefont_php6ySCWY_glyph_offsets_2[1] = {
+ 0x0000,
+};
+
+static const uint8_t mf_rlefont_php6ySCWY_glyph_data_3[16] = {
+ 0x06, 0x38, 0x05, 0x0e, 0x58, 0x02, 0x08, 0x32, 0x8f, 0x4c, 0x08, 0x01, 0x05, 0x0c, 0x36, 0x10,
+};
+
+static const uint16_t mf_rlefont_php6ySCWY_glyph_offsets_3[1] = {
+ 0x0000,
+};
+
+static const uint8_t mf_rlefont_php6ySCWY_glyph_data_4[1096] = {
+ 0x08, 0xac, 0x4c, 0x18, 0x37, 0x6e, 0x0f, 0x8f, 0x10, 0x00, 0x08, 0x38, 0x93, 0x1e, 0x6a, 0x2a,
+ 0x37, 0x75, 0x2b, 0x10, 0x08, 0x38, 0x37, 0x01, 0x19, 0x1b, 0x33, 0x43, 0x19, 0x81, 0x81, 0x33,
+ 0x1e, 0x10, 0x08, 0x8d, 0x9a, 0x29, 0x22, 0xc5, 0x35, 0x60, 0xc2, 0x8a, 0x22, 0xc5, 0x35, 0x19,
+ 0x81, 0x33, 0x1e, 0x10, 0x06, 0x8d, 0x05, 0x32, 0x9e, 0x10, 0x09, 0x00, 0x38, 0x05, 0x51, 0x36,
+ 0x4c, 0x3d, 0x21, 0x63, 0x4c, 0xa5, 0x4c, 0xa5, 0x4c, 0xa5, 0x32, 0x71, 0x48, 0x37, 0x46, 0xcc,
+ 0x2b, 0x10, 0x08, 0x38, 0x37, 0x6e, 0x0f, 0x8f, 0x10, 0x0a, 0x38, 0x35, 0x0c, 0xe8, 0x29, 0x84,
+ 0x1a, 0x03, 0x42, 0xf6, 0x09, 0x4e, 0x60, 0x57, 0x57, 0x57, 0x06, 0x4c, 0x0c, 0x49, 0x0c, 0x4c,
+ 0x57, 0x57, 0x57, 0x06, 0x60, 0x03, 0x42, 0xf6, 0x09, 0x4e, 0x30, 0x35, 0x52, 0xf6, 0x29, 0x84,
+ 0x10, 0x08, 0x38, 0x08, 0x33, 0x42, 0x20, 0x6d, 0x5f, 0x61, 0x3f, 0x20, 0x29, 0x97, 0x22, 0x08,
+ 0x3a, 0x08, 0x10, 0x08, 0x38, 0xc5, 0x34, 0x60, 0xc6, 0x34, 0x23, 0x4d, 0x80, 0x23, 0x67, 0x80,
+ 0x74, 0x80, 0x00, 0x74, 0x77, 0x74, 0x08, 0xd4, 0x10, 0x08, 0x1a, 0x47, 0x05, 0x24, 0x03, 0x46,
+ 0x03, 0x22, 0xc5, 0x61, 0x60, 0xc6, 0x61, 0x23, 0x4d, 0x61, 0x34, 0x30, 0xcc, 0x61, 0x08, 0x74,
+ 0x61, 0x08, 0x00, 0x74, 0x77, 0x74, 0x08, 0xd4, 0x10, 0x08, 0x5e, 0xc6, 0x5a, 0x05, 0x54, 0xc8,
+ 0x4a, 0x08, 0x54, 0xcc, 0x65, 0x0a, 0x22, 0xc0, 0x01, 0x60, 0xcc, 0x65, 0x0a, 0x22, 0xc8, 0x4a,
+ 0x08, 0x22, 0xc6, 0x5a, 0x05, 0x10, 0x08, 0x21, 0x38, 0x93, 0x4c, 0x02, 0x5c, 0x41, 0x4c, 0x55,
+ 0xec, 0x4c, 0x0b, 0x0a, 0xa0, 0x01, 0x1e, 0xa0, 0x1d, 0x02, 0xa0, 0x09, 0x0d, 0xd4, 0x10, 0x09,
+ 0x3c, 0x05, 0x26, 0x1d, 0x60, 0x59, 0x01, 0x21, 0x65, 0x0f, 0x60, 0x59, 0x0b, 0x21, 0x0b, 0x0e,
+ 0xe5, 0x2b, 0x57, 0x06, 0x57, 0x57, 0x46, 0xcc, 0x0b, 0x0e, 0x0e, 0x0b, 0x39, 0x46, 0xcc, 0x65,
+ 0x0e, 0x01, 0x39, 0x30, 0xc8, 0x05, 0x05, 0x41, 0x10, 0x08, 0x3c, 0x2a, 0x8c, 0x37, 0x19, 0x8c,
+ 0x2b, 0x10, 0x08, 0x38, 0x93, 0x1e, 0x6a, 0x2a, 0x90, 0x93, 0x1e, 0x10, 0x08, 0x3c, 0x37, 0x75,
+ 0x8c, 0x8c, 0x2b, 0x10, 0x08, 0x8d, 0x9a, 0x4b, 0x75, 0x26, 0x4b, 0x60, 0xc2, 0x43, 0x22, 0x6b,
+ 0x10, 0x08, 0x38, 0x56, 0x8f, 0x22, 0x6c, 0x0f, 0x1b, 0x27, 0x6c, 0x56, 0x8f, 0x10, 0x08, 0x38,
+ 0x0d, 0x3a, 0x0d, 0x70, 0x9e, 0x10, 0x08, 0x38, 0x09, 0x0f, 0x05, 0x21, 0x0c, 0x0d, 0x4c, 0x0b,
+ 0x2d, 0x07, 0x2d, 0x4c, 0x35, 0x0e, 0x79, 0x5f, 0x47, 0x84, 0x22, 0x05, 0x5c, 0x5f, 0x65, 0x08,
+ 0x5f, 0x04, 0x3f, 0x10, 0x0a, 0x38, 0x44, 0x3a, 0x43, 0x54, 0x40, 0x41, 0x0d, 0x00, 0x4b, 0x30,
+ 0xa6, 0x0d, 0x41, 0x54, 0x40, 0x41, 0x0d, 0x00, 0x4b, 0x54, 0x44, 0x3a, 0x40, 0x24, 0x6b, 0x10,
+ 0x08, 0x38, 0x82, 0x35, 0x0c, 0x4c, 0x0c, 0x0d, 0x50, 0x2c, 0x22, 0x25, 0x0e, 0x5c, 0x5f, 0x07,
+ 0x3f, 0x5f, 0x25, 0x0e, 0x5c, 0x24, 0x0c, 0x0d, 0x50, 0x2c, 0x60, 0x82, 0x35, 0x0c, 0x10, 0x09,
+ 0x3c, 0x8c, 0x8c, 0x8c, 0x37, 0x6b, 0x10, 0x08, 0x3c, 0x8c, 0x00, 0x71, 0x4e, 0x71, 0x44, 0x3a,
+ 0x1b, 0x10, 0x0a, 0x5e, 0xc6, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x31, 0xf2, 0x37, 0x10, 0x0a, 0x5e,
+ 0xa6, 0x7a, 0x7a, 0x7a, 0x7a, 0x7a, 0x21, 0xc5, 0xb4, 0x37, 0x6b, 0x10, 0x09, 0x5e, 0x07, 0x48,
+ 0x1b, 0x69, 0x75, 0x94, 0x10, 0x0a, 0x5e, 0xe6, 0x2b, 0x46, 0xc8, 0x2b, 0x30, 0xc2, 0x43, 0xe6,
+ 0x2b, 0x02, 0x05, 0x09, 0x0d, 0x0f, 0x0d, 0x39, 0x54, 0xc5, 0x02, 0xf9, 0x54, 0xc5, 0x25, 0x39,
+ 0x30, 0xc2, 0x36, 0x39, 0x10, 0x08, 0x3c, 0x1b, 0x69, 0x75, 0x94, 0x10, 0x08, 0x38, 0x0c, 0x49,
+ 0x59, 0x7e, 0x53, 0x1f, 0x5f, 0x0d, 0x48, 0x6b, 0x20, 0x53, 0x22, 0x0c, 0x33, 0x2f, 0x10, 0x0b,
+ 0x38, 0x0d, 0x21, 0x88, 0x1e, 0x26, 0xc8, 0x2c, 0x21, 0x25, 0x92, 0x49, 0x2b, 0x92, 0x21, 0x2c,
+ 0x21, 0x25, 0x30, 0x0d, 0x21, 0x88, 0x1e, 0x10, 0x08, 0x38, 0x88, 0x0f, 0x23, 0x4e, 0x71, 0x67,
+ 0x71, 0x4e, 0x71, 0x88, 0x48, 0x4c, 0x07, 0x8a, 0x01, 0x00, 0x23, 0x07, 0x3f, 0xec, 0x10, 0x06,
+ 0x2e, 0x91, 0x77, 0x5f, 0x25, 0x24, 0x34, 0x7f, 0x10, 0x06, 0x5e, 0x4f, 0x48, 0x42, 0x00, 0x32,
+ 0x01, 0x1a, 0x66, 0x1e, 0x8b, 0x24, 0x9b, 0x1a, 0x98, 0x10, 0x06, 0x2e, 0x49, 0x42, 0x45, 0x0c,
+ 0x66, 0x8a, 0x45, 0x0c, 0x66, 0x42, 0x10, 0x06, 0x2e, 0x0a, 0x49, 0x96, 0x09, 0x49, 0x52, 0x32,
+ 0x06, 0x20, 0x09, 0x48, 0x59, 0x10, 0x06, 0x72, 0x68, 0x45, 0x86, 0x93, 0x20, 0x65, 0x60, 0xb4,
+ 0x2f, 0x10, 0x06, 0x2e, 0x5d, 0x0f, 0x2f, 0x76, 0x6c, 0x08, 0x49, 0x0d, 0x10, 0x09, 0x00, 0x62,
+ 0x97, 0x0a, 0x39, 0x4f, 0x84, 0x46, 0x6f, 0x1d, 0x05, 0x2d, 0x22, 0x4f, 0x48, 0x3f, 0x4c, 0x6f,
+ 0x1d, 0x05, 0x2d, 0x60, 0x35, 0x0a, 0x39, 0x4f, 0x84, 0x10, 0x06, 0x2e, 0x91, 0x3f, 0x27, 0x0c,
+ 0x5f, 0x57, 0x8a, 0x27, 0x0c, 0x24, 0x91, 0x8a, 0x10, 0x06, 0x2e, 0xd5, 0x9d, 0x46, 0x0e, 0x01,
+ 0x02, 0x0b, 0x3e, 0x56, 0x79, 0x0e, 0x10, 0x06, 0x21, 0x3c, 0x28, 0x06, 0x1a, 0x06, 0x9d, 0x1a,
+ 0xc8, 0x02, 0x3e, 0x2f, 0x56, 0x3e, 0x55, 0x79, 0x0d, 0x10, 0x06, 0x2e, 0x67, 0x50, 0x4e, 0x32,
+ 0x50, 0x3d, 0x66, 0x03, 0x70, 0x73, 0x4e, 0x10, 0x06, 0x00, 0x2e, 0x09, 0x51, 0x24, 0x6f, 0x02,
+ 0x00, 0x3e, 0x06, 0x0d, 0x21, 0x3e, 0x09, 0x0a, 0x21, 0x3e, 0x0c, 0x07, 0x41, 0x10, 0x07, 0x5e,
+ 0x3c, 0x05, 0x21, 0x1d, 0x4c, 0x59, 0x02, 0x25, 0x0f, 0x32, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x32,
+ 0x25, 0x0e, 0x47, 0x54, 0xcc, 0x05, 0x05, 0x39, 0x10, 0x06, 0x89, 0x26, 0xa6, 0x4c, 0xc2, 0x9d,
+ 0x10, 0x06, 0x2e, 0x98, 0x24, 0x2c, 0x25, 0x45, 0x3e, 0x9b, 0x1a, 0x98, 0x10, 0x06, 0x2e, 0x49,
+ 0x2f, 0x8b, 0x9d, 0x10, 0x06, 0x2e, 0x49, 0x2f, 0x8b, 0x22, 0xc8, 0x25, 0x66, 0x1e, 0x00, 0x32,
+ 0x1b, 0x10, 0x06, 0x72, 0x24, 0x6c, 0x0f, 0x27, 0x6c, 0x56, 0x49, 0x10, 0x06, 0x5e, 0x8d, 0x28,
+ 0x6b, 0x1b, 0x10, 0x07, 0x95, 0x22, 0x03, 0x2d, 0x4f, 0x0b, 0x24, 0x09, 0x0b, 0x02, 0x2d, 0x24,
+ 0x47, 0x0c, 0x09, 0x28, 0x09, 0x2c, 0x24, 0x02, 0x2f, 0x5f, 0x04, 0x42, 0x10, 0x08, 0x72, 0x2f,
+ 0x22, 0x2c, 0x67, 0x25, 0x19, 0xc8, 0x23, 0x2c, 0x67, 0x25, 0x22, 0x56, 0x49, 0x2f, 0x70, 0x1b,
+ 0x10, 0x06, 0x2e, 0x0a, 0x0e, 0x01, 0x0a, 0x84, 0x54, 0x35, 0x0d, 0x2d, 0x5f, 0x05, 0x42, 0x5f,
+ 0x35, 0x0d, 0x2d, 0x4c, 0x4f, 0x0e, 0x50, 0x84, 0x10, 0x07, 0x89, 0x85, 0x00, 0x3e, 0x93, 0x6b,
+ 0x10, 0x06, 0x2e, 0xe5, 0x86, 0x56, 0x49, 0x1b, 0x10, 0x08, 0x2e, 0xcd, 0x74, 0xe8, 0x74, 0xc8,
+ 0x23, 0x4e, 0x03, 0x2d, 0x00, 0x23, 0x55, 0x8a, 0x49, 0x10, 0x08, 0x2e, 0xad, 0x4c, 0xad, 0x4c,
+ 0xad, 0x4c, 0x4e, 0x6f, 0x01, 0x0f, 0x4c, 0x55, 0x0e, 0x91, 0x6b, 0x10, 0x07, 0x27, 0x62, 0x1d,
+ 0x6b, 0x7b, 0x49, 0x1e, 0x10, 0x08, 0x2e, 0x67, 0x71, 0x8a, 0x0b, 0x58, 0x74, 0x49, 0x0d, 0x74,
+ 0x21, 0x29, 0x74, 0x48, 0x2f, 0x39, 0x10, 0x06, 0x2e, 0x6b, 0x7b, 0x49, 0x1e, 0x10, 0x06, 0x2e,
+ 0x51, 0x42, 0x20, 0x01, 0x3e, 0x4f, 0x49, 0x20, 0x01, 0x3e, 0x51, 0x3f, 0x10, 0x09, 0x2e, 0x4d,
+ 0x98, 0x30, 0xc8, 0x9b, 0x49, 0x31, 0xc8, 0x9b, 0x4d, 0x98, 0x10, 0x06, 0x2e, 0x34, 0x7f, 0x5f,
+ 0x0b, 0x0e, 0x02, 0x3e, 0x08, 0x2d, 0x39, 0x10, 0x06, 0x38, 0x05, 0xf9, 0x05, 0x4c, 0x18, 0x5d,
+ 0x0f, 0x2f, 0x76, 0x6c, 0x08, 0x49, 0x0d, 0x10,
+};
+
+static const uint16_t mf_rlefont_php6ySCWY_glyph_offsets_4[81] = {
+ 0x0000, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009,
+ 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x000a,
+ 0x0014, 0x0022, 0x0034, 0x003a, 0x0052, 0x0059, 0x0081, 0x0093,
+ 0x00a9, 0x00c9, 0x00e6, 0x00ff, 0x0129, 0x0132, 0x013c, 0x0144,
+ 0x0151, 0x015e, 0x0166, 0x0184, 0x01a0, 0x01bf, 0x01c7, 0x01d2,
+ 0x01de, 0x01ec, 0x01f5, 0x0215, 0x021c, 0x022f, 0x0248, 0x025f,
+ 0x0269, 0x027a, 0x0287, 0x0296, 0x02a2, 0x02ad, 0x02ca, 0x02d9,
+ 0x02e7, 0x02fa, 0x0308, 0x031e, 0x0339, 0x0341, 0x034d, 0x0354,
+ 0x0362, 0x036c, 0x0373, 0x038d, 0x03a1, 0x03b9, 0x03c1, 0x03c9,
+ 0x03da, 0x03ec, 0x03f5, 0x0407, 0x040e, 0x041d, 0x042b, 0x0009,
+ 0x0438,
+};
+
+static const uint8_t mf_rlefont_php6ySCWY_glyph_data_5[159] = {
+ 0x06, 0x27, 0x62, 0x3c, 0x8f, 0x10, 0x08, 0x5e, 0x2e, 0x37, 0x2d, 0x10, 0x00, 0x02, 0x38, 0x06,
+ 0x7e, 0x0a, 0x7e, 0x0d, 0x07, 0x10, 0x02, 0x3c, 0x05, 0x87, 0x10, 0x02, 0x1c, 0x04, 0x20, 0x0e,
+ 0x10, 0x04, 0x38, 0x06, 0x07, 0x09, 0x04, 0x24, 0x4f, 0x07, 0x40, 0x5f, 0x0d, 0x08, 0x5c, 0x10,
+ 0x04, 0x38, 0x3f, 0x67, 0x70, 0x06, 0x0c, 0x28, 0x43, 0x08, 0x10, 0x04, 0x1c, 0x64, 0x06, 0x5f,
+ 0x0e, 0x00, 0x52, 0x10, 0x03, 0x2e, 0x48, 0x4c, 0xb4, 0x10, 0x06, 0x1c, 0xee, 0x10, 0x10, 0x38,
+ 0x55, 0x40, 0x21, 0x07, 0x5c, 0x54, 0x52, 0x03, 0x0a, 0x00, 0x6f, 0x08, 0x60, 0x52, 0x03, 0x0a,
+ 0x35, 0x0c, 0x22, 0x55, 0x40, 0x0a, 0x0e, 0x02, 0x55, 0x1e, 0x64, 0x1e, 0x26, 0x57, 0x05, 0x00,
+ 0x52, 0x29, 0x58, 0x29, 0x1a, 0x03, 0x42, 0x21, 0x52, 0x29, 0x58, 0x29, 0x21, 0x35, 0x0c, 0x1a,
+ 0x55, 0x1e, 0x64, 0x1e, 0x10, 0x05, 0x00, 0x62, 0x78, 0x5f, 0x5a, 0x08, 0x28, 0x5a, 0x08, 0x20,
+ 0x5a, 0x08, 0x10, 0x05, 0x62, 0x5a, 0x08, 0x20, 0x78, 0x28, 0x78, 0x5f, 0x5a, 0x08, 0x10,
+};
+
+static const uint16_t mf_rlefont_php6ySCWY_glyph_offsets_5[40] = {
+ 0x0000, 0x0006, 0x000c, 0x000c, 0x000c, 0x000d, 0x0016, 0x001b,
+ 0x000c, 0x0021, 0x0030, 0x003b, 0x000c, 0x000c, 0x000c, 0x0044,
+ 0x000c, 0x000c, 0x000c, 0x004a, 0x000c, 0x000c, 0x000c, 0x000c,
+ 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x004e, 0x000c, 0x000c,
+ 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x0085, 0x0093,
+};
+
+static const uint8_t mf_rlefont_php6ySCWY_glyph_data_6[50] = {
+ 0x0d, 0x38, 0x0b, 0x08, 0x26, 0x0b, 0x00, 0x64, 0x1e, 0xd4, 0x42, 0xcc, 0x58, 0x29, 0xd4, 0x34,
+ 0x07, 0xe8, 0x58, 0x29, 0x00, 0xcc, 0x34, 0x06, 0xf6, 0x64, 0x1e, 0x21, 0xc8, 0x34, 0x4a, 0x60,
+ 0xc6, 0x5d, 0x67, 0x91, 0xc5, 0xc5, 0x34, 0x10, 0x00, 0x06, 0x62, 0x51, 0x03, 0x0b, 0x60, 0xb4,
+ 0x1d, 0x10,
+};
+
+static const uint16_t mf_rlefont_php6ySCWY_glyph_offsets_6[13] = {
+ 0x0000, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028,
+ 0x0028, 0x0028, 0x0028, 0x0028, 0x0029,
+};
+
+static const struct mf_rlefont_char_range_s mf_rlefont_php6ySCWY_char_ranges[] = {
+ {32, 95, mf_rlefont_php6ySCWY_glyph_offsets_0, mf_rlefont_php6ySCWY_glyph_data_0},
+ {160, 96, mf_rlefont_php6ySCWY_glyph_offsets_1, mf_rlefont_php6ySCWY_glyph_data_1},
+ {710, 1, mf_rlefont_php6ySCWY_glyph_offsets_2, mf_rlefont_php6ySCWY_glyph_data_2},
+ {732, 1, mf_rlefont_php6ySCWY_glyph_offsets_3, mf_rlefont_php6ySCWY_glyph_data_3},
+ {1025, 81, mf_rlefont_php6ySCWY_glyph_offsets_4, mf_rlefont_php6ySCWY_glyph_data_4},
+ {8211, 40, mf_rlefont_php6ySCWY_glyph_offsets_5, mf_rlefont_php6ySCWY_glyph_data_5},
+ {8470, 13, mf_rlefont_php6ySCWY_glyph_offsets_6, mf_rlefont_php6ySCWY_glyph_data_6},
+};
+
+const struct mf_rlefont_s mf_rlefont_php6ySCWY = {
+ {
+ "Archangelsk Regular 12",
+ "php6ySCWY",
+ 16, /* width */
+ 12, /* height */
+ 2, /* min x advance */
+ 16, /* max x advance */
+ 1, /* baseline x */
+ 9, /* baseline y */
+ 12, /* line height */
+ 0, /* flags */
+ 63, /* fallback character */
+ &mf_rlefont_character_width,
+ &mf_rlefont_render_character,
+ },
+ 4, /* version */
+ mf_rlefont_php6ySCWY_dictionary_data,
+ mf_rlefont_php6ySCWY_dictionary_offsets,
+ 80, /* rle dict count */
+ 137, /* total dict count */
+ 7, /* char range count */
+ mf_rlefont_php6ySCWY_char_ranges,
+};
+
+#ifdef MF_INCLUDED_FONTS
+/* List entry for searching fonts by name. */
+static const struct mf_font_list_s mf_rlefont_php6ySCWY_listentry = {
+ MF_INCLUDED_FONTS,
+ (struct mf_font_s*)&mf_rlefont_php6ySCWY
+};
+#undef MF_INCLUDED_FONTS
+#define MF_INCLUDED_FONTS (&mf_rlefont_php6ySCWY_listentry)
+#endif
+
+
+/* End of automatically generated font definition for php6ySCWY. */
+
diff --git a/drivers/gdisp/ST7565/gdisp_lld.c b/drivers/gdisp/ST7565/gdisp_lld.c
new file mode 100644
index 00000000..960b1389
--- /dev/null
+++ b/drivers/gdisp/ST7565/gdisp_lld.c
@@ -0,0 +1,269 @@
+/*
+ * This file is subject to the terms of the GFX License. If a copy of
+ * the license was not distributed with this file, you can obtain one at:
+ *
+ * http://ugfx.org/license.html
+ */
+
+#include "gfx.h"
+
+#if GFX_USE_GDISP || defined(__DOXYGEN__)
+
+
+/* Include the emulation code for things we don't support */
+#include "gdisp/lld/emulation.c"
+#include "st7565.h"
+#include "gdisp_lld_board.h"
+
+
+/*===========================================================================*/
+/* Driver local definitions. */
+/*===========================================================================*/
+
+#ifndef GDISP_SCREEN_HEIGHT
+#define GDISP_SCREEN_HEIGHT 64
+#endif
+#ifndef GDISP_SCREEN_WIDTH
+#define GDISP_SCREEN_WIDTH 128
+#endif
+
+#define GDISP_INITIAL_CONTRAST 0xFF
+
+/*===========================================================================*/
+/* Driver local functions. */
+/*===========================================================================*/
+
+// Some common routines and macros
+#define delay(us) gfxSleepMicroseconds(us)
+#define delay_ms(ms) gfxSleepMilliseconds(ms)
+
+// The memory buffer for the display
+static uint8_t gdisp_buffer[GDISP_SCREEN_HEIGHT * GDISP_SCREEN_WIDTH / 8];
+
+/** Set the display to normal or inverse.
+ * @param[in] value 0 for normal mode, or 1 for inverse mode.
+ * @notapi
+ */
+static void invert_display(uint8_t i) {
+ write_cmd(i ? ST7565_INVERT_DISPLAY : ST7565_POSITIVE_DISPLAY);
+}
+
+/** Turn the whole display off.
+ * Sends the display to sleep, but leaves RAM intact.
+ * @notapi
+ */
+static void display_off(void) {
+ write_cmd(ST7565_DISPLAY_OFF);
+}
+
+/** Turn the whole display on.
+ * Wakes up this display following a sleep() call.
+ * @notapi
+ */
+static void display_on(void) {
+ write_cmd(ST7565_DISPLAY_ON);
+}
+
+/** Set the display contrast.
+ * @param[in] value The contrast, from 1 to 63.
+ * @notapi
+ */
+static void set_contrast(uint8_t value) {
+ write_cmd(ST7565_CONTRAST);
+ write_cmd(value & 0x3F);
+}
+
+/** Set the display start line. This is the line at which the display will start rendering.
+ * @param[in] value A value from 0 to 63 denoting the line to start at.
+ * @notapi
+ */
+static void set_display_start_line(unsigned char value) {
+ write_cmd(ST7565_START_LINE | value);
+}
+
+static void gdisp_lld_display(void) {
+ uint8_t p;
+ set_display_start_line(0);
+
+ for (p = 0; p < 8; p++) {
+ write_cmd(ST7565_PAGE | p);
+ write_cmd(ST7565_COLUMN_MSB | 0);
+ write_cmd(ST7565_COLUMN_LSB | 0);
+ write_cmd(ST7565_RMW);
+ write_data(&gdisp_buffer[p * GDISP_SCREEN_WIDTH], GDISP_SCREEN_WIDTH);
+ }
+}
+
+/*===========================================================================*/
+/* Driver interrupt handlers. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Driver exported functions. */
+/*===========================================================================*/
+
+/* ---- Required Routines ---- */
+/*
+ The following 2 routines are required.
+ All other routines are optional.
+ */
+
+/**
+ * @brief Low level GDISP driver initialization.
+ *
+ * @notapi
+ */
+bool_t gdisp_lld_init(void) {
+ // Initialize your display
+ init_board();
+
+ // Hardware reset.
+ setpin_reset(TRUE);
+ delay_ms(10);
+ setpin_reset(FALSE);
+ delay_ms(1);
+
+ write_cmd(ST7565_LCD_BIAS_7);
+ write_cmd(ST7565_ADC_NORMAL);
+ write_cmd(ST7565_COM_SCAN_INC);
+ set_display_start_line(0);
+
+ set_contrast(32);
+ write_cmd(ST7565_RESISTOR_RATIO | 0x3);
+
+ // turn on voltage converter (VC=1, VR=0, VF=0)
+ write_cmd(ST7565_POWER_CONTROL | 0x04);
+ delay_ms(50);
+ // turn on voltage regulator (VC=1, VR=1, VF=0)
+ write_cmd(ST7565_POWER_CONTROL | 0x06);
+ delay_ms(50);
+ // turn on voltage follower (VC=1, VR=1, VF=1)
+ write_cmd(ST7565_POWER_CONTROL | 0x07);
+ delay_ms(50);
+
+ display_on();
+ write_cmd(ST7565_ALLON_NORMAL);
+ invert_display(0);// Disable Inversion of display.
+
+ write_cmd(ST7565_RMW);
+ gdisp_lld_display();
+
+ // Initialize the GDISP structure
+ GDISP.Width = GDISP_SCREEN_WIDTH;
+ GDISP.Height = GDISP_SCREEN_HEIGHT;
+ GDISP.Orientation = GDISP_ROTATE_0;
+ GDISP.Powermode = powerOn;
+ GDISP.Contrast = 50;
+#if GDISP_NEED_VALIDATION || GDISP_NEED_CLIP
+ GDISP.clipx0 = 0;
+ GDISP.clipy0 = 0;
+ GDISP.clipx1 = GDISP.Width;
+ GDISP.clipy1 = GDISP.Height;
+#endif
+ return TRUE;
+}
+
+/**
+ * @brief Draws a pixel on the display.
+ *
+ * @param[in] x X location of the pixel
+ * @param[in] y Y location of the pixel
+ * @param[in] color The color of the pixel
+ *
+ * @notapi
+ */
+void gdisp_lld_draw_pixel(coord_t x, coord_t y, color_t color) {
+#if GDISP_NEED_VALIDATION || GDISP_NEED_CLIP
+ if (x < GDISP.clipx0 || y < GDISP.clipy0 || x >= GDISP.clipx1 || y >= GDISP.clipy1) return;
+#endif
+
+ if (color == 1)
+ gdisp_buffer[x+ (y/8)*GDISP_SCREEN_WIDTH] |= (1<<y%8);
+ else
+ gdisp_buffer[x+ (y/8)*GDISP_SCREEN_WIDTH] &= ~(1<<y%8);
+}
+
+/* ---- Optional Routines ---- */
+/*
+ All the below routines are optional.
+ Defining them will increase speed but everything
+ will work if they are not defined.
+ If you are not using a routine - turn it off using
+ the appropriate GDISP_HARDWARE_XXXX macro.
+ Don't bother coding for obvious similar routines if
+ there is no performance penalty as the emulation software
+ makes a good job of using similar routines.
+ eg. If gfillarea() is defined there is little
+ point in defining clear() unless the
+ performance bonus is significant.
+ For good performance it is suggested to implement
+ fillarea() and blitarea().
+ */
+
+#if (GDISP_NEED_CONTROL && GDISP_HARDWARE_CONTROL) || defined(__DOXYGEN__)
+/**
+ * @brief Driver Control
+ * @details Unsupported control codes are ignored.
+ * @note The value parameter should always be typecast to (void *).
+ * @note There are some predefined and some specific to the low level driver.
+ * @note GDISP_CONTROL_POWER - Takes a gdisp_powermode_t
+ * GDISP_CONTROL_ORIENTATION - Takes a gdisp_orientation_t
+ * GDISP_CONTROL_BACKLIGHT - Takes an int from 0 to 100. For a driver
+ * that only supports off/on anything other
+ * than zero is on.
+ * GDISP_CONTROL_CONTRAST - Takes an int from 0 to 100.
+ * GDISP_CONTROL_LLD - Low level driver control constants start at
+ * this value.
+ *
+ * @param[in] what What to do.
+ * @param[in] value The value to use (always cast to a void *).
+ *
+ * @notapi
+ */
+void gdisp_lld_control(unsigned what, void *value) {
+ switch(what) {
+ case GDISP_CONTROL_POWER:
+ if (GDISP.Powermode == (gdisp_powermode_t)value)
+ return;
+
+ switch((gdisp_powermode_t)value) {
+ case powerOff:
+ display_off();
+ break;
+ case powerSleep:
+ display_off();
+ break;
+ case powerDeepSleep:
+ display_off();
+ break;
+ case powerOn:
+ display_on();
+ break;
+ default:
+ return;
+ }
+ GDISP.Powermode = (gdisp_powermode_t)value;
+ return;
+
+ case GDISP_CONTROL_BACKLIGHT:
+ set_backlight((uint8_t)(size_t)value);
+ return;
+
+ case GDISP_CONTROL_CONTRAST:
+ if ((unsigned)value > 100) value = (void*)100;
+ if (GDISP.Contrast == (uint8_t)((float)((size_t)value) * 63.0/100.0))
+ return;
+ set_contrast((uint8_t)((float)((size_t)value) * 63.0/100.0) );
+ GDISP.Contrast = (unsigned)value;
+ return;
+
+ case GDISP_CONTROL_LLD_FLUSH:
+ gdisp_lld_display();
+ return;
+ }
+}
+#endif // GDISP_NEED_CONTROL
+
+#endif // GFX_USE_GDISP
+/** @} */
+
diff --git a/drivers/gdisp/ST7565/gdisp_lld.mk b/drivers/gdisp/ST7565/gdisp_lld.mk
new file mode 100644
index 00000000..cd925824
--- /dev/null
+++ b/drivers/gdisp/ST7565/gdisp_lld.mk
@@ -0,0 +1,6 @@
+# List the required driver.
+GFXSRC += $(GFXLIB)/drivers/gdisp/ST7565/gdisp_lld.c
+
+# Required include directories
+GFXINC += $(GFXLIB)/drivers/gdisp/ST7565
+
diff --git a/drivers/gdisp/ST7565/gdisp_lld_board_template.h b/drivers/gdisp/ST7565/gdisp_lld_board_template.h
new file mode 100644
index 00000000..2f40ccc7
--- /dev/null
+++ b/drivers/gdisp/ST7565/gdisp_lld_board_template.h
@@ -0,0 +1,82 @@
+/*
+ * This file is subject to the terms of the GFX License. If a copy of
+ * the license was not distributed with this file, you can obtain one at:
+ *
+ * http://ugfx.org/license.html
+ */
+
+#ifndef _GDISP_LLD_BOARD_H
+#define _GDISP_LLD_BOARD_H
+
+/**
+ * @brief Initialize the board for the display.
+ * @notes This board definition uses GPIO and assumes exclusive access to these GPIO pins
+ * @notapi
+ */
+static inline void init_board(void) {
+ /* Configure SPI bus here. Up to 10Mhz, SPI Mode = 3 (CPOL = 1, CPHA = 0) */
+ /* Configure A0, !CS, !RST pin for output */
+}
+
+/**
+ * @brief Set or clear the lcd reset pin.
+ * @param[in] state TRUE = lcd in reset, FALSE = normal operation
+ * @notapi
+ */
+static inline void setpin_reset(bool_t state) {
+ /* Set !CS to low */
+ if (state) {
+ /* Set !RST to low */
+ } else {
+ /* Set !RST to high */
+ }
+}
+
+/**
+ * @brief Set the lcd back-light level.
+ * @param[in] percent 0 to 100%
+ * @notapi
+ */
+static inline void set_backlight(uint8_t percent) {
+
+}
+
+/**
+ * @brief Take exclusive control of the bus
+ * @notapi
+ */
+static inline void acquire_bus(void) {
+
+}
+
+/**
+ * @brief Release exclusive control of the bus
+ * @notapi
+ */
+static inline void release_bus(void) {
+
+}
+
+/**
+ * @brief Send command to the display.
+ * @param[in] cmd The command to send
+ * @notapi
+ */
+static inline void write_cmd(uint8_t cmd) {
+ /* Set A0 to low */
+ /* Transmit cmd over SPI */
+}
+
+/**
+ * @brief Send data to the display.
+ * @param[in] data The data to send
+ * @notapi
+ */
+static inline void write_data(uint8_t* data, uint16_t length) {
+ /* Set A0 to high */
+ /* Transmit data for length over SPI. DMA is recommended. */
+}
+
+#endif /* _GDISP_LLD_BOARD_H */
+/** @} */
+
diff --git a/drivers/gdisp/ST7565/gdisp_lld_config.h b/drivers/gdisp/ST7565/gdisp_lld_config.h
new file mode 100644
index 00000000..8d26a0aa
--- /dev/null
+++ b/drivers/gdisp/ST7565/gdisp_lld_config.h
@@ -0,0 +1,29 @@
+/*
+ * This file is subject to the terms of the GFX License. If a copy of
+ * the license was not distributed with this file, you can obtain one at:
+ *
+ * http://ugfx.org/license.html
+ */
+
+#ifndef _GDISP_LLD_CONFIG_H
+#define _GDISP_LLD_CONFIG_H
+
+#if GFX_USE_GDISP
+
+/*===========================================================================*/
+/* Driver hardware support. */
+/*===========================================================================*/
+
+#define GDISP_DRIVER_NAME "ST7565"
+
+#define GDISP_HARDWARE_CONTROL TRUE
+
+#define GDISP_PIXELFORMAT GDISP_PIXELFORMAT_MONO
+
+#define GDISP_CONTROL_LLD_FLUSH (GDISP_CONTROL_LLD + 1)
+
+#endif /* GFX_USE_GDISP */
+
+#endif /* _GDISP_LLD_CONFIG_H */
+/** @} */
+
diff --git a/drivers/gdisp/ST7565/st7565.h b/drivers/gdisp/ST7565/st7565.h
new file mode 100644
index 00000000..b1f43f6b
--- /dev/null
+++ b/drivers/gdisp/ST7565/st7565.h
@@ -0,0 +1,42 @@
+/*
+ * This file is subject to the terms of the GFX License. If a copy of
+ * the license was not distributed with this file, you can obtain one at:
+ *
+ * http://ugfx.org/license.html
+ */
+
+#ifndef _ST7565_H
+#define _ST7565_H
+
+#define ST7565_BLACK 0
+#define ST7565_WHITE 1
+
+#define ST7565_CONTRAST 0x81
+#define ST7565_ALLON_NORMAL 0xA4
+#define ST7565_ALLON 0xA5
+#define ST7565_POSITIVE_DISPLAY 0xA6
+#define ST7565_INVERT_DISPLAY 0xA7
+#define ST7565_DISPLAY_OFF 0xAE
+#define ST7565_DISPLAY_ON 0xAF
+
+#define ST7565_LCD_BIAS_7 0xA3
+#define ST7565_LCD_BIAS_9 0xA2
+
+#define ST7565_ADC_NORMAL 0xA0
+#define ST7565_ADC_REVERSE 0xA1
+
+#define ST7565_COM_SCAN_INC 0xC0
+#define ST7565_COM_SCAN_DEC 0xC8
+
+#define ST7565_START_LINE 0x40
+#define ST7565_PAGE 0xB0
+#define ST7565_COLUMN_MSB 0x10
+#define ST7565_COLUMN_LSB 0x00
+#define ST7565_RMW 0xE0
+
+#define ST7565_RESISTOR_RATIO 0x20
+#define ST7565_POWER_CONTROL 0x28
+
+#endif /* _ST7565_H */
+/** @} */
+
diff --git a/releases.txt b/releases.txt
index b657960f..e257ddc4 100644
--- a/releases.txt
+++ b/releases.txt
@@ -10,6 +10,7 @@ FIX: POSIX port removed, now dedicated OS-X and Linux ports
FIX: Several bugfixes
FEATURE: mcufont integration
FEATURE: SSD1306 driver by user goeck
+FEATURE: ST7565 driver by user sam0737
*** changes after 1.7 ***