You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by na...@apache.org on 2018/12/11 11:31:23 UTC

[mynewt-core] 01/04: hw/drivers: Copy display drivers from Zephyr

This is an automated email from the ASF dual-hosted git repository.

naraj pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-core.git

commit 566f70efdfac389e6039ef7906b5cbb7c469c7eb
Author: MichaƂ Narajowski <mi...@codecoup.pl>
AuthorDate: Tue Nov 6 13:25:17 2018 +0100

    hw/drivers: Copy display drivers from Zephyr
---
 hw/drivers/display/cfb/include/display/cfb.h  |  162 +
 hw/drivers/display/cfb/src/cfb.c              |  308 ++
 hw/drivers/display/cfb/src/cfb_fonts.c        | 5179 +++++++++++++++++++++++++
 hw/drivers/display/include/display/display.h  |  412 ++
 hw/drivers/display/ssd1673/src/ssd1673.c      |  532 +++
 hw/drivers/display/ssd1673/src/ssd1673_regs.h |   88 +
 6 files changed, 6681 insertions(+)

diff --git a/hw/drivers/display/cfb/include/display/cfb.h b/hw/drivers/display/cfb/include/display/cfb.h
new file mode 100644
index 0000000..29e70d8
--- /dev/null
+++ b/hw/drivers/display/cfb/include/display/cfb.h
@@ -0,0 +1,162 @@
+/*
+ * Copyright (c) 2018 PHYTEC Messtechnik GmbH
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+/**
+ * @file
+ * @brief Public Monochrome Character Framebuffer API
+ */
+
+#ifndef __CFB_H__
+#define __CFB_H__
+
+#include <device.h>
+#include <display.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @brief Display Drivers
+ * @defgroup display_interfaces Display Drivers
+ * @{
+ * @}
+ */
+
+/**
+ * @brief Public Monochrome Character Framebuffer API
+ * @defgroup monochrome_character_framebuffer Monochrome Character Framebuffer
+ * @ingroup display_interfaces
+ * @{
+ */
+
+enum cfb_display_param {
+	CFB_DISPLAY_HEIGH		= 0,
+	CFB_DISPLAY_WIDTH,
+	CFB_DISPLAY_PPT,
+	CFB_DISPLAY_ROWS,
+	CFB_DISPLAY_COLS,
+};
+
+enum cfb_font_caps {
+	CFB_FONT_MONO_VPACKED		= BIT(0),
+	CFB_FONT_MONO_HPACKED		= BIT(1),
+};
+
+struct cfb_font {
+	const void *data;
+	u8_t width;
+	u8_t height;
+	enum cfb_font_caps caps;
+	u8_t first_char;
+	u8_t last_char;
+};
+
+/**
+ * @brief Macro for creating a font entry.
+ *
+ * @param _name   Name of the font entry.
+ * @param _width  Width of the font in pixels
+ * @param _height Heigth of the font in pixels.
+ * @param _caps   Font capabilities.
+ * @param _data   Raw data of the font.
+ * @param _fc     Character mapped to first font element.
+ * @param _lc     Character mapped to last font element.
+ */
+#define FONT_ENTRY_DEFINE(_name, _width, _height, _caps, _data, _fc, _lc)      \
+	static const struct cfb_font _name				       \
+	__attribute__ ((section(".font_entry."))) __attribute__((used)) =      \
+	{								       \
+		.width = _width,					       \
+		.height = _height,					       \
+		.caps = _caps,						       \
+		.data = _data,						       \
+		.first_char = _fc,					       \
+		.last_char = _lc,					       \
+	}
+
+/**
+ * @brief Print a string into the framebuffer.
+ *
+ * @param dev Pointer to device structure for driver instance
+ * @param str String to print
+ * @param x Position in X direction of the beginning of the string
+ * @param y Position in Y direction of the beginning of the string
+ *
+ * @return 0 on success, negative value otherwise
+ */
+int cfb_print(struct device *dev, char *str, u16_t x, u16_t y);
+
+/**
+ * @brief Clear framebuffer.
+ *
+ * @param dev Pointer to device structure for driver instance
+ * @param clear_display Clear the display as well
+ *
+ * @return 0 on success, negative value otherwise
+ */
+int cfb_framebuffer_clear(struct device *dev, bool clear_display);
+
+/**
+ * @brief Finalize framebuffer and write it to display RAM,
+ * invert or reorder pixels if necessary.
+ *
+ * @param dev Pointer to device structure for driver instance
+ *
+ * @return 0 on success, negative value otherwise
+ */
+int cfb_framebuffer_finalize(struct device *dev);
+
+/**
+ * @brief Get display parameter.
+ *
+ * @param dev Pointer to device structure for driver instance
+ * @param cfb_display_param One of the display parameters
+ *
+ * @return Display parameter value
+ */
+int cfb_get_display_parameter(struct device *dev, enum cfb_display_param);
+
+/**
+ * @brief Set font.
+ *
+ * @param dev Pointer to device structure for driver instance
+ * @param idx Font index
+ *
+ * @return 0 on success, negative value otherwise
+ */
+int cfb_framebuffer_set_font(struct device *dev, u8_t idx);
+
+/**
+ * @brief Get font size.
+ *
+ * @param dev Pointer to device structure for driver instance
+ * @param idx Font index
+ * @param width Pointers to the variable where the font width will be stored.
+ * @param height Pointers to the variable where the font height will be stored.
+ *
+ * @return 0 on success, negative value otherwise
+ */
+int cfb_get_font_size(struct device *dev, u8_t idx, u8_t *width, u8_t *height);
+
+/**
+ * @brief Initialize Character Framebuffer.
+ *
+ * @param dev Pointer to device structure for driver instance
+ *
+ * @return 0 on success, negative value otherwise
+ */
+int cfb_framebuffer_init(struct device *dev);
+
+#ifdef __cplusplus
+}
+#endif
+
+/**
+ * @}
+ */
+
+#endif /* __CFB_H__ */
diff --git a/hw/drivers/display/cfb/src/cfb.c b/hw/drivers/display/cfb/src/cfb.c
new file mode 100644
index 0000000..dc2bc14
--- /dev/null
+++ b/hw/drivers/display/cfb/src/cfb.c
@@ -0,0 +1,308 @@
+/*
+ * Copyright (c) 2018 PHYTEC Messtechnik GmbH
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+#include <zephyr.h>
+#include <string.h>
+#include <display/cfb.h>
+
+#define LOG_LEVEL CONFIG_CFB_LOG_LEVEL
+#include <logging/log.h>
+LOG_MODULE_REGISTER(cfb);
+
+extern const struct cfb_font __font_entry_start[0];
+extern const struct cfb_font __font_entry_end[0];
+
+struct char_framebuffer {
+	/** Pointer to a buffer in RAM */
+	u8_t *buf;
+
+	/** Size of the framebuffer */
+	u32_t size;
+
+	/** Pointer to the font entry array */
+	const struct cfb_font *fonts;
+
+	/** Display pixel format */
+	enum display_pixel_format pixel_format;
+
+	/** Display screen info */
+	enum display_screen_info screen_info;
+
+	/** Resolution of a framebuffer in pixels in X direction */
+	u8_t x_res;
+
+	/** Resolution of a framebuffer in pixels in Y direction */
+	u8_t y_res;
+
+	/** Number of pixels per tile, typically 8 */
+	u8_t ppt;
+
+	/** Number of available fonts */
+	u8_t numof_fonts;
+
+	/** Current font index */
+	u8_t font_idx;
+
+	/** Font kerning */
+	s8_t kerning;
+
+	/** Invertedj*/
+	bool inverted;
+};
+
+static struct char_framebuffer char_fb;
+
+static inline u8_t *get_glyph_ptr(const struct cfb_font *fptr, char c)
+{
+	if (fptr->caps & CFB_FONT_MONO_VPACKED) {
+		return (u8_t *)fptr->data +
+		       (c - fptr->first_char) *
+		       (fptr->width * fptr->height / 8);
+	}
+
+	return NULL;
+}
+
+/*
+ * Draw the monochrome character in the monochrome tiled framebuffer,
+ * a byte is interpreted as 8 pixels ordered vertically among each other.
+ */
+static u8_t draw_char_vtmono(const struct char_framebuffer *fb,
+			     char c, u16_t x, u16_t y)
+{
+	const struct cfb_font *fptr = &(fb->fonts[fb->font_idx]);
+	u8_t *glyph_ptr;
+
+	if (c < fptr->first_char || c > fptr->last_char) {
+		c = ' ';
+	}
+
+	glyph_ptr = get_glyph_ptr(fptr, c);
+	if (!glyph_ptr) {
+		return 0;
+	}
+
+	for (size_t g_x = 0; g_x < fptr->width; g_x++) {
+		u32_t y_segment = y / 8;
+
+		for (size_t g_y = 0; g_y < fptr->height / 8; g_y++) {
+			u32_t fb_y = (y_segment + g_y) * fb->x_res;
+
+			if ((fb_y + x + g_x) >= fb->size) {
+				return 0;
+			}
+			fb->buf[fb_y + x + g_x] =
+				glyph_ptr[g_x * (fptr->height / 8) + g_y];
+		}
+
+	}
+
+	return fptr->width;
+}
+
+int cfb_print(struct device *dev, char *str, u16_t x, u16_t y)
+{
+	const struct char_framebuffer *fb = &char_fb;
+	const struct cfb_font *fptr = &(fb->fonts[fb->font_idx]);
+
+	if (!fb->fonts || !fb->buf) {
+		return -1;
+	}
+
+	if (fptr->height % 8) {
+		LOG_ERR("Wrong font size");
+		return -1;
+	}
+
+	if ((fb->screen_info & SCREEN_INFO_MONO_VTILED) && !(y % 8)) {
+		for (size_t i = 0; i < strlen(str); i++) {
+			if (x + fptr->width > fb->x_res) {
+				x = 0;
+				y += fptr->height;
+			}
+			x += fb->kerning + draw_char_vtmono(fb, str[i], x, y);
+		}
+		return 0;
+	}
+
+	LOG_ERR("Unsupported framebuffer configuration");
+	return -1;
+}
+
+static int cfb_reverse_bytes(const struct char_framebuffer *fb)
+{
+	if (!(fb->screen_info & SCREEN_INFO_MONO_VTILED)) {
+		LOG_ERR("Unsupported framebuffer configuration");
+		return -1;
+	}
+
+	for (size_t i = 0; i < fb->x_res * fb->y_res / 8; i++) {
+		fb->buf[i] = (fb->buf[i] & 0xf0) >> 4 |
+			      (fb->buf[i] & 0x0f) << 4;
+		fb->buf[i] = (fb->buf[i] & 0xcc) >> 2 |
+			      (fb->buf[i] & 0x33) << 2;
+		fb->buf[i] = (fb->buf[i] & 0xaa) >> 1 |
+			      (fb->buf[i] & 0x55) << 1;
+	}
+
+	return 0;
+}
+
+static int cfb_invert(const struct char_framebuffer *fb)
+{
+	for (size_t i = 0; i < fb->x_res * fb->y_res / 8; i++) {
+		fb->buf[i] = ~fb->buf[i];
+	}
+
+	return 0;
+}
+
+int cfb_framebuffer_clear(struct device *dev, bool clear_display)
+{
+	const struct display_driver_api *api = dev->driver_api;
+	const struct char_framebuffer *fb = &char_fb;
+	struct display_buffer_descriptor desc;
+
+	if (!fb || !fb->buf) {
+		return -1;
+	}
+
+	desc.buf_size = fb->size;
+	desc.width = 0;
+	desc.height = 0;
+	desc.pitch = 0;
+	memset(fb->buf, 0, fb->size);
+
+	if (clear_display && (fb->screen_info & SCREEN_INFO_EPD)) {
+		api->set_contrast(dev, 1);
+		api->write(dev, 0, 0, &desc, fb->buf);
+		api->set_contrast(dev, 0);
+	}
+
+	return 0;
+}
+
+int cfb_framebuffer_finalize(struct device *dev)
+{
+	const struct display_driver_api *api = dev->driver_api;
+	const struct char_framebuffer *fb = &char_fb;
+	struct display_buffer_descriptor desc;
+
+	if (!fb || !fb->buf) {
+		return -1;
+	}
+
+	desc.buf_size = fb->size;
+	desc.width = 0;
+	desc.height = 0;
+	desc.pitch = 0;
+
+	if (!(fb->pixel_format & PIXEL_FORMAT_MONO10) != !(fb->inverted)) {
+		cfb_invert(fb);
+	}
+
+	if (fb->screen_info & SCREEN_INFO_MONO_MSB_FIRST) {
+		cfb_reverse_bytes(fb);
+	}
+
+	return api->write(dev, 0, 0, &desc, fb->buf);
+}
+
+int cfb_get_display_parameter(struct device *dev,
+			       enum cfb_display_param param)
+{
+	const struct char_framebuffer *fb = &char_fb;
+
+	switch (param) {
+	case CFB_DISPLAY_HEIGH:
+		return fb->y_res;
+	case CFB_DISPLAY_WIDTH:
+		return fb->x_res;
+	case CFB_DISPLAY_PPT:
+		return fb->ppt;
+	case CFB_DISPLAY_ROWS:
+		if (fb->screen_info & SCREEN_INFO_MONO_VTILED) {
+			return fb->y_res / fb->ppt;
+		}
+		return fb->y_res;
+	case CFB_DISPLAY_COLS:
+		if (fb->screen_info & SCREEN_INFO_MONO_VTILED) {
+			return fb->x_res;
+		}
+		return fb->x_res / fb->ppt;
+	}
+	return 0;
+}
+
+int cfb_framebuffer_set_font(struct device *dev, u8_t idx)
+{
+	struct char_framebuffer *fb = &char_fb;
+
+	if (idx >= fb->numof_fonts) {
+		return -1;
+	}
+
+	fb->font_idx = idx;
+
+	return 0;
+}
+
+int cfb_get_font_size(struct device *dev, u8_t idx, u8_t *width, u8_t *height)
+{
+	const struct char_framebuffer *fb = &char_fb;
+
+	if (idx >= fb->numof_fonts) {
+		return -1;
+	}
+
+	if (width) {
+		*width = __font_entry_start[idx].width;
+	}
+
+	if (height) {
+		*height = __font_entry_start[idx].height;
+	}
+
+	return 0;
+}
+
+int cfb_framebuffer_init(struct device *dev)
+{
+	const struct display_driver_api *api = dev->driver_api;
+	struct char_framebuffer *fb = &char_fb;
+	struct display_capabilities cfg;
+
+	api->get_capabilities(dev, &cfg);
+
+	fb->numof_fonts = __font_entry_end - __font_entry_start;
+	LOG_DBG("number of fonts %d", fb->numof_fonts);
+	if (!fb->numof_fonts) {
+		return -1;
+	}
+
+	fb->x_res = cfg.x_resolution;
+	fb->y_res = cfg.y_resolution;
+	fb->ppt = 8;
+	fb->pixel_format = cfg.current_pixel_format;
+	fb->screen_info = cfg.screen_info;
+	fb->buf = NULL;
+	fb->font_idx = 0;
+	fb->kerning = 0;
+	fb->inverted = false;
+
+	fb->fonts = __font_entry_start;
+	fb->font_idx = 0;
+
+	fb->size = fb->x_res * fb->y_res / fb->ppt;
+	fb->buf = k_malloc(fb->size);
+	if (!fb->buf) {
+		return -1;
+	}
+
+	memset(fb->buf, 0, fb->size);
+
+	return 0;
+}
diff --git a/hw/drivers/display/cfb/src/cfb_fonts.c b/hw/drivers/display/cfb/src/cfb_fonts.c
new file mode 100644
index 0000000..47e0942
--- /dev/null
+++ b/hw/drivers/display/cfb/src/cfb_fonts.c
@@ -0,0 +1,5179 @@
+/*
+ * Copyright (c) 2018 PHYTEC Messtechnik GmbH
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * This file was generated from the font DroidSansMono.ttf
+ * Copyright (C) 2008 The Android Open Source Project
+ * Licensed under the Apache License, Version 2.0
+ */
+
+#include <zephyr.h>
+#include <display/cfb.h>
+
+#define CFB_FONTS_FIRST_CHAR	32
+#define CFB_FONTS_LAST_CHAR	127
+
+const u8_t cfb_font_1016[95][20] = {
+	/*   */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* ! */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xf8, 0x1b,
+		0x38, 0x18,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* " */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x38, 0x00,
+		0x08, 0x00,
+		0x00, 0x00,
+		0x38, 0x00,
+		0x08, 0x00,
+		0x00, 0x00,
+	},
+	/* # */
+	{
+		0x00, 0x00,
+		0x00, 0x02,
+		0x40, 0x1e,
+		0xe0, 0x07,
+		0x78, 0x02,
+		0x40, 0x1e,
+		0xe0, 0x07,
+		0x78, 0x02,
+		0x40, 0x00,
+		0x00, 0x00,
+	},
+	/* $ */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x70, 0x10,
+		0x88, 0x10,
+		0xfe, 0x7f,
+		0x08, 0x11,
+		0x08, 0x0e,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* % */
+	{
+		0x00, 0x00,
+		0x70, 0x00,
+		0x88, 0x10,
+		0x88, 0x0c,
+		0x70, 0x03,
+		0xc0, 0x0e,
+		0x30, 0x11,
+		0x08, 0x11,
+		0x00, 0x0e,
+		0x00, 0x00,
+	},
+	/* & */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x0e,
+		0x70, 0x19,
+		0x88, 0x10,
+		0xc8, 0x13,
+		0x70, 0x0c,
+		0x00, 0x1f,
+		0x00, 0x10,
+		0x00, 0x00,
+	},
+	/* ' */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x38, 0x00,
+		0x08, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* ( */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xc0, 0x0f,
+		0x70, 0x38,
+		0x18, 0x60,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* ) */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x18, 0x60,
+		0x70, 0x38,
+		0xc0, 0x0f,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* * */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x10, 0x00,
+		0x90, 0x00,
+		0xd0, 0x00,
+		0x3c, 0x00,
+		0xd0, 0x00,
+		0x90, 0x00,
+		0x10, 0x00,
+	},
+	/* + */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x01,
+		0x00, 0x01,
+		0x00, 0x01,
+		0xe0, 0x0f,
+		0x00, 0x01,
+		0x00, 0x01,
+		0x00, 0x01,
+	},
+	/* , */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x38,
+		0x00, 0x18,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* - */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x02,
+		0x00, 0x02,
+		0x00, 0x02,
+		0x00, 0x02,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* . */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x18,
+		0x00, 0x18,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* / */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x10,
+		0x00, 0x0c,
+		0x00, 0x03,
+		0xc0, 0x00,
+		0x30, 0x00,
+		0x08, 0x00,
+		0x00, 0x00,
+	},
+	/* 0 */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xe0, 0x07,
+		0x38, 0x1c,
+		0x08, 0x10,
+		0x08, 0x10,
+		0x38, 0x1c,
+		0xe0, 0x07,
+		0x00, 0x00,
+	},
+	/* 1 */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x20, 0x00,
+		0x10, 0x00,
+		0xf8, 0x1f,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* 2 */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x10, 0x10,
+		0x08, 0x1c,
+		0x08, 0x16,
+		0x08, 0x13,
+		0x98, 0x11,
+		0x70, 0x10,
+		0x00, 0x00,
+	},
+	/* 3 */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x10, 0x10,
+		0x08, 0x10,
+		0x88, 0x10,
+		0x88, 0x10,
+		0x58, 0x19,
+		0x70, 0x0f,
+		0x00, 0x00,
+	},
+	/* 4 */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x06,
+		0x80, 0x05,
+		0x60, 0x04,
+		0x10, 0x04,
+		0xf8, 0x1f,
+		0x00, 0x04,
+		0x00, 0x00,
+	},
+	/* 5 */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xf8, 0x10,
+		0x88, 0x10,
+		0x88, 0x10,
+		0x88, 0x10,
+		0x88, 0x19,
+		0x08, 0x0f,
+		0x00, 0x00,
+	},
+	/* 6 */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xc0, 0x07,
+		0x70, 0x19,
+		0x98, 0x10,
+		0x88, 0x10,
+		0x88, 0x19,
+		0x08, 0x0f,
+		0x00, 0x00,
+	},
+	/* 7 */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x08, 0x00,
+		0x08, 0x10,
+		0x08, 0x0e,
+		0x88, 0x03,
+		0x68, 0x00,
+		0x18, 0x00,
+		0x00, 0x00,
+	},
+	/* 8 */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x70, 0x0e,
+		0xd8, 0x19,
+		0x88, 0x10,
+		0x88, 0x10,
+		0x58, 0x19,
+		0x70, 0x0e,
+		0x00, 0x00,
+	},
+	/* 9 */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xf0, 0x10,
+		0x98, 0x11,
+		0x08, 0x11,
+		0x08, 0x19,
+		0x98, 0x0e,
+		0xe0, 0x03,
+		0x00, 0x00,
+	},
+	/* : */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x60, 0x18,
+		0x60, 0x18,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* ; */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x60, 0x38,
+		0x60, 0x18,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* < */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x01,
+		0x80, 0x02,
+		0x80, 0x02,
+		0x40, 0x04,
+		0x40, 0x04,
+		0x20, 0x08,
+		0x00, 0x00,
+	},
+	/* = */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x80, 0x02,
+		0x80, 0x02,
+		0x80, 0x02,
+		0x80, 0x02,
+		0x80, 0x02,
+		0x80, 0x02,
+		0x00, 0x00,
+	},
+	/* > */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x20, 0x08,
+		0x40, 0x04,
+		0x40, 0x04,
+		0x80, 0x02,
+		0x80, 0x02,
+		0x00, 0x01,
+		0x00, 0x00,
+	},
+	/* ? */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x18, 0x00,
+		0x08, 0x00,
+		0x08, 0x1a,
+		0x88, 0x19,
+		0xd8, 0x00,
+		0x70, 0x00,
+		0x00, 0x00,
+	},
+	/* @ */
+	{
+		0x00, 0x00,
+		0xc0, 0x0f,
+		0x30, 0x18,
+		0x88, 0x23,
+		0x48, 0x24,
+		0x48, 0x24,
+		0xc8, 0x23,
+		0x10, 0x24,
+		0xe0, 0x03,
+		0x00, 0x00,
+	},
+	/* A */
+	{
+		0x00, 0x00,
+		0x00, 0x10,
+		0x00, 0x0e,
+		0xc0, 0x03,
+		0x38, 0x02,
+		0x38, 0x02,
+		0xc0, 0x03,
+		0x00, 0x0e,
+		0x00, 0x10,
+		0x00, 0x00,
+	},
+	/* B */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xf8, 0x1f,
+		0x88, 0x10,
+		0x88, 0x10,
+		0x88, 0x10,
+		0x58, 0x19,
+		0x70, 0x0f,
+		0x00, 0x00,
+	},
+	/* C */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0xe0, 0x07,
+		0x30, 0x0c,
+		0x18, 0x18,
+		0x08, 0x10,
+		0x08, 0x10,
+		0x18, 0x10,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* D */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xf8, 0x1f,
+		0x08, 0x10,
+		0x08, 0x10,
+		0x18, 0x18,
+		0x30, 0x0c,
+		0xe0, 0x07,
+		0x00, 0x00,
+	},
+	/* E */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xf8, 0x1f,
+		0x88, 0x10,
+		0x88, 0x10,
+		0x88, 0x10,
+		0x88, 0x10,
+		0x88, 0x10,
+		0x00, 0x00,
+	},
+	/* F */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xf8, 0x1f,
+		0x88, 0x00,
+		0x88, 0x00,
+		0x88, 0x00,
+		0x88, 0x00,
+		0x88, 0x00,
+		0x00, 0x00,
+	},
+	/* G */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xe0, 0x07,
+		0x30, 0x0c,
+		0x18, 0x10,
+		0x88, 0x10,
+		0x88, 0x10,
+		0x88, 0x1f,
+		0x00, 0x00,
+	},
+	/* H */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xf8, 0x1f,
+		0x80, 0x00,
+		0x80, 0x00,
+		0x80, 0x00,
+		0x80, 0x00,
+		0xf8, 0x1f,
+		0x00, 0x00,
+	},
+	/* I */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x08, 0x10,
+		0x08, 0x10,
+		0xf8, 0x1f,
+		0x08, 0x10,
+		0x08, 0x10,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* J */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x10,
+		0x00, 0x10,
+		0x00, 0x10,
+		0x00, 0x18,
+		0xf8, 0x0f,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* K */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0xf8, 0x1f,
+		0x00, 0x01,
+		0x80, 0x00,
+		0x40, 0x03,
+		0x30, 0x06,
+		0x18, 0x18,
+		0x08, 0x10,
+		0x00, 0x00,
+	},
+	/* L */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xf8, 0x1f,
+		0x00, 0x10,
+		0x00, 0x10,
+		0x00, 0x10,
+		0x00, 0x10,
+		0x00, 0x10,
+		0x00, 0x00,
+	},
+	/* M */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0xf8, 0x1f,
+		0x70, 0x00,
+		0x80, 0x07,
+		0x00, 0x1c,
+		0x80, 0x03,
+		0x70, 0x00,
+		0xf8, 0x1f,
+		0x00, 0x00,
+	},
+	/* N */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xf8, 0x1f,
+		0x30, 0x00,
+		0xc0, 0x00,
+		0x00, 0x03,
+		0x00, 0x0c,
+		0xf8, 0x1f,
+		0x00, 0x00,
+	},
+	/* O */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xe0, 0x07,
+		0x38, 0x1c,
+		0x08, 0x10,
+		0x08, 0x10,
+		0x38, 0x1c,
+		0xe0, 0x07,
+		0x00, 0x00,
+	},
+	/* P */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xf8, 0x1f,
+		0x08, 0x01,
+		0x08, 0x01,
+		0x08, 0x01,
+		0x98, 0x01,
+		0xf0, 0x00,
+		0x00, 0x00,
+	},
+	/* Q */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xe0, 0x07,
+		0x38, 0x1c,
+		0x08, 0x10,
+		0x08, 0x10,
+		0x38, 0x6c,
+		0xe0, 0xc7,
+		0x00, 0x00,
+	},
+	/* R */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xf8, 0x1f,
+		0x08, 0x01,
+		0x08, 0x01,
+		0x08, 0x03,
+		0x98, 0x07,
+		0xf0, 0x18,
+		0x00, 0x10,
+	},
+	/* S */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x70, 0x10,
+		0xd8, 0x10,
+		0x88, 0x10,
+		0x88, 0x11,
+		0x08, 0x19,
+		0x18, 0x0e,
+		0x00, 0x00,
+	},
+	/* T */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x08, 0x00,
+		0x08, 0x00,
+		0x08, 0x00,
+		0xf8, 0x1f,
+		0x08, 0x00,
+		0x08, 0x00,
+		0x08, 0x00,
+		0x00, 0x00,
+	},
+	/* U */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xf8, 0x0f,
+		0x00, 0x18,
+		0x00, 0x10,
+		0x00, 0x10,
+		0x00, 0x18,
+		0xf8, 0x0f,
+		0x00, 0x00,
+	},
+	/* V */
+	{
+		0x00, 0x00,
+		0x08, 0x00,
+		0x70, 0x00,
+		0x80, 0x03,
+		0x00, 0x1c,
+		0x00, 0x1c,
+		0x80, 0x03,
+		0x70, 0x00,
+		0x08, 0x00,
+		0x00, 0x00,
+	},
+	/* W */
+	{
+		0x00, 0x00,
+		0x78, 0x00,
+		0xc0, 0x1f,
+		0x00, 0x0e,
+		0xc0, 0x01,
+		0x80, 0x01,
+		0x00, 0x06,
+		0x80, 0x1f,
+		0x78, 0x00,
+		0x00, 0x00,
+	},
+	/* X */
+	{
+		0x00, 0x00,
+		0x08, 0x10,
+		0x18, 0x08,
+		0x60, 0x06,
+		0xc0, 0x01,
+		0xc0, 0x03,
+		0x60, 0x06,
+		0x18, 0x18,
+		0x08, 0x10,
+		0x00, 0x00,
+	},
+	/* Y */
+	{
+		0x00, 0x00,
+		0x08, 0x00,
+		0x38, 0x00,
+		0xe0, 0x00,
+		0x00, 0x1f,
+		0xc0, 0x00,
+		0x30, 0x00,
+		0x08, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* Z */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x08, 0x18,
+		0x08, 0x1e,
+		0x08, 0x13,
+		0xc8, 0x10,
+		0x78, 0x10,
+		0x18, 0x10,
+		0x00, 0x00,
+	},
+	/* [ */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xf8, 0x7f,
+		0x08, 0x40,
+		0x08, 0x40,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* \ */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x08, 0x00,
+		0x30, 0x00,
+		0xc0, 0x00,
+		0x00, 0x03,
+		0x00, 0x0c,
+		0x00, 0x10,
+		0x00, 0x00,
+	},
+	/* ] */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x08, 0x40,
+		0x08, 0x40,
+		0xf8, 0x7f,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* ^ */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x01,
+		0xc0, 0x00,
+		0x38, 0x00,
+		0x38, 0x00,
+		0xc0, 0x00,
+		0x00, 0x01,
+		0x00, 0x00,
+	},
+	/* _ */
+	{
+		0x00, 0x40,
+		0x00, 0x40,
+		0x00, 0x40,
+		0x00, 0x40,
+		0x00, 0x40,
+		0x00, 0x40,
+		0x00, 0x40,
+		0x00, 0x40,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* ` */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x04, 0x00,
+		0x0c, 0x00,
+		0x08, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* a */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x0e,
+		0x20, 0x13,
+		0x20, 0x11,
+		0x20, 0x11,
+		0x60, 0x09,
+		0xc0, 0x1f,
+		0x00, 0x00,
+	},
+	/* b */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xfc, 0x1f,
+		0x40, 0x08,
+		0x20, 0x10,
+		0x20, 0x10,
+		0x60, 0x18,
+		0xc0, 0x0f,
+		0x00, 0x00,
+	},
+	/* c */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x80, 0x07,
+		0xc0, 0x08,
+		0x20, 0x10,
+		0x20, 0x10,
+		0x20, 0x10,
+		0x20, 0x10,
+		0x00, 0x00,
+	},
+	/* d */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xc0, 0x0f,
+		0x60, 0x18,
+		0x20, 0x10,
+		0x20, 0x10,
+		0x40, 0x08,
+		0xfc, 0x1f,
+		0x00, 0x00,
+	},
+	/* e */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x80, 0x07,
+		0x60, 0x09,
+		0x20, 0x11,
+		0x20, 0x11,
+		0x60, 0x11,
+		0xc0, 0x19,
+		0x00, 0x00,
+	},
+	/* f */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x20, 0x00,
+		0x20, 0x00,
+		0xf8, 0x1f,
+		0x24, 0x00,
+		0x24, 0x00,
+		0x24, 0x00,
+		0x00, 0x00,
+	},
+	/* g */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xc0, 0x7d,
+		0x20, 0x9a,
+		0x20, 0x8a,
+		0x20, 0x8a,
+		0x20, 0x8a,
+		0xe0, 0xc9,
+		0x20, 0x70,
+	},
+	/* h */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xfc, 0x1f,
+		0x40, 0x00,
+		0x20, 0x00,
+		0x20, 0x00,
+		0x60, 0x00,
+		0xc0, 0x1f,
+		0x00, 0x00,
+	},
+	/* i */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x10,
+		0x20, 0x10,
+		0x20, 0x10,
+		0xec, 0x1f,
+		0x00, 0x10,
+		0x00, 0x10,
+		0x00, 0x00,
+	},
+	/* j */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x80,
+		0x20, 0x80,
+		0x20, 0x80,
+		0x20, 0xc0,
+		0xec, 0x7f,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* k */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xfc, 0x1f,
+		0x00, 0x02,
+		0x00, 0x03,
+		0x80, 0x06,
+		0x40, 0x0c,
+		0x20, 0x18,
+		0x00, 0x10,
+	},
+	/* l */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x10,
+		0x04, 0x10,
+		0x04, 0x10,
+		0xfc, 0x1f,
+		0x00, 0x10,
+		0x00, 0x10,
+		0x00, 0x00,
+	},
+	/* m */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0xe0, 0x1f,
+		0x40, 0x00,
+		0x20, 0x00,
+		0xc0, 0x1f,
+		0x20, 0x00,
+		0x20, 0x00,
+		0xc0, 0x1f,
+		0x00, 0x00,
+	},
+	/* n */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xe0, 0x1f,
+		0x40, 0x00,
+		0x20, 0x00,
+		0x20, 0x00,
+		0x60, 0x00,
+		0xc0, 0x1f,
+		0x00, 0x00,
+	},
+	/* o */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x80, 0x07,
+		0x60, 0x18,
+		0x20, 0x10,
+		0x20, 0x10,
+		0x60, 0x18,
+		0x80, 0x07,
+		0x00, 0x00,
+	},
+	/* p */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xe0, 0xff,
+		0x40, 0x08,
+		0x20, 0x10,
+		0x20, 0x10,
+		0x60, 0x18,
+		0xc0, 0x0f,
+		0x00, 0x00,
+	},
+	/* q */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xc0, 0x0f,
+		0x60, 0x18,
+		0x20, 0x10,
+		0x20, 0x10,
+		0x40, 0x08,
+		0xe0, 0xff,
+		0x00, 0x00,
+	},
+	/* r */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xe0, 0x1f,
+		0x40, 0x00,
+		0x20, 0x00,
+		0x20, 0x00,
+		0x20, 0x00,
+		0x00, 0x00,
+	},
+	/* s */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xc0, 0x10,
+		0x20, 0x11,
+		0x20, 0x11,
+		0x20, 0x13,
+		0x20, 0x12,
+		0x60, 0x0e,
+		0x00, 0x00,
+	},
+	/* t */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x10, 0x00,
+		0x10, 0x00,
+		0xfc, 0x07,
+		0x10, 0x08,
+		0x10, 0x08,
+		0x10, 0x08,
+		0x00, 0x00,
+	},
+	/* u */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xe0, 0x0f,
+		0x00, 0x18,
+		0x00, 0x10,
+		0x00, 0x10,
+		0x00, 0x08,
+		0xe0, 0x1f,
+		0x00, 0x00,
+	},
+	/* v */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x60, 0x00,
+		0xc0, 0x03,
+		0x00, 0x1c,
+		0x00, 0x1c,
+		0xc0, 0x03,
+		0x60, 0x00,
+		0x00, 0x00,
+	},
+	/* w */
+	{
+		0xe0, 0x03,
+		0x00, 0x1c,
+		0x00, 0x07,
+		0xe0, 0x00,
+		0xe0, 0x00,
+		0x00, 0x0f,
+		0x00, 0x1c,
+		0xe0, 0x03,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* x */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x20, 0x10,
+		0x60, 0x0c,
+		0x80, 0x07,
+		0x80, 0x07,
+		0x60, 0x0c,
+		0x20, 0x10,
+		0x00, 0x00,
+	},
+	/* y */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x60, 0x80,
+		0xc0, 0x83,
+		0x00, 0x7c,
+		0x00, 0x1c,
+		0xc0, 0x03,
+		0x60, 0x00,
+		0x00, 0x00,
+	},
+	/* z */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x20, 0x18,
+		0x20, 0x1c,
+		0x20, 0x16,
+		0x20, 0x11,
+		0xe0, 0x10,
+		0x60, 0x10,
+		0x00, 0x00,
+	},
+	/* { */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x01,
+		0x00, 0x01,
+		0xf0, 0x3e,
+		0x08, 0x40,
+		0x08, 0x40,
+		0x00, 0x00,
+	},
+	/* | */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0xfc, 0xff,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* } */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x08, 0x40,
+		0x08, 0x40,
+		0xf0, 0x3e,
+		0x00, 0x01,
+		0x00, 0x01,
+		0x00, 0x00,
+		0x00, 0x00,
+	},
+	/* ~ */
+	{
+		0x00, 0x00,
+		0x00, 0x00,
+		0x00, 0x00,
+		0x80, 0x00,
+		0x80, 0x00,
+		0x80, 0x00,
+		0x00, 0x01,
+		0x00, 0x01,
+		0x00, 0x01,
+		0x00, 0x00,
+	},
+};
+
+const u8_t cfb_font_1524[95][45] = {
+	/*   */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* ! */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xf8, 0x01, 0x07,
+		0xf8, 0x3f, 0x07,
+		0x18, 0x00, 0x02,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* " */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xf8, 0x00, 0x00,
+		0xf8, 0x00, 0x00,
+		0x08, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xf8, 0x00, 0x00,
+		0xf8, 0x00, 0x00,
+		0x08, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* # */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x60, 0x00,
+		0x00, 0x63, 0x06,
+		0x00, 0xf3, 0x07,
+		0x80, 0x7f, 0x00,
+		0xf8, 0x67, 0x00,
+		0x38, 0x63, 0x00,
+		0x00, 0x63, 0x06,
+		0x00, 0xf3, 0x07,
+		0x80, 0x7f, 0x00,
+		0xf8, 0x63, 0x00,
+		0x38, 0x63, 0x00,
+		0x00, 0x03, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* $ */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xc0, 0x01, 0x01,
+		0xe0, 0x03, 0x03,
+		0x30, 0x06, 0x03,
+		0x30, 0x04, 0x03,
+		0xfc, 0xff, 0x0f,
+		0x30, 0x0c, 0x03,
+		0x30, 0x08, 0x03,
+		0x30, 0x18, 0x01,
+		0x30, 0xf0, 0x01,
+		0x00, 0xf0, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* % */
+	{
+		0x00, 0x00, 0x00,
+		0xf0, 0x01, 0x00,
+		0xf8, 0x03, 0x04,
+		0x08, 0x02, 0x07,
+		0x08, 0xc2, 0x01,
+		0xf8, 0xf3, 0x00,
+		0xf0, 0x3d, 0x00,
+		0x00, 0xef, 0x03,
+		0xc0, 0xf3, 0x07,
+		0xe0, 0x10, 0x04,
+		0x38, 0x10, 0x04,
+		0x08, 0xf0, 0x07,
+		0x00, 0xe0, 0x03,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* & */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0xe0, 0x01,
+		0xf0, 0xf8, 0x03,
+		0xf8, 0x1f, 0x07,
+		0x18, 0x0f, 0x06,
+		0x18, 0x1e, 0x06,
+		0x18, 0x3f, 0x06,
+		0xf8, 0x73, 0x02,
+		0xf0, 0xe0, 0x03,
+		0x00, 0xc0, 0x03,
+		0x00, 0xf8, 0x07,
+		0x00, 0x18, 0x06,
+		0x00, 0x00, 0x04,
+		0x00, 0x00, 0x00,
+	},
+	/* ' */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xf8, 0x00, 0x00,
+		0xf8, 0x00, 0x00,
+		0x08, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* ( */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0xfe, 0x00,
+		0x80, 0xff, 0x03,
+		0xe0, 0x01, 0x0f,
+		0x70, 0x00, 0x1c,
+		0x18, 0x00, 0x30,
+		0x08, 0x00, 0x20,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* ) */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x08, 0x00, 0x20,
+		0x18, 0x00, 0x30,
+		0x70, 0x00, 0x1c,
+		0xe0, 0x01, 0x0f,
+		0x80, 0xff, 0x03,
+		0x00, 0xfe, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* * */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x40, 0x00, 0x00,
+		0x60, 0x00, 0x00,
+		0x40, 0x04, 0x00,
+		0x40, 0x0e, 0x00,
+		0xc0, 0x03, 0x00,
+		0xfc, 0x00, 0x00,
+		0xc4, 0x03, 0x00,
+		0x40, 0x0e, 0x00,
+		0x40, 0x04, 0x00,
+		0x60, 0x00, 0x00,
+		0x60, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* + */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x06, 0x00,
+		0x00, 0x06, 0x00,
+		0x00, 0x06, 0x00,
+		0x00, 0x06, 0x00,
+		0xe0, 0x7f, 0x00,
+		0xe0, 0x7f, 0x00,
+		0x00, 0x06, 0x00,
+		0x00, 0x06, 0x00,
+		0x00, 0x06, 0x00,
+		0x00, 0x06, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* , */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x18,
+		0x00, 0x00, 0x1f,
+		0x00, 0x00, 0x0f,
+		0x00, 0x00, 0x03,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* - */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x30, 0x00,
+		0x00, 0x30, 0x00,
+		0x00, 0x30, 0x00,
+		0x00, 0x30, 0x00,
+		0x00, 0x30, 0x00,
+		0x00, 0x30, 0x00,
+		0x00, 0x30, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* . */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x07,
+		0x00, 0x00, 0x07,
+		0x00, 0x00, 0x07,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* / */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x04,
+		0x00, 0x00, 0x07,
+		0x00, 0xe0, 0x03,
+		0x00, 0x78, 0x00,
+		0x00, 0x1e, 0x00,
+		0x80, 0x07, 0x00,
+		0xf0, 0x01, 0x00,
+		0x38, 0x00, 0x00,
+		0x08, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* 0 */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x80, 0x7f, 0x00,
+		0xe0, 0xff, 0x01,
+		0x70, 0x80, 0x03,
+		0x18, 0x00, 0x06,
+		0x18, 0x00, 0x06,
+		0x18, 0x00, 0x06,
+		0x18, 0x00, 0x06,
+		0x70, 0x80, 0x03,
+		0xe0, 0xff, 0x01,
+		0x80, 0x7f, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* 1 */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x40, 0x00, 0x00,
+		0xe0, 0x00, 0x00,
+		0x70, 0x00, 0x00,
+		0x30, 0x00, 0x00,
+		0xf8, 0xff, 0x07,
+		0xf8, 0xff, 0x07,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* 2 */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x06,
+		0x30, 0x00, 0x07,
+		0x18, 0x80, 0x07,
+		0x18, 0xe0, 0x06,
+		0x18, 0x70, 0x06,
+		0x18, 0x38, 0x06,
+		0x38, 0x1c, 0x06,
+		0xf0, 0x07, 0x06,
+		0xe0, 0x03, 0x06,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x00,
+	},
+	/* 3 */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x10, 0x00, 0x02,
+		0x30, 0x00, 0x06,
+		0x18, 0x0c, 0x06,
+		0x18, 0x0c, 0x06,
+		0x18, 0x0c, 0x06,
+		0x18, 0x0c, 0x06,
+		0x18, 0x1a, 0x07,
+		0xf0, 0xfb, 0x03,
+		0xe0, 0xf1, 0x01,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* 4 */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0xe0, 0x00,
+		0x00, 0xf0, 0x00,
+		0x00, 0xdc, 0x00,
+		0x00, 0xc7, 0x00,
+		0x80, 0xc3, 0x00,
+		0xe0, 0xc0, 0x00,
+		0x70, 0xc0, 0x00,
+		0xf8, 0xff, 0x07,
+		0xf8, 0xff, 0x07,
+		0x00, 0xc0, 0x00,
+		0x00, 0xc0, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* 5 */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xf0, 0x07, 0x02,
+		0xf8, 0x07, 0x06,
+		0x18, 0x06, 0x06,
+		0x18, 0x06, 0x06,
+		0x18, 0x06, 0x06,
+		0x18, 0x06, 0x06,
+		0x18, 0x0e, 0x03,
+		0x18, 0xfc, 0x03,
+		0x00, 0xf8, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* 6 */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0xff, 0x00,
+		0xc0, 0xff, 0x01,
+		0xe0, 0x0c, 0x03,
+		0x30, 0x06, 0x06,
+		0x18, 0x06, 0x06,
+		0x18, 0x06, 0x06,
+		0x18, 0x06, 0x06,
+		0x18, 0x0e, 0x03,
+		0x18, 0xfc, 0x03,
+		0x00, 0xf8, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* 7 */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x18, 0x00, 0x00,
+		0x18, 0x00, 0x00,
+		0x18, 0x00, 0x04,
+		0x18, 0x80, 0x07,
+		0x18, 0xe0, 0x03,
+		0x18, 0x78, 0x00,
+		0x18, 0x1f, 0x00,
+		0xd8, 0x07, 0x00,
+		0xf8, 0x00, 0x00,
+		0x38, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* 8 */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0xe0, 0x01,
+		0xe0, 0xf1, 0x03,
+		0xf0, 0x1b, 0x06,
+		0x18, 0x0e, 0x06,
+		0x18, 0x0e, 0x06,
+		0x18, 0x0c, 0x06,
+		0x18, 0x0e, 0x06,
+		0xf0, 0x1b, 0x07,
+		0xe0, 0xf1, 0x03,
+		0x00, 0xe0, 0x01,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* 9 */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xc0, 0x07, 0x00,
+		0xf0, 0x0f, 0x06,
+		0x30, 0x1c, 0x06,
+		0x18, 0x18, 0x06,
+		0x18, 0x18, 0x06,
+		0x18, 0x18, 0x06,
+		0x18, 0x18, 0x03,
+		0x30, 0xcc, 0x01,
+		0xe0, 0xff, 0x00,
+		0x80, 0x3f, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* : */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x80, 0x03, 0x07,
+		0x80, 0x03, 0x07,
+		0x80, 0x03, 0x07,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* ; */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x10,
+		0x80, 0x03, 0x1f,
+		0x80, 0x03, 0x0f,
+		0x80, 0x03, 0x03,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* < */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x0c, 0x00,
+		0x00, 0x0c, 0x00,
+		0x00, 0x1e, 0x00,
+		0x00, 0x12, 0x00,
+		0x00, 0x33, 0x00,
+		0x00, 0x21, 0x00,
+		0x80, 0x61, 0x00,
+		0x80, 0x40, 0x00,
+		0xc0, 0xc0, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* = */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x33, 0x00,
+		0x00, 0x33, 0x00,
+		0x00, 0x33, 0x00,
+		0x00, 0x33, 0x00,
+		0x00, 0x33, 0x00,
+		0x00, 0x33, 0x00,
+		0x00, 0x33, 0x00,
+		0x00, 0x33, 0x00,
+		0x00, 0x33, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* > */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xc0, 0xc0, 0x00,
+		0x80, 0x40, 0x00,
+		0x80, 0x61, 0x00,
+		0x00, 0x21, 0x00,
+		0x00, 0x33, 0x00,
+		0x00, 0x12, 0x00,
+		0x00, 0x1e, 0x00,
+		0x00, 0x0c, 0x00,
+		0x00, 0x0c, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* ? */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x10, 0x00, 0x00,
+		0x18, 0x00, 0x00,
+		0x18, 0x00, 0x00,
+		0x18, 0x20, 0x07,
+		0x18, 0x38, 0x07,
+		0x18, 0x0c, 0x07,
+		0x18, 0x06, 0x00,
+		0xf0, 0x03, 0x00,
+		0xe0, 0x01, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* @ */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0xff, 0x00,
+		0xc0, 0xff, 0x03,
+		0x60, 0x00, 0x06,
+		0x30, 0x7c, 0x0c,
+		0x18, 0xfe, 0x18,
+		0x18, 0xc3, 0x18,
+		0x08, 0x81, 0x10,
+		0x08, 0xc1, 0x10,
+		0x18, 0x3f, 0x18,
+		0x10, 0xff, 0x18,
+		0x30, 0x80, 0x08,
+		0xe0, 0xff, 0x00,
+		0x80, 0x3f, 0x00,
+	},
+	/* A */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x04,
+		0x00, 0x80, 0x07,
+		0x00, 0xf0, 0x03,
+		0x00, 0x3e, 0x00,
+		0xc0, 0x37, 0x00,
+		0xf8, 0x30, 0x00,
+		0x18, 0x30, 0x00,
+		0xf8, 0x30, 0x00,
+		0xc0, 0x37, 0x00,
+		0x00, 0x3e, 0x00,
+		0x00, 0xf0, 0x03,
+		0x00, 0x80, 0x07,
+		0x00, 0x00, 0x04,
+	},
+	/* B */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xf8, 0xff, 0x07,
+		0xf8, 0xff, 0x07,
+		0x18, 0x0c, 0x06,
+		0x18, 0x0c, 0x06,
+		0x18, 0x0c, 0x06,
+		0x18, 0x0c, 0x06,
+		0x18, 0x0c, 0x06,
+		0x18, 0x0c, 0x06,
+		0x38, 0x1e, 0x03,
+		0xf0, 0xfb, 0x03,
+		0xe0, 0xf1, 0x01,
+		0x00, 0x00, 0x00,
+	},
+	/* C */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x7f, 0x00,
+		0xc0, 0xff, 0x01,
+		0xe0, 0xc0, 0x03,
+		0x30, 0x00, 0x03,
+		0x18, 0x00, 0x06,
+		0x18, 0x00, 0x06,
+		0x18, 0x00, 0x06,
+		0x18, 0x00, 0x06,
+		0x18, 0x00, 0x06,
+		0x18, 0x00, 0x06,
+		0x10, 0x00, 0x06,
+		0x00, 0x00, 0x00,
+	},
+	/* D */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xf8, 0xff, 0x07,
+		0xf8, 0xff, 0x07,
+		0x18, 0x00, 0x06,
+		0x18, 0x00, 0x06,
+		0x18, 0x00, 0x06,
+		0x18, 0x00, 0x06,
+		0x18, 0x00, 0x07,
+		0x30, 0x00, 0x03,
+		0xe0, 0xc0, 0x01,
+		0xc0, 0xff, 0x00,
+		0x80, 0x3f, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* E */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xf8, 0xff, 0x07,
+		0xf8, 0xff, 0x07,
+		0x18, 0x0c, 0x06,
+		0x18, 0x0c, 0x06,
+		0x18, 0x0c, 0x06,
+		0x18, 0x0c, 0x06,
+		0x18, 0x0c, 0x06,
+		0x18, 0x0c, 0x06,
+		0x18, 0x0c, 0x06,
+		0x18, 0x0c, 0x06,
+		0x00, 0x00, 0x00,
+	},
+	/* F */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xf8, 0xff, 0x07,
+		0xf8, 0xff, 0x07,
+		0x18, 0x0c, 0x00,
+		0x18, 0x0c, 0x00,
+		0x18, 0x0c, 0x00,
+		0x18, 0x0c, 0x00,
+		0x18, 0x0c, 0x00,
+		0x18, 0x0c, 0x00,
+		0x18, 0x0c, 0x00,
+		0x18, 0x0c, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* G */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x7f, 0x00,
+		0xc0, 0xff, 0x01,
+		0xf0, 0xc0, 0x03,
+		0x30, 0x00, 0x03,
+		0x18, 0x00, 0x06,
+		0x18, 0x00, 0x06,
+		0x18, 0x0c, 0x06,
+		0x18, 0x0c, 0x06,
+		0x18, 0x0c, 0x06,
+		0x18, 0xfc, 0x07,
+		0x00, 0xfc, 0x03,
+		0x00, 0x00, 0x00,
+	},
+	/* H */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xf8, 0xff, 0x07,
+		0xf8, 0xff, 0x07,
+		0x00, 0x0c, 0x00,
+		0x00, 0x0c, 0x00,
+		0x00, 0x0c, 0x00,
+		0x00, 0x0c, 0x00,
+		0x00, 0x0c, 0x00,
+		0x00, 0x0c, 0x00,
+		0x00, 0x0c, 0x00,
+		0xf8, 0xff, 0x07,
+		0xf8, 0xff, 0x07,
+		0x00, 0x00, 0x00,
+	},
+	/* I */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x18, 0x00, 0x06,
+		0x18, 0x00, 0x06,
+		0x18, 0x00, 0x06,
+		0xf8, 0xff, 0x07,
+		0xf8, 0xff, 0x07,
+		0x18, 0x00, 0x06,
+		0x18, 0x00, 0x06,
+		0x18, 0x00, 0x06,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* J */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x03,
+		0xf8, 0xff, 0x03,
+		0xf8, 0xff, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* K */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xf8, 0xff, 0x07,
+		0xf8, 0xff, 0x07,
+		0x00, 0x0c, 0x00,
+		0x00, 0x06, 0x00,
+		0x00, 0x1f, 0x00,
+		0xc0, 0x71, 0x00,
+		0xe0, 0xe0, 0x00,
+		0x30, 0x80, 0x03,
+		0x18, 0x00, 0x07,
+		0x08, 0x00, 0x04,
+		0x00, 0x00, 0x00,
+	},
+	/* L */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xf8, 0xff, 0x07,
+		0xf8, 0xff, 0x07,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x00,
+	},
+	/* M */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xf8, 0xff, 0x07,
+		0xf8, 0xff, 0x07,
+		0xf0, 0x00, 0x00,
+		0x00, 0x1f, 0x00,
+		0x00, 0xf0, 0x03,
+		0x00, 0x00, 0x07,
+		0x00, 0xf0, 0x03,
+		0x00, 0x1f, 0x00,
+		0xf0, 0x00, 0x00,
+		0xf8, 0xff, 0x07,
+		0xf8, 0xff, 0x07,
+		0x00, 0x00, 0x00,
+	},
+	/* N */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xf8, 0xff, 0x07,
+		0xf8, 0xff, 0x07,
+		0x70, 0x00, 0x00,
+		0xc0, 0x01, 0x00,
+		0x00, 0x07, 0x00,
+		0x00, 0x1e, 0x00,
+		0x00, 0x38, 0x00,
+		0x00, 0xe0, 0x00,
+		0x00, 0x80, 0x03,
+		0xf8, 0xff, 0x07,
+		0xf8, 0xff, 0x07,
+		0x00, 0x00, 0x00,
+	},
+	/* O */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x80, 0x7f, 0x00,
+		0xe0, 0xff, 0x01,
+		0x70, 0x80, 0x03,
+		0x38, 0x00, 0x07,
+		0x18, 0x00, 0x06,
+		0x18, 0x00, 0x06,
+		0x18, 0x00, 0x06,
+		0x18, 0x00, 0x06,
+		0x70, 0x80, 0x03,
+		0xe0, 0xff, 0x01,
+		0x80, 0x7f, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* P */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xf8, 0xff, 0x07,
+		0xf8, 0xff, 0x07,
+		0x18, 0x18, 0x00,
+		0x18, 0x18, 0x00,
+		0x18, 0x18, 0x00,
+		0x18, 0x18, 0x00,
+		0x18, 0x08, 0x00,
+		0x30, 0x0c, 0x00,
+		0xf0, 0x07, 0x00,
+		0xe0, 0x03, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* Q */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x80, 0x7f, 0x00,
+		0xe0, 0xff, 0x01,
+		0x70, 0x80, 0x03,
+		0x38, 0x00, 0x07,
+		0x18, 0x00, 0x06,
+		0x18, 0x00, 0x06,
+		0x18, 0x00, 0x06,
+		0x18, 0x00, 0x1e,
+		0x70, 0x80, 0x3b,
+		0xe0, 0xff, 0x71,
+		0x80, 0x7f, 0x20,
+		0x00, 0x00, 0x00,
+	},
+	/* R */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xf8, 0xff, 0x07,
+		0xf8, 0xff, 0x07,
+		0x18, 0x18, 0x00,
+		0x18, 0x18, 0x00,
+		0x18, 0x18, 0x00,
+		0x18, 0x38, 0x00,
+		0x18, 0x78, 0x00,
+		0x30, 0xec, 0x01,
+		0xf0, 0x87, 0x03,
+		0xe0, 0x03, 0x07,
+		0x00, 0x00, 0x04,
+	},
+	/* S */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xe0, 0x01, 0x02,
+		0xf0, 0x03, 0x06,
+		0x38, 0x06, 0x06,
+		0x18, 0x0e, 0x06,
+		0x18, 0x0c, 0x06,
+		0x18, 0x0c, 0x06,
+		0x18, 0x18, 0x07,
+		0x18, 0xf8, 0x03,
+		0x10, 0xf0, 0x01,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* T */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x18, 0x00, 0x00,
+		0x18, 0x00, 0x00,
+		0x18, 0x00, 0x00,
+		0x18, 0x00, 0x00,
+		0xf8, 0xff, 0x07,
+		0xf8, 0xff, 0x07,
+		0x18, 0x00, 0x00,
+		0x18, 0x00, 0x00,
+		0x18, 0x00, 0x00,
+		0x18, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* U */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xf8, 0xff, 0x00,
+		0xf8, 0xff, 0x03,
+		0x00, 0x00, 0x03,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x03,
+		0xf8, 0xff, 0x03,
+		0xf8, 0xff, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* V */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x08, 0x00, 0x00,
+		0x78, 0x00, 0x00,
+		0xf0, 0x03, 0x00,
+		0x80, 0x1f, 0x00,
+		0x00, 0xfc, 0x00,
+		0x00, 0xe0, 0x07,
+		0x00, 0x00, 0x06,
+		0x00, 0xe0, 0x07,
+		0x00, 0xfc, 0x00,
+		0x80, 0x1f, 0x00,
+		0xf0, 0x03, 0x00,
+		0x78, 0x00, 0x00,
+		0x08, 0x00, 0x00,
+	},
+	/* W */
+	{
+		0x00, 0x00, 0x00,
+		0x38, 0x00, 0x00,
+		0xf8, 0x1f, 0x00,
+		0x00, 0xff, 0x07,
+		0x00, 0x00, 0x06,
+		0x00, 0xe0, 0x01,
+		0x00, 0x3e, 0x00,
+		0x00, 0x03, 0x00,
+		0x00, 0x3e, 0x00,
+		0x00, 0xe0, 0x01,
+		0x00, 0x00, 0x06,
+		0x00, 0xfe, 0x07,
+		0xf8, 0x3f, 0x00,
+		0x78, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* X */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x08, 0x00, 0x04,
+		0x38, 0x00, 0x07,
+		0xf0, 0xc0, 0x03,
+		0xc0, 0xe1, 0x00,
+		0x80, 0x3f, 0x00,
+		0x00, 0x1e, 0x00,
+		0x80, 0x7f, 0x00,
+		0xc0, 0xe1, 0x01,
+		0x70, 0xc0, 0x07,
+		0x38, 0x00, 0x07,
+		0x08, 0x00, 0x04,
+		0x00, 0x00, 0x00,
+	},
+	/* Y */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x08, 0x00, 0x00,
+		0x38, 0x00, 0x00,
+		0xf0, 0x00, 0x00,
+		0xc0, 0x03, 0x00,
+		0x00, 0x0f, 0x00,
+		0x00, 0xfc, 0x07,
+		0x00, 0xfc, 0x07,
+		0x00, 0x0f, 0x00,
+		0xc0, 0x03, 0x00,
+		0xf0, 0x00, 0x00,
+		0x38, 0x00, 0x00,
+		0x08, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* Z */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x18, 0x00, 0x06,
+		0x18, 0x80, 0x07,
+		0x18, 0xc0, 0x07,
+		0x18, 0x70, 0x06,
+		0x18, 0x38, 0x06,
+		0x18, 0x1e, 0x06,
+		0x18, 0x07, 0x06,
+		0x98, 0x03, 0x06,
+		0xf8, 0x00, 0x06,
+		0x78, 0x00, 0x06,
+		0x18, 0x00, 0x06,
+		0x00, 0x00, 0x00,
+	},
+	/* [ */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xf8, 0xff, 0x3f,
+		0xf8, 0xff, 0x3f,
+		0x18, 0x00, 0x30,
+		0x18, 0x00, 0x30,
+		0x18, 0x00, 0x30,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* \ */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x08, 0x00, 0x00,
+		0x38, 0x00, 0x00,
+		0xf0, 0x01, 0x00,
+		0x80, 0x07, 0x00,
+		0x00, 0x1e, 0x00,
+		0x00, 0x78, 0x00,
+		0x00, 0xe0, 0x03,
+		0x00, 0x00, 0x07,
+		0x00, 0x00, 0x04,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* ] */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x18, 0x00, 0x30,
+		0x18, 0x00, 0x30,
+		0x18, 0x00, 0x30,
+		0xf8, 0xff, 0x3f,
+		0xf8, 0xff, 0x3f,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* ^ */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x10, 0x00,
+		0x00, 0x1c, 0x00,
+		0x00, 0x07, 0x00,
+		0xc0, 0x01, 0x00,
+		0x70, 0x00, 0x00,
+		0x18, 0x00, 0x00,
+		0x70, 0x00, 0x00,
+		0xc0, 0x01, 0x00,
+		0x00, 0x07, 0x00,
+		0x00, 0x1c, 0x00,
+		0x00, 0x10, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* _ */
+	{
+		0x00, 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, 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,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x04, 0x00, 0x00,
+		0x1c, 0x00, 0x00,
+		0x3c, 0x00, 0x00,
+		0x20, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* a */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0xc0, 0x03,
+		0x00, 0xe1, 0x03,
+		0x80, 0x21, 0x06,
+		0x80, 0x31, 0x06,
+		0x80, 0x31, 0x06,
+		0x80, 0x11, 0x06,
+		0x80, 0x11, 0x06,
+		0x80, 0x11, 0x03,
+		0x00, 0xff, 0x07,
+		0x00, 0xfe, 0x07,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* b */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xfc, 0xff, 0x07,
+		0xfc, 0xff, 0x07,
+		0x00, 0x03, 0x03,
+		0x80, 0x01, 0x06,
+		0x80, 0x01, 0x06,
+		0x80, 0x01, 0x06,
+		0x80, 0x01, 0x06,
+		0x80, 0x03, 0x07,
+		0x00, 0xff, 0x03,
+		0x00, 0xfc, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* c */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0xfc, 0x00,
+		0x00, 0xfe, 0x03,
+		0x00, 0x03, 0x03,
+		0x80, 0x01, 0x06,
+		0x80, 0x01, 0x06,
+		0x80, 0x01, 0x06,
+		0x80, 0x01, 0x06,
+		0x80, 0x01, 0x06,
+		0x80, 0x01, 0x06,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* d */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0xfc, 0x00,
+		0x00, 0xff, 0x03,
+		0x80, 0x03, 0x07,
+		0x80, 0x01, 0x06,
+		0x80, 0x01, 0x06,
+		0x80, 0x01, 0x06,
+		0x80, 0x01, 0x06,
+		0x00, 0x03, 0x03,
+		0xfc, 0xff, 0x07,
+		0xfc, 0xff, 0x07,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* e */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0xfc, 0x00,
+		0x00, 0xfe, 0x01,
+		0x00, 0x33, 0x03,
+		0x80, 0x31, 0x06,
+		0x80, 0x31, 0x06,
+		0x80, 0x31, 0x06,
+		0x80, 0x31, 0x06,
+		0x80, 0x31, 0x06,
+		0x00, 0x33, 0x06,
+		0x00, 0x3f, 0x06,
+		0x00, 0x3c, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* f */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x80, 0x01, 0x00,
+		0x80, 0x01, 0x00,
+		0x80, 0x01, 0x00,
+		0xf0, 0xff, 0x07,
+		0xf8, 0xff, 0x07,
+		0x8c, 0x01, 0x00,
+		0x8c, 0x01, 0x00,
+		0x8c, 0x01, 0x00,
+		0x8c, 0x01, 0x00,
+		0x0c, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* g */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x38,
+		0x00, 0x1e, 0x7c,
+		0x00, 0xbf, 0xc7,
+		0x80, 0xe1, 0xc7,
+		0x80, 0x41, 0xc6,
+		0x80, 0x40, 0xc6,
+		0x80, 0x41, 0xc6,
+		0x80, 0x61, 0xc6,
+		0x80, 0x3f, 0x46,
+		0x80, 0x1e, 0x7e,
+		0x80, 0x00, 0x3c,
+		0x00, 0x00, 0x00,
+	},
+	/* h */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xfc, 0xff, 0x07,
+		0xfc, 0xff, 0x07,
+		0x00, 0x03, 0x00,
+		0x80, 0x01, 0x00,
+		0x80, 0x01, 0x00,
+		0x80, 0x01, 0x00,
+		0x80, 0x01, 0x00,
+		0x00, 0xff, 0x07,
+		0x00, 0xfe, 0x07,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* i */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x04,
+		0x80, 0x00, 0x04,
+		0x80, 0x00, 0x04,
+		0x80, 0x00, 0x06,
+		0x8c, 0xff, 0x07,
+		0x8c, 0xff, 0x07,
+		0x00, 0x00, 0x04,
+		0x00, 0x00, 0x04,
+		0x00, 0x00, 0x04,
+		0x00, 0x00, 0x04,
+		0x00, 0x00, 0x00,
+	},
+	/* j */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0xc0,
+		0x80, 0x00, 0xc0,
+		0x80, 0x00, 0xc0,
+		0x80, 0x00, 0xc0,
+		0x80, 0x00, 0xc0,
+		0x80, 0x01, 0xc0,
+		0x8c, 0xff, 0x7f,
+		0x8c, 0xff, 0x3f,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* k */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xfc, 0xff, 0x07,
+		0xfc, 0xff, 0x07,
+		0x00, 0x30, 0x00,
+		0x00, 0x38, 0x00,
+		0x00, 0x7c, 0x00,
+		0x00, 0xe6, 0x00,
+		0x00, 0x83, 0x01,
+		0x80, 0x01, 0x07,
+		0x80, 0x00, 0x06,
+		0x00, 0x00, 0x04,
+		0x00, 0x00, 0x00,
+	},
+	/* l */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x04,
+		0x04, 0x00, 0x04,
+		0x04, 0x00, 0x04,
+		0x04, 0x00, 0x06,
+		0xfc, 0xff, 0x07,
+		0xfc, 0xff, 0x07,
+		0x00, 0x00, 0x04,
+		0x00, 0x00, 0x04,
+		0x00, 0x00, 0x04,
+		0x00, 0x00, 0x04,
+		0x00, 0x00, 0x00,
+	},
+	/* m */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x80, 0xff, 0x07,
+		0x80, 0xff, 0x07,
+		0x00, 0x01, 0x00,
+		0x80, 0x01, 0x00,
+		0x80, 0xff, 0x07,
+		0x00, 0xff, 0x07,
+		0x00, 0x01, 0x00,
+		0x80, 0x01, 0x00,
+		0x80, 0xff, 0x07,
+		0x00, 0xff, 0x07,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* n */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x80, 0xff, 0x07,
+		0x80, 0xff, 0x07,
+		0x00, 0x03, 0x00,
+		0x80, 0x01, 0x00,
+		0x80, 0x01, 0x00,
+		0x80, 0x01, 0x00,
+		0x80, 0x01, 0x00,
+		0x00, 0xff, 0x07,
+		0x00, 0xfe, 0x07,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* o */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0xfc, 0x00,
+		0x00, 0xfe, 0x01,
+		0x00, 0x03, 0x03,
+		0x80, 0x01, 0x06,
+		0x80, 0x01, 0x06,
+		0x80, 0x01, 0x06,
+		0x80, 0x01, 0x06,
+		0x80, 0x01, 0x06,
+		0x00, 0x03, 0x03,
+		0x00, 0xfe, 0x01,
+		0x00, 0xfc, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* p */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x80, 0xff, 0xff,
+		0x80, 0xff, 0xff,
+		0x00, 0x03, 0x03,
+		0x80, 0x01, 0x06,
+		0x80, 0x01, 0x06,
+		0x80, 0x01, 0x06,
+		0x80, 0x01, 0x06,
+		0x80, 0x03, 0x07,
+		0x00, 0xff, 0x03,
+		0x00, 0xfc, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* q */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0xfc, 0x00,
+		0x00, 0xff, 0x03,
+		0x80, 0x03, 0x07,
+		0x80, 0x01, 0x06,
+		0x80, 0x01, 0x06,
+		0x80, 0x01, 0x06,
+		0x80, 0x01, 0x06,
+		0x00, 0x03, 0x03,
+		0x80, 0xff, 0xff,
+		0x80, 0xff, 0xff,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* r */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x80, 0xff, 0x07,
+		0x80, 0xff, 0x07,
+		0x00, 0x03, 0x00,
+		0x00, 0x01, 0x00,
+		0x80, 0x01, 0x00,
+		0x80, 0x01, 0x00,
+		0x80, 0x01, 0x00,
+		0x80, 0x01, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* s */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x0e, 0x02,
+		0x00, 0x0f, 0x06,
+		0x80, 0x19, 0x06,
+		0x80, 0x11, 0x06,
+		0x80, 0x31, 0x06,
+		0x80, 0x31, 0x06,
+		0x80, 0x61, 0x06,
+		0x80, 0xe1, 0x03,
+		0x00, 0xc1, 0x01,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* t */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xc0, 0x00, 0x00,
+		0xc0, 0x00, 0x00,
+		0xc0, 0x00, 0x00,
+		0xf0, 0xff, 0x01,
+		0xf8, 0xff, 0x03,
+		0xc0, 0x00, 0x03,
+		0xc0, 0x00, 0x03,
+		0xc0, 0x00, 0x03,
+		0xc0, 0x00, 0x03,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* u */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x80, 0xff, 0x01,
+		0x80, 0xff, 0x03,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x06,
+		0x00, 0x00, 0x03,
+		0x80, 0xff, 0x07,
+		0x80, 0xff, 0x07,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* v */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x80, 0x00, 0x00,
+		0x80, 0x07, 0x00,
+		0x00, 0x3f, 0x00,
+		0x00, 0xf8, 0x01,
+		0x00, 0xc0, 0x07,
+		0x00, 0x00, 0x04,
+		0x00, 0xc0, 0x07,
+		0x00, 0xf8, 0x01,
+		0x00, 0x3f, 0x00,
+		0x80, 0x07, 0x00,
+		0x80, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* w */
+	{
+		0x80, 0x01, 0x00,
+		0x80, 0x3f, 0x00,
+		0x00, 0xf8, 0x03,
+		0x00, 0x00, 0x06,
+		0x00, 0xf0, 0x03,
+		0x00, 0x3f, 0x00,
+		0x80, 0x01, 0x00,
+		0x00, 0x3f, 0x00,
+		0x00, 0xf0, 0x03,
+		0x00, 0x00, 0x06,
+		0x00, 0xf8, 0x03,
+		0x80, 0x3f, 0x00,
+		0x80, 0x01, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* x */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x04,
+		0x80, 0x01, 0x06,
+		0x80, 0x03, 0x03,
+		0x00, 0xce, 0x01,
+		0x00, 0xfc, 0x00,
+		0x00, 0x30, 0x00,
+		0x00, 0x7c, 0x00,
+		0x00, 0xce, 0x01,
+		0x80, 0x83, 0x03,
+		0x80, 0x01, 0x06,
+		0x00, 0x00, 0x04,
+		0x00, 0x00, 0x00,
+	},
+	/* y */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x80, 0x00, 0xc0,
+		0x80, 0x07, 0xc0,
+		0x00, 0x1f, 0xc0,
+		0x00, 0xf8, 0xe0,
+		0x00, 0xc0, 0x7f,
+		0x00, 0x00, 0x1e,
+		0x00, 0xc0, 0x07,
+		0x00, 0xf8, 0x00,
+		0x00, 0x3f, 0x00,
+		0x80, 0x07, 0x00,
+		0x80, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* z */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x80, 0x01, 0x06,
+		0x80, 0x01, 0x07,
+		0x80, 0xc1, 0x07,
+		0x80, 0xe1, 0x06,
+		0x80, 0x31, 0x06,
+		0x80, 0x19, 0x06,
+		0x80, 0x0f, 0x06,
+		0x80, 0x07, 0x06,
+		0x80, 0x01, 0x06,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* { */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x10, 0x00,
+		0x00, 0x10, 0x00,
+		0x00, 0x38, 0x00,
+		0x00, 0x28, 0x00,
+		0xf0, 0xef, 0x1f,
+		0xf0, 0xc7, 0x1f,
+		0x18, 0x00, 0x30,
+		0x18, 0x00, 0x30,
+		0x18, 0x00, 0x30,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* | */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0xfc, 0xff, 0xff,
+		0xfc, 0xff, 0xff,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* } */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x18, 0x00, 0x30,
+		0x18, 0x00, 0x30,
+		0x18, 0x00, 0x30,
+		0xf0, 0xc7, 0x1f,
+		0xf0, 0xef, 0x1f,
+		0x00, 0x28, 0x00,
+		0x00, 0x38, 0x00,
+		0x00, 0x10, 0x00,
+		0x00, 0x10, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+	/* ~ */
+	{
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x02, 0x00,
+		0x00, 0x03, 0x00,
+		0x00, 0x03, 0x00,
+		0x00, 0x03, 0x00,
+		0x00, 0x02, 0x00,
+		0x00, 0x06, 0x00,
+		0x00, 0x06, 0x00,
+		0x00, 0x06, 0x00,
+		0x00, 0x02, 0x00,
+		0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00,
+	},
+};
+
+const u8_t cfb_font_2032[95][80] = {
+	/*   */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* ! */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xf0, 0x01, 0xe0, 0x01,
+		0xf0, 0xff, 0xe7, 0x01,
+		0xf0, 0xff, 0xe7, 0x01,
+		0x00, 0x00, 0xc0, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* " */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xf0, 0x07, 0x00, 0x00,
+		0xf0, 0x0f, 0x00, 0x00,
+		0xf0, 0x0f, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xf0, 0x07, 0x00, 0x00,
+		0xf0, 0x0f, 0x00, 0x00,
+		0xf0, 0x0f, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* # */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x06, 0x00,
+		0x00, 0x0c, 0x06, 0x00,
+		0x00, 0x0c, 0xc6, 0x01,
+		0x00, 0x0c, 0xfe, 0x01,
+		0x00, 0xfc, 0x7f, 0x00,
+		0xc0, 0xff, 0x07, 0x00,
+		0xf0, 0x0f, 0x06, 0x00,
+		0x70, 0x0c, 0x06, 0x00,
+		0x00, 0x0c, 0xc6, 0x01,
+		0x00, 0x0c, 0xfe, 0x01,
+		0x00, 0xfc, 0x7f, 0x00,
+		0xc0, 0xff, 0x07, 0x00,
+		0xf0, 0x0f, 0x06, 0x00,
+		0x70, 0x0c, 0x06, 0x00,
+		0x00, 0x0c, 0x06, 0x00,
+		0x00, 0x0c, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* $ */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x0f, 0x30, 0x00,
+		0xc0, 0x1f, 0x70, 0x00,
+		0xc0, 0x3f, 0x70, 0x00,
+		0xe0, 0x30, 0x60, 0x00,
+		0x60, 0x70, 0x60, 0x00,
+		0xfc, 0xff, 0xff, 0x03,
+		0xfc, 0xff, 0xff, 0x03,
+		0x60, 0xe0, 0x70, 0x00,
+		0x60, 0xc0, 0x70, 0x00,
+		0xe0, 0xc0, 0x3f, 0x00,
+		0xc0, 0x80, 0x3f, 0x00,
+		0x00, 0x00, 0x0f, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* % */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xc0, 0x0f, 0x00, 0x00,
+		0xe0, 0x1f, 0x00, 0x00,
+		0x70, 0x38, 0x00, 0x01,
+		0x30, 0x30, 0xc0, 0x01,
+		0x30, 0x30, 0xf0, 0x01,
+		0x30, 0x30, 0x7c, 0x00,
+		0x70, 0x38, 0x1f, 0x00,
+		0xe0, 0xdf, 0x07, 0x00,
+		0xc0, 0xff, 0x01, 0x00,
+		0x00, 0x7c, 0x7e, 0x00,
+		0x00, 0x1f, 0xff, 0x00,
+		0xc0, 0x87, 0xc3, 0x01,
+		0xf0, 0x81, 0x81, 0x01,
+		0x70, 0x80, 0x81, 0x01,
+		0x10, 0x80, 0x81, 0x01,
+		0x00, 0x80, 0xc3, 0x01,
+		0x00, 0x00, 0xff, 0x00,
+		0x00, 0x00, 0x7c, 0x00,
+	},
+	/* & */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x3e, 0x00,
+		0x00, 0x00, 0x7f, 0x00,
+		0xc0, 0x87, 0xff, 0x00,
+		0xe0, 0xdf, 0xe1, 0x01,
+		0xf0, 0xff, 0xc0, 0x01,
+		0x70, 0x78, 0x80, 0x01,
+		0x30, 0xf0, 0x80, 0x01,
+		0x30, 0xf0, 0xc1, 0x01,
+		0x70, 0xb8, 0xc7, 0x01,
+		0xf0, 0x1f, 0xcf, 0x00,
+		0xe0, 0x0f, 0xfe, 0x00,
+		0xc0, 0x07, 0x7c, 0x00,
+		0x00, 0x00, 0x7c, 0x00,
+		0x00, 0x80, 0xff, 0x01,
+		0x00, 0x80, 0xc7, 0x01,
+		0x00, 0x80, 0x81, 0x01,
+		0x00, 0x00, 0x00, 0x01,
+	},
+	/* ' */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xf0, 0x07, 0x00, 0x00,
+		0xf0, 0x0f, 0x00, 0x00,
+		0xf0, 0x0f, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* ( */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0xe0, 0x1f, 0x00,
+		0x00, 0xfc, 0xff, 0x00,
+		0x00, 0xfe, 0xff, 0x01,
+		0x80, 0x0f, 0xc0, 0x07,
+		0xc0, 0x03, 0x00, 0x0f,
+		0xe0, 0x01, 0x00, 0x1c,
+		0x60, 0x00, 0x00, 0x38,
+		0x30, 0x00, 0x00, 0x30,
+		0x10, 0x00, 0x00, 0x20,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* ) */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x10, 0x00, 0x00, 0x20,
+		0x30, 0x00, 0x00, 0x30,
+		0x60, 0x00, 0x00, 0x38,
+		0xe0, 0x01, 0x00, 0x1e,
+		0xc0, 0x03, 0x00, 0x0f,
+		0x80, 0x0f, 0xc0, 0x07,
+		0x00, 0xfe, 0xff, 0x01,
+		0x00, 0xfc, 0xff, 0x00,
+		0x00, 0xe0, 0x1f, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* * */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xc0, 0x01, 0x00, 0x00,
+		0x80, 0x01, 0x00, 0x00,
+		0x80, 0x61, 0x00, 0x00,
+		0x80, 0xf1, 0x00, 0x00,
+		0x00, 0x7f, 0x00, 0x00,
+		0x3c, 0x1f, 0x00, 0x00,
+		0xfc, 0x07, 0x00, 0x00,
+		0xfc, 0x1f, 0x00, 0x00,
+		0x00, 0x7f, 0x00, 0x00,
+		0x80, 0xf3, 0x00, 0x00,
+		0x80, 0x61, 0x00, 0x00,
+		0x80, 0x41, 0x00, 0x00,
+		0xc0, 0x01, 0x00, 0x00,
+		0x00, 0x01, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* + */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x60, 0x00, 0x00,
+		0x00, 0x60, 0x00, 0x00,
+		0x00, 0x60, 0x00, 0x00,
+		0x00, 0x60, 0x00, 0x00,
+		0x00, 0x60, 0x00, 0x00,
+		0x00, 0x60, 0x00, 0x00,
+		0x80, 0xff, 0x1f, 0x00,
+		0x80, 0xff, 0x1f, 0x00,
+		0x00, 0x60, 0x00, 0x00,
+		0x00, 0x60, 0x00, 0x00,
+		0x00, 0x60, 0x00, 0x00,
+		0x00, 0x60, 0x00, 0x00,
+		0x00, 0x60, 0x00, 0x00,
+		0x00, 0x60, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* , */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x18,
+		0x00, 0x00, 0xe0, 0x1f,
+		0x00, 0x00, 0xe0, 0x0f,
+		0x00, 0x00, 0xe0, 0x03,
+		0x00, 0x00, 0x60, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* - */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x03, 0x00,
+		0x00, 0x00, 0x03, 0x00,
+		0x00, 0x00, 0x03, 0x00,
+		0x00, 0x00, 0x03, 0x00,
+		0x00, 0x00, 0x03, 0x00,
+		0x00, 0x00, 0x03, 0x00,
+		0x00, 0x00, 0x03, 0x00,
+		0x00, 0x00, 0x03, 0x00,
+		0x00, 0x00, 0x03, 0x00,
+		0x00, 0x00, 0x03, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* . */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0xe0, 0x00,
+		0x00, 0x00, 0xf0, 0x01,
+		0x00, 0x00, 0xf0, 0x01,
+		0x00, 0x00, 0xe0, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* / */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x01,
+		0x00, 0x00, 0xc0, 0x01,
+		0x00, 0x00, 0xf8, 0x01,
+		0x00, 0x00, 0x7e, 0x00,
+		0x00, 0x80, 0x1f, 0x00,
+		0x00, 0xe0, 0x07, 0x00,
+		0x00, 0xfc, 0x00, 0x00,
+		0x00, 0x3f, 0x00, 0x00,
+		0xc0, 0x0f, 0x00, 0x00,
+		0xf0, 0x03, 0x00, 0x00,
+		0x70, 0x00, 0x00, 0x00,
+		0x10, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* 0 */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0xfc, 0x07, 0x00,
+		0x80, 0xff, 0x3f, 0x00,
+		0xc0, 0xff, 0x7f, 0x00,
+		0xe0, 0x01, 0xf0, 0x00,
+		0x70, 0x00, 0xc0, 0x01,
+		0x70, 0x00, 0xc0, 0x01,
+		0x30, 0x00, 0x80, 0x01,
+		0x30, 0x00, 0x80, 0x01,
+		0x70, 0x00, 0xc0, 0x01,
+		0x70, 0x00, 0xc0, 0x01,
+		0xe0, 0x01, 0xf0, 0x00,
+		0xc0, 0xff, 0x7f, 0x00,
+		0x80, 0xff, 0x3f, 0x00,
+		0x00, 0xfc, 0x07, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* 1 */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x01, 0x00, 0x00,
+		0x80, 0x03, 0x00, 0x00,
+		0xc0, 0x01, 0x00, 0x00,
+		0xe0, 0x00, 0x00, 0x00,
+		0x60, 0x00, 0x00, 0x00,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* 2 */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x40, 0x00, 0xc0, 0x01,
+		0xc0, 0x00, 0xe0, 0x01,
+		0xe0, 0x00, 0xf0, 0x01,
+		0x60, 0x00, 0xb8, 0x01,
+		0x70, 0x00, 0x9c, 0x01,
+		0x30, 0x00, 0x8e, 0x01,
+		0x30, 0x00, 0x87, 0x01,
+		0x30, 0x80, 0x83, 0x01,
+		0x70, 0xc0, 0x81, 0x01,
+		0x70, 0xe0, 0x80, 0x01,
+		0xe0, 0x7f, 0x80, 0x01,
+		0xc0, 0x3f, 0x80, 0x01,
+		0x80, 0x0f, 0x80, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* 3 */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x40, 0x00, 0xc0, 0x00,
+		0xe0, 0x00, 0xc0, 0x00,
+		0x60, 0x00, 0xc0, 0x01,
+		0x70, 0x60, 0x80, 0x01,
+		0x70, 0x60, 0x80, 0x01,
+		0x30, 0x60, 0x80, 0x01,
+		0x30, 0x60, 0x80, 0x01,
+		0x70, 0xf0, 0xc0, 0x01,
+		0x70, 0xf0, 0xc0, 0x01,
+		0xe0, 0xdf, 0xe1, 0x00,
+		0xe0, 0x9f, 0xff, 0x00,
+		0x80, 0x87, 0x7f, 0x00,
+		0x00, 0x00, 0x1e, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* 4 */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x0e, 0x00,
+		0x00, 0x00, 0x0f, 0x00,
+		0x00, 0xc0, 0x0f, 0x00,
+		0x00, 0xe0, 0x0d, 0x00,
+		0x00, 0x78, 0x0c, 0x00,
+		0x00, 0x3c, 0x0c, 0x00,
+		0x00, 0x0f, 0x0c, 0x00,
+		0x80, 0x03, 0x0c, 0x00,
+		0xe0, 0x01, 0x0c, 0x00,
+		0x70, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0x00, 0x00, 0x0c, 0x00,
+		0x00, 0x00, 0x0c, 0x00,
+		0x00, 0x00, 0x0c, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* 5 */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x3f, 0xc0, 0x00,
+		0xf0, 0x7f, 0xc0, 0x01,
+		0xf0, 0x7f, 0xc0, 0x01,
+		0x30, 0x30, 0x80, 0x01,
+		0x30, 0x30, 0x80, 0x01,
+		0x30, 0x30, 0x80, 0x01,
+		0x30, 0x70, 0x80, 0x01,
+		0x30, 0x70, 0xc0, 0x01,
+		0x30, 0xe0, 0xe0, 0x00,
+		0x30, 0xe0, 0xff, 0x00,
+		0x30, 0xc0, 0x7f, 0x00,
+		0x00, 0x80, 0x1f, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* 6 */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0xf8, 0x0f, 0x00,
+		0x00, 0xff, 0x3f, 0x00,
+		0x80, 0xff, 0x7f, 0x00,
+		0xc0, 0xc3, 0xe0, 0x00,
+		0xe0, 0x60, 0xc0, 0x00,
+		0x60, 0x30, 0xc0, 0x01,
+		0x70, 0x30, 0x80, 0x01,
+		0x70, 0x30, 0x80, 0x01,
+		0x30, 0x30, 0x80, 0x01,
+		0x30, 0x70, 0xc0, 0x01,
+		0x30, 0x60, 0xe0, 0x00,
+		0x30, 0xe0, 0xff, 0x00,
+		0x00, 0xc0, 0x7f, 0x00,
+		0x00, 0x80, 0x1f, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* 7 */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x30, 0x00, 0x00, 0x00,
+		0x30, 0x00, 0x00, 0x00,
+		0x30, 0x00, 0x00, 0x00,
+		0x30, 0x00, 0x00, 0x01,
+		0x30, 0x00, 0xc0, 0x01,
+		0x30, 0x00, 0xf8, 0x01,
+		0x30, 0x00, 0xfe, 0x00,
+		0x30, 0x80, 0x1f, 0x00,
+		0x30, 0xe0, 0x07, 0x00,
+		0x30, 0xfc, 0x01, 0x00,
+		0x30, 0x3f, 0x00, 0x00,
+		0xf0, 0x0f, 0x00, 0x00,
+		0xf0, 0x03, 0x00, 0x00,
+		0x70, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* 8 */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x3e, 0x00,
+		0x80, 0x07, 0x7f, 0x00,
+		0xe0, 0x8f, 0xff, 0x00,
+		0xe0, 0xdf, 0xc1, 0x00,
+		0x70, 0xf8, 0xc0, 0x01,
+		0x30, 0xf0, 0x80, 0x01,
+		0x30, 0x60, 0x80, 0x01,
+		0x30, 0x60, 0x80, 0x01,
+		0x30, 0xf0, 0x80, 0x01,
+		0x70, 0xf8, 0xc0, 0x01,
+		0xe0, 0xdf, 0xc1, 0x00,
+		0xe0, 0x8f, 0xff, 0x00,
+		0x80, 0x07, 0x7f, 0x00,
+		0x00, 0x00, 0x3e, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* 9 */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x3f, 0x00, 0x00,
+		0xc0, 0x7f, 0x00, 0x00,
+		0xe0, 0xff, 0x80, 0x01,
+		0xe0, 0xc0, 0x81, 0x01,
+		0x70, 0xc0, 0x81, 0x01,
+		0x30, 0x80, 0x81, 0x01,
+		0x30, 0x80, 0x81, 0x01,
+		0x30, 0x80, 0xc1, 0x01,
+		0x70, 0x80, 0xc1, 0x00,
+		0x60, 0xc0, 0xe0, 0x00,
+		0xe0, 0x60, 0x78, 0x00,
+		0xc0, 0xff, 0x3f, 0x00,
+		0x80, 0xff, 0x1f, 0x00,
+		0x00, 0xfe, 0x03, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* : */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x1e, 0xe0, 0x01,
+		0x00, 0x1e, 0xe0, 0x01,
+		0x00, 0x1e, 0xe0, 0x01,
+		0x00, 0x1e, 0xe0, 0x01,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* ; */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x18,
+		0x00, 0x1e, 0xc0, 0x1f,
+		0x00, 0x1e, 0xc0, 0x0f,
+		0x00, 0x1e, 0xc0, 0x03,
+		0x00, 0x1e, 0xc0, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* < */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x40, 0x00, 0x00,
+		0x00, 0xe0, 0x00, 0x00,
+		0x00, 0xe0, 0x00, 0x00,
+		0x00, 0xb0, 0x01, 0x00,
+		0x00, 0xb0, 0x01, 0x00,
+		0x00, 0x18, 0x03, 0x00,
+		0x00, 0x18, 0x03, 0x00,
+		0x00, 0x0c, 0x06, 0x00,
+		0x00, 0x0c, 0x06, 0x00,
+		0x00, 0x06, 0x0c, 0x00,
+		0x00, 0x06, 0x0c, 0x00,
+		0x00, 0x07, 0x1c, 0x00,
+		0x00, 0x03, 0x18, 0x00,
+		0x80, 0x03, 0x38, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* = */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x0c, 0x03, 0x00,
+		0x00, 0x0c, 0x03, 0x00,
+		0x00, 0x0c, 0x03, 0x00,
+		0x00, 0x0c, 0x03, 0x00,
+		0x00, 0x0c, 0x03, 0x00,
+		0x00, 0x0c, 0x03, 0x00,
+		0x00, 0x0c, 0x03, 0x00,
+		0x00, 0x0c, 0x03, 0x00,
+		0x00, 0x0c, 0x03, 0x00,
+		0x00, 0x0c, 0x03, 0x00,
+		0x00, 0x0c, 0x03, 0x00,
+		0x00, 0x0c, 0x03, 0x00,
+		0x00, 0x0c, 0x03, 0x00,
+		0x00, 0x0c, 0x03, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* > */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x80, 0x03, 0x38, 0x00,
+		0x00, 0x03, 0x18, 0x00,
+		0x00, 0x07, 0x1c, 0x00,
+		0x00, 0x06, 0x0c, 0x00,
+		0x00, 0x06, 0x0c, 0x00,
+		0x00, 0x0c, 0x06, 0x00,
+		0x00, 0x0c, 0x06, 0x00,
+		0x00, 0x18, 0x03, 0x00,
+		0x00, 0x18, 0x03, 0x00,
+		0x00, 0xb0, 0x01, 0x00,
+		0x00, 0xb0, 0x01, 0x00,
+		0x00, 0xe0, 0x00, 0x00,
+		0x00, 0xe0, 0x00, 0x00,
+		0x00, 0x40, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* ? */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x60, 0x00, 0x00, 0x00,
+		0x60, 0x00, 0x00, 0x00,
+		0x60, 0x00, 0x00, 0x00,
+		0x70, 0x00, 0x00, 0x00,
+		0x70, 0x00, 0xe0, 0x01,
+		0x30, 0x00, 0xe7, 0x01,
+		0x30, 0x80, 0xe7, 0x01,
+		0x30, 0xc0, 0xe1, 0x01,
+		0x70, 0xe0, 0x00, 0x00,
+		0x70, 0x70, 0x00, 0x00,
+		0x60, 0x30, 0x00, 0x00,
+		0xe0, 0x3f, 0x00, 0x00,
+		0xc0, 0x1f, 0x00, 0x00,
+		0x80, 0x07, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* @ */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0xf0, 0x1f, 0x00,
+		0x00, 0xfe, 0x7f, 0x00,
+		0x80, 0x0f, 0xf0, 0x01,
+		0xc0, 0x03, 0x80, 0x03,
+		0xc0, 0xe0, 0x07, 0x07,
+		0x60, 0xf0, 0x1f, 0x06,
+		0x60, 0x78, 0x3c, 0x0e,
+		0x30, 0x1c, 0x30, 0x0c,
+		0x30, 0x0c, 0x30, 0x0c,
+		0x30, 0x0c, 0x30, 0x0c,
+		0x30, 0x0c, 0x1e, 0x0c,
+		0x30, 0xfc, 0x07, 0x0c,
+		0x60, 0xfc, 0x1f, 0x0c,
+		0x60, 0x00, 0x30, 0x06,
+		0xc0, 0x01, 0x30, 0x06,
+		0x80, 0x07, 0x38, 0x00,
+		0x00, 0xff, 0x1f, 0x00,
+		0x00, 0xf8, 0x07, 0x00,
+	},
+	/* A */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x01,
+		0x00, 0x00, 0xe0, 0x01,
+		0x00, 0x00, 0xfc, 0x01,
+		0x00, 0x80, 0x7f, 0x00,
+		0x00, 0xe0, 0x0f, 0x00,
+		0x00, 0xfc, 0x03, 0x00,
+		0x80, 0x7f, 0x03, 0x00,
+		0xf0, 0x0f, 0x03, 0x00,
+		0xf0, 0x01, 0x03, 0x00,
+		0xf0, 0x01, 0x03, 0x00,
+		0xf0, 0x07, 0x03, 0x00,
+		0x80, 0x3f, 0x03, 0x00,
+		0x00, 0xfc, 0x03, 0x00,
+		0x00, 0xf0, 0x0f, 0x00,
+		0x00, 0x80, 0x7f, 0x00,
+		0x00, 0x00, 0xfc, 0x01,
+		0x00, 0x00, 0xe0, 0x01,
+		0x00, 0x00, 0x00, 0x01,
+	},
+	/* B */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0x30, 0x60, 0x80, 0x01,
+		0x30, 0x60, 0x80, 0x01,
+		0x30, 0x60, 0x80, 0x01,
+		0x30, 0x60, 0x80, 0x01,
+		0x30, 0x60, 0x80, 0x01,
+		0x70, 0x60, 0x80, 0x01,
+		0x70, 0xe0, 0xc0, 0x01,
+		0xe0, 0xf0, 0xc0, 0x01,
+		0xe0, 0x9f, 0xe1, 0x00,
+		0xc0, 0x9f, 0xff, 0x00,
+		0x80, 0x0f, 0x7f, 0x00,
+		0x00, 0x00, 0x3e, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* C */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0xf8, 0x07, 0x00,
+		0x00, 0xff, 0x1f, 0x00,
+		0x80, 0xff, 0x7f, 0x00,
+		0xc0, 0x07, 0x78, 0x00,
+		0xe0, 0x01, 0xf0, 0x00,
+		0xe0, 0x00, 0xe0, 0x00,
+		0x70, 0x00, 0xc0, 0x01,
+		0x70, 0x00, 0xc0, 0x01,
+		0x70, 0x00, 0x80, 0x01,
+		0x30, 0x00, 0x80, 0x01,
+		0x70, 0x00, 0xc0, 0x01,
+		0x70, 0x00, 0xc0, 0x01,
+		0x70, 0x00, 0xc0, 0x01,
+		0x60, 0x00, 0xc0, 0x00,
+		0x20, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* D */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0x30, 0x00, 0x80, 0x01,
+		0x30, 0x00, 0x80, 0x01,
+		0x30, 0x00, 0x80, 0x01,
+		0x30, 0x00, 0xc0, 0x01,
+		0x70, 0x00, 0xc0, 0x01,
+		0x70, 0x00, 0xc0, 0x00,
+		0xe0, 0x00, 0xe0, 0x00,
+		0xe0, 0x01, 0xf0, 0x00,
+		0xc0, 0x07, 0x7c, 0x00,
+		0x80, 0xff, 0x3f, 0x00,
+		0x00, 0xff, 0x1f, 0x00,
+		0x00, 0xf8, 0x03, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* E */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0x30, 0x60, 0x80, 0x01,
+		0x30, 0x60, 0x80, 0x01,
+		0x30, 0x60, 0x80, 0x01,
+		0x30, 0x60, 0x80, 0x01,
+		0x30, 0x60, 0x80, 0x01,
+		0x30, 0x60, 0x80, 0x01,
+		0x30, 0x60, 0x80, 0x01,
+		0x30, 0x60, 0x80, 0x01,
+		0x30, 0x60, 0x80, 0x01,
+		0x30, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* F */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0x30, 0xc0, 0x00, 0x00,
+		0x30, 0xc0, 0x00, 0x00,
+		0x30, 0xc0, 0x00, 0x00,
+		0x30, 0xc0, 0x00, 0x00,
+		0x30, 0xc0, 0x00, 0x00,
+		0x30, 0xc0, 0x00, 0x00,
+		0x30, 0xc0, 0x00, 0x00,
+		0x30, 0xc0, 0x00, 0x00,
+		0x30, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* G */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0xfc, 0x07, 0x00,
+		0x00, 0xff, 0x1f, 0x00,
+		0x80, 0xff, 0x7f, 0x00,
+		0xc0, 0x03, 0xf8, 0x00,
+		0xe0, 0x00, 0xe0, 0x00,
+		0x60, 0x00, 0xc0, 0x01,
+		0x70, 0x00, 0xc0, 0x01,
+		0x70, 0x00, 0x80, 0x01,
+		0x30, 0xc0, 0x80, 0x01,
+		0x70, 0xc0, 0xc0, 0x01,
+		0x70, 0xc0, 0xc0, 0x01,
+		0x70, 0xc0, 0xff, 0x01,
+		0xe0, 0xc0, 0xff, 0x00,
+		0x20, 0xc0, 0xff, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* H */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0x00, 0x60, 0x00, 0x00,
+		0x00, 0x60, 0x00, 0x00,
+		0x00, 0x60, 0x00, 0x00,
+		0x00, 0x60, 0x00, 0x00,
+		0x00, 0x60, 0x00, 0x00,
+		0x00, 0x60, 0x00, 0x00,
+		0x00, 0x60, 0x00, 0x00,
+		0x00, 0x60, 0x00, 0x00,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* I */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x30, 0x00, 0x80, 0x01,
+		0x30, 0x00, 0x80, 0x01,
+		0x30, 0x00, 0x80, 0x01,
+		0x30, 0x00, 0x80, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0x30, 0x00, 0x80, 0x01,
+		0x30, 0x00, 0x80, 0x01,
+		0x30, 0x00, 0x80, 0x01,
+		0x30, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* J */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0xc0, 0x00,
+		0x00, 0x00, 0xc0, 0x01,
+		0x00, 0x00, 0xc0, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0xc0, 0x01,
+		0x00, 0x00, 0xc0, 0x01,
+		0x00, 0x00, 0xc0, 0x01,
+		0x00, 0x00, 0xe0, 0x00,
+		0xf0, 0xff, 0xff, 0x00,
+		0xf0, 0xff, 0x7f, 0x00,
+		0xf0, 0xff, 0x1f, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* K */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0x00, 0xc0, 0x00, 0x00,
+		0x00, 0x70, 0x00, 0x00,
+		0x00, 0xf8, 0x00, 0x00,
+		0x00, 0xfc, 0x01, 0x00,
+		0x00, 0xce, 0x07, 0x00,
+		0x00, 0x07, 0x0f, 0x00,
+		0x80, 0x03, 0x1e, 0x00,
+		0xc0, 0x01, 0x7c, 0x00,
+		0xf0, 0x00, 0xf0, 0x00,
+		0x70, 0x00, 0xe0, 0x01,
+		0x30, 0x00, 0x80, 0x01,
+		0x10, 0x00, 0x00, 0x01,
+	},
+	/* L */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* M */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0x01, 0x00, 0x00,
+		0xf0, 0x3f, 0x00, 0x00,
+		0x00, 0xfe, 0x03, 0x00,
+		0x00, 0xc0, 0x7f, 0x00,
+		0x00, 0x00, 0xf8, 0x01,
+		0x00, 0x00, 0xf8, 0x01,
+		0x00, 0xc0, 0x7f, 0x00,
+		0x00, 0xfe, 0x03, 0x00,
+		0xf0, 0x1f, 0x00, 0x00,
+		0xf0, 0x00, 0x00, 0x00,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* N */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xe0, 0xff, 0x01,
+		0xe0, 0x03, 0x00, 0x00,
+		0x80, 0x0f, 0x00, 0x00,
+		0x00, 0x3e, 0x00, 0x00,
+		0x00, 0xf8, 0x00, 0x00,
+		0x00, 0xe0, 0x03, 0x00,
+		0x00, 0x80, 0x0f, 0x00,
+		0x00, 0x00, 0x3e, 0x00,
+		0x00, 0x00, 0xf8, 0x00,
+		0xf0, 0xff, 0xe1, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* O */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0xfc, 0x07, 0x00,
+		0x80, 0xff, 0x3f, 0x00,
+		0xc0, 0xff, 0x7f, 0x00,
+		0xe0, 0x03, 0xf8, 0x00,
+		0xe0, 0x00, 0xe0, 0x00,
+		0x70, 0x00, 0xc0, 0x01,
+		0x70, 0x00, 0xc0, 0x01,
+		0x30, 0x00, 0x80, 0x01,
+		0x30, 0x00, 0xc0, 0x01,
+		0x70, 0x00, 0xc0, 0x01,
+		0x70, 0x00, 0xc0, 0x01,
+		0xe0, 0x00, 0xe0, 0x00,
+		0xe0, 0x03, 0xf8, 0x00,
+		0xc0, 0xff, 0x7f, 0x00,
+		0x00, 0xff, 0x1f, 0x00,
+		0x00, 0xfc, 0x07, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* P */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0x30, 0x80, 0x01, 0x00,
+		0x30, 0x80, 0x01, 0x00,
+		0x30, 0x80, 0x01, 0x00,
+		0x30, 0x80, 0x01, 0x00,
+		0x70, 0x80, 0x01, 0x00,
+		0x70, 0xc0, 0x01, 0x00,
+		0xe0, 0xe0, 0x01, 0x00,
+		0xe0, 0xff, 0x00, 0x00,
+		0xc0, 0x7f, 0x00, 0x00,
+		0x00, 0x1f, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* Q */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0xfc, 0x07, 0x00,
+		0x80, 0xff, 0x3f, 0x00,
+		0xc0, 0xff, 0x7f, 0x00,
+		0xe0, 0x03, 0xf8, 0x00,
+		0xe0, 0x00, 0xe0, 0x00,
+		0x70, 0x00, 0xc0, 0x01,
+		0x70, 0x00, 0xc0, 0x01,
+		0x30, 0x00, 0x80, 0x01,
+		0x30, 0x00, 0xc0, 0x01,
+		0x70, 0x00, 0xc0, 0x03,
+		0x70, 0x00, 0xc0, 0x07,
+		0xe0, 0x00, 0xe0, 0x1f,
+		0xe0, 0x03, 0xf8, 0x3c,
+		0xc0, 0xff, 0x7f, 0x38,
+		0x00, 0xff, 0x1f, 0x70,
+		0x00, 0xfc, 0x07, 0x10,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* R */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0x30, 0xc0, 0x00, 0x00,
+		0x30, 0xc0, 0x00, 0x00,
+		0x30, 0xc0, 0x00, 0x00,
+		0x30, 0xc0, 0x01, 0x00,
+		0x70, 0xc0, 0x03, 0x00,
+		0x70, 0xe0, 0x0f, 0x00,
+		0xe0, 0x70, 0x1e, 0x00,
+		0xe0, 0x7f, 0x7c, 0x00,
+		0xc0, 0x3f, 0xf0, 0x00,
+		0x80, 0x0f, 0xe0, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x00, 0x01,
+	},
+	/* S */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x80, 0x0f, 0xc0, 0x00,
+		0xc0, 0x1f, 0xc0, 0x01,
+		0xe0, 0x3f, 0xc0, 0x01,
+		0x60, 0x38, 0xc0, 0x01,
+		0x70, 0x70, 0x80, 0x01,
+		0x70, 0x60, 0x80, 0x01,
+		0x30, 0xe0, 0x80, 0x01,
+		0x30, 0xe0, 0x80, 0x01,
+		0x70, 0xc0, 0xc0, 0x01,
+		0x70, 0xc0, 0xc1, 0x01,
+		0x70, 0xc0, 0xe1, 0x00,
+		0x70, 0x80, 0xff, 0x00,
+		0x60, 0x00, 0x7f, 0x00,
+		0x20, 0x00, 0x3e, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* T */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x30, 0x00, 0x00, 0x00,
+		0x30, 0x00, 0x00, 0x00,
+		0x30, 0x00, 0x00, 0x00,
+		0x30, 0x00, 0x00, 0x00,
+		0x30, 0x00, 0x00, 0x00,
+		0x30, 0x00, 0x00, 0x00,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf0, 0xff, 0xff, 0x01,
+		0x30, 0x00, 0x00, 0x00,
+		0x30, 0x00, 0x00, 0x00,
+		0x30, 0x00, 0x00, 0x00,
+		0x30, 0x00, 0x00, 0x00,
+		0x30, 0x00, 0x00, 0x00,
+		0x30, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* U */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xf0, 0xff, 0x1f, 0x00,
+		0xf0, 0xff, 0x7f, 0x00,
+		0xf0, 0xff, 0xff, 0x00,
+		0x00, 0x00, 0xe0, 0x00,
+		0x00, 0x00, 0xc0, 0x01,
+		0x00, 0x00, 0xc0, 0x01,
+		0x00, 0x00, 0xc0, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0xc0, 0x01,
+		0x00, 0x00, 0xc0, 0x01,
+		0x00, 0x00, 0xe0, 0x00,
+		0xf0, 0xff, 0xff, 0x00,
+		0xf0, 0xff, 0x7f, 0x00,
+		0xf0, 0xff, 0x1f, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* V */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x10, 0x00, 0x00, 0x00,
+		0xf0, 0x00, 0x00, 0x00,
+		0xf0, 0x07, 0x00, 0x00,
+		0xc0, 0x3f, 0x00, 0x00,
+		0x00, 0xfe, 0x00, 0x00,
+		0x00, 0xf8, 0x07, 0x00,
+		0x00, 0xc0, 0x3f, 0x00,
+		0x00, 0x00, 0xfe, 0x01,
+		0x00, 0x00, 0xf0, 0x01,
+		0x00, 0x00, 0xf0, 0x01,
+		0x00, 0x00, 0xfe, 0x01,
+		0x00, 0xc0, 0x3f, 0x00,
+		0x00, 0xf8, 0x07, 0x00,
+		0x00, 0xff, 0x00, 0x00,
+		0xc0, 0x3f, 0x00, 0x00,
+		0xf0, 0x07, 0x00, 0x00,
+		0xf0, 0x00, 0x00, 0x00,
+		0x10, 0x00, 0x00, 0x00,
+	},
+	/* W */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xf0, 0x00, 0x00, 0x00,
+		0xf0, 0x7f, 0x00, 0x00,
+		0xf0, 0xff, 0x3f, 0x00,
+		0x00, 0xf0, 0xff, 0x01,
+		0x00, 0x00, 0xc0, 0x01,
+		0x00, 0x00, 0xfc, 0x01,
+		0x00, 0x80, 0x3f, 0x00,
+		0x00, 0xf0, 0x07, 0x00,
+		0x00, 0x78, 0x00, 0x00,
+		0x00, 0x78, 0x00, 0x00,
+		0x00, 0xf0, 0x07, 0x00,
+		0x00, 0x80, 0x3f, 0x00,
+		0x00, 0x00, 0xfc, 0x01,
+		0x00, 0x00, 0xc0, 0x01,
+		0x00, 0xe0, 0xff, 0x01,
+		0xf0, 0xff, 0x7f, 0x00,
+		0xf0, 0xff, 0x00, 0x00,
+		0xf0, 0x00, 0x00, 0x00,
+	},
+	/* X */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x10, 0x00, 0x00, 0x01,
+		0x30, 0x00, 0xc0, 0x01,
+		0xf0, 0x00, 0xe0, 0x01,
+		0xe0, 0x03, 0xf8, 0x00,
+		0x80, 0x07, 0x3e, 0x00,
+		0x00, 0x9f, 0x0f, 0x00,
+		0x00, 0xfc, 0x03, 0x00,
+		0x00, 0xf0, 0x00, 0x00,
+		0x00, 0xf8, 0x01, 0x00,
+		0x00, 0xfe, 0x07, 0x00,
+		0x80, 0x0f, 0x1f, 0x00,
+		0xe0, 0x03, 0x7c, 0x00,
+		0xf0, 0x00, 0xf8, 0x00,
+		0x70, 0x00, 0xe0, 0x01,
+		0x10, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x00, 0x01,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* Y */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x10, 0x00, 0x00, 0x00,
+		0x70, 0x00, 0x00, 0x00,
+		0xf0, 0x01, 0x00, 0x00,
+		0xe0, 0x03, 0x00, 0x00,
+		0x80, 0x0f, 0x00, 0x00,
+		0x00, 0x3e, 0x00, 0x00,
+		0x00, 0xf8, 0x00, 0x00,
+		0x00, 0xe0, 0xff, 0x01,
+		0x00, 0xc0, 0xff, 0x01,
+		0x00, 0xe0, 0xff, 0x01,
+		0x00, 0xf8, 0x00, 0x00,
+		0x00, 0x3e, 0x00, 0x00,
+		0x80, 0x0f, 0x00, 0x00,
+		0xe0, 0x03, 0x00, 0x00,
+		0xf0, 0x00, 0x00, 0x00,
+		0x70, 0x00, 0x00, 0x00,
+		0x10, 0x00, 0x00, 0x00,
+	},
+	/* Z */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x30, 0x00, 0xc0, 0x01,
+		0x30, 0x00, 0xe0, 0x01,
+		0x30, 0x00, 0xf8, 0x01,
+		0x30, 0x00, 0xbc, 0x01,
+		0x30, 0x00, 0x8f, 0x01,
+		0x30, 0x80, 0x87, 0x01,
+		0x30, 0xe0, 0x81, 0x01,
+		0x30, 0xf0, 0x80, 0x01,
+		0x30, 0x3c, 0x80, 0x01,
+		0x30, 0x1e, 0x80, 0x01,
+		0xb0, 0x07, 0x80, 0x01,
+		0xf0, 0x03, 0x80, 0x01,
+		0xf0, 0x00, 0x80, 0x01,
+		0x70, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* [ */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xf0, 0xff, 0xff, 0x3f,
+		0xf0, 0xff, 0xff, 0x3f,
+		0xf0, 0xff, 0xff, 0x3f,
+		0x30, 0x00, 0x00, 0x30,
+		0x30, 0x00, 0x00, 0x30,
+		0x30, 0x00, 0x00, 0x30,
+		0x30, 0x00, 0x00, 0x30,
+		0x30, 0x00, 0x00, 0x30,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* \ */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x10, 0x00, 0x00, 0x00,
+		0x70, 0x00, 0x00, 0x00,
+		0xf0, 0x03, 0x00, 0x00,
+		0xc0, 0x0f, 0x00, 0x00,
+		0x00, 0x3f, 0x00, 0x00,
+		0x00, 0xfc, 0x00, 0x00,
+		0x00, 0xe0, 0x07, 0x00,
+		0x00, 0x80, 0x1f, 0x00,
+		0x00, 0x00, 0x7e, 0x00,
+		0x00, 0x00, 0xf8, 0x01,
+		0x00, 0x00, 0xc0, 0x01,
+		0x00, 0x00, 0x00, 0x01,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* ] */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x30, 0x00, 0x00, 0x30,
+		0x30, 0x00, 0x00, 0x30,
+		0x30, 0x00, 0x00, 0x30,
+		0x30, 0x00, 0x00, 0x30,
+		0x30, 0x00, 0x00, 0x30,
+		0xf0, 0xff, 0xff, 0x3f,
+		0xf0, 0xff, 0xff, 0x3f,
+		0xf0, 0xff, 0xff, 0x3f,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* ^ */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x01, 0x00,
+		0x00, 0xe0, 0x01, 0x00,
+		0x00, 0xf8, 0x01, 0x00,
+		0x00, 0x3f, 0x00, 0x00,
+		0xc0, 0x07, 0x00, 0x00,
+		0xf0, 0x01, 0x00, 0x00,
+		0x38, 0x00, 0x00, 0x00,
+		0xf0, 0x00, 0x00, 0x00,
+		0xc0, 0x03, 0x00, 0x00,
+		0x00, 0x0f, 0x00, 0x00,
+		0x00, 0x7c, 0x00, 0x00,
+		0x00, 0xf0, 0x01, 0x00,
+		0x00, 0xc0, 0x01, 0x00,
+		0x00, 0x00, 0x01, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* _ */
+	{
+		0x00, 0x00, 0x00, 0x60,
+		0x00, 0x00, 0x00, 0x60,
+		0x00, 0x00, 0x00, 0x60,
+		0x00, 0x00, 0x00, 0x60,
+		0x00, 0x00, 0x00, 0x60,
+		0x00, 0x00, 0x00, 0x60,
+		0x00, 0x00, 0x00, 0x60,
+		0x00, 0x00, 0x00, 0x60,
+		0x00, 0x00, 0x00, 0x60,
+		0x00, 0x00, 0x00, 0x60,
+		0x00, 0x00, 0x00, 0x60,
+		0x00, 0x00, 0x00, 0x60,
+		0x00, 0x00, 0x00, 0x60,
+		0x00, 0x00, 0x00, 0x60,
+		0x00, 0x00, 0x00, 0x60,
+		0x00, 0x00, 0x00, 0x60,
+		0x00, 0x00, 0x00, 0x60,
+		0x00, 0x00, 0x00, 0x60,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* ` */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x04, 0x00, 0x00, 0x00,
+		0x0c, 0x00, 0x00, 0x00,
+		0x1c, 0x00, 0x00, 0x00,
+		0x38, 0x00, 0x00, 0x00,
+		0x70, 0x00, 0x00, 0x00,
+		0x40, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* a */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x7c, 0x00,
+		0x00, 0x04, 0xfe, 0x00,
+		0x00, 0x0c, 0xff, 0x00,
+		0x00, 0x0e, 0xc3, 0x01,
+		0x00, 0x8e, 0x83, 0x01,
+		0x00, 0x86, 0x81, 0x01,
+		0x00, 0x86, 0x81, 0x01,
+		0x00, 0x86, 0x81, 0x01,
+		0x00, 0x86, 0xc1, 0x00,
+		0x00, 0x8e, 0xe1, 0x00,
+		0x00, 0xfc, 0x7f, 0x00,
+		0x00, 0xfc, 0xff, 0x01,
+		0x00, 0xf0, 0xff, 0x01,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* b */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xfc, 0xff, 0xff, 0x01,
+		0xfc, 0xff, 0xff, 0x01,
+		0xfc, 0xff, 0x7f, 0x00,
+		0x00, 0x1c, 0xe0, 0x00,
+		0x00, 0x0c, 0xc0, 0x00,
+		0x00, 0x06, 0x80, 0x01,
+		0x00, 0x06, 0x80, 0x01,
+		0x00, 0x06, 0x80, 0x01,
+		0x00, 0x0e, 0x80, 0x01,
+		0x00, 0x0e, 0xc0, 0x01,
+		0x00, 0x1c, 0xe0, 0x00,
+		0x00, 0xfc, 0xff, 0x00,
+		0x00, 0xf8, 0x7f, 0x00,
+		0x00, 0xe0, 0x1f, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* c */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0xc0, 0x1f, 0x00,
+		0x00, 0xf0, 0x3f, 0x00,
+		0x00, 0xf8, 0x7f, 0x00,
+		0x00, 0x1c, 0xe0, 0x00,
+		0x00, 0x0e, 0xc0, 0x01,
+		0x00, 0x0e, 0xc0, 0x01,
+		0x00, 0x0e, 0xc0, 0x01,
+		0x00, 0x06, 0x80, 0x01,
+		0x00, 0x06, 0x80, 0x01,
+		0x00, 0x0e, 0xc0, 0x01,
+		0x00, 0x0e, 0xc0, 0x01,
+		0x00, 0x04, 0xc0, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* d */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0xe0, 0x1f, 0x00,
+		0x00, 0xf8, 0x7f, 0x00,
+		0x00, 0xfc, 0xff, 0x00,
+		0x00, 0x1c, 0xe0, 0x00,
+		0x00, 0x0e, 0xc0, 0x01,
+		0x00, 0x0e, 0x80, 0x01,
+		0x00, 0x06, 0x80, 0x01,
+		0x00, 0x06, 0x80, 0x01,
+		0x00, 0x06, 0x80, 0x01,
+		0x00, 0x0c, 0xc0, 0x00,
+		0x00, 0x1c, 0xe0, 0x00,
+		0xfc, 0xff, 0x7f, 0x00,
+		0xfc, 0xff, 0xff, 0x01,
+		0xfc, 0xff, 0xff, 0x01,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* e */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0xc0, 0x0f, 0x00,
+		0x00, 0xf0, 0x3f, 0x00,
+		0x00, 0xf8, 0x7f, 0x00,
+		0x00, 0x9c, 0xe1, 0x00,
+		0x00, 0x8e, 0xc1, 0x00,
+		0x00, 0x86, 0xc1, 0x01,
+		0x00, 0x86, 0xc1, 0x01,
+		0x00, 0x86, 0x81, 0x01,
+		0x00, 0x86, 0x81, 0x01,
+		0x00, 0x8e, 0xc1, 0x01,
+		0x00, 0x8c, 0xc1, 0x01,
+		0x00, 0xfc, 0xc1, 0x00,
+		0x00, 0xf8, 0xc1, 0x00,
+		0x00, 0xe0, 0x01, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* f */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x06, 0x00, 0x00,
+		0x00, 0x06, 0x00, 0x00,
+		0x00, 0x06, 0x00, 0x00,
+		0x00, 0x06, 0x00, 0x00,
+		0x00, 0x06, 0x00, 0x00,
+		0xf0, 0xff, 0xff, 0x01,
+		0xf8, 0xff, 0xff, 0x01,
+		0xf8, 0xff, 0xff, 0x01,
+		0x1c, 0x06, 0x00, 0x00,
+		0x0c, 0x06, 0x00, 0x00,
+		0x0c, 0x06, 0x00, 0x00,
+		0x0c, 0x06, 0x00, 0x00,
+		0x0c, 0x06, 0x00, 0x00,
+		0x0c, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* g */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x1e,
+		0x00, 0xf0, 0x00, 0x7f,
+		0x00, 0xfc, 0x73, 0x7f,
+		0x00, 0xfc, 0xfb, 0xe1,
+		0x00, 0x0e, 0xef, 0xc1,
+		0x00, 0x06, 0xc6, 0xc0,
+		0x00, 0x06, 0xc6, 0xc0,
+		0x00, 0x06, 0xc6, 0xc0,
+		0x00, 0x06, 0xc6, 0xc0,
+		0x00, 0x0e, 0xc7, 0xc0,
+		0x00, 0xfe, 0xc3, 0xe1,
+		0x00, 0xfe, 0xc3, 0x61,
+		0x00, 0xf6, 0x80, 0x7f,
+		0x00, 0x06, 0x80, 0x3f,
+		0x00, 0x06, 0x00, 0x1f,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* h */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xfc, 0xff, 0xff, 0x01,
+		0xfc, 0xff, 0xff, 0x01,
+		0xfc, 0xff, 0xff, 0x01,
+		0x00, 0x1c, 0x00, 0x00,
+		0x00, 0x0c, 0x00, 0x00,
+		0x00, 0x0e, 0x00, 0x00,
+		0x00, 0x06, 0x00, 0x00,
+		0x00, 0x06, 0x00, 0x00,
+		0x00, 0x06, 0x00, 0x00,
+		0x00, 0x0e, 0x00, 0x00,
+		0x00, 0x0e, 0x00, 0x00,
+		0x00, 0xfc, 0xff, 0x01,
+		0x00, 0xfc, 0xff, 0x01,
+		0x00, 0xf0, 0xff, 0x01,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* i */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x06, 0x80, 0x01,
+		0x00, 0x06, 0x80, 0x01,
+		0x00, 0x06, 0x80, 0x01,
+		0x00, 0x06, 0x80, 0x01,
+		0x1c, 0xfe, 0xff, 0x01,
+		0x1c, 0xfe, 0xff, 0x01,
+		0x1c, 0xfe, 0xff, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* j */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0xe0,
+		0x00, 0x00, 0x00, 0xc0,
+		0x00, 0x06, 0x00, 0xc0,
+		0x00, 0x06, 0x00, 0xc0,
+		0x00, 0x06, 0x00, 0xc0,
+		0x00, 0x06, 0x00, 0xc0,
+		0x00, 0x06, 0x00, 0xe0,
+		0x00, 0x06, 0x00, 0xe0,
+		0x1c, 0xfe, 0xff, 0x7f,
+		0x1c, 0xfe, 0xff, 0x3f,
+		0x1c, 0xfe, 0xff, 0x1f,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* k */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xfc, 0xff, 0xff, 0x01,
+		0xfc, 0xff, 0xff, 0x01,
+		0xfc, 0xff, 0xfe, 0x01,
+		0x00, 0x00, 0x03, 0x00,
+		0x00, 0x80, 0x03, 0x00,
+		0x00, 0xc0, 0x07, 0x00,
+		0x00, 0xe0, 0x0f, 0x00,
+		0x00, 0x70, 0x1e, 0x00,
+		0x00, 0x38, 0x3c, 0x00,
+		0x00, 0x1c, 0x70, 0x00,
+		0x00, 0x0e, 0xe0, 0x01,
+		0x00, 0x06, 0xc0, 0x01,
+		0x00, 0x02, 0x80, 0x01,
+		0x00, 0x00, 0x00, 0x01,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* l */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x80, 0x01,
+		0x0c, 0x00, 0x80, 0x01,
+		0x0c, 0x00, 0x80, 0x01,
+		0x0c, 0x00, 0x80, 0x01,
+		0x0c, 0x00, 0x80, 0x01,
+		0xfc, 0xff, 0xff, 0x01,
+		0xfc, 0xff, 0xff, 0x01,
+		0xfc, 0xff, 0xff, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* m */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0xfe, 0xff, 0x01,
+		0x00, 0xfe, 0xff, 0x01,
+		0x00, 0xf8, 0xff, 0x01,
+		0x00, 0x0c, 0x00, 0x00,
+		0x00, 0x06, 0x00, 0x00,
+		0x00, 0x06, 0x00, 0x00,
+		0x00, 0x0e, 0x00, 0x00,
+		0x00, 0xfe, 0xff, 0x01,
+		0x00, 0xfc, 0xff, 0x01,
+		0x00, 0xf8, 0xff, 0x01,
+		0x00, 0x0c, 0x00, 0x00,
+		0x00, 0x06, 0x00, 0x00,
+		0x00, 0x06, 0x00, 0x00,
+		0x00, 0xfe, 0xff, 0x01,
+		0x00, 0xfc, 0xff, 0x01,
+		0x00, 0xf8, 0xff, 0x01,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* n */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0xfe, 0xff, 0x01,
+		0x00, 0xfe, 0xff, 0x01,
+		0x00, 0xf8, 0xff, 0x01,
+		0x00, 0x18, 0x00, 0x00,
+		0x00, 0x0c, 0x00, 0x00,
+		0x00, 0x0e, 0x00, 0x00,
+		0x00, 0x06, 0x00, 0x00,
+		0x00, 0x06, 0x00, 0x00,
+		0x00, 0x06, 0x00, 0x00,
+		0x00, 0x0e, 0x00, 0x00,
+		0x00, 0x0e, 0x00, 0x00,
+		0x00, 0xfc, 0xff, 0x01,
+		0x00, 0xfc, 0xff, 0x01,
+		0x00, 0xf0, 0xff, 0x01,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* o */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0xc0, 0x0f, 0x00,
+		0x00, 0xf0, 0x3f, 0x00,
+		0x00, 0xf8, 0x7f, 0x00,
+		0x00, 0x1c, 0xe0, 0x00,
+		0x00, 0x0e, 0xc0, 0x01,
+		0x00, 0x0e, 0xc0, 0x01,
+		0x00, 0x06, 0x80, 0x01,
+		0x00, 0x06, 0x80, 0x01,
+		0x00, 0x0e, 0xc0, 0x01,
+		0x00, 0x0e, 0xc0, 0x01,
+		0x00, 0x1c, 0xe0, 0x00,
+		0x00, 0xf8, 0x7f, 0x00,
+		0x00, 0xf0, 0x3f, 0x00,
+		0x00, 0xc0, 0x0f, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* p */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0xfe, 0xff, 0xff,
+		0x00, 0xfe, 0xff, 0xff,
+		0x00, 0xf8, 0xff, 0xff,
+		0x00, 0x18, 0xe0, 0x00,
+		0x00, 0x0c, 0xc0, 0x00,
+		0x00, 0x06, 0x80, 0x01,
+		0x00, 0x06, 0x80, 0x01,
+		0x00, 0x06, 0x80, 0x01,
+		0x00, 0x0e, 0x80, 0x01,
+		0x00, 0x0e, 0xc0, 0x01,
+		0x00, 0x1c, 0xe0, 0x00,
+		0x00, 0xfc, 0xff, 0x00,
+		0x00, 0xf8, 0x7f, 0x00,
+		0x00, 0xe0, 0x1f, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* q */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0xe0, 0x1f, 0x00,
+		0x00, 0xf8, 0x7f, 0x00,
+		0x00, 0xfc, 0xff, 0x00,
+		0x00, 0x1c, 0xe0, 0x00,
+		0x00, 0x0e, 0xc0, 0x01,
+		0x00, 0x0e, 0x80, 0x01,
+		0x00, 0x06, 0x80, 0x01,
+		0x00, 0x06, 0x80, 0x01,
+		0x00, 0x06, 0x80, 0x01,
+		0x00, 0x0c, 0xc0, 0x00,
+		0x00, 0x18, 0xe0, 0x00,
+		0x00, 0xf8, 0xff, 0xff,
+		0x00, 0xfe, 0xff, 0xff,
+		0x00, 0xfe, 0xff, 0xff,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* r */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0xfe, 0xff, 0x01,
+		0x00, 0xfe, 0xff, 0x01,
+		0x00, 0xf0, 0xff, 0x01,
+		0x00, 0x18, 0x00, 0x00,
+		0x00, 0x0c, 0x00, 0x00,
+		0x00, 0x0c, 0x00, 0x00,
+		0x00, 0x0e, 0x00, 0x00,
+		0x00, 0x06, 0x00, 0x00,
+		0x00, 0x06, 0x00, 0x00,
+		0x00, 0x0e, 0x00, 0x00,
+		0x00, 0x0e, 0x00, 0x00,
+		0x00, 0x04, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* s */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x78, 0xc0, 0x00,
+		0x00, 0xfc, 0xc0, 0x01,
+		0x00, 0xfc, 0xc1, 0x01,
+		0x00, 0xce, 0x81, 0x01,
+		0x00, 0x8e, 0x81, 0x01,
+		0x00, 0x86, 0x83, 0x01,
+		0x00, 0x06, 0x83, 0x01,
+		0x00, 0x06, 0x87, 0x01,
+		0x00, 0x06, 0xc7, 0x01,
+		0x00, 0x0e, 0xfe, 0x00,
+		0x00, 0x0c, 0xfc, 0x00,
+		0x00, 0x04, 0x78, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* t */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x02, 0x00, 0x00,
+		0x00, 0x03, 0x00, 0x00,
+		0x00, 0x03, 0x00, 0x00,
+		0x00, 0x03, 0x00, 0x00,
+		0xc0, 0xff, 0x3f, 0x00,
+		0xf0, 0xff, 0x7f, 0x00,
+		0xf0, 0xff, 0x7f, 0x00,
+		0x00, 0x03, 0xe0, 0x00,
+		0x00, 0x03, 0xc0, 0x00,
+		0x00, 0x03, 0xc0, 0x00,
+		0x00, 0x03, 0xc0, 0x00,
+		0x00, 0x03, 0xc0, 0x00,
+		0x00, 0x03, 0xc0, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* u */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0xfe, 0x3f, 0x00,
+		0x00, 0xfe, 0xff, 0x00,
+		0x00, 0xfe, 0xff, 0x00,
+		0x00, 0x00, 0xc0, 0x01,
+		0x00, 0x00, 0xc0, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0xc0, 0x01,
+		0x00, 0x00, 0xc0, 0x00,
+		0x00, 0x00, 0x60, 0x00,
+		0x00, 0xfe, 0x7f, 0x00,
+		0x00, 0xfe, 0xff, 0x01,
+		0x00, 0xfe, 0xff, 0x01,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* v */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x02, 0x00, 0x00,
+		0x00, 0x1e, 0x00, 0x00,
+		0x00, 0x7e, 0x00, 0x00,
+		0x00, 0xf8, 0x03, 0x00,
+		0x00, 0xc0, 0x0f, 0x00,
+		0x00, 0x00, 0x7f, 0x00,
+		0x00, 0x00, 0xf8, 0x01,
+		0x00, 0x00, 0xe0, 0x01,
+		0x00, 0x00, 0xc0, 0x01,
+		0x00, 0x00, 0xf8, 0x01,
+		0x00, 0x00, 0x7f, 0x00,
+		0x00, 0xc0, 0x1f, 0x00,
+		0x00, 0xf8, 0x03, 0x00,
+		0x00, 0x7e, 0x00, 0x00,
+		0x00, 0x1e, 0x00, 0x00,
+		0x00, 0x02, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* w */
+	{
+		0x00, 0x0e, 0x00, 0x00,
+		0x00, 0xfe, 0x01, 0x00,
+		0x00, 0xfc, 0x3f, 0x00,
+		0x00, 0x00, 0xff, 0x01,
+		0x00, 0x00, 0x80, 0x01,
+		0x00, 0x00, 0xfc, 0x01,
+		0x00, 0xc0, 0x7f, 0x00,
+		0x00, 0xfe, 0x03, 0x00,
+		0x00, 0x3e, 0x00, 0x00,
+		0x00, 0x3e, 0x00, 0x00,
+		0x00, 0xfe, 0x03, 0x00,
+		0x00, 0xc0, 0x7f, 0x00,
+		0x00, 0x00, 0xfc, 0x01,
+		0x00, 0x00, 0xc0, 0x01,
+		0x00, 0x00, 0xff, 0x01,
+		0x00, 0xfc, 0x3f, 0x00,
+		0x00, 0xfe, 0x01, 0x00,
+		0x00, 0x0e, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* x */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x01,
+		0x00, 0x06, 0x80, 0x01,
+		0x00, 0x0e, 0xc0, 0x01,
+		0x00, 0x1e, 0xf0, 0x00,
+		0x00, 0x3c, 0x78, 0x00,
+		0x00, 0xf0, 0x3c, 0x00,
+		0x00, 0xe0, 0x1f, 0x00,
+		0x00, 0xc0, 0x07, 0x00,
+		0x00, 0xc0, 0x07, 0x00,
+		0x00, 0xe0, 0x1f, 0x00,
+		0x00, 0xf0, 0x3c, 0x00,
+		0x00, 0x38, 0x78, 0x00,
+		0x00, 0x1e, 0xe0, 0x00,
+		0x00, 0x0e, 0xc0, 0x01,
+		0x00, 0x06, 0x80, 0x01,
+		0x00, 0x00, 0x00, 0x01,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* y */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x02, 0x00, 0xc0,
+		0x00, 0x1e, 0x00, 0xc0,
+		0x00, 0x7e, 0x00, 0xc0,
+		0x00, 0xf8, 0x01, 0xc0,
+		0x00, 0xe0, 0x0f, 0xe0,
+		0x00, 0x00, 0x3f, 0x70,
+		0x00, 0x00, 0xfc, 0x7c,
+		0x00, 0x00, 0xe0, 0x1f,
+		0x00, 0x00, 0xe0, 0x0f,
+		0x00, 0x00, 0xfc, 0x01,
+		0x00, 0x00, 0x7f, 0x00,
+		0x00, 0xe0, 0x0f, 0x00,
+		0x00, 0xf8, 0x03, 0x00,
+		0x00, 0x7e, 0x00, 0x00,
+		0x00, 0x1e, 0x00, 0x00,
+		0x00, 0x02, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* z */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x06, 0xc0, 0x01,
+		0x00, 0x06, 0xe0, 0x01,
+		0x00, 0x06, 0xf0, 0x01,
+		0x00, 0x06, 0xb8, 0x01,
+		0x00, 0x06, 0x9e, 0x01,
+		0x00, 0x06, 0x8f, 0x01,
+		0x00, 0x86, 0x83, 0x01,
+		0x00, 0xe6, 0x81, 0x01,
+		0x00, 0xf6, 0x80, 0x01,
+		0x00, 0x3e, 0x80, 0x01,
+		0x00, 0x1e, 0x80, 0x01,
+		0x00, 0x0e, 0x80, 0x01,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* { */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x03, 0x00,
+		0x00, 0x00, 0x03, 0x00,
+		0x00, 0x00, 0x03, 0x00,
+		0x00, 0x80, 0x07, 0x00,
+		0x00, 0x80, 0x0f, 0x00,
+		0xc0, 0xff, 0xfd, 0x0f,
+		0xe0, 0xff, 0xfc, 0x1f,
+		0xe0, 0x7f, 0xf0, 0x1f,
+		0x70, 0x00, 0x00, 0x38,
+		0x70, 0x00, 0x00, 0x30,
+		0x30, 0x00, 0x00, 0x30,
+		0x30, 0x00, 0x00, 0x30,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* | */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0xfc, 0xff, 0xff, 0xff,
+		0xfc, 0xff, 0xff, 0xff,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* } */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x30, 0x00, 0x00, 0x30,
+		0x30, 0x00, 0x00, 0x30,
+		0x70, 0x00, 0x00, 0x30,
+		0x70, 0x00, 0x00, 0x38,
+		0xe0, 0x7f, 0xf8, 0x1f,
+		0xe0, 0xff, 0xfc, 0x1f,
+		0xc0, 0xff, 0xfd, 0x0f,
+		0x00, 0x80, 0x0f, 0x00,
+		0x00, 0x80, 0x07, 0x00,
+		0x00, 0x00, 0x03, 0x00,
+		0x00, 0x00, 0x03, 0x00,
+		0x00, 0x00, 0x03, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+	/* ~ */
+	{
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x70, 0x00, 0x00,
+		0x00, 0x38, 0x00, 0x00,
+		0x00, 0x18, 0x00, 0x00,
+		0x00, 0x18, 0x00, 0x00,
+		0x00, 0x18, 0x00, 0x00,
+		0x00, 0x38, 0x00, 0x00,
+		0x00, 0x30, 0x00, 0x00,
+		0x00, 0x30, 0x00, 0x00,
+		0x00, 0x70, 0x00, 0x00,
+		0x00, 0x60, 0x00, 0x00,
+		0x00, 0x60, 0x00, 0x00,
+		0x00, 0x60, 0x00, 0x00,
+		0x00, 0x30, 0x00, 0x00,
+		0x00, 0x38, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+		0x00, 0x00, 0x00, 0x00,
+	},
+};
+
+FONT_ENTRY_DEFINE(font1016,
+		  10,
+		  16,
+		  CFB_FONT_MONO_VPACKED,
+		  cfb_font_1016,
+		  CFB_FONTS_FIRST_CHAR,
+		  CFB_FONTS_LAST_CHAR
+);
+FONT_ENTRY_DEFINE(font1524,
+		  15,
+		  24,
+		  CFB_FONT_MONO_VPACKED,
+		  cfb_font_1524,
+		  CFB_FONTS_FIRST_CHAR,
+		  CFB_FONTS_LAST_CHAR
+);
+FONT_ENTRY_DEFINE(font2032,
+		  20,
+		  32,
+		  CFB_FONT_MONO_VPACKED,
+		  cfb_font_2032,
+		  CFB_FONTS_FIRST_CHAR,
+		  CFB_FONTS_LAST_CHAR
+);
diff --git a/hw/drivers/display/include/display/display.h b/hw/drivers/display/include/display/display.h
new file mode 100644
index 0000000..82dc695
--- /dev/null
+++ b/hw/drivers/display/include/display/display.h
@@ -0,0 +1,412 @@
+/*
+ * Copyright (c) 2017 Jan Van Winkel <ja...@dxplore.eu>
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+/**
+ * @file
+ * @brief Public API for display drivers and applications
+ */
+
+#ifndef ZEPHYR_INCLUDE_DISPLAY_H_
+#define ZEPHYR_INCLUDE_DISPLAY_H_
+
+/**
+ * @brief Display Interface
+ * @defgroup display_interface display Interface
+ * @ingroup io_interfaces
+ * @{
+ */
+
+#include <device.h>
+#include <stddef.h>
+#include <zephyr/types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+enum display_pixel_format {
+	PIXEL_FORMAT_RGB_888		= BIT(0),
+	PIXEL_FORMAT_MONO01		= BIT(1), /* 0=Black 1=White */
+	PIXEL_FORMAT_MONO10		= BIT(2), /* 1=Black 0=White */
+};
+
+enum display_screen_info {
+	/**
+	 * If selected, one octet represents 8 pixels ordered vertically,
+	 * otherwise ordered horizontally.
+	 */
+	SCREEN_INFO_MONO_VTILED		= BIT(0),
+	/**
+	 * If selected, the MSB represents the first pixel,
+	 * otherwise MSB represents the last pixel.
+	 */
+	SCREEN_INFO_MONO_MSB_FIRST	= BIT(1),
+	/**
+	 * Electrophoretic Display.
+	 */
+	SCREEN_INFO_EPD			= BIT(2),
+};
+
+/**
+ * @enum display_orientation
+ * @brief Enumeration with possible display orientation
+ *
+ */
+enum display_orientation {
+	DISPLAY_ORIENTATION_NORMAL,
+	DISPLAY_ORIENTATION_ROTATED_90,
+	DISPLAY_ORIENTATION_ROTATED_180,
+	DISPLAY_ORIENTATION_ROTATED_270,
+};
+
+/**
+ * @struct display_capabilities
+ * @brief Structure holding display capabilities
+ *
+ * @var display_capabilities::x_resolution
+ * Display resolution in the X direction
+ *
+ * @var display_capabilities::y_resolution
+ * Display resolution in the Y direction
+ *
+ * @var display_capabilities::supported_pixel_formats
+ * Bitwise or of pixel formats supported by the display
+ *
+ * @var display_capabilities::screen_info
+ * Information about display panel
+ *
+ * @var display_capabilities::current_pixel_format
+ * Currently active pixel format for the display
+ *
+ * @var display_capabilities::current_orientation
+ * Current display orientation
+ *
+ */
+struct display_capabilities {
+	u16_t x_resolution;
+	u16_t y_resolution;
+	u32_t supported_pixel_formats;
+	u32_t screen_info;
+	enum display_pixel_format current_pixel_format;
+	enum display_orientation current_orientation;
+};
+
+/**
+ * @struct display_buffer_descriptor
+ * @brief Structure to describe display data buffer layout
+ *
+ * @var display_buffer_descriptor::buf_size
+ * Data buffer size in bytes
+ *
+ * @var display_buffer_descriptor::width
+ * Data buffer row width in pixels
+ *
+ * @var display_buffer_descriptor::height
+ * Data buffer column height in pixels
+ *
+ * @var display_buffer_descriptor::pitch
+ * Number of pixels between consecutive rows in the data buffer
+ *
+ */
+struct display_buffer_descriptor {
+	u32_t buf_size;
+	u16_t width;
+	u16_t height;
+	u16_t pitch;
+};
+
+/**
+ * @typedef display_blanking_on_api
+ * @brief Callback API to turn on display blanking
+ * See display_blanking_on() for argument description
+ */
+typedef int (*display_blanking_on_api)(const struct device *dev);
+
+/**
+ * @typedef display_blanking_off_api
+ * @brief Callback API to turn off display blanking
+ * See display_blanking_off() for argument description
+ */
+typedef int (*display_blanking_off_api)(const struct device *dev);
+
+/**
+ * @typedef display_write_api
+ * @brief Callback API for writing data to the display
+ * See display_write() for argument description
+ */
+typedef int (*display_write_api)(const struct device *dev, const u16_t x,
+				 const u16_t y,
+				 const struct display_buffer_descriptor *desc,
+				 const void *buf);
+
+/**
+ * @typedef display_read_api
+ * @brief Callback API for reading data from the display
+ * See display_read() for argument description
+ */
+typedef int (*display_read_api)(const struct device *dev, const u16_t x,
+				const u16_t y,
+				const struct display_buffer_descriptor *desc,
+				void *buf);
+
+/**
+ * @typedef display_get_framebuffer_api
+ * @brief Callback API to get framebuffer pointer
+ * See display_get_framebuffer() for argument description
+ */
+typedef void *(*display_get_framebuffer_api)(const struct device *dev);
+
+/**
+ * @typedef display_set_brightness_api
+ * @brief Callback API to set display brightness
+ * See display_set_brightness() for argument description
+ */
+typedef int (*display_set_brightness_api)(const struct device *dev,
+					  const u8_t brightness);
+
+/**
+ * @typedef display_set_contrast_api
+ * @brief Callback API to set display contrast
+ * See display_set_contrast() for argument description
+ */
+typedef int (*display_set_contrast_api)(const struct device *dev,
+					const u8_t contrast);
+
+/**
+ * @typedef display_get_capabilities_api
+ * @brief Callback API to get display capabilities
+ * See display_get_capabilities() for argument description
+ */
+typedef void (*display_get_capabilities_api)(const struct device *dev,
+					     struct display_capabilities *
+					     capabilities);
+
+/**
+ * @typedef display_set_pixel_format_api
+ * @brief Callback API to set pixel format used by the display
+ * See display_set_pixel_format() for argument description
+ */
+typedef int (*display_set_pixel_format_api)(const struct device *dev,
+					    const enum display_pixel_format
+					    pixel_format);
+
+/**
+ * @typedef display_set_orientation_api
+ * @brief Callback API to set orientation used by the display
+ * See display_set_orientation() for argument description
+ */
+typedef int (*display_set_orientation_api)(const struct device *dev,
+					   const enum display_orientation
+					   orientation);
+
+/**
+ * @brief Display driver API
+ * API which a display driver should expose
+ */
+struct display_driver_api {
+	display_blanking_on_api blanking_on;
+	display_blanking_off_api blanking_off;
+	display_write_api write;
+	display_read_api read;
+	display_get_framebuffer_api get_framebuffer;
+	display_set_brightness_api set_brightness;
+	display_set_contrast_api set_contrast;
+	display_get_capabilities_api get_capabilities;
+	display_set_pixel_format_api set_pixel_format;
+	display_set_orientation_api set_orientation;
+};
+
+/**
+ * @brief Write data to display
+ *
+ * @param dev Pointer to device structure
+ * @param x x Coordinate of the upper left corner where to write the buffer
+ * @param y y Coordinate of the upper left corner where to write the buffer
+ * @param desc Pointer to a structure describing the buffer layout
+ * @param buf Pointer to buffer array
+ *
+ * @retval 0 on success else negative errno code.
+ */
+static inline int display_write(const struct device *dev, const u16_t x,
+				const u16_t y,
+				const struct display_buffer_descriptor *desc,
+				const void *buf)
+{
+	struct display_driver_api *api =
+		(struct display_driver_api *)dev->driver_api;
+
+	return api->write(dev, x, y, desc, buf);
+}
+
+/**
+ * @brief Read data from display
+ *
+ * @param dev Pointer to device structure
+ * @param x x Coordinate of the upper left corner where to read from
+ * @param y y Coordinate of the upper left corner where to read from
+ * @param desc Pointer to a structure describing the buffer layout
+ * @param buf Pointer to buffer array
+ *
+ * @retval 0 on success else negative errno code.
+ */
+static inline int display_read(const struct device *dev, const u16_t x,
+			       const u16_t y,
+			       const struct display_buffer_descriptor *desc,
+			       void *buf)
+{
+	struct display_driver_api *api =
+		(struct display_driver_api *)dev->driver_api;
+
+	return api->read(dev, x, y, desc, buf);
+}
+
+/**
+ * @brief Get pointer to framebuffer for direct access
+ *
+ * @param dev Pointer to device structure
+ *
+ * @retval Pointer to frame buffer or NULL if direct framebuffer access
+ * is not supported
+ *
+ */
+static inline void *display_get_framebuffer(const struct device *dev)
+{
+	struct display_driver_api *api =
+		(struct display_driver_api *)dev->driver_api;
+
+	return api->get_framebuffer(dev);
+}
+
+/**
+ * @brief Turn display blanking on
+ *
+ * @param dev Pointer to device structure
+ *
+ * @retval 0 on success else negative errno code.
+ */
+static inline int display_blanking_on(const struct device *dev)
+{
+	struct display_driver_api *api =
+		(struct display_driver_api *)dev->driver_api;
+
+	return api->blanking_on(dev);
+}
+
+/**
+ * @brief Turn display blanking off
+ *
+ * @param dev Pointer to device structure
+ *
+ * @retval 0 on success else negative errno code.
+ */
+static inline int display_blanking_off(const struct device *dev)
+{
+	struct display_driver_api *api =
+		(struct display_driver_api *)dev->driver_api;
+
+	return api->blanking_off(dev);
+}
+
+/**
+ * @brief Set the brightness of the display
+ *
+ * Set the brightness of the display in steps of 1/256, where 255 is full
+ * brightness and 0 is minimal.
+ *
+ * @param dev Pointer to device structure
+ * @param brightness Brightness in steps of 1/256
+ *
+ * @retval 0 on success else negative errno code.
+ */
+static inline int display_set_brightness(const struct device *dev,
+					 u8_t brightness)
+{
+	struct display_driver_api *api =
+		(struct display_driver_api *)dev->driver_api;
+
+	return api->set_brightness(dev, brightness);
+}
+
+/**
+ * @brief Set the contrast of the display
+ *
+ * Set the contrast of the display in steps of 1/256, where 255 is maximum
+ * difference and 0 is minimal.
+ *
+ * @param dev Pointer to device structure
+ * @param contrast Contrast in steps of 1/256
+ *
+ * @retval 0 on success else negative errno code.
+ */
+static inline int display_set_contrast(const struct device *dev, u8_t contrast)
+{
+	struct display_driver_api *api =
+		(struct display_driver_api *)dev->driver_api;
+
+	return api->set_contrast(dev, contrast);
+}
+
+/**
+ * @brief Get display capabilities
+ *
+ * @param dev Pointer to device structure
+ * @param capabilities Pointer to capabilities structure to populate
+ */
+static inline void display_get_capabilities(const struct device *dev,
+					    struct display_capabilities *
+					    capabilities)
+{
+	struct display_driver_api *api =
+		(struct display_driver_api *)dev->driver_api;
+
+	api->get_capabilities(dev, capabilities);
+}
+
+/**
+ * @brief Set pixel format used by the display
+ *
+ * @param dev Pointer to device structure
+ * @param pixel_format Pixel format to be used by display
+ *
+ * @retval 0 on success else negative errno code.
+ */
+static inline int
+display_set_pixel_format(const struct device *dev,
+			 const enum display_pixel_format pixel_format)
+{
+	struct display_driver_api *api =
+		(struct display_driver_api *)dev->driver_api;
+
+	return api->set_pixel_format(dev, pixel_format);
+}
+
+/**
+ * @brief Set display orientation
+ *
+ * @param dev Pointer to device structure
+ * @param orientation Orientation to be used by display
+ *
+ * @retval 0 on success else negative errno code.
+ */
+static inline int display_set_orientation(const struct device *dev,
+					  const enum display_orientation
+					  orientation)
+{
+	struct display_driver_api *api =
+		(struct display_driver_api *)dev->driver_api;
+
+	return api->set_orientation(dev, orientation);
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+/**
+ * @}
+ */
+
+#endif /* ZEPHYR_INCLUDE_DISPLAY_H_*/
diff --git a/hw/drivers/display/ssd1673/src/ssd1673.c b/hw/drivers/display/ssd1673/src/ssd1673.c
new file mode 100644
index 0000000..3d4b290
--- /dev/null
+++ b/hw/drivers/display/ssd1673/src/ssd1673.c
@@ -0,0 +1,532 @@
+/*
+ * Copyright (c) 2018 PHYTEC Messtechnik GmbH
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+#define LOG_LEVEL CONFIG_DISPLAY_LOG_LEVEL
+#include <logging/log.h>
+LOG_MODULE_REGISTER(ssd1673);
+
+#include <string.h>
+#include <device.h>
+#include <display.h>
+#include <init.h>
+#include <gpio.h>
+#include <spi.h>
+
+#include "ssd1673_regs.h"
+#include <display/cfb.h>
+
+#define EPD_PANEL_WIDTH			250
+#define EPD_PANEL_HEIGHT		120
+#define EPD_PANEL_NUMOF_COLUMS		250
+#define EPD_PANEL_NUMOF_ROWS_PER_PAGE	8
+#define EPD_PANEL_NUMOF_PAGES		(EPD_PANEL_HEIGHT / \
+					 EPD_PANEL_NUMOF_ROWS_PER_PAGE)
+
+#define SSD1673_PANEL_FIRST_PAGE	0
+#define SSD1673_PANEL_LAST_PAGE		(EPD_PANEL_NUMOF_PAGES - 1)
+#define SSD1673_PANEL_FIRST_GATE	0
+#define SSD1673_PANEL_LAST_GATE		249
+
+struct ssd1673_data {
+	struct device *reset;
+	struct device *dc;
+	struct device *busy;
+	struct device *spi_dev;
+	struct spi_config spi_config;
+#if defined(CONFIG_SSD1673_SPI_GPIO_CS)
+	struct spi_cs_control cs_ctrl;
+#endif
+	u8_t contrast;
+	u8_t scan_mode;
+	u8_t last_lut;
+	u8_t numof_part_cycles;
+};
+
+#define SSD1673_LAST_LUT_INITIAL		0
+#define SSD1673_LAST_LUT_DEFAULT		255
+#define SSD1673_LUT_SIZE			29
+
+static u8_t ssd1673_lut_initial[SSD1673_LUT_SIZE] = {
+	0x22, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x11,
+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+	0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E,
+	0x01, 0x00, 0x00, 0x00, 0x00
+};
+
+static u8_t ssd1673_lut_default[SSD1673_LUT_SIZE] = {
+	0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+	0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+	0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+static inline int ssd1673_write_cmd(struct ssd1673_data *driver,
+				    u8_t cmd, u8_t *data, size_t len)
+{
+	struct spi_buf buf = {.buf = &cmd, .len = sizeof(cmd)};
+	struct spi_buf_set buf_set = {.buffers = &buf, .count = 1};
+
+	gpio_pin_write(driver->dc, CONFIG_SSD1673_DC_PIN, 0);
+	if (spi_write(driver->spi_dev, &driver->spi_config, &buf_set)) {
+		return -1;
+	}
+
+	if (data != NULL) {
+		buf.buf = data;
+		buf.len = len;
+		gpio_pin_write(driver->dc, CONFIG_SSD1673_DC_PIN, 1);
+		if (spi_write(driver->spi_dev, &driver->spi_config, &buf_set)) {
+			return -1;
+		}
+	}
+
+	return 0;
+}
+
+static inline void ssd1673_busy_wait(struct ssd1673_data *driver)
+{
+	u32_t val = 0;
+
+	gpio_pin_read(driver->busy, CONFIG_SSD1673_BUSY_PIN, &val);
+	while (val) {
+		k_busy_wait(SSD1673_BUSY_DELAY);
+		gpio_pin_read(driver->busy, CONFIG_SSD1673_BUSY_PIN, &val);
+	};
+}
+
+static inline int ssd1673_set_ram_param(struct ssd1673_data *driver,
+					u8_t sx, u8_t ex, u8_t sy, u8_t ey)
+{
+	u8_t tmp[2];
+
+	tmp[0] = sx; tmp[1] = ex;
+	if (ssd1673_write_cmd(driver, SSD1673_CMD_RAM_XPOS_CTRL,
+			      tmp, sizeof(tmp))) {
+		return -1;
+	}
+
+	tmp[0] = sy; tmp[1] = ey;
+	if (ssd1673_write_cmd(driver, SSD1673_CMD_RAM_YPOS_CTRL,
+			      tmp, sizeof(tmp))) {
+		return -1;
+	}
+
+	return 0;
+}
+
+static inline int ssd1673_set_ram_ptr(struct ssd1673_data *driver,
+				       u8_t x, u8_t y)
+{
+	if (ssd1673_write_cmd(driver, SSD1673_CMD_RAM_XPOS_CNTR,
+			      &x, sizeof(x))) {
+		return -1;
+	}
+
+	if (ssd1673_write_cmd(driver, SSD1673_CMD_RAM_YPOS_CNTR,
+			      &y, sizeof(y))) {
+		return -1;
+	}
+
+	return 0;
+}
+
+static inline void ssd1673_set_orientation(struct ssd1673_data *driver)
+
+{
+#if CONFIG_SSD1673_ORIENTATION_FLIPPED == 1
+	driver->scan_mode = SSD1673_DATA_ENTRY_XIYDY;
+#else
+	driver->scan_mode = SSD1673_DATA_ENTRY_XDYIY;
+#endif
+}
+
+int ssd1673_resume(const struct device *dev)
+{
+	struct ssd1673_data *driver = dev->driver_data;
+	u8_t tmp;
+
+	/*
+	 * Uncomment for voltage measurement
+	 * tmp = SSD1673_CTRL2_ENABLE_CLK;
+	 * ssd1673_write_cmd(SSD1673_CMD_UPDATE_CTRL2, &tmp, sizeof(tmp));
+	 * ssd1673_write_cmd(SSD1673_CMD_MASTER_ACTIVATION, NULL, 0);
+	 */
+
+	tmp = SSD1673_SLEEP_MODE_PON;
+	return ssd1673_write_cmd(driver, SSD1673_CMD_SLEEP_MODE,
+				 &tmp, sizeof(tmp));
+}
+
+static int ssd1673_suspend(const struct device *dev)
+{
+	struct ssd1673_data *driver = dev->driver_data;
+	u8_t tmp = SSD1673_SLEEP_MODE_DSM;
+
+	return ssd1673_write_cmd(driver, SSD1673_CMD_SLEEP_MODE,
+				 &tmp, sizeof(tmp));
+}
+
+static int ssd1673_update_display(const struct device *dev, bool initial)
+{
+	struct ssd1673_data *driver = dev->driver_data;
+	u8_t tmp;
+
+	tmp = SSD1673_CTRL1_INITIAL_UPDATE_LH;
+	if (ssd1673_write_cmd(driver, SSD1673_CMD_UPDATE_CTRL1,
+			      &tmp, sizeof(tmp))) {
+		return -1;
+	}
+
+	if (initial) {
+		driver->numof_part_cycles = 0;
+		driver->last_lut = SSD1673_LAST_LUT_INITIAL;
+		if (ssd1673_write_cmd(driver, SSD1673_CMD_UPDATE_LUT,
+				      ssd1673_lut_initial,
+				      sizeof(ssd1673_lut_initial))) {
+			return -1;
+		}
+
+	} else {
+		driver->numof_part_cycles++;
+		if (driver->last_lut != SSD1673_LAST_LUT_DEFAULT) {
+			driver->last_lut = SSD1673_LAST_LUT_DEFAULT;
+			if (ssd1673_write_cmd(driver, SSD1673_CMD_UPDATE_LUT,
+					      ssd1673_lut_default,
+					      sizeof(ssd1673_lut_default))) {
+				return -1;
+			}
+		}
+	}
+
+	tmp = (SSD1673_CTRL2_ENABLE_CLK |
+	       SSD1673_CTRL2_ENABLE_ANALOG |
+	       SSD1673_CTRL2_TO_PATTERN |
+	       SSD1673_CTRL2_DISABLE_ANALOG |
+	       SSD1673_CTRL2_DISABLE_CLK);
+	if (ssd1673_write_cmd(driver, SSD1673_CMD_UPDATE_CTRL2,
+			      &tmp, sizeof(tmp))) {
+		return -1;
+	}
+
+	if (ssd1673_write_cmd(driver, SSD1673_CMD_MASTER_ACTIVATION,
+			      NULL, 0)) {
+		return -1;
+	}
+
+	return 0;
+}
+
+static int ssd1673_write(const struct device *dev, const u16_t x,
+			 const u16_t y,
+			 const struct display_buffer_descriptor *desc,
+			 const void *buf)
+{
+	struct ssd1673_data *driver = dev->driver_data;
+	u8_t cmd = SSD1673_CMD_WRITE_RAM;
+	u8_t dummy_page[SSD1673_RAM_YRES];
+	struct spi_buf sbuf = {.buf = &cmd, .len = 1};
+	struct spi_buf_set buf_set = {.buffers = &sbuf, .count = 1};
+	bool update = true;
+
+	if (desc->pitch < desc->width) {
+		LOG_ERR("Pitch is smaller then width");
+		return -1;
+	}
+
+	if (buf == NULL || desc->buf_size == 0) {
+		LOG_ERR("Display buffer is not available");
+		return -1;
+	}
+
+	if (desc->pitch > desc->width) {
+		LOG_ERR("Unsupported mode");
+		return -1;
+	}
+
+	if (x != 0 && y != 0) {
+		LOG_ERR("Unsupported origin");
+		return -1;
+	}
+
+
+	ssd1673_busy_wait(driver);
+	memset(dummy_page, 0xff, sizeof(dummy_page));
+
+	switch (driver->scan_mode) {
+	case SSD1673_DATA_ENTRY_XIYDY:
+		if (ssd1673_set_ram_param(driver,
+					  SSD1673_PANEL_FIRST_PAGE,
+					  SSD1673_PANEL_LAST_PAGE + 1,
+					  SSD1673_PANEL_LAST_GATE,
+					  SSD1673_PANEL_FIRST_GATE)) {
+			return -1;
+		}
+
+		if (ssd1673_set_ram_ptr(driver,
+					SSD1673_PANEL_FIRST_PAGE,
+					SSD1673_PANEL_LAST_GATE)) {
+			return -1;
+		}
+
+		break;
+
+	case SSD1673_DATA_ENTRY_XDYIY:
+		if (ssd1673_set_ram_param(driver,
+					  SSD1673_PANEL_LAST_PAGE + 1,
+					  SSD1673_PANEL_FIRST_PAGE,
+					  SSD1673_PANEL_FIRST_GATE,
+					  SSD1673_PANEL_LAST_GATE)) {
+			return -1;
+		}
+
+		if (ssd1673_set_ram_ptr(driver,
+					SSD1673_PANEL_LAST_PAGE + 1,
+					SSD1673_PANEL_FIRST_GATE)) {
+			return -1;
+		}
+
+		break;
+	default:
+		return -1;
+	}
+
+	if (ssd1673_write_cmd(driver, SSD1673_CMD_ENTRY_MODE,
+			      &driver->scan_mode, sizeof(driver->scan_mode))) {
+		return -1;
+	}
+
+	gpio_pin_write(driver->dc, CONFIG_SSD1673_DC_PIN, 0);
+	if (spi_write(driver->spi_dev, &driver->spi_config, &buf_set)) {
+		return -1;
+	}
+
+	gpio_pin_write(driver->dc, CONFIG_SSD1673_DC_PIN, 1);
+	/* clear unusable page */
+	if (driver->scan_mode == SSD1673_DATA_ENTRY_XDYIY) {
+		sbuf.buf = dummy_page;
+		sbuf.len = sizeof(dummy_page);
+		if (spi_write(driver->spi_dev, &driver->spi_config, &buf_set)) {
+			return -1;
+		}
+	}
+
+	sbuf.buf = (u8_t *)buf;
+	sbuf.len = desc->buf_size;
+	if (spi_write(driver->spi_dev, &driver->spi_config, &buf_set)) {
+		return -1;
+	}
+
+	/* clear unusable page */
+	if (driver->scan_mode == SSD1673_DATA_ENTRY_XIYDY) {
+		sbuf.buf = dummy_page;
+		sbuf.len = sizeof(dummy_page);
+		if (spi_write(driver->spi_dev, &driver->spi_config, &buf_set)) {
+			return -1;
+		}
+	}
+
+
+	if (update) {
+		if (driver->contrast) {
+			return ssd1673_update_display(dev, true);
+		}
+		return ssd1673_update_display(dev, false);
+	}
+
+	return 0;
+}
+
+static int ssd1673_read(const struct device *dev, const u16_t x,
+			const u16_t y,
+			const struct display_buffer_descriptor *desc,
+			void *buf)
+{
+	LOG_ERR("not supported");
+	return -ENOTSUP;
+}
+
+static void *ssd1673_get_framebuffer(const struct device *dev)
+{
+	LOG_ERR("not supported");
+	return NULL;
+}
+
+static int ssd1673_set_brightness(const struct device *dev,
+				  const u8_t brightness)
+{
+	LOG_WRN("not supported");
+	return -ENOTSUP;
+}
+
+static int ssd1673_set_contrast(const struct device *dev, u8_t contrast)
+{
+	struct ssd1673_data *driver = dev->driver_data;
+
+	driver->contrast = contrast;
+
+	return 0;
+}
+
+static void ssd1673_get_capabilities(const struct device *dev,
+				     struct display_capabilities *caps)
+{
+	memset(caps, 0, sizeof(struct display_capabilities));
+	caps->x_resolution = EPD_PANEL_WIDTH;
+	caps->y_resolution = EPD_PANEL_HEIGHT;
+	caps->supported_pixel_formats = PIXEL_FORMAT_MONO10;
+	caps->current_pixel_format = PIXEL_FORMAT_MONO10;
+	caps->screen_info = SCREEN_INFO_MONO_VTILED |
+			    SCREEN_INFO_MONO_MSB_FIRST |
+			    SCREEN_INFO_EPD;
+}
+
+static int ssd1673_set_pixel_format(const struct device *dev,
+				    const enum display_pixel_format pf)
+{
+	LOG_ERR("not supported");
+	return -ENOTSUP;
+}
+
+static int ssd1673_controller_init(struct device *dev)
+{
+	struct ssd1673_data *driver = dev->driver_data;
+	u8_t tmp[3];
+
+	LOG_DBG("");
+
+	gpio_pin_write(driver->reset, CONFIG_SSD1673_RESET_PIN, 0);
+	k_sleep(SSD1673_RESET_DELAY);
+	gpio_pin_write(driver->reset, CONFIG_SSD1673_RESET_PIN, 1);
+	k_sleep(SSD1673_RESET_DELAY);
+	ssd1673_busy_wait(driver);
+
+	if (ssd1673_write_cmd(driver, SSD1673_CMD_SW_RESET, NULL, 0)) {
+		return -1;
+	}
+	ssd1673_busy_wait(driver);
+
+	tmp[0] = (SSD1673_RAM_YRES - 1);
+	tmp[1] = 0;
+	if (ssd1673_write_cmd(driver, SSD1673_CMD_GDO_CTRL, tmp, 2)) {
+		return -1;
+	}
+
+	tmp[0] = SSD1673_VAL_GDV_CTRL_A;
+	tmp[1] = SSD1673_VAL_GDV_CTRL_B;
+	if (ssd1673_write_cmd(driver, SSD1673_CMD_GDV_CTRL, tmp, 2)) {
+		return -1;
+	}
+
+	tmp[0] = SSD1673_VAL_SDV_CTRL;
+	if (ssd1673_write_cmd(driver, SSD1673_CMD_SDV_CTRL, tmp, 1)) {
+		return -1;
+	}
+
+	tmp[0] = SSD1673_VAL_VCOM_VOLTAGE;
+	if (ssd1673_write_cmd(driver, SSD1673_CMD_VCOM_VOLTAGE, tmp, 1)) {
+		return -1;
+	}
+
+	tmp[0] = SSD1673_VAL_DUMMY_LINE;
+	if (ssd1673_write_cmd(driver, SSD1673_CMD_DUMMY_LINE, tmp, 1)) {
+		return -1;
+	}
+
+	tmp[0] = SSD1673_VAL_GATE_LWIDTH;
+	if (ssd1673_write_cmd(driver, SSD1673_CMD_GATE_LINE_WIDTH, tmp, 1)) {
+		return -1;
+	}
+
+	ssd1673_set_orientation(driver);
+	driver->numof_part_cycles = 0;
+	driver->last_lut = SSD1673_LAST_LUT_INITIAL;
+	driver->contrast = 0;
+
+	return 0;
+}
+
+static int ssd1673_init(struct device *dev)
+{
+	struct ssd1673_data *driver = dev->driver_data;
+
+	LOG_DBG("");
+
+	driver->spi_dev = device_get_binding(CONFIG_SSD1673_SPI_DEV_NAME);
+	if (driver->spi_dev == NULL) {
+		LOG_ERR("Could not get SPI device for SSD1673");
+		return -EIO;
+	}
+
+	driver->spi_config.frequency = CONFIG_SSD1673_SPI_FREQ;
+	driver->spi_config.operation = SPI_OP_MODE_MASTER | SPI_WORD_SET(8);
+	driver->spi_config.slave = CONFIG_SSD1673_SPI_SLAVE_NUMBER;
+	driver->spi_config.cs = NULL;
+
+	driver->reset = device_get_binding(CONFIG_SSD1673_RESET_GPIO_PORT_NAME);
+	if (driver->reset == NULL) {
+		LOG_ERR("Could not get GPIO port for SSD1673 reset");
+		return -EIO;
+	}
+
+	gpio_pin_configure(driver->reset, CONFIG_SSD1673_RESET_PIN,
+			   GPIO_DIR_OUT);
+
+	driver->dc = device_get_binding(CONFIG_SSD1673_DC_GPIO_PORT_NAME);
+	if (driver->dc == NULL) {
+		LOG_ERR("Could not get GPIO port for SSD1673 DC signal");
+		return -EIO;
+	}
+
+	gpio_pin_configure(driver->dc, CONFIG_SSD1673_DC_PIN,
+			   GPIO_DIR_OUT);
+
+	driver->busy = device_get_binding(CONFIG_SSD1673_BUSY_GPIO_PORT_NAME);
+	if (driver->busy == NULL) {
+		LOG_ERR("Could not get GPIO port for SSD1673 busy signal");
+		return -EIO;
+	}
+
+	gpio_pin_configure(driver->busy, CONFIG_SSD1673_BUSY_PIN,
+			   GPIO_DIR_IN);
+
+#if defined(CONFIG_SSD1673_SPI_GPIO_CS)
+	driver->cs_ctrl.gpio_dev = device_get_binding(
+		CONFIG_SSD1673_SPI_GPIO_CS_DRV_NAME);
+	if (!driver->cs_ctrl.gpio_dev) {
+		LOG_ERR("Unable to get SPI GPIO CS device");
+		return -EIO;
+	}
+
+	driver->cs_ctrl.gpio_pin = CONFIG_SSD1673_SPI_GPIO_CS_PIN;
+	driver->cs_ctrl.delay = 0;
+	driver->spi_config.cs = &driver->cs_ctrl;
+#endif
+
+	ssd1673_controller_init(dev);
+
+	return 0;
+}
+
+static struct ssd1673_data ssd1673_driver;
+
+static struct display_driver_api ssd1673_driver_api = {
+	.blanking_on = ssd1673_resume,
+	.blanking_off = ssd1673_suspend,
+	.write = ssd1673_write,
+	.read = ssd1673_read,
+	.get_framebuffer = ssd1673_get_framebuffer,
+	.set_brightness = ssd1673_set_brightness,
+	.set_contrast = ssd1673_set_contrast,
+	.get_capabilities = ssd1673_get_capabilities,
+	.set_pixel_format = ssd1673_set_pixel_format,
+	.set_orientation = NULL,
+};
+
+
+DEVICE_AND_API_INIT(ssd1673, CONFIG_SSD1673_DEV_NAME, ssd1673_init,
+		    &ssd1673_driver, NULL,
+		    POST_KERNEL, CONFIG_APPLICATION_INIT_PRIORITY,
+		    &ssd1673_driver_api);
diff --git a/hw/drivers/display/ssd1673/src/ssd1673_regs.h b/hw/drivers/display/ssd1673/src/ssd1673_regs.h
new file mode 100644
index 0000000..f23ca8d
--- /dev/null
+++ b/hw/drivers/display/ssd1673/src/ssd1673_regs.h
@@ -0,0 +1,88 @@
+/* ssd1673_regs.h - Registers definition for SSD1673 controller */
+
+/*
+ * Copyright (c) 2018 PHYTEC Messtechnik GmbH
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+#ifndef __SSD1673_REGS_H__
+#define __SSD1673_REGS_H__
+
+#define SSD1673_CMD_GDO_CTRL			0x01
+#define SSD1673_CMD_GDV_CTRL			0x03
+#define SSD1673_CMD_SDV_CTRL			0x04
+#define SSD1673_CMD_GSCAN_START			0x0f
+#define SSD1673_CMD_SLEEP_MODE			0x10
+#define SSD1673_CMD_ENTRY_MODE			0x11
+#define SSD1673_CMD_SW_RESET			0x12
+#define SSD1673_CMD_TSENS_CTRL			0x1a
+#define SSD1673_CMD_MASTER_ACTIVATION		0x20
+#define SSD1673_CMD_UPDATE_CTRL1		0x21
+#define SSD1673_CMD_UPDATE_CTRL2		0x22
+#define SSD1673_CMD_WRITE_RAM			0x24
+#define SSD1673_CMD_VCOM_SENSE			0x28
+#define SSD1673_CMD_VCOM_SENSE_DURATON		0x29
+#define SSD1673_CMD_PRGM_VCOM_OTP		0x2a
+#define SSD1673_CMD_VCOM_VOLTAGE		0x2c
+#define SSD1673_CMD_PRGM_WS_OTP			0x30
+#define SSD1673_CMD_UPDATE_LUT			0x32
+#define SSD1673_CMD_PRGM_OTP_SELECTION		0x36
+#define SSD1673_CMD_OTP_SELECTION_CTRL		0x37
+#define SSD1673_CMD_DUMMY_LINE			0x3a
+#define SSD1673_CMD_GATE_LINE_WIDTH		0x3b
+#define SSD1673_CMD_BWF_CTRL			0x3c
+#define SSD1673_CMD_RAM_XPOS_CTRL		0x44
+#define SSD1673_CMD_RAM_YPOS_CTRL		0x45
+#define SSD1673_CMD_RAM_XPOS_CNTR		0x4e
+#define SSD1673_CMD_RAM_YPOS_CNTR		0x4f
+
+/* Data entry sequence modes */
+#define SSD1673_DATA_ENTRY_MASK			0x07
+#define SSD1673_DATA_ENTRY_XDYDX		0x00
+#define SSD1673_DATA_ENTRY_XIYDX		0x01
+#define SSD1673_DATA_ENTRY_XDYIX		0x02
+#define SSD1673_DATA_ENTRY_XIYIX		0x03
+#define SSD1673_DATA_ENTRY_XDYDY		0x04
+#define SSD1673_DATA_ENTRY_XIYDY		0x05
+#define SSD1673_DATA_ENTRY_XDYIY		0x06
+#define SSD1673_DATA_ENTRY_XIYIY		0x07
+
+/* Options for display update */
+#define SSD1673_CTRL1_INITIAL_UPDATE_LL		0x00
+#define SSD1673_CTRL1_INITIAL_UPDATE_LH		0x01
+#define SSD1673_CTRL1_INITIAL_UPDATE_HL		0x02
+#define SSD1673_CTRL1_INITIAL_UPDATE_HH		0x03
+
+/* Options for display update sequence */
+#define SSD1673_CTRL2_ENABLE_CLK		0x80
+#define SSD1673_CTRL2_ENABLE_ANALOG		0x40
+#define SSD1673_CTRL2_TO_INITIAL		0x08
+#define SSD1673_CTRL2_TO_PATTERN		0x04
+#define SSD1673_CTRL2_DISABLE_ANALOG		0x02
+#define SSD1673_CTRL2_DISABLE_CLK		0x01
+
+#define SSD1673_SLEEP_MODE_DSM			0x01
+#define SSD1673_SLEEP_MODE_PON			0x00
+
+/* Default values */
+#define SSD1673_VAL_GDV_CTRL_A			16
+#define SSD1673_VAL_GDV_CTRL_B			10
+#define SSD1673_VAL_SDV_CTRL			0x19
+#define SSD1673_VAL_VCOM_VOLTAGE		0xa8
+#define SSD1673_VAL_DUMMY_LINE			0x1a
+#define SSD1673_VAL_GATE_LWIDTH			0x08
+
+/** Maximum resolution in the X direction */
+#define SSD1673_RAM_XRES			152
+/** Maximum resolution in the Y direction */
+#define SSD1673_RAM_YRES			250
+
+/* time constants in ms */
+#define SSD1673_RESET_DELAY			1
+#define SSD1673_BUSY_DELAY			1
+
+/** Size of each RAM in octets */
+#define SSD1673_RAM_SIZE	(SSD1673_RAM_XRES * SSD1673_RAM_YRES / 8)
+
+#endif /* __SSD1673_REGS_H__ */