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