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

[GitHub] michal-narajowski closed pull request #1505: hw/drivers: Add display driver SSD1673

michal-narajowski closed pull request #1505: hw/drivers: Add display driver SSD1673
URL: https://github.com/apache/mynewt-core/pull/1505
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/hw/bsp/reel_board/src/hal_bsp.c b/hw/bsp/reel_board/src/hal_bsp.c
index 8d790d05e3..da2462333a 100644
--- a/hw/bsp/reel_board/src/hal_bsp.c
+++ b/hw/bsp/reel_board/src/hal_bsp.c
@@ -24,6 +24,7 @@
 #include "nrfx.h"
 #include "flash_map/flash_map.h"
 #include "hal/hal_bsp.h"
+#include "hal/hal_gpio.h"
 #include "hal/hal_flash.h"
 #include "hal/hal_system.h"
 #include "mcu/nrf52_hal.h"
@@ -80,9 +81,16 @@ hal_bsp_get_nvic_priority(int irq_num, uint32_t pri)
 void
 hal_bsp_init(void)
 {
+    int rc;
+
     /* Make sure system clocks have started */
     hal_system_clock_start();
 
     /* Create all available nRF52840 peripherals */
     nrf52_periph_create();
+
+    if (MYNEWT_VAL(REEL_BOARD_ENABLE_ACTIVE_MODE)) {
+        rc = hal_gpio_init_out(32, 1);
+        assert(rc == 0);
+    }
 }
diff --git a/hw/bsp/reel_board/syscfg.yml b/hw/bsp/reel_board/syscfg.yml
index 587c177ede..8156395074 100644
--- a/hw/bsp/reel_board/syscfg.yml
+++ b/hw/bsp/reel_board/syscfg.yml
@@ -20,6 +20,9 @@ syscfg.defs:
     BSP_NRF52840:
         description: 'Set to indicate that BSP has nRF52840'
         value: 1
+    REEL_BOARD_ENABLE_ACTIVE_MODE:
+        description: 'Enable supply voltages for nRF52840 and peripherals'
+        value: 0
 
 syscfg.vals:
     MCU_NRF52840: 1
@@ -36,6 +39,11 @@ syscfg.vals:
     SPI_0_MASTER_PIN_SCK: 19
     SPI_0_MASTER_PIN_MOSI: 20
     SPI_0_MASTER_PIN_MISO: 21
+    SSD1673_BUSY_PIN: 14
+    SSD1673_RESET_PIN: 15
+    SSD1673_DC_PIN: 16
+    SSD1673_CS_PIN: 17
+    SSD1673_SPI_DEV: 0
 
 syscfg.vals.BLE_LP_CLOCK:
     TIMER_0: 0
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 0000000000..214adb0942
--- /dev/null
+++ b/hw/drivers/display/cfb/include/display/cfb.h
@@ -0,0 +1,163 @@
+/*
+ * 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 "os/mynewt.h"
+#include "display/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		= (1UL << 0),
+	CFB_FONT_MONO_HPACKED		= (1UL << 1),
+};
+
+struct cfb_font {
+	const void *data;
+	uint8_t width;
+	uint8_t height;
+	enum cfb_font_caps caps;
+	uint8_t first_char;
+	uint8_t last_char;
+};
+
+#define CFB_FONTS_COUNT 3
+
+/**
+ * @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)      \
+	{								       \
+		.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 os_dev *dev, char *str, uint16_t x, uint16_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 os_dev *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 os_dev *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 os_dev *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 os_dev *dev, uint8_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 os_dev *dev, uint8_t idx,
+		      uint8_t *width, uint8_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 os_dev *dev);
+
+#ifdef __cplusplus
+}
+#endif
+
+/**
+ * @}
+ */
+
+#endif /* __CFB_H__ */
diff --git a/hw/drivers/display/cfb/pkg.yml b/hw/drivers/display/cfb/pkg.yml
new file mode 100644
index 0000000000..843cc4235e
--- /dev/null
+++ b/hw/drivers/display/cfb/pkg.yml
@@ -0,0 +1,29 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+pkg.name: hw/drivers/display/cfb
+pkg.description: Driver for the character frame buffer
+pkg.author: "Apache Mynewt dev@mynewt.apache.org"
+pkg.homepage: "http://mynewt.apache.org/"
+pkg.keywords:
+    - display
+    - cfb
+
+pkg.deps:
+    - "@apache-mynewt-core/hw/drivers/display"
+    - "@apache-mynewt-core/sys/log/modlog"
diff --git a/hw/drivers/display/cfb/src/cfb.c b/hw/drivers/display/cfb/src/cfb.c
new file mode 100644
index 0000000000..e9a3c63394
--- /dev/null
+++ b/hw/drivers/display/cfb/src/cfb.c
@@ -0,0 +1,319 @@
+/*
+ * Copyright (c) 2018 PHYTEC Messtechnik GmbH
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+#include "os/mynewt.h"
+#include "modlog/modlog.h"
+#include "display/cfb.h"
+
+extern const struct cfb_font font_array[CFB_FONTS_COUNT];
+
+struct char_framebuffer {
+	/** Pointer to a buffer in RAM */
+	uint8_t *buf;
+
+	/** Size of the framebuffer */
+	uint32_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 */
+	uint8_t x_res;
+
+	/** Resolution of a framebuffer in pixels in Y direction */
+	uint8_t y_res;
+
+	/** Number of pixels per tile, typically 8 */
+	uint8_t ppt;
+
+	/** Number of available fonts */
+	uint8_t numof_fonts;
+
+	/** Current font index */
+	uint8_t font_idx;
+
+	/** Font kerning */
+	int8_t kerning;
+
+	/** Inverted */
+	bool inverted;
+};
+
+static struct char_framebuffer char_fb;
+
+static inline uint8_t *get_glyph_ptr(const struct cfb_font *fptr, char c)
+{
+	if (fptr->caps & CFB_FONT_MONO_VPACKED) {
+		return (uint8_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 uint8_t draw_char_vtmono(const struct char_framebuffer *fb,
+			     char c, uint16_t x, uint16_t y)
+{
+	const struct cfb_font *fptr = &(fb->fonts[fb->font_idx]);
+	uint8_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++) {
+		uint32_t y_segment = y / 8;
+
+		for (size_t g_y = 0; g_y < fptr->height / 8; g_y++) {
+			uint32_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 os_dev *dev, char *str, uint16_t x, uint16_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) {
+		MODLOG_DFLT(ERROR, "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;
+	}
+
+	MODLOG_DFLT(ERROR, "Unsupported framebuffer configuration");
+	return -1;
+}
+
+static int cfb_reverse_bytes(const struct char_framebuffer *fb)
+{
+	if (!(fb->screen_info & SCREEN_INFO_MONO_VTILED)) {
+		MODLOG_DFLT(ERROR, "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 os_dev *dev, bool clear_display)
+{
+	const struct display_driver_api *api = dev->od_init_arg;
+	const struct char_framebuffer *fb = &char_fb;
+	struct display_buffer_descriptor desc;
+	int rc;
+
+	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)) {
+		rc = api->set_contrast(dev, 1);
+		if (rc) {
+			return rc;
+		}
+
+		rc = api->write(dev, 0, 0, &desc, fb->buf);
+		if (rc) {
+			return rc;
+		}
+
+		rc = api->set_contrast(dev, 0);
+		if (rc) {
+			return rc;
+		}
+	}
+
+	return 0;
+}
+
+int cfb_framebuffer_finalize(struct os_dev *dev)
+{
+	const struct display_driver_api *api = dev->od_init_arg;
+	const struct char_framebuffer *fb = &char_fb;
+	struct display_buffer_descriptor desc;
+	int rc;
+
+	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);
+	}
+
+	rc = api->write(dev, 0, 0, &desc, fb->buf);
+	return rc;
+}
+
+int cfb_get_display_parameter(struct os_dev *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 os_dev *dev, uint8_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 os_dev *dev, uint8_t idx,
+		      uint8_t *width, uint8_t *height)
+{
+	const struct char_framebuffer *fb = &char_fb;
+
+	if (idx >= fb->numof_fonts) {
+		return -1;
+	}
+
+	if (width) {
+		*width = font_array[idx].width;
+	}
+
+	if (height) {
+		*height = font_array[idx].height;
+	}
+
+	return 0;
+}
+
+int cfb_framebuffer_init(struct os_dev *dev)
+{
+	const struct display_driver_api *api = dev->od_init_arg;
+	struct char_framebuffer *fb = &char_fb;
+	struct display_capabilities cfg;
+
+	api->get_capabilities(dev, &cfg);
+
+
+	fb->numof_fonts = (sizeof(font_array) / sizeof((font_array)[0]));
+	MODLOG_DFLT(DEBUG, "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_array;
+	fb->font_idx = 0;
+
+	fb->size = fb->x_res * fb->y_res / fb->ppt;
+	fb->buf = 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 0000000000..8138b80e12
--- /dev/null
+++ b/hw/drivers/display/cfb/src/cfb_fonts.c
@@ -0,0 +1,5181 @@
+/*
+ * 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 "display/cfb.h"
+
+#define CFB_FONTS_FIRST_CHAR	32
+#define CFB_FONTS_LAST_CHAR	127
+
+const uint8_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 uint8_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 uint8_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,
+	},
+};
+
+const struct cfb_font font_array[CFB_FONTS_COUNT] = {
+	FONT_ENTRY_DEFINE(font2032,
+			  20,
+			  32,
+			  CFB_FONT_MONO_VPACKED,
+			  cfb_font_2032,
+			  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(font1016,
+			  10,
+			  16,
+			  CFB_FONT_MONO_VPACKED,
+			  cfb_font_1016,
+			  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 0000000000..435b7e1bf1
--- /dev/null
+++ b/hw/drivers/display/include/display/display.h
@@ -0,0 +1,411 @@
+/*
+ * 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 "os/mynewt.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+enum display_pixel_format {
+	PIXEL_FORMAT_RGB_888		= (1UL << 0),
+	PIXEL_FORMAT_MONO01		= (1UL << 1), /* 0=Black 1=White */
+	PIXEL_FORMAT_MONO10		= (1UL << 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		= (1UL << 0),
+	/**
+	 * If selected, the MSB represents the first pixel,
+	 * otherwise MSB represents the last pixel.
+	 */
+	SCREEN_INFO_MONO_MSB_FIRST	= (1UL << 1),
+	/**
+	 * Electrophoretic Display.
+	 */
+	SCREEN_INFO_EPD			= (1UL << 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 {
+	uint16_t x_resolution;
+	uint16_t y_resolution;
+	uint32_t supported_pixel_formats;
+	uint32_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 {
+	uint32_t buf_size;
+	uint16_t width;
+	uint16_t height;
+	uint16_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 os_dev *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 os_dev *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 os_dev *dev, const uint16_t x,
+				 const uint16_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 os_dev *dev, const uint16_t x,
+				const uint16_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 os_dev *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 os_dev *dev,
+					  const uint8_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 os_dev *dev,
+					const uint8_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 os_dev *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 os_dev *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 os_dev *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 os_dev *dev, const uint16_t x,
+				const uint16_t y,
+				const struct display_buffer_descriptor *desc,
+				const void *buf)
+{
+	struct display_driver_api *api =
+		(struct display_driver_api *)dev->od_init_arg;
+
+	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 os_dev *dev, const uint16_t x,
+			       const uint16_t y,
+			       const struct display_buffer_descriptor *desc,
+			       void *buf)
+{
+	struct display_driver_api *api =
+		(struct display_driver_api *)dev->od_init_arg;
+
+	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 os_dev *dev)
+{
+	struct display_driver_api *api =
+		(struct display_driver_api *)dev->od_init_arg;
+
+	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 os_dev *dev)
+{
+	struct display_driver_api *api =
+		(struct display_driver_api *)dev->od_init_arg;
+
+	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 os_dev *dev)
+{
+	struct display_driver_api *api =
+		(struct display_driver_api *)dev->od_init_arg;
+
+	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 os_dev *dev,
+					 uint8_t brightness)
+{
+	struct display_driver_api *api =
+		(struct display_driver_api *)dev->od_init_arg;
+
+	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 os_dev *dev,
+				       uint8_t contrast)
+{
+	struct display_driver_api *api =
+		(struct display_driver_api *)dev->od_init_arg;
+
+	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 os_dev *dev,
+					    struct display_capabilities *
+					    capabilities)
+{
+	struct display_driver_api *api =
+		(struct display_driver_api *)dev->od_init_arg;
+
+	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 os_dev *dev,
+			 const enum display_pixel_format pixel_format)
+{
+	struct display_driver_api *api =
+		(struct display_driver_api *)dev->od_init_arg;
+
+	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 os_dev *dev,
+					  const enum display_orientation
+					  orientation)
+{
+	struct display_driver_api *api =
+		(struct display_driver_api *)dev->od_init_arg;
+
+	return api->set_orientation(dev, orientation);
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+/**
+ * @}
+ */
+
+#endif /* ZEPHYR_INCLUDE_DISPLAY_H_*/
diff --git a/hw/drivers/display/pkg.yml b/hw/drivers/display/pkg.yml
new file mode 100644
index 0000000000..7524fd1595
--- /dev/null
+++ b/hw/drivers/display/pkg.yml
@@ -0,0 +1,23 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+pkg.name: hw/drivers/display
+pkg.description: Display Drivers
+pkg.author: "Apache Mynewt <de...@mynewt.apache.org>"
+pkg.homepage: "http://mynewt.apache.org/"
+pkg.keywords:
diff --git a/hw/drivers/display/ssd1673/pkg.yml b/hw/drivers/display/ssd1673/pkg.yml
new file mode 100644
index 0000000000..3d2095254f
--- /dev/null
+++ b/hw/drivers/display/ssd1673/pkg.yml
@@ -0,0 +1,31 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+pkg.name: hw/drivers/display/ssd1673
+pkg.description: SSD1673 Display Drivers
+pkg.author: "Apache Mynewt <de...@mynewt.apache.org>"
+pkg.homepage: "http://mynewt.apache.org/"
+pkg.keywords:
+
+pkg.deps:
+    - "@apache-mynewt-core/kernel/os"
+    - "@apache-mynewt-core/hw/hal"
+    - "@apache-mynewt-core/sys/log/modlog"
+
+pkg.init:
+    ssd1673_pkg_init: 601
diff --git a/hw/drivers/display/ssd1673/src/ssd1673.c b/hw/drivers/display/ssd1673/src/ssd1673.c
new file mode 100644
index 0000000000..710174b171
--- /dev/null
+++ b/hw/drivers/display/ssd1673/src/ssd1673.c
@@ -0,0 +1,514 @@
+/*
+ * Copyright (c) 2018 PHYTEC Messtechnik GmbH
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+#include <stdint.h>
+
+#include "os/mynewt.h"
+#include "hal/hal_gpio.h"
+#include "hal/hal_spi.h"
+#include "modlog/modlog.h"
+
+#include "display/display.h"
+#include "display/cfb.h"
+
+#include "ssd1673_regs.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 display_driver_api driver_api;
+	struct hal_spi_settings spi_config;
+	uint8_t contrast;
+	uint8_t scan_mode;
+	uint8_t last_lut;
+	uint8_t numof_part_cycles;
+};
+
+static struct ssd1673_data ssd1673_driver;
+static struct os_dev ssd1673;
+
+#define SSD1673_LAST_LUT_INITIAL		0
+#define SSD1673_LAST_LUT_DEFAULT		255
+#define SSD1673_LUT_SIZE			29
+
+static uint8_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 uint8_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
+};
+
+#define SSD1673_BUSY_DELAY_TICKS os_time_ms_to_ticks32(SSD1673_BUSY_DELAY)
+#define SSD1673_RESET_DELAY_TICKS os_time_ms_to_ticks32(SSD1673_RESET_DELAY)
+
+#define CONFIG_SSD1673_OS_DEV_NAME	MYNEWT_VAL(SSD1673_OS_DEV_NAME)
+#define CONFIG_SSD1673_BUSY_PIN		MYNEWT_VAL(SSD1673_BUSY_PIN)
+#define CONFIG_SSD1673_RESET_PIN	MYNEWT_VAL(SSD1673_RESET_PIN)
+#define CONFIG_SSD1673_DC_PIN		MYNEWT_VAL(SSD1673_DC_PIN)
+#define CONFIG_SSD1673_CS_PIN		MYNEWT_VAL(SSD1673_CS_PIN)
+#define CONFIG_SSD1673_SPI_FREQ		MYNEWT_VAL(SSD1673_SPI_FREQ)
+#define CONFIG_SSD1673_SPI_DEV		MYNEWT_VAL(SSD1673_SPI_DEV)
+
+static inline int ssd1673_write_cmd(struct ssd1673_data *driver,
+				    uint8_t cmd, uint8_t *data, size_t len)
+{
+	hal_gpio_write(CONFIG_SSD1673_DC_PIN, 0);
+	hal_gpio_write(CONFIG_SSD1673_CS_PIN, 0);
+
+	if (hal_spi_txrx(CONFIG_SSD1673_SPI_DEV,
+			 &cmd, NULL, sizeof(cmd))) {
+		hal_gpio_write(CONFIG_SSD1673_CS_PIN, 1);
+		return -1;
+	}
+
+	if (data != NULL) {
+		hal_gpio_write(CONFIG_SSD1673_DC_PIN, 1);
+		if (hal_spi_txrx(CONFIG_SSD1673_SPI_DEV,
+				 data, NULL, len)) {
+			hal_gpio_write(CONFIG_SSD1673_CS_PIN, 1);
+			return -1;
+		}
+	}
+
+	hal_gpio_write(CONFIG_SSD1673_CS_PIN, 1);
+	return 0;
+}
+
+static inline void ssd1673_busy_wait(struct ssd1673_data *driver)
+{
+	int val = 0;
+
+	val = hal_gpio_read(CONFIG_SSD1673_BUSY_PIN);
+	while (val) {
+		os_cputime_delay_ticks(SSD1673_BUSY_DELAY_TICKS);
+		val = hal_gpio_read(CONFIG_SSD1673_BUSY_PIN);
+	};
+}
+
+static inline int ssd1673_set_ram_param(struct ssd1673_data *driver,
+					uint8_t sx, uint8_t ex,
+					uint8_t sy, uint8_t ey)
+{
+	uint8_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,
+				       uint8_t x, uint8_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 os_dev *dev)
+{
+	struct ssd1673_data *driver = dev->od_init_arg;
+	uint8_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 os_dev *dev)
+{
+	struct ssd1673_data *driver = dev->od_init_arg;
+	uint8_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 os_dev *dev, bool initial)
+{
+	struct ssd1673_data *driver = dev->od_init_arg;
+	uint8_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 os_dev *dev, const uint16_t x,
+			 const uint16_t y,
+			 const struct display_buffer_descriptor *desc,
+			 const void *buf)
+{
+	struct ssd1673_data *driver = dev->od_init_arg;
+	uint8_t cmd = SSD1673_CMD_WRITE_RAM;
+	uint8_t dummy_page[SSD1673_RAM_YRES];
+	bool update = true;
+
+	if (desc->pitch < desc->width) {
+		MODLOG_DFLT(ERROR, "Pitch is smaller then width");
+		return -1;
+	}
+
+	if (buf == NULL || desc->buf_size == 0) {
+		MODLOG_DFLT(ERROR, "Display buffer is not available");
+		return -1;
+	}
+
+	if (desc->pitch > desc->width) {
+		MODLOG_DFLT(ERROR, "Unsupported mode");
+		return -1;
+	}
+
+	if (x != 0 && y != 0) {
+		MODLOG_DFLT(ERROR, "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;
+	}
+
+	hal_gpio_write(CONFIG_SSD1673_DC_PIN, 0);
+	hal_gpio_write(CONFIG_SSD1673_CS_PIN, 0);
+
+	if (hal_spi_txrx(CONFIG_SSD1673_SPI_DEV, &cmd, NULL, sizeof(cmd))) {
+		hal_gpio_write(CONFIG_SSD1673_CS_PIN, 1);
+		return -1;
+	}
+
+	hal_gpio_write(CONFIG_SSD1673_DC_PIN, 1);
+	/* clear unusable page */
+	if (driver->scan_mode == SSD1673_DATA_ENTRY_XDYIY) {
+		if (hal_spi_txrx(CONFIG_SSD1673_SPI_DEV, dummy_page,
+				 NULL, sizeof(dummy_page))) {
+			hal_gpio_write(CONFIG_SSD1673_CS_PIN, 1);
+			return -1;
+		}
+	}
+
+	if (hal_spi_txrx(CONFIG_SSD1673_SPI_DEV, (uint8_t *)buf,
+			 NULL, desc->buf_size)) {
+		hal_gpio_write(CONFIG_SSD1673_CS_PIN, 1);
+		return -1;
+	}
+
+	/* clear unusable page */
+	if (driver->scan_mode == SSD1673_DATA_ENTRY_XIYDY) {
+		if (hal_spi_txrx(CONFIG_SSD1673_SPI_DEV, dummy_page,
+				 NULL, sizeof(dummy_page))) {
+			hal_gpio_write(CONFIG_SSD1673_CS_PIN, 1);
+			return -1;
+		}
+	}
+
+	hal_gpio_write(CONFIG_SSD1673_CS_PIN, 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 os_dev *dev, const uint16_t x,
+			const uint16_t y,
+			const struct display_buffer_descriptor *desc,
+			void *buf)
+{
+	MODLOG_DFLT(ERROR, "not supported");
+	return -1;
+}
+
+static void *ssd1673_get_framebuffer(const struct os_dev *dev)
+{
+	MODLOG_DFLT(ERROR, "not supported");
+	return NULL;
+}
+
+static int ssd1673_set_brightness(const struct os_dev *dev,
+				  const uint8_t brightness)
+{
+	MODLOG_DFLT(WARN, "not supported");
+	return -1;
+}
+
+static int ssd1673_set_contrast(const struct os_dev *dev, uint8_t contrast)
+{
+	struct ssd1673_data *driver = dev->od_init_arg;
+
+	driver->contrast = contrast;
+
+	return 0;
+}
+
+static void ssd1673_get_capabilities(const struct os_dev *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 os_dev *dev,
+				    const enum display_pixel_format pf)
+{
+	MODLOG_DFLT(ERROR, "not supported");
+	return -1;
+}
+
+static int ssd1673_controller_init(struct os_dev *dev)
+{
+	struct ssd1673_data *driver = dev->od_init_arg;
+	uint8_t tmp[3];
+
+	MODLOG_DFLT(DEBUG, "");
+
+	hal_gpio_write(CONFIG_SSD1673_RESET_PIN, 0);
+	os_time_delay(SSD1673_RESET_DELAY_TICKS);
+	hal_gpio_write(CONFIG_SSD1673_RESET_PIN, 1);
+	os_time_delay(SSD1673_RESET_DELAY_TICKS);
+	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 os_dev *dev, void *arg)
+{
+	struct ssd1673_data *driver = dev->od_init_arg;
+	int rc;
+
+	MODLOG_DFLT(DEBUG, "");
+
+	driver->spi_config.baudrate = CONFIG_SSD1673_SPI_FREQ;
+	driver->spi_config.data_mode = HAL_SPI_MODE0;
+	driver->spi_config.data_order = HAL_SPI_MSB_FIRST;
+	driver->spi_config.word_size = HAL_SPI_WORD_SIZE_8BIT;
+	rc = hal_spi_config(0, &driver->spi_config);
+	assert(rc == 0);
+
+	driver->driver_api.blanking_on = ssd1673_resume,
+	driver->driver_api.blanking_off = ssd1673_suspend,
+	driver->driver_api.write = ssd1673_write,
+	driver->driver_api.read = ssd1673_read,
+	driver->driver_api.get_framebuffer = ssd1673_get_framebuffer,
+	driver->driver_api.set_brightness = ssd1673_set_brightness,
+	driver->driver_api.set_contrast = ssd1673_set_contrast,
+	driver->driver_api.get_capabilities = ssd1673_get_capabilities,
+	driver->driver_api.set_pixel_format = ssd1673_set_pixel_format,
+	driver->driver_api.set_orientation = NULL,
+
+	rc = hal_gpio_init_out(CONFIG_SSD1673_RESET_PIN, 1);
+	assert(rc == 0);
+	rc = hal_gpio_init_out(CONFIG_SSD1673_DC_PIN, 1);
+	assert(rc == 0);
+	rc = hal_gpio_init_out(CONFIG_SSD1673_CS_PIN, 1);
+	assert(rc == 0);
+	rc = hal_gpio_init_in(CONFIG_SSD1673_BUSY_PIN, HAL_GPIO_PULL_NONE);
+	assert(rc == 0);
+
+	ssd1673_controller_init(dev);
+
+	return 0;
+}
+
+int ssd1673_pkg_init(void)
+{
+	int rc;
+
+	/* Ensure this function only gets called by sysinit. */
+	SYSINIT_ASSERT_ACTIVE();
+
+	rc = os_dev_create(&ssd1673, CONFIG_SSD1673_OS_DEV_NAME,
+			   OS_DEV_INIT_SECONDARY, OS_DEV_INIT_PRIO_DEFAULT,
+			   ssd1673_init, &ssd1673_driver);
+	SYSINIT_PANIC_ASSERT(rc == 0);
+
+	return 0;
+}
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 0000000000..f23ca8d9d4
--- /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__ */
diff --git a/hw/drivers/display/ssd1673/syscfg.yml b/hw/drivers/display/ssd1673/syscfg.yml
new file mode 100644
index 0000000000..0649f698ed
--- /dev/null
+++ b/hw/drivers/display/ssd1673/syscfg.yml
@@ -0,0 +1,57 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+syscfg.defs:
+    SSD1673_OS_DEV_NAME:
+        description: 'os_dev device name for SSD1673'
+        value: '"ssd1673"'
+
+    SSD1673_BUSY_PIN:
+        description: 'BUSY pin for SSD1673'
+        value:
+        restrictions:
+        - $notnull
+
+    SSD1673_RESET_PIN:
+        description: 'RESET pin for SSD1673'
+        value:
+        restrictions:
+        - $notnull
+
+    SSD1673_DC_PIN:
+        description: 'DC pin for SSD1673'
+        value:
+        restrictions:
+        - $notnull
+
+    SSD1673_CS_PIN:
+        description: 'CS pin for SSD1673'
+        value:
+        restrictions:
+        - $notnull
+
+    SSD1673_SPI_DEV:
+        description: 'SPI device for SSD1673'
+        value:
+        restrictions:
+        - $notnull
+
+    SSD1673_SPI_FREQ:
+        description: 'SPI frequency for SSD1673 in kHz; Max frequency is 5MHz'
+        value: 4000
+


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services