From 16138d54b7ffed626ce9fd8ba8d988e3ade779fb Mon Sep 17 00:00:00 2001 From: Eduardo Date: Sun, 10 Dec 2023 14:39:45 +0100 Subject: [PATCH] first commit --- .micropico | 3 + .vscode/Pico-W-Stub | 1 + .vscode/extensions.json | 8 + .vscode/settings.json | 18 + ili9341/LICENSE | 21 + ili9341/README.md | 8 + ili9341/demo_bouncing_boxes.py | 122 +++ ili9341/demo_circuitpython.py | 153 ++++ ili9341/demo_clear.py | 76 ++ ili9341/demo_color_palette.py | 74 ++ ili9341/demo_color_wheel.py | 93 ++ ili9341/demo_colored_squares.py | 68 ++ ili9341/demo_fonts.py | 114 +++ ili9341/demo_fonts8x8.py | 56 ++ ili9341/demo_fonts_rotated.py | 205 +++++ ili9341/demo_images.py | 40 + ili9341/demo_orientation.py | 64 ++ ili9341/demo_scrolling_marquee.py | 63 ++ ili9341/demo_shapes.py | 90 ++ ili9341/demo_sprite.py | 128 +++ ili9341/demo_touch.py | 77 ++ ili9341/fonts/ArcadePix9x11.c | 111 +++ ili9341/fonts/Bally5x8.c | 111 +++ ili9341/fonts/Bally7x9.c | 111 +++ ili9341/fonts/Broadway17x15.c | 105 +++ ili9341/fonts/Dejavu24x43.c | 108 +++ ili9341/fonts/EspressoDolce18x24.c | 110 +++ ili9341/fonts/FixedFont5x8.c | 100 ++ ili9341/fonts/IBMPlexMono12x24.c | 230 +++++ ili9341/fonts/Neato5x7.c | 228 +++++ ili9341/fonts/NeatoReduced5x7.c | 101 +++ ili9341/fonts/Robotron13x21.c | 72 ++ ili9341/fonts/Robotron7x11.c | 105 +++ ili9341/fonts/UbuntuMono12x24.c | 238 +++++ ili9341/fonts/Unispace12x24.c | 106 +++ ili9341/fonts/UnispaceExt12x24.c | 238 +++++ ili9341/fonts/Wendy7x8.c | 111 +++ ili9341/ili9341.py | 1056 ++++++++++++++++++++++ ili9341/images/MicroPython128x128.raw | Bin 0 -> 32768 bytes ili9341/images/Python41x49.raw | Bin 0 -> 4018 bytes ili9341/images/RaspberryPiWB128x128.raw | Bin 0 -> 32768 bytes ili9341/images/Rototron128x26.raw | Bin 0 -> 6656 bytes ili9341/images/Tabby128x128.raw | 138 +++ ili9341/images/Tortie128x128.raw | Bin 0 -> 32768 bytes ili9341/images/blinka45x48.raw | Bin 0 -> 4320 bytes ili9341/images/kb0.raw | Bin 0 -> 122880 bytes ili9341/images/kb1.raw | Bin 0 -> 122880 bytes ili9341/images/kb2.raw | Bin 0 -> 122880 bytes ili9341/images/kb3.raw | Bin 0 -> 122880 bytes ili9341/images/kb_sprite_320x768.raw | Bin 0 -> 491520 bytes ili9341/images/keyboard_blank.png | Bin 0 -> 15402 bytes ili9341/images/kururin_anim/kururin1.raw | Bin 0 -> 114720 bytes ili9341/images/kururin_anim/kururin2.raw | Bin 0 -> 114720 bytes ili9341/images/kururin_anim/kururin3.raw | Bin 0 -> 114720 bytes ili9341/images/kururin_anim/kururin4.raw | Bin 0 -> 114720 bytes ili9341/images/kururin_anim/kururin5.raw | Bin 0 -> 114720 bytes ili9341/images/kururin_anim/kururin6.raw | Bin 0 -> 114720 bytes ili9341/pwn_search.py | 109 +++ ili9341/touch_keyboard.py | 130 +++ ili9341/urequests2.py | 189 ++++ ili9341/utils/fontedit2glcd.py | 136 +++ ili9341/utils/img2rgb565.py | 39 + ili9341/xglcd_font.py | 170 ++++ ili9341/xpt2046.py | 135 +++ images/kururin1-2.raw | Bin 0 -> 96800 bytes libs/ili9341.py | 1056 ++++++++++++++++++++++ libs/neopixel.py | 351 +++++++ libs/sdcard.py | 306 +++++++ main.py | 90 ++ utils.py | 5 + 70 files changed, 7577 insertions(+) create mode 100644 .micropico create mode 120000 .vscode/Pico-W-Stub create mode 100644 .vscode/extensions.json create mode 100644 .vscode/settings.json create mode 100644 ili9341/LICENSE create mode 100644 ili9341/README.md create mode 100644 ili9341/demo_bouncing_boxes.py create mode 100644 ili9341/demo_circuitpython.py create mode 100644 ili9341/demo_clear.py create mode 100644 ili9341/demo_color_palette.py create mode 100644 ili9341/demo_color_wheel.py create mode 100644 ili9341/demo_colored_squares.py create mode 100644 ili9341/demo_fonts.py create mode 100644 ili9341/demo_fonts8x8.py create mode 100644 ili9341/demo_fonts_rotated.py create mode 100644 ili9341/demo_images.py create mode 100644 ili9341/demo_orientation.py create mode 100644 ili9341/demo_scrolling_marquee.py create mode 100644 ili9341/demo_shapes.py create mode 100644 ili9341/demo_sprite.py create mode 100644 ili9341/demo_touch.py create mode 100644 ili9341/fonts/ArcadePix9x11.c create mode 100644 ili9341/fonts/Bally5x8.c create mode 100644 ili9341/fonts/Bally7x9.c create mode 100644 ili9341/fonts/Broadway17x15.c create mode 100644 ili9341/fonts/Dejavu24x43.c create mode 100644 ili9341/fonts/EspressoDolce18x24.c create mode 100644 ili9341/fonts/FixedFont5x8.c create mode 100644 ili9341/fonts/IBMPlexMono12x24.c create mode 100644 ili9341/fonts/Neato5x7.c create mode 100644 ili9341/fonts/NeatoReduced5x7.c create mode 100644 ili9341/fonts/Robotron13x21.c create mode 100644 ili9341/fonts/Robotron7x11.c create mode 100644 ili9341/fonts/UbuntuMono12x24.c create mode 100644 ili9341/fonts/Unispace12x24.c create mode 100644 ili9341/fonts/UnispaceExt12x24.c create mode 100644 ili9341/fonts/Wendy7x8.c create mode 100644 ili9341/ili9341.py create mode 100644 ili9341/images/MicroPython128x128.raw create mode 100644 ili9341/images/Python41x49.raw create mode 100644 ili9341/images/RaspberryPiWB128x128.raw create mode 100644 ili9341/images/Rototron128x26.raw create mode 100644 ili9341/images/Tabby128x128.raw create mode 100644 ili9341/images/Tortie128x128.raw create mode 100644 ili9341/images/blinka45x48.raw create mode 100644 ili9341/images/kb0.raw create mode 100644 ili9341/images/kb1.raw create mode 100644 ili9341/images/kb2.raw create mode 100644 ili9341/images/kb3.raw create mode 100644 ili9341/images/kb_sprite_320x768.raw create mode 100644 ili9341/images/keyboard_blank.png create mode 100644 ili9341/images/kururin_anim/kururin1.raw create mode 100644 ili9341/images/kururin_anim/kururin2.raw create mode 100644 ili9341/images/kururin_anim/kururin3.raw create mode 100644 ili9341/images/kururin_anim/kururin4.raw create mode 100644 ili9341/images/kururin_anim/kururin5.raw create mode 100644 ili9341/images/kururin_anim/kururin6.raw create mode 100644 ili9341/pwn_search.py create mode 100644 ili9341/touch_keyboard.py create mode 100644 ili9341/urequests2.py create mode 100644 ili9341/utils/fontedit2glcd.py create mode 100644 ili9341/utils/img2rgb565.py create mode 100644 ili9341/xglcd_font.py create mode 100644 ili9341/xpt2046.py create mode 100644 images/kururin1-2.raw create mode 100644 libs/ili9341.py create mode 100644 libs/neopixel.py create mode 100644 libs/sdcard.py create mode 100644 main.py create mode 100644 utils.py diff --git a/.micropico b/.micropico new file mode 100644 index 0000000..3de3977 --- /dev/null +++ b/.micropico @@ -0,0 +1,3 @@ +{ + "info": "This file is just used to identify a project folder." +} \ No newline at end of file diff --git a/.vscode/Pico-W-Stub b/.vscode/Pico-W-Stub new file mode 120000 index 0000000..3f10654 --- /dev/null +++ b/.vscode/Pico-W-Stub @@ -0,0 +1 @@ +/home/eduardo/.config/Code/User/Pico-W-Stub \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..fbc7999 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,8 @@ +{ + "recommendations": [ + "ms-python.python", + "visualstudioexptteam.vscodeintellicode", + "ms-python.vscode-pylance", + "paulober.pico-w-go" + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..74b5e94 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,18 @@ +{ + "python.linting.enabled": true, + "python.languageServer": "Pylance", + "python.analysis.typeCheckingMode": "basic", + "python.analysis.diagnosticSeverityOverrides": { + "reportMissingModuleSource": "none" + }, + "micropico.syncFolder": "", + "micropico.openOnStart": true, + "python.analysis.typeshedPaths": [ + ".vscode/Pico-W-Stub" + ], + "python.analysis.extraPaths": [ + ".vscode/Pico-W-Stub" + ], + "python.analysis.autoImportCompletions": true, + "cmake.configureOnOpen": false +} \ No newline at end of file diff --git a/ili9341/LICENSE b/ili9341/LICENSE new file mode 100644 index 0000000..81f990d --- /dev/null +++ b/ili9341/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/ili9341/README.md b/ili9341/README.md new file mode 100644 index 0000000..528b895 --- /dev/null +++ b/ili9341/README.md @@ -0,0 +1,8 @@ +# micropython-ili9341 +MicroPython ILI9341 Display and XPT2046 Touch Screen Drivers + +Full write up on my website [Rototron](https://www.rototron.info/projects/esp32-pwned-password-checker/) or click picture below for a YouTube video: + +[![ILI9341 Tutorial](https://img.youtube.com/vi/NJuOkSSfgUQ/sddefault.jpg)](https://youtu.be/NJuOkSSfgUQ ) + +_Tested on ESP32 (Wemos Lolin32 & Loline32 Pro)_ diff --git a/ili9341/demo_bouncing_boxes.py b/ili9341/demo_bouncing_boxes.py new file mode 100644 index 0000000..3301703 --- /dev/null +++ b/ili9341/demo_bouncing_boxes.py @@ -0,0 +1,122 @@ +"""ILI9341 demo (bouncing boxes).""" +from machine import Pin, SPI +from random import random, seed, randrange +from ili9341.ili9341 import Display, color565 +from utime import sleep_us, ticks_cpu, ticks_us, ticks_diff + +TFT_CLK_PIN = const(18) +TFT_MOSI_PIN = const(19) +TFT_MISO_PIN = const(16) + +TFT_LED_PIN = const(28) +TFT_CS_PIN = const(20) +TFT_RST_PIN = const(21) +TFT_DC_PIN = const(22) + +class Box(object): + """Bouncing box.""" + + def __init__(self, screen_width, screen_height, size, display, color): + """Initialize box. + + Args: + screen_width (int): Width of screen. + screen_height (int): Width of height. + size (int): Square side length. + display (ILI9341): display object. + color (int): RGB565 color value. + """ + self.size = size + self.w = screen_width + self.h = screen_height + self.display = display + self.color = color + # Generate non-zero random speeds between -5.0 and 5.0 + seed(ticks_cpu()) + r = random() * 10.0 + self.x_speed = 5.0 - r if r < 5.0 else r - 10.0 + r = random() * 10.0 + self.y_speed = 5.0 - r if r < 5.0 else r - 10.0 + + self.x = self.w / 2.0 + self.y = self.h / 2.0 + self.prev_x = self.x + self.prev_y = self.y + + def update_pos(self): + """Update box position and speed.""" + x = self.x + y = self.y + size = self.size + w = self.w + h = self.h + x_speed = abs(self.x_speed) + y_speed = abs(self.y_speed) + self.prev_x = x + self.prev_y = y + + if x + size >= w - x_speed: + self.x_speed = -x_speed + elif x - size <= x_speed + 1: + self.x_speed = x_speed + + if y + size >= h - y_speed: + self.y_speed = -y_speed + elif y - size <= y_speed + 1: + self.y_speed = y_speed + + self.x = x + self.x_speed + self.y = y + self.y_speed + + def draw(self): + """Draw box.""" + x = int(self.x) + y = int(self.y) + size = self.size + prev_x = int(self.prev_x) + prev_y = int(self.prev_y) + self.display.fill_hrect(prev_x - size, + prev_y - size, + size, size, 0) + self.display.fill_hrect(x - size, + y - size, + size, size, self.color) + + +def test(): + """Bouncing box.""" + try: + Pin(TFT_LED_PIN, Pin.OUT).on() + # Baud rate of 40 000 000 seems about the max + spi = SPI( + 0, + baudrate=2_099_999_999, + miso=Pin(TFT_MISO_PIN), + mosi=Pin(TFT_MOSI_PIN), + sck=Pin(TFT_CLK_PIN)) + display = Display(spi, dc=Pin(TFT_DC_PIN), cs=Pin(TFT_CS_PIN), rst=Pin(TFT_RST_PIN)) + + display.clear() + + boxes = [Box(245, + 325, + randrange(5, 25), + display, + color565(randrange(0, 255), randrange(0, 255), randrange(0, 255)) + ) for i in range(30)] + + while True: + timer = ticks_us() + for b in boxes: + b.update_pos() + b.draw() + # Attempt to set framerate to 30 FPS + timer_dif = 300 - ticks_diff(ticks_us(), timer) + if timer_dif > 0: + sleep_us(timer_dif) + + except KeyboardInterrupt: + display.cleanup() + + +test() diff --git a/ili9341/demo_circuitpython.py b/ili9341/demo_circuitpython.py new file mode 100644 index 0000000..a68feb5 --- /dev/null +++ b/ili9341/demo_circuitpython.py @@ -0,0 +1,153 @@ +"""ILI9341 demo (CircuitPython Text, Shape & Sprite).""" +import board +from busio import SPI +from digitalio import DigitalInOut +from ili9341 import Display, color565 +from xglcd_font import XglcdFont +from time import monotonic, sleep +from sys import exit, implementation + + +TFT_CLK_PIN = const(18) +TFT_MOSI_PIN = const(19) +TFT_MISO_PIN = const(16) + +TFT_LED_PIN = const(28) +TFT_CS_PIN = const(20) +TFT_RST_PIN = const(21) +TFT_DC_PIN = const(22) + +class BouncingSprite(object): + """Bouncing Sprite.""" + + def __init__(self, path, w, h, screen_width, screen_height, + speed, display): + """Initialize sprite. + + Args: + path (string): Path of sprite image. + w, h (int): Width and height of image. + screen_width (int): Width of screen. + screen_height (int): Width of height. + size (int): Square side length. + speed(int): Initial XY-Speed of sprite. + display (ILI9341): display object. + color (int): RGB565 color value. + """ + self.buf = display.load_sprite(path, w, h) + self.w = w + self.h = h + self.screen_width = screen_width + self.screen_height = screen_height + self.display = display + self.x_speed = speed + self.y_speed = speed + self.x = self.screen_width // 2 + self.y = self.screen_height // 2 + self.prev_x = self.x + self.prev_y = self.y + + def update_pos(self): + """Update sprite speed and position.""" + x = self.x + y = self.y + w = self.w + h = self.h + x_speed = abs(self.x_speed) + y_speed = abs(self.y_speed) + + if x + w + x_speed >= self.screen_width: + self.x_speed = -x_speed + elif x - x_speed < 0: + self.x_speed = x_speed + + if y + h + y_speed >= self.screen_height: + self.y_speed = -y_speed + elif y - y_speed <= 20: + self.y_speed = y_speed + + self.prev_x = x + self.prev_y = y + + self.x = x + self.x_speed + self.y = y + self.y_speed + + def draw(self): + """Draw sprite.""" + x = self.x + y = self.y + prev_x = self.prev_x + prev_y = self.prev_y + w = self.w + h = self.h + x_speed = abs(self.x_speed) + y_speed = abs(self.y_speed) + + # Determine direction and remove previous portion of sprite + if prev_x > x: + # Left + self.display.fill_vrect(x + w, prev_y, x_speed, h, 0) + elif prev_x < x: + # Right + self.display.fill_vrect(x - x_speed, prev_y, x_speed, h, 0) + if prev_y > y: + # Upward + self.display.fill_vrect(prev_x, y + h, w, y_speed, 0) + elif prev_y < y: + # Downward + self.display.fill_vrect(prev_x, y - y_speed, w, y_speed, 0) + + self.display.draw_sprite(self.buf, x, y, w, h) + + +def test(): + """CircuitPython Text, Shape & Sprite""" + if implementation.name != 'circuitpython': + print() + print('This demo is for CircuitPython only!') + exit() + try: + # Configuratoin for CS and DC pins: + cs_pin = DigitalInOut(board.P0_15) + dc_pin = DigitalInOut(board.P0_17) + rst_pin = DigitalInOut(board.P0_20) + + # Setup SPI bus using hardware SPI: + spi = SPI(clock=board.P0_24, MOSI=board.P0_22) + + # Create the ILI9341 display: + display = Display(spi, dc=dc_pin, cs=cs_pin, rst=rst_pin) + display.clear() + + # Load Fixed Font + fixed = XglcdFont('fonts/FixedFont5x8.c', 5, 8, letter_count=96) + + # Title + WIDTH = 128 + text = 'CircuitPython Demo' + # Measure text and center + length = fixed.measure_text(text) + x = int((WIDTH / 2) - (length / 2)) + display.draw_text(x, 6, text, fixed, color565(255, 255, 0)) + + # Draw title outline + display.draw_rectangle(0, 0, 127, 20, color565(0, 255, 0)) + + # Load sprite + logo = BouncingSprite('images/blinka45x48.raw', + 45, 48, 239, 319, 1, display) + + while True: + timer = monotonic() + logo.update_pos() + logo.draw() + # Attempt to set framerate to 30 FPS + timer_dif = .033333333 - (monotonic() - timer) + if timer_dif > 0: + sleep(timer_dif) + + except KeyboardInterrupt: + display.cleanup() + + +test() diff --git a/ili9341/demo_clear.py b/ili9341/demo_clear.py new file mode 100644 index 0000000..a3eb8b0 --- /dev/null +++ b/ili9341/demo_clear.py @@ -0,0 +1,76 @@ +"""ILI9341 demo (clear).""" +from time import sleep, ticks_ms +from ili9341.ili9341 import Display, color565 +from machine import Pin, SPI +import gc + +TFT_CLK_PIN = const(18) +TFT_MOSI_PIN = const(19) +TFT_MISO_PIN = const(16) + +TFT_LED_PIN = const(28) +TFT_CS_PIN = const(20) +TFT_RST_PIN = const(21) +TFT_DC_PIN = const(22) + +valid_hlines = [1, 2, 4, 5, 8, 10, 16, 20, 32, 40, 64, 80, 160] + +colors = { + "RED": (255, 0, 0), + "GREEN": (0, 255, 0), + "BLUE": (0, 0, 255), + "YELLOW": (255, 255, 0), + "AQUA": (0, 255, 255), + "MAROON": (128, 0, 0), + "DARKGREEN": (0, 128, 0), + "NAVY": (0, 0, 128), + "TEAL": (0, 128, 128), + "PURPLE": (128, 0, 128), + "ORANGE": (255, 128, 0), + "DEEP_PINK": (255, 0, 128), + "CYAN": (128, 255, 255), +} + +def test(): + """Test code.""" + # Baud rate of 40000000 seems about the max + spi = SPI( + 0, + baudrate=125_000_000, + miso=Pin(TFT_MISO_PIN), + mosi=Pin(TFT_MOSI_PIN), + sck=Pin(TFT_CLK_PIN)) + display = Display(spi, dc=Pin(TFT_DC_PIN), cs=Pin(TFT_CS_PIN), rst=Pin(TFT_RST_PIN)) + + + print('Clearing to black...') + start = ticks_ms() + display.clear() + end = ticks_ms() + print(f'Display cleared in {end - start} ms.') + sleep(2) + + print('Clearing to white...') + start = ticks_ms() + display.clear(color565(255, 255, 255)) + end = ticks_ms() + print(f'Display cleared in {end - start} ms.') + sleep(2) + + for hlines, (color, rgb) in zip(valid_hlines, colors.items()): + gc.collect() + print(f'Clearing display to {color}, hlines={hlines}...') + try: + start = ticks_ms() + display.clear(hlines=hlines, color=color565(*rgb)) + end = ticks_ms() + print(f'Display cleared in {end - start} ms.') + except Exception as e: + print(e) + sleep(1) + + sleep(5) + display.cleanup() + + +test() diff --git a/ili9341/demo_color_palette.py b/ili9341/demo_color_palette.py new file mode 100644 index 0000000..313e85e --- /dev/null +++ b/ili9341/demo_color_palette.py @@ -0,0 +1,74 @@ +"""ILI9341 demo (color palette).""" +from time import sleep +from ili9341.ili9341 import Display, color565 +from machine import Pin, SPI + + +TFT_CLK_PIN = const(18) +TFT_MOSI_PIN = const(19) +TFT_MISO_PIN = const(16) + +TFT_LED_PIN = const(28) +TFT_CS_PIN = const(20) +TFT_RST_PIN = const(21) +TFT_DC_PIN = const(22) + +def hsv_to_rgb(h, s, v): + """ + Convert HSV to RGB (based on colorsys.py). + + Args: + h (float): Hue 0 to 1. + s (float): Saturation 0 to 1. + v (float): Value 0 to 1 (Brightness). + """ + if s == 0.0: + return v, v, v + i = int(h * 6.0) + f = (h * 6.0) - i + p = v * (1.0 - s) + q = v * (1.0 - s * f) + t = v * (1.0 - s * (1.0 - f)) + i = i % 6 + + v = int(v * 255) + t = int(t * 255) + p = int(p * 255) + q = int(q * 255) + + if i == 0: + return v, t, p + if i == 1: + return q, v, p + if i == 2: + return p, v, t + if i == 3: + return p, q, v + if i == 4: + return t, p, v + if i == 5: + return v, p, q + + +def test(): + """Test code.""" + # Baud rate of 40000000 seems about the max + spi = SPI( + 0, + baudrate=2_099_999_999, + miso=Pin(TFT_MISO_PIN), + mosi=Pin(TFT_MOSI_PIN), + sck=Pin(TFT_CLK_PIN)) + display = Display(spi, dc=Pin(TFT_DC_PIN), cs=Pin(TFT_CS_PIN), rst=Pin(TFT_RST_PIN)) + + + c = 0 + while True: + for x in range(0, 240, 20): + for y in range(0, 320, 20): + color = color565(*hsv_to_rgb(c / 192, 1, 1)) + display.fill_circle(x + 9, y + 9, 9, color) + c += 1 + display.clear() + +test() diff --git a/ili9341/demo_color_wheel.py b/ili9341/demo_color_wheel.py new file mode 100644 index 0000000..9175931 --- /dev/null +++ b/ili9341/demo_color_wheel.py @@ -0,0 +1,93 @@ +"""ILI9341 demo (color wheel).""" +from time import sleep +from ili9341.ili9341 import Display, color565 +from machine import Pin, SPI +from math import cos, pi, sin + +TFT_CLK_PIN = const(18) +TFT_MOSI_PIN = const(19) +TFT_MISO_PIN = const(16) + +TFT_LED_PIN = const(28) +TFT_CS_PIN = const(20) +TFT_RST_PIN = const(21) +TFT_DC_PIN = const(22) + +HALF_WIDTH = const(120) +HALF_HEIGHT = const(160) +CENTER_X = const(119) +CENTER_Y = const(159) +ANGLE_STEP_SIZE = 0.05 # Decrease step size for higher resolution +PI2 = pi * 2 + + +def hsv_to_rgb(h, s, v): + """ + Convert HSV to RGB (based on colorsys.py). + + Args: + h (float): Hue 0 to 1. + s (float): Saturation 0 to 1. + v (float): Value 0 to 1 (Brightness). + """ + if s == 0.0: + return v, v, v + i = int(h * 6.0) + f = (h * 6.0) - i + p = v * (1.0 - s) + q = v * (1.0 - s * f) + t = v * (1.0 - s * (1.0 - f)) + i = i % 6 + + v = int(v * 255) + t = int(t * 255) + p = int(p * 255) + q = int(q * 255) + + if i == 0: + return v, t, p + if i == 1: + return q, v, p + if i == 2: + return p, v, t + if i == 3: + return p, q, v + if i == 4: + return t, p, v + if i == 5: + return v, p, q + + +def test(): + """Test code.""" + # Baud rate of 40000000 seems about the max + spi = SPI( + 0, + baudrate=2_099_999_999, + miso=Pin(TFT_MISO_PIN), + mosi=Pin(TFT_MOSI_PIN), + sck=Pin(TFT_CLK_PIN)) + display = Display(spi, dc=Pin(TFT_DC_PIN), cs=Pin(TFT_CS_PIN), rst=Pin(TFT_RST_PIN)) + + x, y = 0, 0 + angle = 0.0 + # Loop all angles from 0 to 2 * PI radians + while angle < PI2: + # Calculate x, y from a vector with known length and angle + x = int(CENTER_X * sin(angle) + HALF_WIDTH) + y = int(CENTER_Y * cos(angle) + HALF_HEIGHT) + color = color565(*hsv_to_rgb(angle / PI2, 1, 1)) + display.draw_line(x, y, CENTER_X, CENTER_Y, color) + angle += ANGLE_STEP_SIZE + + sleep(5) + + for r in range(CENTER_X, 0, -1): + color = color565(*hsv_to_rgb(r / HALF_WIDTH, 1, 1)) + display.fill_circle(CENTER_X, CENTER_Y, r, color) + + sleep(9) + display.cleanup() + + +test() diff --git a/ili9341/demo_colored_squares.py b/ili9341/demo_colored_squares.py new file mode 100644 index 0000000..27374c7 --- /dev/null +++ b/ili9341/demo_colored_squares.py @@ -0,0 +1,68 @@ +"""ILI9341 demo (colored squares).""" +from time import sleep +from ili9341 import Display +from machine import Pin, SPI +from sys import modules + +TFT_CLK_PIN = const(18) +TFT_MOSI_PIN = const(19) +TFT_MISO_PIN = const(16) + +TFT_LED_PIN = const(28) +TFT_CS_PIN = const(20) +TFT_RST_PIN = const(21) +TFT_DC_PIN = const(22) + +RED = const(0XF800) # (255, 0, 0) +GREEN = const(0X07E0) # (0, 255, 0) +BLUE = const(0X001F) # (0, 0, 255) +YELLOW = const(0XFFE0) # (255, 255, 0) +FUCHSIA = const(0XF81F) # (255, 0, 255) +AQUA = const(0X07FF) # (0, 255, 255) +MAROON = const(0X8000) # (128, 0, 0) +DARKGREEN = const(0X0400) # (0, 128, 0) +NAVY = const(0X0010) # (0, 0, 128) +TEAL = const(0X0410) # (0, 128, 128) +PURPLE = const(0X8010) # (128, 0, 128) +OLIVE = const(0X8400) # (128, 128, 0) +ORANGE = const(0XFC00) # (255, 128, 0) +DEEP_PINK = const(0XF810) # (255, 0, 128) +CHARTREUSE = const(0X87E0) # (128, 255, 0) +SPRING_GREEN = const(0X07F0) # (0, 255, 128) +INDIGO = const(0X801F) # (128, 0, 255) +DODGER_BLUE = const(0X041F) # (0, 128, 255) +CYAN = const(0X87FF) # (128, 255, 255) +PINK = const(0XFC1F) # (255, 128, 255) +LIGHT_YELLOW = const(0XFFF0) # (255, 255, 128) +LIGHT_CORAL = const(0XFC10) # (255, 128, 128) +LIGHT_GREEN = const(0X87F0) # (128, 255, 128) +LIGHT_SLATE_BLUE = const(0X841F) # (128, 128, 255) +WHITE = const(0XFFF) # (255, 255, 255) + + +def test(): + """Test code.""" + # Baud rate of 40000000 seems about the max + spi = SPI( + 0, + baudrate=125_000_000, + miso=Pin(TFT_MISO_PIN), + mosi=Pin(TFT_MOSI_PIN), + sck=Pin(TFT_CLK_PIN)) + display = Display(spi, dc=Pin(TFT_DC_PIN), cs=Pin(TFT_CS_PIN), rst=Pin(TFT_RST_PIN)) + + # Build color list from all upper case constants (lazy approach) + colors = [getattr(modules[__name__], name) for name in dir( + modules[__name__]) if name.isupper() and name is not 'SPI'] + + colors.sort() + c = 0 + for x in range(0, 240, 48): + for y in range(0, 320, 64): + display.fill_rectangle(x, y, 47, 63, colors[c]) + c += 1 + sleep(9) + display.cleanup() + + +test() diff --git a/ili9341/demo_fonts.py b/ili9341/demo_fonts.py new file mode 100644 index 0000000..20cc89e --- /dev/null +++ b/ili9341/demo_fonts.py @@ -0,0 +1,114 @@ +"""ILI9341 demo (fonts).""" +from time import sleep +from ili9341 import Display, color565 +from machine import Pin, SPI +from xglcd_font import XglcdFont + +TFT_CLK_PIN = const(18) +TFT_MOSI_PIN = const(19) +TFT_MISO_PIN = const(16) + +TFT_LED_PIN = const(28) +TFT_CS_PIN = const(20) +TFT_RST_PIN = const(21) +TFT_DC_PIN = const(22) + +def test(): + """Test code.""" + # Baud rate of 40000000 seems about the max + spi = SPI( + 0, + baudrate=125_000_000, + miso=Pin(TFT_MISO_PIN), + mosi=Pin(TFT_MOSI_PIN), + sck=Pin(TFT_CLK_PIN)) + display = Display(spi, dc=Pin(TFT_DC_PIN), cs=Pin(TFT_CS_PIN), rst=Pin(TFT_RST_PIN)) + + print('Loading fonts...') + print('Loading arcadepix') + arcadepix = XglcdFont('fonts/ArcadePix9x11.c', 9, 11) + print('Loading bally') + bally = XglcdFont('fonts/Bally7x9.c', 7, 9) + print('Loading broadway') + broadway = XglcdFont('fonts/Broadway17x15.c', 17, 15) + print('Loading espresso_dolce') + espresso_dolce = XglcdFont('fonts/EspressoDolce18x24.c', 18, 24) + print('Loading fixed_font') + fixed_font = XglcdFont('fonts/FixedFont5x8.c', 5, 8) + print('Loading neato') + neato = XglcdFont('fonts/Neato5x7.c', 5, 7, letter_count=223) + print('Loading robotron') + robotron = XglcdFont('fonts/Robotron13x21.c', 13, 21) + print('Loading unispace') + unispace = XglcdFont('fonts/Unispace12x24.c', 12, 24) + print('Loading wendy') + wendy = XglcdFont('fonts/Wendy7x8.c', 7, 8) + print('Fonts loaded.') + + display.draw_text(0, 0, 'Arcade Pix 9x11', arcadepix, color565(255, 0, 0)) + display.draw_text(0, 22, 'Bally 7x9', bally, color565(0, 255, 0)) + display.draw_text(0, 43, 'Broadway 17x15', broadway, color565(0, 0, 255)) + display.draw_text(0, 66, 'Espresso Dolce 18x24', espresso_dolce, + color565(0, 255, 255)) + display.draw_text(0, 104, 'Fixed Font 5x8', fixed_font, + color565(255, 0, 255)) + display.draw_text(0, 125, 'Neato 5x7', neato, color565(255, 255, 0)) + display.draw_text(0, 155, 'ROBOTRON 13X21', robotron, + color565(255, 255, 255)) + display.draw_text(0, 190, 'Unispace 12x24', unispace, + color565(255, 128, 0)) + display.draw_text(0, 220, 'Wendy 7x8', wendy, color565(255, 0, 128)) + + sleep(9) + display.clear() + + display.draw_text(0, 255, 'Arcade Pix 9x11', arcadepix, + color565(255, 0, 0), + landscape=True) + display.draw_text(22, 255, 'Bally 7x9', bally, color565(0, 255, 0), + landscape=True) + display.draw_text(43, 255, 'Broadway 17x15', broadway, color565(0, 0, 255), + landscape=True) + display.draw_text(66, 255, 'Espresso Dolce 18x24', espresso_dolce, + color565(0, 255, 255), landscape=True) + display.draw_text(104, 255, 'Fixed Font 5x8', fixed_font, + color565(255, 0, 255), landscape=True) + display.draw_text(125, 255, 'Neato 5x7', neato, color565(255, 255, 0), + landscape=True) + display.draw_text(155, 255, 'ROBOTRON 13X21', robotron, + color565(255, 255, 255), + landscape=True) + display.draw_text(190, 255, 'Unispace 12x24', unispace, + color565(255, 128, 0), + landscape=True) + display.draw_text(220, 255, 'Wendy 7x8', wendy, color565(255, 0, 128), + landscape=True) + + sleep(9) + display.clear() + + display.draw_text(0, 0, 'Arcade Pix 9x11', arcadepix, color565(255, 0, 0), + background=color565(0, 255, 255)) + display.draw_text(0, 22, 'Bally 7x9', bally, color565(0, 255, 0), + background=color565(0, 0, 128)) + display.draw_text(0, 43, 'Broadway', broadway, color565(0, 0, 255), + background=color565(255, 255, 0)) + display.draw_text(0, 66, 'Espresso', espresso_dolce, + color565(0, 255, 255), background=color565(255, 0, 0)) + display.draw_text(0, 104, 'Fixed Font 5x8', fixed_font, + color565(255, 0, 255), background=color565(0, 128, 0)) + display.draw_text(0, 125, 'Neato 5x7', neato, color565(255, 255, 0), + background=color565(0, 0, 255)) + display.draw_text(0, 155, 'ROBOTRON 13X21', robotron, + color565(255, 255, 255), + background=color565(128, 128, 128)) + display.draw_text(0, 190, 'Unispace', unispace, color565(255, 128, 0), + background=color565(0, 128, 255)) + display.draw_text(0, 220, 'Wendy 7x8', wendy, color565(255, 0, 128), + background=color565(255, 255, 255)) + + sleep(9) + display.cleanup() + + +test() diff --git a/ili9341/demo_fonts8x8.py b/ili9341/demo_fonts8x8.py new file mode 100644 index 0000000..a71d571 --- /dev/null +++ b/ili9341/demo_fonts8x8.py @@ -0,0 +1,56 @@ +"""ILI9341 demo (fonts 8x8).""" +from time import sleep +from ili9341 import Display, color565 +from machine import Pin, SPI # type: ignore + +TFT_CLK_PIN = const(18) +TFT_MOSI_PIN = const(19) +TFT_MISO_PIN = const(16) + +TFT_LED_PIN = const(28) +TFT_CS_PIN = const(20) +TFT_RST_PIN = const(21) +TFT_DC_PIN = const(22) + +def test(): + """Test code.""" + spi = SPI( + 0, + baudrate=125_000_000, + miso=Pin(TFT_MISO_PIN), + mosi=Pin(TFT_MOSI_PIN), + sck=Pin(TFT_CLK_PIN)) + display = Display(spi, dc=Pin(TFT_DC_PIN), cs=Pin(TFT_CS_PIN), rst=Pin(TFT_RST_PIN)) + + x_center = display.width // 2 + y_center = display.height // 2 + + display.draw_text8x8(0, 0, 'Built-in', color565(255, 0, 255)) + display.draw_text8x8(16, 16, 'MicroPython', color565(255, 255, 0)) + display.draw_text8x8(32, 32, '8x8 Font', color565(0, 0, 255)) + + display.draw_text8x8(x_center - 40, 120, "Rotate = 0", + color565(0, 255, 0)) + display.draw_text8x8(0, y_center - 44, "Rotate = 90", + color565(255, 0, 0), rotate=90) + display.draw_text8x8(x_center - 48, display.height - 9, "Rotate = 180", + color565(0, 255, 255), rotate=180) + display.draw_text8x8(display.width - 9, y_center - 48, "Rotate = 270", + color565(255, 255, 255), rotate=270) + + display.draw_text8x8(x_center - 40, 140, "Rotate = 0", + color565(0, 255, 0), background=color565(255, 0, 0)) + display.draw_text8x8(20, y_center - 44, "Rotate = 90", color565(255, 0, 0), + rotate=90, background=color565(0, 255, 0)) + display.draw_text8x8(x_center - 48, display.height - 29, "Rotate = 180", + color565(0, 255, 255), rotate=180, + background=color565(0, 0, 255)) + display.draw_text8x8(display.width - 29, y_center - 48, "Rotate = 270", + color565(255, 255, 255), rotate=270, + background=color565(255, 0, 255)) + + sleep(15) + display.cleanup() + + +test() diff --git a/ili9341/demo_fonts_rotated.py b/ili9341/demo_fonts_rotated.py new file mode 100644 index 0000000..da10dd0 --- /dev/null +++ b/ili9341/demo_fonts_rotated.py @@ -0,0 +1,205 @@ +"""ILI9341 demo (fonts rotated).""" +from time import sleep +from ili9341.ili9341 import Display, color565 +from machine import Pin, SPI +from ili9341.xglcd_font import XglcdFont + +TFT_CLK_PIN = const(18) +TFT_MOSI_PIN = const(19) +TFT_MISO_PIN = const(16) + +TFT_LED_PIN = const(28) +TFT_CS_PIN = const(20) +TFT_RST_PIN = const(21) +TFT_DC_PIN = const(22) + +def test(): + """Test code.""" + # Baud rate of 40000000 seems about the max + spi = SPI( + 0, + baudrate=125_000_000, + miso=Pin(TFT_MISO_PIN), + mosi=Pin(TFT_MOSI_PIN), + sck=Pin(TFT_CLK_PIN)) + display = Display(spi, dc=Pin(TFT_DC_PIN), cs=Pin(TFT_CS_PIN), rst=Pin(TFT_RST_PIN)) + + print('Loading fonts...') + print('Loading arcadepix') + arcadepix = XglcdFont('ili9341/fonts/ArcadePix9x11.c', 9, 11) + print('loading espressodolce') + espressodolce = XglcdFont('ili9341/fonts/EspressoDolce18x24.c', 18, 24) + print('Loading neato') + neato = XglcdFont('ili9341/fonts/Neato5x7.c', 5, 7, letter_count=223) + print('Loading robotron') + robotron = XglcdFont('ili9341/fonts/Robotron13x21.c', 13, 21) + print('Loading unispace') + unispace = XglcdFont('ili9341/fonts/Unispace12x24.c', 12, 24) + + # ArcadePix + font_height = arcadepix.height + display.draw_text(0, 0, + 'Portrait', arcadepix, + color565(255, 255, 0), + landscape=False, rotate_180=False) + text_width = arcadepix.measure_text('Landscape') + display.draw_text(0, display.height - 1, + 'Landscape', arcadepix, + color565(255, 0, 0), + landscape=True, rotate_180=False) + text_width = arcadepix.measure_text('Portrait, Rotate 180') + display.draw_text(display.width - text_width - 1, + display.height - font_height, + 'Portrait, Rotate 180', arcadepix, + color565(255, 0, 255), + landscape=False, rotate_180=True) + text_width = arcadepix.measure_text('Landscape, Rotate 180') + display.draw_text(display.width - font_height - 1 , text_width, + 'Landscape, Rotate 180', arcadepix, + color565(0, 0, 255), + landscape=True, rotate_180=True) + sleep(5) + + # Espresso Dolce + display.clear() + font_height = espressodolce.height + display.draw_text(0, 0, + 'PORTRAIT', espressodolce, + color565(255, 255, 0), + landscape=False, rotate_180=False) + text_width = espressodolce.measure_text('LANDSCAPE') + display.draw_text(0, display.height - 1, + 'LANDSCAPE', espressodolce, + color565(255, 0, 0), + landscape=True, rotate_180=False) + text_width = espressodolce.measure_text('PORTRAIT,') + display.draw_text(display.width - text_width - 1, + display.height - font_height, + 'PORTRAIT,', espressodolce, + color565(255, 0, 255), + landscape=False, rotate_180=True) + text_width = espressodolce.measure_text('ROTATE 180') + display.draw_text(display.width - text_width - 1, + display.height - font_height * 2, + 'ROTATE 180', espressodolce, + color565(255, 0, 255), + landscape=False, rotate_180=True) + text_width = espressodolce.measure_text('LANDSCAPE,') + display.draw_text(display.width - font_height - 1 , text_width, + 'LANDSCAPE,', espressodolce, + color565(0, 0, 255), + landscape=True, rotate_180=True) + text_width = espressodolce.measure_text('ROTATE 180') + display.draw_text(display.width - font_height * 2 - 1 , text_width, + 'ROTATE 180', espressodolce, + color565(0, 0, 255), + landscape=True, rotate_180=True) + sleep(5) + + # Neato + display.clear() + font_height = neato.height + display.draw_text(0, 0, + 'Portrait', neato, + color565(255, 255, 0), + landscape=False, rotate_180=False) + text_width = neato.measure_text('Landscape') + display.draw_text(0, display.height - 1, + 'Landscape', neato, + color565(255, 0, 0), + landscape=True, rotate_180=False) + text_width = neato.measure_text('Portrait, Rotate 180') + display.draw_text(display.width - text_width - 1, + display.height - font_height, + 'Portrait, Rotate 180', neato, + color565(255, 0, 255), + landscape=False, rotate_180=True) + text_width = neato.measure_text('Landscape, Rotate 180') + display.draw_text(display.width - font_height - 1 , text_width, + 'Landscape, Rotate 180', neato, + color565(0, 0, 255), + landscape=True, rotate_180=True) + sleep(5) + + # Robotron + display.clear() + font_height = robotron.height + display.draw_text(0, 0, + 'PORTRAIT', robotron, + color565(255, 255, 0), + landscape=False, rotate_180=False) + text_width = robotron.measure_text('LANDSCAPE') + display.draw_text(0, display.height - 1, + 'LANDSCAPE', robotron, + color565(255, 0, 0), + landscape=True, rotate_180=False) + text_width = robotron.measure_text('PORTRAIT,') + display.draw_text(display.width - text_width - 1, + display.height - font_height, + 'PORTRAIT,', robotron, + color565(255, 0, 255), + landscape=False, rotate_180=True) + text_width = robotron.measure_text('ROTATE 180') + display.draw_text(display.width - text_width - 1, + display.height - font_height * 2, + 'ROTATE 180', robotron, + color565(255, 0, 255), + landscape=False, rotate_180=True) + text_width = robotron.measure_text('LANDSCAPE,') + display.draw_text(display.width - font_height - 1 , text_width, + 'LANDSCAPE,', robotron, + color565(0, 0, 255), + landscape=True, rotate_180=True) + text_width = robotron.measure_text('ROTATE 180') + display.draw_text(display.width - font_height * 2 - 1 , text_width, + 'ROTATE 180', robotron, + color565(0, 0, 255), + landscape=True, rotate_180=True) + sleep(5) + + # Unispace + display.clear() + font_height = unispace.height + display.draw_text(0, 0, + 'PORTRAIT', unispace, + color565(255, 255, 0), + background=color565(255, 0, 0), + landscape=False, rotate_180=False) + text_width = unispace.measure_text('LANDSCAPE') + display.draw_text(0, display.height - 1, + 'LANDSCAPE', unispace, + color565(255, 0, 0), + background=color565(255, 255, 0), + landscape=True, rotate_180=False) + text_width = unispace.measure_text('PORTRAIT,') + display.draw_text(display.width - text_width - 1, + display.height - font_height, + 'PORTRAIT,', unispace, + color565(255, 0, 255), + background=color565(0, 255, 0), + landscape=False, rotate_180=True) + text_width = unispace.measure_text('ROTATE 180') + display.draw_text(display.width - text_width - 1, + display.height - font_height * 2, + 'ROTATE 180', unispace, + color565(255, 0, 255), + background=color565(0, 255, 0), + landscape=False, rotate_180=True) + text_width = unispace.measure_text('LANDSCAPE,') + display.draw_text(display.width - font_height - 1 , text_width, + 'LANDSCAPE,', unispace, + color565(0, 0, 255), + background=color565(255, 255, 0), + landscape=True, rotate_180=True) + text_width = unispace.measure_text('ROTATE 180') + display.draw_text(display.width - font_height * 2 - 1 , text_width, + 'ROTATE 180', unispace, + color565(0, 0, 255), + background=color565(255, 255, 0), + landscape=True, rotate_180=True) + + sleep(10) + display.cleanup() + + +test() diff --git a/ili9341/demo_images.py b/ili9341/demo_images.py new file mode 100644 index 0000000..e3ab03c --- /dev/null +++ b/ili9341/demo_images.py @@ -0,0 +1,40 @@ +"""ILI9341 demo (images).""" +from time import sleep +from ili9341.ili9341 import Display +from machine import Pin, SPI + +TFT_CLK_PIN = const(18) +TFT_MOSI_PIN = const(19) +TFT_MISO_PIN = const(16) + +TFT_LED_PIN = const(28) +TFT_CS_PIN = const(20) +TFT_RST_PIN = const(21) +TFT_DC_PIN = const(22) + +def test(): + """Test code.""" + # Baud rate of 40000000 seems about the max + spi = SPI( + 0, + baudrate=125_000_000, + miso=Pin(TFT_MISO_PIN), + mosi=Pin(TFT_MOSI_PIN), + sck=Pin(TFT_CLK_PIN)) + display = Display(spi, dc=Pin(TFT_DC_PIN), cs=Pin(TFT_CS_PIN), rst=Pin(TFT_RST_PIN)) + display.clear() + + display.draw_image('ili9341/images/RaspberryPiWB128x128.raw', 0, 0, 128, 128) + + display.draw_image('ili9341/images/MicroPython128x128.raw', 0, 129, 128, 128) + + display.draw_image('ili9341/images/Tabby128x128.raw', 112, 0, 128, 128) + + display.draw_image('ili9341/images/Tortie128x128.raw', 112, 129, 128, 128) + + sleep(90) + + display.cleanup() + + +test() diff --git a/ili9341/demo_orientation.py b/ili9341/demo_orientation.py new file mode 100644 index 0000000..3e399f9 --- /dev/null +++ b/ili9341/demo_orientation.py @@ -0,0 +1,64 @@ +"""ILI9341 demo (orientation).""" +from time import sleep +from ili9341.ili9341 import Display, color565 +from machine import Pin, SPI +from ili9341.xglcd_font import XglcdFont + +TFT_CLK_PIN = const(18) +TFT_MOSI_PIN = const(19) +TFT_MISO_PIN = const(16) + +TFT_LED_PIN = const(28) +TFT_CS_PIN = const(20) +TFT_RST_PIN = const(21) +TFT_DC_PIN = const(22) + +def test(): + """Test code.""" + print('Loading Espresso Dolce font...') + espresso_dolce = XglcdFont('ili9341/fonts/EspressoDolce18x24.c', 18, 24) + print('Font loaded.') + # Baud rate of 40000000 seems about the max + spi = SPI( + 0, + baudrate=125_000_000, + miso=Pin(TFT_MISO_PIN), + mosi=Pin(TFT_MOSI_PIN), + sck=Pin(TFT_CLK_PIN)) + display = Display(spi, dc=Pin(TFT_DC_PIN), cs=Pin(TFT_CS_PIN), rst=Pin(TFT_RST_PIN), + width=240, height=320, rotation=0) + display.draw_text(0, 0, 'Espresso Dolce 18x24', espresso_dolce, + color565(0, 255, 255)) + display.draw_text(0, 319, 'Espresso Dolce 18x24', espresso_dolce, + color565(255, 255, 0), landscape=True) + sleep(5) + + display = Display(spi, dc=Pin(TFT_DC_PIN), cs=Pin(TFT_CS_PIN), rst=Pin(TFT_RST_PIN), + width=320, height=240, rotation=90) + display.draw_text(0, 215, 'Espresso Dolce 18x24', espresso_dolce, + color565(255, 0, 255)) + display.draw_text(295, 239, 'Espresso Dolce 18x24', espresso_dolce, + color565(255, 255, 255), landscape=True) + sleep(5) + + display = Display(spi, dc=Pin(TFT_DC_PIN), cs=Pin(TFT_CS_PIN), rst=Pin(TFT_RST_PIN), + width=240, height=320, rotation=180) + display.draw_text(0, 0, 'Espresso Dolce 18x24', espresso_dolce, + color565(0, 0, 255)) + display.draw_text(0, 319, 'Espresso Dolce 18x24', espresso_dolce, + color565(255, 0, 0), landscape=True) + sleep(5) + + display = Display(spi, dc=Pin(TFT_DC_PIN), cs=Pin(TFT_CS_PIN), rst=Pin(TFT_RST_PIN), + width=320, height=240, rotation=270) + display.draw_text(0, 215, 'Espresso Dolce 18x24', espresso_dolce, + color565(225, 0, 128)) + display.draw_text(295, 239, 'Espresso Dolce 18x24', espresso_dolce, + color565(0, 255, 0), landscape=True) + sleep(5) + display.cleanup() + +test() + + + diff --git a/ili9341/demo_scrolling_marquee.py b/ili9341/demo_scrolling_marquee.py new file mode 100644 index 0000000..fcec5d6 --- /dev/null +++ b/ili9341/demo_scrolling_marquee.py @@ -0,0 +1,63 @@ +"""ILI9341 demo (Scrolling Marquee).""" +from ili9341.ili9341 import Display, color565 +from time import sleep +from sys import implementation + +TFT_CLK_PIN = const(18) +TFT_MOSI_PIN = const(19) +TFT_MISO_PIN = const(16) + +TFT_LED_PIN = const(28) +TFT_CS_PIN = const(20) +TFT_RST_PIN = const(21) +TFT_DC_PIN = const(22) + +def test(): + """Scrolling Marquee.""" + try: + # Implementation dependant pin and SPI configuration + if implementation.name == 'circuitpython': + import board + from busio import SPI + from digitalio import DigitalInOut + cs_pin = DigitalInOut(board.P0_15) + dc_pin = DigitalInOut(board.P0_17) + rst_pin = DigitalInOut(board.P0_20) + spi = SPI(clock=board.P0_24, MOSI=board.P0_22) + else: + from machine import Pin, SPI + cs_pin = Pin(TFT_CS_PIN) + dc_pin = Pin(TFT_DC_PIN) + rst_pin = Pin(TFT_RST_PIN) + # Baud rate of 40000000 seems about the max + spi = SPI(0, + baudrate=125_000_000, + miso=Pin(TFT_MISO_PIN), + mosi=Pin(TFT_MOSI_PIN), + sck=Pin(TFT_CLK_PIN)) + + # Create the ILI9341 display: + display = Display(spi, dc=dc_pin, cs=cs_pin, rst=rst_pin) + display.clear() + + # Draw non-moving circles + display.fill_rectangle(0, 0, 239, 99, color565(27, 72, 156)) + display.fill_rectangle(0, 168, 239, 151, color565(220, 27, 72)) + + # Load Marquee image + display.draw_image('ili9341/images/Rototron128x26.raw', 56, 120, 128, 26) + + # Set up scrolling + display.set_scroll(top=152, bottom=100) + + spectrum = list(range(152, 221)) + list(reversed(range(152, 220))) + while True: + for y in spectrum: + display.scroll(y) + sleep(.1) + + except KeyboardInterrupt: + display.cleanup() + + +test() diff --git a/ili9341/demo_shapes.py b/ili9341/demo_shapes.py new file mode 100644 index 0000000..6e1de72 --- /dev/null +++ b/ili9341/demo_shapes.py @@ -0,0 +1,90 @@ +"""ILI9341 demo (shapes).""" +from time import sleep +from ili9341.ili9341 import Display, color565 +from machine import Pin, SPI + +TFT_CLK_PIN = const(18) +TFT_MOSI_PIN = const(19) +TFT_MISO_PIN = const(16) + +TFT_LED_PIN = const(28) +TFT_CS_PIN = const(20) +TFT_RST_PIN = const(21) +TFT_DC_PIN = const(22) + +def test(): + """Test code.""" + # Baud rate of 40000000 seems about the max + spi = SPI( + 0, + baudrate=125_000_000, + miso=Pin(TFT_MISO_PIN), + mosi=Pin(TFT_MOSI_PIN), + sck=Pin(TFT_CLK_PIN)) + display = Display(spi, dc=Pin(TFT_DC_PIN), cs=Pin(TFT_CS_PIN), rst=Pin(TFT_RST_PIN)) + + display.clear(color565(64, 0, 255)) + sleep(1) + + display.clear() + + display.draw_hline(10, 319, 229, color565(255, 0, 255)) + sleep(1) + + display.draw_vline(10, 0, 319, color565(0, 255, 255)) + sleep(1) + + display.fill_hrect(23, 50, 30, 75, color565(255, 255, 255)) + sleep(1) + + display.draw_hline(0, 0, 222, color565(255, 0, 0)) + sleep(1) + + display.draw_line(127, 0, 64, 127, color565(255, 255, 0)) + sleep(2) + + display.clear() + + coords = [[0, 63], [78, 80], [122, 92], [50, 50], [78, 15], [0, 63]] + display.draw_lines(coords, color565(0, 255, 255)) + sleep(1) + + display.clear() + display.fill_polygon(7, 120, 120, 100, color565(0, 255, 0)) + sleep(1) + + display.fill_rectangle(0, 0, 15, 227, color565(255, 0, 0)) + sleep(1) + + display.clear() + + display.fill_rectangle(0, 0, 163, 163, color565(128, 128, 255)) + sleep(1) + + display.draw_rectangle(0, 64, 163, 163, color565(255, 0, 255)) + sleep(1) + + display.fill_rectangle(64, 0, 163, 163, color565(128, 0, 255)) + sleep(1) + + display.draw_polygon(3, 120, 286, 30, color565(0, 64, 255), rotate=15) + sleep(3) + + display.clear() + + display.fill_circle(132, 132, 70, color565(0, 255, 0)) + sleep(1) + + display.draw_circle(132, 96, 70, color565(0, 0, 255)) + sleep(1) + + display.fill_ellipse(96, 96, 30, 16, color565(255, 0, 0)) + sleep(1) + + display.draw_ellipse(96, 256, 16, 30, color565(255, 255, 0)) + + sleep(5) + display.cleanup() + + +test() diff --git a/ili9341/demo_sprite.py b/ili9341/demo_sprite.py new file mode 100644 index 0000000..0d29893 --- /dev/null +++ b/ili9341/demo_sprite.py @@ -0,0 +1,128 @@ +"""ILI9341 demo (bouncing sprite).""" +from ili9341.ili9341 import Display +from machine import Pin, SPI +from utime import sleep_us, ticks_us, ticks_diff + +TFT_CLK_PIN = const(18) +TFT_MOSI_PIN = const(19) +TFT_MISO_PIN = const(16) + +TFT_LED_PIN = const(28) +TFT_CS_PIN = const(20) +TFT_RST_PIN = const(21) +TFT_DC_PIN = const(22) + +class BouncingSprite(object): + """Bouncing Sprite.""" + + def __init__(self, path, w, h, screen_width, screen_height, + speed, display): + """Initialize sprite. + + Args: + path (string): Path of sprite image. + w, h (int): Width and height of image. + screen_width (int): Width of screen. + screen_height (int): Width of height. + size (int): Square side length. + speed(int): Initial XY-Speed of sprite. + display (SSD1351): OLED display object. + color (int): RGB565 color value. + """ + self.buf = display.load_sprite(path, w, h) + self.w = w + self.h = h + self.screen_width = screen_width + self.screen_height = screen_height + self.display = display + self.x_speed = speed + self.y_speed = speed + self.x = self.screen_width // 2 + self.y = self.screen_height // 2 + self.prev_x = self.x + self.prev_y = self.y + + def update_pos(self): + """Update sprite speed and position.""" + x = self.x + y = self.y + w = self.w + h = self.h + x_speed = abs(self.x_speed) + y_speed = abs(self.y_speed) + + if x + w + x_speed >= self.screen_width: + self.x_speed = -x_speed + elif x - x_speed < 0: + self.x_speed = x_speed + + if y + h + y_speed >= self.screen_height: + self.y_speed = -y_speed + elif y - y_speed <= 0: + self.y_speed = y_speed + + self.prev_x = x + self.prev_y = y + + self.x = x + self.x_speed + self.y = y + self.y_speed + + def draw(self): + """Draw sprite.""" + x = self.x + y = self.y + prev_x = self.prev_x + prev_y = self.prev_y + w = self.w + h = self.h + x_speed = abs(self.x_speed) + y_speed = abs(self.y_speed) + + # Determine direction and remove previous portion of sprite + if prev_x > x: + # Left + self.display.fill_vrect(x + w, prev_y, x_speed, h, 0) + elif prev_x < x: + # Right + self.display.fill_vrect(x - x_speed, prev_y, x_speed, h, 0) + if prev_y > y: + # Upward + self.display.fill_vrect(prev_x, y + h, w, y_speed, 0) + elif prev_y < y: + # Downward + self.display.fill_vrect(prev_x, y - y_speed, w, y_speed, 0) + + self.display.draw_sprite(self.buf, x, y, w, h) + + +def test(): + """Bouncing sprite.""" + try: + # Baud rate of 40000000 seems about the max + spi = SPI( + 0, + baudrate=125_000_000, + miso=Pin(TFT_MISO_PIN), + mosi=Pin(TFT_MOSI_PIN), + sck=Pin(TFT_CLK_PIN)) + display = Display(spi, dc=Pin(TFT_DC_PIN), cs=Pin(TFT_CS_PIN), rst=Pin(TFT_RST_PIN)) + display.clear() + + # Load sprite + logo = BouncingSprite('ili9341/images/Python41x49.raw', + 41, 49, 240, 320, 1, display) + + while True: + timer = ticks_us() + logo.update_pos() + logo.draw() + # Attempt to set framerate to 30 FPS + timer_dif = 33333 - ticks_diff(ticks_us(), timer) + if timer_dif > 0: + sleep_us(timer_dif) + + except KeyboardInterrupt: + display.cleanup() + + +test() diff --git a/ili9341/demo_touch.py b/ili9341/demo_touch.py new file mode 100644 index 0000000..11b4250 --- /dev/null +++ b/ili9341/demo_touch.py @@ -0,0 +1,77 @@ +"""ILI9341 demo (simple touch demo).""" +from ili9341 import Display, color565 +from xpt2046 import Touch +from machine import idle, Pin, SPI # type: ignore + +TFT_CLK_PIN = const(18) +TFT_MOSI_PIN = const(19) +TFT_MISO_PIN = const(16) + +TFT_LED_PIN = const(28) +TFT_CS_PIN = const(20) +TFT_RST_PIN = const(21) +TFT_DC_PIN = const(22) + +class Demo(object): + """Touchscreen simple demo.""" + CYAN = color565(0, 255, 255) + PURPLE = color565(255, 0, 255) + WHITE = color565(255, 255, 255) + + def __init__(self, display, spi2): + """Initialize box. + + Args: + display (ILI9341): display object + spi2 (SPI): SPI bus + """ + self.display = display + self.touch = Touch(spi2, cs=Pin(5), int_pin=Pin(0), + int_handler=self.touchscreen_press) + # Display initial message + self.display.draw_text8x8(self.display.width // 2 - 32, + self.display.height - 9, + "TOUCH ME", + self.WHITE, + background=self.PURPLE) + + # A small 5x5 sprite for the dot + self.dot = bytearray(b'\x00\x00\x07\xE0\xF8\x00\x07\xE0\x00\x00\x07\xE0\xF8\x00\xF8\x00\xF8\x00\x07\xE0\xF8\x00\xF8\x00\xF8\x00\xF8\x00\xF8\x00\x07\xE0\xF8\x00\xF8\x00\xF8\x00\x07\xE0\x00\x00\x07\xE0\xF8\x00\x07\xE0\x00\x00') + + def touchscreen_press(self, x, y): + """Process touchscreen press events.""" + # Y needs to be flipped + y = (self.display.height - 1) - y + # Display coordinates + self.display.draw_text8x8(self.display.width // 2 - 32, + self.display.height - 9, + "{0:03d}, {1:03d}".format(x, y), + self.CYAN) + # Draw dot + self.display.draw_sprite(self.dot, x - 2, y - 2, 5, 5) + + +def test(): + """Test code.""" + spi = SPI( + 0, + baudrate=125_000_000, + miso=Pin(TFT_MISO_PIN), + mosi=Pin(TFT_MOSI_PIN), + sck=Pin(TFT_CLK_PIN)) + display = Display(spi, dc=Pin(TFT_DC_PIN), cs=Pin(TFT_CS_PIN), rst=Pin(TFT_RST_PIN)) + spi2 = SPI(1, baudrate=1000000, sck=Pin(18), mosi=Pin(23), miso=Pin(19)) + + Demo(display, spi2) + + try: + while True: + idle() + + except KeyboardInterrupt: + print("\nCtrl-C pressed. Cleaning up and exiting...") + finally: + display.cleanup() + + +test() diff --git a/ili9341/fonts/ArcadePix9x11.c b/ili9341/fonts/ArcadePix9x11.c new file mode 100644 index 0000000..737de4e --- /dev/null +++ b/ili9341/fonts/ArcadePix9x11.c @@ -0,0 +1,111 @@ + +//WARNING: This Font Require X-GLCD Lib. +// You can not use it with MikroE GLCD Lib. + +//Font Generated by MikroElektronika GLCD Font Creator 1.2.0.0 +//MikroElektronika 2011 +//http://www.mikroe.com + +//GLCD FontName : Arcadepix9x11 +//Based on a font created by Reekee of Dimenzioned - reekee@00.co.uk +//GLCD FontSize : 9 x 11 + +const unsigned short Arcadepix9x11[] = { + 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char + 0x03, 0xBE, 0x01, 0xBE, 0x01, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ! + 0x07, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char " + 0x07, 0x00, 0x00, 0x48, 0x00, 0xFC, 0x00, 0x48, 0x00, 0xFC, 0x00, 0x48, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char # + 0x06, 0x98, 0x00, 0xA4, 0x00, 0xA6, 0x01, 0xA4, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char $ + 0x08, 0x04, 0x00, 0x8A, 0x00, 0x44, 0x00, 0x20, 0x00, 0x10, 0x00, 0x88, 0x00, 0x44, 0x01, 0x80, 0x00, 0x00, 0x00, // Code for char % + 0x07, 0xC0, 0x00, 0xE4, 0x01, 0x3E, 0x01, 0x32, 0x01, 0x4C, 0x01, 0xC4, 0x00, 0xA0, 0x01, 0x00, 0x00, 0x00, 0x00, // Code for char & + 0x02, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ' + 0x03, 0xFC, 0x00, 0xFE, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ( + 0x03, 0x02, 0x01, 0xFE, 0x01, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ) + 0x06, 0x00, 0x00, 0xAC, 0x00, 0x70, 0x00, 0xFE, 0x01, 0x78, 0x00, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char * + 0x07, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0xFC, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char + + 0x03, 0x00, 0x02, 0x80, 0x03, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char , + 0x07, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char - + 0x02, 0x80, 0x01, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char . + 0x06, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x30, 0x00, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char / + 0x08, 0x38, 0x00, 0xFC, 0x00, 0x84, 0x00, 0x02, 0x01, 0x02, 0x01, 0x06, 0x01, 0xFC, 0x00, 0x38, 0x00, 0x00, 0x00, // Code for char 0 + 0x07, 0x00, 0x01, 0x04, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, // Code for char 1 + 0x08, 0x84, 0x01, 0xC6, 0x01, 0xE2, 0x01, 0x62, 0x01, 0x62, 0x01, 0x72, 0x01, 0x3E, 0x01, 0x0C, 0x01, 0x00, 0x00, // Code for char 2 + 0x08, 0x80, 0x00, 0x82, 0x01, 0x22, 0x01, 0x22, 0x01, 0x32, 0x01, 0x3E, 0x01, 0xE6, 0x01, 0xC2, 0x00, 0x00, 0x00, // Code for char 3 + 0x08, 0x60, 0x00, 0x70, 0x00, 0x4C, 0x00, 0x44, 0x00, 0x46, 0x00, 0xFE, 0x01, 0xFE, 0x01, 0x40, 0x00, 0x00, 0x00, // Code for char 4 + 0x08, 0x8E, 0x00, 0x8E, 0x01, 0x0A, 0x01, 0x0A, 0x01, 0x0A, 0x01, 0x0A, 0x01, 0xFA, 0x01, 0xE2, 0x00, 0x00, 0x00, // Code for char 5 + 0x08, 0xF8, 0x00, 0xFC, 0x01, 0x26, 0x01, 0x22, 0x01, 0x22, 0x01, 0x22, 0x01, 0xE2, 0x01, 0xC2, 0x00, 0x00, 0x00, // Code for char 6 + 0x08, 0x06, 0x00, 0x06, 0x00, 0xC2, 0x01, 0xE2, 0x01, 0x22, 0x00, 0x1A, 0x00, 0x0E, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char 7 + 0x08, 0xCC, 0x00, 0x3E, 0x01, 0x32, 0x01, 0x22, 0x01, 0x22, 0x01, 0x32, 0x01, 0xCC, 0x01, 0xC0, 0x00, 0x00, 0x00, // Code for char 8 + 0x08, 0x0C, 0x00, 0x3E, 0x01, 0x22, 0x01, 0x22, 0x01, 0x22, 0x01, 0xA2, 0x01, 0xFE, 0x00, 0x7C, 0x00, 0x00, 0x00, // Code for char 9 + 0x02, 0x98, 0x01, 0x98, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char : + 0x03, 0x00, 0x02, 0x98, 0x03, 0x98, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ; + 0x05, 0x00, 0x00, 0x20, 0x00, 0x70, 0x00, 0xCC, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char < + 0x07, 0x00, 0x00, 0x84, 0x00, 0x84, 0x00, 0x84, 0x00, 0x84, 0x00, 0x84, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char = + 0x05, 0x00, 0x00, 0x84, 0x00, 0xCC, 0x00, 0x70, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char > + 0x08, 0x0C, 0x00, 0x0E, 0x00, 0x02, 0x05, 0x02, 0x05, 0x82, 0x00, 0xC2, 0x00, 0x7E, 0x00, 0x1C, 0x00, 0x00, 0x00, // Code for char ? + 0x09, 0x00, 0x00, 0xF8, 0x00, 0x04, 0x01, 0x72, 0x02, 0x8A, 0x02, 0x8A, 0x02, 0x92, 0x00, 0xE2, 0x00, 0xFC, 0x01, // Code for char @ + 0x08, 0xF8, 0x01, 0xFC, 0x01, 0x46, 0x00, 0x42, 0x00, 0x42, 0x00, 0x46, 0x00, 0xFC, 0x01, 0xF8, 0x01, 0x00, 0x00, // Code for char A + 0x08, 0xFE, 0x01, 0xFE, 0x01, 0x22, 0x01, 0x22, 0x01, 0x22, 0x01, 0x22, 0x01, 0xFE, 0x01, 0xCC, 0x00, 0x00, 0x00, // Code for char B + 0x08, 0x38, 0x00, 0xFC, 0x00, 0x86, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x86, 0x01, 0x84, 0x00, 0x00, 0x00, // Code for char C + 0x08, 0xFE, 0x01, 0xFE, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x86, 0x01, 0xFC, 0x00, 0x70, 0x00, 0x00, 0x00, // Code for char D + 0x08, 0xFE, 0x01, 0xFE, 0x01, 0x22, 0x01, 0x22, 0x01, 0x22, 0x01, 0x22, 0x01, 0x22, 0x01, 0x02, 0x01, 0x00, 0x00, // Code for char E + 0x08, 0xFE, 0x01, 0xFE, 0x01, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x02, 0x00, 0x00, 0x00, // Code for char F + 0x08, 0x70, 0x00, 0xFC, 0x00, 0x86, 0x01, 0x02, 0x01, 0x02, 0x01, 0x22, 0x01, 0xE2, 0x01, 0xE2, 0x01, 0x00, 0x00, // Code for char G + 0x08, 0xFE, 0x01, 0xFE, 0x01, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0xFE, 0x01, 0xFE, 0x01, 0x00, 0x00, // Code for char H + 0x07, 0x02, 0x01, 0x02, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, // Code for char I + 0x08, 0xC0, 0x00, 0xC0, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0xFE, 0x01, 0xFE, 0x00, 0x00, 0x00, // Code for char J + 0x08, 0xFE, 0x01, 0xFE, 0x01, 0x60, 0x00, 0x70, 0x00, 0xD8, 0x00, 0xCC, 0x01, 0x86, 0x01, 0x02, 0x01, 0x00, 0x00, // Code for char K + 0x08, 0xFE, 0x01, 0xFE, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, // Code for char L + 0x08, 0x00, 0x00, 0xFE, 0x01, 0xFE, 0x01, 0x1C, 0x00, 0x38, 0x00, 0x1C, 0x00, 0xFE, 0x01, 0xFE, 0x01, 0x00, 0x00, // Code for char M + 0x08, 0xFE, 0x01, 0xFE, 0x01, 0x1C, 0x00, 0x38, 0x00, 0x70, 0x00, 0xE0, 0x00, 0xFE, 0x01, 0xFE, 0x01, 0x00, 0x00, // Code for char N + 0x08, 0xFC, 0x00, 0xFE, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFE, 0x01, 0xFC, 0x00, 0x00, 0x00, // Code for char O + 0x08, 0xFE, 0x01, 0xFE, 0x01, 0x42, 0x00, 0x42, 0x00, 0x42, 0x00, 0x42, 0x00, 0x7E, 0x00, 0x1C, 0x00, 0x00, 0x00, // Code for char P + 0x08, 0xFC, 0x00, 0xFE, 0x01, 0x02, 0x01, 0x42, 0x01, 0x42, 0x01, 0xC2, 0x01, 0xFE, 0x00, 0x7C, 0x01, 0x00, 0x00, // Code for char Q + 0x08, 0xFE, 0x01, 0xFE, 0x01, 0x42, 0x00, 0x42, 0x00, 0xC2, 0x00, 0xF2, 0x01, 0xBE, 0x01, 0x3C, 0x01, 0x00, 0x00, // Code for char R + 0x08, 0x8C, 0x00, 0xBE, 0x01, 0x22, 0x01, 0x22, 0x01, 0x22, 0x01, 0x26, 0x01, 0xE4, 0x01, 0xC0, 0x00, 0x00, 0x00, // Code for char S + 0x07, 0x02, 0x00, 0x02, 0x00, 0xFE, 0x01, 0xFE, 0x01, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char T + 0x08, 0xFE, 0x00, 0xFE, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0xFE, 0x01, 0xFE, 0x00, 0x00, 0x00, // Code for char U + 0x08, 0x00, 0x00, 0x3E, 0x00, 0x7E, 0x00, 0xE0, 0x00, 0xC0, 0x01, 0xE0, 0x00, 0x7E, 0x00, 0x3E, 0x00, 0x00, 0x00, // Code for char V + 0x08, 0x00, 0x00, 0xFE, 0x01, 0xFE, 0x01, 0xE0, 0x00, 0x38, 0x00, 0xE0, 0x00, 0xFE, 0x01, 0xFE, 0x01, 0x00, 0x00, // Code for char W + 0x07, 0x86, 0x01, 0xCE, 0x01, 0xFC, 0x00, 0x38, 0x00, 0xFC, 0x00, 0xCE, 0x01, 0x86, 0x01, 0x00, 0x00, 0x00, 0x00, // Code for char X + 0x06, 0x1E, 0x00, 0x3E, 0x00, 0xE0, 0x01, 0xE0, 0x01, 0x3E, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Y + 0x08, 0x82, 0x01, 0xC2, 0x01, 0xE2, 0x01, 0x72, 0x01, 0x3A, 0x01, 0x1E, 0x01, 0x0E, 0x01, 0x06, 0x01, 0x00, 0x00, // Code for char Z + 0x04, 0xFE, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char [ + 0x06, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char BackSlash + 0x04, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0xFE, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ] + 0x07, 0x10, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x0C, 0x00, 0x18, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ^ + 0x08, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, // Code for char _ + 0x05, 0x00, 0x00, 0x02, 0x00, 0x06, 0x00, 0x06, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ` + 0x07, 0xC0, 0x00, 0xE4, 0x01, 0x24, 0x01, 0x24, 0x01, 0x24, 0x01, 0xFC, 0x01, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char a + 0x07, 0xFE, 0x01, 0xFE, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0xF8, 0x01, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char b + 0x07, 0xF8, 0x00, 0xFC, 0x01, 0x04, 0x01, 0x04, 0x01, 0x04, 0x01, 0x8C, 0x01, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char c + 0x07, 0xF0, 0x00, 0xF8, 0x01, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0x00, 0x00, 0x00, 0x00, // Code for char d + 0x07, 0xF0, 0x00, 0xFC, 0x01, 0x44, 0x01, 0x44, 0x01, 0x44, 0x01, 0x7C, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char e + 0x06, 0x08, 0x00, 0xFC, 0x01, 0xFE, 0x01, 0x0A, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char f + 0x07, 0xF8, 0x00, 0xFC, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0xFC, 0x07, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, // Code for char g + 0x07, 0xFE, 0x01, 0xFE, 0x01, 0x18, 0x00, 0x08, 0x00, 0x08, 0x00, 0xF8, 0x01, 0xF0, 0x01, 0x00, 0x00, 0x00, 0x00, // Code for char h + 0x03, 0x04, 0x00, 0xFD, 0x01, 0xFD, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char i + 0x05, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0xFD, 0x07, 0xFD, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char j + 0x06, 0xFE, 0x01, 0xFE, 0x01, 0x40, 0x00, 0xE0, 0x00, 0xB8, 0x01, 0x18, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char k + 0x03, 0x02, 0x00, 0xFE, 0x01, 0xFE, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char l + 0x08, 0x00, 0x00, 0xFC, 0x01, 0xFC, 0x01, 0x7C, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0xFC, 0x01, 0xF8, 0x01, 0x00, 0x00, // Code for char m + 0x07, 0xFC, 0x01, 0xFC, 0x01, 0x0C, 0x00, 0x04, 0x00, 0x04, 0x00, 0xFC, 0x01, 0xF8, 0x01, 0x00, 0x00, 0x00, 0x00, // Code for char n + 0x07, 0xF8, 0x00, 0xFC, 0x01, 0x04, 0x01, 0x04, 0x01, 0x04, 0x01, 0xFC, 0x01, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char o + 0x07, 0xFC, 0x07, 0xFC, 0x07, 0x04, 0x01, 0x04, 0x01, 0x04, 0x01, 0xFC, 0x01, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char p + 0x07, 0xF8, 0x00, 0xFC, 0x01, 0x04, 0x01, 0x04, 0x01, 0x04, 0x01, 0xFC, 0x07, 0xFC, 0x07, 0x00, 0x00, 0x00, 0x00, // Code for char q + 0x07, 0xFC, 0x01, 0xFC, 0x01, 0x0C, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char r + 0x07, 0x88, 0x00, 0xBC, 0x01, 0x24, 0x01, 0x24, 0x01, 0x24, 0x01, 0xE4, 0x01, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char s + 0x05, 0x04, 0x00, 0xFE, 0x00, 0xFE, 0x01, 0x04, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char t + 0x07, 0xFC, 0x00, 0xFC, 0x01, 0x00, 0x01, 0x00, 0x01, 0x80, 0x01, 0xFC, 0x01, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x00, // Code for char u + 0x06, 0x7C, 0x00, 0xFC, 0x00, 0x80, 0x01, 0x80, 0x01, 0xFC, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char v + 0x07, 0xFC, 0x00, 0xFC, 0x01, 0xE0, 0x01, 0xF0, 0x00, 0xE0, 0x01, 0xFC, 0x01, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char w + 0x07, 0x84, 0x01, 0xCC, 0x01, 0x78, 0x00, 0x30, 0x00, 0x78, 0x00, 0xCC, 0x01, 0x84, 0x01, 0x00, 0x00, 0x00, 0x00, // Code for char x + 0x07, 0xFC, 0x00, 0xFC, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0xFC, 0x07, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, // Code for char y + 0x07, 0x84, 0x01, 0xC4, 0x01, 0xC4, 0x01, 0x64, 0x01, 0x3C, 0x01, 0x1C, 0x01, 0x0C, 0x01, 0x00, 0x00, 0x00, 0x00, // Code for char z + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char { + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char | + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char } + 0x08, 0x20, 0x00, 0x38, 0x00, 0x08, 0x00, 0x18, 0x00, 0x20, 0x00, 0x20, 0x00, 0x38, 0x00, 0x08, 0x00, 0x00, 0x00, // Code for char ~ + 0x02, 0xFC, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // Code for char  + }; + diff --git a/ili9341/fonts/Bally5x8.c b/ili9341/fonts/Bally5x8.c new file mode 100644 index 0000000..66c399e --- /dev/null +++ b/ili9341/fonts/Bally5x8.c @@ -0,0 +1,111 @@ + +//WARNING: This Font Require X-GLCD Lib. +// You can not use it with MikroE GLCD Lib. + +//Font Generated by MikroElektronika GLCD Font Creator 1.2.0.0 +//MikroElektronika 2011 +//http://www.mikroe.com + +//GLCD FontName : Bally5x8 +//Created by rdagger based on original Bally Astrocade Basic font +//GLCD FontSize : 5 x 8 + +const unsigned short Bally5x8[] = { + 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char + 0x05, 0x00, 0x00, 0x5F, 0x00, 0x00, // Code for char ! + 0x05, 0x00, 0x07, 0x00, 0x07, 0x00, // Code for char " + 0x05, 0x14, 0x7F, 0x14, 0x7F, 0x14, // Code for char # + 0x05, 0x24, 0x2A, 0x6B, 0x2A, 0x12, // Code for char $ + 0x05, 0x23, 0x13, 0x08, 0x64, 0x62, // Code for char % + 0x05, 0x36, 0x49, 0x55, 0x22, 0x50, // Code for char & + 0x05, 0x00, 0x07, 0x07, 0x00, 0x00, // Code for char ' + 0x05, 0x00, 0x3E, 0x41, 0x00, 0x00, // Code for char ( + 0x05, 0x00, 0x00, 0x41, 0x3E, 0x00, // Code for char ) + 0x05, 0x22, 0x14, 0x08, 0x14, 0x22, // Code for char * Multiply Symbol + 0x05, 0x08, 0x08, 0x3E, 0x08, 0x08, // Code for char + + 0x05, 0x58, 0x38, 0x00, 0x00, 0x00, // Code for char , + 0x05, 0x08, 0x08, 0x08, 0x08, 0x08, // Code for char - + 0x05, 0x00, 0x60, 0x60, 0x00, 0x00, // Code for char . + 0x05, 0x20, 0x10, 0x08, 0x04, 0x02, // Code for char / + 0x05, 0x3E, 0x41, 0x41, 0x41, 0x3E, // Code for char 0 + 0x05, 0x00, 0x42, 0x7F, 0x40, 0x00, // Code for char 1 + 0x05, 0x72, 0x49, 0x49, 0x49, 0x46, // Code for char 2 + 0x05, 0x22, 0x41, 0x49, 0x49, 0x36, // Code for char 3 + 0x05, 0x18, 0x14, 0x12, 0x7F, 0x10, // Code for char 4 + 0x05, 0x27, 0x45, 0x45, 0x45, 0x39, // Code for char 5 + 0x05, 0x3C, 0x4A, 0x49, 0x49, 0x30, // Code for char 6 + 0x05, 0x01, 0x71, 0x09, 0x05, 0x03, // Code for char 7 + 0x05, 0x36, 0x49, 0x49, 0x49, 0x36, // Code for char 8 + 0x05, 0x06, 0x49, 0x49, 0x29, 0x1E, // Code for char 9 + 0x05, 0x00, 0x36, 0x36, 0x00, 0x00, // Code for char : + 0x05, 0x00, 0x5B, 0x3B, 0x00, 0x00, // Code for char ; + 0x05, 0x08, 0x14, 0x22, 0x41, 0x00, // Code for char < + 0x05, 0x14, 0x14, 0x14, 0x14, 0x14, // Code for char = + 0x05, 0x00, 0x41, 0x22, 0x14, 0x08, // Code for char > + 0x05, 0x02, 0x01, 0x51, 0x09, 0x06, // Code for char ? + 0x05, 0x3E, 0x41, 0x5D, 0x55, 0x1E, // Code for char @ + 0x05, 0x7E, 0x09, 0x09, 0x09, 0x7E, // Code for char A + 0x05, 0x7F, 0x49, 0x49, 0x49, 0x36, // Code for char B + 0x05, 0x3E, 0x41, 0x41, 0x41, 0x22, // Code for char C + 0x05, 0x7F, 0x41, 0x41, 0x41, 0x3E, // Code for char D + 0x05, 0x7F, 0x49, 0x49, 0x41, 0x41, // Code for char E + 0x05, 0x7F, 0x09, 0x09, 0x01, 0x01, // Code for char F + 0x05, 0x3E, 0x41, 0x41, 0x51, 0x72, // Code for char G + 0x05, 0x7F, 0x08, 0x08, 0x08, 0x7F, // Code for char H + 0x05, 0x00, 0x41, 0x7F, 0x41, 0x00, // Code for char I + 0x05, 0x20, 0x40, 0x40, 0x40, 0x3F, // Code for char J + 0x05, 0x7F, 0x08, 0x14, 0x22, 0x41, // Code for char K + 0x05, 0x7F, 0x40, 0x40, 0x40, 0x40, // Code for char L + 0x05, 0x7F, 0x02, 0x0C, 0x02, 0x7F, // Code for char M + 0x05, 0x7F, 0x02, 0x04, 0x08, 0x7F, // Code for char N + 0x05, 0x7F, 0x41, 0x41, 0x41, 0x7F, // Code for char O + 0x05, 0x7F, 0x09, 0x09, 0x09, 0x06, // Code for char P + 0x05, 0x3E, 0x41, 0x51, 0x21, 0x5E, // Code for char Q + 0x05, 0x7F, 0x09, 0x19, 0x29, 0x46, // Code for char R + 0x05, 0x26, 0x49, 0x49, 0x49, 0x32, // Code for char S + 0x05, 0x01, 0x01, 0x7F, 0x01, 0x01, // Code for char T + 0x05, 0x3F, 0x40, 0x40, 0x40, 0x3F, // Code for char U + 0x05, 0x07, 0x18, 0x60, 0x18, 0x07, // Code for char V + 0x05, 0x7F, 0x20, 0x18, 0x20, 0x7F, // Code for char W + 0x05, 0x63, 0x14, 0x08, 0x14, 0x63, // Code for char X + 0x05, 0x03, 0x04, 0x78, 0x04, 0x03, // Code for char Y + 0x05, 0x61, 0x51, 0x49, 0x45, 0x43, // Code for char Z + 0x05, 0x7F, 0x41, 0x41, 0x00, 0x00, // Code for char [ + 0x05, 0x08, 0x08, 0x2A, 0x08, 0x08, // Code for char / Division Symbol + 0x05, 0x00, 0x00, 0x41, 0x41, 0x7F, // Code for char ] + 0x05, 0x04, 0x02, 0x7F, 0x02, 0x04, // Code for char ^ Up Arrow + 0x05, 0x10, 0x20, 0x7F, 0x20, 0x10, // Code for char _ Down Arrow + 0x05, 0x07, 0x05, 0x07, 0x00, 0x00, // Code for char ` Degree + 0x05, 0x20, 0x54, 0x54, 0x54, 0x78, // Code for char a + 0x05, 0x7F, 0x48, 0x44, 0x44, 0x38, // Code for char b + 0x05, 0x38, 0x44, 0x44, 0x44, 0x20, // Code for char c + 0x05, 0x38, 0x44, 0x44, 0x48, 0x7F, // Code for char d + 0x05, 0x38, 0x54, 0x54, 0x54, 0x58, // Code for char e + 0x05, 0x08, 0x7E, 0x09, 0x01, 0x02, // Code for char f + 0x05, 0x0C, 0x52, 0x52, 0x52, 0x3E, // Code for char g + 0x05, 0x7F, 0x08, 0x04, 0x04, 0x78, // Code for char h + 0x05, 0x00, 0x48, 0x7A, 0x40, 0x00, // Code for char i + 0x05, 0x20, 0x40, 0x44, 0x3D, 0x00, // Code for char j + 0x05, 0x7F, 0x10, 0x28, 0x44, 0x00, // Code for char k + 0x05, 0x00, 0x41, 0x7F, 0x40, 0x00, // Code for char l + 0x05, 0x7C, 0x04, 0x18, 0x04, 0x78, // Code for char m + 0x05, 0x7C, 0x08, 0x04, 0x04, 0x78, // Code for char n + 0x05, 0x38, 0x44, 0x44, 0x44, 0x38, // Code for char o + 0x05, 0x7C, 0x14, 0x14, 0x14, 0x08, // Code for char p + 0x05, 0x08, 0x14, 0x14, 0x18, 0x7C, // Code for char q + 0x05, 0x7C, 0x08, 0x04, 0x04, 0x08, // Code for char r + 0x05, 0x48, 0x54, 0x54, 0x54, 0x20, // Code for char s + 0x05, 0x04, 0x3F, 0x44, 0x40, 0x20, // Code for char t + 0x05, 0x3C, 0x40, 0x40, 0x20, 0x7C, // Code for char u + 0x05, 0x1C, 0x20, 0x40, 0x20, 0x1C, // Code for char v + 0x05, 0x3C, 0x40, 0x30, 0x40, 0x3C, // Code for char w + 0x05, 0x44, 0x28, 0x10, 0x28, 0x44, // Code for char x + 0x05, 0x0C, 0x50, 0x50, 0x50, 0x3C, // Code for char y + 0x05, 0x44, 0x64, 0x54, 0x4C, 0x44, // Code for char z + 0x05, 0x08, 0x1C, 0x2A, 0x08, 0x08, // Code for char { Left Arrow + 0x05, 0x00, 0x00, 0x7F, 0x00, 0x00, // Code for char | + 0x05, 0x08, 0x08, 0x2A, 0x1C, 0x08, // Code for char } Right Arrow + 0x05, 0x18, 0x04, 0x08, 0x10, 0x0C, // Code for char ~ + 0x05, 0x3E, 0x00, 0x00, 0x00, 0x00 // Code for char  + }; + diff --git a/ili9341/fonts/Bally7x9.c b/ili9341/fonts/Bally7x9.c new file mode 100644 index 0000000..8e91bd0 --- /dev/null +++ b/ili9341/fonts/Bally7x9.c @@ -0,0 +1,111 @@ + +//WARNING: This Font Require X-GLCD Lib. +// You can not use it with MikroE GLCD Lib. + +//Font Generated by MikroElektronika GLCD Font Creator 1.2.0.0 +//MikroElektronika 2011 +//http://www.mikroe.com + +//GLCD FontName : Bally7x9 +//Created by rdagger based on original Bally Astrocade Basic font. +//GLCD FontSize : 7 x 9 + +const unsigned short Bally7x9[] = { + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ! + 0x05, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char " + 0x06, 0x00, 0x00, 0x28, 0x00, 0xFE, 0x00, 0x28, 0x00, 0xFE, 0x00, 0x28, 0x00, 0x00, 0x00, // Code for char # + 0x06, 0x00, 0x00, 0x48, 0x00, 0x54, 0x00, 0xD6, 0x00, 0x54, 0x00, 0x24, 0x00, 0x00, 0x00, // Code for char $ + 0x06, 0x00, 0x00, 0x46, 0x00, 0x26, 0x00, 0x10, 0x00, 0xC8, 0x00, 0xC4, 0x00, 0x00, 0x00, // Code for char % + 0x06, 0x00, 0x00, 0x6C, 0x00, 0x92, 0x00, 0xAA, 0x00, 0x44, 0x00, 0xA0, 0x00, 0x00, 0x00, // Code for char & + 0x04, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ' + 0x04, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ( + 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ) + 0x06, 0x00, 0x00, 0x44, 0x00, 0x28, 0x00, 0x10, 0x00, 0x28, 0x00, 0x44, 0x00, 0x00, 0x00, // Code for char * + 0x06, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x7C, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, // Code for char + + 0x03, 0x00, 0x00, 0xB0, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char , + 0x06, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, // Code for char - + 0x03, 0x00, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char . + 0x06, 0x00, 0x00, 0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00, // Code for char / + 0x06, 0x00, 0x00, 0x7C, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x7C, 0x00, 0x00, 0x00, // Code for char 0 + 0x05, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0xFE, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 1 + 0x06, 0x00, 0x00, 0xE4, 0x00, 0x92, 0x00, 0x92, 0x00, 0x92, 0x00, 0x8C, 0x00, 0x00, 0x00, // Code for char 2 + 0x06, 0x00, 0x00, 0x44, 0x00, 0x82, 0x00, 0x92, 0x00, 0x92, 0x00, 0x6C, 0x00, 0x00, 0x00, // Code for char 3 + 0x06, 0x00, 0x00, 0x30, 0x00, 0x28, 0x00, 0x24, 0x00, 0xFE, 0x00, 0x20, 0x00, 0x00, 0x00, // Code for char 4 + 0x06, 0x00, 0x00, 0x4E, 0x00, 0x8A, 0x00, 0x8A, 0x00, 0x8A, 0x00, 0x72, 0x00, 0x00, 0x00, // Code for char 5 + 0x06, 0x00, 0x00, 0x78, 0x00, 0x94, 0x00, 0x92, 0x00, 0x92, 0x00, 0x60, 0x00, 0x00, 0x00, // Code for char 6 + 0x06, 0x00, 0x00, 0x02, 0x00, 0xE2, 0x00, 0x12, 0x00, 0x0A, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char 7 + 0x06, 0x00, 0x00, 0x6C, 0x00, 0x92, 0x00, 0x92, 0x00, 0x92, 0x00, 0x6C, 0x00, 0x00, 0x00, // Code for char 8 + 0x06, 0x00, 0x00, 0x0C, 0x00, 0x92, 0x00, 0x92, 0x00, 0x52, 0x00, 0x3C, 0x00, 0x00, 0x00, // Code for char 9 + 0x04, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char : + 0x04, 0x00, 0x00, 0x00, 0x00, 0xB6, 0x00, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ; + 0x05, 0x00, 0x00, 0x10, 0x00, 0x28, 0x00, 0x44, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char < + 0x06, 0x00, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x00, 0x00, // Code for char = + 0x06, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x44, 0x00, 0x28, 0x00, 0x10, 0x00, 0x00, 0x00, // Code for char > + 0x06, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0xA2, 0x00, 0x12, 0x00, 0x0C, 0x00, 0x00, 0x00, // Code for char ? + 0x06, 0x00, 0x00, 0x7C, 0x00, 0x82, 0x00, 0xBA, 0x00, 0xAA, 0x00, 0x3C, 0x00, 0x00, 0x00, // Code for char @ + 0x06, 0x00, 0x00, 0xFC, 0x00, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00, 0xFC, 0x00, 0x00, 0x00, // Code for char A + 0x06, 0x00, 0x00, 0xFE, 0x00, 0x92, 0x00, 0x92, 0x00, 0x92, 0x00, 0x6C, 0x00, 0x00, 0x00, // Code for char B + 0x06, 0x00, 0x00, 0x7C, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x44, 0x00, 0x00, 0x00, // Code for char C + 0x06, 0x00, 0x00, 0xFE, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0x7C, 0x00, 0x00, 0x00, // Code for char D + 0x06, 0x00, 0x00, 0xFE, 0x00, 0x92, 0x00, 0x92, 0x00, 0x82, 0x00, 0x82, 0x00, 0x00, 0x00, // Code for char E + 0x06, 0x00, 0x00, 0xFE, 0x00, 0x12, 0x00, 0x12, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, // Code for char F + 0x06, 0x00, 0x00, 0x7C, 0x00, 0x82, 0x00, 0x82, 0x00, 0xA2, 0x00, 0xE4, 0x00, 0x00, 0x00, // Code for char G + 0x06, 0x00, 0x00, 0xFE, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0xFE, 0x00, 0x00, 0x00, // Code for char H + 0x05, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0xFE, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char I + 0x06, 0x00, 0x00, 0x40, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x7E, 0x00, 0x00, 0x00, // Code for char J + 0x06, 0x00, 0x00, 0xFE, 0x00, 0x10, 0x00, 0x28, 0x00, 0x44, 0x00, 0x82, 0x00, 0x00, 0x00, // Code for char K + 0x06, 0x00, 0x00, 0xFE, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, // Code for char L + 0x06, 0x00, 0x00, 0xFE, 0x00, 0x04, 0x00, 0x18, 0x00, 0x04, 0x00, 0xFE, 0x00, 0x00, 0x00, // Code for char M + 0x06, 0x00, 0x00, 0xFE, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00, 0xFE, 0x00, 0x00, 0x00, // Code for char N + 0x06, 0x00, 0x00, 0xFE, 0x00, 0x82, 0x00, 0x82, 0x00, 0x82, 0x00, 0xFE, 0x00, 0x00, 0x00, // Code for char O + 0x06, 0x00, 0x00, 0xFE, 0x00, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00, 0x0C, 0x00, 0x00, 0x00, // Code for char P + 0x06, 0x00, 0x00, 0x7C, 0x00, 0x82, 0x00, 0xA2, 0x00, 0x42, 0x00, 0xBC, 0x00, 0x00, 0x00, // Code for char Q + 0x06, 0x00, 0x00, 0xFE, 0x00, 0x12, 0x00, 0x32, 0x00, 0x52, 0x00, 0x8C, 0x00, 0x00, 0x00, // Code for char R + 0x06, 0x00, 0x00, 0x4C, 0x00, 0x92, 0x00, 0x92, 0x00, 0x92, 0x00, 0x64, 0x00, 0x00, 0x00, // Code for char S + 0x06, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0xFE, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, // Code for char T + 0x06, 0x00, 0x00, 0x7E, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x7E, 0x00, 0x00, 0x00, // Code for char U + 0x06, 0x00, 0x00, 0x0E, 0x00, 0x30, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x0E, 0x00, 0x00, 0x00, // Code for char V + 0x06, 0x00, 0x00, 0xFE, 0x00, 0x40, 0x00, 0x30, 0x00, 0x40, 0x00, 0xFE, 0x00, 0x00, 0x00, // Code for char W + 0x06, 0x00, 0x00, 0xC6, 0x00, 0x28, 0x00, 0x10, 0x00, 0x28, 0x00, 0xC6, 0x00, 0x00, 0x00, // Code for char X + 0x06, 0x00, 0x00, 0x06, 0x00, 0x08, 0x00, 0xF0, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char Y + 0x06, 0x00, 0x00, 0xC2, 0x00, 0xA2, 0x00, 0x92, 0x00, 0x8A, 0x00, 0x86, 0x00, 0x00, 0x00, // Code for char Z + 0x04, 0x00, 0x00, 0xFE, 0x00, 0x82, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char [ + 0x06, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x54, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, // Code for char BackSlash + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x82, 0x00, 0xFE, 0x00, 0x00, 0x00, // Code for char ] + 0x06, 0x00, 0x00, 0x08, 0x00, 0x04, 0x00, 0xFE, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, // Code for char ^ + 0x06, 0x00, 0x00, 0x20, 0x00, 0x40, 0x00, 0xFE, 0x00, 0x40, 0x00, 0x20, 0x00, 0x00, 0x00, // Code for char _ + 0x04, 0x00, 0x00, 0x0E, 0x00, 0x0A, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ` + 0x06, 0x00, 0x00, 0x40, 0x00, 0xA8, 0x00, 0xA8, 0x00, 0xA8, 0x00, 0xF0, 0x00, 0x00, 0x00, // Code for char a + 0x06, 0x00, 0x00, 0xFE, 0x00, 0x90, 0x00, 0x88, 0x00, 0x88, 0x00, 0x70, 0x00, 0x00, 0x00, // Code for char b + 0x06, 0x00, 0x00, 0x70, 0x00, 0x88, 0x00, 0x88, 0x00, 0x88, 0x00, 0x40, 0x00, 0x00, 0x00, // Code for char c + 0x06, 0x00, 0x00, 0x70, 0x00, 0x88, 0x00, 0x88, 0x00, 0x90, 0x00, 0xFE, 0x00, 0x00, 0x00, // Code for char d + 0x06, 0x00, 0x00, 0x70, 0x00, 0xA8, 0x00, 0xA8, 0x00, 0xA8, 0x00, 0xB0, 0x00, 0x00, 0x00, // Code for char e + 0x06, 0x00, 0x00, 0x10, 0x00, 0xFC, 0x00, 0x12, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x00, // Code for char f + 0x06, 0x00, 0x00, 0x18, 0x00, 0xA4, 0x00, 0xA4, 0x00, 0xA4, 0x00, 0x7C, 0x00, 0x00, 0x00, // Code for char g + 0x06, 0x00, 0x00, 0xFE, 0x00, 0x10, 0x00, 0x08, 0x00, 0x08, 0x00, 0xF0, 0x00, 0x00, 0x00, // Code for char h + 0x05, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0xF4, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char i + 0x05, 0x00, 0x00, 0x40, 0x00, 0x80, 0x00, 0x88, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char j + 0x05, 0x00, 0x00, 0xFE, 0x00, 0x20, 0x00, 0x50, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char k + 0x05, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0xFE, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char l + 0x06, 0x00, 0x00, 0xF8, 0x00, 0x08, 0x00, 0x30, 0x00, 0x08, 0x00, 0xF0, 0x00, 0x00, 0x00, // Code for char m + 0x06, 0x00, 0x00, 0xF8, 0x00, 0x10, 0x00, 0x08, 0x00, 0x08, 0x00, 0xF0, 0x00, 0x00, 0x00, // Code for char n + 0x06, 0x00, 0x00, 0x70, 0x00, 0x88, 0x00, 0x88, 0x00, 0x88, 0x00, 0x70, 0x00, 0x00, 0x00, // Code for char o + 0x06, 0x00, 0x00, 0xF8, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x10, 0x00, 0x00, 0x00, // Code for char p + 0x06, 0x00, 0x00, 0x10, 0x00, 0x28, 0x00, 0x28, 0x00, 0x30, 0x00, 0xF8, 0x00, 0x00, 0x00, // Code for char q + 0x06, 0x00, 0x00, 0xF8, 0x00, 0x10, 0x00, 0x08, 0x00, 0x08, 0x00, 0x10, 0x00, 0x00, 0x00, // Code for char r + 0x06, 0x00, 0x00, 0x90, 0x00, 0xA8, 0x00, 0xA8, 0x00, 0xA8, 0x00, 0x40, 0x00, 0x00, 0x00, // Code for char s + 0x06, 0x00, 0x00, 0x08, 0x00, 0x7E, 0x00, 0x88, 0x00, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00, // Code for char t + 0x06, 0x00, 0x00, 0x78, 0x00, 0x80, 0x00, 0x80, 0x00, 0x40, 0x00, 0xF8, 0x00, 0x00, 0x00, // Code for char u + 0x06, 0x00, 0x00, 0x38, 0x00, 0x40, 0x00, 0x80, 0x00, 0x40, 0x00, 0x38, 0x00, 0x00, 0x00, // Code for char v + 0x06, 0x00, 0x00, 0x78, 0x00, 0x80, 0x00, 0x60, 0x00, 0x80, 0x00, 0x78, 0x00, 0x00, 0x00, // Code for char w + 0x06, 0x00, 0x00, 0x88, 0x00, 0x50, 0x00, 0x20, 0x00, 0x50, 0x00, 0x88, 0x00, 0x00, 0x00, // Code for char x + 0x06, 0x00, 0x00, 0x18, 0x00, 0xA0, 0x00, 0xA0, 0x00, 0xA0, 0x00, 0x78, 0x00, 0x00, 0x00, // Code for char y + 0x06, 0x00, 0x00, 0x88, 0x00, 0xC8, 0x00, 0xA8, 0x00, 0x98, 0x00, 0x88, 0x00, 0x00, 0x00, // Code for char z + 0x06, 0x00, 0x00, 0x10, 0x00, 0x38, 0x00, 0x54, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, // Code for char { + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char | + 0x06, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x54, 0x00, 0x38, 0x00, 0x10, 0x00, 0x00, 0x00, // Code for char } + 0x06, 0x00, 0x00, 0x30, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x18, 0x00, 0x00, 0x00, // Code for char ~ + 0x02, 0x7C, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // Code for char  + }; + diff --git a/ili9341/fonts/Broadway17x15.c b/ili9341/fonts/Broadway17x15.c new file mode 100644 index 0000000..c8f6c53 --- /dev/null +++ b/ili9341/fonts/Broadway17x15.c @@ -0,0 +1,105 @@ +//Font Generated by GLCD Font Creator +//Copyright 2007 Pocket MicroTechnics +//http://www.pocketmt.com + +//GLCD FontName : Broadway17x15 +//Based on a font by Connormah which is public domain (according to Wikipedia) +//GLCD FontSize : 17 x 15 + +const unsigned short Broadway17x15[] = { + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char + 0x06, 0x00, 0x00, 0x1C, 0x04, 0x3E, 0x0E, 0xFE, 0x0E, 0x7E, 0x0E, 0x1C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ! + 0x06, 0x00, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char " + 0x0B, 0x00, 0x00, 0x90, 0x00, 0x90, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x00, 0x90, 0x00, 0xD0, 0x0F, 0xBE, 0x00, 0x90, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char # + 0x09, 0x00, 0x00, 0x3C, 0x04, 0x7C, 0x14, 0xFE, 0x0E, 0xFE, 0x09, 0xF2, 0x0F, 0xFE, 0x0F, 0xC3, 0x07, 0x84, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char $ + 0x0C, 0x3C, 0x00, 0x7E, 0x00, 0x7E, 0x00, 0x42, 0x08, 0x3C, 0x06, 0x80, 0x01, 0x60, 0x00, 0x98, 0x07, 0xC6, 0x0F, 0xC0, 0x0F, 0x40, 0x08, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char % + 0x0C, 0x00, 0x07, 0xBC, 0x0C, 0x7C, 0x08, 0xFE, 0x09, 0xFA, 0x0B, 0xF2, 0x07, 0xF2, 0x0F, 0xCC, 0x0F, 0x00, 0x0F, 0x80, 0x0E, 0x40, 0x0C, 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char & + 0x03, 0x00, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ' + 0x05, 0x00, 0x00, 0xF8, 0x0F, 0xFC, 0x1F, 0xFE, 0x3F, 0x02, 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, // Code for char ( + 0x05, 0x00, 0x00, 0x02, 0x20, 0xFE, 0x3F, 0xFC, 0x1F, 0xF8, 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, // Code for char ) + 0x05, 0x04, 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x2C, 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, 0x00, // Code for char * + 0x09, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0xF0, 0x07, 0xF0, 0x07, 0xF0, 0x07, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char + + 0x06, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x2E, 0x00, 0x2E, 0x00, 0x3E, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char , + 0x06, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char - + 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char . + 0x07, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x03, 0xC0, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char / + 0x09, 0x00, 0x00, 0xF0, 0x01, 0xFC, 0x07, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0x02, 0x08, 0x0C, 0x06, 0xF0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 0 + 0x08, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0xFC, 0x0F, 0xFC, 0x0F, 0xFC, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 1 + 0x09, 0x38, 0x08, 0x04, 0x0C, 0x02, 0x0F, 0xC2, 0x0F, 0xF2, 0x0F, 0xFE, 0x0F, 0xFE, 0x09, 0x7C, 0x08, 0x38, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 2 + 0x09, 0x00, 0x04, 0x04, 0x08, 0x02, 0x08, 0x22, 0x08, 0xFE, 0x0F, 0xDE, 0x0F, 0xDE, 0x0F, 0xDC, 0x07, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 3 + 0x0B, 0x00, 0x02, 0x00, 0x03, 0x80, 0x02, 0x40, 0x02, 0xE0, 0x0F, 0xF0, 0x0F, 0xF8, 0x0F, 0xFC, 0x0F, 0xFE, 0x0F, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 4 + 0x09, 0xC0, 0x03, 0x08, 0x04, 0x0E, 0x08, 0x0A, 0x08, 0xFA, 0x0F, 0xFA, 0x0F, 0xFA, 0x0F, 0xF2, 0x07, 0xE0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 5 + 0x09, 0x00, 0x00, 0xF0, 0x01, 0xFC, 0x07, 0xFC, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0x22, 0x08, 0x24, 0x04, 0xC0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 6 + 0x0A, 0x02, 0x00, 0x02, 0x08, 0x02, 0x0E, 0x82, 0x0F, 0xE2, 0x0F, 0xFA, 0x0F, 0xFE, 0x0F, 0xFE, 0x01, 0x3E, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 7 + 0x09, 0x00, 0x00, 0x38, 0x07, 0xFC, 0x08, 0xFE, 0x08, 0xFE, 0x09, 0xF2, 0x0D, 0xE2, 0x0F, 0xFC, 0x07, 0xC0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 8 + 0x09, 0x00, 0x00, 0x78, 0x00, 0x84, 0x04, 0x82, 0x08, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x07, 0xFC, 0x07, 0xF0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 9 + 0x06, 0x00, 0x00, 0x20, 0x04, 0x70, 0x0E, 0x70, 0x0E, 0x70, 0x0E, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char : + 0x06, 0x00, 0x00, 0x20, 0x0C, 0x70, 0x2E, 0x70, 0x2E, 0x70, 0x3E, 0x20, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ; + 0x08, 0x00, 0x00, 0x40, 0x00, 0x60, 0x00, 0xE0, 0x00, 0xF0, 0x01, 0xD0, 0x01, 0x88, 0x03, 0x8C, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char < + 0x0A, 0x00, 0x00, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char = + 0x07, 0x3C, 0x06, 0x38, 0x02, 0x70, 0x01, 0xF0, 0x01, 0xE0, 0x00, 0xC0, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char > + 0x09, 0x00, 0x00, 0x0C, 0x00, 0x04, 0x04, 0x02, 0x0E, 0xFE, 0x0E, 0x7E, 0x0E, 0x7E, 0x04, 0x7C, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ? + 0x0C, 0x00, 0x00, 0xF0, 0x01, 0x08, 0x02, 0xE4, 0x04, 0xF2, 0x0D, 0x12, 0x09, 0xD2, 0x09, 0xF2, 0x09, 0xF2, 0x09, 0x04, 0x09, 0x8C, 0x05, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char @ + 0x0D, 0x00, 0x08, 0x00, 0x06, 0x00, 0x05, 0xC0, 0x04, 0x70, 0x04, 0xF8, 0x05, 0xFE, 0x07, 0xF8, 0x0F, 0xF0, 0x0F, 0xC0, 0x0F, 0x00, 0x0F, 0x00, 0x0E, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char A + 0x0A, 0x00, 0x00, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0x02, 0x08, 0x82, 0x08, 0x84, 0x0C, 0x78, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char B + 0x0B, 0x00, 0x00, 0xF0, 0x01, 0xF8, 0x03, 0xFC, 0x07, 0xFE, 0x0F, 0xFE, 0x0F, 0x02, 0x08, 0x02, 0x08, 0x02, 0x04, 0x04, 0x06, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char C + 0x0B, 0x00, 0x00, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0x02, 0x08, 0x02, 0x08, 0x04, 0x04, 0x08, 0x02, 0xF0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char D + 0x0B, 0x00, 0x00, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0x12, 0x08, 0x12, 0x08, 0x12, 0x08, 0x12, 0x08, 0x12, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char E + 0x0A, 0x00, 0x00, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char F + 0x0B, 0x00, 0x00, 0xF0, 0x01, 0xF8, 0x03, 0xFC, 0x07, 0xFE, 0x0F, 0xFE, 0x0F, 0x02, 0x08, 0x42, 0x08, 0x44, 0x04, 0x48, 0x02, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char G + 0x0B, 0x00, 0x00, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0xFE, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char H + 0x06, 0x00, 0x00, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char I + 0x09, 0x00, 0x06, 0x00, 0x04, 0x00, 0x08, 0x00, 0x08, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x07, 0xFE, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char J + 0x0C, 0x00, 0x00, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0x08, 0x00, 0x0C, 0x00, 0x34, 0x00, 0xC2, 0x00, 0x02, 0x03, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char K + 0x0B, 0x00, 0x00, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char L + 0x0F, 0x00, 0x0C, 0x80, 0x03, 0xF0, 0x00, 0xFE, 0x01, 0xFC, 0x03, 0xF8, 0x07, 0xF0, 0x03, 0xC0, 0x00, 0xC0, 0x00, 0xF0, 0x07, 0xF8, 0x0F, 0xFE, 0x0F, 0xF0, 0x0F, 0x80, 0x0F, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, // Code for char M + 0x0B, 0x00, 0x00, 0xFE, 0x0F, 0x7C, 0x00, 0xFC, 0x00, 0xF8, 0x00, 0xF8, 0x01, 0xF0, 0x03, 0xF0, 0x03, 0xE0, 0x07, 0xC0, 0x07, 0xFE, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char N + 0x0B, 0x00, 0x00, 0xF0, 0x01, 0xF8, 0x03, 0xFC, 0x07, 0xFE, 0x0F, 0xFE, 0x0F, 0x02, 0x08, 0x02, 0x08, 0x04, 0x04, 0x08, 0x02, 0xF0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char O + 0x0B, 0x00, 0x00, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0x02, 0x02, 0x02, 0x02, 0x04, 0x02, 0x0C, 0x01, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char P + 0x0B, 0x00, 0x00, 0xF0, 0x01, 0xF8, 0x03, 0xFC, 0x07, 0xFE, 0x0F, 0xFE, 0x0F, 0x02, 0x08, 0x02, 0x0A, 0x04, 0x0C, 0x08, 0x0E, 0xF0, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Q + 0x0B, 0x00, 0x00, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0x02, 0x01, 0x02, 0x06, 0x04, 0x0E, 0x0C, 0x09, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char R + 0x09, 0x00, 0x00, 0x38, 0x04, 0x7C, 0x08, 0xFE, 0x08, 0xFE, 0x0B, 0xFA, 0x0F, 0xE2, 0x0F, 0xC4, 0x07, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char S + 0x0B, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char T + 0x0B, 0x00, 0x00, 0xFE, 0x03, 0xFE, 0x07, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x04, 0xFE, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char U + 0x0D, 0x02, 0x00, 0x0E, 0x00, 0x1E, 0x00, 0x7E, 0x00, 0xFE, 0x01, 0xFE, 0x03, 0xFC, 0x0F, 0xF0, 0x03, 0xC0, 0x01, 0x60, 0x00, 0x10, 0x00, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char V + 0x10, 0x02, 0x00, 0x1E, 0x00, 0xFE, 0x00, 0xFE, 0x03, 0xFE, 0x1F, 0xFE, 0x07, 0xF0, 0x03, 0xC0, 0x00, 0xF0, 0x00, 0xF8, 0x03, 0xFE, 0x07, 0xF8, 0x1F, 0xF0, 0x03, 0xE0, 0x00, 0x18, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char W + 0x0C, 0x02, 0x08, 0x0E, 0x04, 0x1E, 0x03, 0xFE, 0x00, 0xFE, 0x01, 0xFE, 0x03, 0xFC, 0x0F, 0xF0, 0x0F, 0xD8, 0x0F, 0x04, 0x0F, 0x02, 0x0E, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char X + 0x0C, 0x02, 0x00, 0x06, 0x00, 0x0E, 0x00, 0x3E, 0x00, 0x7E, 0x08, 0xFE, 0x06, 0xFC, 0x01, 0xF8, 0x00, 0x30, 0x00, 0x10, 0x00, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Y + 0x0B, 0x00, 0x08, 0x02, 0x0E, 0x82, 0x0F, 0xE2, 0x0F, 0xFA, 0x0F, 0xFE, 0x0F, 0xFE, 0x0B, 0xFE, 0x08, 0x3E, 0x08, 0x0E, 0x08, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Z + 0x06, 0x00, 0x00, 0xFE, 0x3F, 0xFE, 0x3F, 0xFE, 0x3F, 0x02, 0x20, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char [ + 0x07, 0x02, 0x00, 0x0C, 0x00, 0x30, 0x00, 0xC0, 0x00, 0x00, 0x01, 0x00, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char BackSlash + 0x05, 0x02, 0x20, 0x02, 0x20, 0xFE, 0x3F, 0xFE, 0x3F, 0xFE, 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, // Code for char ] + 0x08, 0xC0, 0x00, 0xF0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x1C, 0x00, 0x30, 0x00, 0xC0, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ^ + 0x08, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char _ + 0x06, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x06, 0x00, 0x06, 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, // Code for char ` + 0x0A, 0x00, 0x00, 0x80, 0x07, 0xD0, 0x0F, 0xC8, 0x0F, 0xC8, 0x0F, 0x48, 0x08, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, 0x0F, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char a + 0x0B, 0x00, 0x00, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0x10, 0x04, 0x08, 0x08, 0xF8, 0x0F, 0xF8, 0x0F, 0xF0, 0x07, 0xE0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char b + 0x08, 0x00, 0x00, 0xE0, 0x03, 0xF0, 0x07, 0xF8, 0x0F, 0xF8, 0x0F, 0x08, 0x08, 0x18, 0x04, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char c + 0x0B, 0x00, 0x00, 0xE0, 0x03, 0xF0, 0x07, 0xF8, 0x0F, 0xF8, 0x0F, 0x08, 0x08, 0x10, 0x04, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char d + 0x09, 0x00, 0x00, 0xE0, 0x03, 0xF0, 0x07, 0xF8, 0x0F, 0xF8, 0x0F, 0x88, 0x08, 0xF8, 0x08, 0xF0, 0x04, 0xE0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char e + 0x07, 0x08, 0x00, 0xFE, 0x0F, 0xFE, 0x0F, 0xFF, 0x0F, 0xFF, 0x0F, 0x09, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char f + 0x08, 0x00, 0x00, 0xE0, 0x2D, 0xF0, 0x4F, 0xF8, 0x4F, 0x08, 0x4E, 0xF8, 0x6F, 0xF4, 0x3D, 0xE0, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char g + 0x0B, 0x00, 0x00, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0x10, 0x00, 0x08, 0x00, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, 0x0F, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char h + 0x05, 0x00, 0x00, 0xFB, 0x0F, 0xFB, 0x0F, 0xFB, 0x0F, 0xFB, 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, // Code for char i + 0x05, 0x00, 0x10, 0xFB, 0x1F, 0xFB, 0x1F, 0xFB, 0x1F, 0xFB, 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, // Code for char j + 0x0D, 0x00, 0x00, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xC0, 0x00, 0xE0, 0x01, 0xF0, 0x07, 0xF0, 0x0F, 0x88, 0x0F, 0x08, 0x0F, 0x00, 0x0C, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char k + 0x05, 0x00, 0x00, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0xFE, 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, // Code for char l + 0x11, 0x00, 0x00, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, 0x0F, 0x10, 0x00, 0x08, 0x00, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, 0x0F, 0xF0, 0x0F, 0x10, 0x00, 0x08, 0x00, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, 0x0F, 0xF0, 0x0F, // Code for char m + 0x0B, 0x00, 0x00, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, 0x0F, 0x10, 0x00, 0x08, 0x00, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, 0x0F, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char n + 0x09, 0x00, 0x00, 0xE0, 0x03, 0xF0, 0x07, 0xF8, 0x0F, 0xF8, 0x0F, 0x08, 0x08, 0x08, 0x08, 0x10, 0x04, 0xE0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char o + 0x0B, 0x00, 0x00, 0xF8, 0x1F, 0xF8, 0x1F, 0xF8, 0x1F, 0xF8, 0x1F, 0x10, 0x02, 0x08, 0x04, 0xF8, 0x07, 0xF8, 0x07, 0xF0, 0x03, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char p + 0x0B, 0x00, 0x00, 0xE0, 0x03, 0xF0, 0x07, 0xF8, 0x0F, 0xF8, 0x0F, 0x08, 0x08, 0x10, 0x04, 0xF8, 0x1F, 0xF8, 0x1F, 0xF8, 0x1F, 0xF8, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char q + 0x08, 0x00, 0x00, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, 0x0F, 0x10, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char r + 0x08, 0x70, 0x04, 0xF0, 0x0C, 0xF8, 0x09, 0xE8, 0x09, 0xC8, 0x0B, 0xC8, 0x0F, 0x98, 0x07, 0x10, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char s + 0x07, 0x08, 0x00, 0xFC, 0x07, 0xFC, 0x0F, 0xFE, 0x0F, 0xFE, 0x0F, 0x08, 0x0C, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char t + 0x0B, 0x00, 0x00, 0xF8, 0x07, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, 0x0F, 0x00, 0x08, 0x00, 0x08, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char u + 0x0A, 0x08, 0x00, 0x18, 0x00, 0x78, 0x00, 0xF8, 0x01, 0xF8, 0x03, 0xE0, 0x0F, 0xC0, 0x03, 0xC0, 0x00, 0x30, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char v + 0x0E, 0x08, 0x00, 0x38, 0x00, 0xF8, 0x00, 0xF8, 0x03, 0xF8, 0x0F, 0xE0, 0x07, 0x80, 0x01, 0xC0, 0x00, 0xF0, 0x01, 0xF8, 0x07, 0xF0, 0x0F, 0xC0, 0x01, 0x60, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char w + 0x0B, 0x08, 0x08, 0x18, 0x04, 0x38, 0x02, 0xF8, 0x01, 0xF8, 0x01, 0xF0, 0x07, 0xC0, 0x0F, 0xA0, 0x0F, 0x10, 0x0E, 0x08, 0x0C, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char x + 0x0A, 0x08, 0x00, 0x18, 0x00, 0x38, 0x08, 0xF8, 0x08, 0xF8, 0x09, 0xF0, 0x07, 0xC0, 0x01, 0x40, 0x00, 0x30, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char y + 0x0B, 0x00, 0x08, 0x08, 0x0C, 0x08, 0x0E, 0x88, 0x0F, 0xC8, 0x0F, 0xE8, 0x0F, 0xF8, 0x09, 0xF8, 0x08, 0x78, 0x08, 0x18, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char z + 0x08, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x7C, 0x1F, 0x7E, 0x3F, 0x7E, 0x3F, 0x02, 0x20, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char { + 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x7F, 0xFE, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char | + 0x08, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x02, 0x20, 0x7E, 0x3F, 0x7E, 0x3F, 0x7C, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char } + 0x09, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x60, 0x00, 0x60, 0x00, 0xE0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // Code for char ~ + }; \ No newline at end of file diff --git a/ili9341/fonts/Dejavu24x43.c b/ili9341/fonts/Dejavu24x43.c new file mode 100644 index 0000000..8307a63 --- /dev/null +++ b/ili9341/fonts/Dejavu24x43.c @@ -0,0 +1,108 @@ +// +// dejavu_sans_mono_28pt +// Font Size: 24x43px +// Created: 01-12-2023 17:23:29 +// +//#include +// +// Pseudocode for retrieving data for a specific character: +// +// bytes_per_char = font_height * (font_width / 8 + ((font_width % 8) ? 1 : 0)) +// offset = (ascii_code(character) - ascii_code(' ')) * bytes_per_char +// data = dejavu_sans_mono_28pt[offset] +// +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x20 (32: ' ') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xFF, 0xFF, 0xE1, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xE1, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xE1, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xE1, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x21 (33: '!') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x80, 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, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x80, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x22 (34: '"') +0x18, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x80, 0x03, 0x07, 0x00, 0x00, 0x00, 0x80, 0x03, 0x87, 0x03, 0x00, 0x00, 0x80, 0x03, 0xFF, 0x03, 0x00, 0x00, 0x80, 0x83, 0xFF, 0x03, 0x00, 0x00, 0x80, 0xFB, 0x7F, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00, 0xF8, 0x7F, 0x07, 0x00, 0x00, 0x80, 0xFF, 0x07, 0x07, 0x00, 0x00, 0x80, 0xBF, 0x03, 0x07, 0x03, 0x00, 0x80, 0x83, 0x03, 0xF7, 0x03, 0x00, 0x00, 0x80, 0x03, 0xFF, 0x03, 0x00, 0x00, 0x80, 0xF3, 0xFF, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x07, 0x00, 0x00, 0x00, 0xFF, 0x0F, 0x07, 0x00, 0x00, 0x80, 0xFF, 0x03, 0x07, 0x00, 0x00, 0x80, 0x87, 0x03, 0x07, 0x00, 0x00, 0x00, 0x80, 0x03, 0x07, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x23 (35: '#') +0x18, 0x00, 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, 0x07, 0xE0, 0x00, 0x00, 0x00, 0xF0, 0x1F, 0xC0, 0x01, 0x00, 0x00, 0xF8, 0x1F, 0xC0, 0x01, 0x00, 0x00, 0xF8, 0x3F, 0x80, 0x01, 0x00, 0x00, 0x3C, 0x3C, 0x80, 0x03, 0x00, 0x00, 0x1C, 0x78, 0x80, 0x03, 0x00, 0x00, 0x1C, 0x70, 0x80, 0x03, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x1C, 0x70, 0x80, 0x03, 0x00, 0x00, 0x1C, 0xF0, 0x80, 0x03, 0x00, 0x00, 0x1C, 0xE0, 0xC0, 0x03, 0x00, 0x00, 0x1C, 0xE0, 0xE1, 0x01, 0x00, 0x00, 0x38, 0xC0, 0xFF, 0x01, 0x00, 0x00, 0x38, 0xC0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x24 (36: '$') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x81, 0x01, 0x00, 0x00, 0x00, 0x87, 0x83, 0x00, 0x00, 0x00, 0x80, 0x03, 0xC7, 0x00, 0x00, 0x00, 0x80, 0x01, 0xC6, 0x00, 0x00, 0x00, 0x80, 0x01, 0x66, 0x00, 0x00, 0x00, 0x80, 0x01, 0x66, 0x00, 0x00, 0x00, 0x80, 0x01, 0x66, 0x00, 0x00, 0x00, 0x00, 0x03, 0x37, 0x00, 0x00, 0x00, 0x00, 0x87, 0x33, 0x7E, 0x00, 0x00, 0x00, 0xFE, 0x19, 0xFF, 0x00, 0x00, 0x00, 0x78, 0x98, 0xC3, 0x01, 0x00, 0x00, 0x00, 0xD8, 0x81, 0x03, 0x00, 0x00, 0x00, 0xCC, 0x00, 0x03, 0x00, 0x00, 0x00, 0xCC, 0x00, 0x03, 0x00, 0x00, 0x00, 0xCC, 0x00, 0x03, 0x00, 0x00, 0x00, 0xC6, 0x00, 0x03, 0x00, 0x00, 0x00, 0x86, 0x81, 0x01, 0x00, 0x00, 0x00, 0x83, 0xC3, 0x01, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x25 (37: '%') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x00, 0x00, 0x00, 0x7C, 0xF8, 0xFF, 0x00, 0x00, 0x00, 0xFE, 0x3D, 0xF0, 0x01, 0x00, 0x00, 0xFF, 0x1F, 0xE0, 0x01, 0x00, 0x00, 0xFF, 0x0F, 0xC0, 0x03, 0x00, 0x80, 0x87, 0x3F, 0xC0, 0x03, 0x00, 0x80, 0x03, 0x7F, 0x80, 0x03, 0x00, 0x80, 0x03, 0xFC, 0x80, 0x03, 0x00, 0x80, 0x03, 0xF8, 0x83, 0x03, 0x00, 0x80, 0x03, 0xF0, 0x87, 0x03, 0x00, 0x80, 0x03, 0xC0, 0x8F, 0x01, 0x00, 0x00, 0x03, 0x80, 0xFF, 0x01, 0x00, 0x00, 0x07, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x03, 0x00, 0x00, 0x00, 0xF0, 0xDF, 0x03, 0x00, 0x00, 0x00, 0xF0, 0x87, 0x03, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x26 (38: '&') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x80, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x27 (39: ''') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x07, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0xFF, 0x01, 0xF0, 0x1F, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x7E, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x70, 0x00, 0x40, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x28 (40: '(') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x40, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x78, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0xFF, 0x01, 0xF0, 0x1F, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0xC0, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xFC, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x29 (41: ')') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x18, 0x06, 0x00, 0x00, 0x00, 0x00, 0x38, 0x07, 0x00, 0x00, 0x00, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, 0x00, 0x38, 0x06, 0x00, 0x00, 0x00, 0x00, 0x18, 0x06, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x08, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x2a (42: '*') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x2b (43: '+') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x07, 0x00, 0x00, 0x00, 0x00, 0xF0, 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, // Character 0x2c (44: ',') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 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, // Character 0x2d (45: '-') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x03, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xF0, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x2e (46: '.') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x03, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x07, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x00, 0x00, 0xC0, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x07, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x80, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x2f (47: '/') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x7F, 0x00, 0xFC, 0x01, 0x00, 0x00, 0x0F, 0x00, 0xE0, 0x01, 0x00, 0x80, 0x07, 0x18, 0xC0, 0x03, 0x00, 0x80, 0x03, 0x3C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x3C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x18, 0x80, 0x03, 0x00, 0x80, 0x07, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x0F, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x7F, 0x00, 0xFC, 0x01, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x80, 0xFF, 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, // Character 0x30 (48: '0') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x80, 0x03, 0x00, 0x00, 0x07, 0x00, 0x80, 0x03, 0x00, 0x00, 0x07, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x31 (49: '1') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x0F, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x07, 0x00, 0xF0, 0x03, 0x00, 0x00, 0x07, 0x00, 0xF8, 0x03, 0x00, 0x80, 0x07, 0x00, 0xFC, 0x03, 0x00, 0x80, 0x03, 0x00, 0xBE, 0x03, 0x00, 0x80, 0x03, 0x00, 0x9F, 0x03, 0x00, 0x80, 0x03, 0x80, 0x8F, 0x03, 0x00, 0x80, 0x03, 0xC0, 0x8F, 0x03, 0x00, 0x80, 0x03, 0xE0, 0x87, 0x03, 0x00, 0x80, 0x07, 0xF0, 0x83, 0x03, 0x00, 0x00, 0x07, 0xF8, 0x81, 0x03, 0x00, 0x00, 0x1F, 0xFE, 0x80, 0x03, 0x00, 0x00, 0xFF, 0x7F, 0x80, 0x03, 0x00, 0x00, 0xFE, 0x3F, 0x80, 0x03, 0x00, 0x00, 0xFC, 0x1F, 0x80, 0x03, 0x00, 0x00, 0xF0, 0x07, 0x80, 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, // Character 0x32 (50: '2') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x07, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x07, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x07, 0x3E, 0xC0, 0x03, 0x00, 0x00, 0x0F, 0x37, 0xC0, 0x01, 0x00, 0x00, 0xFF, 0xF7, 0xF0, 0x01, 0x00, 0x00, 0xFE, 0xF3, 0xFF, 0x01, 0x00, 0x00, 0xFC, 0xE3, 0xFF, 0x00, 0x00, 0x00, 0xF8, 0xC0, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 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, // Character 0x33 (51: '3') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x0E, 0x00, 0x00, 0x00, 0xC0, 0x07, 0x0E, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x0E, 0x00, 0x00, 0x00, 0x78, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x0E, 0x00, 0x00, 0x80, 0x0F, 0x00, 0x0E, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x34 (52: '4') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x80, 0xFF, 0x0F, 0xC0, 0x01, 0x00, 0x80, 0xFF, 0x0F, 0x80, 0x03, 0x00, 0x80, 0xFF, 0x07, 0x80, 0x03, 0x00, 0x80, 0xFF, 0x07, 0x80, 0x03, 0x00, 0x80, 0x03, 0x07, 0x80, 0x03, 0x00, 0x80, 0x03, 0x07, 0x80, 0x03, 0x00, 0x80, 0x03, 0x07, 0x80, 0x03, 0x00, 0x80, 0x03, 0x07, 0x80, 0x03, 0x00, 0x80, 0x03, 0x0F, 0x80, 0x03, 0x00, 0x80, 0x03, 0x0F, 0xC0, 0x03, 0x00, 0x80, 0x03, 0x1E, 0xE0, 0x01, 0x00, 0x80, 0x03, 0x3E, 0xF0, 0x01, 0x00, 0x80, 0x03, 0xFC, 0xFF, 0x00, 0x00, 0x80, 0x03, 0xFC, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xC0, 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, // Character 0x35 (53: '5') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFE, 0x70, 0xF0, 0x01, 0x00, 0x00, 0x1F, 0x18, 0xC0, 0x01, 0x00, 0x00, 0x0F, 0x0C, 0x80, 0x03, 0x00, 0x80, 0x07, 0x0E, 0x80, 0x03, 0x00, 0x80, 0x03, 0x0E, 0x80, 0x03, 0x00, 0x80, 0x03, 0x0E, 0x80, 0x03, 0x00, 0x80, 0x03, 0x0E, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1E, 0xC0, 0x03, 0x00, 0x80, 0x03, 0x7C, 0xF0, 0x01, 0x00, 0x80, 0x03, 0xFC, 0xFF, 0x01, 0x00, 0x00, 0x07, 0xF8, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xC0, 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, // Character 0x36 (54: '6') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x02, 0x00, 0x80, 0x03, 0x00, 0xC0, 0x03, 0x00, 0x80, 0x03, 0x00, 0xF8, 0x03, 0x00, 0x80, 0x03, 0x00, 0xFF, 0x03, 0x00, 0x80, 0x03, 0xE0, 0xFF, 0x01, 0x00, 0x80, 0x03, 0xFC, 0x3F, 0x00, 0x00, 0x80, 0x83, 0xFF, 0x0F, 0x00, 0x00, 0x80, 0xF3, 0xFF, 0x01, 0x00, 0x00, 0x80, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x80, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x80, 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, // Character 0x37 (55: '7') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x1F, 0x00, 0x00, 0x00, 0xF8, 0xC0, 0x7F, 0x00, 0x00, 0x00, 0xFE, 0xE3, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xF3, 0xFF, 0x01, 0x00, 0x00, 0xFF, 0x77, 0xE0, 0x01, 0x00, 0x80, 0x0F, 0x37, 0xC0, 0x03, 0x00, 0x80, 0x07, 0x1E, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x07, 0x1E, 0x80, 0x03, 0x00, 0x80, 0x0F, 0x37, 0xC0, 0x03, 0x00, 0x00, 0xFF, 0x77, 0xE0, 0x01, 0x00, 0x00, 0xFF, 0xF3, 0xFF, 0x01, 0x00, 0x00, 0xFE, 0xE3, 0xFF, 0x00, 0x00, 0x00, 0xF8, 0xC0, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 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, // Character 0x38 (56: '8') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x07, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x3F, 0xC0, 0x01, 0x00, 0x00, 0xFF, 0x7F, 0x80, 0x03, 0x00, 0x00, 0x0F, 0x78, 0x80, 0x03, 0x00, 0x80, 0x07, 0xF0, 0x80, 0x03, 0x00, 0x80, 0x03, 0xE0, 0x80, 0x03, 0x00, 0x80, 0x03, 0xE0, 0x80, 0x03, 0x00, 0x80, 0x03, 0xE0, 0x80, 0x03, 0x00, 0x80, 0x03, 0xE0, 0xC0, 0x03, 0x00, 0x80, 0x03, 0x60, 0xE0, 0x01, 0x00, 0x00, 0x07, 0x30, 0xF0, 0x01, 0x00, 0x00, 0x1F, 0x1C, 0xFE, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x80, 0xFF, 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, // Character 0x39 (57: '9') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1F, 0xF0, 0x03, 0x00, 0x00, 0x80, 0x1F, 0xF0, 0x03, 0x00, 0x00, 0x80, 0x1F, 0xF0, 0x03, 0x00, 0x00, 0x80, 0x1F, 0xF0, 0x03, 0x00, 0x00, 0x80, 0x1F, 0xF0, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x3a (58: ':') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x80, 0x1F, 0xF0, 0x7F, 0x00, 0x00, 0x80, 0x1F, 0xF0, 0x3F, 0x00, 0x00, 0x80, 0x1F, 0xF0, 0x0F, 0x00, 0x00, 0x80, 0x1F, 0xF0, 0x07, 0x00, 0x00, 0x80, 0x1F, 0xF0, 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, // Character 0x3b (59: ';') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0E, 0x00, 0x00, 0x00, 0x80, 0x03, 0x1C, 0x00, 0x00, 0x00, 0x80, 0x03, 0x1C, 0x00, 0x00, 0x00, 0xC0, 0x03, 0x3C, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x38, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x38, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x3c (60: '<') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x3d (61: '=') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x70, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x38, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x38, 0x00, 0x00, 0x00, 0xC0, 0x03, 0x3C, 0x00, 0x00, 0x00, 0x80, 0x03, 0x1C, 0x00, 0x00, 0x00, 0x80, 0x03, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x03, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x3e (62: '>') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0xF0, 0xE3, 0x03, 0x00, 0x80, 0x03, 0xFC, 0xE3, 0x03, 0x00, 0x80, 0x03, 0xFE, 0xE3, 0x03, 0x00, 0x80, 0x03, 0xFF, 0xE3, 0x03, 0x00, 0x80, 0x83, 0x1F, 0x00, 0x00, 0x00, 0x80, 0xE7, 0x07, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x3f (63: '?') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0xE0, 0x0F, 0xE0, 0x0F, 0x00, 0x00, 0xF0, 0x01, 0x00, 0x1F, 0x00, 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x38, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x1C, 0xE0, 0x0F, 0x78, 0x00, 0x00, 0x1C, 0xF0, 0x1F, 0x70, 0x00, 0x00, 0x0E, 0xFC, 0x7F, 0x70, 0x00, 0x00, 0x0E, 0x3C, 0x78, 0xE0, 0x00, 0x00, 0x0E, 0x1E, 0xF0, 0xE0, 0x00, 0x00, 0x0E, 0x0E, 0xE0, 0xE0, 0x00, 0x00, 0x0E, 0x0E, 0xE0, 0xE0, 0x00, 0x00, 0x0E, 0x0E, 0xE0, 0xE0, 0x00, 0x00, 0x1E, 0x0E, 0xE0, 0xE0, 0x00, 0x00, 0x3C, 0x1C, 0x70, 0xF0, 0x00, 0x00, 0xFC, 0x38, 0x38, 0x70, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x40 (64: '@') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x07, 0x00, 0x00, 0x00, 0xFC, 0x7F, 0x07, 0x00, 0x00, 0x80, 0xFF, 0x0F, 0x07, 0x00, 0x00, 0x80, 0xFF, 0x01, 0x07, 0x00, 0x00, 0x80, 0x1F, 0x00, 0x07, 0x00, 0x00, 0x80, 0xFF, 0x01, 0x07, 0x00, 0x00, 0x80, 0xFF, 0x0F, 0x07, 0x00, 0x00, 0x00, 0xFC, 0x7F, 0x07, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x41 (65: 'A') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x07, 0x3E, 0xC0, 0x03, 0x00, 0x00, 0x0F, 0x37, 0xC0, 0x03, 0x00, 0x00, 0xFF, 0xF7, 0xE0, 0x01, 0x00, 0x00, 0xFE, 0xF7, 0xFF, 0x01, 0x00, 0x00, 0xFC, 0xE3, 0xFF, 0x00, 0x00, 0x00, 0xF8, 0xC0, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x42 (66: 'B') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x01, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x1F, 0x00, 0xF0, 0x01, 0x00, 0x00, 0x0F, 0x00, 0xE0, 0x01, 0x00, 0x80, 0x07, 0x00, 0xC0, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x07, 0x00, 0x80, 0x03, 0x00, 0x00, 0x07, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x0F, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x1E, 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, // Character 0x43 (67: 'C') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x07, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x07, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x0F, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x1F, 0x00, 0xF0, 0x01, 0x00, 0x00, 0x7E, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x80, 0xFF, 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, // Character 0x44 (68: 'D') +0x18, 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, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 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, // Character 0x45 (69: 'E') +0x18, 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, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x00, 0x00, 0x00, 0x80, 0x03, 0x1C, 0x00, 0x00, 0x00, 0x80, 0x03, 0x1C, 0x00, 0x00, 0x00, 0x80, 0x03, 0x1C, 0x00, 0x00, 0x00, 0x80, 0x03, 0x1C, 0x00, 0x00, 0x00, 0x80, 0x03, 0x1C, 0x00, 0x00, 0x00, 0x80, 0x03, 0x1C, 0x00, 0x00, 0x00, 0x80, 0x03, 0x1C, 0x00, 0x00, 0x00, 0x80, 0x03, 0x1C, 0x00, 0x00, 0x00, 0x80, 0x03, 0x1C, 0x00, 0x00, 0x00, 0x80, 0x03, 0x1C, 0x00, 0x00, 0x00, 0x80, 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, // Character 0x46 (70: 'F') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x01, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xFE, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x1F, 0x00, 0xF0, 0x01, 0x00, 0x00, 0x0F, 0x00, 0xC0, 0x01, 0x00, 0x80, 0x07, 0x00, 0xC0, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x70, 0x80, 0x03, 0x00, 0x80, 0x03, 0x70, 0x80, 0x03, 0x00, 0x80, 0x03, 0x70, 0x80, 0x03, 0x00, 0x80, 0x07, 0x70, 0xC0, 0x03, 0x00, 0x00, 0x07, 0xF0, 0xFF, 0x01, 0x00, 0x00, 0x0F, 0xF0, 0xFF, 0x01, 0x00, 0x00, 0x1E, 0xF0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xF0, 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, // Character 0x47 (71: 'G') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 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, // Character 0x48 (72: 'H') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 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, // Character 0x49 (73: 'I') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0xC0, 0x03, 0x00, 0x80, 0x03, 0x00, 0xE0, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x80, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x80, 0xFF, 0xFF, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x4a (74: 'J') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xF0, 0xF1, 0x07, 0x00, 0x00, 0x00, 0xF8, 0xE0, 0x1F, 0x00, 0x00, 0x00, 0x7C, 0x80, 0x3F, 0x00, 0x00, 0x00, 0x3E, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x0F, 0x00, 0xFC, 0x01, 0x00, 0x80, 0x07, 0x00, 0xF8, 0x03, 0x00, 0x80, 0x03, 0x00, 0xE0, 0x03, 0x00, 0x80, 0x01, 0x00, 0xC0, 0x03, 0x00, 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x4b (75: 'K') +0x18, 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, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x4c (76: 'L') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x07, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x07, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x4d (77: 'M') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x07, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x07, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 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, // Character 0x4e (78: 'N') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x3F, 0x00, 0xF8, 0x01, 0x00, 0x00, 0x0F, 0x00, 0xE0, 0x01, 0x00, 0x80, 0x07, 0x00, 0xC0, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x07, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x0F, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x7F, 0x00, 0xFC, 0x01, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x80, 0xFF, 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, // Character 0x4f (79: 'O') +0x18, 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, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0x03, 0x70, 0x00, 0x00, 0x00, 0x80, 0x03, 0x70, 0x00, 0x00, 0x00, 0x80, 0x03, 0x70, 0x00, 0x00, 0x00, 0x80, 0x03, 0x70, 0x00, 0x00, 0x00, 0x80, 0x03, 0x70, 0x00, 0x00, 0x00, 0x80, 0x03, 0x70, 0x00, 0x00, 0x00, 0x80, 0x07, 0x78, 0x00, 0x00, 0x00, 0x80, 0x07, 0x78, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x3E, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x50 (80: 'P') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x3F, 0x00, 0xF8, 0x01, 0x00, 0x00, 0x0F, 0x00, 0xE0, 0x01, 0x00, 0x80, 0x07, 0x00, 0xC0, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x07, 0x00, 0x80, 0x07, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0xE0, 0x3F, 0x00, 0x00, 0x7F, 0x00, 0xFC, 0x7D, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x38, 0x00, 0x00, 0xFC, 0xFF, 0x7F, 0x30, 0x00, 0x00, 0xF0, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x80, 0xFF, 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, // Character 0x51 (81: 'Q') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0x03, 0x70, 0x00, 0x00, 0x00, 0x80, 0x03, 0x70, 0x00, 0x00, 0x00, 0x80, 0x03, 0x70, 0x00, 0x00, 0x00, 0x80, 0x03, 0x70, 0x00, 0x00, 0x00, 0x80, 0x03, 0x70, 0x00, 0x00, 0x00, 0x80, 0x03, 0xF0, 0x00, 0x00, 0x00, 0x80, 0x07, 0xF0, 0x01, 0x00, 0x00, 0x80, 0x07, 0xF8, 0x03, 0x00, 0x00, 0x00, 0x1F, 0xDC, 0x0F, 0x00, 0x00, 0x00, 0xFF, 0x9F, 0x3F, 0x00, 0x00, 0x00, 0xFE, 0x0F, 0xFF, 0x00, 0x00, 0x00, 0xFC, 0x0F, 0xFE, 0x03, 0x00, 0x00, 0xF0, 0x03, 0xF8, 0x03, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x52 (82: 'R') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0xF0, 0x00, 0x00, 0x00, 0xFC, 0x07, 0xE0, 0x01, 0x00, 0x00, 0xFE, 0x0F, 0xC0, 0x01, 0x00, 0x00, 0xFF, 0x0F, 0xC0, 0x01, 0x00, 0x00, 0x0F, 0x1F, 0x80, 0x03, 0x00, 0x80, 0x07, 0x1E, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1E, 0x80, 0x03, 0x00, 0x80, 0x03, 0x3C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x3C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x3C, 0x80, 0x03, 0x00, 0x80, 0x03, 0x7C, 0xC0, 0x03, 0x00, 0x80, 0x07, 0x78, 0xC0, 0x03, 0x00, 0x00, 0x07, 0xF8, 0xE0, 0x01, 0x00, 0x00, 0x0F, 0xF0, 0xFF, 0x01, 0x00, 0x00, 0x1E, 0xF0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x80, 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, // Character 0x53 (83: 'S') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x54 (84: 'T') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x80, 0xFF, 0xFF, 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, // Character 0x55 (85: 'U') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x01, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x03, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x01, 0x00, 0x00, 0x80, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x00, 0x00, 0x00, 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, // Character 0x56 (86: 'V') +0x18, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xFE, 0x1F, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0x03, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x57 (87: 'W') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x80, 0x01, 0x00, 0xC0, 0x03, 0x00, 0x80, 0x07, 0x00, 0xF0, 0x03, 0x00, 0x80, 0x1F, 0x00, 0xF8, 0x03, 0x00, 0x80, 0x3F, 0x00, 0xFE, 0x01, 0x00, 0x00, 0xFF, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFC, 0xC1, 0x3F, 0x00, 0x00, 0x00, 0xF8, 0xF7, 0x0F, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x01, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x01, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x07, 0x00, 0x00, 0x00, 0xF8, 0xE7, 0x0F, 0x00, 0x00, 0x00, 0xFC, 0xC1, 0x3F, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x7F, 0x00, 0x00, 0x80, 0x3F, 0x00, 0xFE, 0x01, 0x00, 0x80, 0x0F, 0x00, 0xF8, 0x03, 0x00, 0x80, 0x07, 0x00, 0xE0, 0x03, 0x00, 0x80, 0x01, 0x00, 0xC0, 0x03, 0x00, 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x58 (88: 'X') +0x18, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x80, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x07, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0x03, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0xE0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x07, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x80, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x59 (89: 'Y') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0xC0, 0x03, 0x00, 0x80, 0x03, 0x00, 0xE0, 0x03, 0x00, 0x80, 0x03, 0x00, 0xF8, 0x03, 0x00, 0x80, 0x03, 0x00, 0xFC, 0x03, 0x00, 0x80, 0x03, 0x00, 0xFF, 0x03, 0x00, 0x80, 0x03, 0xC0, 0xBF, 0x03, 0x00, 0x80, 0x03, 0xE0, 0x8F, 0x03, 0x00, 0x80, 0x03, 0xF8, 0x87, 0x03, 0x00, 0x80, 0x03, 0xFE, 0x81, 0x03, 0x00, 0x80, 0x03, 0xFF, 0x80, 0x03, 0x00, 0x80, 0xC3, 0x3F, 0x80, 0x03, 0x00, 0x80, 0xE3, 0x0F, 0x80, 0x03, 0x00, 0x80, 0xFB, 0x07, 0x80, 0x03, 0x00, 0x80, 0xFF, 0x01, 0x80, 0x03, 0x00, 0x80, 0x7F, 0x00, 0x80, 0x03, 0x00, 0x80, 0x3F, 0x00, 0x80, 0x03, 0x00, 0x80, 0x0F, 0x00, 0x80, 0x03, 0x00, 0x80, 0x07, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x5a (90: 'Z') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x70, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x70, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x70, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x5b (91: '[') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x07, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x07, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x03, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x5c (92: '\') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x70, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x70, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x70, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x70, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x5d (93: ']') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 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, // Character 0x5e (94: '^') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x5f (95: '_') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x60 (96: '`') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x87, 0xFF, 0x00, 0x00, 0x00, 0x80, 0x83, 0xFF, 0x01, 0x00, 0x00, 0x80, 0xC3, 0xFF, 0x01, 0x00, 0x00, 0x80, 0xC1, 0xC3, 0x03, 0x00, 0x00, 0xC0, 0xE1, 0xC1, 0x03, 0x00, 0x00, 0xC0, 0xE1, 0x80, 0x03, 0x00, 0x00, 0xC0, 0xE1, 0x80, 0x03, 0x00, 0x00, 0xC0, 0xE1, 0x80, 0x03, 0x00, 0x00, 0xC0, 0xE1, 0x80, 0x03, 0x00, 0x00, 0xC0, 0xE1, 0xC0, 0x01, 0x00, 0x00, 0xC0, 0xE3, 0xE0, 0x00, 0x00, 0x00, 0x80, 0xE7, 0x70, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xFC, 0xFF, 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, // Character 0x61 (97: 'a') +0x18, 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, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x80, 0x03, 0xC0, 0x01, 0x00, 0x00, 0x80, 0x03, 0x80, 0x01, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x03, 0xC0, 0x03, 0x00, 0x00, 0x80, 0x0F, 0xF0, 0x01, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x62 (98: 'b') +0x18, 0x00, 0x00, 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, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x80, 0x1F, 0xF8, 0x01, 0x00, 0x00, 0x80, 0x07, 0xE0, 0x01, 0x00, 0x00, 0xC0, 0x03, 0xC0, 0x03, 0x00, 0x00, 0xC0, 0x03, 0xC0, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0x80, 0x03, 0x80, 0x01, 0x00, 0x00, 0x80, 0x03, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x07, 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, // Character 0x63 (99: 'c') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x80, 0x0F, 0xF0, 0x01, 0x00, 0x00, 0xC0, 0x03, 0xC0, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0x80, 0x03, 0x80, 0x01, 0x00, 0x00, 0x80, 0x03, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 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, // Character 0x64 (100: 'd') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x80, 0xCF, 0xF1, 0x01, 0x00, 0x00, 0x80, 0xC7, 0xE1, 0x01, 0x00, 0x00, 0xC0, 0xC3, 0xC1, 0x03, 0x00, 0x00, 0xC0, 0xC1, 0x81, 0x03, 0x00, 0x00, 0xC0, 0xC1, 0x81, 0x03, 0x00, 0x00, 0xC0, 0xC1, 0x81, 0x03, 0x00, 0x00, 0xC0, 0xC1, 0x81, 0x03, 0x00, 0x00, 0xC0, 0xC1, 0x81, 0x03, 0x00, 0x00, 0xC0, 0xC3, 0x81, 0x03, 0x00, 0x00, 0x80, 0xCF, 0xC1, 0x01, 0x00, 0x00, 0x80, 0xFF, 0xC1, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xC1, 0x01, 0x00, 0x00, 0x00, 0xFE, 0xE1, 0x00, 0x00, 0x00, 0x00, 0xF0, 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, // Character 0x65 (101: 'e') +0x18, 0x00, 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, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0xC3, 0x01, 0x00, 0x00, 0x00, 0xC0, 0xC1, 0x01, 0x00, 0x00, 0x00, 0xC0, 0xC1, 0x01, 0x00, 0x00, 0x00, 0xC0, 0xC1, 0x01, 0x00, 0x00, 0x00, 0xC0, 0xC1, 0x01, 0x00, 0x00, 0x00, 0xC0, 0xC1, 0x01, 0x00, 0x00, 0x00, 0xC0, 0xC1, 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, // Character 0x66 (102: 'f') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xC1, 0x01, 0x00, 0x80, 0x0F, 0xF0, 0xC1, 0x01, 0x00, 0xC0, 0x03, 0xC0, 0x83, 0x03, 0x00, 0xC0, 0x03, 0xC0, 0x83, 0x03, 0x00, 0xC0, 0x01, 0x80, 0x83, 0x03, 0x00, 0xC0, 0x01, 0x80, 0x83, 0x03, 0x00, 0xC0, 0x01, 0x80, 0x83, 0x03, 0x00, 0x80, 0x01, 0x80, 0xC1, 0x03, 0x00, 0x80, 0x03, 0xC0, 0xC1, 0x03, 0x00, 0x00, 0x0F, 0x70, 0xF0, 0x01, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 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, // Character 0x67 (103: 'g') +0x18, 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, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x07, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xFC, 0xFF, 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, // Character 0x68 (104: 'h') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0xC0, 0xC3, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0xC3, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0xC3, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0xC3, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x69 (105: 'i') +0x18, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0xC0, 0x01, 0x00, 0x80, 0x03, 0x00, 0xC0, 0x01, 0x00, 0x80, 0x03, 0x00, 0xC0, 0x01, 0x00, 0x80, 0x03, 0x00, 0xC0, 0x01, 0x00, 0x80, 0x03, 0x00, 0xC0, 0x01, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x01, 0x00, 0xE0, 0x03, 0xC0, 0xC3, 0xFF, 0xFF, 0xFF, 0x01, 0xC0, 0xC3, 0xFF, 0xFF, 0xFF, 0x01, 0xC0, 0xC3, 0xFF, 0xFF, 0xFF, 0x00, 0xC0, 0xC3, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x6a (106: 'j') +0x18, 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, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x07, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0x00, 0x80, 0x0F, 0xFC, 0x01, 0x00, 0x00, 0xC0, 0x07, 0xF8, 0x03, 0x00, 0x00, 0xC0, 0x03, 0xE0, 0x03, 0x00, 0x00, 0xC0, 0x01, 0xC0, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x03, 0x00, 0x00, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x6b (107: 'k') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 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, // Character 0x6c (108: 'l') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x6d (109: 'm') +0x18, 0x00, 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, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x07, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xFC, 0xFF, 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, // Character 0x6e (110: 'n') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x80, 0x0F, 0xF0, 0x01, 0x00, 0x00, 0xC0, 0x03, 0xC0, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x03, 0xC0, 0x03, 0x00, 0x00, 0x80, 0x0F, 0xF0, 0x01, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x3F, 0x00, 0x00, 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, // Character 0x6f (111: 'o') +0x18, 0x00, 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, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x80, 0x03, 0xC0, 0x01, 0x00, 0x00, 0x80, 0x03, 0x80, 0x01, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x03, 0xC0, 0x03, 0x00, 0x00, 0x80, 0x0F, 0xF0, 0x01, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x70 (112: 'p') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x80, 0x0F, 0xF0, 0x01, 0x00, 0x00, 0xC0, 0x03, 0xC0, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0x80, 0x03, 0x80, 0x01, 0x00, 0x00, 0x80, 0x03, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 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, // Character 0x71 (113: 'q') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x72 (114: 'r') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xC0, 0x01, 0x00, 0x00, 0x80, 0xFF, 0xC0, 0x01, 0x00, 0x00, 0x80, 0xFF, 0x80, 0x01, 0x00, 0x00, 0xC0, 0xF3, 0x81, 0x03, 0x00, 0x00, 0xC0, 0xE1, 0x81, 0x03, 0x00, 0x00, 0xC0, 0xE1, 0x81, 0x03, 0x00, 0x00, 0xC0, 0xE1, 0x81, 0x03, 0x00, 0x00, 0xC0, 0xE1, 0x83, 0x03, 0x00, 0x00, 0xC0, 0xC1, 0xC3, 0x03, 0x00, 0x00, 0xC0, 0xC1, 0xC7, 0x03, 0x00, 0x00, 0x80, 0xC3, 0xFF, 0x01, 0x00, 0x00, 0x80, 0x83, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x87, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x73 (115: 's') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0xC0, 0x01, 0xC0, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0x80, 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, // Character 0x74 (116: 't') +0x18, 0x00, 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, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 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, // Character 0x75 (117: 'u') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x1F, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x03, 0x00, 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, // Character 0x76 (118: 'v') +0x18, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x01, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0xC0, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x01, 0x00, 0x00, 0x00, 0xC0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x77 (119: 'w') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x01, 0xC0, 0x03, 0x00, 0x00, 0xC0, 0x07, 0xF0, 0x03, 0x00, 0x00, 0xC0, 0x0F, 0xF8, 0x03, 0x00, 0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x00, 0x00, 0x00, 0x80, 0x1F, 0xFC, 0x00, 0x00, 0x00, 0xC0, 0x0F, 0xF8, 0x01, 0x00, 0x00, 0xC0, 0x07, 0xF0, 0x03, 0x00, 0x00, 0xC0, 0x01, 0xC0, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x80, 0x03, 0x00, 0x00, 0x40, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x78 (120: 'x') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x03, 0x00, 0x80, 0x03, 0x00, 0xC0, 0x1F, 0x00, 0x80, 0x03, 0x00, 0xC0, 0x7F, 0x00, 0x80, 0x03, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0x03, 0x00, 0x00, 0xFE, 0x0F, 0xE0, 0x03, 0x00, 0x00, 0xF0, 0x7F, 0xF8, 0x01, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x07, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x01, 0x00, 0x00, 0x00, 0xF8, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x0F, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x01, 0x00, 0x00, 0x00, 0xC0, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x03, 0x00, 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, // Character 0x79 (121: 'y') +0x18, 0x00, 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, 0xC0, 0x03, 0x00, 0x00, 0xC0, 0x01, 0xE0, 0x03, 0x00, 0x00, 0xC0, 0x01, 0xF8, 0x03, 0x00, 0x00, 0xC0, 0x01, 0xFC, 0x03, 0x00, 0x00, 0xC0, 0x01, 0xFE, 0x03, 0x00, 0x00, 0xC0, 0x81, 0xBF, 0x03, 0x00, 0x00, 0xC0, 0xC1, 0x9F, 0x03, 0x00, 0x00, 0xC0, 0xF1, 0x87, 0x03, 0x00, 0x00, 0xC0, 0xF9, 0x83, 0x03, 0x00, 0x00, 0xC0, 0xFF, 0x81, 0x03, 0x00, 0x00, 0xC0, 0x7F, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x3F, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x0F, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x07, 0x80, 0x03, 0x00, 0x00, 0xC0, 0x03, 0x80, 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, // Character 0x7a (122: 'z') +0x18, 0x00, 0x00, 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, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x03, 0x00, 0x00, 0x00, 0xFE, 0xBF, 0xFF, 0x1F, 0x00, 0x80, 0xFF, 0xBF, 0xFF, 0x7F, 0x00, 0x80, 0xFF, 0x1F, 0xFF, 0x7F, 0x00, 0xC0, 0xFF, 0x0F, 0xFE, 0xFF, 0x00, 0xC0, 0x03, 0x00, 0x00, 0xF0, 0x00, 0xC0, 0x01, 0x00, 0x00, 0xE0, 0x00, 0xC0, 0x01, 0x00, 0x00, 0xE0, 0x00, 0xC0, 0x01, 0x00, 0x00, 0xE0, 0x00, 0xC0, 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, // Character 0x7b (123: '{') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x7c (124: '|') +0x18, 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, 0xE0, 0x00, 0xC0, 0x01, 0x00, 0x00, 0xE0, 0x00, 0xC0, 0x01, 0x00, 0x00, 0xE0, 0x00, 0xC0, 0x01, 0x00, 0x00, 0xE0, 0x00, 0xC0, 0x03, 0x00, 0x00, 0xF0, 0x00, 0xC0, 0xFF, 0x0F, 0xFE, 0x7F, 0x00, 0x80, 0xFF, 0x1F, 0xFF, 0x7F, 0x00, 0x80, 0xFF, 0xBF, 0xFF, 0x3F, 0x00, 0x00, 0xFE, 0xBF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0xF8, 0x03, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 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, // Character 0x7d (125: '}') +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Character 0x7e (126: '~') diff --git a/ili9341/fonts/EspressoDolce18x24.c b/ili9341/fonts/EspressoDolce18x24.c new file mode 100644 index 0000000..8a415fa --- /dev/null +++ b/ili9341/fonts/EspressoDolce18x24.c @@ -0,0 +1,110 @@ + +//WARNING: This Font Require X-GLCD Lib. +// You can not use it with MikroE GLCD Lib. + +//Font Generated by MikroElektronika GLCD Font Creator 1.2.0.0 +//MikroElektronika 2011 +//http://www.mikroe.com + +//GLCD FontName : Espresso_Dolce18x24 +//GLCD FontSize : 18 x 24 + +const unsigned short Espresso_Dolce18x24[] = { + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char + 0x03, 0x00, 0x00, 0x00, 0xFC, 0x3F, 0x07, 0xFC, 0x3F, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ! + 0x03, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char " + 0x0D, 0x00, 0x41, 0x00, 0x80, 0x61, 0x00, 0x80, 0xE3, 0x03, 0x80, 0xFF, 0x03, 0xE0, 0xFF, 0x01, 0xE0, 0xE3, 0x00, 0x80, 0xE3, 0x00, 0x80, 0xE3, 0x01, 0x80, 0xFF, 0x03, 0xE0, 0xFF, 0x03, 0xE0, 0xEF, 0x00, 0x80, 0xE3, 0x00, 0x80, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char # + 0x0B, 0x00, 0x30, 0x00, 0xC0, 0xF1, 0x00, 0xF0, 0xF3, 0x01, 0xF0, 0xC7, 0x01, 0xF8, 0xFF, 0x03, 0xFC, 0xFF, 0x07, 0xF8, 0xFF, 0x03, 0xF0, 0xCE, 0x01, 0xE0, 0xFD, 0x01, 0xC0, 0xFC, 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, // Code for char $ + 0x0F, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xFC, 0x01, 0x06, 0x9C, 0x81, 0x07, 0x9C, 0xE3, 0x03, 0xFC, 0xF1, 0x00, 0xF8, 0x7D, 0x00, 0x60, 0x1E, 0x00, 0x80, 0xEF, 0x01, 0xC0, 0xF3, 0x03, 0xF0, 0x39, 0x07, 0x78, 0x38, 0x07, 0x1C, 0x38, 0x07, 0x08, 0xF0, 0x03, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char % + 0x0D, 0x00, 0x60, 0x00, 0x00, 0xF8, 0x01, 0x00, 0xFC, 0x03, 0xF0, 0x0F, 0x07, 0xFC, 0x0F, 0x07, 0x9C, 0x3F, 0x07, 0xDC, 0xFB, 0x07, 0xFC, 0xE1, 0x03, 0xF8, 0xF8, 0x03, 0x00, 0xF8, 0x07, 0x00, 0x90, 0x07, 0x00, 0x80, 0x03, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char & + 0x07, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ' + 0x05, 0x00, 0x0E, 0x00, 0xF8, 0xFF, 0x03, 0xFF, 0xFF, 0x1F, 0x1F, 0x00, 0x1F, 0x02, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ( + 0x05, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x1E, 0xFF, 0xFF, 0x1F, 0xFC, 0xFF, 0x07, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ) + 0x08, 0x08, 0x00, 0x00, 0x5C, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x7F, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 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, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char * + 0x0A, 0x00, 0x0C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0xC0, 0xFF, 0x00, 0xC0, 0xFF, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x0C, 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, // Code for char + + 0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char , + 0x08, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0E, 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, 0x00, 0x00, 0x00, 0x00, // Code for char - + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char . + 0x0A, 0x00, 0x00, 0x18, 0x00, 0x00, 0x1F, 0x00, 0xE0, 0x0F, 0x00, 0xF8, 0x03, 0x00, 0x7F, 0x00, 0xC0, 0x1F, 0x00, 0xF0, 0x03, 0x00, 0xFE, 0x00, 0x00, 0x1F, 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, // Code for char / + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x00, 0xF8, 0xFF, 0x03, 0x38, 0x80, 0x03, 0x1C, 0x00, 0x07, 0x1C, 0x00, 0x07, 0x1C, 0x00, 0x07, 0x1C, 0x00, 0x07, 0x78, 0xC0, 0x03, 0xF8, 0xFF, 0x03, 0xE0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 0 + 0x05, 0x60, 0x00, 0x00, 0x70, 0x00, 0x00, 0x78, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 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, 0x00, 0x00, 0x00, 0x00, // Code for char 1 + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0x80, 0x07, 0xF8, 0xC0, 0x07, 0x38, 0xE0, 0x07, 0x1C, 0x70, 0x07, 0x1C, 0x30, 0x07, 0x1C, 0x38, 0x07, 0x1C, 0x1C, 0x07, 0x38, 0x0E, 0x07, 0xF8, 0x0F, 0x07, 0xF0, 0x03, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 2 + 0x0B, 0x00, 0x00, 0x00, 0x08, 0x80, 0x01, 0x0C, 0x80, 0x03, 0x1C, 0x00, 0x07, 0x1C, 0x03, 0x07, 0xDC, 0x03, 0x07, 0xFC, 0x03, 0x07, 0xFC, 0x07, 0x07, 0x3C, 0x8F, 0x03, 0x1C, 0xFE, 0x01, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 3 + 0x0B, 0x00, 0x40, 0x00, 0x80, 0xFF, 0x00, 0xFC, 0xFF, 0x00, 0xFC, 0xE3, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xF8, 0x03, 0x00, 0xFC, 0x07, 0x00, 0xFC, 0x07, 0x00, 0xE0, 0x00, 0x00, 0xE0, 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, // Code for char 4 + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0x87, 0x03, 0xFC, 0x07, 0x03, 0xFC, 0x03, 0x07, 0x9C, 0x03, 0x07, 0x9C, 0x03, 0x07, 0x9C, 0x03, 0x07, 0x9C, 0x03, 0x07, 0x0C, 0xFF, 0x03, 0x00, 0xFE, 0x01, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 5 + 0x0B, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x00, 0xE0, 0xFF, 0x03, 0xF0, 0x87, 0x03, 0xB8, 0x03, 0x07, 0x9C, 0x03, 0x07, 0x8C, 0x03, 0x07, 0x80, 0x03, 0x07, 0x00, 0xCF, 0x03, 0x00, 0xFE, 0x01, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 6 + 0x0A, 0x08, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0xC0, 0x07, 0x1C, 0xFC, 0x07, 0x9C, 0xFF, 0x03, 0xFC, 0x07, 0x00, 0xFC, 0x00, 0x00, 0x3C, 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, // Code for char 7 + 0x0C, 0x00, 0x00, 0x00, 0x60, 0xF8, 0x01, 0xF8, 0xFD, 0x03, 0xF8, 0x1F, 0x03, 0x9C, 0x0F, 0x07, 0x1C, 0x07, 0x07, 0x1C, 0x07, 0x07, 0x9C, 0x0F, 0x07, 0xF8, 0x0F, 0x07, 0xF8, 0xFD, 0x03, 0x00, 0xF8, 0x01, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 8 + 0x0B, 0x80, 0x01, 0x00, 0xF0, 0x0F, 0x00, 0xF8, 0x1F, 0x00, 0x38, 0x1C, 0x00, 0x1C, 0x38, 0x02, 0x1C, 0x38, 0x07, 0x1C, 0xB8, 0x07, 0x1C, 0xF8, 0x03, 0x78, 0xFE, 0x01, 0xF0, 0x7F, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 9 + 0x03, 0x00, 0x00, 0x00, 0x00, 0x38, 0x07, 0x00, 0x18, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char : + 0x04, 0x00, 0x00, 0x08, 0x00, 0x10, 0x1C, 0x00, 0x38, 0x1E, 0x00, 0x30, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ; + 0x0B, 0x00, 0x30, 0x00, 0x00, 0x78, 0x00, 0x00, 0x78, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xCE, 0x01, 0x00, 0xCE, 0x01, 0x00, 0x87, 0x03, 0x00, 0x87, 0x03, 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, // Code for char < + 0x0A, 0x00, 0x00, 0x00, 0x80, 0x31, 0x00, 0x80, 0x73, 0x00, 0x80, 0x73, 0x00, 0x80, 0x73, 0x00, 0x80, 0x73, 0x00, 0x80, 0x73, 0x00, 0x80, 0x73, 0x00, 0x80, 0x73, 0x00, 0x80, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char = + 0x0C, 0x00, 0x00, 0x00, 0x80, 0x01, 0x06, 0x80, 0x03, 0x07, 0x00, 0x87, 0x03, 0x00, 0x87, 0x03, 0x00, 0xCE, 0x01, 0x00, 0xCE, 0x01, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x78, 0x00, 0x00, 0x78, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char > + 0x0A, 0xE0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x78, 0x06, 0x1C, 0x7C, 0x07, 0x1C, 0x0C, 0x00, 0x38, 0x0E, 0x00, 0xF8, 0x07, 0x00, 0xF0, 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, // Code for char ? + 0x0F, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x07, 0x00, 0xFC, 0x0F, 0x00, 0x0E, 0x1C, 0x00, 0xE7, 0x39, 0x80, 0xFB, 0x3B, 0x80, 0x3B, 0x37, 0x80, 0x1F, 0x77, 0x80, 0x1B, 0x37, 0x80, 0x3B, 0x37, 0x80, 0xFB, 0x3B, 0x00, 0xFF, 0x3F, 0x00, 0x0E, 0x17, 0x00, 0xFC, 0x07, 0x00, 0xF8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char @ + 0x0D, 0x00, 0x00, 0x02, 0x00, 0xE0, 0x07, 0x00, 0xFE, 0x07, 0xE0, 0xFF, 0x00, 0xFC, 0xEF, 0x00, 0x7C, 0xE0, 0x00, 0x1C, 0xE0, 0x00, 0x7C, 0xE0, 0x00, 0xFC, 0xE7, 0x00, 0xF0, 0xFF, 0x00, 0x00, 0xFF, 0x03, 0x00, 0xF0, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char A + 0x0B, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0x1C, 0x07, 0x07, 0x1C, 0x07, 0x07, 0x1C, 0x07, 0x07, 0x1C, 0x07, 0x07, 0xFC, 0x07, 0x07, 0xF8, 0xFF, 0x07, 0xE0, 0xFC, 0x03, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char B + 0x0B, 0x00, 0x04, 0x00, 0xC0, 0x7F, 0x00, 0xF0, 0xFF, 0x01, 0x78, 0xC0, 0x03, 0x38, 0x80, 0x03, 0x1C, 0x00, 0x07, 0x1C, 0x00, 0x07, 0x1C, 0x00, 0x07, 0x1C, 0x00, 0x07, 0x38, 0x80, 0x03, 0x30, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char C + 0x0B, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0x1C, 0x00, 0x07, 0x1C, 0x00, 0x07, 0x1C, 0x00, 0x07, 0x1C, 0x00, 0x07, 0x78, 0xC0, 0x03, 0xF0, 0xFF, 0x01, 0xE0, 0xFF, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char D + 0x0A, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0x1C, 0x07, 0x07, 0x1C, 0x07, 0x07, 0x1C, 0x07, 0x07, 0x1C, 0x06, 0x07, 0x1C, 0x00, 0x07, 0x1C, 0x00, 0x07, 0x0C, 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, // Code for char E + 0x0A, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0x1C, 0x07, 0x00, 0x1C, 0x07, 0x00, 0x1C, 0x07, 0x00, 0x1C, 0x06, 0x00, 0x1C, 0x00, 0x00, 0x1C, 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, // Code for char F + 0x0B, 0x00, 0x04, 0x00, 0xC0, 0x7F, 0x00, 0xF0, 0xFF, 0x01, 0x78, 0xC0, 0x03, 0x38, 0x80, 0x03, 0x1C, 0x08, 0x07, 0x1C, 0x1C, 0x07, 0x1C, 0x1C, 0x07, 0x1C, 0x1C, 0x07, 0x38, 0xFC, 0x03, 0x30, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char G + 0x0B, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char H + 0x03, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char I + 0x09, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x03, 0x00, 0xC0, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0xF8, 0xFF, 0x03, 0xFC, 0xFF, 0x01, 0xFC, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char J + 0x0C, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0x00, 0x3C, 0x00, 0x00, 0x0F, 0x00, 0x80, 0x0F, 0x00, 0xC0, 0x1F, 0x00, 0xF0, 0x7C, 0x00, 0x78, 0xF0, 0x01, 0x3C, 0xE0, 0x03, 0x0C, 0x80, 0x07, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char K + 0x0A, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 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, // Code for char L + 0x10, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xF8, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x80, 0x0F, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x78, 0x00, 0x00, 0x78, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x1F, 0x00, 0xC0, 0x07, 0x00, 0xF0, 0x01, 0x00, 0xF8, 0xFF, 0x03, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char M + 0x0C, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xF8, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x80, 0x0F, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF0, 0x01, 0xF8, 0xFF, 0x03, 0xFC, 0xFF, 0x07, 0xF8, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char N + 0x0D, 0x00, 0x00, 0x00, 0xC0, 0x7F, 0x00, 0xF0, 0xFF, 0x01, 0x78, 0xC0, 0x03, 0x38, 0x80, 0x03, 0x1C, 0x00, 0x07, 0x1C, 0x00, 0x07, 0x1C, 0x00, 0x07, 0x1C, 0x00, 0x07, 0x38, 0x80, 0x03, 0xF0, 0xF1, 0x01, 0xE0, 0xFF, 0x00, 0x80, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char O + 0x0B, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0x1C, 0x1C, 0x00, 0x1C, 0x1C, 0x00, 0x1C, 0x1C, 0x00, 0x1C, 0x1C, 0x00, 0x1C, 0x1C, 0x00, 0xFC, 0x1F, 0x00, 0xF8, 0x0F, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char P + 0x0D, 0x00, 0x0E, 0x00, 0xC0, 0x7F, 0x00, 0xF0, 0xFF, 0x01, 0x78, 0xC0, 0x03, 0x3C, 0x80, 0x07, 0x1C, 0x10, 0x07, 0x1C, 0x78, 0x06, 0x1C, 0xF0, 0x07, 0x1C, 0xE0, 0x07, 0x78, 0x80, 0x0F, 0xF0, 0xFF, 0x1F, 0xE0, 0xFF, 0x1C, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Q + 0x0B, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0x1C, 0x1C, 0x00, 0x1C, 0x1C, 0x00, 0x1C, 0x3C, 0x00, 0x1C, 0x7C, 0x00, 0x1C, 0xFC, 0x01, 0xFC, 0xDF, 0x07, 0xF8, 0x8F, 0x07, 0xE0, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char R + 0x0E, 0x00, 0x20, 0x00, 0xE0, 0xF0, 0x01, 0xF0, 0xE1, 0x01, 0xF8, 0x83, 0x03, 0x1C, 0x03, 0x07, 0x1C, 0x07, 0x07, 0x1C, 0x07, 0x07, 0x1C, 0x07, 0x07, 0x1C, 0x06, 0x07, 0x1C, 0x06, 0x07, 0x78, 0x8E, 0x03, 0xF0, 0xFC, 0x03, 0x60, 0xF8, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char S + 0x0B, 0x08, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 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, // Code for char T + 0x0B, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x01, 0xFC, 0xFF, 0x03, 0x00, 0x80, 0x03, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0xF8, 0xFF, 0x03, 0xFC, 0xFF, 0x01, 0xFC, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char U + 0x0C, 0x08, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xFC, 0x07, 0x00, 0xE0, 0x3F, 0x00, 0x00, 0xFE, 0x01, 0x00, 0xF0, 0x07, 0x00, 0xF0, 0x07, 0x00, 0xFE, 0x01, 0xC0, 0x3F, 0x00, 0xF8, 0x07, 0x00, 0xFC, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char V + 0x12, 0x08, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xFC, 0x03, 0x00, 0xE0, 0x1F, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xF0, 0x07, 0x00, 0xE0, 0x07, 0x00, 0xFE, 0x03, 0x80, 0x3F, 0x00, 0x80, 0x3F, 0x00, 0x00, 0xFE, 0x01, 0x00, 0xF0, 0x07, 0x00, 0xE0, 0x07, 0x00, 0xFE, 0x03, 0xC0, 0x3F, 0x00, 0xF8, 0x07, 0x00, 0xFC, 0x00, 0x00, 0x1C, 0x00, 0x00, // Code for char W + 0x0C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x07, 0x7C, 0xC0, 0x07, 0xF8, 0xE0, 0x03, 0xE0, 0xFB, 0x00, 0x80, 0x3F, 0x00, 0x00, 0x1F, 0x00, 0xC0, 0x7F, 0x00, 0xE0, 0xF1, 0x00, 0xF8, 0xE0, 0x03, 0x3C, 0x80, 0x07, 0x0C, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char X + 0x0C, 0x08, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xF8, 0x01, 0x00, 0xE0, 0x07, 0x00, 0x80, 0x1F, 0x00, 0x00, 0xFC, 0x07, 0x00, 0xFC, 0x07, 0x80, 0x3F, 0x00, 0xE0, 0x07, 0x00, 0xF8, 0x01, 0x00, 0x7C, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Y + 0x0D, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x07, 0x1C, 0x80, 0x07, 0x1C, 0xE0, 0x07, 0x1C, 0xF0, 0x07, 0x1C, 0x78, 0x07, 0x1C, 0x1E, 0x07, 0x1C, 0x0F, 0x07, 0xDC, 0x07, 0x07, 0xFC, 0x01, 0x07, 0xFC, 0x00, 0x07, 0x3C, 0x00, 0x07, 0x1C, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Z + 0x05, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, 0x03, 0x00, 0x18, 0x03, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char [ + 0x0A, 0x03, 0x00, 0x00, 0x1F, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xF8, 0x03, 0x00, 0xC0, 0x1F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0xF8, 0x03, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char BackSlash + 0x05, 0x02, 0x00, 0x08, 0x03, 0x00, 0x18, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, 0xFE, 0xFF, 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, // Code for char ] + 0x09, 0x00, 0x08, 0x00, 0x00, 0x1F, 0x00, 0xE0, 0x1F, 0x00, 0xFC, 0x03, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0xFC, 0x03, 0x00, 0xE0, 0x1F, 0x00, 0x00, 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, // Code for char ^ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char _ + 0x04, 0x0C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x38, 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, // Code for char ` + 0x0C, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x01, 0x00, 0xFB, 0x03, 0x80, 0x3B, 0x07, 0x80, 0x1B, 0x07, 0x80, 0x1F, 0x07, 0x80, 0x1B, 0x07, 0x80, 0x1B, 0x07, 0x00, 0xFF, 0x03, 0x00, 0xFF, 0x07, 0x00, 0xFC, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char a + 0x0B, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0x80, 0x03, 0x07, 0x80, 0x03, 0x07, 0x80, 0x03, 0x07, 0x80, 0x03, 0x07, 0x80, 0x03, 0x07, 0x00, 0x87, 0x03, 0x00, 0xFE, 0x01, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char b + 0x0B, 0x00, 0x10, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFF, 0x03, 0x00, 0x87, 0x03, 0x80, 0x03, 0x07, 0x80, 0x03, 0x07, 0x80, 0x03, 0x07, 0x80, 0x03, 0x07, 0x80, 0x03, 0x07, 0x00, 0x87, 0x03, 0x00, 0x86, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char c + 0x0B, 0x00, 0x78, 0x00, 0x00, 0xFE, 0x01, 0x00, 0xFF, 0x03, 0x00, 0x87, 0x03, 0x80, 0x03, 0x07, 0x80, 0x03, 0x07, 0x80, 0x03, 0x07, 0x80, 0x03, 0x07, 0xF8, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char d + 0x0C, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFE, 0x01, 0x00, 0xBF, 0x03, 0x80, 0x3B, 0x07, 0x80, 0x3B, 0x07, 0x80, 0x3B, 0x07, 0x80, 0x3B, 0x07, 0x80, 0x3B, 0x07, 0x00, 0xBF, 0x03, 0x00, 0x3E, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char e + 0x0A, 0x00, 0x01, 0x00, 0x80, 0x01, 0x00, 0xC0, 0xFF, 0x03, 0xF0, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x9C, 0x03, 0x00, 0x9C, 0x01, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char f + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x38, 0x00, 0xFE, 0x79, 0x00, 0x87, 0x73, 0x80, 0x03, 0xE7, 0x80, 0x03, 0xE7, 0x80, 0x03, 0xE7, 0x80, 0x03, 0xE7, 0x80, 0x03, 0x77, 0x80, 0xFF, 0x7F, 0x80, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char g + 0x0B, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0x00, 0x07, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x00, 0xFF, 0x07, 0x00, 0xFF, 0x07, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char h + 0x03, 0x00, 0x00, 0x00, 0x9C, 0xFF, 0x07, 0x8C, 0xFF, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char i + 0x08, 0x00, 0x00, 0x60, 0x00, 0x00, 0x70, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xF0, 0x9C, 0xFF, 0x7F, 0x8C, 0xFF, 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, // Code for char j + 0x0A, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0x00, 0x3C, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xE7, 0x01, 0x80, 0xC3, 0x03, 0x80, 0x01, 0x07, 0x00, 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, // Code for char k + 0x03, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char l + 0x10, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x07, 0x80, 0xFF, 0x07, 0x00, 0x07, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0xFF, 0x07, 0x00, 0xFF, 0x07, 0x00, 0xFF, 0x03, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0xFF, 0x03, 0x00, 0xFF, 0x07, 0x00, 0xFC, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char m + 0x0B, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x07, 0x80, 0xFF, 0x07, 0x00, 0x07, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x00, 0xFF, 0x07, 0x00, 0xFF, 0x07, 0x00, 0xF8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char n + 0x0C, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x87, 0x03, 0x80, 0x03, 0x07, 0x80, 0x03, 0x07, 0x80, 0x03, 0x07, 0x80, 0x03, 0x07, 0x80, 0x03, 0x07, 0x00, 0xC7, 0x03, 0x00, 0xFE, 0x01, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char o + 0x0B, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0x80, 0x03, 0x07, 0x80, 0x03, 0x07, 0x80, 0x03, 0x07, 0x80, 0x03, 0x07, 0x80, 0x03, 0x07, 0x00, 0x87, 0x03, 0x00, 0xFE, 0x01, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char p + 0x0B, 0x00, 0x78, 0x00, 0x00, 0xFE, 0x01, 0x00, 0xFF, 0x03, 0x00, 0x87, 0x03, 0x80, 0x03, 0x07, 0x80, 0x03, 0x07, 0x80, 0x03, 0x07, 0x80, 0x03, 0x07, 0x00, 0xFF, 0x7F, 0x80, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char q + 0x09, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x07, 0x80, 0xFF, 0x07, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x00, 0x07, 0x00, 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, // Code for char r + 0x0B, 0x00, 0x80, 0x00, 0x00, 0xCE, 0x01, 0x00, 0x9F, 0x03, 0x80, 0x1B, 0x07, 0x80, 0x1B, 0x07, 0x80, 0x3B, 0x07, 0x80, 0x33, 0x07, 0x80, 0x33, 0x07, 0x00, 0xF7, 0x03, 0x00, 0xE7, 0x03, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char s + 0x07, 0x80, 0x01, 0x00, 0x80, 0x01, 0x00, 0xF0, 0xFF, 0x01, 0xF8, 0xFF, 0x03, 0xF0, 0xFF, 0x07, 0x80, 0x03, 0x07, 0x80, 0x01, 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, 0x00, 0x00, 0x00, // Code for char t + 0x0B, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x01, 0x80, 0xFF, 0x03, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x80, 0x07, 0x80, 0xFF, 0x07, 0x80, 0xFF, 0x07, 0x00, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char u + 0x0B, 0x00, 0x01, 0x00, 0x80, 0x07, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF0, 0x03, 0x00, 0xC0, 0x07, 0x00, 0xC0, 0x07, 0x00, 0xF8, 0x01, 0x00, 0x7E, 0x00, 0x80, 0x1F, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char v + 0x12, 0x00, 0x01, 0x00, 0x80, 0x07, 0x00, 0x80, 0x1F, 0x00, 0x00, 0x7E, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xC0, 0x07, 0x00, 0xC0, 0x07, 0x00, 0xF0, 0x01, 0x00, 0x7C, 0x00, 0x00, 0x3E, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xF0, 0x03, 0x00, 0xC0, 0x07, 0x00, 0xE0, 0x07, 0x00, 0xF8, 0x01, 0x00, 0x7E, 0x00, 0x80, 0x1F, 0x00, 0x80, 0x07, 0x00, // Code for char w + 0x0B, 0x00, 0x00, 0x00, 0x80, 0x03, 0x07, 0x80, 0x87, 0x07, 0x00, 0xCF, 0x03, 0x00, 0xFC, 0x01, 0x00, 0x78, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFE, 0x01, 0x00, 0xCF, 0x03, 0x80, 0x07, 0x07, 0x80, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char x + 0x0C, 0x00, 0x00, 0x00, 0x80, 0x03, 0xC0, 0x80, 0x1F, 0xE0, 0x00, 0x7E, 0xE0, 0x00, 0xF8, 0x79, 0x00, 0xE0, 0x3F, 0x00, 0xC0, 0x0F, 0x00, 0xF0, 0x03, 0x00, 0xFC, 0x00, 0x00, 0x3F, 0x00, 0x80, 0x0F, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char y + 0x0B, 0x00, 0x00, 0x00, 0x80, 0x01, 0x07, 0x80, 0x83, 0x07, 0x80, 0xC3, 0x07, 0x80, 0xE3, 0x07, 0x80, 0x7B, 0x07, 0x80, 0x3F, 0x07, 0x80, 0x1F, 0x07, 0x80, 0x0F, 0x07, 0x80, 0x07, 0x07, 0x80, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char z + 0x04, 0x00, 0x04, 0x00, 0xFE, 0xFF, 0x0F, 0xFF, 0xFF, 0x1F, 0xC7, 0x73, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char { + 0x03, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char | + 0x04, 0x00, 0x00, 0x00, 0xE7, 0xFB, 0x1C, 0xFF, 0xFF, 0x1F, 0x7C, 0xDF, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char } + 0x0E, 0x00, 0x20, 0x00, 0x00, 0x38, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x38, 0x00, 0x00, 0x70, 0x00, 0x00, 0x70, 0x00, 0x00, 0x70, 0x00, 0x00, 0x78, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ~ + 0x06, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x0F, 0x08, 0x00, 0x08, 0x08, 0x00, 0x08, 0x08, 0x00, 0x08, 0xF8, 0xFF, 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 // Code for char  + }; + diff --git a/ili9341/fonts/FixedFont5x8.c b/ili9341/fonts/FixedFont5x8.c new file mode 100644 index 0000000..56170c0 --- /dev/null +++ b/ili9341/fonts/FixedFont5x8.c @@ -0,0 +1,100 @@ +// Generic 8 bit fixed width font +// 5 x 8 pixels +// Start at ASCII 32 + +0x05,0x00,0x00,0x00,0x00,0x00, // Code for char SPACE +0x05,0x00,0x00,0x5f,0x00,0x00, // Code for char ! +0x05,0x00,0x07,0x00,0x07,0x00, // Code for char " +0x05,0x14,0x7f,0x14,0x7f,0x14, // Code for char # +0x05,0x24,0x2a,0x7f,0x2a,0x12, // Code for char $ +0x05,0x23,0x13,0x08,0x64,0x62, // Code for char % +0x05,0x36,0x49,0x56,0x20,0x50, // Code for char & +0x05,0x00,0x08,0x07,0x03,0x00, // Code for char ' +0x05,0x00,0x1c,0x22,0x41,0x00, // Code for char ( +0x05,0x00,0x41,0x22,0x1c,0x00, // Code for char ) +0x05,0x2a,0x1c,0x7f,0x1c,0x2a, // Code for char * +0x05,0x08,0x08,0x3e,0x08,0x08, // Code for char + +0x05,0x00,0x80,0x70,0x30,0x00, // Code for char +0x05,0x08,0x08,0x08,0x08,0x08, // Code for char - +0x05,0x00,0x00,0x60,0x60,0x00, // Code for char . +0x05,0x20,0x10,0x08,0x04,0x02, // Code for char / +0x05,0x3e,0x51,0x49,0x45,0x3e, // Code for char 0 +0x05,0x00,0x42,0x7f,0x40,0x00, // Code for char 1 +0x05,0x72,0x49,0x49,0x49,0x46, // Code for char 2 +0x05,0x21,0x41,0x49,0x4d,0x33, // Code for char 3 +0x05,0x18,0x14,0x12,0x7f,0x10, // Code for char 4 +0x05,0x27,0x45,0x45,0x45,0x39, // Code for char 5 +0x05,0x3c,0x4a,0x49,0x49,0x31, // Code for char 6 +0x05,0x41,0x21,0x11,0x09,0x07, // Code for char 7 +0x05,0x36,0x49,0x49,0x49,0x36, // Code for char 8 +0x05,0x46,0x49,0x49,0x29,0x1e, // Code for char 9 +0x05,0x00,0x00,0x14,0x00,0x00, // Code for char : +0x05,0x00,0x40,0x34,0x00,0x00, // Code for char ; +0x05,0x00,0x08,0x14,0x22,0x41, // Code for char < +0x05,0x14,0x14,0x14,0x14,0x14, // Code for char = +0x05,0x00,0x41,0x22,0x14,0x08, // Code for char > +0x05,0x02,0x01,0x59,0x09,0x06, // Code for char ? +0x05,0x3e,0x41,0x5d,0x59,0x4e, // Code for char @ +0x05,0x7c,0x12,0x11,0x12,0x7c, // Code for char A +0x05,0x7f,0x49,0x49,0x49,0x36, // Code for char B +0x05,0x3e,0x41,0x41,0x41,0x22, // Code for char C +0x05,0x7f,0x41,0x41,0x41,0x3e, // Code for char D +0x05,0x7f,0x49,0x49,0x49,0x41, // Code for char E +0x05,0x7f,0x09,0x09,0x09,0x01, // Code for char F +0x05,0x3e,0x41,0x41,0x51,0x73, // Code for char G +0x05,0x7f,0x08,0x08,0x08,0x7f, // Code for char H +0x05,0x00,0x41,0x7f,0x41,0x00, // Code for char I +0x05,0x20,0x40,0x41,0x3f,0x01, // Code for char J +0x05,0x7f,0x08,0x14,0x22,0x41, // Code for char K +0x05,0x7f,0x40,0x40,0x40,0x40, // Code for char L +0x05,0x7f,0x02,0x1c,0x02,0x7f, // Code for char M +0x05,0x7f,0x04,0x08,0x10,0x7f, // Code for char N +0x05,0x3e,0x41,0x41,0x41,0x3e, // Code for char O +0x05,0x7f,0x09,0x09,0x09,0x06, // Code for char P +0x05,0x3e,0x41,0x51,0x21,0x5e, // Code for char Q +0x05,0x7f,0x09,0x19,0x29,0x46, // Code for char R +0x05,0x26,0x49,0x49,0x49,0x32, // Code for char S +0x05,0x03,0x01,0x7f,0x01,0x03, // Code for char T +0x05,0x3f,0x40,0x40,0x40,0x3f, // Code for char U +0x05,0x1f,0x20,0x40,0x20,0x1f, // Code for char V +0x05,0x3f,0x40,0x38,0x40,0x3f, // Code for char W +0x05,0x63,0x14,0x08,0x14,0x63, // Code for char X +0x05,0x03,0x04,0x78,0x04,0x03, // Code for char Y +0x05,0x61,0x59,0x49,0x4d,0x43, // Code for char Z +0x05,0x00,0x7f,0x41,0x41,0x41, // Code for char [ +0x05,0x02,0x04,0x08,0x10,0x20, // Code for char BackSlash +0x05,0x00,0x41,0x41,0x41,0x7f, // Code for char ] +0x05,0x04,0x02,0x01,0x02,0x04, // Code for char ^ +0x05,0x40,0x40,0x40,0x40,0x40, // Code for char _ +0x05,0x00,0x03,0x07,0x08,0x00, // Code for char ` +0x05,0x20,0x54,0x54,0x78,0x40, // Code for char a +0x05,0x7f,0x28,0x44,0x44,0x38, // Code for char b +0x05,0x38,0x44,0x44,0x44,0x28, // Code for char c +0x05,0x38,0x44,0x44,0x28,0x7f, // Code for char d +0x05,0x38,0x54,0x54,0x54,0x18, // Code for char e +0x05,0x00,0x08,0x7e,0x09,0x02, // Code for char f +0x05,0x18,0xa4,0xa4,0x9c,0x78, // Code for char g +0x05,0x7f,0x08,0x04,0x04,0x78, // Code for char h +0x05,0x00,0x44,0x7d,0x40,0x00, // Code for char i +0x05,0x20,0x40,0x40,0x3d,0x00, // Code for char j +0x05,0x7f,0x10,0x28,0x44,0x00, // Code for char k +0x05,0x00,0x41,0x7f,0x40,0x00, // Code for char l +0x05,0x7c,0x04,0x78,0x04,0x78, // Code for char m +0x05,0x7c,0x08,0x04,0x04,0x78, // Code for char n +0x05,0x38,0x44,0x44,0x44,0x38, // Code for char o +0x05,0xfc,0x18,0x24,0x24,0x18, // Code for char p +0x05,0x18,0x24,0x24,0x18,0xfc, // Code for char q +0x05,0x7c,0x08,0x04,0x04,0x08, // Code for char r +0x05,0x48,0x54,0x54,0x54,0x24, // Code for char s +0x05,0x04,0x04,0x3f,0x44,0x24, // Code for char t +0x05,0x3c,0x40,0x40,0x20,0x7c, // Code for char u +0x05,0x1c,0x20,0x40,0x20,0x1c, // Code for char v +0x05,0x3c,0x40,0x30,0x40,0x3c, // Code for char w +0x05,0x44,0x28,0x10,0x28,0x44, // Code for char x +0x05,0x4c,0x90,0x90,0x90,0x7c, // Code for char y +0x05,0x44,0x64,0x54,0x4c,0x44, // Code for char z +0x05,0x00,0x08,0x36,0x41,0x00, // Code for char { +0x05,0x00,0x00,0x77,0x00,0x00, // Code for char | +0x05,0x00,0x41,0x36,0x08,0x00, // Code for char } +0x05,0x02,0x01,0x02,0x04,0x02, // Code for char ~ +0x05,0x3c,0x26,0x23,0x26,0x3c, // Code for char DEL diff --git a/ili9341/fonts/IBMPlexMono12x24.c b/ili9341/fonts/IBMPlexMono12x24.c new file mode 100644 index 0000000..738fc5a --- /dev/null +++ b/ili9341/fonts/IBMPlexMono12x24.c @@ -0,0 +1,230 @@ + +//WARNING: This Font Require X-GLCD Lib. +// You can not use it with MikroE GLCD Lib. + +//Font Generated by MikroElektronika GLCD Font Creator 1.2.0.0 +//MikroElektronika 2011 +//http://www.mikroe.com + +//GLCD FontName : IBM_Plex_Mono12x24 +//GLCD FontSize : 12 x 24 + +const unsigned short IBM_Plex_Mono12x24[] = { + 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, 0x00, // Code for char + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x7F, 0x0E, 0xC0, 0x1F, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ! + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x07, 0x00, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x07, 0x00, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char " + 0x0C, 0x00, 0x40, 0x00, 0x00, 0x48, 0x00, 0x00, 0x48, 0x0C, 0x00, 0xE8, 0x0F, 0x80, 0x7F, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x00, 0xF8, 0x07, 0xC0, 0x5F, 0x00, 0xC0, 0x48, 0x00, 0x00, 0x48, 0x00, 0x00, 0x08, 0x00, // Code for char # + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x80, 0x0F, 0x06, 0xC0, 0x18, 0x0C, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0xF0, 0xFF, 0x3F, 0x40, 0x30, 0x08, 0xC0, 0x20, 0x0C, 0x80, 0xE1, 0x07, 0x80, 0xC0, 0x03, 0x00, 0x00, 0x00, // Code for char $ + 0x0C, 0x00, 0x07, 0x08, 0x80, 0x0F, 0x0C, 0x40, 0x10, 0x07, 0x40, 0xD0, 0x01, 0x40, 0x50, 0x00, 0x80, 0x0F, 0x00, 0x00, 0xC0, 0x07, 0x00, 0x28, 0x08, 0x00, 0x2E, 0x08, 0x80, 0x23, 0x08, 0xC0, 0xC0, 0x07, 0x40, 0x80, 0x03, // Code for char % + 0x0B, 0x00, 0x00, 0x01, 0x00, 0xC0, 0x07, 0x80, 0x6F, 0x0C, 0xC0, 0x1C, 0x08, 0x40, 0x30, 0x08, 0x40, 0x60, 0x08, 0x40, 0xC0, 0x04, 0xC0, 0x00, 0x03, 0x80, 0xE0, 0x07, 0x00, 0x60, 0x0C, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, // Code for char & + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x07, 0x00, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ' + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x01, 0x00, 0xFF, 0x0F, 0x80, 0x01, 0x18, 0x40, 0x00, 0x20, 0x20, 0x00, 0x40, 0x20, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ( + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x40, 0x20, 0x00, 0x40, 0x40, 0x00, 0x20, 0x80, 0x01, 0x18, 0x00, 0xFF, 0x0F, 0x00, 0xF8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ) + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x04, 0x00, 0x20, 0x06, 0x00, 0xE0, 0x03, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x20, 0x06, 0x00, 0x30, 0x04, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, // Code for char * + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0xFE, 0x03, 0x00, 0xFE, 0x03, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, // Code for char + + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char , + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char - + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char . + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0F, 0x00, 0xE0, 0x01, 0x00, 0x78, 0x00, 0x00, 0x0F, 0x00, 0xC0, 0x01, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char / + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFF, 0x03, 0x80, 0x00, 0x04, 0x40, 0x00, 0x08, 0x40, 0x30, 0x08, 0x40, 0x30, 0x08, 0x40, 0x00, 0x08, 0x80, 0x00, 0x04, 0x00, 0xFF, 0x03, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, // Code for char 0 + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x03, 0x08, 0x80, 0x01, 0x08, 0xC0, 0x00, 0x08, 0x40, 0x00, 0x08, 0xC0, 0xFF, 0x0F, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // Code for char 1 + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0C, 0x80, 0x01, 0x0E, 0xC0, 0x00, 0x0E, 0x40, 0x00, 0x0B, 0x40, 0x80, 0x09, 0x40, 0xC0, 0x08, 0xC0, 0x60, 0x08, 0x80, 0x3F, 0x08, 0x00, 0x0F, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // Code for char 2 + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x80, 0x01, 0x04, 0xC0, 0x00, 0x0C, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0xC0, 0x28, 0x0C, 0x80, 0x6F, 0x06, 0x00, 0xC7, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 3 + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x60, 0x01, 0x00, 0x38, 0x01, 0x00, 0x0C, 0x01, 0x00, 0x07, 0x01, 0xC0, 0x01, 0x01, 0x40, 0x00, 0x01, 0xC0, 0xFF, 0x0F, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // Code for char 4 + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xC0, 0x3F, 0x06, 0xC0, 0x2F, 0x0C, 0x40, 0x20, 0x08, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x40, 0x30, 0x04, 0x40, 0xE0, 0x07, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, // Code for char 5 + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0xFC, 0x07, 0x00, 0x2E, 0x04, 0x80, 0x23, 0x08, 0x80, 0x11, 0x08, 0xC0, 0x10, 0x08, 0x40, 0x10, 0x08, 0x40, 0x30, 0x04, 0x00, 0xE0, 0x07, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, // Code for char 6 + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x03, 0x00, 0x40, 0x00, 0x08, 0x40, 0x00, 0x0C, 0x40, 0x80, 0x07, 0x40, 0xE0, 0x01, 0x40, 0x7C, 0x00, 0x40, 0x0F, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 7 + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x03, 0x80, 0xEF, 0x07, 0xC0, 0x28, 0x0C, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0xC0, 0x28, 0x0C, 0x80, 0xEF, 0x07, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x00, // Code for char 8 + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x80, 0x1F, 0x00, 0x80, 0x30, 0x08, 0x40, 0x20, 0x08, 0x40, 0x20, 0x0C, 0x40, 0x20, 0x06, 0x40, 0x20, 0x07, 0x80, 0xD0, 0x01, 0x80, 0xFF, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, // Code for char 9 + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0E, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char : + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x0E, 0x7E, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ; + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x98, 0x01, 0x00, 0x98, 0x01, 0x00, 0x0C, 0x03, 0x00, 0x04, 0x02, 0x00, 0x06, 0x06, 0x00, 0x03, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char < + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x88, 0x00, 0x00, 0x88, 0x00, 0x00, 0x88, 0x00, 0x00, 0x88, 0x00, 0x00, 0x88, 0x00, 0x00, 0x88, 0x00, 0x00, 0x88, 0x00, 0x00, 0x88, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00, // Code for char = + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0C, 0x00, 0x06, 0x06, 0x00, 0x04, 0x02, 0x00, 0x0C, 0x03, 0x00, 0x98, 0x01, 0x00, 0x98, 0x01, 0x00, 0xF0, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char > + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0xC0, 0x00, 0x00, 0x40, 0x00, 0x0E, 0x40, 0x70, 0x0E, 0x40, 0x10, 0x0E, 0x40, 0x18, 0x00, 0x80, 0x0F, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ? + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x01, 0x00, 0xFF, 0x0F, 0x80, 0x00, 0x18, 0x40, 0xF0, 0x30, 0x40, 0xF8, 0x23, 0x40, 0x04, 0x22, 0x40, 0x04, 0x22, 0x80, 0x08, 0x22, 0x80, 0xFF, 0x03, 0x00, 0xF8, 0x03, 0x00, 0x00, 0x00, // Code for char @ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0xC0, 0x07, 0x00, 0xF8, 0x00, 0x80, 0x9F, 0x00, 0xC0, 0x81, 0x00, 0xC0, 0x81, 0x00, 0x80, 0x9F, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, // Code for char A + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0F, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0xC0, 0x28, 0x0C, 0x80, 0xEF, 0x07, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x00, // Code for char B + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0xFF, 0x03, 0x80, 0x01, 0x06, 0xC0, 0x00, 0x0C, 0x40, 0x00, 0x08, 0x40, 0x00, 0x08, 0x40, 0x00, 0x08, 0xC0, 0x00, 0x0C, 0x80, 0x01, 0x06, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, // Code for char C + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0F, 0xC0, 0xFF, 0x0F, 0x40, 0x00, 0x08, 0x40, 0x00, 0x08, 0x40, 0x00, 0x08, 0x40, 0x00, 0x08, 0x80, 0x01, 0x06, 0x00, 0xFF, 0x03, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, // Code for char D + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0F, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char E + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0F, 0x40, 0x10, 0x00, 0x40, 0x10, 0x00, 0x40, 0x10, 0x00, 0x40, 0x10, 0x00, 0x40, 0x10, 0x00, 0x40, 0x10, 0x00, 0x40, 0x10, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char F + 0x0A, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFF, 0x07, 0x80, 0x01, 0x06, 0x40, 0x00, 0x08, 0x40, 0x00, 0x08, 0x40, 0x20, 0x08, 0x40, 0x20, 0x08, 0xC0, 0x20, 0x06, 0x80, 0xE1, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char G + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0F, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0xC0, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char H + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x08, 0x40, 0x00, 0x08, 0x40, 0x00, 0x08, 0xC0, 0xFF, 0x0F, 0xC0, 0xFF, 0x0F, 0x40, 0x00, 0x08, 0x40, 0x00, 0x08, 0x40, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char I + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x06, 0x40, 0x00, 0x0C, 0x40, 0x00, 0x08, 0x40, 0x00, 0x08, 0x40, 0x00, 0x08, 0x40, 0x00, 0x0C, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char J + 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0F, 0x00, 0x60, 0x00, 0x00, 0x30, 0x00, 0x00, 0x18, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xE7, 0x01, 0x80, 0x83, 0x03, 0xC0, 0x00, 0x0E, 0x40, 0x00, 0x0C, 0x00, 0x00, 0x08, // Code for char K + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0F, 0xC0, 0xFF, 0x0F, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // Code for char L + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0F, 0xC0, 0xFF, 0x0F, 0xC0, 0x03, 0x00, 0x00, 0x0E, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x78, 0x00, 0x00, 0x0E, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0xFF, 0x0F, 0xC0, 0xFF, 0x0F, 0x00, 0x00, 0x00, // Code for char M + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0F, 0xC0, 0x01, 0x00, 0x80, 0x07, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x0E, 0xC0, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char N + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFF, 0x03, 0x80, 0x01, 0x06, 0x40, 0x00, 0x08, 0x40, 0x00, 0x08, 0x40, 0x00, 0x08, 0x40, 0x00, 0x08, 0x80, 0x01, 0x06, 0x00, 0xFF, 0x03, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, // Code for char O + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0F, 0x40, 0xE0, 0x0F, 0x40, 0x20, 0x00, 0x40, 0x20, 0x00, 0x40, 0x20, 0x00, 0x40, 0x20, 0x00, 0xC0, 0x30, 0x00, 0x80, 0x1F, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, // Code for char P + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFF, 0x07, 0x80, 0x01, 0x06, 0x40, 0x00, 0x08, 0x40, 0x00, 0x38, 0x40, 0x00, 0x78, 0x40, 0x00, 0x48, 0x80, 0x01, 0x46, 0x00, 0xFF, 0x47, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, // Code for char Q + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0F, 0x40, 0x20, 0x00, 0x40, 0x20, 0x00, 0x40, 0x20, 0x00, 0x40, 0x60, 0x00, 0x40, 0xE0, 0x01, 0xC0, 0x30, 0x07, 0x80, 0x1F, 0x0E, 0x00, 0x0F, 0x08, 0x00, 0x00, 0x00, // Code for char R + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x80, 0x0F, 0x06, 0xC0, 0x18, 0x0C, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x40, 0x20, 0x08, 0xC0, 0x20, 0x0C, 0x80, 0xE1, 0x07, 0x80, 0xC0, 0x03, 0x00, 0x00, 0x00, // Code for char S + 0x0C, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0xC0, 0xFF, 0x0F, 0xC0, 0xFF, 0x0F, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, // Code for char T + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x07, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0xC0, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char U + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xE0, 0x07, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0E, 0x00, 0xE0, 0x07, 0x00, 0x7C, 0x00, 0xC0, 0x0F, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, // Code for char V + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x00, 0x00, 0xFC, 0x0F, 0x00, 0x00, 0x0E, 0x00, 0xE0, 0x07, 0x00, 0x3C, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xF0, 0x07, 0x00, 0x00, 0x0E, 0x00, 0xF8, 0x0F, 0xC0, 0xFF, 0x00, 0x00, 0x00, 0x00, // Code for char W + 0x0C, 0x00, 0x00, 0x00, 0x40, 0x00, 0x0C, 0xC0, 0x01, 0x0E, 0x80, 0x83, 0x03, 0x00, 0xCE, 0x01, 0x00, 0x78, 0x00, 0x00, 0x78, 0x00, 0x00, 0xCE, 0x00, 0x00, 0x87, 0x03, 0xC0, 0x01, 0x0E, 0x40, 0x00, 0x0C, 0x00, 0x00, 0x08, // Code for char X + 0x0C, 0x40, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x1C, 0x00, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0x1C, 0x00, 0x00, 0x0F, 0x00, 0x80, 0x03, 0x00, 0xC0, 0x00, 0x00, 0x40, 0x00, 0x00, // Code for char Y + 0x0B, 0x00, 0x00, 0x00, 0x40, 0x00, 0x0C, 0x40, 0x00, 0x0E, 0x40, 0x80, 0x0B, 0x40, 0xC0, 0x08, 0x40, 0x70, 0x08, 0x40, 0x18, 0x08, 0x40, 0x0E, 0x08, 0x40, 0x03, 0x08, 0xC0, 0x01, 0x08, 0x40, 0x00, 0x08, 0x00, 0x00, 0x00, // Code for char Z + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x7F, 0xE0, 0xFF, 0x7F, 0x20, 0x00, 0x40, 0x20, 0x00, 0x40, 0x20, 0x00, 0x40, 0x20, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char [ + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x38, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char BackSlash + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x40, 0x20, 0x00, 0x40, 0x20, 0x00, 0x40, 0x20, 0x00, 0x40, 0xE0, 0xFF, 0x7F, 0xE0, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ] + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0E, 0x00, 0x80, 0x03, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x38, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, // Code for char ^ + 0x0B, 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, 0x00, // Code for char _ + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x60, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ` + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x98, 0x07, 0x00, 0xCC, 0x0C, 0x00, 0x44, 0x08, 0x00, 0x44, 0x08, 0x00, 0x44, 0x08, 0x00, 0x4C, 0x04, 0x00, 0xF8, 0x07, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // Code for char a + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x08, 0x08, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x0C, 0x0C, 0x00, 0xF8, 0x07, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, // Code for char b + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x18, 0x06, 0x00, 0x0C, 0x0C, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x1C, 0x0C, 0x00, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char c + 0x0A, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0xF8, 0x07, 0x00, 0x0C, 0x0C, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x08, 0x08, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char d + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x48, 0x04, 0x00, 0x44, 0x08, 0x00, 0x44, 0x08, 0x00, 0x44, 0x08, 0x00, 0x44, 0x08, 0x00, 0x48, 0x0C, 0x00, 0x78, 0x06, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, // Code for char e + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0xC0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x20, 0x04, 0x08, 0x20, 0x04, 0x08, 0x20, 0x04, 0x08, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, // Code for char f + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x70, 0x76, 0x00, 0xF8, 0x8E, 0x00, 0x04, 0x89, 0x00, 0x04, 0x89, 0x00, 0x04, 0x89, 0x00, 0x04, 0x89, 0x00, 0xFE, 0x88, 0x00, 0x72, 0xD8, 0x00, 0x02, 0x70, 0x00, 0x00, 0x00, // Code for char g + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x08, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x00, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char h + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0xC0, 0x04, 0x08, 0xC0, 0xFC, 0x0F, 0xC0, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // Code for char i + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x80, 0x00, 0x04, 0x80, 0x00, 0x04, 0x80, 0x00, 0x04, 0x80, 0x00, 0x04, 0x80, 0xC0, 0xFC, 0xFF, 0xC0, 0xFC, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char j + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0xC0, 0x00, 0x00, 0x60, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x98, 0x01, 0x00, 0x0C, 0x07, 0x00, 0x04, 0x0E, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, // Code for char k + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x08, 0x20, 0x00, 0x08, 0x20, 0x00, 0x08, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char l + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0xFC, 0x0F, 0x00, 0xF8, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0xFC, 0x0F, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x00, // Code for char m + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0x08, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x00, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char n + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0xF8, 0x07, 0x00, 0x08, 0x04, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x08, 0x04, 0x00, 0xF8, 0x07, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, // Code for char o + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x00, 0xFC, 0xFF, 0x00, 0x08, 0x08, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x0C, 0x0C, 0x00, 0xF8, 0x07, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, // Code for char p + 0x0A, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0xF8, 0x07, 0x00, 0x0C, 0x0C, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x08, 0x08, 0x00, 0xFC, 0xFF, 0x00, 0xFC, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char q + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0xFC, 0x0F, 0x00, 0x18, 0x08, 0x00, 0x08, 0x08, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, // Code for char r + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x38, 0x06, 0x00, 0x7C, 0x0C, 0x00, 0x44, 0x08, 0x00, 0x44, 0x08, 0x00, 0xC4, 0x08, 0x00, 0x84, 0x08, 0x00, 0x8C, 0x0C, 0x00, 0x88, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char s + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x0F, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, // Code for char t + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x07, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0xFC, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char u + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0E, 0x00, 0x80, 0x07, 0x00, 0xF0, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, // Code for char v + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0C, 0x00, 0xE0, 0x07, 0x00, 0x3C, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xE0, 0x07, 0x00, 0x00, 0x0C, 0x00, 0xC0, 0x0F, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, // Code for char w + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x0C, 0x0C, 0x00, 0x1C, 0x06, 0x00, 0x30, 0x03, 0x00, 0xE0, 0x01, 0x00, 0xE0, 0x01, 0x00, 0x30, 0x03, 0x00, 0x1C, 0x06, 0x00, 0x0C, 0x0C, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, // Code for char x + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x1C, 0x80, 0x00, 0xF0, 0x80, 0x00, 0xC0, 0xC3, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x1E, 0x00, 0xC0, 0x03, 0x00, 0xF0, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, // Code for char y + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0C, 0x00, 0x04, 0x0E, 0x00, 0x04, 0x0B, 0x00, 0xC4, 0x09, 0x00, 0x64, 0x08, 0x00, 0x34, 0x08, 0x00, 0x1C, 0x08, 0x00, 0x0C, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char z + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0xE0, 0x23, 0x7E, 0x20, 0xDE, 0x47, 0x20, 0x9C, 0x41, 0x20, 0x00, 0x40, 0x20, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char { + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x7F, 0xE0, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char | + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x40, 0x20, 0x00, 0x40, 0x20, 0x9C, 0x41, 0x20, 0xDE, 0x47, 0xE0, 0x23, 0x7E, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char } + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x60, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x60, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, // Code for char ~ + 0x05, 0xF0, 0xFF, 0x07, 0xF0, 0xFF, 0x07, 0x10, 0x00, 0x04, 0x10, 0x00, 0x04, 0xF0, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char  + 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, // Code for char € + 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, // Code for char  + 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, // Code for char ‚ + 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, // Code for char ƒ + 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, // Code for char „ + 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, // Code for char … + 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, // Code for char † + 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, // Code for char ‡ + 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, // Code for char ˆ + 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, // Code for char ‰ + 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, // Code for char Š + 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, // Code for char ‹ + 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, // Code for char Œ + 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, // Code for char  + 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, // Code for char Ž + 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, // Code for char  + 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, // Code for char  + 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, // Code for char ‘ + 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, // Code for char ’ + 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, // Code for char “ + 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, // Code for char ” + 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, // Code for char • + 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, // Code for char – + 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, // Code for char — + 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, // Code for char ˜ + 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, // Code for char ™ + 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, // Code for char š + 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, // Code for char › + 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, // Code for char œ + 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, // Code for char  + 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, // Code for char ž + 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, // Code for char Ÿ + 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, // Code for char   + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xFF, 0x00, 0x1C, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¡ + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x18, 0x06, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0xFF, 0x3F, 0x00, 0x04, 0x08, 0x00, 0x1C, 0x0C, 0x00, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¢ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x40, 0x0C, 0x00, 0x7F, 0x0C, 0x80, 0xFF, 0x0F, 0xC0, 0xC0, 0x09, 0x40, 0x40, 0x08, 0x40, 0x40, 0x08, 0x40, 0x40, 0x08, 0x40, 0x00, 0x08, 0x80, 0x01, 0x08, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, // Code for char £ + 0x0B, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x0F, 0x10, 0x00, 0x08, 0x10, 0x00, 0x08, 0x10, 0x00, 0x08, 0x10, 0x00, 0x08, 0x10, 0x00, 0x08, 0x10, 0x00, 0x08, 0x10, 0x00, 0x08, 0x10, 0x00, 0x08, 0xF0, 0xFF, 0x0F, 0x00, 0x00, 0x00, // Code for char ¤ + 0x0C, 0x40, 0x00, 0x00, 0xC0, 0x40, 0x08, 0xC0, 0x43, 0x08, 0x00, 0x4E, 0x08, 0x00, 0x78, 0x08, 0x00, 0xE0, 0x0F, 0x00, 0xE0, 0x0F, 0x00, 0x78, 0x08, 0x00, 0x4E, 0x08, 0x80, 0x43, 0x08, 0xC0, 0x40, 0x08, 0x40, 0x00, 0x00, // Code for char ¥ + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x0F, 0x7F, 0xE0, 0x0F, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¦ + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x40, 0x80, 0x97, 0x61, 0xC0, 0x0C, 0x41, 0x40, 0x08, 0x42, 0x40, 0x08, 0x42, 0x40, 0x10, 0x66, 0xC0, 0x30, 0x3D, 0x80, 0xE0, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char § + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¨ + 0x0C, 0x00, 0xFC, 0x00, 0x00, 0x87, 0x03, 0x80, 0x01, 0x06, 0x80, 0x78, 0x04, 0x40, 0xCE, 0x09, 0x40, 0x02, 0x09, 0x40, 0x02, 0x09, 0x40, 0x86, 0x09, 0x80, 0x84, 0x04, 0x80, 0x01, 0x06, 0x00, 0x87, 0x03, 0x00, 0xFC, 0x00, // Code for char © + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x1C, 0x00, 0x40, 0x12, 0x00, 0x40, 0x12, 0x00, 0x40, 0x12, 0x00, 0xC0, 0x1F, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ª + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xB0, 0x01, 0x00, 0x18, 0x03, 0x00, 0x0C, 0x06, 0x00, 0x40, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xB0, 0x01, 0x00, 0x18, 0x03, 0x00, 0x0C, 0x06, 0x00, 0x00, 0x00, // Code for char « + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¬ + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ­ + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x80, 0x19, 0x00, 0x40, 0x2A, 0x00, 0x40, 0x25, 0x00, 0x40, 0x2F, 0x00, 0x40, 0x30, 0x00, 0x80, 0x19, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ® + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, // Code for char ¯ + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x00, 0xC0, 0x18, 0x00, 0x40, 0x10, 0x00, 0x40, 0x10, 0x00, 0xC0, 0x18, 0x00, 0x80, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ° + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x10, 0x08, 0x00, 0x10, 0x08, 0x00, 0x10, 0x08, 0x00, 0xFF, 0x09, 0x00, 0xFF, 0x09, 0x00, 0x10, 0x08, 0x00, 0x10, 0x08, 0x00, 0x10, 0x08, 0x00, 0x10, 0x08, 0x00, 0x00, 0x00, // Code for char ± + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0xC0, 0x18, 0x00, 0x40, 0x14, 0x00, 0x40, 0x16, 0x00, 0xC0, 0x13, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ² + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x08, 0x00, 0xC0, 0x10, 0x00, 0x40, 0x12, 0x00, 0x40, 0x12, 0x00, 0xC0, 0x1D, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ³ + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x60, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ´ + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x00, 0xFC, 0xF7, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0xFC, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char µ + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x80, 0x3F, 0x00, 0xC0, 0x7F, 0x00, 0xC0, 0x7F, 0x00, 0xC0, 0xFF, 0x7F, 0xC0, 0xFF, 0x7F, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0xC0, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¶ + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char · + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xB0, 0x00, 0x00, 0xD0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¸ + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xC0, 0x10, 0x00, 0x40, 0x10, 0x00, 0xC0, 0x1F, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¹ + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x00, 0xC0, 0x18, 0x00, 0x40, 0x10, 0x00, 0x40, 0x10, 0x00, 0xC0, 0x18, 0x00, 0x80, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char º + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x06, 0x00, 0x18, 0x03, 0x00, 0xB0, 0x01, 0x00, 0xE0, 0x00, 0x00, 0x40, 0x00, 0x00, 0x0C, 0x06, 0x00, 0x18, 0x03, 0x00, 0xB0, 0x01, 0x00, 0xE0, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, // Code for char » + 0x0C, 0x80, 0x00, 0x08, 0xC0, 0x10, 0x0C, 0x40, 0x10, 0x07, 0xC0, 0xDF, 0x01, 0x00, 0x50, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x08, 0x05, 0x00, 0xCE, 0x04, 0x80, 0x23, 0x04, 0xC0, 0xE0, 0x0F, 0x40, 0x00, 0x04, // Code for char ¼ + 0x0C, 0x80, 0x00, 0x08, 0xC0, 0x10, 0x0C, 0x40, 0x10, 0x07, 0xC0, 0xDF, 0x01, 0x00, 0x50, 0x00, 0x00, 0x10, 0x00, 0x00, 0x80, 0x00, 0x00, 0x68, 0x0C, 0x00, 0x2E, 0x0E, 0x80, 0x23, 0x0B, 0xC0, 0xE0, 0x09, 0x40, 0x00, 0x08, // Code for char ½ + 0x0C, 0x00, 0x08, 0x08, 0xC0, 0x18, 0x0C, 0x40, 0x12, 0x07, 0x40, 0xD2, 0x01, 0xC0, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x08, 0x05, 0x00, 0xCE, 0x04, 0x80, 0x23, 0x04, 0xC0, 0xE0, 0x0F, 0x40, 0x00, 0x04, // Code for char ¾ + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x86, 0x00, 0x1C, 0x82, 0x00, 0x9C, 0x83, 0x00, 0x1C, 0x80, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¿ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0xC0, 0x07, 0x00, 0xF8, 0x00, 0x86, 0x9F, 0x00, 0xCC, 0x81, 0x00, 0xD0, 0x81, 0x00, 0x80, 0x9F, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, // Code for char À + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0xC0, 0x07, 0x00, 0xF8, 0x00, 0x80, 0x9F, 0x00, 0xD0, 0x81, 0x00, 0xCC, 0x81, 0x00, 0x86, 0x9F, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, // Code for char Á + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0xC0, 0x07, 0x10, 0xF8, 0x00, 0x88, 0x9F, 0x00, 0xC4, 0x81, 0x00, 0xC4, 0x81, 0x00, 0x88, 0x9F, 0x00, 0x10, 0xF8, 0x00, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, // Code for char  + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0xC0, 0x07, 0x0C, 0xF8, 0x00, 0x84, 0x9F, 0x00, 0xC4, 0x81, 0x00, 0xC8, 0x81, 0x00, 0x88, 0x9F, 0x00, 0x0C, 0xF8, 0x00, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, // Code for char à + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0xC0, 0x07, 0x0C, 0xF8, 0x00, 0x8C, 0x9F, 0x00, 0xC0, 0x81, 0x00, 0xC0, 0x81, 0x00, 0x8C, 0x9F, 0x00, 0x0C, 0xF8, 0x00, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, // Code for char Ä + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0xC0, 0x07, 0x00, 0xF8, 0x00, 0x8E, 0x9F, 0x00, 0xD1, 0x81, 0x00, 0xD1, 0x81, 0x00, 0x8E, 0x9F, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, // Code for char Å + 0x0B, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0F, 0x00, 0xE0, 0x07, 0x00, 0xFE, 0x00, 0xC0, 0x87, 0x00, 0x40, 0x80, 0x00, 0xC0, 0xFF, 0x0F, 0xC0, 0xFF, 0x0F, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x00, 0x00, 0x00, // Code for char Æ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0xFF, 0x03, 0x80, 0x01, 0x06, 0xC0, 0x00, 0x4C, 0x40, 0x00, 0xA8, 0x40, 0x00, 0xB8, 0x40, 0x00, 0xE8, 0xC0, 0x00, 0x4C, 0x80, 0x01, 0x06, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, // Code for char Ç + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0F, 0x40, 0x10, 0x08, 0x46, 0x10, 0x08, 0x4C, 0x10, 0x08, 0x50, 0x10, 0x08, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char È + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0F, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x50, 0x10, 0x08, 0x4C, 0x10, 0x08, 0x46, 0x10, 0x08, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char É + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0F, 0x50, 0x10, 0x08, 0x48, 0x10, 0x08, 0x44, 0x10, 0x08, 0x44, 0x10, 0x08, 0x48, 0x10, 0x08, 0x50, 0x10, 0x08, 0x40, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ê + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0F, 0x4C, 0x10, 0x08, 0x4C, 0x10, 0x08, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x4C, 0x10, 0x08, 0x4C, 0x10, 0x08, 0x40, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ë + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x08, 0x40, 0x00, 0x08, 0x46, 0x00, 0x08, 0xCC, 0xFF, 0x0F, 0xD0, 0xFF, 0x0F, 0x40, 0x00, 0x08, 0x40, 0x00, 0x08, 0x40, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ì + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x08, 0x40, 0x00, 0x08, 0x40, 0x00, 0x08, 0xD0, 0xFF, 0x0F, 0xCC, 0xFF, 0x0F, 0x46, 0x00, 0x08, 0x40, 0x00, 0x08, 0x40, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Í + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x08, 0x50, 0x00, 0x08, 0x48, 0x00, 0x08, 0xC4, 0xFF, 0x0F, 0xC4, 0xFF, 0x0F, 0x48, 0x00, 0x08, 0x50, 0x00, 0x08, 0x40, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Î + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x08, 0x4C, 0x00, 0x08, 0x4C, 0x00, 0x08, 0xC0, 0xFF, 0x0F, 0xC0, 0xFF, 0x0F, 0x4C, 0x00, 0x08, 0x4C, 0x00, 0x08, 0x40, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ï + 0x0B, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0xC0, 0xFF, 0x0F, 0xC0, 0xFF, 0x0F, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x40, 0x10, 0x08, 0x40, 0x00, 0x08, 0x80, 0x01, 0x06, 0x00, 0xFF, 0x03, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, // Code for char Ð + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0F, 0xCC, 0x01, 0x00, 0x84, 0x07, 0x00, 0x04, 0x3C, 0x00, 0x08, 0xF0, 0x00, 0x08, 0x80, 0x07, 0x0C, 0x00, 0x0E, 0xC0, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ñ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFF, 0x03, 0x80, 0x01, 0x06, 0x46, 0x00, 0x08, 0x4C, 0x00, 0x08, 0x50, 0x00, 0x08, 0x40, 0x00, 0x08, 0x80, 0x01, 0x06, 0x00, 0xFF, 0x03, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, // Code for char Ò + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFF, 0x03, 0x80, 0x01, 0x06, 0x40, 0x00, 0x08, 0x50, 0x00, 0x08, 0x4C, 0x00, 0x08, 0x46, 0x00, 0x08, 0x80, 0x01, 0x06, 0x00, 0xFF, 0x03, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, // Code for char Ó + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFF, 0x03, 0x90, 0x01, 0x06, 0x48, 0x00, 0x08, 0x44, 0x00, 0x08, 0x44, 0x00, 0x08, 0x48, 0x00, 0x08, 0x90, 0x01, 0x06, 0x00, 0xFF, 0x03, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, // Code for char Ô + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFF, 0x03, 0x8C, 0x01, 0x06, 0x44, 0x00, 0x08, 0x44, 0x00, 0x08, 0x48, 0x00, 0x08, 0x48, 0x00, 0x08, 0x8C, 0x01, 0x06, 0x00, 0xFF, 0x03, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, // Code for char Õ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFF, 0x03, 0x8C, 0x01, 0x06, 0x4C, 0x00, 0x08, 0x40, 0x00, 0x08, 0x40, 0x00, 0x08, 0x4C, 0x00, 0x08, 0x8C, 0x01, 0x06, 0x00, 0xFF, 0x03, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, // Code for char Ö + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x02, 0x00, 0x18, 0x03, 0x00, 0xB0, 0x01, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xB0, 0x01, 0x00, 0x18, 0x03, 0x00, 0x0C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char × + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x18, 0x00, 0xFF, 0x0F, 0x80, 0x01, 0x07, 0x40, 0xC0, 0x09, 0x40, 0x60, 0x08, 0x40, 0x18, 0x08, 0x40, 0x0E, 0x08, 0x80, 0x03, 0x06, 0xE0, 0xFF, 0x03, 0x40, 0xFC, 0x00, 0x00, 0x00, 0x00, // Code for char Ø + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x07, 0x00, 0x00, 0x0E, 0x06, 0x00, 0x08, 0x0C, 0x00, 0x08, 0x10, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0E, 0xC0, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ù + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x07, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x08, 0x10, 0x00, 0x08, 0x0C, 0x00, 0x08, 0x06, 0x00, 0x08, 0x00, 0x00, 0x0E, 0xC0, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ú + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x07, 0x10, 0x00, 0x0E, 0x08, 0x00, 0x08, 0x04, 0x00, 0x08, 0x04, 0x00, 0x08, 0x08, 0x00, 0x08, 0x10, 0x00, 0x0E, 0xC0, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Û + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x07, 0x0C, 0x00, 0x0E, 0x0C, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x0C, 0x00, 0x08, 0x0C, 0x00, 0x0E, 0xC0, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ü + 0x0C, 0x40, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x1C, 0x00, 0x10, 0xF0, 0x0F, 0x0C, 0xF0, 0x0F, 0x06, 0x1C, 0x00, 0x00, 0x0F, 0x00, 0x80, 0x03, 0x00, 0xC0, 0x00, 0x00, 0x40, 0x00, 0x00, // Code for char Ý + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0F, 0x00, 0x02, 0x01, 0x00, 0x02, 0x01, 0x00, 0x02, 0x01, 0x00, 0x02, 0x01, 0x00, 0x02, 0x01, 0x00, 0x86, 0x01, 0x00, 0xFC, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, // Code for char Þ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x20, 0x04, 0x00, 0x20, 0x04, 0x80, 0x20, 0x84, 0x81, 0x00, 0xE4, 0x81, 0x00, 0x34, 0x81, 0x00, 0x1C, 0x62, 0x00, 0x0C, 0x7E, 0x00, 0x00, 0x00, // Code for char ß + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x98, 0x07, 0x00, 0xCC, 0x0C, 0x30, 0x44, 0x08, 0x60, 0x44, 0x08, 0x80, 0x44, 0x08, 0x00, 0x4C, 0x04, 0x00, 0xF8, 0x07, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // Code for char à + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x98, 0x07, 0x00, 0xCC, 0x0C, 0x00, 0x44, 0x08, 0x80, 0x44, 0x08, 0x60, 0x44, 0x08, 0x30, 0x4C, 0x04, 0x00, 0xF8, 0x07, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // Code for char á + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x98, 0x07, 0x80, 0xCC, 0x0C, 0x40, 0x44, 0x08, 0x20, 0x44, 0x08, 0x20, 0x44, 0x08, 0x40, 0x4C, 0x04, 0x80, 0xF8, 0x07, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // Code for char â + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x98, 0x07, 0xC0, 0xCC, 0x0C, 0x40, 0x44, 0x08, 0x40, 0x44, 0x08, 0x80, 0x44, 0x08, 0x80, 0x4C, 0x04, 0xC0, 0xF8, 0x07, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // Code for char ã + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x98, 0x07, 0xC0, 0xCC, 0x0C, 0xC0, 0x44, 0x08, 0x00, 0x44, 0x08, 0x00, 0x44, 0x08, 0xC0, 0x4C, 0x04, 0xC0, 0xF8, 0x07, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // Code for char ä + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x98, 0x07, 0x00, 0xCC, 0x0C, 0x70, 0x44, 0x08, 0x88, 0x44, 0x08, 0x88, 0x44, 0x08, 0x70, 0x4C, 0x04, 0x00, 0xF8, 0x07, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // Code for char å + 0x0C, 0x00, 0x10, 0x07, 0x00, 0xD8, 0x0F, 0x00, 0x44, 0x08, 0x00, 0x44, 0x08, 0x00, 0x44, 0x04, 0x00, 0xF8, 0x03, 0x00, 0x58, 0x07, 0x00, 0x44, 0x08, 0x00, 0x44, 0x08, 0x00, 0x44, 0x08, 0x00, 0x78, 0x06, 0x00, 0x60, 0x00, // Code for char æ + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x18, 0x06, 0x00, 0x0C, 0x4C, 0x00, 0x04, 0xB8, 0x00, 0x04, 0xA8, 0x00, 0x04, 0xE8, 0x00, 0x1C, 0x4C, 0x00, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ç + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x48, 0x04, 0x30, 0x44, 0x08, 0x60, 0x44, 0x08, 0x80, 0x44, 0x08, 0x00, 0x44, 0x08, 0x00, 0x48, 0x0C, 0x00, 0x78, 0x06, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, // Code for char è + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x48, 0x04, 0x00, 0x44, 0x08, 0x80, 0x44, 0x08, 0x60, 0x44, 0x08, 0x30, 0x44, 0x08, 0x00, 0x48, 0x0C, 0x00, 0x78, 0x06, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, // Code for char é + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xF0, 0x03, 0x80, 0x48, 0x04, 0x40, 0x44, 0x08, 0x20, 0x44, 0x08, 0x20, 0x44, 0x08, 0x40, 0x44, 0x08, 0x80, 0x48, 0x0C, 0x00, 0x78, 0x06, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, // Code for char ê + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xF0, 0x03, 0xC0, 0x48, 0x04, 0xC0, 0x44, 0x08, 0x00, 0x44, 0x08, 0x00, 0x44, 0x08, 0xC0, 0x44, 0x08, 0xC0, 0x48, 0x0C, 0x00, 0x78, 0x06, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, // Code for char ë + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x30, 0x04, 0x08, 0x60, 0xFC, 0x0F, 0x80, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // Code for char ì + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x80, 0xFC, 0x0F, 0x60, 0x00, 0x08, 0x30, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // Code for char í + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0x80, 0x04, 0x08, 0x40, 0x04, 0x08, 0x20, 0xFC, 0x0F, 0x20, 0x00, 0x08, 0x40, 0x00, 0x08, 0x80, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // Code for char î + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0xC0, 0x04, 0x08, 0xC0, 0x04, 0x08, 0x00, 0xFC, 0x0F, 0x00, 0x00, 0x08, 0xC0, 0x00, 0x08, 0xC0, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // Code for char ï + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0xF8, 0x07, 0x20, 0x08, 0x04, 0xA0, 0x05, 0x08, 0xE0, 0x04, 0x08, 0xC0, 0x04, 0x08, 0xE0, 0x05, 0x08, 0x20, 0x0B, 0x04, 0x00, 0xFC, 0x07, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, // Code for char ð + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0x40, 0x08, 0x00, 0x40, 0x04, 0x00, 0x80, 0x04, 0x00, 0x80, 0x04, 0x00, 0xC0, 0x1C, 0x00, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ñ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0xF8, 0x07, 0x00, 0x08, 0x04, 0x30, 0x04, 0x08, 0x60, 0x04, 0x08, 0x80, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x08, 0x04, 0x00, 0xF8, 0x07, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, // Code for char ò + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0xF8, 0x07, 0x00, 0x08, 0x04, 0x00, 0x04, 0x08, 0x80, 0x04, 0x08, 0x60, 0x04, 0x08, 0x30, 0x04, 0x08, 0x00, 0x08, 0x04, 0x00, 0xF8, 0x07, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, // Code for char ó + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0xF8, 0x07, 0x80, 0x08, 0x04, 0x40, 0x04, 0x08, 0x20, 0x04, 0x08, 0x20, 0x04, 0x08, 0x40, 0x04, 0x08, 0x80, 0x08, 0x04, 0x00, 0xF8, 0x07, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, // Code for char ô + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0xF8, 0x07, 0xC0, 0x08, 0x04, 0x40, 0x04, 0x08, 0x40, 0x04, 0x08, 0x80, 0x04, 0x08, 0x80, 0x04, 0x08, 0xC0, 0x08, 0x04, 0x00, 0xF8, 0x07, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, // Code for char õ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0xF8, 0x07, 0xC0, 0x08, 0x04, 0xC0, 0x04, 0x08, 0x00, 0x04, 0x08, 0x00, 0x04, 0x08, 0xC0, 0x04, 0x08, 0xC0, 0x08, 0x04, 0x00, 0xF8, 0x07, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, // Code for char ö + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x26, 0x03, 0x00, 0x26, 0x03, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00 // Code for char ÷ + }; + diff --git a/ili9341/fonts/Neato5x7.c b/ili9341/fonts/Neato5x7.c new file mode 100644 index 0000000..e6aac5d --- /dev/null +++ b/ili9341/fonts/Neato5x7.c @@ -0,0 +1,228 @@ +// Modified version of Standard ASCII 5x7 font +// NEATO ASCII 5x7 font (223 characters) +// BY: IxD SMART Design, ported by: aisencc +static const unsigned char font[] PROGMEM = { +0x05,0x00,0x00,0x00,0x00,0x00, //32 (space) +0x05,0x00,0x00,0x17,0x00,0x00, //33 ! +0x05,0x00,0x07,0x00,0x07,0x00, //34 +0x05,0x14,0x7F,0x14,0x7F,0x14, //35 # +0x05,0x24,0x2A,0x7F,0x2A,0x12, //36 $ +0x05,0x23,0x13,0x08,0x64,0x62, //37 % +0x05,0x36,0x49,0x56,0x20,0x50, //38 & +0x05,0x00,0x08,0x07,0x03,0x00, //39 ' +0x05,0x00,0x1C,0x22,0x41,0x00, //40 ( +0x05,0x00,0x41,0x22,0x1C,0x00, //41 ) +0x05,0x2A,0x1C,0x7F,0x1C,0x2A, //42 * +0x05,0x08,0x08,0x3E,0x08,0x08, //43 + +0x05,0x00,0x80,0x70,0x30,0x00, //44 , +0x05,0x08,0x08,0x08,0x08,0x08, //45 - +0x05,0x00,0x00,0x60,0x60,0x00, //46 . +0x05,0x20,0x10,0x08,0x04,0x02, //47 / +0x05,0x3E,0x51,0x49,0x45,0x3E, //48 0 +0x05,0x00,0x42,0x7F,0x40,0x00, //49 1 +0x05,0x72,0x49,0x49,0x49,0x46, //50 2 +0x05,0x21,0x41,0x49,0x4D,0x33, //51 3 +0x05,0x18,0x14,0x12,0x7F,0x10, //52 4 +0x05,0x27,0x45,0x45,0x45,0x39, //53 5 +0x05,0x3C,0x4A,0x49,0x49,0x31, //54 6 +0x05,0x41,0x21,0x11,0x09,0x07, //55 7 +0x05,0x36,0x49,0x49,0x49,0x36, //56 8 +0x05,0x46,0x49,0x49,0x29,0x1E, //57 9 +0x05,0x00,0x00,0x14,0x00,0x00, //58 : +0x05,0x00,0x40,0x34,0x00,0x00, //59 ; +0x05,0x00,0x08,0x14,0x22,0x41, //60 < +0x05,0x14,0x14,0x14,0x14,0x14, //61 = +0x05,0x00,0x41,0x22,0x14,0x08, //62 > +0x05,0x02,0x01,0x59,0x09,0x06, //63 ? +0x05,0x3E,0x41,0x5D,0x59,0x4E, //64 @ +0x05,0x1F,0x05,0x05,0x05,0x1F, //65 A +0x05,0x1F,0x15,0x15,0x15,0x0E, //66 B +0x05,0x1F,0x11,0x11,0x11,0x11, //67 C +0x05,0x1F,0x11,0x11,0x11,0x0E, //68 D +0x05,0x1F,0x15,0x15,0x15,0x11, //69 E +0x05,0x1F,0x05,0x05,0x05,0x01, //70 F +0x05,0x1F,0x11,0x15,0x15,0x1D, //71 G +0x05,0x1F,0x04,0x04,0x04,0x1F, //72 H +0x05,0x11,0x11,0x1F,0x11,0x11, //73 I +0x05,0x11,0x11,0x1F,0x01,0x01, //74 J +0x05,0x1F,0x04,0x0A,0x11,0x00, //75 K +0x05,0x1F,0x10,0x10,0x10,0x00, //76 L +0x05,0x1F,0x02,0x04,0x02,0x1F, //77 M +0x05,0x1F,0x02,0x04,0x08,0x1F, //78 N +0x05,0x1F,0x11,0x11,0x11,0x1F, //79 O +0x05,0x1F,0x05,0x05,0x05,0x07, //80 P +0x05,0x1F,0x11,0x11,0x19,0x1F, //81 Q +0x05,0x1F,0x05,0x05,0x0D,0x17, //82 R +0x05,0x17,0x15,0x15,0x15,0x1D, //83 S +0x05,0x01,0x01,0x1F,0x01,0x01, //84 T +0x05,0x1F,0x10,0x10,0x10,0x1F, //85 U +0x05,0x03,0x0C,0x10,0x0C,0x03, //86 V +0x05,0x1F,0x10,0x08,0x10,0x1F, //87 W +0x05,0x11,0x0A,0x04,0x0A,0x11, //88 X +0x05,0x01,0x02,0x1C,0x02,0x01, //89 Y +0x05,0x11,0x19,0x15,0x13,0x11, //90 Z +0x05,0x00,0x7F,0x41,0x41,0x41, //91 +0x05,0x02,0x04,0x08,0x10,0x20, //92 +0x05,0x00,0x41,0x41,0x41,0x7F, //93 +0x05,0x04,0x02,0x01,0x02,0x04, //94 +0x05,0x40,0x40,0x40,0x40,0x40, //95 +0x05,0x00,0x03,0x07,0x08,0x00, //96 +0x05,0x20,0x54,0x54,0x78,0x40, //97 a +0x05,0x7F,0x28,0x44,0x44,0x38, //98 b +0x05,0x38,0x44,0x44,0x44,0x28, //99 c +0x05,0x38,0x44,0x44,0x28,0x7F, //100 d +0x05,0x38,0x54,0x54,0x54,0x18, //101 e +0x05,0x00,0x08,0x7E,0x09,0x02, //102 f +0x05,0x18,0xA4,0xA4,0x9C,0x78, //103 g +0x05,0x7F,0x08,0x04,0x04,0x78, //104 h +0x05,0x00,0x44,0x7D,0x40,0x00, //105 i +0x05,0x20,0x40,0x40,0x3D,0x00, //106 j +0x05,0x7F,0x10,0x28,0x44,0x00, //107 k +0x05,0x00,0x41,0x7F,0x40,0x00, //108 l +0x05,0x7C,0x04,0x78,0x04,0x78, //109 m +0x05,0x7C,0x08,0x04,0x04,0x78, //110 n +0x05,0x38,0x44,0x44,0x44,0x38, //111 o +0x05,0xFC,0x18,0x24,0x24,0x18, //112 p +0x05,0x18,0x24,0x24,0x18,0xFC, //113 q +0x05,0x7C,0x08,0x04,0x04,0x08, //114 r +0x05,0x48,0x54,0x54,0x54,0x24, //115 s +0x05,0x04,0x04,0x3F,0x44,0x24, //116 t +0x05,0x3C,0x40,0x40,0x20,0x7C, //117 u +0x05,0x1C,0x20,0x40,0x20,0x1C, //118 v +0x05,0x3C,0x40,0x30,0x40,0x3C, //119 w +0x05,0x44,0x28,0x10,0x28,0x44, //120 x +0x05,0x4C,0x90,0x90,0x90,0x7C, //121 y +0x05,0x44,0x64,0x54,0x4C,0x44, //122 z +0x05,0x00,0x08,0x36,0x41,0x00, //123 { +0x05,0x00,0x00,0x77,0x00,0x00, //124 | +0x05,0x00,0x41,0x36,0x08,0x00, //125 } +0x05,0x02,0x01,0x02,0x04,0x02, //126 ~ +0x05,0x3C,0x26,0x23,0x26,0x3C, //127 (delete) +0x05,0x1E,0xA1,0xA1,0x61,0x12, //128 � +0x05,0x3A,0x40,0x40,0x20,0x7A, //129 +0x05,0x38,0x54,0x54,0x55,0x59, //130 � +0x05,0x21,0x55,0x55,0x79,0x41, //131 � +0x05,0x21,0x54,0x54,0x78,0x41, //132 � +0x05,0x21,0x55,0x54,0x78,0x40, //133 � +0x05,0x20,0x54,0x55,0x79,0x40, //134 � +0x05,0x0C,0x1E,0x52,0x72,0x12, //135 � +0x05,0x39,0x55,0x55,0x55,0x59, //136 � +0x05,0x39,0x54,0x54,0x54,0x59, //137 � +0x05,0x39,0x55,0x54,0x54,0x58, //138 � +0x05,0x00,0x00,0x45,0x7C,0x41, //139 � +0x05,0x00,0x02,0x45,0x7D,0x42, //140 � +0x05,0x00,0x01,0x45,0x7C,0x40, //141 +0x05,0xF0,0x29,0x24,0x29,0xF0, //142 � +0x05,0xF0,0x28,0x25,0x28,0xF0, //143 +0x05,0x7C,0x54,0x55,0x45,0x00, //144 +0x05,0x20,0x54,0x54,0x7C,0x54, //145 � +0x05,0x7C,0x0A,0x09,0x7F,0x49, //146 � +0x05,0x32,0x49,0x49,0x49,0x32, //147 � +0x05,0x32,0x48,0x48,0x48,0x32, //148 � +0x05,0x32,0x4A,0x48,0x48,0x30, //149 � +0x05,0x3A,0x41,0x41,0x21,0x7A, //150 � +0x05,0x3A,0x42,0x40,0x20,0x78, //151 � +0x05,0x00,0x9D,0xA0,0xA0,0x7D, //152 � +0x05,0x39,0x44,0x44,0x44,0x39, //153 � +0x05,0x3D,0x40,0x40,0x40,0x3D, //154 � +0x05,0x3C,0x24,0xFF,0x24,0x24, //155 � +0x05,0x48,0x7E,0x49,0x43,0x66, //156 � +0x05,0x2B,0x2F,0xFC,0x2F,0x2B, //157 +0x05,0xFF,0x09,0x29,0xF6,0x20, //158 � +0x05,0xC0,0x88,0x7E,0x09,0x03, //159 � +0x05,0x20,0x54,0x54,0x79,0x41, //160 +0x05,0x00,0x00,0x44,0x7D,0x41, //161 � +0x05,0x30,0x48,0x48,0x4A,0x32, //162 � +0x05,0x38,0x40,0x40,0x22,0x7A, //163 � +0x05,0x00,0x7A,0x0A,0x0A,0x72, //164 � +0x05,0x7D,0x0D,0x19,0x31,0x7D, //165 � +0x05,0x26,0x29,0x29,0x2F,0x28, //166 � +0x05,0x26,0x29,0x29,0x29,0x26, //167 � +0x05,0x30,0x48,0x4D,0x40,0x20, //168 � +0x05,0x38,0x08,0x08,0x08,0x08, //169 � +0x05,0x08,0x08,0x08,0x08,0x38, //170 � +0x05,0x2F,0x10,0xC8,0xAC,0xBA, //171 � +0x05,0x2F,0x10,0x28,0x34,0xFA, //172 � +0x05,0x00,0x00,0x7B,0x00,0x00, //173 +0x05,0x08,0x14,0x2A,0x14,0x22, //174 � +0x05,0x22,0x14,0x2A,0x14,0x08, //175 � +0x05,0xAA,0x00,0x55,0x00,0xAA, //176 � +0x05,0xAA,0x55,0xAA,0x55,0xAA, //177 � +0x05,0x00,0x00,0x00,0xFF,0x00, //178 � +0x05,0x10,0x10,0x10,0xFF,0x00, //179 � +0x05,0x14,0x14,0x14,0xFF,0x00, //180 � +0x05,0x10,0x10,0xFF,0x00,0xFF, //181 � +0x05,0x10,0x10,0xF0,0x10,0xF0, //182 � +0x05,0x14,0x14,0x14,0xFC,0x00, //183 � +0x05,0x14,0x14,0xF7,0x00,0xFF, //184 � +0x05,0x00,0x00,0xFF,0x00,0xFF, //185 � +0x05,0x14,0x14,0xF4,0x04,0xFC, //186 � +0x05,0x14,0x14,0x17,0x10,0x1F, //187 � +0x05,0x10,0x10,0x1F,0x10,0x1F, //188 � +0x05,0x14,0x14,0x14,0x1F,0x00, //189 � +0x05,0x10,0x10,0x10,0xF0,0x00, //190 � +0x05,0x00,0x00,0x00,0x1F,0x10, //191 � +0x05,0x10,0x10,0x10,0x1F,0x10, //192 � +0x05,0x10,0x10,0x10,0xF0,0x10, //193 � +0x05,0x00,0x00,0x00,0xFF,0x10, //194 � +0x05,0x10,0x10,0x10,0x10,0x10, //195 � +0x05,0x10,0x10,0x10,0xFF,0x10, //196 � +0x05,0x00,0x00,0x00,0xFF,0x14, //197 � +0x05,0x00,0x00,0xFF,0x00,0xFF, //198 � +0x05,0x00,0x00,0x1F,0x10,0x17, //199 � +0x05,0x00,0x00,0xFC,0x04,0xF4, //200 � +0x05,0x14,0x14,0x17,0x10,0x17, //201 � +0x05,0x14,0x14,0xF4,0x04,0xF4, //202 � +0x05,0x00,0x00,0xFF,0x00,0xF7, //203 � +0x05,0x14,0x14,0x14,0x14,0x14, //204 � +0x05,0x14,0x14,0xF7,0x00,0xF7, //205 � +0x05,0x14,0x14,0x14,0x17,0x14, //206 � +0x05,0x10,0x10,0x1F,0x10,0x1F, //207 � +0x05,0x14,0x14,0x14,0xF4,0x14, //208 � +0x05,0x10,0x10,0xF0,0x10,0xF0, //219 � +0x05,0x00,0x00,0x1F,0x10,0x1F, //210 � +0x05,0x00,0x00,0x00,0x1F,0x14, //211 � +0x05,0x00,0x00,0x00,0xFC,0x14, //212 � +0x05,0x00,0x00,0xF0,0x10,0xF0, //213 � +0x05,0x10,0x10,0xFF,0x10,0xFF, //214 � +0x05,0x14,0x14,0x14,0xFF,0x14, //215 � +0x05,0x10,0x10,0x10,0x1F,0x00, //216 � +0x05,0x00,0x00,0x00,0xF0,0x10, //217 � +0x05,0xFF,0xFF,0xFF,0xFF,0xFF, //218 � +0x05,0xF0,0xF0,0xF0,0xF0,0xF0, //219 � +0x05,0xFF,0xFF,0xFF,0x00,0x00, //220 � +0x05,0x00,0x00,0x00,0xFF,0xFF, //221 � +0x05,0x0F,0x0F,0x0F,0x0F,0x0F, //222 � +0x05,0x38,0x44,0x44,0x38,0x44, //223 � +0x05,0x7C,0x2A,0x2A,0x3E,0x14, //224 � +0x05,0x7E,0x02,0x02,0x06,0x06, //225 � +0x05,0x02,0x7E,0x02,0x7E,0x02, //226 � +0x05,0x63,0x55,0x49,0x41,0x63, //227 � +0x05,0x38,0x44,0x44,0x3C,0x04, //228 � +0x05,0x40,0x7E,0x20,0x1E,0x20, //239 � +0x05,0x06,0x02,0x7E,0x02,0x02, //230 � +0x05,0x99,0xA5,0xE7,0xA5,0x99, //231 � +0x05,0x1C,0x2A,0x49,0x2A,0x1C, //232 � +0x05,0x4C,0x72,0x01,0x72,0x4C, //233 � +0x05,0x30,0x4A,0x4D,0x4D,0x30, //234 � +0x05,0x30,0x48,0x78,0x48,0x30, //235 � +0x05,0xBC,0x62,0x5A,0x46,0x3D, //236 � +0x05,0x3E,0x49,0x49,0x49,0x00, //237 � +0x05,0x7E,0x01,0x01,0x01,0x7E, //238 � +0x05,0x2A,0x2A,0x2A,0x2A,0x2A, //239 � +0x05,0x44,0x44,0x5F,0x44,0x44, //240 � +0x05,0x40,0x51,0x4A,0x44,0x40, //241 � +0x05,0x40,0x44,0x4A,0x51,0x40, //242 � +0x05,0x00,0x00,0xFF,0x01,0x03, //243 � +0x05,0xE0,0x80,0xFF,0x00,0x00, //244 � +0x05,0x08,0x08,0x6B,0x6B,0x08, //245 � +0x05,0x36,0x12,0x36,0x24,0x36, //246 � +0x05,0x06,0x0F,0x09,0x0F,0x06, //247 � +0x05,0x00,0x00,0x18,0x18,0x00, //248 � +0x05,0x00,0x00,0x10,0x10,0x00, //249 � +0x05,0x30,0x40,0xFF,0x01,0x01, //250 � +0x05,0x00,0x1F,0x01,0x01,0x1E, //251 � +0x05,0x00,0x19,0x1D,0x17,0x12, //252 � +0x05,0x00,0x3C,0x3C,0x3C,0x3C, //253 � +0x05,0x00,0x00,0x00,0x00,0x00, //254 � +}; \ No newline at end of file diff --git a/ili9341/fonts/NeatoReduced5x7.c b/ili9341/fonts/NeatoReduced5x7.c new file mode 100644 index 0000000..36f9268 --- /dev/null +++ b/ili9341/fonts/NeatoReduced5x7.c @@ -0,0 +1,101 @@ +// Modified version of Standard ASCII 5x7 font +// NEATO ASCII 5x7 font (Reduced charset: 96 characters) +// BY: IxD SMART Design, ported by: aisencc +static const unsigned char font[] PROGMEM = { +0x05,0x00,0x00,0x00,0x00,0x00, //32 (space) +0x05,0x00,0x00,0x17,0x00,0x00, //33 ! +0x05,0x00,0x07,0x00,0x07,0x00, //34 +0x05,0x14,0x7F,0x14,0x7F,0x14, //35 # +0x05,0x24,0x2A,0x7F,0x2A,0x12, //36 $ +0x05,0x23,0x13,0x08,0x64,0x62, //37 % +0x05,0x36,0x49,0x56,0x20,0x50, //38 & +0x05,0x00,0x08,0x07,0x03,0x00, //39 ' +0x05,0x00,0x1C,0x22,0x41,0x00, //40 ( +0x05,0x00,0x41,0x22,0x1C,0x00, //41 ) +0x05,0x2A,0x1C,0x7F,0x1C,0x2A, //42 * +0x05,0x08,0x08,0x3E,0x08,0x08, //43 + +0x05,0x00,0x80,0x70,0x30,0x00, //44 +0x05,0x08,0x08,0x08,0x08,0x08, //45 - +0x05,0x00,0x00,0x60,0x60,0x00, //46 . +0x05,0x20,0x10,0x08,0x04,0x02, //47/ +0x05,0x3E,0x51,0x49,0x45,0x3E, //48 0 +0x05,0x00,0x42,0x7F,0x40,0x00, //49 1 +0x05,0x72,0x49,0x49,0x49,0x46, //50 2 +0x05,0x21,0x41,0x49,0x4D,0x33, //51 3 +0x05,0x18,0x14,0x12,0x7F,0x10, //52 4 +0x05,0x27,0x45,0x45,0x45,0x39, //53 5 +0x05,0x3C,0x4A,0x49,0x49,0x31, //54 6 +0x05,0x41,0x21,0x11,0x09,0x07, //55 7 +0x05,0x36,0x49,0x49,0x49,0x36, //56 8 +0x05,0x46,0x49,0x49,0x29,0x1E, //57 9 +0x05,0x00,0x00,0x14,0x00,0x00, //58 : +0x05,0x00,0x40,0x34,0x00,0x00, //59 ; +0x05,0x00,0x08,0x14,0x22,0x41, //60 < +0x05,0x14,0x14,0x14,0x14,0x14, //61 = +0x05,0x00,0x41,0x22,0x14,0x08, //62 > +0x05,0x02,0x01,0x59,0x09,0x06, //63 ? +0x05,0x3E,0x41,0x5D,0x59,0x4E, //64 @ +0x05,0x1F,0x05,0x05,0x05,0x1F, //65 A +0x05,0x1F,0x15,0x15,0x15,0x0E, //66 B +0x05,0x1F,0x11,0x11,0x11,0x11, //67 C +0x05,0x1F,0x11,0x11,0x11,0x0E, //68 D +0x05,0x1F,0x15,0x15,0x15,0x11, //69 E +0x05,0x1F,0x05,0x05,0x05,0x01, //70 F +0x05,0x1F,0x11,0x15,0x15,0x1D, //71 G +0x05,0x1F,0x04,0x04,0x04,0x1F, //72 H +0x05,0x11,0x11,0x1F,0x11,0x11, //73 I +0x05,0x11,0x11,0x1F,0x01,0x01, //74 J +0x05,0x1F,0x04,0x0A,0x11,0x00, //75 K +0x05,0x1F,0x10,0x10,0x10,0x00, //76 L +0x05,0x1F,0x02,0x04,0x02,0x1F, //77 M +0x05,0x1F,0x02,0x04,0x08,0x1F, //78 N +0x05,0x1F,0x11,0x11,0x11,0x1F, //79 O +0x05,0x1F,0x05,0x05,0x05,0x07, //80 P +0x05,0x1F,0x11,0x11,0x19,0x1F, //81 Q +0x05,0x1F,0x05,0x05,0x0D,0x17, //82 R +0x05,0x17,0x15,0x15,0x15,0x1D, //83 S +0x05,0x01,0x01,0x1F,0x01,0x01, //84 T +0x05,0x1F,0x10,0x10,0x10,0x1F, //85 U +0x05,0x03,0x0C,0x10,0x0C,0x03, //86 V +0x05,0x1F,0x10,0x08,0x10,0x1F, //87 W +0x05,0x11,0x0A,0x04,0x0A,0x11, //88 X +0x05,0x01,0x02,0x1C,0x02,0x01, //89 Y +0x05,0x11,0x19,0x15,0x13,0x11, //90 Z +0x05,0x00,0x7F,0x41,0x41,0x41, //91 +0x05,0x02,0x04,0x08,0x10,0x20, //92 +0x05,0x00,0x41,0x41,0x41,0x7F, //93 +0x05,0x04,0x02,0x01,0x02,0x04, //94 +0x05,0x40,0x40,0x40,0x40,0x40, //95 +0x05,0x00,0x03,0x07,0x08,0x00, //96 +0x05,0x20,0x54,0x54,0x78,0x40, //97 a +0x05,0x7F,0x28,0x44,0x44,0x38, //98 b +0x05,0x38,0x44,0x44,0x44,0x28, //99 c +0x05,0x38,0x44,0x44,0x28,0x7F, //100 d +0x05,0x38,0x54,0x54,0x54,0x18, //101 e +0x05,0x00,0x08,0x7E,0x09,0x02, //102 f +0x05,0x18,0xA4,0xA4,0x9C,0x78, //103 g +0x05,0x7F,0x08,0x04,0x04,0x78, //104 h +0x05,0x00,0x44,0x7D,0x40,0x00, //105 i +0x05,0x20,0x40,0x40,0x3D,0x00, //106 j +0x05,0x7F,0x10,0x28,0x44,0x00, //107 k +0x05,0x00,0x41,0x7F,0x40,0x00, //108 l +0x05,0x7C,0x04,0x78,0x04,0x78, //109 m +0x05,0x7C,0x08,0x04,0x04,0x78, //110 n +0x05,0x38,0x44,0x44,0x44,0x38, //111 o +0x05,0xFC,0x18,0x24,0x24,0x18, //112 p +0x05,0x18,0x24,0x24,0x18,0xFC, //113 q +0x05,0x7C,0x08,0x04,0x04,0x08, //114 r +0x05,0x48,0x54,0x54,0x54,0x24, //115 s +0x05,0x04,0x04,0x3F,0x44,0x24, //116 t +0x05,0x3C,0x40,0x40,0x20,0x7C, //117 u +0x05,0x1C,0x20,0x40,0x20,0x1C, //118 v +0x05,0x3C,0x40,0x30,0x40,0x3C, //119 w +0x05,0x44,0x28,0x10,0x28,0x44, //120 x +0x05,0x4C,0x90,0x90,0x90,0x7C, //121 y +0x05,0x44,0x64,0x54,0x4C,0x44, //122 z +0x05,0x00,0x08,0x36,0x41,0x00, //123 { +0x05,0x00,0x00,0x77,0x00,0x00, //124 | +0x05,0x00,0x41,0x36,0x08,0x00, //125 } +0x05,0x02,0x01,0x02,0x04,0x02, //126 ~ +0x05,0x3C,0x26,0x23,0x26,0x3C, //127 (delete) +}; \ No newline at end of file diff --git a/ili9341/fonts/Robotron13x21.c b/ili9341/fonts/Robotron13x21.c new file mode 100644 index 0000000..2fba506 --- /dev/null +++ b/ili9341/fonts/Robotron13x21.c @@ -0,0 +1,72 @@ +//Font Generated by MikroElektronika GLCD Font Creator 1.2.0.0 +//MikroElektronika 2011 +//http://www.mikroe.com + +//GLCD FontName : Robotron13x21 +//GLCD FontSize : 13 x 21 (62 characters) + +const unsigned short Robotron13x21[] = { + 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, 0x00, 0x00, 0x00, 0x00, // Code for char + 0x03, 0xFC, 0x9F, 0x03, 0xFC, 0x9F, 0x03, 0xFC, 0x9F, 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, // Code for char ! + 0x08, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char " + 0x0D, 0x80, 0x73, 0x00, 0x80, 0x73, 0x00, 0x80, 0x73, 0x00, 0xE0, 0xFF, 0x03, 0xE0, 0xFF, 0x03, 0xE0, 0xFF, 0x03, 0x80, 0x73, 0x00, 0x80, 0x73, 0x00, 0xE0, 0xFF, 0x03, 0xE0, 0xFF, 0x03, 0xE0, 0xFF, 0x03, 0x80, 0x73, 0x00, 0x80, 0x73, 0x00, // Code for char # + 0x0D, 0xFC, 0xE3, 0x03, 0xFC, 0xE3, 0x03, 0xFC, 0xE3, 0x03, 0x9C, 0xE3, 0x03, 0x9C, 0xE3, 0x03, 0x9F, 0x83, 0x1F, 0x9F, 0x83, 0x1F, 0x9F, 0x83, 0x1F, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0xFF, 0x03, 0x9C, 0xFF, 0x03, 0x9C, 0xFF, 0x03, // Code for char $ + 0x0B, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0x00, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char % + 0x0D, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x9C, 0xFF, 0x03, 0x9C, 0xFF, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x00, 0x9C, 0x03, 0x00, 0x9C, 0x03, 0x00, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0x00, 0xFC, 0x03, // Code for char & + 0x03, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ' + 0x08, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, 0x07, 0x00, 0x1C, 0x07, 0x00, 0x1C, 0x07, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ( + 0x08, 0x03, 0x00, 0x1C, 0x03, 0x00, 0x1C, 0x03, 0x00, 0x1C, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ) + 0x0D, 0x60, 0x1C, 0x00, 0x60, 0x1C, 0x00, 0x60, 0x1C, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0xFC, 0x7F, 0x00, 0xFC, 0x7F, 0x00, 0xFC, 0x7F, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x60, 0x1C, 0x00, 0x60, 0x1C, 0x00, 0x60, 0x1C, 0x00, // Code for char * + 0x08, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0xE0, 0x1F, 0x00, 0xE0, 0x1F, 0x00, 0xE0, 0x1F, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char + + 0x03, 0x00, 0x80, 0x1F, 0x00, 0x80, 0x1F, 0x00, 0x80, 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, // Code for char , + 0x08, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char - + 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 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, // Code for char . + 0x05, 0x00, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0x00, 0xFC, 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, // Code for char / + 0x0D, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, // Code for char 0 + 0x0B, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 1 + 0x0D, 0x80, 0xFF, 0x03, 0x80, 0xFF, 0x03, 0x80, 0xFF, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0x00, // Code for char 2 + 0x0D, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, // Code for char 3 + 0x0D, 0xFC, 0x1F, 0x00, 0xFC, 0x1F, 0x00, 0xFC, 0x1F, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0xE0, 0xFF, 0x03, 0xE0, 0xFF, 0x03, 0xE0, 0xFF, 0x03, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, // Code for char 4 + 0x0D, 0xFC, 0x83, 0x03, 0xFC, 0x83, 0x03, 0xFC, 0x83, 0x03, 0x1C, 0x83, 0x03, 0x1C, 0x83, 0x03, 0x1C, 0x83, 0x03, 0x1C, 0x83, 0x03, 0x1C, 0x83, 0x03, 0x1C, 0x83, 0x03, 0x1C, 0x83, 0x03, 0x00, 0x83, 0x03, 0x00, 0xFF, 0x03, 0x00, 0xFF, 0x03, // Code for char 5 + 0x0D, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x80, 0xFF, 0x03, 0x80, 0xFF, 0x03, 0x80, 0xFF, 0x03, // Code for char 6 + 0x0D, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x60, 0x00, 0x1C, 0x60, 0x00, 0x1C, 0x60, 0x00, 0x1C, 0x1C, 0x00, 0x1C, 0x1C, 0x00, 0x9C, 0x03, 0x00, 0x9C, 0x03, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, // Code for char 7 + 0x0D, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, // Code for char 8 + 0x0D, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0x00, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, // Code for char 9 + 0x03, 0x80, 0x83, 0x03, 0x80, 0x83, 0x03, 0x80, 0x83, 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, // Code for char : + 0x03, 0x80, 0x03, 0x1F, 0x80, 0x03, 0x1F, 0x80, 0x03, 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, // Code for char ; + 0x08, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0xE0, 0x70, 0x00, 0xE0, 0x70, 0x00, 0xE0, 0x70, 0x00, 0xE0, 0x70, 0x00, 0xE0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char < + 0x08, 0xE0, 0x1C, 0x00, 0xE0, 0x1C, 0x00, 0xE0, 0x1C, 0x00, 0xE0, 0x1C, 0x00, 0xE0, 0x1C, 0x00, 0xE0, 0x1C, 0x00, 0xE0, 0x1C, 0x00, 0xE0, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char = + 0x08, 0xE0, 0x60, 0x00, 0xE0, 0x60, 0x00, 0xE0, 0x60, 0x00, 0xE0, 0x60, 0x00, 0xE0, 0x60, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char > + 0x0D, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x1C, 0x9C, 0x03, 0x1C, 0x9C, 0x03, 0x1C, 0x9C, 0x03, 0x1C, 0x1C, 0x00, 0x1C, 0x1C, 0x00, 0xFC, 0x1F, 0x00, 0xFC, 0x1F, 0x00, 0xFC, 0x1F, 0x00, // Code for char ? + 0x0D, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0xFC, 0x9F, 0x03, 0xFC, 0x9F, 0x03, 0xFC, 0x9F, 0x03, 0x1C, 0x9C, 0x03, 0x1C, 0x9C, 0x03, 0xFC, 0x9F, 0x03, 0xFC, 0x9F, 0x03, 0xFC, 0x9F, 0x03, // Code for char @ + 0x0D, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x9C, 0x03, 0x00, 0x9C, 0x03, 0x00, 0x9C, 0x03, 0x00, 0x9C, 0x03, 0x00, 0x9C, 0x03, 0x00, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, // Code for char A + 0x0D, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x9C, 0xFF, 0x03, 0x9C, 0xFF, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0xFC, 0x83, 0x03, 0xFC, 0x83, 0x03, 0x80, 0xFF, 0x03, 0x80, 0xFF, 0x03, 0x80, 0xFF, 0x03, // Code for char B + 0x0D, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, // Code for char C + 0x0D, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0xE0, 0x7F, 0x00, 0xE0, 0x7F, 0x00, 0xE0, 0x7F, 0x00, // Code for char D + 0x0D, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x9C, 0xFF, 0x03, 0x9C, 0xFF, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, // Code for char E + 0x0D, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x9C, 0xFF, 0x03, 0x9C, 0xFF, 0x03, 0x9C, 0x03, 0x00, 0x9C, 0x03, 0x00, 0x9C, 0x03, 0x00, 0x9C, 0x03, 0x00, 0x9C, 0x03, 0x00, 0x9C, 0x03, 0x00, 0x9C, 0x03, 0x00, 0x9C, 0x03, 0x00, // Code for char F + 0x0D, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0xFC, 0x9C, 0x03, 0xFC, 0x9C, 0x03, 0xFC, 0xFC, 0x03, 0xFC, 0xFC, 0x03, 0xFC, 0xFC, 0x03, // Code for char G + 0x0D, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, // Code for char H + 0x05, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 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, // Code for char I + 0x0D, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, // Code for char J + 0x0D, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0xE0, 0x70, 0x00, 0xE0, 0x70, 0x00, 0xE0, 0x70, 0x00, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, // Code for char K + 0x0D, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0x03, // Code for char L + 0x0D, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, // Code for char M + 0x0D, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x9C, 0xFF, 0x03, 0x9C, 0xFF, 0x03, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, // Code for char N + 0x0D, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0xFC, 0x80, 0x03, 0xFC, 0x80, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, // Code for char O + 0x0D, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x9C, 0xFF, 0x03, 0x9C, 0xFF, 0x03, 0x9C, 0x03, 0x00, 0x9C, 0x03, 0x00, 0x9C, 0x03, 0x00, 0x9C, 0x03, 0x00, 0x9C, 0x03, 0x00, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0x00, // Code for char P + 0x0D, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0xE0, 0x1F, 0x1C, 0xE0, 0x1F, 0x1C, 0xE0, 0x1F, 0x1C, 0xE0, 0x1F, 0x1C, 0xE0, 0x1F, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, // Code for char Q + 0x0D, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x9C, 0xFF, 0x03, 0x9C, 0xFF, 0x03, 0x9C, 0x03, 0x00, 0x9C, 0x03, 0x00, 0x9C, 0x03, 0x00, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0x00, 0x80, 0xFF, 0x03, 0x80, 0xFF, 0x03, 0x80, 0xFF, 0x03, // Code for char R + 0x0D, 0xFC, 0xE3, 0x03, 0xFC, 0xE3, 0x03, 0xFC, 0xE3, 0x03, 0x9C, 0xE3, 0x03, 0x9C, 0xE3, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0xFF, 0x03, 0x9C, 0xFF, 0x03, 0x9C, 0xFF, 0x03, // Code for char S + 0x0D, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x9C, 0xFF, 0x03, 0x9C, 0xFF, 0x03, 0x9C, 0xFF, 0x03, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, // Code for char T + 0x0D, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, // Code for char U + 0x0D, 0xFC, 0x1F, 0x00, 0xFC, 0x1F, 0x00, 0xFC, 0x1F, 0x00, 0xFC, 0x7F, 0x00, 0xFC, 0x7F, 0x00, 0xFC, 0x7F, 0x00, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0xFC, 0x1F, 0x00, 0xFC, 0x1F, 0x00, // Code for char V + 0x0D, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, 0xFC, 0xFF, 0x03, // Code for char W + 0x0D, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0xE0, 0x70, 0x00, 0xE0, 0x70, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0xE0, 0x70, 0x00, 0xE0, 0x70, 0x00, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, 0x1C, 0x80, 0x03, // Code for char X + 0x0D, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0x00, 0x80, 0xFF, 0x03, 0x80, 0xFF, 0x03, 0x80, 0xFF, 0x03, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0x00, // Code for char Y + 0x0D, 0xFC, 0x80, 0x03, 0xFC, 0x80, 0x03, 0xFC, 0x80, 0x03, 0xFC, 0xE0, 0x03, 0xFC, 0xE0, 0x03, 0x1C, 0x9C, 0x03, 0x1C, 0x9C, 0x03, 0x1C, 0x9C, 0x03, 0x9C, 0x83, 0x03, 0x9C, 0x83, 0x03, 0xFC, 0x80, 0x03, 0xFC, 0x80, 0x03, 0xFC, 0x80, 0x03, // Code for char Z + 0x08, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, 0x07, 0x00, 0x1C, 0x07, 0x00, 0x1C, 0x07, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char [ + 0x05, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0x00, 0xFC, 0x03, 0x00, 0x00, 0xFC, 0x03, 0x00, 0xFC, 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, // Code for char BackSlash + 0x08, 0x03, 0x00, 0x1C, 0x03, 0x00, 0x1C, 0x03, 0x00, 0x1C, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // Code for char ] + }; + diff --git a/ili9341/fonts/Robotron7x11.c b/ili9341/fonts/Robotron7x11.c new file mode 100644 index 0000000..daba838 --- /dev/null +++ b/ili9341/fonts/Robotron7x11.c @@ -0,0 +1,105 @@ +//Font Generated by MikroElektronika GLCD Font Creator 1.2.0.0 +//MikroElektronika 2011 +//http://www.mikroe.com + +//GLCD FontName : Robotron7x11 +//GLCD FontSize : 7 x 11 + + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char + 0x02, 0x00, 0x00, 0x7C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ! + 0x05, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char " + 0x07, 0x10, 0x01, 0xF8, 0x03, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0xF8, 0x03, 0x10, 0x01, // Code for char # + 0x07, 0x9C, 0x03, 0x94, 0x03, 0x94, 0x03, 0x17, 0x06, 0x14, 0x02, 0x14, 0x02, 0xF4, 0x03, // Code for char $ + 0x06, 0x0C, 0x00, 0xC0, 0x03, 0x3C, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x00, 0x03, 0x00, 0x00, // Code for char % + 0x07, 0xFC, 0x03, 0xF4, 0x03, 0xF4, 0x03, 0x14, 0x02, 0x60, 0x02, 0x60, 0x02, 0xE0, 0x03, // Code for char & + 0x02, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ' + 0x05, 0x00, 0x00, 0xFF, 0x07, 0xFF, 0x07, 0x01, 0x04, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, // Code for char ( + 0x05, 0x00, 0x00, 0x03, 0x04, 0xFF, 0x07, 0xFF, 0x07, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, // Code for char ) + 0x07, 0x68, 0x00, 0x10, 0x00, 0x10, 0x00, 0xFC, 0x01, 0x10, 0x00, 0x10, 0x00, 0x68, 0x00, // Code for char * + 0x05, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x78, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char + + 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char , + 0x05, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char - + 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char . + 0x03, 0xC0, 0x03, 0xC0, 0x03, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char / + 0x07, 0xFC, 0x03, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0xFC, 0x03, // Code for char 0 + 0x07, 0x00, 0x00, 0x00, 0x02, 0x04, 0x02, 0x04, 0x02, 0xFC, 0x03, 0x00, 0x02, 0x00, 0x02, // Code for char 1 + 0x07, 0xF0, 0x03, 0x14, 0x02, 0x14, 0x02, 0x14, 0x02, 0x14, 0x02, 0x14, 0x02, 0x1C, 0x00, // Code for char 2 + 0x07, 0x00, 0x02, 0x14, 0x02, 0x14, 0x02, 0x14, 0x02, 0x14, 0x02, 0x14, 0x02, 0xFC, 0x03, // Code for char 3 + 0x07, 0x7C, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0xF8, 0x03, 0x40, 0x00, // Code for char 4 + 0x07, 0x7C, 0x02, 0x74, 0x02, 0x74, 0x02, 0x74, 0x02, 0x74, 0x02, 0x70, 0x02, 0xF0, 0x03, // Code for char 5 + 0x07, 0xFC, 0x03, 0x14, 0x02, 0x14, 0x02, 0x14, 0x02, 0x14, 0x02, 0x14, 0x02, 0xF0, 0x03, // Code for char 6 + 0x07, 0x04, 0x02, 0x84, 0x01, 0x44, 0x00, 0x44, 0x00, 0x34, 0x00, 0x34, 0x00, 0x1C, 0x00, // Code for char 7 + 0x07, 0xFC, 0x03, 0x14, 0x02, 0x14, 0x02, 0x14, 0x02, 0x14, 0x02, 0x14, 0x02, 0xFC, 0x03, // Code for char 8 + 0x07, 0x1C, 0x00, 0x14, 0x02, 0x14, 0x02, 0x14, 0x02, 0x14, 0x02, 0x14, 0x02, 0xFC, 0x03, // Code for char 9 + 0x02, 0x00, 0x00, 0x10, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char : + 0x02, 0x00, 0x00, 0x10, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ; + 0x05, 0x00, 0x00, 0xF0, 0x00, 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, // Code for char < + 0x05, 0x00, 0x00, 0x48, 0x00, 0x48, 0x00, 0x48, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char = + 0x05, 0x00, 0x00, 0x98, 0x01, 0x98, 0x01, 0x98, 0x01, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char > + 0x07, 0x1C, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x44, 0x02, 0x44, 0x00, 0x44, 0x00, 0x7C, 0x00, // Code for char ? + 0x07, 0xFC, 0x03, 0x04, 0x02, 0x04, 0x02, 0x7C, 0x02, 0x44, 0x02, 0x44, 0x02, 0x7C, 0x02, // Code for char @ + 0x07, 0xFC, 0x03, 0x14, 0x00, 0x14, 0x00, 0x14, 0x00, 0x14, 0x00, 0xFC, 0x03, 0xFC, 0x03, // Code for char A + 0x07, 0xFC, 0x03, 0xF4, 0x03, 0xF4, 0x03, 0x14, 0x02, 0x1C, 0x02, 0x1C, 0x02, 0xF0, 0x03, // Code for char B + 0x07, 0xFC, 0x03, 0xFC, 0x03, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, // Code for char C + 0x07, 0xFC, 0x03, 0xFC, 0x03, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0xF8, 0x01, // Code for char D + 0x07, 0xFC, 0x03, 0xF4, 0x03, 0xF4, 0x03, 0x14, 0x02, 0x14, 0x02, 0x14, 0x02, 0x14, 0x02, // Code for char E + 0x07, 0xFC, 0x03, 0xF4, 0x03, 0xF4, 0x03, 0x14, 0x00, 0x14, 0x00, 0x14, 0x00, 0x14, 0x00, // Code for char F + 0x07, 0xFC, 0x03, 0xFC, 0x03, 0x04, 0x02, 0x04, 0x02, 0x5C, 0x02, 0x5C, 0x02, 0xDC, 0x03, // Code for char G + 0x07, 0xFC, 0x03, 0xFC, 0x03, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0xFC, 0x03, // Code for char H + 0x03, 0x00, 0x00, 0xFC, 0x03, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char I + 0x07, 0x80, 0x03, 0x80, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0xFC, 0x03, // Code for char J + 0x07, 0xFC, 0x03, 0xFC, 0x03, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x08, 0x01, 0x04, 0x02, // Code for char K + 0x07, 0xFC, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, // Code for char L + 0x07, 0xFC, 0x03, 0x04, 0x00, 0x04, 0x00, 0x3C, 0x00, 0x04, 0x00, 0x04, 0x00, 0xFC, 0x03, // Code for char M + 0x07, 0xFC, 0x03, 0xF4, 0x03, 0xF4, 0x03, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0xFC, 0x03, // Code for char N + 0x07, 0xFC, 0x03, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x1C, 0x02, 0x1C, 0x02, 0xFC, 0x03, // Code for char O + 0x07, 0xFC, 0x03, 0xF4, 0x03, 0xF4, 0x03, 0x14, 0x00, 0x14, 0x00, 0x14, 0x00, 0x1C, 0x00, // Code for char P + 0x07, 0xFC, 0x03, 0x04, 0x02, 0x04, 0x02, 0x84, 0x07, 0x84, 0x07, 0x84, 0x07, 0xFC, 0x03, // Code for char Q + 0x07, 0xFC, 0x03, 0xF4, 0x03, 0xF4, 0x03, 0x14, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0xF0, 0x03, // Code for char R + 0x07, 0x9C, 0x03, 0x94, 0x03, 0x94, 0x03, 0x14, 0x02, 0x14, 0x02, 0x14, 0x02, 0xF4, 0x03, // Code for char S + 0x07, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0xFC, 0x03, 0xF4, 0x03, 0xF4, 0x03, 0x04, 0x00, // Code for char T + 0x07, 0xFC, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0xFC, 0x03, 0xFC, 0x03, // Code for char U + 0x07, 0x7C, 0x00, 0xFC, 0x01, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x80, 0x01, 0x7C, 0x00, // Code for char V + 0x07, 0xFC, 0x03, 0x80, 0x03, 0x80, 0x03, 0xFC, 0x03, 0x00, 0x02, 0x00, 0x02, 0xFC, 0x03, // Code for char W + 0x07, 0x04, 0x02, 0x08, 0x01, 0x08, 0x01, 0xF0, 0x00, 0x08, 0x01, 0x08, 0x01, 0x04, 0x02, // Code for char X + 0x07, 0x00, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0xF0, 0x03, 0x10, 0x00, 0x10, 0x00, 0x1C, 0x00, // Code for char Y + 0x07, 0x1C, 0x02, 0x9C, 0x03, 0x9C, 0x03, 0x44, 0x02, 0x34, 0x02, 0x34, 0x02, 0x1C, 0x02, // Code for char Z + 0x05, 0x00, 0x00, 0xFF, 0x07, 0xFF, 0x07, 0x01, 0x04, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, // Code for char [ + 0x03, 0x3C, 0x00, 0xC0, 0x03, 0xC0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char BackSlash + 0x05, 0x00, 0x00, 0x03, 0x04, 0xFF, 0x07, 0xFF, 0x07, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, // Code for char ] + 0x05, 0x00, 0x00, 0xFF, 0x03, 0x01, 0x02, 0x01, 0x02, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, // Code for char ^ + 0x07, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, // Code for char _ + 0x05, 0x00, 0x00, 0xFF, 0x03, 0x01, 0x02, 0x01, 0x02, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, // Code for char ` + 0x07, 0xFC, 0x03, 0x14, 0x00, 0x14, 0x00, 0x14, 0x00, 0x14, 0x00, 0xFC, 0x03, 0xFC, 0x03, // Code for char a + 0x07, 0xFC, 0x03, 0xF4, 0x03, 0xF4, 0x03, 0x14, 0x02, 0x1C, 0x02, 0x1C, 0x02, 0xF0, 0x03, // Code for char b + 0x07, 0xFC, 0x03, 0xFC, 0x03, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, // Code for char c + 0x07, 0xFC, 0x03, 0xFC, 0x03, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0xF8, 0x01, // Code for char d + 0x07, 0xFC, 0x03, 0xF4, 0x03, 0xF4, 0x03, 0x14, 0x02, 0x14, 0x02, 0x14, 0x02, 0x14, 0x02, // Code for char e + 0x07, 0xFC, 0x03, 0xF4, 0x03, 0xF4, 0x03, 0x14, 0x00, 0x14, 0x00, 0x14, 0x00, 0x14, 0x00, // Code for char f + 0x07, 0xFC, 0x03, 0xFC, 0x03, 0x04, 0x02, 0x04, 0x02, 0x5C, 0x02, 0x5C, 0x02, 0xDC, 0x03, // Code for char g + 0x07, 0xFC, 0x03, 0xFC, 0x03, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0xFC, 0x03, // Code for char h + 0x03, 0x00, 0x00, 0xFC, 0x03, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char i + 0x07, 0x80, 0x03, 0x80, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0xFC, 0x03, // Code for char j + 0x07, 0xFC, 0x03, 0xFC, 0x03, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x08, 0x01, 0x04, 0x02, // Code for char k + 0x07, 0xFC, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, // Code for char l + 0x07, 0xFC, 0x03, 0x04, 0x00, 0x04, 0x00, 0x3C, 0x00, 0x04, 0x00, 0x04, 0x00, 0xFC, 0x03, // Code for char m + 0x07, 0xFC, 0x03, 0xF4, 0x03, 0xF4, 0x03, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0xFC, 0x03, // Code for char n + 0x07, 0xFC, 0x03, 0x04, 0x02, 0x04, 0x02, 0x04, 0x02, 0x1C, 0x02, 0x1C, 0x02, 0xFC, 0x03, // Code for char o + 0x07, 0xFC, 0x03, 0xF4, 0x03, 0xF4, 0x03, 0x14, 0x00, 0x14, 0x00, 0x14, 0x00, 0x1C, 0x00, // Code for char p + 0x07, 0xFC, 0x03, 0x04, 0x02, 0x04, 0x02, 0x84, 0x07, 0x84, 0x07, 0x84, 0x07, 0xFC, 0x03, // Code for char q + 0x07, 0xFC, 0x03, 0xF4, 0x03, 0xF4, 0x03, 0x14, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0xF0, 0x03, // Code for char r + 0x07, 0x9C, 0x03, 0x94, 0x03, 0x94, 0x03, 0x14, 0x02, 0x14, 0x02, 0x14, 0x02, 0xF4, 0x03, // Code for char s + 0x07, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0xFC, 0x03, 0xF4, 0x03, 0xF4, 0x03, 0x04, 0x00, // Code for char t + 0x07, 0xFC, 0x03, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0xFC, 0x03, 0xFC, 0x03, // Code for char u + 0x07, 0x7C, 0x00, 0xFC, 0x01, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x80, 0x01, 0x7C, 0x00, // Code for char v + 0x07, 0xFC, 0x03, 0x80, 0x03, 0x80, 0x03, 0xFC, 0x03, 0x00, 0x02, 0x00, 0x02, 0xFC, 0x03, // Code for char w + 0x07, 0x04, 0x02, 0x08, 0x01, 0x08, 0x01, 0xF0, 0x00, 0x08, 0x01, 0x08, 0x01, 0x04, 0x02, // Code for char x + 0x07, 0x00, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0xF0, 0x03, 0x10, 0x00, 0x10, 0x00, 0x1C, 0x00, // Code for char y + 0x07, 0x1C, 0x02, 0x9C, 0x03, 0x9C, 0x03, 0x44, 0x02, 0x34, 0x02, 0x34, 0x02, 0x1C, 0x02, // Code for char z + 0x07, 0x00, 0x00, 0x60, 0x00, 0xFF, 0x07, 0xFF, 0x07, 0x01, 0x04, 0x01, 0x04, 0x01, 0x04, // Code for char { + 0x02, 0x00, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char | + 0x06, 0x00, 0x00, 0x03, 0x04, 0xFF, 0x07, 0xFF, 0x07, 0xFF, 0x07, 0x60, 0x00, 0x00, 0x00, // Code for char } + 0x05, 0x00, 0x00, 0xFF, 0x03, 0x01, 0x02, 0x01, 0x02, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, // Code for char ~ + 0x02, 0xF8, 0x01, 0xF8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // Code for char  + + diff --git a/ili9341/fonts/UbuntuMono12x24.c b/ili9341/fonts/UbuntuMono12x24.c new file mode 100644 index 0000000..cefdf52 --- /dev/null +++ b/ili9341/fonts/UbuntuMono12x24.c @@ -0,0 +1,238 @@ + +//WARNING: This Font Require X-GLCD Lib. +// You can not use it with MikroE GLCD Lib. + +//Font Generated by MikroElektronika GLCD Font Creator 1.2.0.0 +//MikroElektronika 2011 +//http://www.mikroe.com + +//GLCD FontName : Ubuntu_Mono12x24 +//GLCD FontSize : 12 x 24 + +const unsigned short Ubuntu_Mono12x24[] = { + 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, 0x00, // Code for char + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x7F, 0x0E, 0xE0, 0x7F, 0x0E, 0xE0, 0x7F, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ! + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x00, 0xF0, 0x07, 0x00, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x00, 0xF0, 0x07, 0x00, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char " + 0x0C, 0x00, 0xC6, 0x00, 0x00, 0xC6, 0x0E, 0x00, 0xF6, 0x0F, 0x00, 0xFF, 0x01, 0xE0, 0xCF, 0x00, 0xE0, 0xC6, 0x00, 0x00, 0xC6, 0x0E, 0x00, 0xF6, 0x0F, 0x00, 0xFF, 0x01, 0xE0, 0xCF, 0x00, 0xE0, 0xC6, 0x00, 0x00, 0xC6, 0x00, // Code for char # + 0x0B, 0x00, 0x00, 0x00, 0x80, 0x07, 0x02, 0xC0, 0x0F, 0x07, 0xE0, 0x0F, 0x06, 0x78, 0x1C, 0x3E, 0x78, 0x1C, 0x3E, 0x78, 0x18, 0x3E, 0x60, 0x38, 0x06, 0x60, 0xF0, 0x07, 0x60, 0xF0, 0x03, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, // Code for char $ + 0x0C, 0xC0, 0x07, 0x08, 0xE0, 0x0F, 0x0E, 0x60, 0x0C, 0x07, 0x60, 0xCC, 0x03, 0xE0, 0xFF, 0x00, 0xC0, 0x3F, 0x00, 0x00, 0xDE, 0x07, 0x80, 0xE7, 0x0F, 0xC0, 0x61, 0x0C, 0xE0, 0x60, 0x0C, 0x20, 0xE0, 0x0F, 0x00, 0xC0, 0x07, // Code for char % + 0x0C, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x03, 0x80, 0xE7, 0x07, 0xC0, 0x7F, 0x0E, 0xE0, 0x3F, 0x0C, 0x60, 0x78, 0x0C, 0xE0, 0xEF, 0x0C, 0xC0, 0xCF, 0x0F, 0x80, 0x83, 0x07, 0x00, 0xF0, 0x07, 0x00, 0xF0, 0x0C, 0x00, 0x00, 0x08, // Code for char & + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x00, 0xF0, 0x07, 0x00, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ' + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x01, 0x00, 0xFF, 0x07, 0xC0, 0xFF, 0x1F, 0xE0, 0x03, 0x3E, 0xF0, 0x00, 0x78, 0x70, 0x00, 0x70, 0x38, 0x00, 0xE0, 0x10, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ( + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x40, 0x38, 0x00, 0xE0, 0x70, 0x00, 0x70, 0xF0, 0x00, 0x78, 0xE0, 0x03, 0x3E, 0xC0, 0xFF, 0x1F, 0x00, 0xFF, 0x07, 0x00, 0xFC, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ) + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x80, 0x13, 0x00, 0x00, 0x3B, 0x00, 0xE0, 0x3E, 0x00, 0xE0, 0x07, 0x00, 0xE0, 0x3E, 0x00, 0x00, 0x1B, 0x00, 0x80, 0x13, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char * + 0x0C, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0xFE, 0x07, 0x00, 0xFE, 0x07, 0x00, 0xFE, 0x07, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, // Code for char + + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char , + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x70, 0x00, 0x00, 0x70, 0x00, 0x00, 0x70, 0x00, 0x00, 0x70, 0x00, 0x00, 0x70, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char - + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char . + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xFE, 0x00, 0xC0, 0x7F, 0x00, 0xF8, 0x0F, 0x80, 0xFF, 0x01, 0xF0, 0x3F, 0x00, 0xF8, 0x07, 0x00, 0xF8, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char / + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xE0, 0x00, 0x0E, 0x60, 0x38, 0x0C, 0x60, 0x38, 0x0C, 0xE0, 0x00, 0x0E, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, // Code for char 0 + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x07, 0x0C, 0x80, 0x03, 0x0C, 0xC0, 0x03, 0x0C, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, // Code for char 1 + 0x0B, 0x00, 0x00, 0x00, 0x40, 0x00, 0x0F, 0xC0, 0x80, 0x0F, 0x60, 0xC0, 0x0F, 0x60, 0xE0, 0x0D, 0x60, 0xF0, 0x0C, 0xE0, 0x7C, 0x0C, 0xE0, 0x3F, 0x0C, 0xC0, 0x1F, 0x0C, 0x80, 0x07, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, // Code for char 2 + 0x0B, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0xE0, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x60, 0x1C, 0x0C, 0xE0, 0x3F, 0x0E, 0xC0, 0xFF, 0x07, 0x80, 0xE7, 0x07, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x00, // Code for char 3 + 0x0C, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xDF, 0x00, 0x80, 0xC7, 0x00, 0xC0, 0xC1, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, // Code for char 4 + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x0F, 0x0C, 0xE0, 0x0F, 0x0C, 0xE0, 0x0F, 0x0C, 0x60, 0x0C, 0x0C, 0x60, 0x1C, 0x0C, 0x60, 0x1C, 0x0E, 0x60, 0xF8, 0x07, 0x60, 0xF0, 0x07, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, // Code for char 5 + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x01, 0x00, 0xFF, 0x07, 0x80, 0xFF, 0x07, 0xC0, 0x1B, 0x0E, 0xC0, 0x0C, 0x0C, 0xE0, 0x0C, 0x0C, 0x60, 0x18, 0x0E, 0x60, 0xF8, 0x07, 0x60, 0xF8, 0x07, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, // Code for char 6 + 0x0A, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x0E, 0x60, 0xC0, 0x0F, 0x60, 0xF8, 0x0F, 0x60, 0xFE, 0x01, 0x60, 0x1F, 0x00, 0xE0, 0x07, 0x00, 0xE0, 0x01, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 7 + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x03, 0xC0, 0xEF, 0x07, 0xC0, 0xFF, 0x0F, 0xE0, 0x3C, 0x0E, 0x60, 0x18, 0x0C, 0x60, 0x38, 0x0C, 0x60, 0x7C, 0x0E, 0xE0, 0xFF, 0x0F, 0xC0, 0xE7, 0x07, 0x80, 0xC3, 0x03, 0x00, 0x00, 0x00, // Code for char 8 + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0xC0, 0x3F, 0x0C, 0xC0, 0x3F, 0x0C, 0xE0, 0x30, 0x0C, 0x60, 0x60, 0x0E, 0x60, 0x60, 0x07, 0xE0, 0xB0, 0x07, 0xC0, 0xFF, 0x03, 0xC0, 0xFF, 0x01, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, // Code for char 9 + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x06, 0x00, 0x1E, 0x0F, 0x00, 0x1E, 0x0F, 0x00, 0x0C, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char : + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x0C, 0xC6, 0x00, 0x1E, 0x6F, 0x00, 0x1E, 0x3F, 0x00, 0x0C, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ; + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF8, 0x01, 0x00, 0xF8, 0x01, 0x00, 0x9C, 0x01, 0x00, 0x9C, 0x03, 0x00, 0x0C, 0x03, 0x00, 0x0E, 0x07, 0x00, 0x0C, 0x03, 0x00, 0x00, 0x00, // Code for char < + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x00, 0x00, 0xCC, 0x00, 0x00, 0xCC, 0x00, 0x00, 0xCC, 0x00, 0x00, 0xCC, 0x00, 0x00, 0xCC, 0x00, 0x00, 0xCC, 0x00, 0x00, 0xCC, 0x00, 0x00, 0xCC, 0x00, 0x00, 0xCC, 0x00, 0x00, 0x00, 0x00, // Code for char = + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x0E, 0x07, 0x00, 0x0C, 0x03, 0x00, 0x9C, 0x03, 0x00, 0x9C, 0x03, 0x00, 0xF8, 0x01, 0x00, 0xF8, 0x01, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, // Code for char > + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x70, 0x0E, 0x60, 0x78, 0x0E, 0x60, 0x7C, 0x0E, 0xE0, 0x3F, 0x00, 0xC0, 0x0F, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ? + 0x0B, 0x00, 0xFC, 0x03, 0x80, 0xFF, 0x0F, 0xC0, 0x03, 0x1C, 0xC0, 0x00, 0x30, 0x60, 0xF8, 0x31, 0x60, 0xFC, 0x63, 0x60, 0x0E, 0x67, 0x60, 0x06, 0x66, 0xE0, 0x06, 0x66, 0xC0, 0xFF, 0x67, 0x00, 0xFF, 0x67, 0x00, 0x00, 0x00, // Code for char @ + 0x0C, 0x00, 0x00, 0x0C, 0x00, 0xC0, 0x0F, 0x00, 0xF8, 0x0F, 0x00, 0xFF, 0x07, 0xE0, 0xFF, 0x01, 0xE0, 0x83, 0x01, 0xE0, 0x83, 0x01, 0xE0, 0xFF, 0x01, 0x80, 0xFF, 0x07, 0x00, 0xFC, 0x0F, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0C, // Code for char A + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x60, 0x1C, 0x0C, 0xE0, 0x3F, 0x0E, 0xC0, 0xFF, 0x07, 0x80, 0xE7, 0x07, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x00, // Code for char B + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xC0, 0x01, 0x0F, 0xE0, 0x00, 0x0E, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0xE0, 0x00, 0x0E, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, // Code for char C + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0xE0, 0x00, 0x0E, 0xC0, 0x01, 0x07, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, // Code for char D + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, // Code for char E + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x60, 0x18, 0x00, 0x60, 0x18, 0x00, 0x60, 0x18, 0x00, 0x60, 0x18, 0x00, 0x60, 0x18, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char F + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xC0, 0x01, 0x0F, 0xE0, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x60, 0xF0, 0x0F, 0xE0, 0xF0, 0x0F, 0x60, 0xF0, 0x0F, 0x00, 0x00, 0x00, // Code for char G + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x00, // Code for char H + 0x0A, 0x00, 0x00, 0x00, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char I + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0E, 0xE0, 0xFF, 0x07, 0xE0, 0xFF, 0x07, 0xE0, 0xFF, 0x01, 0x00, 0x00, 0x00, // Code for char J + 0x0C, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x38, 0x00, 0x00, 0x7E, 0x00, 0x00, 0xFF, 0x00, 0xC0, 0xE7, 0x01, 0xE0, 0xC1, 0x07, 0xE0, 0x80, 0x0F, 0x20, 0x00, 0x0E, 0x00, 0x00, 0x08, // Code for char K + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, // Code for char L + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x80, 0x1F, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x80, 0x1F, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0x00, 0x00, // Code for char M + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xC0, 0x07, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x78, 0x00, 0x00, 0xE0, 0x03, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x00, // Code for char N + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xE0, 0x00, 0x0E, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0xE0, 0x00, 0x0E, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, // Code for char O + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x60, 0x70, 0x00, 0x60, 0x60, 0x00, 0x60, 0x60, 0x00, 0xE0, 0x70, 0x00, 0xC0, 0x3F, 0x00, 0xC0, 0x3F, 0x00, 0x80, 0x1F, 0x00, 0x00, 0x00, 0x00, // Code for char P + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xE0, 0x00, 0x0E, 0x60, 0x00, 0x3C, 0x60, 0x00, 0x7C, 0xE0, 0x00, 0x6E, 0xC0, 0xFF, 0xE7, 0x80, 0xFF, 0xC3, 0x00, 0xFE, 0x40, 0x00, 0x00, 0x00, // Code for char Q + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x60, 0x30, 0x00, 0x60, 0x70, 0x00, 0x60, 0xF0, 0x01, 0xE0, 0xF8, 0x07, 0xC0, 0x9F, 0x0F, 0xC0, 0x0F, 0x0F, 0x80, 0x07, 0x08, 0x00, 0x00, 0x00, // Code for char R + 0x0B, 0x00, 0x00, 0x00, 0x80, 0x07, 0x04, 0xC0, 0x0F, 0x0E, 0xE0, 0x1F, 0x0C, 0xE0, 0x1C, 0x0C, 0x60, 0x18, 0x0C, 0x60, 0x38, 0x0C, 0x60, 0x70, 0x0E, 0xE0, 0xF0, 0x0F, 0x40, 0xE0, 0x07, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x00, // Code for char S + 0x0C, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, // Code for char T + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x03, 0xE0, 0xFF, 0x07, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0E, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x07, 0xE0, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char U + 0x0B, 0x60, 0x00, 0x00, 0xE0, 0x07, 0x00, 0xE0, 0x7F, 0x00, 0x00, 0xFF, 0x03, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0x0E, 0x00, 0xE0, 0x0F, 0x00, 0xFF, 0x03, 0xE0, 0x7F, 0x00, 0xE0, 0x0F, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char V + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0xF0, 0x03, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF0, 0x07, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x00, 0x00, 0x00, 0x00, // Code for char W + 0x0C, 0x00, 0x00, 0x08, 0x20, 0x00, 0x0E, 0xE0, 0x80, 0x0F, 0xE0, 0xC3, 0x0F, 0x80, 0xFF, 0x01, 0x00, 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x80, 0xFF, 0x01, 0xE0, 0xE7, 0x0F, 0xE0, 0x81, 0x0F, 0x60, 0x00, 0x0E, 0x20, 0x00, 0x08, // Code for char X + 0x0C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0xE0, 0x01, 0x00, 0xE0, 0x07, 0x00, 0xC0, 0x1F, 0x00, 0x00, 0xFE, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xFE, 0x0F, 0xC0, 0x1F, 0x00, 0xE0, 0x07, 0x00, 0xE0, 0x01, 0x00, 0x20, 0x00, 0x00, // Code for char Y + 0x0B, 0x00, 0x00, 0x00, 0x60, 0x00, 0x0E, 0x60, 0x80, 0x0F, 0x60, 0xE0, 0x0F, 0x60, 0xF0, 0x0F, 0x60, 0xFC, 0x0C, 0x60, 0x3F, 0x0C, 0xE0, 0x1F, 0x0C, 0xE0, 0x07, 0x0C, 0xE0, 0x01, 0x0C, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, // Code for char Z + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0x18, 0x00, 0xC0, 0x18, 0x00, 0xC0, 0x18, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char [ + 0x0B, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x07, 0x00, 0xF0, 0x3F, 0x00, 0x80, 0xFF, 0x01, 0x00, 0xFC, 0x0F, 0x00, 0xE0, 0x7F, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, // Code for char BackSlash + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0xC0, 0x18, 0x00, 0xC0, 0x18, 0x00, 0xC0, 0xF8, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ] + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0F, 0x00, 0x80, 0x07, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x80, 0x07, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, // Code for char ^ + 0x0C, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, // Code for char _ + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x38, 0x00, 0x00, 0x30, 0x00, 0x00, 0x70, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ` + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0xC6, 0x07, 0x00, 0xE6, 0x0F, 0x00, 0x66, 0x0C, 0x00, 0x66, 0x0C, 0x00, 0x66, 0x0C, 0x00, 0x6E, 0x0C, 0x00, 0xFE, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x00, // Code for char a + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x0F, 0xF8, 0xFF, 0x0F, 0xF8, 0xFF, 0x0F, 0x00, 0x0C, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x0E, 0x0E, 0x00, 0xFE, 0x07, 0x00, 0xFC, 0x07, 0x00, 0xF0, 0x01, 0x00, 0x00, 0x00, // Code for char b + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xF8, 0x03, 0x00, 0xFC, 0x07, 0x00, 0x0E, 0x0E, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x00, 0x00, // Code for char c + 0x0A, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x01, 0x00, 0xFC, 0x07, 0x00, 0xFE, 0x07, 0x00, 0x0E, 0x0E, 0x00, 0x06, 0x0C, 0x00, 0x04, 0x0C, 0xF8, 0xFF, 0x0F, 0xF8, 0xFF, 0x0F, 0xF8, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char d + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xF8, 0x07, 0x00, 0xFC, 0x07, 0x00, 0xCE, 0x0E, 0x00, 0xC6, 0x0C, 0x00, 0xC6, 0x0C, 0x00, 0xCE, 0x0C, 0x00, 0xFE, 0x0C, 0x00, 0xFC, 0x0E, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, // Code for char e + 0x0C, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0xC0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0x38, 0x06, 0x00, 0x18, 0x06, 0x00, 0x18, 0x06, 0x00, 0x18, 0x06, 0x00, 0x18, 0x06, 0x00, 0x18, 0x00, 0x00, // Code for char f + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xFC, 0xE3, 0x00, 0xFC, 0xC7, 0x00, 0x0E, 0xC7, 0x00, 0x06, 0xC6, 0x00, 0x06, 0xC6, 0x00, 0x06, 0xE6, 0x00, 0xFE, 0x7F, 0x00, 0xFE, 0x7F, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0x00, // Code for char g + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x0F, 0xF8, 0xFF, 0x0F, 0xF8, 0xFF, 0x0F, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0xFE, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x00, // Code for char h + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x30, 0x03, 0x00, 0x78, 0xFF, 0x03, 0x78, 0xFF, 0x07, 0x30, 0xFF, 0x0F, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, // Code for char i + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x60, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x00, 0x03, 0xC0, 0x30, 0x03, 0xC0, 0x78, 0xFF, 0xFF, 0x78, 0xFF, 0x7F, 0x30, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char j + 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x0F, 0xF8, 0xFF, 0x0F, 0xF8, 0xFF, 0x0F, 0x00, 0x60, 0x00, 0x00, 0xF8, 0x01, 0x00, 0xFE, 0x03, 0x00, 0x8E, 0x0F, 0x00, 0x06, 0x0F, 0x00, 0x02, 0x0C, 0x00, 0x00, 0x08, // Code for char k + 0x0B, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0xF8, 0xFF, 0x03, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x0F, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, // Code for char l + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0x06, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x06, 0x00, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0x00, 0x00, // Code for char m + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0xFE, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x00, // Code for char n + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xFC, 0x07, 0x00, 0xFC, 0x07, 0x00, 0x0E, 0x0E, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x0E, 0x0E, 0x00, 0xFC, 0x07, 0x00, 0xFC, 0x07, 0x00, 0xF0, 0x01, 0x00, 0x00, 0x00, // Code for char o + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0x00, 0xFE, 0xFF, 0x00, 0xFE, 0xFF, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x0E, 0x0E, 0x00, 0xFC, 0x0F, 0x00, 0xFC, 0x07, 0x00, 0xF0, 0x01, 0x00, 0x00, 0x00, // Code for char p + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xFC, 0x07, 0x00, 0xFC, 0x0F, 0x00, 0x0E, 0x0E, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0xFE, 0xFF, 0x00, 0xFE, 0xFF, 0x00, 0xFE, 0xFF, 0x00, 0x00, 0x00, // Code for char q + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, // Code for char r + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x38, 0x06, 0x00, 0x7C, 0x0E, 0x00, 0x7E, 0x0C, 0x00, 0x66, 0x0C, 0x00, 0xE6, 0x0C, 0x00, 0xE6, 0x0C, 0x00, 0xC6, 0x0C, 0x00, 0xC6, 0x0F, 0x00, 0xCE, 0x07, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, // Code for char s + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0xC0, 0xFF, 0x03, 0xC0, 0xFF, 0x0F, 0xC0, 0xFF, 0x0F, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0E, 0x00, 0x00, 0x00, // Code for char t + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x03, 0x00, 0xFE, 0x07, 0x00, 0xFE, 0x0F, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x07, 0x00, 0x00, 0x00, // Code for char u + 0x0B, 0x00, 0x02, 0x00, 0x00, 0x1E, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFC, 0x03, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0E, 0x00, 0xC0, 0x0F, 0x00, 0xF8, 0x03, 0x00, 0xFE, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, // Code for char v + 0x0C, 0x00, 0x3E, 0x00, 0x00, 0xFE, 0x0F, 0x00, 0xC0, 0x0F, 0x00, 0x80, 0x0F, 0x00, 0xF8, 0x03, 0x00, 0x78, 0x00, 0x00, 0xF8, 0x01, 0x00, 0xE0, 0x07, 0x00, 0x00, 0x0F, 0x00, 0xC0, 0x0F, 0x00, 0xFE, 0x07, 0x00, 0x3E, 0x00, // Code for char w + 0x0C, 0x00, 0x02, 0x08, 0x00, 0x06, 0x0C, 0x00, 0x0E, 0x0E, 0x00, 0x1E, 0x0F, 0x00, 0xFC, 0x03, 0x00, 0xF8, 0x01, 0x00, 0xF0, 0x01, 0x00, 0xF8, 0x03, 0x00, 0xBE, 0x07, 0x00, 0x0E, 0x0F, 0x00, 0x06, 0x0E, 0x00, 0x02, 0x08, // Code for char x + 0x0B, 0x00, 0x00, 0xE0, 0x00, 0x06, 0xE0, 0x00, 0x3E, 0xE0, 0x00, 0xFE, 0xE0, 0x00, 0xF8, 0xF3, 0x00, 0x80, 0x7F, 0x00, 0x00, 0x3F, 0x00, 0xF0, 0x0F, 0x00, 0xFE, 0x01, 0x00, 0x3E, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, // Code for char y + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0E, 0x00, 0x06, 0x0F, 0x00, 0xC6, 0x0F, 0x00, 0xF6, 0x0D, 0x00, 0xFE, 0x0C, 0x00, 0x3E, 0x0C, 0x00, 0x1E, 0x0C, 0x00, 0x0E, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char z + 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0xE0, 0xFF, 0x7F, 0xF0, 0xDF, 0x7F, 0xF8, 0x8F, 0xFF, 0x18, 0x00, 0xC0, 0x18, 0x00, 0xC0, 0x18, 0x00, 0xC0, 0x18, 0x00, 0xC0, // Code for char { + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char | + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0xC0, 0x18, 0x00, 0xC0, 0xF8, 0x8F, 0xFF, 0xF8, 0xDF, 0xFF, 0xF0, 0xFF, 0x7F, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char } + 0x0C, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x38, 0x00, 0x00, 0x38, 0x00, 0x00, 0x70, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x30, 0x00, // Code for char ~ + 0x06, 0xE0, 0xFF, 0x07, 0xE0, 0xFF, 0x07, 0x20, 0x00, 0x04, 0x20, 0x00, 0x04, 0xE0, 0xFF, 0x07, 0xE0, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char  + 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, // Code for char € + 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, // Code for char  + 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, // Code for char ‚ + 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, // Code for char ƒ + 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, // Code for char „ + 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, // Code for char … + 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, // Code for char † + 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, // Code for char ‡ + 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, // Code for char ˆ + 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, // Code for char ‰ + 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, // Code for char Š + 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, // Code for char ‹ + 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, // Code for char Œ + 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, // Code for char  + 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, // Code for char Ž + 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, // Code for char  + 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, // Code for char  + 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, // Code for char ‘ + 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, // Code for char ’ + 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, // Code for char “ + 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, // Code for char ” + 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, // Code for char • + 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, // Code for char – + 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, // Code for char — + 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, // Code for char ˜ + 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, // Code for char ™ + 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, // Code for char š + 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, // Code for char › + 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, // Code for char œ + 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, // Code for char  + 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, // Code for char ž + 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, // Code for char Ÿ + 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, // Code for char   + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0xFF, 0x00, 0xCE, 0xFF, 0x00, 0xCE, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¡ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xFE, 0x03, 0x00, 0xFE, 0x03, 0x00, 0x07, 0x07, 0xE0, 0x03, 0x3E, 0xE0, 0x03, 0x3E, 0xE0, 0x03, 0x3E, 0x00, 0x03, 0x06, 0x00, 0x03, 0x06, 0x00, 0x03, 0x06, 0x00, 0x00, 0x00, // Code for char ¢ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x0C, 0x00, 0xFF, 0x0F, 0xC0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0x30, 0x0C, 0x60, 0x30, 0x0C, 0x60, 0x30, 0x0C, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x00, // Code for char £ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x83, 0x01, 0x80, 0xFF, 0x03, 0x00, 0xFF, 0x01, 0x00, 0xC7, 0x01, 0x00, 0x83, 0x01, 0x00, 0x83, 0x01, 0x00, 0xC7, 0x01, 0x00, 0xFF, 0x01, 0x80, 0xFF, 0x03, 0x00, 0x83, 0x01, 0x00, 0x00, 0x00, // Code for char ¤ + 0x0C, 0x20, 0x00, 0x00, 0xE0, 0xB0, 0x01, 0xE0, 0xB3, 0x01, 0xC0, 0xBF, 0x01, 0x00, 0xBE, 0x01, 0x00, 0xF8, 0x0F, 0x00, 0xF8, 0x0F, 0x00, 0xFE, 0x0F, 0xC0, 0xBF, 0x01, 0xE0, 0xB7, 0x01, 0xE0, 0xB1, 0x01, 0x20, 0x00, 0x00, // Code for char ¥ + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x8F, 0xFF, 0xF8, 0x8F, 0xFF, 0xF8, 0x8F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¦ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x10, 0x80, 0xFB, 0x39, 0xC0, 0xFF, 0x31, 0xE0, 0x87, 0x33, 0x60, 0x86, 0x33, 0x60, 0x0E, 0x33, 0x60, 0x0E, 0x3F, 0x60, 0xFC, 0x1F, 0xE0, 0x7C, 0x0E, 0x40, 0x38, 0x00, 0x00, 0x00, 0x00, // Code for char § + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x38, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x38, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¨ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0x0C, 0x06, 0x00, 0xF4, 0x05, 0x00, 0x1A, 0x0B, 0x00, 0x0A, 0x0A, 0x00, 0x0A, 0x0A, 0x00, 0x02, 0x0A, 0x00, 0x04, 0x04, 0x00, 0x0C, 0x06, 0x00, 0xF0, 0x01, 0x00, 0x00, 0x00, // Code for char © + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x60, 0x1E, 0x00, 0x60, 0x1B, 0x00, 0x60, 0x19, 0x00, 0x60, 0x19, 0x00, 0xE0, 0x1F, 0x00, 0xC0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ª + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x9C, 0x03, 0x00, 0x0E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x9C, 0x03, 0x00, 0x0E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char « + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0xF8, 0x03, 0x00, 0xF8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¬ + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x70, 0x00, 0x00, 0x70, 0x00, 0x00, 0x70, 0x00, 0x00, 0x70, 0x00, 0x00, 0x70, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ­ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0x0C, 0x06, 0x00, 0x04, 0x04, 0x00, 0xFA, 0x09, 0x00, 0x4A, 0x08, 0x00, 0xCA, 0x08, 0x00, 0xFA, 0x09, 0x00, 0x04, 0x05, 0x00, 0x0C, 0x06, 0x00, 0xF0, 0x01, 0x00, 0x00, 0x00, // Code for char ® + 0x0A, 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, // Code for char ¯ + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x00, 0xF0, 0x03, 0x00, 0x18, 0x03, 0x00, 0x18, 0x03, 0x00, 0x18, 0x03, 0x00, 0xF0, 0x01, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ° + 0x0C, 0x00, 0x00, 0x00, 0x00, 0x18, 0x0C, 0x00, 0x18, 0x0C, 0x00, 0x18, 0x0C, 0x00, 0x18, 0x0C, 0x80, 0xFF, 0x0D, 0x80, 0xFF, 0x0D, 0x80, 0xFF, 0x0D, 0x00, 0x18, 0x0C, 0x00, 0x18, 0x0C, 0x00, 0x18, 0x0C, 0x00, 0x18, 0x0C, // Code for char ± + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x30, 0x00, 0xE0, 0x3C, 0x00, 0x60, 0x3C, 0x00, 0x60, 0x36, 0x00, 0xE0, 0x33, 0x00, 0xC0, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ² + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x38, 0x00, 0xE0, 0x30, 0x00, 0x60, 0x33, 0x00, 0x60, 0x33, 0x00, 0xE0, 0x3F, 0x00, 0xC0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ³ + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x70, 0x00, 0x00, 0x30, 0x00, 0x00, 0x38, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ´ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0x00, 0xFE, 0xFF, 0x00, 0xFE, 0xFF, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x07, 0x00, 0x00, 0x00, // Code for char µ + 0x0C, 0x00, 0x0F, 0x00, 0xC0, 0x1F, 0x00, 0xC0, 0x3F, 0x00, 0xE0, 0x3F, 0x00, 0xE0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, // Code for char ¶ + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char · + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xD0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¸ + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x31, 0x00, 0xC0, 0x30, 0x00, 0xE0, 0x3F, 0x00, 0xE0, 0x3F, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¹ + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0xC0, 0x0F, 0x00, 0x60, 0x18, 0x00, 0x60, 0x18, 0x00, 0x60, 0x18, 0x00, 0xC0, 0x0F, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char º + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x00, 0x9E, 0x07, 0x00, 0xFC, 0x03, 0x00, 0xF0, 0x00, 0x00, 0x60, 0x00, 0x00, 0x04, 0x02, 0x00, 0x9E, 0x07, 0x00, 0xFC, 0x03, 0x00, 0xF0, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, // Code for char » + 0x0C, 0x80, 0x00, 0x00, 0x40, 0x00, 0x08, 0xE0, 0x07, 0x0E, 0xE0, 0x87, 0x07, 0x00, 0xE0, 0x01, 0x00, 0x78, 0x00, 0x00, 0x3C, 0x06, 0x00, 0x8F, 0x07, 0xC0, 0xC3, 0x06, 0xE0, 0xC0, 0x0F, 0x20, 0xC0, 0x0F, 0x00, 0x00, 0x06, // Code for char ¼ + 0x0C, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x08, 0xE0, 0x07, 0x0E, 0xE0, 0x87, 0x07, 0x00, 0xE0, 0x01, 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, 0x80, 0x87, 0x0C, 0xE0, 0xC1, 0x0C, 0x60, 0xC0, 0x0E, 0x00, 0xC0, 0x0B, 0x00, 0x80, 0x0B, // Code for char ½ + 0x0C, 0x20, 0x04, 0x00, 0x20, 0x04, 0x08, 0xA0, 0x04, 0x0E, 0xA0, 0x04, 0x0F, 0xE0, 0xC7, 0x03, 0xC0, 0xF3, 0x00, 0x00, 0x3C, 0x06, 0x00, 0x0F, 0x07, 0xC0, 0xC3, 0x06, 0xE0, 0xC0, 0x0F, 0x20, 0xC0, 0x0F, 0x00, 0x00, 0x06, // Code for char ¾ + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x7E, 0x00, 0x00, 0xFF, 0x00, 0x8E, 0xC7, 0x00, 0xCE, 0xC3, 0x00, 0xCE, 0xC1, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¿ + 0x0C, 0x00, 0x00, 0x0C, 0x00, 0xC0, 0x0F, 0x00, 0xF8, 0x0F, 0x02, 0xFF, 0x07, 0xE7, 0xFF, 0x01, 0xE6, 0x83, 0x01, 0xEE, 0x83, 0x01, 0xE4, 0xFF, 0x01, 0x80, 0xFF, 0x07, 0x00, 0xFC, 0x0F, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0C, // Code for char À + 0x0C, 0x00, 0x00, 0x0C, 0x00, 0xC0, 0x0F, 0x00, 0xF8, 0x0F, 0x04, 0xFF, 0x07, 0xEE, 0xFF, 0x01, 0xE6, 0x83, 0x01, 0xE7, 0x83, 0x01, 0xE2, 0xFF, 0x01, 0x80, 0xFF, 0x07, 0x00, 0xFC, 0x0F, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0C, // Code for char Á + 0x0C, 0x00, 0x00, 0x0C, 0x00, 0xC0, 0x0F, 0x00, 0xF8, 0x0F, 0x0C, 0xFF, 0x07, 0xE6, 0xFF, 0x01, 0xE3, 0x83, 0x01, 0xE3, 0x83, 0x01, 0xE6, 0xFF, 0x01, 0x8C, 0xFF, 0x07, 0x00, 0xFC, 0x0F, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0C, // Code for char  + 0x0C, 0x00, 0x00, 0x0C, 0x00, 0xC0, 0x0F, 0x04, 0xF8, 0x0F, 0x0E, 0xFF, 0x07, 0xE6, 0xFF, 0x01, 0xE6, 0x83, 0x01, 0xEC, 0x83, 0x01, 0xEC, 0xFF, 0x01, 0x8C, 0xFF, 0x07, 0x06, 0xFC, 0x0F, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0C, // Code for char à + 0x0C, 0x00, 0x00, 0x0C, 0x00, 0xC0, 0x0F, 0x00, 0xF8, 0x0F, 0x07, 0xFF, 0x07, 0xE7, 0xFF, 0x01, 0xE7, 0x83, 0x01, 0xE0, 0x83, 0x01, 0xE7, 0xFF, 0x01, 0x87, 0xFF, 0x07, 0x07, 0xFC, 0x0F, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0C, // Code for char Ä + 0x0C, 0x00, 0x00, 0x0C, 0x00, 0xC0, 0x0F, 0x00, 0xF8, 0x0F, 0x08, 0xFF, 0x07, 0xFC, 0xFF, 0x01, 0xF6, 0x87, 0x01, 0xF6, 0x87, 0x01, 0xFE, 0xFF, 0x01, 0x08, 0xFF, 0x07, 0x00, 0xF8, 0x0F, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0C, // Code for char Å + 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x80, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xFE, 0x03, 0xC0, 0xBF, 0x01, 0xE0, 0x81, 0x01, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x60, 0x00, 0x0C, // Code for char Æ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xC0, 0x01, 0xCF, 0xE0, 0x00, 0xCE, 0x60, 0x00, 0xDC, 0x60, 0x00, 0xFC, 0x60, 0x00, 0x6C, 0xE0, 0x00, 0x0E, 0x40, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char Ç + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE2, 0xFF, 0x0F, 0x67, 0x18, 0x0C, 0x66, 0x18, 0x0C, 0x6E, 0x18, 0x0C, 0x64, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, // Code for char È + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE4, 0xFF, 0x0F, 0x6E, 0x18, 0x0C, 0x66, 0x18, 0x0C, 0x67, 0x18, 0x0C, 0x62, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, // Code for char É + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xEC, 0xFF, 0x0F, 0xE6, 0xFF, 0x0F, 0x63, 0x18, 0x0C, 0x63, 0x18, 0x0C, 0x66, 0x18, 0x0C, 0x6C, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, // Code for char Ê + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE7, 0xFF, 0x0F, 0xE7, 0xFF, 0x0F, 0x67, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x67, 0x18, 0x0C, 0x67, 0x18, 0x0C, 0x67, 0x18, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, // Code for char Ë + 0x0A, 0x00, 0x00, 0x00, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x62, 0x00, 0x0C, 0xE7, 0xFF, 0x0F, 0xE6, 0xFF, 0x0F, 0xEE, 0xFF, 0x0F, 0x64, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ì + 0x0A, 0x00, 0x00, 0x00, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x64, 0x00, 0x0C, 0xEE, 0xFF, 0x0F, 0xE6, 0xFF, 0x0F, 0xE7, 0xFF, 0x0F, 0x62, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Í + 0x0A, 0x00, 0x00, 0x00, 0x60, 0x00, 0x0C, 0x6C, 0x00, 0x0C, 0x66, 0x00, 0x0C, 0xE3, 0xFF, 0x0F, 0xE3, 0xFF, 0x0F, 0xE6, 0xFF, 0x0F, 0x6C, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Î + 0x0A, 0x00, 0x00, 0x00, 0x60, 0x00, 0x0C, 0x67, 0x00, 0x0C, 0x67, 0x00, 0x0C, 0xE7, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE7, 0xFF, 0x0F, 0x67, 0x00, 0x0C, 0x67, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ï + 0x0B, 0x00, 0x18, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0xE0, 0x00, 0x0E, 0xC0, 0x01, 0x07, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, // Code for char Ð + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE4, 0xFF, 0x0F, 0xEE, 0xFF, 0x0F, 0xC6, 0x07, 0x00, 0x06, 0x1F, 0x00, 0x0C, 0x78, 0x00, 0x0C, 0xE0, 0x03, 0xEC, 0xFF, 0x0F, 0xE6, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x00, // Code for char Ñ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x80, 0xFF, 0x03, 0xC2, 0xFF, 0x07, 0xE7, 0x00, 0x0E, 0x66, 0x00, 0x0C, 0x6E, 0x00, 0x0C, 0xE4, 0x00, 0x0E, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, // Code for char Ò + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x80, 0xFF, 0x03, 0xC4, 0xFF, 0x07, 0xEE, 0x00, 0x0E, 0x66, 0x00, 0x0C, 0x67, 0x00, 0x0C, 0xE2, 0x00, 0x0E, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, // Code for char Ó + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x80, 0xFF, 0x03, 0xCC, 0xFF, 0x07, 0xE6, 0x00, 0x0E, 0x63, 0x00, 0x0C, 0x63, 0x00, 0x0C, 0xE6, 0x00, 0x0E, 0xCC, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, // Code for char Ô + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x84, 0xFF, 0x03, 0xCE, 0xFF, 0x07, 0xE6, 0x00, 0x0E, 0x66, 0x00, 0x0C, 0x6C, 0x00, 0x0C, 0xEC, 0x00, 0x0E, 0xCC, 0xFF, 0x07, 0x86, 0xFF, 0x03, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, // Code for char Õ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x80, 0xFF, 0x03, 0xC7, 0xFF, 0x07, 0xE7, 0x00, 0x0E, 0x67, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0xE7, 0x00, 0x0E, 0xC7, 0xFF, 0x07, 0x87, 0xFF, 0x03, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, // Code for char Ö + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x8E, 0x03, 0x00, 0xDC, 0x03, 0x00, 0xF8, 0x01, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF8, 0x01, 0x00, 0xDC, 0x03, 0x00, 0x8E, 0x03, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, // Code for char × + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x09, 0x80, 0xFF, 0x1F, 0xC0, 0xFF, 0x0F, 0xE0, 0xE0, 0x0F, 0x60, 0xF8, 0x0C, 0x60, 0x3F, 0x0C, 0xE0, 0x07, 0x0E, 0xF0, 0xFF, 0x07, 0xF0, 0xFF, 0x03, 0x20, 0xFF, 0x00, 0x00, 0x00, 0x00, // Code for char Ø + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x03, 0xE0, 0xFF, 0x07, 0xE2, 0xFF, 0x0F, 0x07, 0x00, 0x0E, 0x06, 0x00, 0x0C, 0x0E, 0x00, 0x0C, 0x04, 0x00, 0x0E, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x07, 0xE0, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char Ù + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x03, 0xE0, 0xFF, 0x07, 0xE0, 0xFF, 0x0F, 0x04, 0x00, 0x0E, 0x0E, 0x00, 0x0C, 0x06, 0x00, 0x0C, 0x07, 0x00, 0x0E, 0xE2, 0xFF, 0x0F, 0xE0, 0xFF, 0x07, 0xE0, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char Ú + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x03, 0xE0, 0xFF, 0x07, 0xEC, 0xFF, 0x0F, 0x06, 0x00, 0x0E, 0x03, 0x00, 0x0C, 0x03, 0x00, 0x0C, 0x06, 0x00, 0x0E, 0xEC, 0xFF, 0x0F, 0xE0, 0xFF, 0x07, 0xE0, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char Û + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x03, 0xE0, 0xFF, 0x07, 0xE7, 0xFF, 0x0F, 0x07, 0x00, 0x0E, 0x07, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x07, 0x00, 0x0E, 0xE7, 0xFF, 0x0F, 0xE7, 0xFF, 0x07, 0xE0, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char Ü + 0x0C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0xE0, 0x01, 0x00, 0xE0, 0x07, 0x00, 0xC4, 0x1F, 0x00, 0x0E, 0xFE, 0x0F, 0x06, 0xF0, 0x0F, 0x07, 0xFE, 0x0F, 0xC2, 0x1F, 0x00, 0xE0, 0x07, 0x00, 0xE0, 0x01, 0x00, 0x20, 0x00, 0x00, // Code for char Ý + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x80, 0x81, 0x01, 0x80, 0x81, 0x01, 0x80, 0x81, 0x01, 0x80, 0xC3, 0x01, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00, // Code for char Þ + 0x0C, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF8, 0xFF, 0x0F, 0x38, 0x00, 0x00, 0x18, 0x1C, 0x0E, 0x18, 0x3F, 0x0C, 0xF8, 0x7F, 0x0C, 0xF0, 0xF3, 0x0C, 0xE0, 0xE1, 0x0F, 0x00, 0xC0, 0x07, 0x00, 0x80, 0x03, // Code for char ß + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0xC6, 0x07, 0x00, 0xE6, 0x0F, 0x10, 0x66, 0x0C, 0x38, 0x66, 0x0C, 0x30, 0x66, 0x0C, 0x70, 0x6E, 0x0C, 0x20, 0xFE, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x00, // Code for char à + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0xC6, 0x07, 0x00, 0xE6, 0x0F, 0x20, 0x66, 0x0C, 0x70, 0x66, 0x0C, 0x30, 0x66, 0x0C, 0x38, 0x6E, 0x0C, 0x10, 0xFE, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x00, // Code for char á + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0xC6, 0x07, 0xC0, 0xE6, 0x0F, 0x60, 0x66, 0x0C, 0x30, 0x66, 0x0C, 0x30, 0x66, 0x0C, 0x60, 0x6E, 0x0C, 0xC0, 0xFE, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x00, // Code for char â + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x20, 0xC6, 0x07, 0x70, 0xE6, 0x0F, 0x30, 0x66, 0x0C, 0x30, 0x66, 0x0C, 0x60, 0x66, 0x0C, 0x60, 0x6E, 0x0C, 0x60, 0xFE, 0x0F, 0x30, 0xFC, 0x0F, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x00, // Code for char ã + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0xC6, 0x07, 0x38, 0xE6, 0x0F, 0x38, 0x66, 0x0C, 0x38, 0x66, 0x0C, 0x00, 0x66, 0x0C, 0x38, 0x6E, 0x0C, 0x38, 0xFE, 0x0F, 0x38, 0xFC, 0x0F, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x00, // Code for char ä + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0xC6, 0x07, 0x00, 0xE6, 0x0F, 0x30, 0x66, 0x0C, 0x48, 0x66, 0x0C, 0x48, 0x66, 0x0C, 0x30, 0x6E, 0x0C, 0x00, 0xFE, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x00, // Code for char å + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x03, 0x00, 0xE6, 0x0F, 0x00, 0xE6, 0x0F, 0x00, 0x66, 0x0C, 0x00, 0x7E, 0x0C, 0x00, 0xFC, 0x07, 0x00, 0x7E, 0x0E, 0x00, 0x66, 0x0C, 0x00, 0x66, 0x0C, 0x00, 0x78, 0x0C, 0x00, 0x00, 0x00, // Code for char æ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xF8, 0x03, 0x00, 0xFC, 0x07, 0x00, 0x0E, 0xCE, 0x00, 0x06, 0xCC, 0x00, 0x06, 0xDC, 0x00, 0x06, 0xFC, 0x00, 0x06, 0x6C, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x00, 0x00, // Code for char ç + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xF8, 0x07, 0x10, 0xFC, 0x07, 0x38, 0xCE, 0x0E, 0x30, 0xC6, 0x0C, 0x70, 0xC6, 0x0C, 0x20, 0xCE, 0x0C, 0x00, 0xFE, 0x0C, 0x00, 0xFC, 0x0E, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, // Code for char è + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xF8, 0x07, 0x00, 0xFC, 0x07, 0x20, 0xCE, 0x0E, 0x70, 0xC6, 0x0C, 0x30, 0xC6, 0x0C, 0x38, 0xCE, 0x0C, 0x10, 0xFE, 0x0C, 0x00, 0xFC, 0x0E, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, // Code for char é + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xF8, 0x07, 0xC0, 0xFC, 0x07, 0x60, 0xCE, 0x0E, 0x30, 0xC6, 0x0C, 0x30, 0xC6, 0x0C, 0x60, 0xCE, 0x0C, 0xC0, 0xFE, 0x0C, 0x00, 0xFC, 0x0E, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, // Code for char ê + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xF8, 0x07, 0x38, 0xFC, 0x07, 0x38, 0xCE, 0x0E, 0x38, 0xC6, 0x0C, 0x00, 0xC6, 0x0C, 0x38, 0xCE, 0x0C, 0x38, 0xFE, 0x0C, 0x38, 0xFC, 0x0E, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, // Code for char ë + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x10, 0x06, 0x00, 0x38, 0xFE, 0x03, 0x30, 0xFE, 0x07, 0x70, 0xFE, 0x0F, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char ì + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x20, 0x06, 0x00, 0x70, 0xFE, 0x03, 0x30, 0xFE, 0x07, 0x38, 0xFE, 0x0F, 0x10, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char í + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0xC0, 0x06, 0x00, 0x60, 0xFE, 0x03, 0x30, 0xFE, 0x07, 0x30, 0xFE, 0x0F, 0x60, 0x00, 0x0C, 0xC0, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char î + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x38, 0x06, 0x00, 0x38, 0x06, 0x00, 0x38, 0xFE, 0x03, 0x00, 0xFE, 0x07, 0x38, 0xFE, 0x0F, 0x38, 0x00, 0x0C, 0x38, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char ï + 0x0C, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xF8, 0x07, 0x00, 0xFC, 0x07, 0x90, 0x1C, 0x0E, 0xF8, 0x0D, 0x0C, 0xF8, 0x0C, 0x0C, 0xF0, 0x0D, 0x0E, 0xE0, 0xFF, 0x07, 0xE0, 0xFF, 0x07, 0x60, 0xFC, 0x01, 0x20, 0x00, 0x00, // Code for char ð + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x0F, 0x20, 0xFE, 0x0F, 0x70, 0xFE, 0x0F, 0x30, 0x06, 0x00, 0x30, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, 0xFE, 0x0F, 0x60, 0xFC, 0x0F, 0x30, 0xF8, 0x0F, 0x00, 0x00, 0x00, // Code for char ñ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xFC, 0x07, 0x10, 0xFC, 0x07, 0x38, 0x0E, 0x0E, 0x30, 0x06, 0x0C, 0x70, 0x06, 0x0C, 0x20, 0x0E, 0x0E, 0x00, 0xFC, 0x07, 0x00, 0xFC, 0x07, 0x00, 0xF0, 0x01, 0x00, 0x00, 0x00, // Code for char ò + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xFC, 0x07, 0x00, 0xFC, 0x07, 0x20, 0x0E, 0x0E, 0x70, 0x06, 0x0C, 0x30, 0x06, 0x0C, 0x38, 0x0E, 0x0E, 0x10, 0xFC, 0x07, 0x00, 0xFC, 0x07, 0x00, 0xF0, 0x01, 0x00, 0x00, 0x00, // Code for char ó + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xFC, 0x07, 0xC0, 0xFC, 0x07, 0x60, 0x0E, 0x0E, 0x30, 0x06, 0x0C, 0x30, 0x06, 0x0C, 0x60, 0x0E, 0x0E, 0xC0, 0xFC, 0x07, 0x00, 0xFC, 0x07, 0x00, 0xF0, 0x01, 0x00, 0x00, 0x00, // Code for char ô + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x20, 0xFC, 0x07, 0x70, 0xFC, 0x07, 0x30, 0x0E, 0x0E, 0x30, 0x06, 0x0C, 0x60, 0x06, 0x0C, 0x60, 0x0E, 0x0E, 0x60, 0xFC, 0x07, 0x30, 0xFC, 0x07, 0x00, 0xF0, 0x01, 0x00, 0x00, 0x00, // Code for char õ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xFC, 0x07, 0x38, 0xFC, 0x07, 0x38, 0x0E, 0x0E, 0x38, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x38, 0x0E, 0x0E, 0x38, 0xFC, 0x07, 0x38, 0xFC, 0x07, 0x00, 0xF0, 0x01, 0x00, 0x00, 0x00, // Code for char ö + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x67, 0x0E, 0x00, 0x67, 0x0E, 0x00, 0x67, 0x0E, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, // Code for char ÷ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x09, 0x00, 0xFC, 0x0F, 0x00, 0xFC, 0x07, 0x00, 0x8E, 0x0F, 0x00, 0xC6, 0x0D, 0x00, 0x76, 0x0C, 0x00, 0x3E, 0x0E, 0x00, 0xFC, 0x07, 0x00, 0xFE, 0x07, 0x00, 0xF2, 0x01, 0x00, 0x00, 0x00, // Code for char ø + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x03, 0x00, 0xFE, 0x07, 0x10, 0xFE, 0x0F, 0x38, 0x00, 0x0E, 0x30, 0x00, 0x0C, 0x70, 0x00, 0x0C, 0x20, 0x00, 0x0C, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x07, 0x00, 0x00, 0x00, // Code for char ù + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x03, 0x00, 0xFE, 0x07, 0x00, 0xFE, 0x0F, 0x20, 0x00, 0x0E, 0x70, 0x00, 0x0C, 0x30, 0x00, 0x0C, 0x38, 0x00, 0x0C, 0x10, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x07, 0x00, 0x00, 0x00, // Code for char ú + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x03, 0x00, 0xFE, 0x07, 0xC0, 0xFE, 0x0F, 0x60, 0x00, 0x0E, 0x30, 0x00, 0x0C, 0x30, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0xC0, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x07, 0x00, 0x00, 0x00, // Code for char û + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x03, 0x00, 0xFE, 0x07, 0x38, 0xFE, 0x0F, 0x38, 0x00, 0x0E, 0x38, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x38, 0x00, 0x0C, 0x38, 0xFE, 0x0F, 0x38, 0xFE, 0x0F, 0x00, 0xFE, 0x07, 0x00, 0x00, 0x00, // Code for char ü + 0x0B, 0x00, 0x00, 0xE0, 0x00, 0x06, 0xE0, 0x00, 0x3E, 0xE0, 0x20, 0xFE, 0xE0, 0x70, 0xF8, 0xF3, 0x30, 0x80, 0x7F, 0x38, 0x00, 0x3F, 0x10, 0xF0, 0x0F, 0x00, 0xFE, 0x01, 0x00, 0x3E, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, // Code for char ý + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0x00, 0x03, 0x0C, 0x00, 0x03, 0x0C, 0x00, 0x03, 0x0C, 0x00, 0x07, 0x0E, 0x00, 0xFE, 0x0F, 0x00, 0xFC, 0x07, 0x00, 0xF8, 0x01, 0x00, 0x00, 0x00, // Code for char þ + 0x0B, 0x00, 0x00, 0xE0, 0x00, 0x06, 0xE0, 0x38, 0x3E, 0xE0, 0x38, 0xFE, 0xE0, 0x38, 0xF8, 0xF3, 0x00, 0x80, 0x7F, 0x38, 0x00, 0x3F, 0x38, 0xF0, 0x0F, 0x38, 0xFE, 0x01, 0x00, 0x3E, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00 // Code for char ÿ + }; + diff --git a/ili9341/fonts/Unispace12x24.c b/ili9341/fonts/Unispace12x24.c new file mode 100644 index 0000000..a439882 --- /dev/null +++ b/ili9341/fonts/Unispace12x24.c @@ -0,0 +1,106 @@ +//Font Generated by MikroElektronika GLCD Font Creator 1.2.0.0 +//MikroElektronika 2011 +//http://www.mikroe.com + +//GLCD FontName : Unispace12x24 +//GLCD FontSize : 12 x 24 (Fixed Width) + +const unsigned short Unispace12x24[] = { + 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, 0x00, // Code for char + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x7F, 0x07, 0xF8, 0x7F, 0x07, 0xF8, 0x7F, 0x07, 0xF8, 0x7F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ! + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char " + 0x0B, 0x00, 0x00, 0x00, 0x80, 0x61, 0x00, 0x80, 0x61, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x80, 0x61, 0x00, 0x80, 0x61, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x80, 0x61, 0x00, 0x80, 0x61, 0x00, 0x00, 0x00, 0x00, // Code for char # + 0x0C, 0x00, 0x00, 0x00, 0xE0, 0x07, 0x01, 0xF0, 0x0F, 0x01, 0x70, 0x0E, 0x01, 0x30, 0x0C, 0x01, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x30, 0x0C, 0x01, 0x30, 0x0C, 0x01, 0x30, 0xFC, 0x01, 0x30, 0xFC, 0x01, 0x00, 0x70, 0x00, // Code for char $ + 0x0C, 0x00, 0x00, 0x00, 0xF8, 0x03, 0x00, 0x08, 0x02, 0x00, 0x08, 0x02, 0x06, 0xF8, 0xC3, 0x07, 0xE0, 0xF8, 0x00, 0x80, 0x1F, 0x00, 0xF0, 0xF1, 0x07, 0x38, 0x30, 0x04, 0x00, 0x10, 0x04, 0x00, 0xF0, 0x07, 0x00, 0xE0, 0x03, // Code for char % + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xF9, 0x01, 0xF8, 0xFF, 0x03, 0xF8, 0xFF, 0x07, 0x18, 0x06, 0x06, 0x18, 0x06, 0x06, 0x18, 0x06, 0x06, 0x18, 0xFE, 0x07, 0x18, 0xFE, 0x07, 0x00, 0x06, 0x06, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, // Code for char & + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ' + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x3F, 0xFE, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ( + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x07, 0x00, 0xE0, 0xFE, 0xFF, 0x7F, 0xFC, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ) + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x01, 0x00, 0xB8, 0x01, 0x00, 0xF0, 0x07, 0x00, 0xE0, 0x07, 0x00, 0xF8, 0x01, 0x00, 0xD8, 0x03, 0x00, 0x60, 0x07, 0x00, 0x60, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char * + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0xC0, 0x7F, 0x00, 0xC0, 0x7F, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, // Code for char + + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char , + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, // Code for char - + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char . + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x00, 0xC0, 0x03, 0x00, 0xF0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x0F, 0x00, 0xC0, 0x03, 0x00, 0xE0, 0x01, 0x00, 0x78, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char / + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x01, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0xE0, 0x07, 0x18, 0xFC, 0x06, 0x98, 0x1F, 0x06, 0xF8, 0x03, 0x06, 0xF8, 0x00, 0x07, 0xF8, 0xFF, 0x07, 0xF0, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char 0 + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char 1 + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x07, 0x18, 0xFC, 0x07, 0x18, 0xFC, 0x07, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0xF8, 0x0F, 0x06, 0xF8, 0x0F, 0x06, 0xF0, 0x07, 0x06, 0x00, 0x00, 0x00, // Code for char 2 + 0x0B, 0x00, 0x00, 0x00, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0xF8, 0xFF, 0x07, 0xF0, 0xFF, 0x07, 0xE0, 0xF3, 0x03, 0x00, 0x00, 0x00, // Code for char 3 + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xDF, 0x00, 0xC0, 0xC7, 0x00, 0xF0, 0xC1, 0x00, 0x78, 0xC0, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, // Code for char 4 + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0x07, 0x06, 0xF8, 0x07, 0x06, 0xF8, 0x07, 0x06, 0x18, 0x06, 0x06, 0x18, 0x06, 0x06, 0x18, 0x06, 0x06, 0x18, 0x06, 0x06, 0x18, 0xFE, 0x07, 0x18, 0xFE, 0x07, 0x00, 0xFC, 0x01, 0x00, 0x00, 0x00, // Code for char 5 + 0x0B, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x03, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x06, 0x06, 0x18, 0x06, 0x06, 0x18, 0x06, 0x06, 0x18, 0x06, 0x06, 0x18, 0xFE, 0x07, 0x00, 0xFE, 0x07, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, // Code for char 6 + 0x0C, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x04, 0x18, 0x00, 0x07, 0x18, 0xE0, 0x07, 0x18, 0xF8, 0x03, 0x18, 0xFF, 0x00, 0xD8, 0x1F, 0x00, 0xF8, 0x07, 0x00, 0xF8, 0x00, 0x00, 0x38, 0x00, 0x00, 0x08, 0x00, 0x00, // Code for char 7 + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFB, 0x03, 0xF0, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF0, 0xFB, 0x03, 0x00, 0x00, 0x00, // Code for char 8 + 0x0B, 0x00, 0x00, 0x00, 0xF0, 0x07, 0x00, 0xF8, 0x0F, 0x06, 0xF8, 0x0F, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF0, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char 9 + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x07, 0x00, 0x0E, 0x07, 0x00, 0x0E, 0x07, 0x00, 0x0E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char : + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x7E, 0x00, 0x0E, 0x7E, 0x00, 0x0E, 0x7E, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ; + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x1F, 0x00, 0x80, 0x39, 0x00, 0xC0, 0x71, 0x00, 0xE0, 0xE0, 0x00, 0x70, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char < + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x19, 0x00, 0x80, 0x19, 0x00, 0x80, 0x19, 0x00, 0x80, 0x19, 0x00, 0x80, 0x19, 0x00, 0x80, 0x19, 0x00, 0x80, 0x19, 0x00, 0x80, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char = + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xC0, 0x01, 0x60, 0xE0, 0x00, 0xC0, 0x70, 0x00, 0x80, 0x31, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char > + 0x0B, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x30, 0x07, 0x18, 0x7C, 0x07, 0x18, 0x1C, 0x07, 0x18, 0x0C, 0x07, 0x18, 0x0C, 0x00, 0xF8, 0x0F, 0x00, 0xF8, 0x0F, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x00, 0x00, // Code for char ? + 0x0B, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x3F, 0xC0, 0xFF, 0x3F, 0xC0, 0x00, 0x30, 0xC0, 0xF8, 0x31, 0xC0, 0xFC, 0x33, 0xC0, 0x0C, 0x33, 0xC0, 0xFC, 0x33, 0xC0, 0x00, 0x33, 0xC0, 0xFF, 0x33, 0xC0, 0xFF, 0x33, 0x00, 0x00, 0x00, // Code for char @ + 0x0C, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0xFC, 0x07, 0xC0, 0xFF, 0x07, 0xF8, 0xFF, 0x00, 0xF8, 0xC0, 0x00, 0x78, 0xC0, 0x00, 0xF8, 0xDF, 0x00, 0xE0, 0xFF, 0x07, 0x00, 0xFE, 0x07, 0x00, 0xC0, 0x07, 0x00, 0x00, 0x04, // Code for char A + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xE0, 0xF3, 0x03, 0x00, 0x00, 0x00, // Code for char B + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x00, 0xF0, 0xFF, 0x03, 0xF8, 0xFF, 0x07, 0x38, 0x00, 0x07, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char C + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF0, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char D + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char E + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x0C, 0x00, 0x18, 0x0C, 0x00, 0x18, 0x0C, 0x00, 0x18, 0x0C, 0x00, 0x18, 0x0C, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char F + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x01, 0xF0, 0xFF, 0x03, 0xF8, 0xFF, 0x07, 0x38, 0x00, 0x07, 0x18, 0x00, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0xFC, 0x07, 0x18, 0xFC, 0x07, 0x18, 0xFC, 0x07, 0x00, 0x00, 0x00, // Code for char G + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char H + 0x0B, 0x00, 0x00, 0x00, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char I + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x03, 0xF8, 0xFF, 0x01, 0x00, 0x00, 0x00, // Code for char J + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x00, 0x0E, 0x00, 0x80, 0x3F, 0x00, 0xC0, 0xFF, 0x00, 0xF0, 0xF1, 0x03, 0x78, 0xE0, 0x07, 0x38, 0x80, 0x07, 0x08, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char K + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 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, 0x00, // Code for char L + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0x07, 0x00, 0xC0, 0xFF, 0x01, 0x00, 0xF0, 0x07, 0x00, 0xE0, 0x07, 0x80, 0xFF, 0x03, 0xF8, 0x0F, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char M + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0x01, 0x00, 0xF0, 0x07, 0x00, 0x80, 0x3F, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xF0, 0x03, 0x00, 0xC0, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char N + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x01, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF0, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char O + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0xF8, 0x1F, 0x00, 0xF8, 0x1F, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0x00, 0x00, // Code for char P + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x01, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x1E, 0x18, 0x00, 0x1E, 0xF8, 0xFF, 0x17, 0xF8, 0xFF, 0x07, 0xF0, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char Q + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x0C, 0x00, 0x18, 0x0C, 0x00, 0x18, 0x0C, 0x00, 0x18, 0x0C, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF0, 0xF3, 0x07, 0x00, 0x00, 0x00, // Code for char R + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0x03, 0x06, 0xF0, 0x07, 0x06, 0xF8, 0x0F, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0xFC, 0x07, 0x18, 0xFC, 0x07, 0x18, 0xF8, 0x03, 0x00, 0x00, 0x00, // Code for char S + 0x0B, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char T + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x01, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char U + 0x0C, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0xF8, 0x0F, 0x00, 0xF8, 0xFF, 0x00, 0x00, 0xFF, 0x07, 0x00, 0xC0, 0x07, 0x00, 0x80, 0x07, 0x00, 0xFE, 0x07, 0xF0, 0xFF, 0x00, 0xF8, 0x0F, 0x00, 0xF8, 0x00, 0x00, 0x08, 0x00, 0x00, // Code for char V + 0x0C, 0x38, 0x00, 0x00, 0xF8, 0xFF, 0x00, 0xF8, 0xFF, 0x07, 0x00, 0xFE, 0x07, 0x00, 0xE0, 0x07, 0x80, 0xFF, 0x00, 0x80, 0x3F, 0x00, 0x00, 0xF8, 0x07, 0x00, 0xE0, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x03, 0xF8, 0x01, 0x00, // Code for char W + 0x0C, 0x00, 0x00, 0x00, 0x18, 0x00, 0x06, 0x78, 0x80, 0x07, 0xF8, 0xE1, 0x07, 0xF0, 0xFF, 0x01, 0x80, 0x3F, 0x00, 0x00, 0x3F, 0x00, 0xC0, 0xFF, 0x01, 0xF0, 0xF3, 0x07, 0xF8, 0xC0, 0x07, 0x38, 0x00, 0x07, 0x08, 0x00, 0x04, // Code for char X + 0x0C, 0x08, 0x00, 0x00, 0x38, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x03, 0x00, 0xE0, 0xFF, 0x07, 0x00, 0xFF, 0x07, 0x00, 0xFE, 0x07, 0xC0, 0xFF, 0x07, 0xF8, 0x07, 0x00, 0xF8, 0x00, 0x00, 0x38, 0x00, 0x00, 0x08, 0x00, 0x00, // Code for char Y + 0x0B, 0x00, 0x00, 0x00, 0x18, 0x00, 0x06, 0x18, 0x80, 0x07, 0x18, 0xE0, 0x07, 0x18, 0xF8, 0x07, 0x18, 0x7E, 0x06, 0x18, 0x3F, 0x06, 0xD8, 0x0F, 0x06, 0xF8, 0x03, 0x06, 0xF8, 0x00, 0x06, 0x38, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char Z + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char [ + 0x0B, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x38, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xC0, 0x03, 0x00, 0x80, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char BackSlash + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ] + 0x0C, 0x00, 0x02, 0x00, 0x00, 0x03, 0x00, 0x80, 0x01, 0x00, 0xC0, 0x00, 0x00, 0x60, 0x00, 0x00, 0x38, 0x00, 0x00, 0x18, 0x00, 0x00, 0x70, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x02, 0x00, // Code for char ^ + 0x0C, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, // Code for char _ + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ` + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0xC0, 0xF8, 0x07, 0xC0, 0xF8, 0x07, 0xC0, 0x18, 0x06, 0xC0, 0x18, 0x06, 0xC0, 0x18, 0x06, 0xC0, 0x18, 0x06, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char a + 0x0B, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char b + 0x0B, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x01, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0x00, 0x07, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char c + 0x0B, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0x00, 0x07, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char d + 0x0B, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0x30, 0x06, 0xC0, 0x30, 0x06, 0xC0, 0x30, 0x06, 0xC0, 0x30, 0x06, 0xC0, 0x39, 0x06, 0xC0, 0x3F, 0x06, 0x80, 0x1F, 0x00, 0x00, 0x00, 0x00, // Code for char e + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xCC, 0x00, 0x00, 0xCC, 0x00, 0x00, 0xCC, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char f + 0x0B, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0xC7, 0xC0, 0x00, 0xC6, 0xC0, 0x00, 0xC6, 0xC0, 0x00, 0xC6, 0xC0, 0x00, 0xC6, 0xC0, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xC0, 0xFF, 0x7F, 0x00, 0x00, 0x00, // Code for char g + 0x0B, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char h + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xCC, 0x00, 0x06, 0xCC, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char i + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0x00, 0xE0, 0xCC, 0xFF, 0xFF, 0xCC, 0xFF, 0xFF, 0xCC, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char j + 0x0C, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0x00, 0x7C, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xEF, 0x01, 0xC0, 0xC7, 0x03, 0xC0, 0x81, 0x07, 0xC0, 0x00, 0x06, 0x40, 0x00, 0x04, 0x00, 0x00, 0x04, // Code for char k + 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x06, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char l + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0x00, 0x00, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char m + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char n + 0x0C, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0xFE, 0x00, // Code for char o + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char p + 0x0B, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0x00, 0x00, 0x00, // Code for char q + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x07, 0x80, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0x01, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char r + 0x0C, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x06, 0xC0, 0x1F, 0x06, 0xC0, 0x1D, 0x06, 0xC0, 0x18, 0x06, 0xC0, 0x18, 0x06, 0xC0, 0x18, 0x06, 0xC0, 0x18, 0x06, 0xC0, 0x18, 0x06, 0xC0, 0xF8, 0x07, 0xC0, 0xF0, 0x03, 0x00, 0xC0, 0x00, // Code for char s + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xF8, 0xFF, 0x03, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char t + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char u + 0x0C, 0x40, 0x00, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x1F, 0x00, 0xC0, 0xFF, 0x01, 0x00, 0xFC, 0x07, 0x00, 0xC0, 0x07, 0x00, 0x80, 0x07, 0x00, 0xF8, 0x07, 0x80, 0xFF, 0x03, 0xC0, 0x3F, 0x00, 0xC0, 0x07, 0x00, 0x40, 0x00, 0x00, // Code for char v + 0x0C, 0xC0, 0x00, 0x00, 0xC0, 0xFF, 0x01, 0xC0, 0xFF, 0x07, 0x00, 0xF0, 0x07, 0x00, 0xF0, 0x07, 0x00, 0xFE, 0x01, 0x00, 0xFE, 0x00, 0x00, 0xF8, 0x07, 0x00, 0xC0, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x03, 0xC0, 0x03, 0x00, // Code for char w + 0x0C, 0x40, 0x00, 0x04, 0xC0, 0x00, 0x06, 0xC0, 0x01, 0x07, 0xC0, 0xC7, 0x07, 0x00, 0xFF, 0x01, 0x00, 0xFE, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xFF, 0x01, 0x80, 0xC7, 0x07, 0xC0, 0x81, 0x07, 0xC0, 0x00, 0x06, 0x40, 0x00, 0x04, // Code for char x + 0x0C, 0x40, 0x00, 0x00, 0xC0, 0x01, 0x00, 0xC0, 0x0F, 0x00, 0xC0, 0x7F, 0xC0, 0x00, 0xFE, 0xF3, 0x00, 0xF0, 0xFF, 0x00, 0xC0, 0x1F, 0x00, 0xF0, 0x07, 0x00, 0xFF, 0x00, 0xC0, 0x1F, 0x00, 0xC0, 0x03, 0x00, 0x40, 0x00, 0x00, // Code for char y + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x07, 0xC0, 0xC0, 0x07, 0xC0, 0xE0, 0x07, 0xC0, 0xF8, 0x06, 0xC0, 0x7E, 0x06, 0xC0, 0x1F, 0x06, 0xC0, 0x0F, 0x06, 0xC0, 0x03, 0x06, 0xC0, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char z + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x18, 0x00, 0xF8, 0xFF, 0x1F, 0xFE, 0xEF, 0x7F, 0xFE, 0xC3, 0x7F, 0x03, 0x00, 0xC0, 0x01, 0x00, 0x80, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char { + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char | + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x80, 0x01, 0x00, 0x80, 0x03, 0x00, 0xC0, 0xFE, 0xC3, 0xFF, 0xFE, 0xE7, 0x7F, 0xFC, 0xFF, 0x3F, 0x00, 0x18, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char } + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ~ + 0x05, 0x80, 0xFF, 0x03, 0x80, 0xFF, 0x03, 0x80, 0x00, 0x02, 0x80, 0xFF, 0x03, 0x80, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // Code for char  + }; + diff --git a/ili9341/fonts/UnispaceExt12x24.c b/ili9341/fonts/UnispaceExt12x24.c new file mode 100644 index 0000000..bd6e25a --- /dev/null +++ b/ili9341/fonts/UnispaceExt12x24.c @@ -0,0 +1,238 @@ + +//WARNING: This Font Require X-GLCD Lib. +// You can not use it with MikroE GLCD Lib. + +//Font Generated by MikroElektronika GLCD Font Creator 1.2.0.0 +//MikroElektronika 2011 +//http://www.mikroe.com + +//GLCD FontName : Unispace12x24 +//GLCD FontSize : 12 x 24 + +const unsigned short Unispace12x24[] = { + 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, 0x00, // Code for char + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x7F, 0x07, 0xF8, 0x7F, 0x07, 0xF8, 0x7F, 0x07, 0xF8, 0x7F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ! + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char " + 0x0B, 0x00, 0x00, 0x00, 0x80, 0x61, 0x00, 0x80, 0x61, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x80, 0x61, 0x00, 0x80, 0x61, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x80, 0x61, 0x00, 0x80, 0x61, 0x00, 0x00, 0x00, 0x00, // Code for char # + 0x0C, 0x00, 0x00, 0x00, 0xE0, 0x07, 0x01, 0xF0, 0x0F, 0x01, 0x70, 0x0E, 0x01, 0x30, 0x0C, 0x01, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x30, 0x0C, 0x01, 0x30, 0x0C, 0x01, 0x30, 0xFC, 0x01, 0x30, 0xFC, 0x01, 0x00, 0x70, 0x00, // Code for char $ + 0x0C, 0x00, 0x00, 0x00, 0xF8, 0x03, 0x00, 0x08, 0x02, 0x00, 0x08, 0x02, 0x06, 0xF8, 0xC3, 0x07, 0xE0, 0xF8, 0x00, 0x80, 0x1F, 0x00, 0xF0, 0xF1, 0x07, 0x38, 0x30, 0x04, 0x00, 0x10, 0x04, 0x00, 0xF0, 0x07, 0x00, 0xE0, 0x03, // Code for char % + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xF9, 0x01, 0xF8, 0xFF, 0x03, 0xF8, 0xFF, 0x07, 0x18, 0x06, 0x06, 0x18, 0x06, 0x06, 0x18, 0x06, 0x06, 0x18, 0xFE, 0x07, 0x18, 0xFE, 0x07, 0x00, 0x06, 0x06, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, // Code for char & + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ' + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x3F, 0xFE, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ( + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x07, 0x00, 0xE0, 0xFE, 0xFF, 0x7F, 0xFC, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ) + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x01, 0x00, 0xB8, 0x01, 0x00, 0xF0, 0x07, 0x00, 0xE0, 0x07, 0x00, 0xF8, 0x01, 0x00, 0xD8, 0x03, 0x00, 0x60, 0x07, 0x00, 0x60, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char * + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0xC0, 0x7F, 0x00, 0xC0, 0x7F, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, // Code for char + + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char , + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, // Code for char - + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char . + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x00, 0xC0, 0x03, 0x00, 0xF0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x0F, 0x00, 0xC0, 0x03, 0x00, 0xE0, 0x01, 0x00, 0x78, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char / + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x01, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0xE0, 0x07, 0x18, 0xFC, 0x06, 0x98, 0x1F, 0x06, 0xF8, 0x03, 0x06, 0xF8, 0x00, 0x07, 0xF8, 0xFF, 0x07, 0xF0, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char 0 + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char 1 + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x07, 0x18, 0xFC, 0x07, 0x18, 0xFC, 0x07, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0xF8, 0x0F, 0x06, 0xF8, 0x0F, 0x06, 0xF0, 0x07, 0x06, 0x00, 0x00, 0x00, // Code for char 2 + 0x0B, 0x00, 0x00, 0x00, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0xF8, 0xFF, 0x07, 0xF0, 0xFF, 0x07, 0xE0, 0xF3, 0x03, 0x00, 0x00, 0x00, // Code for char 3 + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xDF, 0x00, 0xC0, 0xC7, 0x00, 0xF0, 0xC1, 0x00, 0x78, 0xC0, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, // Code for char 4 + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0x07, 0x06, 0xF8, 0x07, 0x06, 0xF8, 0x07, 0x06, 0x18, 0x06, 0x06, 0x18, 0x06, 0x06, 0x18, 0x06, 0x06, 0x18, 0x06, 0x06, 0x18, 0xFE, 0x07, 0x18, 0xFE, 0x07, 0x00, 0xFC, 0x01, 0x00, 0x00, 0x00, // Code for char 5 + 0x0B, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x03, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x06, 0x06, 0x18, 0x06, 0x06, 0x18, 0x06, 0x06, 0x18, 0x06, 0x06, 0x18, 0xFE, 0x07, 0x00, 0xFE, 0x07, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, // Code for char 6 + 0x0C, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x04, 0x18, 0x00, 0x07, 0x18, 0xE0, 0x07, 0x18, 0xF8, 0x03, 0x18, 0xFF, 0x00, 0xD8, 0x1F, 0x00, 0xF8, 0x07, 0x00, 0xF8, 0x00, 0x00, 0x38, 0x00, 0x00, 0x08, 0x00, 0x00, // Code for char 7 + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFB, 0x03, 0xF0, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF0, 0xFB, 0x03, 0x00, 0x00, 0x00, // Code for char 8 + 0x0B, 0x00, 0x00, 0x00, 0xF0, 0x07, 0x00, 0xF8, 0x0F, 0x06, 0xF8, 0x0F, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF0, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char 9 + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x07, 0x00, 0x0E, 0x07, 0x00, 0x0E, 0x07, 0x00, 0x0E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char : + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x7E, 0x00, 0x0E, 0x7E, 0x00, 0x0E, 0x7E, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ; + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x1F, 0x00, 0x80, 0x39, 0x00, 0xC0, 0x71, 0x00, 0xE0, 0xE0, 0x00, 0x70, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char < + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x19, 0x00, 0x80, 0x19, 0x00, 0x80, 0x19, 0x00, 0x80, 0x19, 0x00, 0x80, 0x19, 0x00, 0x80, 0x19, 0x00, 0x80, 0x19, 0x00, 0x80, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char = + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xC0, 0x01, 0x60, 0xE0, 0x00, 0xC0, 0x70, 0x00, 0x80, 0x31, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char > + 0x0B, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x30, 0x07, 0x18, 0x7C, 0x07, 0x18, 0x1C, 0x07, 0x18, 0x0C, 0x07, 0x18, 0x0C, 0x00, 0xF8, 0x0F, 0x00, 0xF8, 0x0F, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x00, 0x00, // Code for char ? + 0x0B, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x3F, 0xC0, 0xFF, 0x3F, 0xC0, 0x00, 0x30, 0xC0, 0xF8, 0x31, 0xC0, 0xFC, 0x33, 0xC0, 0x0C, 0x33, 0xC0, 0xFC, 0x33, 0xC0, 0x00, 0x33, 0xC0, 0xFF, 0x33, 0xC0, 0xFF, 0x33, 0x00, 0x00, 0x00, // Code for char @ + 0x0C, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0xFC, 0x07, 0xC0, 0xFF, 0x07, 0xF8, 0xFF, 0x00, 0xF8, 0xC0, 0x00, 0x78, 0xC0, 0x00, 0xF8, 0xDF, 0x00, 0xE0, 0xFF, 0x07, 0x00, 0xFE, 0x07, 0x00, 0xC0, 0x07, 0x00, 0x00, 0x04, // Code for char A + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xE0, 0xF3, 0x03, 0x00, 0x00, 0x00, // Code for char B + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x00, 0xF0, 0xFF, 0x03, 0xF8, 0xFF, 0x07, 0x38, 0x00, 0x07, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char C + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF0, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char D + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char E + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x0C, 0x00, 0x18, 0x0C, 0x00, 0x18, 0x0C, 0x00, 0x18, 0x0C, 0x00, 0x18, 0x0C, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char F + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x01, 0xF0, 0xFF, 0x03, 0xF8, 0xFF, 0x07, 0x38, 0x00, 0x07, 0x18, 0x00, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0xFC, 0x07, 0x18, 0xFC, 0x07, 0x18, 0xFC, 0x07, 0x00, 0x00, 0x00, // Code for char G + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char H + 0x0B, 0x00, 0x00, 0x00, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char I + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x03, 0xF8, 0xFF, 0x01, 0x00, 0x00, 0x00, // Code for char J + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x00, 0x0E, 0x00, 0x80, 0x3F, 0x00, 0xC0, 0xFF, 0x00, 0xF0, 0xF1, 0x03, 0x78, 0xE0, 0x07, 0x38, 0x80, 0x07, 0x08, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char K + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 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, 0x00, // Code for char L + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0x07, 0x00, 0xC0, 0xFF, 0x01, 0x00, 0xF0, 0x07, 0x00, 0xE0, 0x07, 0x80, 0xFF, 0x03, 0xF8, 0x0F, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char M + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0x01, 0x00, 0xF0, 0x07, 0x00, 0x80, 0x3F, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xF0, 0x03, 0x00, 0xC0, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char N + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x01, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF0, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char O + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0xF8, 0x1F, 0x00, 0xF8, 0x1F, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0x00, 0x00, // Code for char P + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x01, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x1E, 0x18, 0x00, 0x1E, 0xF8, 0xFF, 0x17, 0xF8, 0xFF, 0x07, 0xF0, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char Q + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x0C, 0x00, 0x18, 0x0C, 0x00, 0x18, 0x0C, 0x00, 0x18, 0x0C, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF0, 0xF3, 0x07, 0x00, 0x00, 0x00, // Code for char R + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0x03, 0x06, 0xF0, 0x07, 0x06, 0xF8, 0x0F, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0xFC, 0x07, 0x18, 0xFC, 0x07, 0x18, 0xF8, 0x03, 0x00, 0x00, 0x00, // Code for char S + 0x0B, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char T + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x01, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char U + 0x0C, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0xF8, 0x0F, 0x00, 0xF8, 0xFF, 0x00, 0x00, 0xFF, 0x07, 0x00, 0xC0, 0x07, 0x00, 0x80, 0x07, 0x00, 0xFE, 0x07, 0xF0, 0xFF, 0x00, 0xF8, 0x0F, 0x00, 0xF8, 0x00, 0x00, 0x08, 0x00, 0x00, // Code for char V + 0x0C, 0x38, 0x00, 0x00, 0xF8, 0xFF, 0x00, 0xF8, 0xFF, 0x07, 0x00, 0xFE, 0x07, 0x00, 0xE0, 0x07, 0x80, 0xFF, 0x00, 0x80, 0x3F, 0x00, 0x00, 0xF8, 0x07, 0x00, 0xE0, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x03, 0xF8, 0x01, 0x00, // Code for char W + 0x0C, 0x00, 0x00, 0x00, 0x18, 0x00, 0x06, 0x78, 0x80, 0x07, 0xF8, 0xE1, 0x07, 0xF0, 0xFF, 0x01, 0x80, 0x3F, 0x00, 0x00, 0x3F, 0x00, 0xC0, 0xFF, 0x01, 0xF0, 0xF3, 0x07, 0xF8, 0xC0, 0x07, 0x38, 0x00, 0x07, 0x08, 0x00, 0x04, // Code for char X + 0x0C, 0x08, 0x00, 0x00, 0x38, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x03, 0x00, 0xE0, 0xFF, 0x07, 0x00, 0xFF, 0x07, 0x00, 0xFE, 0x07, 0xC0, 0xFF, 0x07, 0xF8, 0x07, 0x00, 0xF8, 0x00, 0x00, 0x38, 0x00, 0x00, 0x08, 0x00, 0x00, // Code for char Y + 0x0B, 0x00, 0x00, 0x00, 0x18, 0x00, 0x06, 0x18, 0x80, 0x07, 0x18, 0xE0, 0x07, 0x18, 0xF8, 0x07, 0x18, 0x7E, 0x06, 0x18, 0x3F, 0x06, 0xD8, 0x0F, 0x06, 0xF8, 0x03, 0x06, 0xF8, 0x00, 0x06, 0x38, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char Z + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char [ + 0x0B, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x38, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xC0, 0x03, 0x00, 0x80, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char BackSlash + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ] + 0x0C, 0x00, 0x02, 0x00, 0x00, 0x03, 0x00, 0x80, 0x01, 0x00, 0xC0, 0x00, 0x00, 0x60, 0x00, 0x00, 0x38, 0x00, 0x00, 0x18, 0x00, 0x00, 0x70, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x02, 0x00, // Code for char ^ + 0x0C, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, // Code for char _ + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ` + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0xC0, 0xF8, 0x07, 0xC0, 0xF8, 0x07, 0xC0, 0x18, 0x06, 0xC0, 0x18, 0x06, 0xC0, 0x18, 0x06, 0xC0, 0x18, 0x06, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char a + 0x0B, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char b + 0x0B, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x01, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0x00, 0x07, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char c + 0x0B, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0x00, 0x07, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char d + 0x0B, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0x30, 0x06, 0xC0, 0x30, 0x06, 0xC0, 0x30, 0x06, 0xC0, 0x30, 0x06, 0xC0, 0x39, 0x06, 0xC0, 0x3F, 0x06, 0x80, 0x1F, 0x00, 0x00, 0x00, 0x00, // Code for char e + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xCC, 0x00, 0x00, 0xCC, 0x00, 0x00, 0xCC, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char f + 0x0B, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0xC7, 0xC0, 0x00, 0xC6, 0xC0, 0x00, 0xC6, 0xC0, 0x00, 0xC6, 0xC0, 0x00, 0xC6, 0xC0, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xC0, 0xFF, 0x7F, 0x00, 0x00, 0x00, // Code for char g + 0x0B, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char h + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xCC, 0x00, 0x06, 0xCC, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char i + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0x00, 0xE0, 0xCC, 0xFF, 0xFF, 0xCC, 0xFF, 0xFF, 0xCC, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char j + 0x0C, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0x00, 0x7C, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xEF, 0x01, 0xC0, 0xC7, 0x03, 0xC0, 0x81, 0x07, 0xC0, 0x00, 0x06, 0x40, 0x00, 0x04, 0x00, 0x00, 0x04, // Code for char k + 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x06, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char l + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0x00, 0x00, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char m + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char n + 0x0C, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0xFE, 0x00, // Code for char o + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char p + 0x0B, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0x00, 0x00, 0x00, // Code for char q + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x07, 0x80, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0x01, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char r + 0x0C, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x06, 0xC0, 0x1F, 0x06, 0xC0, 0x1D, 0x06, 0xC0, 0x18, 0x06, 0xC0, 0x18, 0x06, 0xC0, 0x18, 0x06, 0xC0, 0x18, 0x06, 0xC0, 0x18, 0x06, 0xC0, 0xF8, 0x07, 0xC0, 0xF0, 0x03, 0x00, 0xC0, 0x00, // Code for char s + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xF8, 0xFF, 0x03, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char t + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char u + 0x0C, 0x40, 0x00, 0x00, 0xC0, 0x03, 0x00, 0xC0, 0x1F, 0x00, 0xC0, 0xFF, 0x01, 0x00, 0xFC, 0x07, 0x00, 0xC0, 0x07, 0x00, 0x80, 0x07, 0x00, 0xF8, 0x07, 0x80, 0xFF, 0x03, 0xC0, 0x3F, 0x00, 0xC0, 0x07, 0x00, 0x40, 0x00, 0x00, // Code for char v + 0x0C, 0xC0, 0x00, 0x00, 0xC0, 0xFF, 0x01, 0xC0, 0xFF, 0x07, 0x00, 0xF0, 0x07, 0x00, 0xF0, 0x07, 0x00, 0xFE, 0x01, 0x00, 0xFE, 0x00, 0x00, 0xF8, 0x07, 0x00, 0xC0, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x03, 0xC0, 0x03, 0x00, // Code for char w + 0x0C, 0x40, 0x00, 0x04, 0xC0, 0x00, 0x06, 0xC0, 0x01, 0x07, 0xC0, 0xC7, 0x07, 0x00, 0xFF, 0x01, 0x00, 0xFE, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xFF, 0x01, 0x80, 0xC7, 0x07, 0xC0, 0x81, 0x07, 0xC0, 0x00, 0x06, 0x40, 0x00, 0x04, // Code for char x + 0x0C, 0x40, 0x00, 0x00, 0xC0, 0x01, 0x00, 0xC0, 0x0F, 0x00, 0xC0, 0x7F, 0xC0, 0x00, 0xFE, 0xF3, 0x00, 0xF0, 0xFF, 0x00, 0xC0, 0x1F, 0x00, 0xF0, 0x07, 0x00, 0xFF, 0x00, 0xC0, 0x1F, 0x00, 0xC0, 0x03, 0x00, 0x40, 0x00, 0x00, // Code for char y + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x07, 0xC0, 0xC0, 0x07, 0xC0, 0xE0, 0x07, 0xC0, 0xF8, 0x06, 0xC0, 0x7E, 0x06, 0xC0, 0x1F, 0x06, 0xC0, 0x0F, 0x06, 0xC0, 0x03, 0x06, 0xC0, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char z + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x18, 0x00, 0xF8, 0xFF, 0x1F, 0xFE, 0xEF, 0x7F, 0xFE, 0xC3, 0x7F, 0x03, 0x00, 0xC0, 0x01, 0x00, 0x80, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char { + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char | + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x80, 0x01, 0x00, 0x80, 0x03, 0x00, 0xC0, 0xFE, 0xC3, 0xFF, 0xFE, 0xE7, 0x7F, 0xFC, 0xFF, 0x3F, 0x00, 0x18, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char } + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ~ + 0x05, 0x80, 0xFF, 0x03, 0x80, 0xFF, 0x03, 0x80, 0x00, 0x02, 0x80, 0xFF, 0x03, 0x80, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char  + 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, // Code for char € + 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, // Code for char  + 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, // Code for char ‚ + 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, // Code for char ƒ + 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, // Code for char „ + 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, // Code for char … + 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, // Code for char † + 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, // Code for char ‡ + 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, // Code for char ˆ + 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, // Code for char ‰ + 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, // Code for char Š + 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, // Code for char ‹ + 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, // Code for char Œ + 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, // Code for char  + 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, // Code for char Ž + 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, // Code for char  + 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, // Code for char  + 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, // Code for char ‘ + 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, // Code for char ’ + 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, // Code for char “ + 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, // Code for char ” + 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, // Code for char • + 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, // Code for char – + 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, // Code for char — + 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, // Code for char ˜ + 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, // Code for char ™ + 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, // Code for char š + 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, // Code for char › + 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, // Code for char œ + 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, // Code for char  + 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, // Code for char ž + 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, // Code for char Ÿ + 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, // Code for char   + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0x00, 0xF7, 0xFF, 0x00, 0xF7, 0xFF, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¡ + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7F, 0x00, 0xE0, 0xFF, 0x01, 0xE0, 0xFF, 0x01, 0x60, 0x80, 0x01, 0xF8, 0xFF, 0x07, 0x60, 0x80, 0x01, 0x60, 0x80, 0x01, 0x60, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¢ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0xF0, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x06, 0x06, 0x18, 0x06, 0x06, 0x18, 0x06, 0x06, 0x18, 0x06, 0x06, 0x18, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char £ + 0x0C, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0x7F, 0xEF, 0xFF, 0x7F, 0xEF, 0x1F, 0x73, 0xEF, 0x8F, 0x73, 0xEF, 0xE7, 0x7F, 0xEF, 0xE7, 0x7F, 0xCF, 0xE7, 0x7F, 0x0F, 0xF0, 0x7F, 0x0F, 0xF0, 0x7F, 0x3F, 0xF8, 0x7F, 0xFE, 0xFF, 0x3F, // Code for char ¤ + 0x0C, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0xF8, 0x20, 0x01, 0xF8, 0x23, 0x01, 0xE0, 0xFF, 0x07, 0x00, 0xFF, 0x07, 0x00, 0xFE, 0x07, 0xC0, 0xFF, 0x07, 0xF8, 0x27, 0x01, 0xF8, 0x20, 0x01, 0x38, 0x00, 0x00, 0x08, 0x00, 0x00, // Code for char ¥ + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x01, 0xFF, 0xFF, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¦ + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0x18, 0x00, 0xF0, 0x7F, 0x30, 0xF8, 0xFF, 0x30, 0x18, 0xC3, 0x30, 0x18, 0xC3, 0x30, 0x18, 0xC3, 0x30, 0x18, 0xC3, 0x30, 0x18, 0xFF, 0x3F, 0x18, 0xFF, 0x3F, 0x00, 0x3C, 0x0F, 0x00, 0x00, 0x00, // Code for char § + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¨ + 0x0C, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x01, 0x18, 0x00, 0x03, 0x0C, 0x1F, 0x04, 0xC4, 0x7F, 0x04, 0x44, 0x40, 0x04, 0x44, 0x40, 0x04, 0x44, 0x40, 0x04, 0x0C, 0x00, 0x04, 0x08, 0x00, 0x02, 0xF8, 0xFF, 0x03, 0x00, 0x1F, 0x00, // Code for char © + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC0, 0x0F, 0x00, 0xD8, 0x0F, 0x00, 0xD8, 0x0C, 0x00, 0xD8, 0x0C, 0x00, 0xF8, 0x0F, 0x00, 0xF8, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ª + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x34, 0x00, 0x00, 0x62, 0x00, 0x00, 0xC3, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x36, 0x00, 0x00, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char « + 0x0B, 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, 0x06, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00, // Code for char ¬ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, // Code for char ­ + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x10, 0x04, 0x00, 0x08, 0x08, 0x00, 0xF4, 0x17, 0x00, 0x94, 0x10, 0x00, 0x94, 0x10, 0x00, 0xF4, 0x17, 0x00, 0x68, 0x0F, 0x00, 0x18, 0x0C, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x00, 0x00, // Code for char ® + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¯ + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x03, 0x00, 0xFC, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0x0C, 0x0C, 0x00, 0x0C, 0x0C, 0x00, 0x0C, 0x0C, 0x00, 0xFC, 0x0F, 0x00, 0xF8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ° + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x06, 0x06, 0x00, 0x06, 0x06, 0xC0, 0x7F, 0x06, 0xC0, 0x7F, 0x06, 0x00, 0x06, 0x06, 0x00, 0x06, 0x06, 0x00, 0x06, 0x06, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, // Code for char ± + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x48, 0x02, 0x00, 0x48, 0x02, 0x00, 0xF8, 0x03, 0x00, 0xB0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ² + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x07, 0x00, 0x48, 0x04, 0x00, 0x48, 0x04, 0x00, 0x78, 0x04, 0x00, 0x30, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ³ + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ´ + 0x0C, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0x7F, 0xEF, 0xFF, 0x7F, 0xEF, 0x1F, 0x73, 0xEF, 0x8F, 0x73, 0xEF, 0xE7, 0x7F, 0xEF, 0xE7, 0x7F, 0xCF, 0xE7, 0x7F, 0x0F, 0xF0, 0x7F, 0x0F, 0xF0, 0x7F, 0x3F, 0xF8, 0x7F, 0xFE, 0xFF, 0x3F, // Code for char µ + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0x07, 0x00, 0xF8, 0x0F, 0x00, 0xF8, 0x1F, 0x00, 0xF8, 0x1F, 0x00, 0xF8, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0x38, 0x00, 0x00, 0x38, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0x00, 0x00, 0x00, // Code for char ¶ + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char · + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¸ + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x00, 0xF8, 0x07, 0x00, 0xF8, 0x07, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¹ + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x07, 0x00, 0xF8, 0x1F, 0x00, 0xF8, 0x1F, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0xF8, 0x1F, 0x00, 0xF8, 0x1F, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char º + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE3, 0x00, 0x00, 0x36, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x18, 0x00, 0x00, 0xC3, 0x00, 0x00, 0x63, 0x00, 0x00, 0x36, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char » + 0x0C, 0x00, 0x04, 0x00, 0x08, 0x04, 0x04, 0xF8, 0x07, 0x07, 0x00, 0xC4, 0x01, 0x00, 0x60, 0x00, 0x00, 0x18, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x83, 0x03, 0xC0, 0x60, 0x02, 0x70, 0x18, 0x02, 0x18, 0xF8, 0x07, 0x08, 0x00, 0x02, // Code for char ¼ + 0x0C, 0x00, 0x04, 0x00, 0x08, 0x04, 0x04, 0xF8, 0x07, 0x07, 0x00, 0xC4, 0x01, 0x00, 0x60, 0x00, 0x00, 0x18, 0x00, 0x00, 0x0E, 0x00, 0x80, 0xCB, 0x07, 0xC0, 0x48, 0x04, 0x70, 0x48, 0x04, 0x18, 0x78, 0x04, 0x08, 0x30, 0x04, // Code for char ½ + 0x0C, 0x00, 0x00, 0x00, 0x08, 0x04, 0x06, 0x48, 0x04, 0x03, 0x48, 0xC4, 0x01, 0xF8, 0x77, 0x00, 0x00, 0x18, 0x00, 0x00, 0x0E, 0x00, 0x80, 0x83, 0x03, 0xC0, 0x70, 0x02, 0x30, 0x18, 0x06, 0x18, 0xF8, 0x07, 0x00, 0x00, 0x02, // Code for char ¾ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x7F, 0x00, 0x80, 0xFF, 0x00, 0x80, 0xE3, 0x00, 0x80, 0xC1, 0x00, 0xC7, 0xC1, 0x00, 0xF7, 0xC1, 0x00, 0xF7, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, // Code for char ¿ + 0x0C, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x03, 0xFC, 0x07, 0xC2, 0xFF, 0x07, 0xFE, 0xFF, 0x00, 0xFE, 0xC0, 0x00, 0x7E, 0xC0, 0x00, 0xFE, 0xDF, 0x00, 0xE0, 0xFF, 0x07, 0x00, 0xFE, 0x07, 0x00, 0xC0, 0x07, 0x00, 0x00, 0x04, // Code for char À + 0x0C, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0xFC, 0x07, 0xC0, 0xFF, 0x07, 0xFE, 0xFF, 0x00, 0xFE, 0xC0, 0x00, 0x7E, 0xC0, 0x00, 0xFE, 0xDF, 0x00, 0xE2, 0xFF, 0x07, 0x03, 0xFE, 0x07, 0x00, 0xC0, 0x07, 0x00, 0x00, 0x04, // Code for char Á + 0x0C, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x02, 0xFC, 0x07, 0xC2, 0xFF, 0x07, 0xFB, 0xFF, 0x00, 0xF9, 0xC0, 0x00, 0x79, 0xC0, 0x00, 0xFB, 0xDF, 0x00, 0xE2, 0xFF, 0x07, 0x02, 0xFE, 0x07, 0x00, 0xC0, 0x07, 0x00, 0x00, 0x04, // Code for char  + 0x0C, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x02, 0xFC, 0x07, 0xC3, 0xFF, 0x07, 0xF9, 0xFF, 0x00, 0xFB, 0xC0, 0x00, 0x7B, 0xC0, 0x00, 0xFA, 0xDF, 0x00, 0xE2, 0xFF, 0x07, 0x03, 0xFE, 0x07, 0x00, 0xC0, 0x07, 0x00, 0x00, 0x04, // Code for char à + 0x0C, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x03, 0xFC, 0x07, 0xC3, 0xFF, 0x07, 0xFB, 0xFF, 0x00, 0xF8, 0xC0, 0x00, 0x78, 0xC0, 0x00, 0xFB, 0xDF, 0x00, 0xE3, 0xFF, 0x07, 0x03, 0xFE, 0x07, 0x00, 0xC0, 0x07, 0x00, 0x00, 0x04, // Code for char Ä + 0x0C, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0xFC, 0x07, 0xC7, 0xFF, 0x07, 0xFF, 0xFF, 0x00, 0xF9, 0xC0, 0x00, 0x79, 0xC0, 0x00, 0xFF, 0xDF, 0x00, 0xE7, 0xFF, 0x07, 0x00, 0xFC, 0x07, 0x00, 0xC0, 0x07, 0x00, 0x00, 0x04, // Code for char Å + 0x0C, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x30, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, // Code for char Æ + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x00, 0xF0, 0xFF, 0x03, 0xF8, 0xFF, 0x07, 0x38, 0x00, 0x07, 0x18, 0x00, 0xF6, 0x18, 0x00, 0xF6, 0x18, 0x00, 0x16, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char Ç + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xFB, 0xFF, 0x07, 0xFA, 0xFF, 0x07, 0x1E, 0x0C, 0x06, 0x1E, 0x0C, 0x06, 0x1E, 0x0C, 0x06, 0x1E, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char È + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x1E, 0x0C, 0x06, 0x1E, 0x0C, 0x06, 0x1E, 0x0C, 0x06, 0x1E, 0x0C, 0x06, 0x1A, 0x0C, 0x06, 0x1B, 0x00, 0x06, 0x18, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char É + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xFE, 0xFF, 0x07, 0x1F, 0x0C, 0x06, 0x1B, 0x0C, 0x06, 0x1B, 0x0C, 0x06, 0x1F, 0x0C, 0x06, 0x1E, 0x0C, 0x06, 0x1C, 0x00, 0x06, 0x18, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char Ê + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xFB, 0xFF, 0x07, 0xFB, 0xFF, 0x07, 0x1B, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x1B, 0x0C, 0x06, 0x1B, 0x0C, 0x06, 0x1B, 0x00, 0x06, 0x18, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char Ë + 0x0B, 0x00, 0x00, 0x00, 0x18, 0x00, 0x06, 0x1B, 0x00, 0x06, 0x1A, 0x00, 0x06, 0x1E, 0x00, 0x06, 0xFE, 0xFF, 0x07, 0xFE, 0xFF, 0x07, 0xFE, 0xFF, 0x07, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char Ì + 0x0B, 0x00, 0x00, 0x00, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x1E, 0x00, 0x06, 0xFE, 0xFF, 0x07, 0xFE, 0xFF, 0x07, 0xFE, 0xFF, 0x07, 0x1A, 0x00, 0x06, 0x1B, 0x00, 0x06, 0x18, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char Í + 0x0B, 0x00, 0x00, 0x00, 0x18, 0x00, 0x06, 0x1A, 0x00, 0x06, 0x1A, 0x00, 0x06, 0x1B, 0x00, 0x06, 0xF9, 0xFF, 0x07, 0xF9, 0xFF, 0x07, 0xFB, 0xFF, 0x07, 0x1A, 0x00, 0x06, 0x1A, 0x00, 0x06, 0x18, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char Î + 0x0B, 0x00, 0x00, 0x00, 0x18, 0x00, 0x06, 0x1B, 0x00, 0x06, 0x1B, 0x00, 0x06, 0x1B, 0x00, 0x06, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xFB, 0xFF, 0x07, 0x1B, 0x00, 0x06, 0x1B, 0x00, 0x06, 0x18, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char Ï + 0x0B, 0x00, 0x0C, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x0C, 0x06, 0x18, 0x00, 0x06, 0x78, 0x80, 0x07, 0xF8, 0xFF, 0x07, 0xF0, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char Ð + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xFA, 0xFF, 0x07, 0xFB, 0x01, 0x00, 0xF1, 0x07, 0x00, 0x83, 0x3F, 0x00, 0x03, 0xFE, 0x00, 0x02, 0xF0, 0x03, 0x02, 0xC0, 0x07, 0xFB, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char Ñ + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x01, 0xFB, 0xFF, 0x07, 0xFA, 0xFF, 0x07, 0x1E, 0x00, 0x06, 0x1E, 0x00, 0x06, 0x1E, 0x00, 0x06, 0x1E, 0x00, 0x06, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF0, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char Ò + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x01, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x1E, 0x00, 0x06, 0x1E, 0x00, 0x06, 0x1E, 0x00, 0x06, 0x1E, 0x00, 0x06, 0xFA, 0xFF, 0x07, 0xFB, 0xFF, 0x07, 0xF0, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char Ó + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x01, 0xFC, 0xFF, 0x07, 0xFE, 0xFF, 0x07, 0x1F, 0x00, 0x06, 0x1B, 0x00, 0x06, 0x1B, 0x00, 0x06, 0x1F, 0x00, 0x06, 0xFE, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xF0, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char Ô + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x01, 0xFA, 0xFF, 0x07, 0xFB, 0xFF, 0x07, 0x19, 0x00, 0x06, 0x1B, 0x00, 0x06, 0x1B, 0x00, 0x06, 0x1A, 0x00, 0x06, 0xFA, 0xFF, 0x07, 0xFB, 0xFF, 0x07, 0xF0, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char Õ + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x01, 0xFB, 0xFF, 0x07, 0xFB, 0xFF, 0x07, 0x1B, 0x00, 0x06, 0x18, 0x00, 0x06, 0x18, 0x00, 0x06, 0x1B, 0x00, 0x06, 0xFB, 0xFF, 0x07, 0xFB, 0xFF, 0x07, 0xF0, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char Ö + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0xC0, 0x39, 0x00, 0x80, 0x1F, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x80, 0x1F, 0x00, 0xC0, 0x39, 0x00, 0x80, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char × + 0x0C, 0x00, 0x00, 0x08, 0xE0, 0xFF, 0x0D, 0xF8, 0xFF, 0x0F, 0xF8, 0xFF, 0x07, 0x18, 0xF0, 0x06, 0x18, 0x3C, 0x06, 0x18, 0x0E, 0x06, 0x98, 0x07, 0x06, 0xF8, 0x81, 0x07, 0xF8, 0xFF, 0x07, 0xFC, 0xFF, 0x03, 0x84, 0x7F, 0x00, // Code for char Ø + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x01, 0xFB, 0xFF, 0x07, 0xFA, 0xFF, 0x07, 0x06, 0x00, 0x06, 0x06, 0x00, 0x06, 0x06, 0x00, 0x06, 0x06, 0x00, 0x06, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char Ù + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x01, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0x06, 0x00, 0x06, 0x06, 0x00, 0x06, 0x06, 0x00, 0x06, 0x06, 0x00, 0x06, 0xFA, 0xFF, 0x07, 0xFB, 0xFF, 0x07, 0xF8, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char Ú + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x01, 0xFA, 0xFF, 0x07, 0xFA, 0xFF, 0x07, 0x03, 0x00, 0x06, 0x01, 0x00, 0x06, 0x01, 0x00, 0x06, 0x03, 0x00, 0x06, 0xFA, 0xFF, 0x07, 0xFA, 0xFF, 0x07, 0xF8, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char Û + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x01, 0xFB, 0xFF, 0x07, 0xFB, 0xFF, 0x07, 0x03, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x03, 0x00, 0x06, 0xFB, 0xFF, 0x07, 0xFB, 0xFF, 0x07, 0xF8, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char Ü + 0x0C, 0x08, 0x00, 0x00, 0x38, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x03, 0x00, 0xE6, 0xFF, 0x07, 0x06, 0xFF, 0x07, 0x06, 0xFE, 0x07, 0xC6, 0xFF, 0x07, 0xFA, 0x07, 0x00, 0xFB, 0x00, 0x00, 0x38, 0x00, 0x00, 0x08, 0x00, 0x00, // Code for char Ý + 0x0B, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xF8, 0xFF, 0x07, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0x00, 0xC0, 0xFF, 0x00, 0xC0, 0xFF, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, // Code for char Þ + 0x0C, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x06, 0x0C, 0x06, 0x06, 0x0C, 0x06, 0x06, 0xFC, 0x8F, 0x07, 0xFC, 0xFF, 0x07, 0xF8, 0xFD, 0x03, 0x00, 0x60, 0x00, // Code for char ß + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0xCC, 0xF8, 0x07, 0xCC, 0xF8, 0x07, 0xCC, 0x18, 0x06, 0xC8, 0x18, 0x06, 0xC8, 0x18, 0x06, 0xD8, 0x18, 0x06, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char à + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0xC0, 0xF8, 0x07, 0xC0, 0xF8, 0x07, 0xD8, 0x18, 0x06, 0xC8, 0x18, 0x06, 0xC8, 0x18, 0x06, 0xCC, 0x18, 0x06, 0xCC, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char á + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0xC8, 0xF8, 0x07, 0xC8, 0xF8, 0x07, 0xCC, 0x18, 0x06, 0xC4, 0x18, 0x06, 0xC4, 0x18, 0x06, 0xCC, 0x18, 0x06, 0xC8, 0xFF, 0x07, 0xC8, 0xFF, 0x07, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char â + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0xD8, 0xF8, 0x07, 0xCC, 0xF8, 0x07, 0xC4, 0x18, 0x06, 0xCC, 0x18, 0x06, 0xD8, 0x18, 0x06, 0xD8, 0x18, 0x06, 0xD8, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char ã + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0xCC, 0xF8, 0x07, 0xCC, 0xF8, 0x07, 0xCC, 0x18, 0x06, 0xC0, 0x18, 0x06, 0xC0, 0x18, 0x06, 0xCC, 0x18, 0x06, 0xCC, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char ä + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0xC0, 0xF8, 0x07, 0xCC, 0xF8, 0x07, 0xDE, 0x18, 0x06, 0xD2, 0x18, 0x06, 0xD2, 0x18, 0x06, 0xDE, 0x18, 0x06, 0xDE, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char å + 0x0C, 0x00, 0xE0, 0x01, 0xC0, 0xF8, 0x07, 0xC0, 0xF8, 0x07, 0xC0, 0x18, 0x06, 0xC0, 0x18, 0x06, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0x31, 0x07, 0xC0, 0x30, 0x06, 0xC0, 0x30, 0x06, 0xC0, 0x3F, 0x06, 0x80, 0x1F, 0x00, // Code for char æ + 0x0B, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0x00, 0x07, 0xC0, 0x00, 0xF6, 0xC0, 0x00, 0xF6, 0xC0, 0x00, 0x16, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char ç + 0x0B, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0xCC, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0xCC, 0x30, 0x06, 0xC8, 0x30, 0x06, 0xC8, 0x30, 0x06, 0xD8, 0x30, 0x06, 0xC0, 0x39, 0x06, 0xC0, 0x3F, 0x06, 0x80, 0x1F, 0x00, 0x00, 0x00, 0x00, // Code for char è + 0x0B, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xD8, 0x30, 0x06, 0xC8, 0x30, 0x06, 0xC8, 0x30, 0x06, 0xCC, 0x30, 0x06, 0xCC, 0x39, 0x06, 0xCC, 0x3F, 0x06, 0x80, 0x1F, 0x00, 0x00, 0x00, 0x00, // Code for char é + 0x0B, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0xC8, 0xFF, 0x07, 0xC8, 0xFF, 0x07, 0xCC, 0x30, 0x06, 0xC4, 0x30, 0x06, 0xC4, 0x30, 0x06, 0xCC, 0x30, 0x06, 0xC8, 0x39, 0x06, 0xC8, 0x3F, 0x06, 0x80, 0x1F, 0x00, 0x00, 0x00, 0x00, // Code for char ê + 0x0B, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0xCC, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0xCC, 0x30, 0x06, 0xC0, 0x30, 0x06, 0xC0, 0x30, 0x06, 0xCC, 0x30, 0x06, 0xCC, 0x39, 0x06, 0xCC, 0x3F, 0x06, 0x80, 0x1F, 0x00, 0x00, 0x00, 0x00, // Code for char ë + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x06, 0xCC, 0x00, 0x06, 0xCC, 0x00, 0x06, 0xCC, 0x00, 0x06, 0xC8, 0xFF, 0x07, 0xC8, 0xFF, 0x07, 0xD8, 0xFF, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char ì + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xD8, 0x00, 0x06, 0xC8, 0x00, 0x06, 0xC8, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0x0C, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char í + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x06, 0xC8, 0x00, 0x06, 0xC8, 0x00, 0x06, 0xCC, 0x00, 0x06, 0xC4, 0xFF, 0x07, 0xC4, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0x08, 0x00, 0x06, 0x08, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char î + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x06, 0xCC, 0x00, 0x06, 0xCC, 0x00, 0x06, 0xCC, 0x00, 0x06, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // Code for char ï + 0x0B, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0xCC, 0x00, 0x06, 0xCC, 0x00, 0x06, 0xCC, 0x00, 0x06, 0xCC, 0x00, 0x06, 0xFC, 0xFF, 0x07, 0xFC, 0xFF, 0x07, 0xF8, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char ð + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x07, 0xD8, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0xC4, 0x00, 0x00, 0xCC, 0x00, 0x00, 0xD8, 0x00, 0x00, 0xD8, 0x00, 0x00, 0xD8, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char ñ + 0x0C, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0xCC, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0xCC, 0x00, 0x06, 0xC8, 0x00, 0x06, 0xC8, 0x00, 0x06, 0xD8, 0x00, 0x06, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0xFE, 0x00, // Code for char ò + 0x0C, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xD8, 0x00, 0x06, 0xC8, 0x00, 0x06, 0xC8, 0x00, 0x06, 0xCC, 0x00, 0x06, 0xCC, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0xFE, 0x00, // Code for char ó + 0x0C, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0xC8, 0xFF, 0x07, 0xC8, 0xFF, 0x07, 0xCC, 0x00, 0x06, 0xC4, 0x00, 0x06, 0xC4, 0x00, 0x06, 0xCC, 0x00, 0x06, 0xC8, 0xFF, 0x07, 0xC8, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0xFE, 0x00, // Code for char ô + 0x0C, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0xD8, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0xC4, 0x00, 0x06, 0xCC, 0x00, 0x06, 0xD8, 0x00, 0x06, 0xD8, 0x00, 0x06, 0xD8, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0xFE, 0x00, // Code for char õ + 0x0C, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x03, 0xCC, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0xCC, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xCC, 0x00, 0x06, 0xCC, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0xFE, 0x00, // Code for char ö + 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x60, 0x66, 0x00, 0x60, 0x66, 0x00, 0x60, 0x66, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, // Code for char ÷ + 0x0C, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x0B, 0xC0, 0xFF, 0x0F, 0xC0, 0xFF, 0x07, 0xC0, 0xE0, 0x07, 0xC0, 0x78, 0x06, 0xC0, 0x1E, 0x06, 0xC0, 0x07, 0x06, 0xE0, 0xFF, 0x07, 0xF0, 0xFF, 0x07, 0xB0, 0xFF, 0x03, 0x00, 0xFE, 0x00, // Code for char ø + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x03, 0xCC, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0x0C, 0x00, 0x06, 0x08, 0x00, 0x06, 0x08, 0x00, 0x06, 0x18, 0x00, 0x06, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char ù + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x18, 0x00, 0x06, 0x08, 0x00, 0x06, 0x08, 0x00, 0x06, 0x0C, 0x00, 0x06, 0xCC, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char ú + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x03, 0xC8, 0xFF, 0x07, 0xC8, 0xFF, 0x07, 0x0C, 0x00, 0x06, 0x04, 0x00, 0x06, 0x04, 0x00, 0x06, 0x0C, 0x00, 0x06, 0xC8, 0xFF, 0x07, 0xC8, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char û + 0x0B, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x03, 0xCC, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0x0C, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x0C, 0x00, 0x06, 0xCC, 0xFF, 0x07, 0xCC, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x00, 0x00, 0x00, // Code for char ü + 0x0C, 0x40, 0x00, 0x00, 0xC0, 0x01, 0x00, 0xC0, 0x0F, 0x00, 0xC0, 0x7F, 0xC0, 0x18, 0xFE, 0xF3, 0x08, 0xF0, 0xFF, 0x08, 0xC0, 0x1F, 0x0C, 0xF0, 0x07, 0x0C, 0xFF, 0x00, 0xCC, 0x1F, 0x00, 0xC0, 0x03, 0x00, 0x40, 0x00, 0x00, // Code for char ý + 0x0B, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0x00, 0x06, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0x00, 0x00, // Code for char þ + 0x0C, 0x40, 0x00, 0x00, 0xC0, 0x01, 0x00, 0xCC, 0x0F, 0x00, 0xCC, 0x7F, 0xC0, 0x0C, 0xFE, 0xF3, 0x00, 0xF0, 0xFF, 0x00, 0xC0, 0x1F, 0x0C, 0xF0, 0x07, 0x0C, 0xFF, 0x00, 0xCC, 0x1F, 0x00, 0xC0, 0x03, 0x00, 0x40, 0x00, 0x00 // Code for char ÿ + }; + diff --git a/ili9341/fonts/Wendy7x8.c b/ili9341/fonts/Wendy7x8.c new file mode 100644 index 0000000..91200bd --- /dev/null +++ b/ili9341/fonts/Wendy7x8.c @@ -0,0 +1,111 @@ + +//WARNING: This Font Require X-GLCD Lib. +// You can not use it with MikroE GLCD Lib. + +//Font Generated by MikroElektronika GLCD Font Creator 1.2.0.0 +//MikroElektronika 2011 +//http://www.mikroe.com + +//GLCD FontName : wendy7x8 +//Based on a font by Wendy - fricky@gmail.com +//GLCD FontSize : 7 x 8 + +const unsigned short wendy7x8[] = { + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char + 0x01, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ! + 0x03, 0x0C, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, // Code for char " + 0x05, 0x60, 0x7C, 0x04, 0x64, 0x7C, 0x00, 0x00, // Code for char # + 0x03, 0x5C, 0xFE, 0x74, 0x00, 0x00, 0x00, 0x00, // Code for char $ + 0x04, 0x48, 0x20, 0x10, 0x48, 0x00, 0x00, 0x00, // Code for char % + 0x03, 0x10, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, // Code for char & + 0x01, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ' + 0x02, 0x38, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ( + 0x02, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ) + 0x07, 0x08, 0x1C, 0x3C, 0x78, 0x3C, 0x1C, 0x08, // Code for char * + 0x03, 0x10, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, // Code for char + + 0x01, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char , + 0x03, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, // Code for char - + 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char . + 0x03, 0x60, 0x10, 0x0C, 0x00, 0x00, 0x00, 0x00, // Code for char / + 0x03, 0x7C, 0x44, 0x7C, 0x00, 0x00, 0x00, 0x00, // Code for char 0 + 0x01, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 1 + 0x03, 0x74, 0x54, 0x5C, 0x00, 0x00, 0x00, 0x00, // Code for char 2 + 0x03, 0x54, 0x54, 0x7C, 0x00, 0x00, 0x00, 0x00, // Code for char 3 + 0x03, 0x3C, 0x20, 0x78, 0x00, 0x00, 0x00, 0x00, // Code for char 4 + 0x03, 0x5C, 0x54, 0x74, 0x00, 0x00, 0x00, 0x00, // Code for char 5 + 0x03, 0x7C, 0x54, 0x74, 0x00, 0x00, 0x00, 0x00, // Code for char 6 + 0x03, 0x04, 0x04, 0x7C, 0x00, 0x00, 0x00, 0x00, // Code for char 7 + 0x03, 0x7C, 0x54, 0x7C, 0x00, 0x00, 0x00, 0x00, // Code for char 8 + 0x03, 0x5C, 0x54, 0x7C, 0x00, 0x00, 0x00, 0x00, // Code for char 9 + 0x01, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char : + 0x01, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ; + 0x03, 0x10, 0x28, 0x44, 0x00, 0x00, 0x00, 0x00, // Code for char < + 0x02, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char = + 0x03, 0x44, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, // Code for char > + 0x03, 0x5A, 0x0A, 0x0E, 0x00, 0x00, 0x00, 0x00, // Code for char ? + 0x05, 0x7E, 0x42, 0x5A, 0x52, 0x5E, 0x00, 0x00, // Code for char @ + 0x03, 0x7C, 0x14, 0x7C, 0x00, 0x00, 0x00, 0x00, // Code for char A + 0x03, 0x7C, 0x54, 0x6C, 0x00, 0x00, 0x00, 0x00, // Code for char B + 0x03, 0x7C, 0x44, 0x44, 0x00, 0x00, 0x00, 0x00, // Code for char C + 0x03, 0x7C, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, // Code for char D + 0x03, 0x7C, 0x54, 0x54, 0x00, 0x00, 0x00, 0x00, // Code for char E + 0x03, 0x7C, 0x14, 0x04, 0x00, 0x00, 0x00, 0x00, // Code for char F + 0x03, 0x7C, 0x44, 0x74, 0x00, 0x00, 0x00, 0x00, // Code for char G + 0x03, 0x7C, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x00, // Code for char H + 0x01, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char I + 0x03, 0x40, 0x40, 0x7C, 0x00, 0x00, 0x00, 0x00, // Code for char J + 0x03, 0x7C, 0x10, 0x6C, 0x00, 0x00, 0x00, 0x00, // Code for char K + 0x03, 0x7C, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, // Code for char L + 0x05, 0x7C, 0x04, 0x38, 0x04, 0x7C, 0x00, 0x00, // Code for char M + 0x03, 0x7C, 0x04, 0x7C, 0x00, 0x00, 0x00, 0x00, // Code for char N + 0x03, 0x7C, 0x44, 0x7C, 0x00, 0x00, 0x00, 0x00, // Code for char O + 0x03, 0x7C, 0x14, 0x1C, 0x00, 0x00, 0x00, 0x00, // Code for char P + 0x03, 0x1C, 0x14, 0x7C, 0x00, 0x00, 0x00, 0x00, // Code for char Q + 0x03, 0x7C, 0x14, 0x6C, 0x00, 0x00, 0x00, 0x00, // Code for char R + 0x03, 0x5C, 0x54, 0x74, 0x00, 0x00, 0x00, 0x00, // Code for char S + 0x03, 0x04, 0x7C, 0x04, 0x00, 0x00, 0x00, 0x00, // Code for char T + 0x03, 0x7C, 0x40, 0x7C, 0x00, 0x00, 0x00, 0x00, // Code for char U + 0x03, 0x3C, 0x40, 0x3C, 0x00, 0x00, 0x00, 0x00, // Code for char V + 0x05, 0x7C, 0x40, 0x30, 0x40, 0x7C, 0x00, 0x00, // Code for char W + 0x03, 0x6C, 0x10, 0x6C, 0x00, 0x00, 0x00, 0x00, // Code for char X + 0x03, 0x5C, 0x50, 0x7C, 0x00, 0x00, 0x00, 0x00, // Code for char Y + 0x03, 0x64, 0x54, 0x4C, 0x00, 0x00, 0x00, 0x00, // Code for char Z + 0x02, 0x7C, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char [ + 0x03, 0x0C, 0x10, 0x60, 0x00, 0x00, 0x00, 0x00, // Code for char BackSlash + 0x02, 0x44, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ] + 0x01, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ^ + 0x03, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, // Code for char _ + 0x01, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ` + 0x03, 0x7C, 0x14, 0x7C, 0x00, 0x00, 0x00, 0x00, // Code for char a + 0x03, 0x7C, 0x54, 0x6C, 0x00, 0x00, 0x00, 0x00, // Code for char b + 0x03, 0x7C, 0x44, 0x44, 0x00, 0x00, 0x00, 0x00, // Code for char c + 0x03, 0x7C, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, // Code for char d + 0x03, 0x7C, 0x54, 0x54, 0x00, 0x00, 0x00, 0x00, // Code for char e + 0x03, 0x7C, 0x14, 0x04, 0x00, 0x00, 0x00, 0x00, // Code for char f + 0x03, 0x7C, 0x44, 0x74, 0x00, 0x00, 0x00, 0x00, // Code for char g + 0x03, 0x7C, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x00, // Code for char h + 0x01, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char i + 0x03, 0x40, 0x40, 0x7C, 0x00, 0x00, 0x00, 0x00, // Code for char j + 0x03, 0x7C, 0x10, 0x6C, 0x00, 0x00, 0x00, 0x00, // Code for char k + 0x03, 0x7C, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, // Code for char l + 0x05, 0x7C, 0x04, 0x38, 0x04, 0x7C, 0x00, 0x00, // Code for char m + 0x03, 0x7C, 0x04, 0x7C, 0x00, 0x00, 0x00, 0x00, // Code for char n + 0x03, 0x7C, 0x44, 0x7C, 0x00, 0x00, 0x00, 0x00, // Code for char o + 0x03, 0x7C, 0x14, 0x1C, 0x00, 0x00, 0x00, 0x00, // Code for char p + 0x03, 0x1C, 0x14, 0x7C, 0x00, 0x00, 0x00, 0x00, // Code for char q + 0x03, 0x7C, 0x14, 0x6C, 0x00, 0x00, 0x00, 0x00, // Code for char r + 0x03, 0x5C, 0x54, 0x74, 0x00, 0x00, 0x00, 0x00, // Code for char s + 0x03, 0x04, 0x7C, 0x04, 0x00, 0x00, 0x00, 0x00, // Code for char t + 0x03, 0x7C, 0x40, 0x7C, 0x00, 0x00, 0x00, 0x00, // Code for char u + 0x03, 0x3C, 0x40, 0x3C, 0x00, 0x00, 0x00, 0x00, // Code for char v + 0x05, 0x7C, 0x40, 0x30, 0x40, 0x7C, 0x00, 0x00, // Code for char w + 0x03, 0x6C, 0x10, 0x6C, 0x00, 0x00, 0x00, 0x00, // Code for char x + 0x03, 0x5C, 0x50, 0x7C, 0x00, 0x00, 0x00, 0x00, // Code for char y + 0x03, 0x64, 0x54, 0x4C, 0x00, 0x00, 0x00, 0x00, // Code for char z + 0x01, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char { + 0x01, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char | + 0x01, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char } + 0x04, 0x10, 0x08, 0x10, 0x08, 0x00, 0x00, 0x00, // Code for char ~ + 0x03, 0x7E, 0x42, 0x7E, 0x00, 0x00, 0x00, 0x00 // Code for char  + }; + diff --git a/ili9341/ili9341.py b/ili9341/ili9341.py new file mode 100644 index 0000000..5fd9118 --- /dev/null +++ b/ili9341/ili9341.py @@ -0,0 +1,1056 @@ +"""ILI9341 LCD/Touch module.""" +from time import sleep +from math import cos, sin, pi, radians +from sys import implementation +from framebuf import FrameBuffer, RGB565 # type: ignore + + +def color565(r, g, b): + """Return RGB565 color value. + + Args: + r (int): Red value. + g (int): Green value. + b (int): Blue value. + """ + return (r & 0xf8) << 8 | (g & 0xfc) << 3 | b >> 3 + + +class Display(object): + """Serial interface for 16-bit color (5-6-5 RGB) IL9341 display. + + Note: All coordinates are zero based. + """ + + # Command constants from ILI9341 datasheet + NOP = const(0x00) # No-op + SWRESET = const(0x01) # Software reset + RDDID = const(0x04) # Read display ID info + RDDST = const(0x09) # Read display status + SLPIN = const(0x10) # Enter sleep mode + SLPOUT = const(0x11) # Exit sleep mode + PTLON = const(0x12) # Partial mode on + NORON = const(0x13) # Normal display mode on + RDMODE = const(0x0A) # Read display power mode + RDMADCTL = const(0x0B) # Read display MADCTL + RDPIXFMT = const(0x0C) # Read display pixel format + RDIMGFMT = const(0x0D) # Read display image format + RDSELFDIAG = const(0x0F) # Read display self-diagnostic + INVOFF = const(0x20) # Display inversion off + INVON = const(0x21) # Display inversion on + GAMMASET = const(0x26) # Gamma set + DISPLAY_OFF = const(0x28) # Display off + DISPLAY_ON = const(0x29) # Display on + SET_COLUMN = const(0x2A) # Column address set + SET_PAGE = const(0x2B) # Page address set + WRITE_RAM = const(0x2C) # Memory write + READ_RAM = const(0x2E) # Memory read + PTLAR = const(0x30) # Partial area + VSCRDEF = const(0x33) # Vertical scrolling definition + MADCTL = const(0x36) # Memory access control + VSCRSADD = const(0x37) # Vertical scrolling start address + PIXFMT = const(0x3A) # COLMOD: Pixel format set + WRITE_DISPLAY_BRIGHTNESS = const(0x51) # Brightness hardware dependent! + READ_DISPLAY_BRIGHTNESS = const(0x52) + WRITE_CTRL_DISPLAY = const(0x53) + READ_CTRL_DISPLAY = const(0x54) + WRITE_CABC = const(0x55) # Write Content Adaptive Brightness Control + READ_CABC = const(0x56) # Read Content Adaptive Brightness Control + WRITE_CABC_MINIMUM = const(0x5E) # Write CABC Minimum Brightness + READ_CABC_MINIMUM = const(0x5F) # Read CABC Minimum Brightness + FRMCTR1 = const(0xB1) # Frame rate control (In normal mode/full colors) + FRMCTR2 = const(0xB2) # Frame rate control (In idle mode/8 colors) + FRMCTR3 = const(0xB3) # Frame rate control (In partial mode/full colors) + INVCTR = const(0xB4) # Display inversion control + DFUNCTR = const(0xB6) # Display function control + PWCTR1 = const(0xC0) # Power control 1 + PWCTR2 = const(0xC1) # Power control 2 + PWCTRA = const(0xCB) # Power control A + PWCTRB = const(0xCF) # Power control B + VMCTR1 = const(0xC5) # VCOM control 1 + VMCTR2 = const(0xC7) # VCOM control 2 + RDID1 = const(0xDA) # Read ID 1 + RDID2 = const(0xDB) # Read ID 2 + RDID3 = const(0xDC) # Read ID 3 + RDID4 = const(0xDD) # Read ID 4 + GMCTRP1 = const(0xE0) # Positive gamma correction + GMCTRN1 = const(0xE1) # Negative gamma correction + DTCA = const(0xE8) # Driver timing control A + DTCB = const(0xEA) # Driver timing control B + POSC = const(0xED) # Power on sequence control + ENABLE3G = const(0xF2) # Enable 3 gamma control + PUMPRC = const(0xF7) # Pump ratio control + + ROTATE = { + 0: 0x88, + 90: 0xE8, + 180: 0x48, + 270: 0x28 + } + + def __init__(self, spi, cs, dc, rst, + width=240, height=320, rotation=0): + """Initialize OLED. + + Args: + spi (Class Spi): SPI interface for OLED + cs (Class Pin): Chip select pin + dc (Class Pin): Data/Command pin + rst (Class Pin): Reset pin + width (Optional int): Screen width (default 240) + height (Optional int): Screen height (default 320) + rotation (Optional int): Rotation must be 0 default, 90. 180 or 270 + """ + self.spi = spi + self.cs = cs + self.dc = dc + self.rst = rst + self.width = width + self.height = height + if rotation not in self.ROTATE.keys(): + raise RuntimeError('Rotation must be 0, 90, 180 or 270.') + else: + self.rotation = self.ROTATE[rotation] + + # Initialize GPIO pins and set implementation specific methods + if implementation.name == 'circuitpython': + self.cs.switch_to_output(value=True) + self.dc.switch_to_output(value=False) + self.rst.switch_to_output(value=True) + self.reset = self.reset_cpy + self.write_cmd = self.write_cmd_cpy + self.write_data = self.write_data_cpy + else: + self.cs.init(self.cs.OUT, value=1) + self.dc.init(self.dc.OUT, value=0) + self.rst.init(self.rst.OUT, value=1) + self.reset = self.reset_mpy + self.write_cmd = self.write_cmd_mpy + self.write_data = self.write_data_mpy + self.reset() + # Send initialization commands + self.write_cmd(self.SWRESET) # Software reset + sleep(.1) + self.write_cmd(self.PWCTRB, 0x00, 0xC1, 0x30) # Pwr ctrl B + self.write_cmd(self.POSC, 0x64, 0x03, 0x12, 0x81) # Pwr on seq. ctrl + self.write_cmd(self.DTCA, 0x85, 0x00, 0x78) # Driver timing ctrl A + self.write_cmd(self.PWCTRA, 0x39, 0x2C, 0x00, 0x34, 0x02) # Pwr ctrl A + self.write_cmd(self.PUMPRC, 0x20) # Pump ratio control + self.write_cmd(self.DTCB, 0x00, 0x00) # Driver timing ctrl B + self.write_cmd(self.PWCTR1, 0x23) # Pwr ctrl 1 + self.write_cmd(self.PWCTR2, 0x10) # Pwr ctrl 2 + self.write_cmd(self.VMCTR1, 0x3E, 0x28) # VCOM ctrl 1 + self.write_cmd(self.VMCTR2, 0x86) # VCOM ctrl 2 + self.write_cmd(self.MADCTL, self.rotation) # Memory access ctrl + self.write_cmd(self.VSCRSADD, 0x00) # Vertical scrolling start address + self.write_cmd(self.PIXFMT, 0x55) # COLMOD: Pixel format + self.write_cmd(self.FRMCTR1, 0x00, 0x18) # Frame rate ctrl + self.write_cmd(self.DFUNCTR, 0x08, 0x82, 0x27) + self.write_cmd(self.ENABLE3G, 0x00) # Enable 3 gamma ctrl + self.write_cmd(self.GAMMASET, 0x01) # Gamma curve selected + self.write_cmd(self.GMCTRP1, 0x0F, 0x31, 0x2B, 0x0C, 0x0E, 0x08, 0x4E, + 0xF1, 0x37, 0x07, 0x10, 0x03, 0x0E, 0x09, 0x00) + self.write_cmd(self.GMCTRN1, 0x00, 0x0E, 0x14, 0x03, 0x11, 0x07, 0x31, + 0xC1, 0x48, 0x08, 0x0F, 0x0C, 0x31, 0x36, 0x0F) + self.write_cmd(self.SLPOUT) # Exit sleep + sleep(.1) + self.write_cmd(self.DISPLAY_ON) # Display on + sleep(.1) + self.clear() + + def block(self, x0, y0, x1, y1, data): + """Write a block of data to display. + + Args: + x0 (int): Starting X position. + y0 (int): Starting Y position. + x1 (int): Ending X position. + y1 (int): Ending Y position. + data (bytes): Data buffer to write. + """ + self.write_cmd(self.SET_COLUMN, + x0 >> 8, x0 & 0xff, x1 >> 8, x1 & 0xff) + self.write_cmd(self.SET_PAGE, + y0 >> 8, y0 & 0xff, y1 >> 8, y1 & 0xff) + self.write_cmd(self.WRITE_RAM) + self.write_data(data) + + def cleanup(self): + """Clean up resources.""" + self.clear() + self.display_off() + self.spi.deinit() + print('display off') + + def clear(self, color=0, hlines=8): + """Clear display. + + Args: + color (Optional int): RGB565 color value (Default: 0 = Black). + hlines (Optional int): # of horizontal lines per chunk (Default: 8) + Note: + hlines was introduced to deal with memory allocation on some + boards. Smaller values allocate less memory but take longer + to execute. hlines must be a factor of the display height. + For example, for a 240 pixel height, valid values for hline + would be 1, 2, 4, 5, 8, 10, 16, 20, 32, 40, 64, 80, 160. + Higher values may result in memory allocation errors. + """ + w = self.width + h = self.height + assert hlines > 0 and h % hlines == 0, ( + "hlines must be a non-zero factor of height.") + # Clear display + if color: + line = color.to_bytes(2, 'big') * (w * hlines) + else: + line = bytearray(w * 2 * hlines) + for y in range(0, h, hlines): + self.block(0, y, w - 1, y + hlines - 1, line) + + def display_off(self): + """Turn display off.""" + self.write_cmd(self.DISPLAY_OFF) + + def display_on(self): + """Turn display on.""" + self.write_cmd(self.DISPLAY_ON) + + def draw_circle(self, x0, y0, r, color): + """Draw a circle. + + Args: + x0 (int): X coordinate of center point. + y0 (int): Y coordinate of center point. + r (int): Radius. + color (int): RGB565 color value. + """ + f = 1 - r + dx = 1 + dy = -r - r + x = 0 + y = r + self.draw_pixel(x0, y0 + r, color) + self.draw_pixel(x0, y0 - r, color) + self.draw_pixel(x0 + r, y0, color) + self.draw_pixel(x0 - r, y0, color) + while x < y: + if f >= 0: + y -= 1 + dy += 2 + f += dy + x += 1 + dx += 2 + f += dx + self.draw_pixel(x0 + x, y0 + y, color) + self.draw_pixel(x0 - x, y0 + y, color) + self.draw_pixel(x0 + x, y0 - y, color) + self.draw_pixel(x0 - x, y0 - y, color) + self.draw_pixel(x0 + y, y0 + x, color) + self.draw_pixel(x0 - y, y0 + x, color) + self.draw_pixel(x0 + y, y0 - x, color) + self.draw_pixel(x0 - y, y0 - x, color) + + def draw_ellipse(self, x0, y0, a, b, color): + """Draw an ellipse. + + Args: + x0, y0 (int): Coordinates of center point. + a (int): Semi axis horizontal. + b (int): Semi axis vertical. + color (int): RGB565 color value. + Note: + The center point is the center of the x0,y0 pixel. + Since pixels are not divisible, the axes are integer rounded + up to complete on a full pixel. Therefore the major and + minor axes are increased by 1. + """ + a2 = a * a + b2 = b * b + twoa2 = a2 + a2 + twob2 = b2 + b2 + x = 0 + y = b + px = 0 + py = twoa2 * y + # Plot initial points + self.draw_pixel(x0 + x, y0 + y, color) + self.draw_pixel(x0 - x, y0 + y, color) + self.draw_pixel(x0 + x, y0 - y, color) + self.draw_pixel(x0 - x, y0 - y, color) + # Region 1 + p = round(b2 - (a2 * b) + (0.25 * a2)) + while px < py: + x += 1 + px += twob2 + if p < 0: + p += b2 + px + else: + y -= 1 + py -= twoa2 + p += b2 + px - py + self.draw_pixel(x0 + x, y0 + y, color) + self.draw_pixel(x0 - x, y0 + y, color) + self.draw_pixel(x0 + x, y0 - y, color) + self.draw_pixel(x0 - x, y0 - y, color) + # Region 2 + p = round(b2 * (x + 0.5) * (x + 0.5) + + a2 * (y - 1) * (y - 1) - a2 * b2) + while y > 0: + y -= 1 + py -= twoa2 + if p > 0: + p += a2 - py + else: + x += 1 + px += twob2 + p += a2 - py + px + self.draw_pixel(x0 + x, y0 + y, color) + self.draw_pixel(x0 - x, y0 + y, color) + self.draw_pixel(x0 + x, y0 - y, color) + self.draw_pixel(x0 - x, y0 - y, color) + + def draw_hline(self, x, y, w, color): + """Draw a horizontal line. + + Args: + x (int): Starting X position. + y (int): Starting Y position. + w (int): Width of line. + color (int): RGB565 color value. + """ + if self.is_off_grid(x, y, x + w - 1, y): + return + line = color.to_bytes(2, 'big') * w + self.block(x, y, x + w - 1, y, line) + + def draw_image(self, path, x=0, y=0, w=320, h=240): + """Draw image from flash. + + Args: + path (string): Image file path. + x (int): X coordinate of image left. Default is 0. + y (int): Y coordinate of image top. Default is 0. + w (int): Width of image. Default is 320. + h (int): Height of image. Default is 240. + """ + x2 = x + w - 1 + y2 = y + h - 1 + if self.is_off_grid(x, y, x2, y2): + return + with open(path, "rb") as f: + chunk_height = 1024 // w + chunk_count, remainder = divmod(h, chunk_height) + chunk_size = chunk_height * w * 2 + chunk_y = y + if chunk_count: + for c in range(0, chunk_count): + buf = f.read(chunk_size) + self.block(x, chunk_y, + x2, chunk_y + chunk_height - 1, + buf) + chunk_y += chunk_height + if remainder: + buf = f.read(remainder * w * 2) + self.block(x, chunk_y, + x2, chunk_y + remainder - 1, + buf) + + def draw_letter(self, x, y, letter, font, color, background=0, + landscape=False, rotate_180=False): + """Draw a letter. + + Args: + x (int): Starting X position. + y (int): Starting Y position. + letter (string): Letter to draw. + font (XglcdFont object): Font. + color (int): RGB565 color value. + background (int): RGB565 background color (default: black) + landscape (bool): Orientation (default: False = portrait) + rotate_180 (bool): Rotate text by 180 degrees + """ + buf, w, h = font.get_letter(letter, color, background, landscape) + if rotate_180: + # Manually rotate the buffer by 180 degrees + # ensure bytes pairs for each pixel retain color565 + new_buf = bytearray(len(buf)) + num_pixels = len(buf) // 2 + for i in range(num_pixels): + # The index for the new buffer's byte pair + new_idx = (num_pixels - 1 - i) * 2 + # The index for the original buffer's byte pair + old_idx = i * 2 + # Swap the pixels + new_buf[new_idx], new_buf[new_idx + 1] = buf[old_idx], buf[old_idx + 1] + buf = new_buf + + # Check for errors (Font could be missing specified letter) + if w == 0: + return w, h + + if landscape: + y -= w + if self.is_off_grid(x, y, x + h - 1, y + w - 1): + return 0, 0 + self.block(x, y, + x + h - 1, y + w - 1, + buf) + else: + if self.is_off_grid(x, y, x + w - 1, y + h - 1): + return 0, 0 + self.block(x, y, + x + w - 1, y + h - 1, + buf) + return w, h + + def draw_line(self, x1, y1, x2, y2, color): + """Draw a line using Bresenham's algorithm. + + Args: + x1, y1 (int): Starting coordinates of the line + x2, y2 (int): Ending coordinates of the line + color (int): RGB565 color value. + """ + # Check for horizontal line + if y1 == y2: + if x1 > x2: + x1, x2 = x2, x1 + self.draw_hline(x1, y1, x2 - x1 + 1, color) + return + # Check for vertical line + if x1 == x2: + if y1 > y2: + y1, y2 = y2, y1 + self.draw_vline(x1, y1, y2 - y1 + 1, color) + return + # Confirm coordinates in boundary + if self.is_off_grid(min(x1, x2), min(y1, y2), + max(x1, x2), max(y1, y2)): + return + # Changes in x, y + dx = x2 - x1 + dy = y2 - y1 + # Determine how steep the line is + is_steep = abs(dy) > abs(dx) + # Rotate line + if is_steep: + x1, y1 = y1, x1 + x2, y2 = y2, x2 + # Swap start and end points if necessary + if x1 > x2: + x1, x2 = x2, x1 + y1, y2 = y2, y1 + # Recalculate differentials + dx = x2 - x1 + dy = y2 - y1 + # Calculate error + error = dx >> 1 + ystep = 1 if y1 < y2 else -1 + y = y1 + for x in range(x1, x2 + 1): + # Had to reverse HW ???? + if not is_steep: + self.draw_pixel(x, y, color) + else: + self.draw_pixel(y, x, color) + error -= abs(dy) + if error < 0: + y += ystep + error += dx + + def draw_lines(self, coords, color): + """Draw multiple lines. + + Args: + coords ([[int, int],...]): Line coordinate X, Y pairs + color (int): RGB565 color value. + """ + # Starting point + x1, y1 = coords[0] + # Iterate through coordinates + for i in range(1, len(coords)): + x2, y2 = coords[i] + self.draw_line(x1, y1, x2, y2, color) + x1, y1 = x2, y2 + + def draw_pixel(self, x, y, color): + """Draw a single pixel. + + Args: + x (int): X position. + y (int): Y position. + color (int): RGB565 color value. + """ + if self.is_off_grid(x, y, x, y): + return + self.block(x, y, x, y, color.to_bytes(2, 'big')) + + def draw_polygon(self, sides, x0, y0, r, color, rotate=0): + """Draw an n-sided regular polygon. + + Args: + sides (int): Number of polygon sides. + x0, y0 (int): Coordinates of center point. + r (int): Radius. + color (int): RGB565 color value. + rotate (Optional float): Rotation in degrees relative to origin. + Note: + The center point is the center of the x0,y0 pixel. + Since pixels are not divisible, the radius is integer rounded + up to complete on a full pixel. Therefore diameter = 2 x r + 1. + """ + coords = [] + theta = radians(rotate) + n = sides + 1 + for s in range(n): + t = 2.0 * pi * s / sides + theta + coords.append([int(r * cos(t) + x0), int(r * sin(t) + y0)]) + + # Cast to python float first to fix rounding errors + self.draw_lines(coords, color=color) + + def draw_rectangle(self, x, y, w, h, color): + """Draw a rectangle. + + Args: + x (int): Starting X position. + y (int): Starting Y position. + w (int): Width of rectangle. + h (int): Height of rectangle. + color (int): RGB565 color value. + """ + x2 = x + w - 1 + y2 = y + h - 1 + self.draw_hline(x, y, w, color) + self.draw_hline(x, y2, w, color) + self.draw_vline(x, y, h, color) + self.draw_vline(x2, y, h, color) + + def draw_sprite(self, buf, x, y, w, h): + """Draw a sprite (optimized for horizontal drawing). + + Args: + buf (bytearray): Buffer to draw. + x (int): Starting X position. + y (int): Starting Y position. + w (int): Width of drawing. + h (int): Height of drawing. + """ + x2 = x + w - 1 + y2 = y + h - 1 + if self.is_off_grid(x, y, x2, y2): + return + self.block(x, y, x2, y2, buf) + + def draw_text(self, x, y, text, font, color, background=0, + landscape=False, rotate_180=False, spacing=1): + """Draw text. + + Args: + x (int): Starting X position + y (int): Starting Y position + text (string): Text to draw + font (XglcdFont object): Font + color (int): RGB565 color value + background (int): RGB565 background color (default: black) + landscape (bool): Orientation (default: False = portrait) + rotate_180 (bool): Rotate text by 180 degrees + spacing (int): Pixels between letters (default: 1) + """ + iterable_text = reversed(text) if rotate_180 else text + for letter in iterable_text: + # Get letter array and letter dimensions + w, h = self.draw_letter(x, y, letter, font, color, background, + landscape, rotate_180) + # Stop on error + if w == 0 or h == 0: + print('Invalid width {0} or height {1}'.format(w, h)) + return + + if landscape: + # Fill in spacing + if spacing: + self.fill_hrect(x, y - w - spacing, h, spacing, background) + # Position y for next letter + y -= (w + spacing) + else: + # Fill in spacing + if spacing: + self.fill_hrect(x + w, y, spacing, h, background) + # Position x for next letter + x += (w + spacing) + + # # Fill in spacing + # if spacing: + # self.fill_vrect(x + w, y, spacing, h, background) + # # Position x for next letter + # x += w + spacing + + def draw_text8x8(self, x, y, text, color, background=0, + rotate=0): + """Draw text using built-in MicroPython 8x8 bit font. + + Args: + x (int): Starting X position. + y (int): Starting Y position. + text (string): Text to draw. + color (int): RGB565 color value. + background (int): RGB565 background color (default: black). + rotate(int): 0, 90, 180, 270 + """ + w = len(text) * 8 + h = 8 + # Confirm coordinates in boundary + if self.is_off_grid(x, y, x + 7, y + 7): + return + # Rearrange color + r = (color & 0xF800) >> 8 + g = (color & 0x07E0) >> 3 + b = (color & 0x1F) << 3 + buf = bytearray(w * 16) + fbuf = FrameBuffer(buf, w, h, RGB565) + if background != 0: + bg_r = (background & 0xF800) >> 8 + bg_g = (background & 0x07E0) >> 3 + bg_b = (background & 0x1F) << 3 + fbuf.fill(color565(bg_b, bg_r, bg_g)) + fbuf.text(text, 0, 0, color565(b, r, g)) + if rotate == 0: + self.block(x, y, x + w - 1, y + (h - 1), buf) + elif rotate == 90: + buf2 = bytearray(w * 16) + fbuf2 = FrameBuffer(buf2, h, w, RGB565) + for y1 in range(h): + for x1 in range(w): + fbuf2.pixel(y1, x1, + fbuf.pixel(x1, (h - 1) - y1)) + self.block(x, y, x + (h - 1), y + w - 1, buf2) + elif rotate == 180: + buf2 = bytearray(w * 16) + fbuf2 = FrameBuffer(buf2, w, h, RGB565) + for y1 in range(h): + for x1 in range(w): + fbuf2.pixel(x1, y1, + fbuf.pixel((w - 1) - x1, (h - 1) - y1)) + self.block(x, y, x + w - 1, y + (h - 1), buf2) + elif rotate == 270: + buf2 = bytearray(w * 16) + fbuf2 = FrameBuffer(buf2, h, w, RGB565) + for y1 in range(h): + for x1 in range(w): + fbuf2.pixel(y1, x1, + fbuf.pixel((w - 1) - x1, y1)) + self.block(x, y, x + (h - 1), y + w - 1, buf2) + + def draw_vline(self, x, y, h, color): + """Draw a vertical line. + + Args: + x (int): Starting X position. + y (int): Starting Y position. + h (int): Height of line. + color (int): RGB565 color value. + """ + # Confirm coordinates in boundary + if self.is_off_grid(x, y, x, y + h - 1): + return + line = color.to_bytes(2, 'big') * h + self.block(x, y, x, y + h - 1, line) + + def fill_circle(self, x0, y0, r, color): + """Draw a filled circle. + + Args: + x0 (int): X coordinate of center point. + y0 (int): Y coordinate of center point. + r (int): Radius. + color (int): RGB565 color value. + """ + f = 1 - r + dx = 1 + dy = -r - r + x = 0 + y = r + self.draw_vline(x0, y0 - r, 2 * r + 1, color) + while x < y: + if f >= 0: + y -= 1 + dy += 2 + f += dy + x += 1 + dx += 2 + f += dx + self.draw_vline(x0 + x, y0 - y, 2 * y + 1, color) + self.draw_vline(x0 - x, y0 - y, 2 * y + 1, color) + self.draw_vline(x0 - y, y0 - x, 2 * x + 1, color) + self.draw_vline(x0 + y, y0 - x, 2 * x + 1, color) + + def fill_ellipse(self, x0, y0, a, b, color): + """Draw a filled ellipse. + + Args: + x0, y0 (int): Coordinates of center point. + a (int): Semi axis horizontal. + b (int): Semi axis vertical. + color (int): RGB565 color value. + Note: + The center point is the center of the x0,y0 pixel. + Since pixels are not divisible, the axes are integer rounded + up to complete on a full pixel. Therefore the major and + minor axes are increased by 1. + """ + a2 = a * a + b2 = b * b + twoa2 = a2 + a2 + twob2 = b2 + b2 + x = 0 + y = b + px = 0 + py = twoa2 * y + # Plot initial points + self.draw_line(x0, y0 - y, x0, y0 + y, color) + # Region 1 + p = round(b2 - (a2 * b) + (0.25 * a2)) + while px < py: + x += 1 + px += twob2 + if p < 0: + p += b2 + px + else: + y -= 1 + py -= twoa2 + p += b2 + px - py + self.draw_line(x0 + x, y0 - y, x0 + x, y0 + y, color) + self.draw_line(x0 - x, y0 - y, x0 - x, y0 + y, color) + # Region 2 + p = round(b2 * (x + 0.5) * (x + 0.5) + + a2 * (y - 1) * (y - 1) - a2 * b2) + while y > 0: + y -= 1 + py -= twoa2 + if p > 0: + p += a2 - py + else: + x += 1 + px += twob2 + p += a2 - py + px + self.draw_line(x0 + x, y0 - y, x0 + x, y0 + y, color) + self.draw_line(x0 - x, y0 - y, x0 - x, y0 + y, color) + + def fill_hrect(self, x, y, w, h, color): + """Draw a filled rectangle (optimized for horizontal drawing). + + Args: + x (int): Starting X position. + y (int): Starting Y position. + w (int): Width of rectangle. + h (int): Height of rectangle. + color (int): RGB565 color value. + """ + if self.is_off_grid(x, y, x + w - 1, y + h - 1): + return + chunk_height = 1024 // w + chunk_count, remainder = divmod(h, chunk_height) + chunk_size = chunk_height * w + chunk_y = y + if chunk_count: + buf = color.to_bytes(2, 'big') * chunk_size + for c in range(0, chunk_count): + self.block(x, chunk_y, + x + w - 1, chunk_y + chunk_height - 1, + buf) + chunk_y += chunk_height + + if remainder: + buf = color.to_bytes(2, 'big') * remainder * w + self.block(x, chunk_y, + x + w - 1, chunk_y + remainder - 1, + buf) + + def fill_rectangle(self, x, y, w, h, color): + """Draw a filled rectangle. + + Args: + x (int): Starting X position. + y (int): Starting Y position. + w (int): Width of rectangle. + h (int): Height of rectangle. + color (int): RGB565 color value. + """ + if self.is_off_grid(x, y, x + w - 1, y + h - 1): + return + if w > h: + self.fill_hrect(x, y, w, h, color) + else: + self.fill_vrect(x, y, w, h, color) + + def fill_polygon(self, sides, x0, y0, r, color, rotate=0): + """Draw a filled n-sided regular polygon. + + Args: + sides (int): Number of polygon sides. + x0, y0 (int): Coordinates of center point. + r (int): Radius. + color (int): RGB565 color value. + rotate (Optional float): Rotation in degrees relative to origin. + Note: + The center point is the center of the x0,y0 pixel. + Since pixels are not divisible, the radius is integer rounded + up to complete on a full pixel. Therefore diameter = 2 x r + 1. + """ + # Determine side coordinates + coords = [] + theta = radians(rotate) + n = sides + 1 + for s in range(n): + t = 2.0 * pi * s / sides + theta + coords.append([int(r * cos(t) + x0), int(r * sin(t) + y0)]) + # Starting point + x1, y1 = coords[0] + # Minimum Maximum X dict + xdict = {y1: [x1, x1]} + # Iterate through coordinates + for row in coords[1:]: + x2, y2 = row + xprev, yprev = x2, y2 + # Calculate perimeter + # Check for horizontal side + if y1 == y2: + if x1 > x2: + x1, x2 = x2, x1 + if y1 in xdict: + xdict[y1] = [min(x1, xdict[y1][0]), max(x2, xdict[y1][1])] + else: + xdict[y1] = [x1, x2] + x1, y1 = xprev, yprev + continue + # Non horizontal side + # Changes in x, y + dx = x2 - x1 + dy = y2 - y1 + # Determine how steep the line is + is_steep = abs(dy) > abs(dx) + # Rotate line + if is_steep: + x1, y1 = y1, x1 + x2, y2 = y2, x2 + # Swap start and end points if necessary + if x1 > x2: + x1, x2 = x2, x1 + y1, y2 = y2, y1 + # Recalculate differentials + dx = x2 - x1 + dy = y2 - y1 + # Calculate error + error = dx >> 1 + ystep = 1 if y1 < y2 else -1 + y = y1 + # Calcualte minimum and maximum x values + for x in range(x1, x2 + 1): + if is_steep: + if x in xdict: + xdict[x] = [min(y, xdict[x][0]), max(y, xdict[x][1])] + else: + xdict[x] = [y, y] + else: + if y in xdict: + xdict[y] = [min(x, xdict[y][0]), max(x, xdict[y][1])] + else: + xdict[y] = [x, x] + error -= abs(dy) + if error < 0: + y += ystep + error += dx + x1, y1 = xprev, yprev + # Fill polygon + for y, x in xdict.items(): + self.draw_hline(x[0], y, x[1] - x[0] + 2, color) + + def fill_vrect(self, x, y, w, h, color): + """Draw a filled rectangle (optimized for vertical drawing). + + Args: + x (int): Starting X position. + y (int): Starting Y position. + w (int): Width of rectangle. + h (int): Height of rectangle. + color (int): RGB565 color value. + """ + if self.is_off_grid(x, y, x + w - 1, y + h - 1): + return + chunk_width = 1024 // h + chunk_count, remainder = divmod(w, chunk_width) + chunk_size = chunk_width * h + chunk_x = x + if chunk_count: + buf = color.to_bytes(2, 'big') * chunk_size + for c in range(0, chunk_count): + self.block(chunk_x, y, + chunk_x + chunk_width - 1, y + h - 1, + buf) + chunk_x += chunk_width + + if remainder: + buf = color.to_bytes(2, 'big') * remainder * h + self.block(chunk_x, y, + chunk_x + remainder - 1, y + h - 1, + buf) + + def is_off_grid(self, xmin, ymin, xmax, ymax): + """Check if coordinates extend past display boundaries. + + Args: + xmin (int): Minimum horizontal pixel. + ymin (int): Minimum vertical pixel. + xmax (int): Maximum horizontal pixel. + ymax (int): Maximum vertical pixel. + Returns: + boolean: False = Coordinates OK, True = Error. + """ + if xmin < 0: + print('x-coordinate: {0} below minimum of 0.'.format(xmin)) + return True + if ymin < 0: + print('y-coordinate: {0} below minimum of 0.'.format(ymin)) + return True + if xmax >= self.width: + print('x-coordinate: {0} above maximum of {1}.'.format( + xmax, self.width - 1)) + return True + if ymax >= self.height: + print('y-coordinate: {0} above maximum of {1}.'.format( + ymax, self.height - 1)) + return True + return False + + def load_sprite(self, path, w, h): + """Load sprite image. + + Args: + path (string): Image file path. + w (int): Width of image. + h (int): Height of image. + Notes: + w x h cannot exceed 2048 + """ + buf_size = w * h * 2 + with open(path, "rb") as f: + return f.read(buf_size) + + def reset_cpy(self): + """Perform reset: Low=initialization, High=normal operation. + + Notes: CircuitPython implemntation + """ + self.rst.value = False + sleep(.05) + self.rst.value = True + sleep(.05) + + def reset_mpy(self): + """Perform reset: Low=initialization, High=normal operation. + + Notes: MicroPython implemntation + """ + self.rst(0) + sleep(.05) + self.rst(1) + sleep(.05) + + def scroll(self, y): + """Scroll display vertically. + + Args: + y (int): Number of pixels to scroll display. + """ + self.write_cmd(self.VSCRSADD, y >> 8, y & 0xFF) + + def set_scroll(self, top, bottom): + """Set the height of the top and bottom scroll margins. + + Args: + top (int): Height of top scroll margin + bottom (int): Height of bottom scroll margin + """ + if top + bottom <= self.height: + middle = self.height - (top + bottom) + print(top, middle, bottom) + self.write_cmd(self.VSCRDEF, + top >> 8, + top & 0xFF, + middle >> 8, + middle & 0xFF, + bottom >> 8, + bottom & 0xFF) + + def sleep(self, enable=True): + """Enters or exits sleep mode. + + Args: + enable (bool): True (default)=Enter sleep mode, False=Exit sleep + """ + if enable: + self.write_cmd(self.SLPIN) + else: + self.write_cmd(self.SLPOUT) + + def write_cmd_mpy(self, command, *args): + """Write command to OLED (MicroPython). + + Args: + command (byte): ILI9341 command code. + *args (optional bytes): Data to transmit. + """ + self.dc(0) + self.cs(0) + self.spi.write(bytearray([command])) + self.cs(1) + # Handle any passed data + if len(args) > 0: + self.write_data(bytearray(args)) + + def write_cmd_cpy(self, command, *args): + """Write command to OLED (CircuitPython). + + Args: + command (byte): ILI9341 command code. + *args (optional bytes): Data to transmit. + """ + self.dc.value = False + self.cs.value = False + # Confirm SPI locked before writing + while not self.spi.try_lock(): + pass + self.spi.write(bytearray([command])) + self.spi.unlock() + self.cs.value = True + # Handle any passed data + if len(args) > 0: + self.write_data(bytearray(args)) + + def write_data_mpy(self, data): + """Write data to OLED (MicroPython). + + Args: + data (bytes): Data to transmit. + """ + self.dc(1) + self.cs(0) + self.spi.write(data) + self.cs(1) + + def write_data_cpy(self, data): + """Write data to OLED (CircuitPython). + + Args: + data (bytes): Data to transmit. + """ + self.dc.value = True + self.cs.value = False + # Confirm SPI locked before writing + while not self.spi.try_lock(): + pass + self.spi.write(data) + self.spi.unlock() + self.cs.value = True diff --git a/ili9341/images/MicroPython128x128.raw b/ili9341/images/MicroPython128x128.raw new file mode 100644 index 0000000000000000000000000000000000000000..1a531911a46e822adea4b5e08483329946901c1f GIT binary patch literal 32768 zcmeHQO>9(0p05Lkci_+m4sWD6lqC+`5(l@$!F{W?WGQVe5^f0zT3V@W3n^eB1uUc_ zeW?JlSg=q+EHq)PRjt8nhQ%n$#B4T+N0m5y%n&{#f*~J}ns@`5afs0nu-&%1_xG>r zcH5@yaVD~1I@Di&@Adnrs^9;+s$RDldtRP%;5i4LbKp4#o^#+i2cC0ag*m`ixV>kn zxyIDM*qtx?Hr1?phB~!kU1>jED3<=SE7s^U(@^U=fdAUl(EI2XZ$H$3ws%duk3;6U#hpapVYYSy-Gz|q(KullVa931 z6vqA#=~+hAdj_h`i~ui5yK?!u+AW~#@FMuZnZ&(kKuF8jh5oaP<8MqYW8=?2)#vM= z_+J+aLq|(qf0iLY{`J8#(8*=&!j&zAci<-DjKLQade=0jpcAE1)%H)K^-|AVaxCUu zhiM-)kN&G?z}O$cVRxkpH?`~Ujn(usBDD>@StaWwY?t8y(U6($|7@ecMplw67;{Of%j@<$UtY+2FQFwr{ft!WG zyzC>vEv~K7+oIOpM@7uWVH#1kO!CpxllesTo{L6sHP&txB+QL zYFs&PczzH!D)8f0HNj{5^@NyUMB~;Gabr<_RG0jJ$0qcIERp~(IA~#hz*dZ`CI$Fk zIbkOZNEb;>s73i<-&WOx|09zVIqrz%7#Fj|Cr@WPC1e}30@E_ z#t$uIHQ|3>O!Axs8Am!tv;aRyH~y??o}_w851&+%0>mA$N#?jwnI9sj-jLOUoshg{ zrx-Y(L26PuB5o|mk7$+QZxT~tijA0udeTlBN5l)_#*_RIm<+1263QRNl&m!$@F_LL zL5v8z@I)Lb^F!C_DuWL=ADGXu{fbZ7DGgE}Ii&_gR1X`{jUqqH6hA5$W<(-Y#)2ku zOfmMEoL18u#HQJlo#wxnjQtn!L^={v>beSez+SF0^aLlvlls1xw$mD{otNN-%*$go5Dc1s3p1eAS_09@#&|&&R6!INh!ww4F2>l z06ar{=ZNxkSOrj!`$b6JIJ(9*{sQoC;eWK+z9;<(fOV25{1@3fSRJhX!iC2e0`CLo z^GecxvHHOSVO$=R@2U*A5Ms5*f&*mxM3G+rer^!)HBmw`taXwG5dLdbnfE>^(1^UR z^ZYT(o8z1z1eEX_XhXG^KxTmXQ=6BMd0yX;jEN%tYxHKwf`ube@CC2_^IZ6?x~~|^ z0z2XV)-YZN{I{V0*A~co0w8~nVSP;4e}Y-TTEy>-i|FwuvcM85LeiJB@!zVL_k?ad z;MN8u)=Qr8S>XVgj9#xg|tqR9qJq;|6O+ zIw$M&++@-YvA@ongktPnT@dGRmALku zdnc-N>qhv3B6gCzoG@4|v6H%4Qoitx^A$8wdT9>NN>4w%{pWH*Vs%%|<-t2ezxG>^ zXO9%{BLbvZLLSrwbxJYdA&$LJ>~;ixfUqMo=Hr?qpJO>SDMu8ck047R-csHSQh#Q( zqWIub+l3g%L|xYYJDr1-&gB7Vv2lIdE+BnzTP0M=KE_+5L0PGen1h-WU0`V$Fd#)ORO+0+neDC+vZ6OSDSN%;#;vdDNsW~);sNx)^WYk~mQwe{n=&+vZPz#WV|hb- zXff}jB33Z?47~Y;FMv7pKqrfmM@=V19iE}`GOm(e!FAy!k9AZ#DW~{X{)QFb)vi%Byjrezaqc^YM-oPZvB9rtgxdJaU*8H;rt?QB83 z#Th$brqv?}>t~qv)c5UW`2JJs4(~#@KZ3Ns!ybBo+9udv z%~0eMuwtU}Y;Wntr?CIrPFV23KqJvV(ogF&nXv@x(OBy<-)KZ^{*|28kJPj!4IuxI z%*WKWW+V@LQdv9~5!-p`>6P5SZa>#}kzYd7S<&BdcrpPS23-UOKbDP}xa-zI z{>TEe1b*Ux%G)0Vx?3$qR}GCCT6AjU4FZ zXZo0M4Xp6y4Kc~ipyh3LN`VJFXCO&i)C6#VbfFG?I>x8PLBuE7<9+^`-<@y<#xJ=n|q99Lc#y-|LGofEV7T{;UO446Y@-i>Z@kWPt zyM{)YSB?9y;+qIRW52ZUQkpWez3h>g=2IMRGcdf_!x8<(e#zLYVp=}p&i6s`_bsh= zwX?nI2VRim{lDZnJ7McY#L2%T_gRuxh=r&V-d+$NKe1_n$6UG03jCNYepumM#I={e zw%IlrrjYqkA7fkG+9+d8E_k0)#(OZ|x2PopgZt?;|Glh4RJycz(IdMYQAdGtUX~*|%VWFC%mHIbW#C-#8VB$YFQVp)PWuSIM@~H`jtsA(n2Z?qff z81O+==EMW%6F;+vdTdVQ_vkq^L6b-O(M(#*>w{Y~`XeGPc=B;(KJKFSIf-LbEHK_M zlqLUFaS>;=X8G|)O(^%997D?z?Q@KG?30|>jE=MjXg&wYQsj3tAFRN~SiyGUjzNPQ zhzm{Y;695X?1a38+w1y_jq}+O2X2meKs_nGFkA-wOI^yBmXiyCIBF7nvqH-fV_u8V zjs_=WkrT#S$Lp>OyEHf;XEHxi#Lo(POxEL$?Seeu8;aI}$O2{~pJU++)+Wiuy~MF9 zAaW{a@O=V3X?yT|zz4;Yj7U_v?1k&^ZAL`p$HI?w+_za6IAOpE@kw-%_4 zC+7oI!3?O-#6)O9^`o5B-$+Unymuo%ItRJK4Nd2$SC=H7vu-YgPw@{#lH-kObKOqM z4-8wO66blbT{E`P{z+rhD=>~TkcXV%g!ZeonC}&gXT@dlgP<7j*xV7PY|_FuY(aN& z#(vMISk7)lUGK4yKP~PnN!*geG50B^_$A~FwWx`)T?+H7cG|`TeOj3klP!|*j0{zs z=@BDx(m)f56CCp(hQ8tRk#Tc0BF!lagocuKx}$_WXOYpGQJkx_$btArn$|T1GC0F5 z;Wpl4xf9F02@sJLGLen0o!jcMZs!rS zT&uU~!{Utoll_tnvv2G-<_q^thFu0(thg+X%e@%$wexN<#4(OBc=J^j>|V>*88fMJ zqE?_njz5$D2X%6z+Nh;%X508S*({qx3iHZbyBqw5W5+SN(7=zew?DbO+l}y0&`y$& z{SO{+tmBD-&f9J_KT|FD<2WyHWd7V`KC1Zkub`1^!Hh}x0L&KT%v*S1n;sNjI1=E31ae!jV{YGvJB0n4nXt(D#6yd3hKMOO zjJlfbH2=}wXWz2h>|6P%rM7k%NLvH5I?fr&IcQNgcu2=fEkSarch0>pC4b~cbqW?= z(o^iYzbB#lcs~vY7?3d_Wd%kV?+=_C;y_v)H2v&`y@R~>t{URKn9Ip(+>5^!3;!+O z;8DR?lbo{Ot7*AQ;w>o+t7iBUc~M};8P#)_!Ha5S&w}i~ksZf;DlROs1kLr)eUaWZ zt*gVq@*_cW+lIze&|E%K`6y{aTltDVTLWth&0P&$kkELGalR^GG)HoKvefW92KrAt zuyI|!zQ^X(x03Ocak-O#ZOgp9%Obevl)>Gyz=n$Nj90F?T-U549zW53sQY2>`mV$6 zhcY8IYs=SaR&_S@ZR%a09ZlT(`&=kLSNSNS()zd=;*Tw~K;TbzOWeun?i!ZS8QsdV zx?d7*PhFa@l}i@ilnKOb4Gl6rbGR$XyTtf$vsY(SjF<0S%2CbQ*415yd)IWG$zIJ| zN?e%#`-(wx;$GvnwjEuE`*wp1R}&XXTD_Fo7rKY?o48KsxT3!M5}LjC2Mgbizfs8l zJnzy8Q@T2PA7H*Cfu|EHE@Qkrqc;1VzkeJKrVn&B^{(lDxG&PWu0C3`sqmPqv@#eu&>;UEhA_XZ;EzU#xEt%;`jQDHmAm&VT$G$uv6(eP7er)V3piAhtEK zXYtyC=15P?+W3k3Xl4XHVmz3Lo51PZlSVR0oW2$xazS_Rs12?-Lwys|KFEo>;1`>K}lD3}JGiWh9^g{ZJ z*bkpdG@C04OBNH+X_c1vb6fKA5!uM=S;D{`#O(Xa$2F@mBb_^Y*LPpfj<&8|Sl`P} zR6HUs49B)QudtzWXaA9bvF?YNk=Ze$(sMP4X+A2om=+B(L~S@rGnWzgt(c6%lR1(# z;8Q(o#Waw%FF6?a4XpVHI&9eW3kN*O`Hv17lrh(g)^yPv%NQrEH6ebIQnCWSXUH(!lq@ zcR_ME8^cJ!W0~3NG*8(y&XPaprpZ!1$1$!<*_3rzgG}lq-jVl2S3{jLDV@?y7I!Pk z2U03!TK;qI56;qewjWBLjGw67!=J(r@*e*FAW2+^chm=&OYNt7*Wfqn#<~udvxQKG zzF#`2;(`G{Ng_DL`Y&=Nl!VNPGy`!*bX5G55v19nYQndp=}x``zld+hI*md+ZD{+K zuEX6w;A;37&NN5fwsm?jOQC1Dp$@P=p*r zdq)vbKH7bqv^H@M(fvrgW8sL(L z?8r7;DY8ZOKo@x1hPEB?j(CU9_v0PeQT*CsG`6+-`eMf`f;^Bh&8mX>)V8!{z7JCV66RgWKY+b`e>vFNQM_|hK0k(5P5wNBx$@5YX}Eh z*C8W@^r=?pMl!awr16dm$e0>a@CsLZ*PO4r@=EV|jI9=_f8mxFxTK#iJ9PBQmf3M~;T9`j znU}-fgLKia`6V2r_A{5fzPIh@+fAM*bLo6YIcwJ$WU?Kt>lja5Ae{yJX2LbUmf4?Y z@N>_FNDtjlb^{%NCoJ1TV~Xq{(i87Ml<>v*M#>csYcZM}xH)w6eAwAk@*1<-S@?L? zXw~Pi3s^eoU;KpA_lEQV8r{}M>x2HYojV!ZSDU#MB;mo~%jnnS$#*&AeBpLyUm^LE z9nhADxE~HuP4!XA3=k!u0k8**tlLjhuGE;SkNO%)UIF7MWK856hmH>1%wGNbxko9c z7cCt*Y(*R56zeInIsbm5b7$YC*46P2^0Bjm zq~Dh8fh>$71NaNf&K`>KA=W_lP>O>^uW*690%c5BwhX=Be}p7buD^Ul^HR8LO>wk} z9JXXv<$LI;W-ZQhc;rz;vIhLelq1>E*w)t717nS;ct_V^>QiO}QbK$nsiE%}%gn9g zCw_8TK=l;uVUN$KYF1GsiJu6Pgs(n`^wbAr599^NWBOJc7u*QKXG}v!hmQ8H&s_4? zgJw`Nae?L>+`JTxR*}O}Tk}geNcv7=9Qb$WJN)|f`XF(SG%INC+=&P^Oq%JV6M4j+ zqVMxtoBz3t-&+Or3LHsXplH~(Ash~eku_q*gzSNQ5#$LUP^<+KfX^&?1=7-?_u(56 zo#GvtOI?TikCaBMm2=pjnewmL*6b)*T;f94nZDgLf7gAzZr0--a6qh1Bq&dXb z`51owXIJMeuRv0S|AS|xITJtQLh%7S+2LYsPv%l7S0Fuf<0$e9G@2ZPJ)9-qK?K{` zQ=xyz_sDa#?I3-p46gr3`)OonhY;C1>Z6@a6xkZLK@!MMeANEg`d*}lzKjs&_Cuvy0l#hT=9tPE6ZzCirDiQ=o_P9XXH)BH zM6{8<-CbuA@FoLenM*WZOB&U>x->cgdav)5s#=b76cq@+-;%zeeHwX(!!&MycP4v4 z?m***#65V2XxoO8Cn8D38tQ|^A_C^=Yn{Hk5eqP{?c3D3GicsdOZgkk-}}*Nq=)#A zn$eS$F3ujD78Je09@0K&JoK@3wHrl^B158l3EAWPS!Fj$S)|K8qP3q62lqw#k3@P9 zX%CU5!{@r$37?-KvLzR(WF;d3eQ+ag8X=OmMos`7&R$(S=U%Xru%&^U@DCRd z(~-SWo<)A1auLYewYlK4D|?}658fk?J`z7LdO`%wj4Y<-i*=K7b<9^Z#2Wm#i+H-? zmcCdA=U*#(1@9$Y6rwTL{2Q10IkJa5C`RD0smLCRH{Rzg_4%iAA4jVWzu*2G-$dR7 zegaW_rp~7V=^tp6ldOvNfa8C#AYQ`KN$UTch5G)pV$;ui`k7!Fc<{VD=fJbcf&T}A CEEb&r literal 0 HcmV?d00001 diff --git a/ili9341/images/Python41x49.raw b/ili9341/images/Python41x49.raw new file mode 100644 index 0000000000000000000000000000000000000000..7ca0cd432e3e70cc4af4510cabe599b8a51e5f8c GIT binary patch literal 4018 zcmbuBPfQzE9>?D}Iry*#uhau8v+Z-&+VfObtOap1V zb&~hw@%;VF_xJY=LO&jH3!#s`==s%;ue{wE&71l6;g!YD=YIFmV}$hayNtMv(A;}L z&{%D(2EpEG+)BI?QS7`EU9e5;;Q}La@ z&K%FZw|A;FKDxbxo1J+lj^l5E4Q(_3GWd_r61jgKUI~K#T%r4(tBjMvH2Ct(m?5o; zj~2d)JtNP$*BeKx8((#QxQV>HM*}yzBgnWaZ`Q)zhoTS5Gg0gYpLxw1hk+ zsh(9a!P+Nko^6$Zc6|A}%axav{mN{;vxcf1^tE`BdTa?awl_5Iu6ca<_-f^4{bl{@ z%4{WDi787ed8SWOJ-SH~?E%5xn0}kCXDdB0)0IxY>=%@Ik*ArZwuuN0xwVY4ecQKu zOIbj3Ar`>6I7_snO^pZ@xhH@TO?HtK9=(ax2nq1g?gd329F;Dd^Qa(gOGNXeN|(qK z(VTE{as&6`61*uo;D%T4d;RWTK8{m_7M(FsGJy&4S|abx z%gR8F(Ot`vn)tfSk&oI_9S1!r95{#Aach>Y@LhWCoLTKr&OLzRG)~9O1GUKK*J_UB z=c^^8b)bI2=@MIVnMz=U&prJUyV`?KM8Fy}n}3n=ZOOb=4QV^|=s-gRs*`!#H+;L9 zeiqXn{(0S+H%J2+@I5i=)Yg>Yu}$b=;S&jDceXGyiAM1Rp2c z_z2GkH&rW3Rb?YY-;dD{1{x@qLK(`gC!1M!_O7$Q`dAT-u%A&$<7kE*;T>y_XKa68 z**Y$|3-QoW3dgQ**UI(It?Vaex7;QS@0Ks~5z%#7pjy${Pd5ZS}GFXFSfv#C>jO zY*HmlBFYPdx`Y#3hpY)mAXWr;Q4@ury;#?bu0)u`0}ntR>J`)W%k`dSc6s(T=nLcn zUPQi8v!~6-@(y~9E@1E>4a5Rj&eqe)^7tn0$5D@jI7`SIQ)Pga0&VH#?0`K^55ydP zfFa@v{JHi`3==RJ=~})?7NAmIz^7H6rI}{WbO!Mjks<`$Mh2vT0=__(yCJ*Xu#erMTgD4(E9u6TyYtCW zJ7Z?;Ig}H7e2;&Iy7&Y{$kXaG^`7UmeIoY*5vq^3tmZ2+pRBEEqGlFJ7e?%+ctjtF zIl4+V*fw1k_vCM&IvLu4l2&XZC4 zDZMW<{4sVgg-5PI{_H}Wz`Ni-$e`@={SU1balqiB9vC4L>o`Njuz(MfQr=odvUS(SmGHBZ<0?9pK%dKz9eR-8;|*&A4?*m7WLjAR z)(bjC`w68Zum@-1imq{GYIWbH2V%prLBE&7!i;#WXy@p<+%SNM12Mxm0h{P1Sj?bT z^x_GkSy1DlHuyUC^UZW6J(=oei>zS3*QCv zy7SN~1D5ui3znL-LKCtmpXsw_pe_#b+r|?aC(vKdi26SzJ|I18Mhw$FcApF(-SX*(SGy~-#BM$Q*`G1|F8KU=>y&a U^*cx{dHza*K`hAmGvWUK0OPgI0ssI2 literal 0 HcmV?d00001 diff --git a/ili9341/images/RaspberryPiWB128x128.raw b/ili9341/images/RaspberryPiWB128x128.raw new file mode 100644 index 0000000000000000000000000000000000000000..11e9de9196c9d2808ea586e420217ca2a7e051bc GIT binary patch literal 32768 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 literal 0 HcmV?d00001 diff --git a/ili9341/images/Rototron128x26.raw b/ili9341/images/Rototron128x26.raw new file mode 100644 index 0000000000000000000000000000000000000000..1c618819c715caac5e1f38aa70630a869ea29288 GIT binary patch literal 6656 zcmd^@Z%k8H6u_aC89<$dZQ(&i3b@pUsBxH(%97UC=x7-+2=bviEIgeHMV2WXmt~na*A|KX5fe6hJ%`XD-`PfMX;;;`85$-f5j(WCuyaX7=4ZxH=H}tun*!O;mj}=H zP4PavsGBrvVhif(;;lqyE{VPkjccRfZqgFBI5R#M8y8qO&7$6Y6I!C9x)!w2Sr}!f zEo9XEoH!GSbsKq8^wII*Zv8fKHrY6^0NPEL)W(l0dp45Tv_hN`3-I5v8+xFZ(WRX= z7lLi%4=l_j1x@`OzD5+j6r(dUZf&F13_YV{wy+j0U@Lee)LPr9@U=)AAe1Q9wx7wU zQ4&YmqK$&r!U7#*ZR=`VsSHtJ6X+f)Poiu1}wfoC)05Le{)^w@&Vkf#Ft;s3y#qWrjCZoVoj zvqo(!8KAbD*Kub!ughoBZ$rd!W|^1{|(?*?D2V;Sw(Lme`ZZpmYb(p;J7H~ zhgQ%cGVk8tD94*&fn1@Hs)%nD67fJD%o;dAs%lzttk{|M?$H z1=VR+HGNJcKZE%nTYtmiq4qPEali1B>yu*~C_gzZbJfPo8i)eq8`OB^nvv7-u-b_H zB?C|uU_Zq7|KH*VeZG_L6vEHX-|0DMVd8Heux6EM+?GxlnyHrw#t9ycZnet_IMBAC}(Ka1T8b;-YwJ)=9WLX zs6y;h_(2GXC*f{ekk-GlQ2Mdhs>IL#3*?Lh37RBge7oiQ|%X{OPy;4j>zO zG*&7+@$H(pJF#K-fafzx+qX2h&!0Se33dlaQ#Hx1gM;=nrD|jI=G8ZRXc4}2pXPP& z#D9XhOU}S)Lr_qZpRbHf}8t@mYJJz_k_1x?Tx06N&bv;8zi}B7wwa7P~<@qSr*M{#W z>FiS*F$!4qsK4Bm{9mLvp(mL&Wy@~fyLIg3)FcXc4)2k?7{7fw8d71U_ccyUM(k6Q zU=ePx@)`&BR4YYqof)9>CDu}{toMz#KIOA|#c#-19w1-g=+R<%6r7LWAC$+5Xyu+d z`0a<^qte$ zT(ns_rJw&;Glsb?(kAAINKD-Zeo4Mb-BU~~ zSEP(juqVhY|8>T%7bix?)GH-Jlc8Z7Y(Xkk3!{U!{Fzfbf64=*n_Ay(5ZDD| zrR`%U`+rALuO&h>T=^jU0_phzpYhi^#iSS(CCO`7&K!GN^S>JFalGh0Lyw$9dUo9L v?vqv-Vne?fVFbs%XunL#jC1}44{had literal 0 HcmV?d00001 diff --git a/ili9341/images/Tabby128x128.raw b/ili9341/images/Tabby128x128.raw new file mode 100644 index 0000000..a259401 --- /dev/null +++ b/ili9341/images/Tabby128x128.raw @@ -0,0 +1,138 @@ +”p”p”p”p”p”o”pœœœœ”p”p”p”o”O”o”p”p”p”œœ°œ±œ±œ±œ±œ±œ°œ°œ±œ±œ°œ°œ±œ”pŒ/Œ/ŒO”pœ±œ±œ±œ±œ±œ±œ±œ±œ±œœ”p”pŒOŒ/Œ/Œ/”O”O”p”pœœœœœœœpœpœpœpœœœp”p”OŒ/Œ/”O”pœpœœœœœœœp”p”O”O”O”oœpœpœœ°œ°œ±œ±œœœœœœœ¤°¤±¤Ñ¤Ñ¬Ñ¬ò´ñ´Ð´´¯¬ò­­­µ2µ3µ3µ3µ2µ”O”O”O”O”O”O”pœœœ”p”p”p”o”o”O”p”p”p”p”pœœœ±œ±œ±œ±œ±œ°œ°œ°œ°œ°œ°œ±””PŒ/Œ/”Pœœ±œ±œ±œ±œ±œ±œ±œ‘œ”p”p”p”pŒOŒ/Œ/”O”O”o”p”pœœ°œ±œ±œ°œœœœœœœœ”p”OŒ/Œ/”O”pœpœœœœœœœp”p”o”Oœoœpœpœpœœ°¤°¤°œ±œ°œœœœœ¤°¤±¤Ñ¬Ñ¬ñ´ñµ´Ð´Ž´M´¯­­µµµ2µ3µ3µ3µ3µŒOŒO”O”O”O”O”o”p”p”p”p”p”p”o”O”p”p”p”p”p”pœœœ°œ±œ±œ±œ±œ°œ°œ°œ°œ±œ°œ””pŒO”P”pœ±œ±œ±œ±œœ±œ±œ””p”p”p”p”pŒ/Œ/Œ/”O”o”p”p”pœœ±¤Ñ¤Ñœ±œœœœœœœœ”p”OŒO”O”O”pœpœœœœ±œœœpœpœpœpœpœpœœœ±œ±¤±¤±¤±œ°œœœœœ°¤°¬Ñµ¼ð¼¯¼ŽÄ¯¼Ž´,´ ´°µ3µµµ2µ3µ3µ3µ3µ3µŒ/ŒO”O”O”O”O”O”o”p”p”p”p”p”O”o”pœœ”pœœœœ°œ°œ±œ±œ±œ±œ°œœœ°œ°œœ””p”O”pœœ±œ±œ±œ±œ±œ±œ””p”P”p”p”p”p”O”O”O”o”p”p”pœœ±¤Ñ¤Ñ¤Ñœ±œ°œœœœœœœp”p”P”O”O”p”pœpœœœœ±œœœœpœpœœœœœœ±¤±¤±¤±œ±œ°œ°œœ¤°¬Ð´Ð¼Ï¼Ž´,«ë«ë«ë«ë£©«ª´¯µ3µ2µ2µ2µ3µ3µ3µ3µ2­Œ/”O”o”p”p”p”O”o”pœœ”p”o”o”pœœœœœœœ±œ±œ±œ±œ±œ±œ±œ°œœ°œ°œ°œœ”p”p”p”pœœ±œ±œ±œ±œ±œ±œ”p”p”p”p”p”p”p”p”O”O”p”p”p”pœœ±¤Ñ¤Ñ¤Ñœ±œ±œœpœpœpœœœp”p”p”P”p”pœpœœœœ±œ±œ±œœœœœœœœ¤°¤±¤±¤±¤±œ°œ¤°¬Ñ´Ð¼ð¼®´M´,«ë«Ê«ª«ª£h›G›'›'´Mµ3µ3µ3µ3µ3µ3µ3µ2µ¬òŒ/”O”p”p”p”o”O”O”pœ”p”p”p”pœœœœœœœ°œ±œ±œ±œ±œ±œ±œ±œ°œ°œ°œ±œœœœ”p”p”œ±œ±œ‘œ‘œ±œ±œ±œ”p”p”pœœœ”p”p”p”p”p”p”pœœ‘œ±¤±¤±œ±œ±œ±œœœpœœœœ”p”p”pœpœpœœœœœ±œ±œ±œœœœœœœœ°œ±¤±¤±¤±¤±¤°¬Ð¼ðÄϼm¼M´ ´ ¬ «Ê«Ê«ª£‰£h›'’æ’ū뽵3µ3µ3µ3µ3µ2µ­¬ñŒ/”o”p”p”p”o”O”O”p”p”p”p”pœœœœ”pœœœ°œ±œ±œÑœ±œ±¤°¤°œ±œ°œ±œ±œ°œœœ”p”œ±œ±œ±œ‘œ±œ±œ±œ±œ”p”pœœœ‘œœ””p”pœpœœœœ‘œ±¤±¤±¤±œ±œ±œ°œœœœ±œ±œ±œœpœpœœœœœœœ±œ±œ±œ±œœœœœœ°œ°œ±œ±¤°¤Ñ¤°¬¼Ž¼m´ ³ë³ë«©«Ê«ë«‰£h£ˆ£h£G£G’æ’Å£ªÄðµ3µ3µ3µ3µ2µ­¬ò¬ÑŒO”pœœ””p”p”p”p”pœœœœœœœœœœ±œ±œÑœÑ¤Ñœ±œ±¤¤œ°œ±œ±œ±œ°œ°œ””pœœ±œ±œ±œ°œ±œ±œ±œ±œœœœœ‘œ±œ±œœ”pœœœœœœ±œ±¤Ñ¤Ñ¤±¤±œ±œ°œœœ±œ±œ±œ±œœœœœœœœœœ±œ±œ±œ±œœœœœœ°œ°œ°œ°¤±¬Ñ´´M´ «ë«©«©«©£g£G£h£G£&£G£h£G››’æ›H¼¯½2µ3µ2µ2µ­¬ò¬ñ¤Ñ”P”pœœœœ”p”p”pœœœ°œœœœœœ°œ±œ±œ±œÑ¤Ñ¤ÑœÑ¤°¬¬n´Ž¤°œ±œ±œ±œ°œœœœœ±œ±œ±œ±œ±œ±œ±œ±œ±œœœœ±œ±œ±œœ”pœœœœœœ±¤Ñ¤Ñ¤Ñ¤Ñœ±œ±œ°œœœ±œ±œ±œ°œœœœœœœœœœ±œ±œ±œ°œœœœœ°œ°œ°œ°œ°¬¼Ž¼L³ë«ª«ˆ«ˆ£h£G£&££&£G£&£&£G£&››’æ“¼Ž½Rµµµ­¬ò¬ñ¤Ñ¤±”p””œœœ”pœœœœ°œ±œ°œ°œœœ°œ±œÑœ±œ±œÑ¤Ñ¤Ñœ±¤°¬´M´,´L´¯¤Ñœ±œ””œœ±œ±œ±œ±œ±œ±œ±œ±œ±œ±œ°œœœ±œ±œ±œ‘œœœœœœœœ±œ±¤ÑœÑœ±œ±œ±œ°œœœ°œ±œœœœœœœœœœœœ°œ°œ±œ±œ°œœœœ°œ°œ°œ°¬¼m´,«Ê«‰«h£&£&£&›šåšÅšå£F£F››&›››“›H¼¯½2­­­¬ò¬ñ¬Ñ¤Ñ¤±”p””œ””œœœœ±œ±œ±œ±œ±œ°œœ°œÑœÑœÑœÑœÑœÑœÑœ±¤¬n´ ´,«ë¼,ÅÅQ½1¬ñœ±”pœ±œ±œ±œ±œ±œ±œ±œ±œ±œ±œ±œ±œ°œ±œ±œ±œ±œœœœœœœœ‘œ±œ±œ±œ±œ±œ±œœ°œœœœ”p”pœpœœœœœœœœ‘œ°œ±œ±œ°œœœœœ¤¬¼L¼,«Ê«‰£h£h£&››šåšÄ›£&£&›šå››››’æ“'¼Ž½2­­¬ò¬ò¬ñ¤Ñ¤±¤±”pœœ”œœœœœ±¤Ñ¤ÑœÑœ±œ±œœœ±œÑœÑœÑœÑ¤ÑœÑœ±œ±¬«Ê«‰£‰£h£i£i«Ê¼mÄÎÍqµ2”‘œ±œ±œ±œ±œ±œ±œ±œ°œ°œ±œ±œ±œ±œ±œ±œ±œ°œœœœœœœœ±œ±œ±œ±œ±œ°œœœœœœ”p”pœpœpœœœœœœœœ±œ°œ°œœœœœ¤´Ž¼L³ë«Ê«©£h£h£G£&››šÄšÄ›££&›šåšå›››'››'¼¯½2­¬ò¬ò¬ò¬Ñ¤Ñ¤±¤±”pœœœœœœœ°œ±¤Ñ¤Ñ¤Ñœ±œ°œœœ±œÑ¤Ñ¤Ñ¤Ñ¤Ò¤Ñ¤Ñ¬°«ë›'’¥’¥’¤’Åšæ’Å›I£ª«ëÄϽRœÑœ±œ±œ±œ±œ±œ±œ°œ±œ±œ±œ±œ±œ±œ±œ±œ±œ°œœœœœœœ±œ±¤Ñœ±œ±œœœœ°œœœp”p”p”pœpœœœœœœœœ±œ°œ°œœœœ¬¯¼m´,³ë«©£ˆ£h£G£g£G£&››šåšåšåšäšåšåšå›››'›G›£‰¼Ž½­¬ò¬ò¬ò¬Ñ¤Ñ¤±¤°”pœœœœ°œ±œ±œ±¤Ñ¤Ñ¤ñ¤Ñœ±œ±œ°œ°œ±¤Ñ¤Ñ¤Ñ¤Ñ¤ò¤ò¬°«ë’ÅŠ„ŠdŠc’¥’„’„’¥’¥£‰£i£©¼½œÑœ±œ±œ±œ±œ±œ°œ°œ±œ±œ±œ°œ°œ±œ°œ°œœœœœpœœœ±œ±¤Ñœ±œ±œ°œœ°œ±œ±œœ”p”p”pœœœœœœœœœ‘œœœœ¤¬Ž¼L³ë«Ê«ª£ˆ£ˆ£h£g£g£g£&£&››šÄšÄ’Ä’Äšåšå›››'›'›£ª¼¯µ¬ò¬ò¬ò¬ñ¬Ñ¤Ñ¤±¤°”œœœ°œ°œ±œÑœÑ¤Ñ¤ñ¤ñ¤ñœÑœ±œ±œ±œ±¤Ñ¤Ñ¤ÑœÑœÑ¬Ñ£ëŠ…ŠdŠ#’¥š¤šæ£H›šæšÅšÅšæ›'£‰«ÉŤќ±œ±œ±œ±œ°œ°œ°œ°œ°œ°œ°œ°œ°œœœœœœp”pœœ±œ±¤Ñœ±œ±œ±œ±œ±œ±œ±œ°œœpœpœpœœœ°œœœœœœœœœ¤¬-«ë«Ê«Ê«©£‰«©«©«ˆ£ˆ£g£h£G£&›šåšÄ’Ä’¤’Äšåšå››››“'«ë¼Ðµ¬ò¬ò¬ò¬Ñ¤Ñ¤Ñ¤±¤°”œœœ°œ°œ±œÑ¤Ñ¤ñ¤ò¤ò¤ò¤Ñ¤Ñœ±œ±œÑ¤ÑœÑœ±œ±œ±¬’æ‚DŠC’„šåšÅ££&£G££šæš¥šæ›'“¼+¼ðœ±œ±œ±œ±œ±œ°œœœœœœœœ°œœœœ”p”pœœ±œ±¤Ñœ±œ±œ±œ±œ±œ±œ±œ°œœpœpœpœœœ±œœœœœœœœ¬¯´M«ë£Ê£©«©«©£ˆ«©«É«©«ˆ£ˆ£g›&›šåšå’Ä’Ä’¤’Ä’¤’Å›››’å›h¬-¼ñ­¬ò¬ò¬ñ¬Ñ¤Ñ¤±¤±¤°”p”œœ°œ±œ±œÑ¤Ñ¤ò¤ò¤ò¤ò¤ò¤Ñ¤Ñœ±œÑœÑœÑœ±œ±¬Ñ£Š‚DŠe’„š¤šÄ££¢å£'šÄšÄ££'’„’Å’¦›'´ +´ñœ±œ‘œ‘œ‘œ±œœ‘œœœ°œ°œ°œ°œ°œœœœœœœ°œ±œ±œ±œ±œ±œ±œ±œ±œ±œ°œœpœpœpœœœ±œœœœœ¤¬°´¯´M´ «ë«Ê£©«©«Ê«É«©«©£ˆ£g›G›'›'›&’å’Å’¤’Ä’¤’Ä’Å’Äšå›'›“£ë¼¯½2­¬ò¬ò¬Ñ¤Ñ¤±¤±¤±¤±”pœœ±œ°œ±œÑ¤Ñ¤Ñ¤ò¤ò¤ò¤ò¤ò¤ò¤Ñ¤Ñœ±œ±œÑœÑ¤ñ¬MŠ¥‚D’¥š¤šÅ𤢿¢å¢å¢åš¤š¤šƒšÅšÅšæ‚’„£G´+¤±œ‘œœœ°œ±œ‘œ‘œœ°œ°œ°œ°œœœœœœœœœ±œ±œ±œ±œ±œ±œ±œ±œ±œ±œœpœpœpœpœœœœ¤°¤°¬°´¯¼Ž¼Ž¼M´,¬ «ë«Ê«©«©«ˆ«ˆ£ˆ£g›F›&›&›“’Å’Ä’Å’Å’Å’Å’Ä’Å››&›'£‰´M¼Ïµ¬ò¬ò¬ò¬Ñ¤Ñ¤±¤±¤±¤±”œ±œ±œ°œ°œ±œÑ¤Ñ¤ñ¤ò¤ò¤ò¤ò¥¤ò¤Ñ¤Ñ¤Ñ¤Ñ¤ò¬Ð›HŠDŠD’cš¤šÅšƒš¤š¤šÅš¥š„’cš¤£šå£'šç‚’¤£g´Ð”‘œœœ°œ±œ±œ±œ°œ°œ±œ±œ°œœœœœ‘œœœœ°œ±œ°œ°œ±œ±¤±œ±œ±œ±œœœp”pœpœœ¤°¬°´¯¼¯Ä®¼M´ ´ ´+´ ³ê«ê«©£ˆ£g›F£G£h£h›G›&›&›&›’Å’å’Å’¥’Åšå››'›'››H«ë¼Ž½­¬ò¬ò¬ò¬Ñ¤Ñ¤±¤±¤±¤±”œ±œ±œ°œ°œ±¤Ñ¤ñ¤ò¥¥¤ò¤ò¥¥¤ò¤ò¤ò¤ò¤ò¤ Šd‚DŠ…’d’c’cš„šc’„š„’d’C’dš¤šÅ’„Š"𿫉’ç’æ¼L¬ñœœœ°œ±œ±œ±œœ°œ±œ±œ±œ°œœœ‘œ±œ°œ°œ°œœœœœ±œ±œ±œ±œ‘œœœ”p”p”pœpœ¬¼m¼L´,¼,´ «©«¨«¨«ˆ£ˆ£h£h£h£h›G›G£h›G›G›G›G›&’å’å’å’Å’¤šå›&›£G£G£h«Ë´mÄϵ¬ò¬ò¬ò¬ñ¬Ñ¤Ñ¤±¤±¤±¤±”pœ°œ±œ±œ±œÑ¤Ñ¤ò¤ò¥¥¤ò¤ò¤ò¤ò¤ò¤ò¤ò¤ò¤ò›i‚#‚DŠd’„’d’C’…š…’…’dš¥’d’CŠ’dŠ"Š#’¤šÅŠd«©£hÄΜ±œœ±œ°œ±œ‘œœœ±œ±œ±œ±œ°œ±œ±œ±œ±œ°œ°œ±œ°œœœœ±œ±œ±œ°¤±¤°œpœp”P”Pœp¬°´M´ «ë«Ê«ê«ê£©£h›F£G›G›G›G£g£h£g£h£h›G£g›G›G›&’å’Å’Å’Ä’Åšå›’å›'£G«©´mÄïÅ1­¬ò¬ò¬ò¬ñ¬Ñ¤Ñ¤±¤±¤±¤±”pœ±œÑœ±œ±œ±¤Ñ¤Ñ¤ò¥¥¤ò¤ò¤ò¤ò¤ò¤ò¤ò¤ò¤Š¦z‚ŠC’d’C’D’D’D’d’…’¦šÆ’DŠŠ#‰â›£'ŠCŠ’¤’„«g´ðœ‘œ±œœœœœœ°œ±œ±œ±œ±œ±œ±œ±œ±œ±œ±œ±œ±œ±œ±œœ¤°¤Ñ¬Ñ½Rµ¬Ñµ¤¬Ñ´ñ¼Ï¼m´,¬ «Ê«Ê«Ê£©£h›G›G›G›G›G›&›G›F£g£F›F›F›&›G›&’Å’¤’Å’Ä›“šå››'£h´ ÅÍ0½¬ò¬ò¬ò¬ò¬ñ¬Ñ¤Ñ¤±¤°¤±¤±”œÑ¤Ñœ±œ±œÑ¤Ñ¤ñ¤ò¤ò¤ò¤ò¤ò¤ñ¤Ñ¤Ñ¤Ñ¤Ñ¥œ-‚C‚Š#ŠDŠDŠ#ŠŠŠ’D’D’Ç’†Š$’¦ŠDŠD’d£H£HŠdâ‚#šÅ´Lœ±œ‘œœ”p”pœœœ±œ±œ±œ±œ±œ±œ±œ°œ±œ°œ±œ±œ±œ°¬ÑµÅRÅQÅQղͳÕÓÞ4ÕôÕ³Õ²ÍqÍPÄ®Äμm«ë«Ê«ê£‰£‰£h£g›g£g›&›&›&›%››%›&››&’å’Ä’ÄŠ¤’¤›'›šå›'£G«ª¼ŽÍ0½­¬ò¬ò¬ò¬ò¬Ñ¬Ñ¤Ñ¤Ñ¤±¤±¤±œ±œÑ¤ÑœÑœÑ¤Ñ¤Ñ¤ò¤ò¤ò¤ò¤ñ¤ñ¤Ñ¤Ñ¤Ñ¤Ñ¤Ñ¤ò“i‚#‚#ŠDŠDŠ$Љâ‰ãŠŠ’†’eŠ$ŠE’§Š$ŠeŠ’ǫ룉âÂŠc«ˆ¬Ð”‘œ”p”p”p”pœœ°œ±œ±œ±œ±œ±œ‘œœœ°œ±¤±¬ñµÍrÝóÝÒՑÍ/ÍՑÝÒÞ4æuÞÝóÝóÕpÄîÍPÌ-´,´+«ê£É«É£ˆ£g£g£g›&›%›šä’äšä›’Ä’å’å’ÄŠ„’¤’å›››'£G´MÅŵ¬ò¬ò¬ò¬ñ¬ñ¬Ñ¬Ñ¤Ñ¤Ñ¤±¤±¤°”‘œÑ¤ÑœÑœÑ¤Ñ¤ò¤ò¥¤ò¤ñ¤ñ¤ñ¤Ñ¤Ñ¤ò¤ò¤ò¤°’Æ‚ŠdŠeŠ$Š$ŠãŠ‰ã’f’†Š$ŠE’èŠeãŠeŠEã£H’Æyy‚ŠD›´œ±””p”p”O”pœœœ±œ±¤±¤Ñ¤Ñ¤°¤°¤±¬ÑµÅRՒÝóÞÝÒՑՐÕPÌÎÄ­ÍÝÒÞ4ÞÞ4Þ4Õ²ÍPՑÍÄμ¼´L«ê´ «ê«ê£ˆ«¨£h›&›&šä’Ã’Ä’Ä’Ä’å’åŠ¤Š¤’Å’Ä’Å›'›«©Åͽ¬ò¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¤Ñ¤Ñ¤Ð¤°”œÑ¤Ñ¤Ñ¤Ñ¤Ñ¤ò¥¥¥¤ò¤ò¤ñ¤Ñ¤ñ¤ò¤ò¥œ ‚d‚$Šd‚E‚$‚E‚ãã‚ŠŠ%Š$’†ŠEŠfŠfŠ%Šf’¦’Ç’ç›IyŠd³É´Ð””p”p”Oœ¤¬°¼ð½Å1ÍQÍqÍQÅ0ÍQÍQÍQÕqÍ/Õ/ÕpՑݲՑÍOÍ/ččÕPÕ±Õ±ÞÝóÝóÕÒՑÍPÍÄμ´L¼¼l´ «ê«É«©£ˆ›&›’ä’¤’¤’ƒ’£Š¤Š„ФФ’¤’Ä’å“£h¼®Í¼Ï¬Ñ¤Ñ¤Ñ¤Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¤Ñ¤Ñ¤Ñ¤Ñ¤Ñ”pœ±¤ñ¤ò¤ò¤ò¤ò¤ò¥¥¥¤ò¤ñ¤Ñ¤ñ¤ñ¤ò¤ò“i‚#‚E‚e‚$‚‚yãyÃyÁŠŠ%’éŠF’è‚%ŠfŠf““)«ì¼Ž“‚D‚#šå¼¬Ð¬°¬´ŽÄÎÅÍ/ÕPÕpÝÒݱՑݑݑÝÒÝòՑÕqÕ/ÌîÄÎÄ­Õ/ݱՑÕPÌîÄlčÌîÕPձՑձձՑÍPÕpÍč´ ÄïÄ­´+´ +«ê«ê«É›G›’å’Ä’¤Š¤ŠƒŠ„ЄХЄЄ’¤’Ä’å´,ÍÄδФѤѤѤѤѤѤѤѤѤѤѤѤ±¤Ñ”œ±¤Ñ¤ò¤ò¤ò¤ò¤ò¥­¤ò¤ñ¤ñ¤Ñ¤Ñ¤Ñ¤ò¤°’æz‚D‚EyäyäyäyäyÁäŠF‚ЇŠf’è’È‚y‚E“)«ìÅ1´m›Hq¢Šƒ³ÉÕPÕqÍÕÕOÕpՑձձݲÝÒݱÕpÕ/ÕpÝÒՑÕpݑÕqÕPÍ/ÌîÕ/ÕpÕpÕpÌμL¼ +ČÕ/ÕpÍ/Í/ÕpÍÍ/ÍÄ­´+Ä­Ä­¼¼L¼l´+£¨£ˆ›G’å’Å’ÅŠ¤‚d‚C‚„Š„‚c‚CŠƒ’Ä«ÊÄÏÄ­¼ð¬ñ¤Ñ¤Ñ¤±¤±¤±¤±¤±¤±¤±¤±¤±¤±¤±¤Ñ”œÑ¤ñ¤ò¥¥¤ò¤ò¥­¤ò¤ñ¤Ñ¤Ñ¤Ñ¤Ñ¥œoryã‚D‚EqäyäyÄyÃyÄz‚yÄyÃyäŠÈЧ‚äy‚y£‚%“(›i´¯›‰‚e‚e‚#’åÄîÕ±ÕpձՑÕqՑݱÝÒÝÓՑݲݱݲՑÕPÕpÕpÕpݑÝóÝóݲÕpÕOÕ/ÕpÕpÌî´ +³ÉÄkÕ/ÄÍÄ­ÍÄÍÌîͼ´L¼lÄlČčÄÍ«ê«ê¬ +£ˆ›&’å’å‚c‚C‚#‚C‚C‚dŠ„ŠÅ£©Ä®¼L¼Ž¼ñ¬Ñ¤Ñ¤±¤±¤±¤±¤±¤±¤±¤±¤±¤±¤±¤±¤Ñ”œÑ¤Ñ¤ñ¤ò¤ò¤ò¤ñ¤ò¥¥¤ò¤Ñ¤Ñ¤ñ¤ò¥œ-zDz‚D‚EqÄy£yÃy£y£yäy£yä‚%‚F‚fyÃyÄzЇ‚f‚%‚f‚†£«£Ëz$z$‚…Š¥´ ÕOÕpՑՑՑՑÕpÕpݱÝÒÝÒՑݲݲÕOÕ/ÕPՑݑÕpݐÝòÝóݱՑÌÎÕ/ÕOÌΫ¨«¨ÌÍČÄlÌÍĭČĭ¼¼ÄkÄK¼kÄ­Ä­´+¼l´ +£ˆ›F“Šå‚„‚czCz#zC‚dŠÅ«ëÄ®¼L´M¼ð´ñ¬Ñ¤Ñ¤±¤±¤±¤±¤±¤±¤±¤±¤°¤°¤°¤±¤±œœÑœÑ¤Ñ¤ñ¤ò¤ò¤ñ¤ò­¥¤ò¤ñ¤ò¤ò¤ò¤ò“ì‚Dyã‚D‚eq£q£q£q£yÃq£qƒyäyäyäz‚%‚%Šè“ ŠÈŠé“J“‚E¬Mz‚eŠÆŠ¥£hÄ­ÕOՑÕPÕpՑՑÕpÕpՐՐÝÒÝÒݱÝÒÝÒÕpÍ/ՑݑÕPÕ/ÕpݰÝÑÕpÌÎÕ/ÕOČ«ˆ´ +čČĬĭ¼KÄlč¼l¼ +¼ +¼kČČÄͼl«ê¬ +›GпХ‚„‚dz#z#r‚…«ëÄ®´,´L½½2´ñ¬Ñ¤Ñ¤Ñ¤±¤±¤±¤Ñ¤Ñ¤±¤±¤°¤°¤°¤±¤Ñ”œ±œÑœÑ¤Ñ¤ò¤ñ¤ñ¥­¥¥¤ò¤ò¤ò¤Ñ¤ò“«z$z‚E‚fqÄq£qƒqƒqƒqƒqƒqƒqƒyĂ&z‚‡“K›Í›k“*‹ ŠÇ£«´Ž‚Eyä‚d‚d’Æ´ ÌîÌîÕpÕPÍ/ÌîÍÕPÕpÕOՑÝÒݱՑÝÒÝÒÌîÌÎÕPÕpÌÎÌ­ÍÕOݱÍčÌîÕOĬ«¨³ê¼l¼k¼K³é¼KÄ­´ +³é´ +¼ +»é¼J¼l´+´ ¬ ›‰“‚¤zCz#z#r‚…´mÄδ,¼L¼ÏÅ1µ¬Ñ¤Ñ¤Ñ¤Ñ¤±¤±¤Ñ¤Ñ¤Ñ¤±¤±¤±¤°¤°¤±¤Ñ”œ±œÑœÑ¤Ñ¤ñ¤ñ¤ñ¥­¥¥¥¤ò¤ÑœÑ¤ò“Šz$z‚EІziƒibiciƒiƒiƒqƒqƒyåqcz&‹ “l“KŠéŠé“)¬NÅ«ëqÃq£z$‚d“›h¼ÄlÍÕPÕOČČÍÕOÕpÕpÕOÕpÕOÕ/ݱÕ0čÄlÌÍÌîÄ­Ì­ÌÍÕOÕ/¼K¼LÍÕoÄͫɳê¼K´ +«‡³éČ³é´ +¼+«‡³é³È´K¼+«É¬ ¬ ›h‚¥rzCzdŠÅ´mͼL¼LÄÎŽ¬ñ¬Ñ¬Ñ¤Ñ¤Ñ¤±¤±¤Ñ¤Ñ¤Ñ¤Ñ¤±¤±¤±¤°¤±¤Ñ”œÑ¤Ñ¤Ñ¤Ñ¤ñ¤Ñ¤ò­­¥¥¥¤òœÑœÑ¤ò‹jz$zE‚EІ‚FiƒabaciƒacicicibiBqåŠê‚É‚‡ŠÈ‚ÈŠé¬.¼ñ¬ ‚¦qäiƒqÃz$Š„“¬ +Ä­¼KÌîÍÌÍÌîÄKČÌíÌîÍ/ÕoÕpÕ/ÌíÕ/ÕPÄ­Ä­ÕÕÌî̬ÌÍÕ.̌¼KÄlÌíÕ/¼k«¨«ê«©£f£g¼l³é¼+¼*«‡«¨«ÉČ«ê´ +´+«ê›h‚…rzd“´+ͼL¼K¼ÄðÅ1µ¬ñ¬Ñ¬ñ¬Ñ¤Ñ¤Ñ¤Ñ¤Ñ¤Ñ¤Ñ¤Ñ¤±¤±¤°¤°¤Ð¤Ñ”‘œÑ¤Ñ¤Ñ¤ò¤ò¤ñ¤ò¥¥¥¥¥¤òœÑœÑœÑ“«zDz$z‚E‚fz%icacacacacaCaCaCrrz‚ˆ‚¨z›Œ´°¬N‚…q£qãababz‚dФ›'¼Äl¼*ČÌîÍÄ­¼KÄkÄkÌÍÕ.ÕOÕpÕOÕÕpÕpÕ/Í/ÌîÍÍÌÍÕ Õ.̌ÄJĬÌíͳé£g«¨›g£g¼+³é«É³é«‡«È¼K´*´+´*«é£Ê›©›‰“'›G£¨ÄÎÄ­¼+¼l¼®Å½µ¬Ñ¬ñ¬ñ¬ñ¬Ñ¤Ñ¤Ñ¤Ñ¤Ñ¤Ñ¤Ñ¤Ñ¤±¤±¤±¤Ñ¤Ñ”œÑœÑ¤ò¤ò¤ò¤ò¤ò¤ò¤ò¥¥¥¤òœÑœÑœ‹ŠÆz%qäyä‚f‚fqåi„acacacacaDaCadi¤qåzFz%‚ɬO´£ËŠèaiƒz$i‚zyã‚D‚„£hÄ­¼*¼KÄ­ÄÍÄÍÄÍĬ¼ »éÄkÕ.ՐÕpÕ/ÕpՑÍÌÎÄ­ÄÎÄÎÄ­ÌÍÕO̬̬Ìí¼KÄK¼ £f£‡«¨£ˆ«ê«ˆ«¨³é£‡´+¼K«é«É«É¬ +´+´ ´ +£¨«É´ Äï¼K´+¼mÄð½´ñ¬Ñ¬ñ¬ñ¬ñ¬ñ¬Ñ¤Ñ¤Ñ¤Ñ¤Ñ¤Ñ¤Ñ¤Ñ¤Ñ¤±¤±¤Ñ¤Ñ”œ±œÑ¤ò¤ò¤ò¤ò¤ò¤ò¥¥¥¥¤ò¤Ñœò”NqãŠæ‚†qäqäz‚Ez%acada„a„adYdYDaDiÅr&zG‹ +›í´°›«“£ªŠÇibabi¢i¢i‚r‚¥“'¼ÎÄ­¼KČÄl¼L¼Œ¼l¼*¼*³È¼*̌ÌÌÍ ÕOÕoÄ­ÄmÄlÌ­¼+¼ ¼*ÌÍČČÌí̬«¨³¨«‡«‡«È›G›F£g«É«É´ +´ +´ +«É«É´ +¼K´*«É«ˆ«É«É´LÄ­¼ ´+´m¼ðµ´ò¬ñ¬ñ¬ò¬ñ¬ñ¬ñ¬Ñ¤Ñ¤Ñ¤Ñ¤Ñ¬Ñ¤Ñ¤Ñ¤Ñ¤Ñ¤Ñ¤Ñ”œ±¤Ñ¤ò¤ò¥¤ò¥¥¥¥¥¥¤ò¤ò¥‹Ši ’炦z%qäqäzzi„a„a„YDY#Q$Y#YdiæiÅzˆ“l›î›í‚gŠè“(ЦYYBiÃiÃqãzDФ£©Å¼¼+¼+¼+¼+¼l¼K´ +´ ³È«§³ÈÄJÌíÕOÕOÌμl´ ÄL¼L«‰«¨Ì¬Ì¼ ÌíÌí³é«‡«§³È›&’å«É£©«Ê³ê«¨«ê´+´+¼l´ ³É£ˆ£ˆ«É«É´LÄl¼+´M¼¯¼ð´ñ¬ñ¬ñ¬ñ¬ñ¬ñ¬ñ¬ñ¬Ñ¤Ñ¤Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¤Ñ¤Ñ¤Ñ”œ±¤Ñ¤ò¥¥­¥­­­­¥¥¤ò¥ƒiЦ‹zfiåqÄqÄqäi„adQ#QIIHâQDYdj‹k›¬“¬‚ézf‚‡qÃzYaBababrzDŠå£É¼´+«É´ +¼+ÄkÄͼ­£g£F«†«f³†¼ ̬ÕOÕpÕPÌμ ¼KÌÍ´ +’å¼KÕO´*›G¼KÍÍ.¼ «f³È³É›G«¨£¨£ˆ£ˆ«¨´+Äl¼K«¨«‡«È«¨›&«É¼LÄ­¼K¬ ¬n´¯´Ð¬Ð¬°¤Ñ¬Ñ¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¤Ñ¤Ñ¤Ñ”‘œÑ¤ò¥­­3­­­2­3­3­2­¥¤ò­‚Çi yã›i‚§r&iÄi¤qÄi¤Q@ÂIII@âQCrG‹K›¬“J›Š›j“(‚eiƒi‚aAabaAYBiÂ¥“£ˆ´+«é«É´+¼K¼ŒÄŒÄk³é£g«‡³è³†³ÇĬÕ/ÕpÕPÕp¼LÄlČ̭«©£gÌÍț&£g´*ÍÌͳȫ§ÄŒ´ +«È«¨£g³é¼lȼK¼k«¨›F«ê«É«©´+ȼK³ê¬ ´Ž¬¯¤¤¤°¤Ñ¬Ñ¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬ñ¬Ñ¤Ñ¬Ñ¤Ñ¤Ñ”‘œÑ¤ò¥­2­2­3­3­3­3­3­3­2­­´ÐŠæi i ’Æ“)zFa¤a¤iÄac@Á@ÂI#QDQCIYCrz¨“j›¬¬-£Ê“H‚¦i£YYYAY!YBa‚‚dŠæ›h£¨«é³é¼+¼l´*¼KČÌÍČ³è³§£³‡Ä¬ÕpÍ/ÌîÕPÄîčÄÎĬĭ£h´*Ìí«¨›šä¼*ċ¼ «‡¼*¼K¼K¼K³È³é¼KČČÄl´+£¨´ +«É´+ČÄl¼*´ +´,´Ž¬°¤°¤°¤Ñ¬Ñ¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¤Ñ¤Ñ¤Ñœ±œÑ¤ò¥­2­2­3­3­3­3­3­3­3­´ð¼’æiai q‚’Æ‚†aÄa¤ri¤IIII#I#a¥z'r&zF‹(¤ ›«“J‚ÇrqãabaBaba‚a¢iäz$ŠÅ›G£h£‡«‡«é¼+¼l´ +«é´ +ÄkÄk¼K«f³§ÌÍÌíÄkÄkČÍ/ÄÍÄÎÄ­ÌͼK³êȼ +£›´*Äk³†«f«‡¼ ȼJ³§£F´ ¼KÄkĬÄk¼*¼K¼+ÄKÄKÄK¼*¼L´Ž¬¤¤¤°¤±¬Ñ¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬ñ¬ñ¬ñ¬ñ¬ò¬ò¬Ñ¤Ñ¤Ñ¤Ñ¤±œ±¤ò¥¥¥­3­3­3­3­3­3­3­3­´¯¬ ’æzi‚ibq‚‚$‚†‚§‚§rY„A@âI#I#a¤qåqåqåiåa¤a£rFŠé‹ ‚‡qäi£a£iÃzd‚„‚dzB’å›h›&›&£©«É«é£¨«©«¨«‡ÄŒÍ¼*³È¼ Ä*̬ͼ*ÌÍÌî¼+Čĭĭ«‡«‡ÄŒ«¨£%Čĭ«‡£E££%¼K¼Œ¼*£E«g´ ¼ ¼*¼*ČÄkÄJ¼ ¼ +´ +¼LÄϼ﬏¤¤°¤°¤±¬Ñ¬ñ¬ò¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬ñ¬ò¬ò¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñœ±¤ò¥¥¥­3­3­3­3­3­3­3­2¬ñ¬M›ˆŠÅŠ…qäiƒiBi‚$›HŠèzgYÅ8â0¡00¡HâH€HÁY"YQr%zEiÃr‚é‚é‚§zezE‚…‚„Š£i¡‚B››H«©«¨£¨£ˆ«É£fšÃ’£´*ÌÍ«§›£%³Èͼk³§¼KÄδ+¼l¼+Ä­³¨£E¼J«¨£gČÌͳé£F£šã£f¼*ȳ¨£f«‡«f«‡³é¼ »è¼ ¼ +¼+´+´m¼Ï¼Ï¬°¤¤¤°¤Ñ¬Ñ¬ñ¬ò¬ñ¬ò¬ñ¬Ñ¬Ñ¬ñ¬ò¬ñ¬ò¬ò¬ò¬ò¬ñ¬Ñ¬Ñœ±œò¥¥¥­3­3­3­3­3­2­2­¬£ê“G‚d‚…rqåqäiBy䊯ŠçrfIC98â0Â0Â8â8¡0`8¡Háaca„i¤rrFr%r&‚é‹k‚ÇzezDr‚Cz"’£Š¤£ˆ£g£‡«§£%šÃ’££f¼l£‡Š!’‚£´ ÕO¼l³é«ˆ¼K¼l¼+¼K³È¼ ³È¼J³è£FÄ­Í.¼k£g£F«†£E«‡¼l´ +«É«¨«§¼ ¼*¼ ³¨«‡¼*Ä­ÄïÅ1½¬°¤¤¤°¤°¤Ñ¬Ñ¬ñ¬òµ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬ò­µ3µ¬ò¬ñ¬Ñ¬Ñ¬Ñœ±œÑ¥¥¥­3­3­3­3­3­2­´Ð¬,›ˆ“‚„‚dzEzfzgzЦ‚¦iåY¥9ADADA#ICAI"8Á @(`Q#YCi¤rrFriär%‚È‹J‹j“i‚„‚c‚C‚cŠƒŠ¤£©›F’Ä’¤’¤£g´ +›&‚!ŠA’¢«§Ìí¼kÄ­´*£F³È¼K«¨Äl³È³é³è«‡Äk’Ä«ÉÕOĬ£Fšå£‡´ +«§´ +¼K«¨£‡«È´ +¼ ³É«é´ +´+¼ÏÅq͓År´ñ¤°œ¤¤°¤Ñ¬Ñ­µ¬ñ¬Ñ¬Ñ¤Ñ¬Ñ­µµ¬ò¬ò¬ñ¬ñ¬Ñ¬Ñ¬Ñœ±œÑ¥¥¥­3­3­S­3­3­3¬ñ¬Ž£Ê“&‚„‚C‚…z†z‡z‡‹’æzeYcY¥A9ADI#jY¤QcI"0¡(I#YCYca„i¤iäiärFz‡jz§›Ì¬,ŠÅzqÂz#‚b›£©›&›&›&£ˆ’äŠa’‚›«¨Ä¬«¨£ˆ´K¼l³é¼K£G›%Äk¼K³È³éšä³È“›'ÌíÄÍ«‡šÄ£F¼k¼*¼*¼k´ +«§³é¼l³é«É´ +«ê¬,¼Ï½1½1½R¬ñ¤œ¤¤°¬Ñµ¬ò¬Ñ¬Ñ¬Ñ¬ñ­µ3­¬ñ¬ñ¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñœ±œÑ¤ò¥¥­3­3­3­3­¥­¬°¤,“'z"rŠ…Šè‚È“(›i‚¦r%Yƒ@â8â0ÂA#QcaÄj%Y¤aÄA"8ÂIY…aÅaÄrgz§zȋJ‹J‚Ç‹(“I›‰¤ ŠçzdŠÅzdqÁ£g£©Š¤´ +£F’ëȳé¼K«ÈФ‚"›&´ +Äμk«‡›&«¨«¨«‡«‡«†«É¼ £G“ÌÌÌî³éšÃ£%¼K¼l¼KČ´ +³é¼K¼K¼K¼K¼Œ´m´M´¼ð´ñ¬Ñ¬ñ¬°œœ¬ò­¬Ñ¬Ñ¬Ñ¬òµ3µ3¬ò¬Ñ¬Ñ¬Ñ¬ò¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñœ±œÑ¤ò¥¥¥­3­3­3¥¥­¬°›‰‚„qÂi‚d‚§z§›i›i‚Çr%ra¤A#IDAY¤r%rfj&rfY¤I#I$Y…ƒ zézț̤N´¯¤M›ª£ë¬,«é›ˆ£ë£ë£gФqâ‚"“£Ê£‡›£g¼K«¨šä‚!yá‚›¼lȼ*¼*¼k³Èšå«‡³è£E£ˆÄl£FŠ¥ÌíÍ.Äk›šÃ³é¼l¼KÌí¼J³È¼*ČĬÌÍÄî¼l´L¼®Äエ𤰜oœ¬ò¬Ñ¤±¤±¬òµ3µS¬ò¬Ñ¬Ñ¬Ñ¬Ñ¬ñ¬ñ¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñœ±œ±œÒ¤ò¥¥­3­3¥­­¬Ð›ÊŠÄzaaa‚zDz%‚§£ª›‰“(‚¦z‡rFaÅY¤8áaÄrFz¦‚Çz§ƒ*rˆb'j'›Ì¤N›Ì¤-¬n´ŽÅ0´Ž¬ £ê›ˆ£ˆ›%ŠÆ£Ë›Šbz›&£Ê›h£F«È£‡’Ä‚‚BŠƒ›F´*Ä­ÌîÌÍÄ­Äl´*£g³È¼ ´ «ê¼K£fzDÍÍÌÍ´ £%£E¼JÄkĬȼJ¼JÌÌÌÌÍÍÍ/Ց͒ճ͓͒½1´ñ¬Ñ¤œ¤Ñµ3µSµ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬ñ¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ”±œ±œÑ¤ò¥¥¥­­2­¬ñ¤n›‰‚¤i¢YBa¢‚„z†Šç£ª›‰“(Šè‚Ç‚‡z‡rfbjrEz†‹(‚è“‹›Í¤O¤.¬nÅÍrÍr¼ï¼®Å¼®´+´+£¨›G£g’£››jŠ¥Šƒ’ä›&«ë³é³è’Ä’£šä«§¼*ÄÎÍ/Ä­¼K´ +Ä­ÄÍÄͼL´ +´ ³é´*«È³éz#´KÕ.ÌÌÌíĬ³è¼ ̬̬ÌÍċċÌÍÌÍÌíÍ ÕOÞÞÝóÞUæwÞwͳ´ñ¬°¬òµSµ3¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ”±œ±œÑœÑ¤ò¥¥­­­¬ò¤Ñ›ì‚cYAYbiÂzD‚¦ŠÆ›‰›H‹ŠçŠçŠèrgj&ƒ +‚èz§‹J›«“Š›ì´¬Ž¼ðÅQżÎÅÄï´+´+«ê«É“G›G’Ä›%›%›’Ä£ª£g’Û&«É¼L«‡£g«§¼*ÄkÍÌî¼+£G›&«¨ÄŒÄî¼­«É´*¼l³È´ £F«f£ˆ´ +ÍÌͼkÍÍ/ČÌíÍÌíÌÍÍ Ìì̬ċ̬Í.ÕOՑÝòÞæVÞUÖͳŔµS¬ñ¬Ñ¬Ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ”±œ±œÑœÑ¤ò¤ò¥¥­­­¬ñ›ëzCYAYBi¢i¢zeŠæ›G“‹‚¦‚¦‚ÈrgjG‚雫“j‚è›Ì¬M¬M´¼Ï¼Î¼ÏÄï¼®´,´ ³é«¨£ˆ«¨›&›&›%’Ä£F’団%«Ê›h›%«§¼K´ +«‡´ +¼KÄkÄ®´+›%Šƒ’Ä«¨¼lÄî´K«‡«¨¼K´ «‡¼*«‡ÄŒ¼lÄÍÕ/¼*³ÉÍÍOÌíÌíÌÍÌíÕ.Í ÌíÌÌÌíÕ.Í.ÕoÕoÕÒÝÒÝÒÕÔÍõÅs¬ñ¬ñ¬ñ¬ñ¬ò¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ”±œ±œÑœ±œÑ¤ò¥¥¥¥¬ò¤o“Hz"a‚i¢ri¢a‚DŠ…‚¥‚…z†z†z†z‡rg‹I¤ ´¯´¯›ì¬n¼®´Ž´Ž¼m´l´m´L´,«ê£ˆ£‡£g›F’å›&£g’£’ä’ä’£šã›«ë£g£f«§¼l³È´ +¼+Ä­¼L«‡’¤’£’Ä£g«É¼ŒÌ›F´ ¼k«‡³é´ +³É¼ŒÍ/ÍČ«‡«§ÄŒÄ­ÌÍ̬ÌÍÍÕ.ÌíÕ.ÕoÍ.Õ.ÕOՑÍ.Í.ՒÕÔ½¬Ð¤°¤±¬Ñ¬ò¬ò¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ”±œÑœÑœÑœÑ¤ò¥¤ò¤ò¤ò¤Ñ¤N“'‚CiÂi㊥ra‚a‚i‚iÂrzezezfzf‚烓Ь-¼®Äð´¯´Ž´L´M¼m´+£©£©´ +«ê£ˆ›F£F’劃›%£‡›%›%’£›%›E›%£‡´,£F«f¼L¼+´ +¼ +Ä­¼*›’b’ƒ’Ä£F«¨¼lÍ´K›F´ +Č´ £‡´ +šÄ¼KÍOÍ/ȼ «E«F¼ +ÌíÌÍČÌÌÌíÌíÕoÕ.ÌíÕ.ÕpÍ.Õ.ÕPÕqÍP´¯¤¤°¤Ñ¬Ñ¬ò¬ò¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñœ±œÑœÑœÑœÑ¤ò¤ò¥¥¥¬ñ¤n“'zCqÂz#ŠÅzCYbIQ!jŠÅ““'r%rF›Ë›Ë›«¤ ´mÄϼ®¼®¬M¬,¬,´L¬ ›‰£‰«ê«É›&£g›F“£F«‡››&«‡£f£g£%£%«É´ «‡³ê¼l³é«¨¼L¼+›š¢«fšÄ’££fčĮÄӈ«¨¼k¼K£F«È³È›¼KÕOÍO³É³§«f³èÄ­ÌíÌÌÌíÌíÌ¬Õ Õ.ÕoÕ±ÌìÍ ÝóÕ±ÕOÕ/ÄϤo¤°¬Ñ¬Ñ¬ñ¬ò¬ñ¬Ñ¬Ñ¬Ñ¬ò¬ò¬ò¬ò¬ò¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñœ±œÑœÑœÒ¤ò¤ò¤ò¥­­µ¬n‹'‚cr‚d‹‚¥iãiãŠÆ›F››g›g‹‚…›h¬M¬n¬n¬-´n´n´L´L´,£ë«ë´+´L›ª£©«É´ £©£©›G£g«‡£F£F«‡«f››%£f«f¼L´ +«‡¼«¨«¨´+³ê£F«f¼K£FŠc›¼+ÄÎÍ´K«¨³É´*«¨£F¼+«‡›ÌîÕO¼*£«‡¼*Č̬̬ÌÌċÌíÕ ÕÞݏÕ.ՑÕpÕÍ ÌîÄԐ¬Ñ¬Ñ¬Ñ¬ñ¬ñ¬ò­­µ¬ò¬ò¬ò¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ”‘œ±œÑœÒ¤ò¤ò¤ò¤ò¤ò¬ò¬ñ¤M“H‚dz#ŠÆ›ˆ›‰›G›g›F’ä’ä›F£ˆ›&Šæ“H›‰¬-´Ž´M£ì£ì£Ê£©«ë£Ê£©«é´+«ê›h«Ê´+¬ ´+¬ ¬ ¬ ´L´ «‡«¨«¨«¨£g«‡³È¼m«g¼+«É«g³ê«É«¨¼K¼´ +Šb’Ä«¨¼ŒÍÄΫɛ%´ +³é›F«¨¼l’£³éÌÍÌí£%£F¼KÍÌ­Äk̬ÌÌÕ ÕÝóÕoÕoÝÒÕNÕ.ՐÕ.Ìͼ¯¬°¤°¤±¬Ñ­µ3µ2µ¬ò¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ”‘”±œÑœÒ¤ò¤ò¤ò¤ò¤ò­¬ñ¤-“'‚C‚C“G£©£¨£f›F›’å›g›g““““'£Ê¬,¬-¬ ¬ «ë¬,«ê£ˆ£©›ˆ£h£ˆ£¨›h£©«¨«©³É£ˆ£ˆ£ˆ«©£ˆ´ ´ ¼+¼+³È³é«¨¼L¼L³é¬ £F«É«ˆ«ÈčÄï´*ŠBŠc£g¼+¼ÄΫé£F³é¼*£g«ˆ¼K’ƒ£%ÌîÍ/£f£%¼KÍ/Ìî¼*̬ÌíÕ.ÝóÕNÕ Õ‘Ý°ÝÝÕÝÒÕ/Äάn¤¬òµ3µ3­¬ò¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ”‘”‘œÑ¤ò¤ò¤ò¤ò¤ò¤ò¬ò¬°¤ ‹‚d“'«Ê£g›%Š£’å“&›h£ˆ£©›g“&“›G£ê¬,¬,¬,£ë£ë¬ ¬ £ˆ›G£ˆ›G›g³ê´+«ê«ê«É«¨«©«ˆ«‡£g›£g«É³ê¼l¼m¼K³¨³ÈÄ®«¨«Ê£g«É£g³é¼L¼®¼L›ŠB›«¨´ +Äμ­«¨£g´ +£g£g´ +’ÅŠƒÄÍÍ/£gšÃ¼*Í/Í/ÄkÄkÌíՑÕOÕÕ²ÕOݱÝñݐݱՐÕOͼð´ñµ¬ñ¬Ñ¬ò¬ò¬ò¬ñ¬ò¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ”q”‘œÑ¤ò¤ò¤ò¤ñ¤Ñ¤Ñ¤Ñ¬n£ë‹‚d›ª£ˆŠƒŠ¤›h›‰£É£¨£¨£É£ˆ£ˆ¬ +´l´L¬ £É›‰›©£©£©£‰£¨›h«©£©›h³ê´+´ +«ê«¨«¨«É«ˆ£g£‡«É´ +¼ +³É³É´ +¼L¼L´ +Ä®¼L«Ê«©£g£g³É´ ¼m¼³êŠc’ƒ£F´ ¼Ä­£‡£g£F›£‡«¨Šƒ‚B¼KÌÍ£&’ü*ÕpÕpÌÍÄKÍ0ÕqՐÕÓÕPÝoÝÑÝòÝòݰݱÝÑՑÄ﬏¬°¬Ñ¬ñ¬ò¬ò¬ñ¬ñ¬ñ¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ”‘”‘œÑœÒ¤ò¤ò¤ñ¤Ñ¤Ñ¤°¬n£ë‹‚„›h›h“'›h›ª£Ê£ê«é£©«ê£©£¨›ˆ“G£©«Ê£É£ˆ£©£ê›‰›G£ˆ£ˆ«É´ £©«©«É«ê³ê«¨«¨³É³É«¨«É¼+¼ +¼+³É£g«‡´ +Ä®Åč¼®«Ê£ªšå«ˆ«‡³ê¼Ä®¼lŠ„‚"›&³ê¼m¼«ˆ›“šä£g’åyá‚"¼KțšÃ¼KÍPÍPÄkČÍ0ÕpÞÕ²ÌíÔíÕOݰÝÑæ4æ4ÝóÕoÄ¬°¬Ñ¬ñ¬ñ¬ò¬ñ¬ñ¬ñ¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ”p”‘œÑœÒ¤ò¤ò¤ò¤Ñ¤Ñ¬¯¬n›Ê‹‹£Ê£©›ˆ£©´,´L´L´K´+«ê«ê£©›ˆ£©£ë£ê£©£©›h›h£©£©£©¬ «ê«Ê«ê«É«¨³ê«©«¨£G£F£g«Ê£©£ˆ«‡³È¼*³É£&³ê¼LÄÎÍQÄΫ꫈’¤››G«ë¼+Ä®¼­›‚’¤«¨´ +¼L«¨’££F£%›&›q¡’¤¼*Č’Å’£¼lÕqÌî¼ +¼KÌÍÕ²ÕÓÕpÍÌíÕpݱÝÒÝòÝÑÝòÝÑݐĮ´¬Ñ¬Ñ¬ñ¬ñ¬ò¬ò¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ”p”‘œÑœÒ¤ò¤ò¤Ñ¤Ñ¤°¬¬M›‰Šæ‹£Ê«ë¬ +£©´ ¼l¼K¼l¼L¼l¼´ «ê«ê£Ê›‰“'“'›G£ˆ¬ ¬ +£©«ê´ +´+¬ «©«©«Ê«¨«¨«ˆ›'£h´+´L£ˆšåšÄ£G³é«‡£g´+¼lÍÍ0¼L£%’ÅŠc›£‰´ Ä­ÄΫ©Šb‚"’Ä›&£ˆ£g£%’Ä››’ÅqÁšå¼*Ì­›šäčÕqÄ­«g³ÈČÍPÝÓÕ²Õ±ÕPÕ/ÕÕNÝÑææ3æÝòÍ/´¬Ñ¬ñ¬ñ¬ñ¬ò¬ò¬ò¬ñ¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ”p”‘œÑœÒ¤Ò¤ÑœÑ¤°¤¬Ž¤,“i‚ÅŠÅ£©£Ê«Ê´ +«ê³ê«É«‡´ +¼K¼Œ¼l´+´+¬ +¬+£©“G£ˆ«ê«ê«ê«ê«ê³ê´ +´ +«Ê´ +«É³É£‡«ˆ£ˆ«¨«¨«ˆ£F›£&£h£ˆ«ˆ³ê³ê¼LÄ®Í0¼›šå‚#‚"›G´ +¼ÄμL›yâ‚"Ф›«©›i’æz#Šƒ‚"›³é¼K£F›&ÄîÕp´*šÃ«g¼*ÕpÕ²ÞÝóÕOÕ.ÕpݱææTæ3ÝÒÝòÝÒÅ´Ñ´ò´ò´òµ¬ò¬ò¬ñ¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ”‘”‘œÑœÒœÑ¤Ñœ±¤¬´m£ë“HŠÅŠÆ“’æŠ¤Š¤’å›G«ˆ«¨£ˆ³é¼+´+³é´+´ +´+´+¬ «ê¬ +«ê£©«ê«ê«ê«É«é«É«É£g£G£ˆ£h£‰«ˆ£%££F«É´ +¼L´ £ˆ«É¼m¼®ÄÎÄïÄΫfŠbЦz$“´+¼L¼ÄŒ›&qâ‚"Šƒ›G´ +zqŠ„yâ‚c‚Šc£g³é’å›ÄîÍP¼+’££¼+Í/ÕóÞÕ/ÌîÕpÞæ4ÝóææÝòÝÑÞÕp´¬±¬Ñ¬ñ¬ñ¬ñ¬ñ¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¤Ñ¤±”‘”‘œ±œÑœÑœ°¤´¯´®¬M›Ê‹'‹›i›H’å““zDz"’Å«¨«ˆ£ˆ³É³É«É¼+¼K«ê´ «ê£É£ˆ£ˆ£©«ê£©£ˆ¬ +´ ´ +´+«É“'›'«©´ «¨³É¼,³ê«Ê´ ¼K´+«©«‡¼+ÄïÄ-¼m«g‚"Ц“›G³ê¼L¼m¼l«Ê‚Cyâ’å«É£g‚"z#z#z#ФŠc‚B›&«ˆŠc›ÌïÍ/´+’Å£%³¨ÍÝóՑÕPÕPÝpݲÝóÞæÝóÝòÝÒæݱÄϴЬѬñ¬ñ¬ñ¬ñ¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬±¬±¤±”p”œ±œ±œœo¬´Ž¬L£Ê“h‹“'›ª£©›h£ˆ«Ê«ë“'‚„Š„šå’¤›G«¨´ +³é¼+´*´+´ +£©›h£É´L´+´+´K¼l´+´ +«¨«¨«ê£ˆ´ +¼+³Ê´+¼¼m¼+¼K¼+¼l´+£G£&«©¼m¼Ž´L£g‚"‚D’Å£‰«Ê¼LÄm¼´,‚Cz£ˆ³ê£gФ‚DЅФ’æ›’¤Š¤Š¤yÁ£GÌïÌÍ´ +šåšÄ³‡ÍÝÒÝÒÕPÕÕpݲÝóÞæ4ÞÝòݱݱÝpŴѬñ¬ñ¬ñ¬ñ¬ñ¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬±¤±¤±Œp”œÑœ±œo¤N´m´M£ë›h“'‹“H£©«Ê£©›g›G£G«¨£gФФ›&›'›G’囫‡³é´+«ê¼l´l´,¬+«ê«é´+³ê´+¼K³ê£ˆ«ê´+¼m´L´M¼m¼´,¼L¼,«©³Ê´ +«ˆ«ˆ«ˆ«ª¬ ¼m£ˆŠB‚Šƒ’å«ê´ ¼,´+£‰‚d‚#£h«©£g’¤’¥’¤Šc‚d£ˆ£g’ƒz‚#£ˆÄÄ³é’Ä’¢³‡ÌîՑÕpÕÕpݑݑÝÒÝÒݱÝÒÝÑݱݱÍį´Ñ¬ò¬ò¬ñ¬ñ¬ñ¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬±¬±¤°¤°Œp”‘œÑœ±¤¬n´L¤ ›©“H“G““›‰£©›g›&ŠƒŠ„’Å›’å‚C’æ«É£©›&Ф£g¼K¼l´ ´+´ ´ ´L´l¼Œ¼l´ +«ê«ê´ +´+³ê´+´+«ë¼MÄ®¼®Ä®¼M´,´,«©£h£h£H´ ´M£ª£‰£'yâqq¢’Å«©´,¼L´ «ê‚e‚D£‰’æ›&’Œ报šå‚#›³Ê£&yÁ‚C«É¼LÄ­¼ šä’‚³¨ÌÎÕ/ÌîÕ0ÕpÕ/ÍÍ0ÍÌïÕPÝÒݱÕOÕÄδѴò¬ò¬ñ¬ñ¬ñ¬Ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬±¬±¤°¤°Œq”‘œÑœ°¬´m¬ £Ê›‰“H“'Šæ’棉£‰“’å’¤’¤Š¥‚C“’Åz#’棩«é«Ê£ˆ«¨³é¼l¼´+´+¼¼¼l¼Œ¼L´ +³é«¨³É«©«©«ª´ ¼m¼L«É«ˆ›'›£i£h’¥Š…›£h«Ê£©›H›‚Ciaa!’¥«É´ ³ë³Ê«ˆŠ¥‚D’Åz#›&Ф’æ’Æ›&‚#’ūɫgŠCŠc£ˆ¼+¼+£G‚#𣼠+č¼mĮč¼+´ ÄlÌîč´ ³êČÌÍÌ­Äm´¯¬ñ´ò´ò¬ò¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬±¬±¤°¤°Œp”œ±¤¤ «Ê£©›‰›©›©“G‹“'›h›'’劤’Ä’å£h›&Ф››'’å£g«©³é£ˆ£g´ +¼K¼lĭĭȼŒ¼K´*¼K³ê«É£F››’ÆŠÆŠ…‚$i¢i¢rz#iÂi¢YAQqã‚EŠe’¦›£H’ÆŠdy¡q¢z›«h£G£‰›G’å‚Cy⊅£g£‰£‰’æŠ„Š¤‚d›’ĚĚä£g´ +«©’¤ŠB£´ ¼,¼,«‰£G’æ›'£H›’åŠÆ‚d‚CŠ„£G´nµµ´ò´ò¬ò¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬±¬±¬°¤°¤°Œp”pœ±œo›ª›g›ˆ£©£ê£Ê›hŠæ›H£h›'›'’æ’Å’¤Š¤šÄ›%›&’åŠÅŠæ›G›F£G›£ˆ´+¼L¼+¼K¼+´+¼K¼+›&›šå‚"zz$qãqÃiƒQ8 YAa‚aYAa¢0á Âa‚Q!YAqäzEŠdŠ„Šdy¡qayâ’ŚŚæ›šåŠ„Šd’Å£h£‰£ª“'›'’Å›'‚#‚CŠcšå’¤«G£GšåŠB𣳩£h›Hzea¢aãYÃjG›Š“zC‚Dz#qã‚$›&´-´Ñµ3µ3µ´ò¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬±¬°¬±¤°Œp”pœœO›‰›&›ˆ£ê£Ê›h’劤“'£h›G›G£ˆ›'’¤ŠƒŠc’Ä›&›&“‚czC››&›G£h«É´ ³é£G£G«¨«¨£h£g’ÄyÁiAiAaAaAqェY¤0áaÃjjiÂiã ÁÂiÁi¡YbQ!HàY!Š#ŠdŠD‚#’¤’Å’„ŠdŠd‚#Š„›'£‰«©£i›‹£Ë“Š„›G’劄šåŠcŠC’ƒ’ĚĢå«GrEA"bb%bEj†QÄbH¬o¼Ï¬ £h’ÆŠ…’å£h´n¬Ñ¬ñµµ3µ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬±¬±¬°¤°Œp”pœœO›Š›h£‰›G’Å‚cyÁqâŠÆ›G“’å’Å’¤ŠcŠ¥šå›£h£ˆ›G£ˆ«¨£ˆ’å›G«©£g£g£Fšå’ÅŠc‚‚#yâyÂzqÂz‚DŠÆ›ª£ìrg9"QÄjErErDr¡)riãiäY‚YA0€8€ã’¥’¥››’¥Š„ŠCyâ‚d’Å›'£‰«ë´N¬-’æŠc’Å›G’å’¤yâŠcšÅ£&«Gšæze ¡9cr…r¦rÈzÇbFƒK´ÐÍrÄÏ´L´L´ «É´ ´¯´ñ´ò´ò´òµ´ò¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬±¬±¬°Œp”pœœ.“i›H›h’æ‚CqÂiaqÛ'£©£ˆŠÅ‚d’Å›“’æ’å£h³ê«ˆ›&£G«É£h›&£&šå’cŠc’„‚#yâyâyÂq¡q¢‚d’Æ““«ê´L´¯‹kZRjfz…‚¦z…0Âb‚¦r$r$iãQ!8 @@€y⒤››'›'’ÅŠd‚#q¢zŠ„£‰´M´M›h’å“››&Š„q¢yâšå«h£GŠ¥rDr†Acb$rÇrÇ{{ZH‹­ÅRͳÅ0¼¼ÍÍ0Ìî¼Ï´ñ´ñ´ò´ò´ò¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬°¬°Œp”pœœO›Š“'’æ‚CqÂi‚i‚i¢Š¥£h£ˆ£h›'’æ’Å’å‚drq㊤£&›ŠÅ’å£GšÄŠczyÁy¢yÂqaAq‚‚q¢‚d›G›G£G›&´ ¼®¼ð´¯ƒ*RHb§z¦z§‚çY£‚Ɗ悦z…bYb0€ (@H ‚›£i£Š›Š…‚e‚Š¥“£‰´M¬-›H›G£h£h›'Š„y’¥«©£HrDjEzƃz„zÆs {){)R&ZH¤.ÕÔÕ³ÍQč¼LÌïÕpͼð´ñ¬ñ´ò´ò´ò¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬ÐŒP”p”œO›«“Š„‚Czi¢i¢‚D›G«É£ˆ£ˆ›’ÄŠƒ‚"‚C‚d‚Dz#Š¥›’ÅŠ„’¤‚#‚"q¡iAiaq¢q‚q¢yãy⊥›H«©£g£h£h«©´,ÅÍr´°bGRHs){‚ç‚æzǂ¦‹r†j%Ib(Â9$ `8`aB’Æ£‰«Ê›HŠ¥‚D‚D’Æ“£ª¬ ´M›G›'›G›G›GŠc‚C«Ê£‰a£bEj§zçzçƒr¦s s)Rg)b'¼ÐÕ³ÍQč¼,³êčÍͼð¬Ñ¬ñ¬ñ´ñ¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬ÑŒP”pœœN›ª“ФЄ‚cz"z‚d›H£ˆ£ˆ›&Šƒ‚yÂy¡yÂyÂyã‚C‚#Š„’¤ŠCqa`àa!i!q‚z‚#‚‚‚C›£©›&šÄ£G£©£h£h«ÊÅ1Ír¬NI¥Rh{ŠƒiƒI{{{rèYä1AèA†a8¡Y!’ç«ì´-£ª“ŠdŠ…Š…“›h«Ê«Ê›G›G“'›G›'Š„’æ´,z†1#Rjès){){'{béRg1eI¦›ìÍQÍ0´,«Ê´,´ Ä®Í/Í0¼ð´Ñ´Ñ´ñ´ñ¬ñ¬ñ¬ñ¬ñ¬ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬ÑŒ0ŒPœo¤n›ª’æŠæŠ„‚#‚#‚dŠ¥›h£g£g›'’Ä‚#iAXàXàa i!i!iAqqqaXÀaiayÂyÂyãyŠd›'£i›HŠcŠCšå«©«©›G’Å«ÊÍ1Ír¤ bQæRFk sJbÈRgAÅ â!B )E@8ÁQЦ´-´M£Ë“‚D‚…Š¥’æ›H£Ê£Ê›h›G“›G›GŠ„£‰³ëYå!%)IæbÈk RFRgZÊRIjG›ÌÍrÍr«ë£‰´L¼l¼lÄÎÌîÍ0ŴЬ°¬Ñ¬°¬°¬Ñ¬Ñ¬Ñ¬Ñ¬Ñ¬±¬Ñ¬Ñ¬±¬±¬±¬±¬ÑŒ”¤M¬M£ë“'’Å‚d‚#‚C‚d’æ£h£ˆ£h£&šäŠ„zq¢YXàaiAiAi!i!ai`ài!q¢‚#ŠC’„ЄЅ›£h£©£ª£h›'›£g«¨«©›HŠÅ›H¼ŽÍr¼¯zÈ(âA¦9dAÆR')¢(ã9$Q¥Y¤Y„Ir£©¬ «ë›ЅХЯ›(›'«ë£Ë£©£©›h›h£h“«Ê£‰aÄAd9(ÂAe9†9ÇR(rÉŠè¬ ÍQͬ +«©³ë¼,¼LÄmÄmÌîÄÍ´m´´¬n¬n¬o¬¬°¬Ñ¬±¬°¬°¬°¬°¬¬¬¬°¬°Œœ ¬M´m¬L›‰Š„‚c‚cz#zŠ„›'£g›&’Å’„ŠcziaiAa XàYiAq¢qiAi!aiay‚ŠC’„’„’Å›£H£‰›H›“›'’ÅŠcšæ›G’ÅŠ„‚d›(¼¯ÍR¬M‹)rFr%rEjiåiärFz§‹ ƒ+jq£“'¬,¬ £hŠæŠç“(›i›i£Ê£Ê£ª«ê«ë£ª£‰›H«ë“‚é‚ér%iäjaÄj%‹£«¼®ÍQÄÏ£ˆ›G«Ê«©«©´ ¼LÄmÍÌ¼m¼m¼L´L´M´M¬n¬o¬o¬o¬o¬o¤N¤N¤N¬N¬N¬NŒœ ¬L´m¬,›ªŠæŠc‚d‚dz‚C›&›’Ä’¤›'›'’æziAa!aAi¢qÂyâqq¢y¡iaiayŠCŠdŠdŠC’¤šå›£G«Ê«Ê£‰«ª£h›Š¥’æ››’劤›(«ëÄÏÄ𼍴 £ª›i“(“(“Šç‹ “­zgi£Š…£ª«ë£ª“'“'›‰£Ë«ë¬ ¬ «ë«ë«ë«ë£Ê›‰«ë“H‹l‹*ŠÇ“I›i£Š«ë¼ŽÍͼ£h£h£ˆ£ˆ£h£G«©¼ŽÍ/Í/ĭčČČČÄl¼L¼L´,´,¬,¬,¬ «ë«ë«ë«ë«ë«ë«ëœ ¬,´L´L¬ ›ª“‚C‚C‚„z#z#“›››’æ’ÅŠ¥Š¥Še‚DzEz$zqãi‚iayÂyâqy¡‚#ŠC‚C‚#‚#Šd’ŚŒ¥£'£h£h£h£h›G›H£‰›H›H›'›'ŠÅ“£ª´+¼¼Ž¼®¼Ž¼®´M£‰ŠÇ“kzÉi£z£h£Ê£‰£ª£Ë£Ë«ë´M´m«ë«É´+´,´,¬ £ª£Ê“(‹*‚É›I´m¼¯ÄÏÄÏÄμ®´+´ ´ £‰£©«Ê«É«¨«ÊÄÎÍ0Ìî̭Ĭ̬ÌÍ̭ĭČÄl¼K¼+¼K¼+´ +³é³É³É³È³¨«¨³ê¬L´m´m¬M¤ ›‰ŠæŠ„‚#‚#z#‚d›&£h£h£ˆ›G’å‚Cq¢iq¡zz‚$Š…‚EqÃiayÂyãyã‚#Šc’¤’¥Š„Š¥ŠCŠ"’ÅŠd‚’…£h£‰£i£h£‰£‰›i›H›h£©£h›'›'£©´M¼Ž¼Ž¼Ž¬,›HŠÅ‹rGaƒz›'›H›i›‰£Ë«ë£ë¬M´M«ë£©¬,´´L´m¬ £©zDrFŠè›I¼ÏÅÅÄδ,«Ê£Ê´L´+´ «ê«É´ ´ ¼,ÌïÍÌÍ̬ċĬ̬̬ĬĭĭĭĭČÄl¼*¼ +»é³é³È³¨³ê³É´´¬m¬,£ë›ª“'ŠÅЄЄЄХ›'›&›'›£G£h›GŠ¥qâaBibyâyâz‚e‚dqÂi‚z‚#ŠdŠ„’¦’æ’Å’¥ŠdyâŠD›Š…‚ŠD›i›H’æ’æ›£G£©›i›‰›h£ˆ›'›G›'£Ê´L´m¬ ›&Šc‚ÈrFY!z›'“'“H›i£ª«ë¬ ¬M´Ž¬,«ë´Ž¼®´m´Ž¬ «Êrj&“I›H´MÄï´m¬ ¬ «Ê£‰£‰«ê«É«Ê³ë¼,³Ê¼ŽÍ0ĭ̭ČÄkċČČĭÌÍÌÍÌíÌÍĬÄlÄk¼K¼*¼ +¼ +¼L¼ +³¨´Ž´Ž´m¬,›ë“i“ŠÅФФХХ›&›’団h£©›’¤Šd‚#i¢qÃyã‚DХЅ‚…‚d‚#z‚C’„’„ŠcŠd“’æ’¥’¥šæ›’抄›´ ´,£h’¥Š„’Æ£h›G›g›G£‰£ˆ’抄“£Ê£‰’æ“‚§zDiÂa£‚d’æ›H›i›h£Ê¬M´m´n´n´Ž¼¯¼¯Äð¼Ï´L«ê’åŠç‹*£©´L´M«ë£ˆ«Ê£Ë›G›G£h«Ê´ «Ê£g«ÊÍ0ÍÄlÄkÄkċÄkÄkĬÌÍ̬Ĭ̬ČÄkČČÄk¼KÄlÄÎȼ*¼ ´m¬m¬M¤,›Ë“iпФŠc‚C‚CŠ„›&›&’Ä’Ä›£h£h’¤‚yáyâyây¡yÁŠ„’Å’Å’¤Šc‚#zŠcЄЄ’Å“›'’æ’Æ›(›H“Šd’Å£‰«Ê«Ê«Ë£ª›h’æ’å’ÄŠ¤’å’å›&›'ŠÅ“&›‰ŠÆ“’çŠÆŠÆzD‚C’æ“(›H›H›i¤ ¬-´Ž´Ž¼Ž¼ÏÄïżϴM¬ ›G“›‹«ë«ê«Ê£‰“'’æ›G›h›G£ˆ›'›’壉ÅͼLÄKÄKÄJÄkÄkÄKČČÄKÄJÄJ¼)ÄJÄkÄkÄKÄlÌîÄ­ÄkÄK¼*´m¬L¬,¤ ›Ê“hпХ‚c‚#‚DŠæ›H›’å›'£H£G£g›GŠcq¡qq¢qiaq‚#’¤šÄ’„‚C‚‚#‚#Š…’æ›'šæ››'›h£Š›HŠ¥zy‚›«Ê£hŠ¥yâzЄФ’śХ›&“'“'›G“'Šæ›HŠç‚†zDŠ¥““'›H£ª£ª£Ë¬ ´n´Ž¼Ž¼m´m¼®¼Ï´M¬ £©›H£ª¬ «ê£©£©£©«Ê£‰£ˆ£h›’Å£©´LÍՒÍ0Äm¼+¼ »é¼ ¼ »é¼ ¼ ¼ ¼)¼ ¼)ÄJÄKÄJÄkÄÎÄlÄkÄkÄKÄK¬m¬M¬,¤ ›Ê“hŠæ‚¥‚„‚d‚CŠ¥’æ’Ä’Å›&«ˆ«©«ˆ«gšå‚y‚#q¢aAaAq¢yâi‚qq¡iaqq¢y‚#Šd’„’„’Æ›(›H«Ë¬ “’Å‚qŠd’¤ŠcХХ’护’£’Ä’å’æ›'£h“›H“'Šç’炦‚…ŠÅ““›'›i›‰£ª›ª¬-´N´n´Ž¼¯¼®¼Ï¼®¬ £©£‰£Ê«ë¬ «Ê›h£©«ê£‰›G£G£h´ Ä®ÄÏÌïÌïč¼L¼K¼*¼ »È³Ç³¦³¦»ÈÄ)Ä*ÄJÄkČÄJÄkÌÎÄkÄ*ÄkÄkÄkÄk´Ž´m¬,£ë›ª“HŠæzdz#z#‚#‚C’Å’å’Åšåšåšå£&£F›’ƒyâyâ‚C‚#yÂqyÂq¢qqq@iai!i!yâ‚ŠdŠ#ŠC£‰«ì«Ë«ë«Ê›H“’Æ›&šåŠd’Ä’Å‚B‚"ŠdФФ“›‰““пп“‚…ŠÅ’æ“'““H›i›i£Ë¬-¬-¬M¼¯Ä.¼m¼«ê£¨£h«ë«ë¬,¬ £Ê£ˆ›&£h›'£h´ ¼m´+³ê¼mčĭÄÍÄ­Äk¼ ³¨«§³‡³†»È¼ Ä*ÄJÄkċ̬ÍČÄ*Ä*ÄJÄkČČ´m´m¬,£ë›‰“'ŠÆzdqâiÃr‚D’æ›&››šå’¤šå£&£šå‚Cqaq‚zqiAi i!aAa!i!i aXÀXÀhà`ài ii!‚E›H«ë´,´,¼ŽÄ®´,›'ŠcâyÁyâ‚CЄЄФ›'“'›H›‰£‰›H“'ŠÆ‚dХХ’Å“'›i£©«ë´,´M´M´n´Ž¼Ž¼®¼®¼£Ê›G›£ª«ê´ ´,£©›&›&››’å›'£H£«ˆ³ë´ ĭĭȼ*«È«§«¨«§³‡³§³È»é¼ ÄJÌÍÕPÌí̌ÄJÄ*ÄkČČÄl¤ ¤ ¤ ›Ê›‰“HŠÆzdriÂiãze“›'’å’Åšå’Ä’¤›£G£GšåŠCâ‚‚"‚yÁq¢yã‚#zqâqqai XÀ`à`à`àii!iq‚#𿛣H«ˆ£h›yÂq¢q¢zЅХХ›'£‰£Š›i¬ «Ê›HŠæ‚„z#r‚dŠ„’Å›H£ª«ë¬,¼Ž´n´n´n´m¼®Äï¼®¬ £ˆ’䣉´ ´ ´ ¬ +«©›G£ˆ£h›’æ’æ«‰«¨³ÊÄ­ÄÍÄ­¼l´*´ +´ +´ +³é³È³Ç³Ç³È»èčÍ/ÌíÌì̬Äkċ̬ĬČȤ ›ë›Ë›‰“H‹‚Å‚dra¢a£iäŠÇ›'šåšåšÄ’„ŠC‚C›£Gšå’ƒáy¡yy¡q¡y‚D’¥’„Šd‚CyâyÁqai i!i!iAqay¢âyÁqi@qAy¡ŠdŠC‚z‚#ЄЄ’ÆŠÆ“›h£ª£ª£ª£‰“ŠÅ‚dr‚D‚dЄХ›'£©£ª´,´m¼Ž¼Ž¼Ž´,¼m¼ŽÄ®´+£ˆ’ä£G¼M´L«ê«Ê«ë£©£ˆ›'£g´,¼L³©«ˆÄ­ÌîĭĭČÄlČČÄk¼K¼*¼ +»è»éčĭÄk̬̬ÄkČ̬̬̬ČȬM¤-£ì›Ë›‰‹‚dzCriÃaÄj%‹›hšå’¤’¤šåšåŠc‚C‚#ŠcŠcâyÁyq@yŠ„’¤’¥’ÅŠ¥‚#‚CziAqqaii!qq¡yâŠ"’cŠ#‚#Ââyâ‚’¤’æ›’æ›'’棊£ª›i£ª£ª›i“'“’抄’¤Š¥‚d’æ›'£‰£Ê«ë´M¼Ž´M´m¬ ´,¼m¼m´,«©›&£&´ ´,«ê´ ´+³ê´+«ê«ˆ³©³Ê«Ê¼lÍ/ÌîÄÍÌÍĬĬÌÍÌíÌÌȼJ¼KÄ­ÄïÄk¼ ÄJċÄkÄkÌÍÍÍÌÍ̬̬¬L¬,£ë›ª›‰“i‹(‚¦ri¢a£aÃrE’æ’¤ŠcŠCŠc’„šÅ’Å’¥šæ’æŠdyây€qayÂyââŠC’¥£H›Gšåšåz#iAiai aiAqq‚y¢‚’ƒšåŠ„ŠCŠd’¥Š…›(£h£G£h“›H«Ë«ë£ª£Ê£ª£ª›h›'ŠÅŠ„’¤Š¥’Å’æ›i£Ë¬ ´N´N¬-´M´M´M´M´M¼m«ë’ä«g´ ¼m¼L«ê«©«©³ê¼L¼+³©«‰´,Í0ÕqÕPÍPÍ0Í/ÍÍ/Í/ÌîÄÎÄïÍrÍ0¼*»È¼ ÄJÄJÄkÄ­ÍÍ/ÍÌíÌÍÌͬ,¬ £ë›ª“'пЯ‚Æ‚Çz‡rFiår%“’ÅŠc‚‚Šc’Åšå’åšå›'›Š…‚y€i`àqA‚’„’Å›’„’ƒšåŠcyÂqaaq‚yâq‚q¢‚#Šc’Å››H›H£h›(𯒄’¥›'£‰£h£©«ë«ë´,¬ £‰›'“Š¥ŠdŠ¥’æŠÆ›i£Ë´o´o¬ ´¼Ž´,¬ ´M´M¼n´-šå«f´,ĮĮ¼®´+«Ê£h´ +Äl³ê«ÊĎՑÍPÍÍÍÍÌîÌîÍP͒Írżl³é³È³È»È¼ ¼)ÄkÌÍÌîÌíÌÍÌíÌíÌí¤ £ë£Ê›©“H‹‚„z#qãrrFrg‹K£Ì›i’ÅŠd‚CŠc’¤£&›šåšÄšÄ’Å’¥‚Cyâi `àayŠCšÄŠc‚Š’c’cŠ"y¡qaqqÂq¡y¡Š„£G£Gšå›'£H£HšÅŠ„ŠDŠ…’Æ£‰£i£ª«ë´ ¬ «Ê£ª“Š¥’犆‚e£Š›I›i´N´o´.´.´N´n¬ «ì´-´M¼Äð›G›«ÊčÌïÍÄï´,«ê´ ³ê«F³êÍՑÍ/ÌÍÌÍÍÍqճճ͒ͼl³é«È³È³§«†³†³Ç¼ ÄkċċÄkÄkĬÌÍÌí£ë£Ê›‰›ˆ“'ŠÅ‚d‚#qâi¢a‚a£rF‹ ›j›I›I“)“)“(›(›H£'£G£'›’æ’¥’Æ’Æ‚fyäqƒz’æšæŠ…‚D‚$‚$’…’„ãyã‚DŠdŠd’¥’Æšåšå’Å£H›’ÆŠÆ’Æ›h›'£h«ª«ë«ë«ë£ª£ª£Ê£Ë£Š›i“(q£‚F›Š«Ë´.«Ì«¬£Ì«ì«ì£Š«ì´ «ì´-Í´ ›H³ê¼lÄ­ÌÎÄμ+¼lÄ®«ˆ£&ÄLՑÞÕÓճ͓ÍQÍĭČÄk¼kÄk¼K¼*¼ +³È³‡³§»ÇÄ ÄJÄkÄJÄ*ÄkČĬĭ£ë›ª›‰›h“H“'ŠçŠÆ‚†zfz‡z‡rg‚雋›i›H›I£Š£«£Ë£ª£‰´,´n´n´o´N´N¬ «í¤›Œ“›Î´o¼°´o¬›­›l«í´.«í¬ «í£Ì¬ ¬ £Š“)’ç“ЦЅ’æ’æ’Æ›'›'›'›H£h«Ê«ë«ë£Ê«ë£Ë«ë«ËЦPàq¤rˆ›J«‹’邈›)›J««««³ì£k“¼N«ì£h³ê³ê¼LÄl³ê£G£i´n¬-´-ÄÏÕõÖ6͒ÄμK¼*¼ +¼*¼K¼l¼lČčĭ¼l¼K¼L¼*¼ +ÄJČČÄkÄkÄkČĬĬ›ª›ˆ›g“&ŠåŠÅ‚„z#z$qãa£a‚a£yå’È›i›'šå’Ä’ƒŠbŠB’£š£’ƒ’‚šåšåšå’¥’Æ››)›j“*ŠÈ›J´¼¯´N£í£Ì´.´N´N´o´N´o¼°´o´o´¤‹*‹)‹‚§ŠèŠÇzqã‚#’Æ“›H£Š«Ê«Ë«Ë«Ë£Ë«ÊzeH€0@‚%¢ç£¢çšÇ£ ³í³¬«‹«‹«j«Š›i£‰£ˆ«©«©šå£g«ê´n¼Ž¼ÅՒÞ5æUݲÍÌÍĭČČĮÍÍ0Í0Í0ÍÄϼ¼m¼L´+¼,¼lÄlÄlČČĬ̬Ị̀룪›‰›ˆ“GŠÅ‚„z#qãi¢a‚YBY!pâ‘æ›)£h£&šå’Ś曣H£h«ª¬ «ì«Ë£Š£Š›I›’Æ’ÆŠ¦‚ez‚$’„’¥Š…‚DŠe’¥’¥’曫«¬ £Ë“›i¬ ´,¼m«ë›H«Ê£Ê‚…Š…“’çzŠ…£‰«Ê£ª£‰£Š£Ë«ë“HqÃP€P`P€`ÁŠ%¢¦š†£)šèšÇ’†’Ešç£©«É£g’Å’Å›G³êÄÎÕ²Õq¼LÄïÝóæVæwÞ5ÕÓՒճՒÕrÍ1Äμl¼*´ +´ +³é³é³È«§£g£‡«¨³È¼*ČĭÌÍÍÍ £ë£Ê›‰“G“'“ŠÅ‚cz#qãiÃiÄiʼn皉£‹£ë«Ë£Ë«Ë«ª£Š£h’æ›(£h›'›'›'›››šæ’Æ’ç›H›(’Ç’è›i¬ ´-´-´n¼°¼ñÅÄò¼¬ ¬ Įč¼L¼LÄ®ÄÏĮĮĮ¼m«Ë›i›(£Š«ë«ë£ª£‰£ª£ª£Ë£ª“i¢H`H@0H`¢DäYC’%qƒP€i‚›H«Ê«ˆ«É››ČÌîÌîÍÕqÝõÞWæ˜æ¹æÙæ—ÝôÕPÍÄ­¼ «§«¨³ê´+´ +³ê´+¼K´+«é«¨«‡«†³È¼*Ì¬Í Í.Õ/ÕN£ë£Ê›h““'“G“'‹Šç‚Ç‚ÈzȂˆ‘§™ç’É£¬«ë£i›’Ä’ƒ’cŠBŠB’ƒ’Å’ƒŠ!ÀÀ y€Á‚Š…’Ç’ç›(›I›I›I›j«Ë«‰«‰£H££G³ë´ ›HŠ¥››(’Æ’æ£h£‰£ª£h«©«Ê´ «©››H£H›H£‰£Ë«ì«Ë£Š“z$`à( Xášy!q"ŠaqÓ£‰£g£G«©¼K¼L¼+¼ +¼+ĮՒÝÔÞæVæVæVæUÞղՒÕqÍÄμ´L¼l¼¼¼Ä¼l¼K¼*¼ Ä*ÄkÌÌÕ ÕÌíÌíÍ ¬,¤ £ë›Ë“i“H“'Šæ‚¤‚dzerEi䀢h¢bŠÇ£h£i›(šå’¤ŠC‚"ŠCŠ„’Å›'£H›(›)›)šè’¦’†’Æ’…’¦Š†“£«£««Ë«Ë´N´N¼N¼Íį¼Ð´´o¬ ›k“)›‹›j‚‡qÃq¢Š„Š¥‚zŠdz‚e“›››H£Š£ª›i‚eháB‰‚y‘ãy†›'£h£h›£G£G£«ˆ›'£‰«ÊÄ®ÕQÕ³ÞVæwæwæ—æ˜æwÞ6ÞÕÓÕrÍQÍQÍQÍQÍ0ÍÄ­¼KÄJÄKÄJÄJÄJÌk̬̬ÄkċÌÌÍ ¬,¬ ¤ £ë›iŠæŠÅФ‚„‚czCr#iãHÁh@ (âaå›j£«£Ë£ª£h£H›H›H£‰«ª«©£&’¤Š„ŠDŠEІ’È››››)›(£i£H›£H£G£h£Š«‰³ë¼n¼nįÄÏÄmÄ®´,´ «Ê£‰›ŠÆ›j›I‚EЦ“ЦЯ›(›(›(’ç›i£i£«£ªäaqB£Š¦£i£H£'£G£g›&’¥“«©«©ÄÕQÍQÍRÕÔÞ6ÝôղݲÝÑݱÕOÍÕPՒՒÕrÍQÍQÕqՒÍrÍÄ­ÄkÄ*Ä)Ä*Ä)ÄJÄJ¼)ÄkĬĬ£ë£ê£ª›ª›h“'пФ‚d‚czCz#r8á@a(ãIƃ*¬.´o´o¬ «ˆ£’¤’£š¤š¤›£H£i£i£išæŠdÃ‚$’ÆŠ…Ц›I£‰£ª´ ´-´N¼°¼¯ÄмM«‰šÅŠ#yŠdŠdšÅ«‰«‰«Ê´ ´ «©«ª«ë«ë«ª£i£‰£Š›I“›H›I«ª¬ ›y‚iy¢’§£Š£H›››«ˆ³Ê«ˆ´ ¼LččÄmÄÕ´æºæÚæ¹æ˜æVÞ5ÝóÕPÄJÄ)ÄjÄkÄkÄkÄÎÍ0ÍQÍQÕqՒՒÌïÄK»è»È¼ ¼)¼*ÄkČȬ,£ë›©›‰›H“ŠåФ‚„‚c‚czCr#aÄ9d1d9e9…Z'“k´.´N¬ «ª£i£H£Š¬ ´N¼n¬ «ª£i›'šç›’çŠeŠE’Ç£ª«ì«ì¬ «ª£‰«ë«hšÄšÄ£³ë´ «‰£i’ÆŠD‚‚#ŠeŠeŠŠC’„’…››££i£H£‰£H£i£Š›H£H£Š«Ëzq‚’¥£i£h£G£G›£G³É³Ê³Ê«ˆšå’¤«©Ä®ÅÕ´ÞWæ˜æwÞ5ÞÞÞ5ÞÕ³Í0ÌîÌÌÄk¼ »è¼KÄÍÍÍÍÍ0Í1ÍQÍč¼*¼)¼*ÄkČĬ´m¬M¬ £©“G’åŠÅŠ¤Šƒ‚d‚d‚…‚†z†jI"0Á)Qæzꛬ´N¼o´N´-´-¬ £išå’¤’ŚĒ¤Š"‚ŠD’…І’è››’…’¥’¥›£H«i«‰³ì³ì«‰£¢å«G«ˆ«‰³ë´,«Ì£išç’Æ’¥‚#y¢Š#Š#y‚šæ›'Š#’¦£HŠd’Æ£h£I‚Šd›££š¤£'£G£'š¤šåšåšå›'£H´ ÄÏÕõÞxÞ6ÞÞVÞVÞ4ÝóÝÒՑÍÍ1ՓՒÍ0Č»È»éÄlĭĬȼJ¼ +¼KÄÎÍ0ÍÌðÄμk¼*¼K¬ £Ê£©£ˆ›G“’å“’æŠÆ‚…zDzDr$r$iäQc1  ¡Q¤“J´N¼´o¬ £HšåšÄ’¤’¤šÅ›£h£Š£H’¦‚Â‚ŠCŠd›I£Š«ì«Ë«Š£HšÅš£šÄ£'«ª´ ³ë³Ê«ˆ£G£HšÅ’cšæ£hšÅ’ŚŚçŠdŠ#šÆ›Š…’Æ›››(£HriB’…šÅ’„’„’c’„šÄšå’¤£«G«g³É¼MÍ1ÕÕÖÖÖ6Þ6ÞÞÞ4ÞÝóݲÌî¼ +¼*ÌÎÍPÍÄl³é¼ ĬÌîÄ­¼*³È³§³§³§³é¼lÄÏÄðÄÏÄΫë£É£ˆ›g›G›'“’åŠ¥Š„‚d‚dzDqãiÂYbQ!(€@)A…R‹k´.´.¬ «Ê›šÄ›£i«ë´ «Ê›'’…ŠD’¥’Æšç’…šç›(šæšæ’c‰à’B£«ª´ ³ì«‰£š¤š£š‚£šÅ’BŠ#Š#’Cš¤š¥š¥šÆ’„’ƒ’ƒ››£'šå››)’èiƒib’„šÅš¤š¤šÄ££«F££££G³ë¼ŽÍsÖXޙÞxÞWÖ6Þ6Þ5Þ4ÞÝóݱͼ*³é¼*Ä­Ä­Äl¼L¼lČÌíÍȼ ³È«‡«f«f«†³È¼Kĭͣʣɣˆ£h›&›’¤ŠcŠc‚B‚"zzrqãiÂa¢Qƒ1# ã)9DI„z§¬ ¼o´N´ ´M«ì£ª«‰£G›£H£išå’cŠ!‰áŠDŠeŠCŠ"Š"š¤£'«ª«Ë«‰£šÄš£š£šÄšÄ£'£(šƒ££'’ƒ’B’š¥’C’šbšbšƒšÄšÄ›’eІ’§’†ŠEã‚’d’ƒš¤š¤š£¢ä£££&«g´ ¼®Õ”ÕöÍöÖ7ÞXÞxÞxÞ6ÕôÝóÝÒݰݐÕ/ÄK³é¼K¼K¼)ÄK¼KÄlÄ®ÌîÌÍ̬Äk¼ +³È«‡«‡«§³È«È«¨«È£Ê£‰›G›’Ã’ƒ’ƒŠB‚!‚!‚zqâqÂi¢rrfjIB9eIÆ(â ¢I擬´o¼°¼o««šæ’¤šäšäšå£G£G¢äšƒ’dŠCŠC‰á Š›«Š«‰£Gšåš£š‚š£šƒšå£&«‰£išÄšæšæš¤š£šƒšÅšÆ’ƒšƒ’ƒš„’dŠ#Š$‚ÃŠ$ŠD’†’†Š$ÂÂŠ"’Cšå¢ä££%«g«©´ Äð͓ÍÕÖXÞxÖXÖXÞWÞWÞWÞ5ÝóÕ²ÕpՐݐ̭³È³È³è³È»èČĬ¼JÄlÄÎČÄkÄK³é«f£E£f£f£f«‡«§£Ê›ˆ›G’劃Šb’ƒ’£Šc‚"‚"zqâqÂiÂiÃiÃiÄaÄA"@!9¥A¦1DQ¤“J«ì´.«ì£i›£&£šÄšÄ𣒥’æ’B‰àŠ"šÆ›I£HšÆš¤šƒš‚š‚š£š‚££«i«h££G£'𿣣£'›(’Æ’Å’¥ŠdŠ#âŠ‚‚Š#’d’…’¦’Æ’e’CŠ"Š"’ƒ£&«ª³Ê«©´ ¼MÄ®Å1ÕöÖÍöÖ7Þ7ÞWÖ6Þ6ÞVÞ5ÞÝÒՐÕOÕpÌí³ê«‡³§»è¼ ÄJÌÍÌÍČčĭȼ*³É«ˆ£F›šä£$£f³É£Ê£©›G“Ф‚B‚"‚BŠcŠBŠB‚"yâqâqÂi¢i¢YaaÃaåIÅ1D ¢@` ¡Yċ «ì´-´-«Ë£h£'£&šåšÅ£'£’ƒ’dšç›’…ЁáŠ"’Cšƒ¢Ã¢ä£«h«ª«G¢Ã«&«ˆ£&«h£&«h«i£i£I›’¥š¥’C’¥’cŠC’¥šÅšæšæ›šÆšæšåšåšÄ£«ˆ´-´M¼MįÍ2͔͵ÕöÖ7ÖÍöÖÖÖÕõÕôÝóÝÒÝÓݲÕoݐÍ/´ «‡«‡¼ +ÄkÄkċÍÍ.ÍÌîÍȼ +´ +³ê«¨£f«f«‡³é£©£©›g“ŠÄ‚czzzz"‚yáq¡iii¢rrfrfiäI@@```(ÂACYåz§“J«Ì«ì«Ë£i›&£šåšå£i£HšÆŠy`yay¡y`‰Á’Cš¤£'³ª¼ ³Ê³©³ª³©«g«ˆ«ˆ«‰«‰³Ë«ª«‰£'££H›šåš„šå£&£G£H££H£'££&«G«h«ˆ³ë¼mįÄðÍ1͔ÍÕÕöÕöÖ7ÞXÖXÖÖ6ÖÕôÕÔÕ³ÕpÕNÕOÕpݱՑ¼+£F£F³É¼KÄkÄkÌÍÍ.ÕNÕoÍ.ÌîÌÍȼJ¼ +»é¼ ¼*ċ£Ê£É£©£ˆ›h“&Ф‚C‚"zyáqÁi¡iÂr%zfr%i¢YaYAQAHà `@@```(â0âjŠé›‹£Ë«ª›£G««£'šå’ƒ’!ЁÀÁŠ’Bšƒšå³ìÄn¼MÄ-ÄM¼,»É³ˆ³©³Ê³Ë³Ê³Ê³Ê³©«h«ª«‰«G£££'«H£G£'£G«h«‰£&«g³Ê³É´ ¼MįÅÍs͔͵ÍÕÍöÖÖÖÖÖÕÕÕÔճՑÍ/ÌîÌÌ̋ÔíÝÒÝÓ¼l£g£%«‡³é¼)¼*ÄkÌíÍ Õ.Í.Õ.ÕoÍċÄkÄkċ̬Ìì¬ ¬ ¬ £Ê£©›ˆ“&’劣‚!‚!‚d‚¥‚…z$iÂi‚a‚a‚YbYBQ!@à(€@@@``a1I#zf£¬£«£««‰šåšä£¢ä¢Äš£šÄ£&«F«G«‰¼-ďÄmÄnÄnÄnÄ,³©³‡³g³ˆ³©³ˆ³©³Ê³g³ˆ«ˆ«F«F«G£G£'«h«h«ˆ«G«F«g³©³É³ê¼,¼n¼¯ÅÍR͔͵ÕöÖÖÖ7Ö7Ö7ÖÕöÍ´Írżl¼KÄKÄKÄJÌÌݐÕÓ¼®£ˆ£F£E«‡³È¼ ¼*̬̬̬ÌíÍÍ.Í/Í ÌÌ̬̋̋̋£ª£©£©£©£¨£ˆ›F’ä’Ä’Ä’ÅŠÅ‚Byáq¡iÂiÂi¢a‚a‚YbYbQAI8  ```(Âr'‚¨ƒ “*’Æ“£i£G«g«F«G«©³Ê³ë´ ¼nď¼n¼nĎ¼nÄnÄM¼ »É³‡³F³F³g³ˆ³ˆ³g³f«f«%£«h«F«g³©³¨³ˆ«g³g³ˆ³©¼ ¼M¼ŽÄÐÄðÅ1ÅR͔͵ÕÖÖÖ7Ö7ÖXÖ8Ö7ÕöÕõÍrÄïĮĭčÄKÄlÕ.ÝòÝÓÄï´ ›F›£E«§³è¼ ¼*¼ +¼*ċČĬĬÌíÌÌ̌ÄjÄJÄj£ª›‰›ª£ª£©›g›G›g›&’ÄŠb‚!‚yâqÂqâqÂiÂi¢a¢aa‚YbQAI@àA8áA8áaa1DIdaDI#Ycr‚‡“)›I›H›«ª««£«›I£‹«Ì›ŠŠçŠÇ’Èš§¢È«)«Š«ª³©³©³¨³g³‡³f³g³g³g«g³ˆ«G«F³ˆ³¨³¨³‡³ˆ³¨»É¼ ¼M¼°ÄñÄñÅÅ2ÅS͔͵ÍÕÍöÖÖ7Ö7Ö7Ö7ÕÕÍ´Í´ÍrÍ0ÄîÄl¼ Ä*ÕæÞ5ͬ ’ÅŠBšÄ£E«‡«‡«‡«É³é¼KÄkÄlÄkČĬĬċÄkÄk›‰›i›‰£Ê£Ê£É£ˆ“%’£ŠbŠBŠB‚"zzqãiÂi¢a¢a‚a‚a‚Y‚YaQAQBIBI"QcI"`@!A@P¡aBrzf‚‡‚f‚§ŠÇ‚§‚†z%‚‡richÂxaˆA˜âˆ@x`‚E›H£i«‰³©³©³©³É³É»ë³Ê³É³¨³¨³¨³¨³¨³É³ê³ë¼,¼n¼°ÄðÍ2ÍSÍsÅsŔʹÍÕÍöÍöÍöÖÖÕöÕöÍÕÍsÅ1ÅÄïĭČÄ*Ä)ÌÌÝÒÞ4Í0´ £‰Š¤ŠbšÃ£%£f«f«È³é¼KČČÄkÄkċ̬ÌíÌÍțh›©£ë¬,£ê£©£ˆ›F›’å’£ŠB‚"zqâqÂqÂiÃiÂi¢i¢a¢a‚a‚a£iÃiäj%rFj(¡ Â1Daa8@PY"aciƒqåqäiƒabicqÅ`âXa`€A™Cx `PPÁzDzEz%‚…“›I£i«‰£‰«Ë£i£h«‰«©³Ê«Ë«Ë³ë´,´N¼¼¯ÄðÅÍR͔ÍÕÍÕÍÕÍÖÍöÍöÍöÍöÍöÍöÍöÍÕ͵͓Å1Ä𼎼L¼ +»éÄJÌíݱÞÄ£©“(Šc’‚›£g«‡«È³é¼*¼J¼K¼K¼*Äk̬ÌíÌÍĬ›‰£ë¬,¬,¬+«ê«ê£Ê£©£ˆ›&ŠƒŠB‚zyâzqâqãqÂiÂiÃiÃiãrrze‚Ç‚§zfY¤ Á1D8@8@a@APXaha`aP`Pahãh‚X`€ˆax¢P`Q"PáabriÄrzEЧŠÇŠÇŠç“›i‚e’ç›h£‰«Ê«ì¬ ´-´M´n¼ÄÐÅÅ2ÅS͔ÍÕÕöÖÖÖÖÖÖÖÍö͵ʹ͓ÍsÍQÄðĎ¼L»é¼ ÄJÕ Ý±ÝÓÅ«ë›h“Šƒ’‚›£F«‡³È³è´ ´ +¼K¼l¼KÄkĬÌÍÌíÌ̛‰£ë´m´Ž´m´M´L¬ «ê£ˆ›F›’£ŠBzz#z#zrqâiÂiÃiÃrzDz¦ƒ‹ ‚è‚Çzfb ¢a` ˆX €Â„`pˆxp p!p xˆˆxpAaY£aƒXÁiƒiÄqäzE‚†ŠÇЦŠÇŠÇ“)“ze“I£ª£ª£Ë¬ ´-´N¼¼¯¼°ÄðÅ1Ís͔͔͵ÕöÖÖXÖ8Ö7ÖÖÖÖÍöÍÕ͔ż޴,³ê³É³È¼ +ÄkÌîՐÍP¼£É›'’åŠcŠB’£›%«‡«§³§³è¼kÌîÍ.ÌîĬĬ̬̬̬¬ ¬M´m´m´¼Ž´L¬ «ê£©£g›’ÄŠdz#z"z#zC‚d‚d‚C‚d‚¥Šç‹)“j“j‹I‹)ƒ‚èz§@Â@ a0@ˆ¨¨A²&š§Š‘DÂˆax €ˆˆâyi"iÄiäi¤iƒ`ái£rr‚fЧ‚†Š§Šç“›jŠÇƒ›««ì«ë«ì¬-´N¼¼¯ÄÐÄñÅÅ2ÍsÍ´ÍÕÍÖÍöÕöÖ7ÖXÖXÖ8Ö7ÖÖÖÍöÍÕÅ2¼´,«©«ˆ«§¼ Ì­ÕpձͼL«É›&ŠÄ‚"yáŠA’Û%£E«†´ ČÌíÕ.Í.Í ÌÍ̬Ĭċ¤ ¬N´Ž´Ž´m´l´L´,´L¬ £Ê£g›F’å’å’Ä’ÅŠÅ’æ“H“(“H“H“‹›Ì›í›Ì›Ì“«“j‹I‚èzF€@`H X hhÅ« «j£)’f€xxqciär%r%rqäi£`ái‚rzE‚fze‚†Šç““(›I‚¦›Ë£Ë«ì¬ ¬-´N¼o¼¯ÄÐÄñÅÅ2ÍRÍS͔ÕÕÕöÖÖÖÖ7Ö7Ö8ÖÍöÍöÕöÍÕ͓Å1¼Ï¼L³ê¼ +¼+ČÕ.ՑÝóÍP¼´ +£‡›%ŠƒŠBŠBŠƒ’Ä›%£‡³è¼)ċÌÌÍ ÍÌíÌÍÌÍÌ̬n´¯´¯¼¯¼®¼®¼´L´M´M´L¬ «ë«ë£ˆ›G›H›i›ª£ì¤ ¤.¤.¤.¤O¤.¤.¤ ›Ì“«“‹‹I‹)‚§a„(Âaa@@0` ˆ€xâqƒrrEr%zEzfzEzqäaarz%zEz$zz$ŠÆ›(‚§“£ì«Ì«ì´-´n¼¼¯¼ÐÄðÄñÅÅ2ÍSÍsÅRÍs͵͵ÍÕÕöÖÖ7Ö7ÖÍö͵͓ÅRÍ1ÅÄïȼ ¼*ÄkÌÍÍÕpÝÒՑÄμL«É£F’䊃ŠBŠƒ’£’ä£F«†³Ç¼)ÄkĬÄÌÌíÌÍÌÍÌí¬M¬M´m´Ž´Ž´L¬,´M´M´L¬ ¬,´M´M´n´´´´°´ñ¼ò´ò´ñ´Ñ´±¬¬o¤.¤ £í›Ì“‹“j“j“j‚Èj%YÄI„IcIcQƒi„yäz%z†zfzF‚f‚fze‚fzezEri£X¡aCr$zyÁq`i i`z%ŠÇ«ª«ì¬ ¬ ´N¼¼°ÄÐÄðÅÅ2Å2ÅRÍs͔͔ÅsŔ͵͔ŔŔ͵ÕöÖÖÍÕÍ´ÍrÄ𼍼ÄlÄ*ÄJĬÌîÍÍ/ÝÒՑÌμK«É£ˆ›ŠbŠ!ŠBŠ‚’Ä›%£f³È¼*ÄkċĬĬČČÌÌ \ No newline at end of file diff --git a/ili9341/images/Tortie128x128.raw b/ili9341/images/Tortie128x128.raw new file mode 100644 index 0000000000000000000000000000000000000000..0bc86107f752e8d10f4a1f3374bc0b711965f8df GIT binary patch literal 32768 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

jTY7`u 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 B${7Fv literal 0 HcmV?d00001 diff --git a/ili9341/images/blinka45x48.raw b/ili9341/images/blinka45x48.raw new file mode 100644 index 0000000000000000000000000000000000000000..5424950b7263c07b823245c2e0036234b30b85a1 GIT binary patch literal 4320 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

Q?Yl@jv1 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 DZ*2Pl literal 0 HcmV?d00001 diff --git a/ili9341/images/kb1.raw b/ili9341/images/kb1.raw new file mode 100644 index 0000000000000000000000000000000000000000..a81f26995c3ec393f8e172703e903e9696a42200 GIT binary patch literal 122880 zcmeHw4RlqyDCK1GeWjwfk<^NSPKHYU<_VZNNy#= zY9rj$1V{=7aBm(0`w)*A|NZz&)s=LX6_!<1r0rCeD(O#c%#5N8 z@)>dH$){}X6=|jaxfuF4M%ceIhP=QTB;{*k=#Q>{-hYYkBk`B2D@#>u4#%FlvbiE%;zKbZGPSX+Fr)mYiuwro zIQr{TVfy3QAFe-+JlfwG+ynFei-8}F(3s*C5eT8#Gf7pzV@XSEO7Gdfu#F!(<@xBqIr9D#>HzCNJ^!>!+6!{{?tf&Us- zH0){kJLs!HH5n%VdHBQGlam_H9^N|S{q_ zt-i72&YIbB1_$!>w&bGg`)=+lw-b~uR)sD7IC~SinvY7!XXo2jRnGcw{kF6zsclfK zD!cMRd%C4#;rh=>TT$cgEtVZV|FQj8^R_`(I^A-3>#+l(9Bw z(to_@`k~&Tp|-)2E*rmg&em?yD*qo?1J7l2>EZrMxAZNRa^S)CMRyoU(iDb2kiN^7 z=5L_CK$qhBU(}gw2Tv55I7N`t-EYfUP@C%?y>wdx-bKd?N%6l;O! zNiu#|{kL(?faAZRp`ME%A?gU<#2ug;Km4t??HyyevLOP0vIQUt-OT=n{-;~tkH6J7 zV!qaHSO>A}bia{Ln)k{T5R9L8q8dQ#0sWjnW~ZrzRe#HWY(L47^%i!NE=%6hui~H5 zO0sN4>lU@bPL@XCk32E3rlg+{NM{Dy=eDGpyc%S{-`qoRM6fiX(h!+mWN#?@BJg+Y0Ll!u zuNo+-OVy<|rZztD6qVB2ZOX9v542xd@iB;*gYEa9F&HtP;3L8Yw9U?xSi?;<@pb;B zC;;uXF}2eq@V@Q=R{e$la3+8e?ATVc9NN2}bst*ayceDeYw2kJl@*qBqSnJ-7#bQ_ z14o_}vII-Nh2M%a`M-64iRv%hADZ_T)zKNOrRzVp=5R;t$KML$0ZYHne*1EPrt#jB_B|K)!U$i)Xw#DP+Ijzpa1>iFWC&z zFTk4sJ7L6uF|Vw!aSxUODBi;e^!tw_oA;WYi{p6D#hTg1YA;Ie$F~f``0Mi@;{~TDS<;@Y}&#SY{;f_D@8XVIo1~olIeuF5w5j={RqMV`f!8Ny#geBPa zBmSsd>wlk=xEka?@|+iYl<%liZhemE*p`;O<3C*ojQ^lh+u?mj`>FpL{FPN$>z_gZU{81jdYrm&=vs z^I6~WBhR`9Ci4+@t=pk zCesu!8<6KY&HwH{Q*%edipC>!H|Nx;DqP-_WZ_SjkJlai zYX2G8vJ^_wALy=x(ZA4K_2EyKuE#3N{}z%kuVcUKKhorr(pvCsN-_Q*{@@x#ALS{; zxs|Xs*pH|sUH#JkG~*a-Z#=T-`kECDPaa-~UQqpiCzr|obMZ&*-ux2HR5&+%TD7tJ zpDx$45@Vz{??K%(CKE1jK9BPNyZ*K&kcAn8{YPb(e73x-Kk2chq4qGNq4^(`VauCx zz+a)yek#?w*MxhT^^Rh>_-`jmD`T4I*aN4 zGcfzWwG_{Cso%vP>w(+_Mmrwy6<8Beo(a=W_j_Oe2+dcaCOZjtw1(Kak7t%)@}$*k zg%`kcxB|op?BL|cSMhnqpBi!DE~;eb?k(5@Af{U$aO8Elrkr8LU!g1)kHhqn|C(R2 zF+;sst-p9Bg~>}jR91Za@tl=oj46vEnrXdo`%#AQr=kb=A5s^L=Z*)+eiwgifm?ry zNU#REuV^O4k+AyDJ;dwhDmRSzjYqKk>91iqN7gWTsx@Xm1r~aob*hm(H>!%qX-YtOzO=X3&{)_k% zYapThpKQz#f3)7Le#r)rTlEOQU!|G>CTKqof6vLbU>}CppL6K>U!w7sBS6n_c#@=S zZFthVgMTVjXYLDP=~rvE4a@CVO7?}xW1X?>R^Q0A-u4cjff3{>HII$qKZ8F;tMLgR zk$#Oo9^v4Vum;bZVFpz*yJp1`Pw_Kguz+UqV1r}7kY@zz7WdY!u?FTI$dONhuSFso zI_`wDkP|%77h`d_ynf!{#XtH!*j_VB%_>NXYrmtPZ1M27QMH7y4sqe=x37BNy!bOq z;l|DpAz$G=ZNT-Xj)enjsP%C^k<@-q|8gOxt#Is5vG@5|2Wo{U=<3NE9%E~&c$Nym zuP&LNcVPUJEyfzur&s?V{DHihF`-uZhxkwJe}z&0t4N!6 zCl9oB@82f|qS60xt z$9@Z`=Xm2DM4xCsYyHwL8zZ3C{$8!nA{9Mjwm-*E=>u4S5gu^-FZ@US57&Iz@90rj z1E^Q`KAuI6y!O7V3F2q>7H`JuJO4l@H;_Ry9Nt7p#-jr zvLS;!*OL99?Pkj|$fJIEM=4wV;D2~)$XUIxY#{w2{uMy|bP9?;j7EAR#IavXav5NM zzdB~EP$T%x-~9LuECEZAiA#rewZ{)Ytev!eeZHh0dLw^>H>|Aj$0yG@{pF}DG3<{l z!IfvbtWQ&OE=zy9@=5K_=s(ot)2~|(;!g(uh4_u@=h?6E$LICu?nm3Y??0WYtNFu@ zsf;}Q#Cbf7Z2eCAYdP(q3}+nsGvxM{>d1%s-!DmL9QmaBUH>PSxBE|0d5Ei4|H)N; zjQkglKR}pz2NNRy&YC+q7Sh|q%}0yicZWEhywCBMd;7n?@#p!E@rPrRn=pdndG!gi zCzyxOT%-#}QoH{J$-Cvr?;yWZ_Fs7|-mxVQPn6?HajsnT4@3Q}_;q#oPmU#)|KZL& zSz`Zr_=EeiWNC7N+=B)0?~}^u=OXe|JCU~ zi9hT2J9vMeRr?YCaHS%S*JU1i2bbLCy*L{iLyrE=9OYqMQ`Ro?v7&6gf-51Nsj#*MY+nuJDTyd2dqpZmUGpgqkP_f*|eX* zAB>?fTObg9I0onCWA&iC|8&gq?SBuWU{_=m>hzCXrZlxO7%jgugFL+58mT{%{Kg#R zN4oxb|5-CH8UF}Ju*UZs%;h?v9qojx(RIMe;LO|H?;yW%802l;_zm@M%vwMEj$g@V zupXm$g#GdK=lvIkAD{pH`1A1OvQK2horA;oo_sP7y!Yy#vFBO{@Yg@kf1&tGrY)a4 z?}4m5kjJ0ZYqRoUzJ%;OkjG#4zROGI?twi1a`$1rgzP<#$6xlo%S-0&fjs_l_hG(- z>^+b*{^(sm{eR|lImbpVsop89OVv8pGu;W)dU9SliS;}3(W~MCwmI^N^*i;?RsO2; zpVz+0@rO^@yglF~V+Zl0ig)S)+Dz%ZBIR*ET=+$5*po3?7qTCBu!DW&O-d-Q_RurZ z^-1+#Ve$$5Cw1ONF(wIuN`CPQQhyCtBy7WQqFeLna&R6eeL`DV84OQR$o z$gYWY#MSS<8>#DXmHSWEL!dA|{=j>2(4#OFo z>+jPP?2jP*SH1rP>I@R&<8M^?O{@H)Xd;F|&F^VynusAV?Y|#MRQ~||iR1(7pUD0I z`LXt&X$g507k`Q&CT8!&J}q~LMt#7LkU%;Wt%tN1ycE z7GPN16TnWF27XlW3n4Z4@kvM8;+L*|R59?O3bHL~=N zwf`jI?BjU&Q=?~~w+?^4=VE$ufFJ7R2&VXnoHk-!1huD!pJCB2uk}lI#g1`}E;A?P zvt|G`KT<_nmcaa$4tHmSeyVNrQOVNRxA=*tY%e(V7qwRmmltI2)i?ItoKe3hLCWHB z^S|_!JNhH+M}AHxH*l79EVL}h=)X3r2ChXAKg9lMHs<8F-0(;H%YOYM$cN!1+kPLv zs=Grv>?_mz#OFjAuDmGUmF>N`W`&TXoT2=FnA0r*`@p~&#r4B_T>bS@Ll8gc&`|Hq zvM0(JoZWxb?#R70vrLJ|&oc0|6-6WU8%aC@)}qC*E7{A)Dx{MuZ?34?5B35pnm$J* zSm!eO4|4lBMNNtR8N5WDInE7##BU@Sw~Pgr|8e#$65)2RecLT zSocIrUi155`3isSbKfv|75 z|DnGzej9%){xaO1GJ*eyhXh)`z+?D0Ds6~`Kft@>0ntbfEAMm^K6~Pb*m{(^#h6Un=rF^cuk;WsA02puWEBq~tU(#ZTEacqYr?5Ym zUy|~%c0? zp0w9J?rN-NBdUZ9{?l5p)a>wAa|h|gec~l@$Nd%aXq zW#P}`_vEYaS$O{$zH=ZH_PmSt^PJrF=kxgK^*+U>&F8%cg8RIyGJO8iC36Xkefk{u zVuh8X!o^P&m8B(FEbEBU5o*@2d`%wd}peT-mPGY%Gj9ns+jlTdZVFzXC zcb%&Sm~8?uP_Oej_|@k@gT`N{Im;uMihyW^Rev?k3fue$Xhm)ZjHfyU+waXf_NjXX z$jdARgdybpX@rUh=<7UUWj)ior?m>h#Qa`M$Io5gK;l2@e`3Dpdp$l53u;~2{x0gw_qh0jS%E+hwE}uv{sC)ZHvJd&^hXpb zW|6JD9^i>?>dYIa40-T&wukWzIVK zb-kELQqBA7DyoPr61dGo4m=K*=MhNpYZbb3{9Vc$ytzl&;m<#Qk@tC2inc$!xpj-% z8Det1r ze2v6hXcI?u`Q6lIBy&8@#zk3GfHDQliy6#fJz_04Px}@>qj0 zpTGZT`MHPq&5^#lklT{j3e^aNPk_*?k@Dn!@VpzckX?6^_4S2rQ-Kw`=MQpuT}rkIxPIDvtIne*(>LY&~F%)dycaQXfzdU zYZ3CE{ub6&(vNeWp`mR@wRXS%*)H{IT7bDpI~KxtAoE!IjVIirZ16|gp}!%YuE$zH zd~q-@Xa8IJZU5u1H=mu4HI{$qLCx+OS%1=RWCz=y0A@}hi+*tROW)*(Ka3gAe$wct zBY2zQD6FLIhIzY7@F&G7C6|x=z6w3v;W-s z!&@jRE$#Tb-;Q$AD{DA&Ain zxx(coH(g)(HezJLr(sqsbK2k1ulX5e#IbTj>Brh4qdeP>Z_;c#syHHrM;!Z8rftxE z>}_iPs`+6IWfwiS+i%G6A?4aR!i{)!D~rtzIBzsr=Z zX2q6uScdqG7BEwb(o{}Izm&$7LVp|m*rFTpS32fg6#i7}L4GIAlrcc+ck&6j*!Yw7 z16LjHhih!*HpSHp#*ow>*uj_JbvCznFc2Em87lKSofYO`VY*h?3Ve=mOp7J@i2Q`g7e2gpBW8 z2K|Tt)dJWGl)w^Ug_Iu_{CP7y@KK!P@LT9`;6^B)%W~mCa^!y7p}Zt10vQ+Rymfu@q~MnApQkdU}?0k$M#=H z8J7Lfes<}ZzYVv11pb0;8!h|=Yxl+9%pS9I46FZK)S2%ihQ9*q_iM@Vle@efe{Ao@ z_%_V;C&#b+{ohsYKZ7^-C?@{kxmIF+O~G)Ms!Jw~V~X5^0_VlaN>DR;JL4r ze`0=7NB({8KNof8dp!IhziF}r{G{UkNZr}_<_l3Jf_#&)66KSnT=`L__UERb?k9B( z-sk?)e$Wwt&&0$ZaI-;=PL!;*iQMILRk(7C(Xi#q0%jCYBeYpOQ}+0bTi|_K&svd(3|>?)ZCL{3YdAwR<0G!_}eqDL@`p zx#Fh)`P}r^=4^j%`mc8X`9@wsV0`?+956NlvkbJHrEXDmpbJKsd%U|vO%N2i!Ab8>xJqp^-L@oR%`JDJoQ?>Yv zH8OSjM_y6yv6p{;`_ILLkN;P+l`k({Q@_^p^J{hv3%{v+o*$;a7Vc%j^pA!-{#r2? z{ZaB_%_^)VLj2#Q{68A?&(Z&Oy^@T-mZZyH5rY|cc;)f^FOz^jBZlvV1@Qifk%pLw ze4!zT4?GY0a+0^CLI3;Bf1aut`;JnTCAD!q}}~4BGLp zq;}IcPkr~@PeHmhX8P1SA9#6b)%S1@s2GX(R~6GJ>~-%Zo{u2<9=& zEKmHa4Oz>>d!%4>_WF^(HCnzfL;bs;{$uDr)5dd_eP_qHgTH}vE=Hn!Ki%>9^(hM{ z27lvcPTjEgUWK|3yqhfDdi+HF^vp3(vGBN<^M6mf?+$XEW6L}5?g{zKELfXh=h0l` zp*}(EooK@_*dK?1bj19}e#Fl|TlN+rZ+pT7NPYgBCAFp`gTImuFC+SrA&+z4diq5D zZR0;-%Jm<`^uEGlPz!>5X7qSy4w5g5&mS9tKp6A=y(Q>OuzZgC$J~D+ZvDlwlSz>$ z@_%QCK?mb+{3rHK$Qpf!!dp+BfKgc3=pH9x5OmlFv8?#$1C#{G7sNyl^?*9peqi>1 z@jYhBRsTrH$L_ts{$qcPudJ%g1%2nX|7QE&KgOjI{>Fcz>U-~G8~bz&-0>e=s{d0l zu*GdX$R~GC#?lmnMsD)ynAlNTAOPSHJcxV6TUab^Q(g<}7<_ z?YSJ&Z`S^U7Xb->Q=dJ$J*y|o@HgjYr%qlx5tS|t;C@^G^~m|}hUa?s)|L-`IPe}sjlN0H2V<2S z0ke^pBS^S>1b=V8@p`y?XpeI3PuBZ}q5i|^KjVp_%I9l-6B+$3t-SpI&b^)qqi?ON zQfq;PzlW|p9f`h+CoVT4{@(oa*KZ9+;JdfJT=C)GmbUUS@UIE~BYP>c?%JP%M>T>! zulZ=low7W{K;w~)J0+uNH2q8w+kCXI+~NNf{9D|P`1zfO z&Mgg3msX-TFaN_^>%#NUl{w3BEt>In{=~(TQR%WO_lJM{!Z%KD56k!N2VM`ypI3kM zFYW(~cDjFpzcj>u6=~vHXuBYvfCQY2^&8TLFMem(z_H17V+cH$@b5B4-qmvK8; z{)>x0Lf=sPq2iz3n-PCAB>o`&#lYY9Z`=`yzliw9^@7iIOV7K8cNdR15;Z&t`v=mK zu~7UmXCCZUtbIs~sLe-V2Uk2IZ`&<(mfeoTb zq8D{7Do&Gh}J@%yofMeL_it%g7 z1OJ^&*y4y6+^xK#9(e%O&h5JHnAeim_#yUm)zU-FuwOlunjC)^!?EVvo3TXItJFCx zRr)V8{s?`){~qaN)mrz`6BR#tFKkTiK7{?DdH}7 zDKD2h{#eq$yQcWRTDzHx03sK@SHsd(;J*UnHNc-IPowwXs~Gz%eN_sDxFaoB1c?r?Yd!a5F|2SG9g6}^=`YimB zo{;(*>7k*{?%j3#8_=`l}`GXpN zYfrBY!{5b|FHZ=${{{c6_D#9}6Ppk6xB`B<%vHz#P0aMdIfyR_`mCDCd2J8a;pF0v z&ujF+$cH0dSn}x?_EQ@I+Zf=T*(Z@bOYJDGOSJIg)SvLzcx2HHPwe$-@DlEkXsmJg zSA{&u?pFL2G>Q@%B#*yThR=S_E|PxYFA#A!3nVtN*8MmGV*FtVw*M^rO>mKP`L77S z5&yTp-Q-FE{%Xzr@98nZAI-&(%SO#TbnChPGcChMhJ^t}ZkWT#)^q)bafuQ|TgBU{ z&+#?+8OFbgd8iDCSc`!UrYbUmH=YyMk}zfNMTLhs?c z)nfpI-E}+*EdNE}@2zWobn-t35pzHP{No27UmKjhy8R~!@pt)xD)V<=pKyAeg+Kg8 z*FJgZ8ob5{@b~es`JeGCA2EKQ{xczRSbZP!g!!N4Y34$G4cJg)$}@kjTB*}*%4N#W zDE(kN+_U0*iDGcW3U%*c+2F`m$+C$73mGV3KP6bn!O{RfhvXRG$ZK0Y_AJFdOWKcZ z_2S5C;n*^ zF`C{vO>NuryRU!n^g12?mY#Zu&^Ofc%}>K<{1E3qzvJR-fWMIEzta13Osg)6#jr{G zopT2JkFWB`-KcnXVIHpTT=^<~hR7EZZX1>d#7y1B5%OLhvVMID@}?;!(3x=eR2W0Q zk|z`(|DhUn3z}a-U#mMBT}FugDT$!6LK;PJ9b1hf>Ykje2$r{{fkO%J!@zQZKhFXw zFY)(J|6!x=?8*LS9tFwT< zr|y02q!s^Od-=EG;*arzYi1DhwbxAx%KF3XP_-NXPf-j#UR3F^haz*eRZ57w$JDDv zD@$*B6Ru~Q6e92CkPO^v1as%FVfa__8h=e>GkypBS$!f*zlER_kD^)O4^}+^|H^NP z@OSX6lll+-Wc#kQ6a$Ca-@e_w9`t>Vi@$Z}ed)~K5Ign{|M*uQK@WZZ#y9^3KQZ<_ zb?<@KAo@v}9g+AG{7}4VS2N4ztb^9z38Da_Org!za0_yuL>nY?dN~TpTj*92Y;v6 zo!LYPRH)gbcP`4mk4g#EFAzj|3tH7$iZ}j-$$Pf>q`mVA@b{XFB>D~rT)S&2A@J9q?+?jkWC4Hh z8wY;>#X*ur)#-Joe(oR;(N~1A&nFXwKhZYy^o$W8Kij(1d`RW>@mF~zQ0x?QE;vsy z0G?s>81qZ&9-$uZ%GLtRbzQo6#Hq=91j*T8|^2VmbUo6xe@?!I$Qc zUI~u8F4vDBdV=TR&*jhZ;eVApFuTHEi7kp_EsWa00+ z(~pIxQ$HVE&E6VZ^R@q`&{yHle?BJu=C<(rE?g>o4z{lvz`H^6K$!p0+rCyWz*%7P zQ!)-o|Jm_Vm0wVi+U@ZV8~$E(7n?ypw-2nk!Kw$a-ojgKFoREoKaQPL@4oWJBSjOX zZqyN0f0V`b9^)w-0s8LhISzAa?Y%JhAZgTw^Kq;T^kA;Pc>mVH-`cYwsediTz%PI5 z%b)u8(*BSB3`kC0f792U4AuoYo`TPsLw-g`}0F@c}aU${dmWp&*MrMdpXzgmuv8-1-au z2T23|BIE`BY5{*sqf-CU6H9-xv_CQr$~*Bd0(*qEIKN+#u4I;HKCU3`E`K6MD4Bw^TIV9`Z{^hG zT4ybJfj^9Y8L^caeK!6U{%3GRv(KKIetddZ?8BVrAA9L%q47`GQhG7!Snk51)+G{_ z;Iw~2X_Riv{*x`bYX{&j z=hVNnYNC1mF?GYC-wMZ7{3~C$&D~#%EJy!=NBiR^KYwd{S6~Y@Z66z!5k#^7!(n+3?c$vO?dCqt|9aA8Ct+fWX#+2pAVZBPAcV1xHFhv{0-bG;;c>6=Afj{nMX8 z49o(3XRq0{j_y4C_=8zm?K;5H`DN#q#l_+IWv6Dm^u2qZjgEb6H}JP+;$MZ|rR&^? zIVWY5@4TYrk-xSpG73lAKj!}9_84Ec@Y-)b)PK!|L>T-@(O zeqMJd{_LlVqwy`^=}bubOoZJ6YT?)Z&*hW$0PG+O-kKQVG26Gd!Sj81i(^z1zF7i# z-Q>p~yyeyf`})HU?7#*zdI|Oih2LyAZ{54r!goO4};ybwa&#~N!KXj&OvxtD)jA1 z>^s*@et6cTx*tA#Lp}w0pzfDT{&3pks@K*A_T8D&OCI>Q+6QaDG!|*`k_V2Lowe7_nAW*k4 z9i?_w|F7Jz_vFXgd;6Xle3eq~gD*a_=GEjVto_ow&l=kd{t`26k0e$d_H(dz;^d|! zkHGknPcc03@C`Hm%!z=v-S@A#pl`!a?}PSkdGxKlclk3(FOqQxgRd^Tm)%6;;-Y)X`d;bykT755<(;X-`+d#l}CO$ z@H8HGyi&bz{w?u!%)3mNCbuubV_^_4^9L94G-Y|Kmj(^MJBSRu+`IjjAJ+i-a@{50fZP-6UP z{_loy%NCTDPTM!{QhN_xXFDFQ_#>9Uo_E*JA{cV#OxHSHm7)_qelT95Q_3U&E7_KN5S0XMg+)#zl5*A1;*y0pX=w z30JK6H~+5rwWSEj9m&w2CSe6$^}4L&`+ zamLh`Iv^Iu$6w!F#}44$1gW};)KKqWd(9mcX+$N>J%P6octS4g&zFuszuOBGAY2P%6DbG~j ziRhcQulj5AF3r0 zeMZjz=6^J1WU|n6%IqZh4@3%%@_yxTUq_@j3Dz#_}lRNr8mu3 zSbf=?k2(s(Ul=kFUsdUrwn5~{^DqSGkhRIfUzNh3Cy(a=e=yDx#+V~-XsB(F&qbjR z=Z6md>LLE+(%Nxl6QE+jKjxA~yfzm8W_@(lEy>f7k1_scjH|v>{mQfpGrmxL*XwCfa`vVS+^9+``;!HJ&3cwH1`b6-*5&8Zz>d0E`dKGMR&rGkK&@bf}?WBIIK)(O6hWNXz{`tz8e@marx9pP; zCocr&v2`OJli`ne>w7NFZ2^`mjVp~m508kU!-`uH7|LLmHG!$Z6wDuyDYdnm(JQVB z^m=F0*7|eptoj9Sj7B>qiAtkkPxd;71AlAO%1ZBDr8kum{(RU&T+#jSz%!+jCq?G7 zF=*k>;dk~U1M!EfcgV2@JOUnG6#n)B9zFb}H{%(^7~Ul=1J8I8n*Q2Y#D>%Yce(k8CO3SN*2{I-Q}>ci#iWZ%?{u#{F?M zCBt8%hd(p-Lu}djgS!*8#?p$MkhscH=-^M~SMx&O6*s5N|E%zr(`;+_(D8RS!HU?+ zOB`#0&kmo~EJ}Jq-2Wo}vPw_ijq#*!$+YGf+k#8ja2az94L$J5;&Y{?kn7Fhe9qa+ z$?#W}YIrie31)se_PO|*`v$S9Ht&__OK)!7vVIPsi^lNgmuLmXk2w2`Fa9|#o<)lc zO9_Ou1=S0lSkPip(}xk23+`L6*__L8G%VIccwt!ZxA<;)0@AT<#+@?)koD-(bba6I z;l^s7fknzfNddk^2;*si;#T&7SfC zn_3sVzpxSI9sF8lxg|4>;j?zs;$MtbpWSd*YRadl-0n{>|0|xoIbIs^Xr2T9s^7Fn z-qnK>emvpF@Xpnp9ou?8I`H(s7rQ^&v2FF>^hP`n>nSw&LFr@1Np3DVm@5 zia4_Q-y!~uPW#2fALSYyi?Y^Y;jcUa{@T@351!#s?3?g*>4oxbkXB6@U%F+|qkzNG zNh>F9nKG_?6`YNY?NIz(S?I%gqxh9P#J{Sn+hJ7V<`rn2jlb9knep$mqDS~!-L2vr z#6FEOL?Pf%;f{`Dmo0GW#=k2Ke+3TyQdeLLU)jiRDc;EUg2mO)@-d^7#Gj6R$w%0X zn6!R>1oyR5uc!of)Ye{D<Ap{4Q#`TO4~ zQ%kL&$>zC-1I!qE@= zap`B^4kSVRD!uUWn+>m= z2R6@67uN~=-B$deDQ#1>B}l8Ll$BnXQZ{8(0-5;buY%d1dP+g#FCGJ@?iDl!ThR|K zomgBq^Fy;Y#qxe0r7h+EL!b}+cU$Soga}*>*jqg!=xZxJN9g1EpZW%G>|H4c4BP{C zV(IOGzB~dm^{!2`Tgrb>gu6l8si}0|lve;zW1ZSc_ZiDf{8MA_6@kD&^eJDKJ`4za zAs+)HJg{l@p~@=o;6&5Le3aT%dQ8Q@RS?<6CT*M2R{E79F}ITVLp$O9fUYr(f}OsR zSN7uTif5L;H8TxSFrR`vP+$4ar4K8-)iUbr&*CFf#*fgbntApI&rXV8wC!>6hfxrJ zIRs;I*Qh4=eH`wwU|SdP4fntAEdP_rs>*+!`JsGb4^;l5@^8wYFMT-U{`ZxsUByQx zt%Q4vsc?5OT4`$Og-MSVznI$Pwx}O}UXEJeR38o257vSDWTcBao(MT>HSVwk*~*AeD{{||Y11_J;9 literal 0 HcmV?d00001 diff --git a/ili9341/images/kb2.raw b/ili9341/images/kb2.raw new file mode 100644 index 0000000000000000000000000000000000000000..6b170f399feb1ea16a1bf82a951ab372d5a0c19e GIT binary patch literal 122880 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 literal 0 HcmV?d00001 diff --git a/ili9341/images/kb_sprite_320x768.raw b/ili9341/images/kb_sprite_320x768.raw new file mode 100644 index 0000000000000000000000000000000000000000..0b717aed8c1681381ef84a7ad3d2b91c6fdd77a6 GIT binary patch literal 491520 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

UkM;vMqrYrJ-s6Y0bwnLI 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�Y+(U{ckh4d`a2JT_23Nz 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 Rl=+jSFLEs9avG^h;J<^Xxt{<4 literal 0 HcmV?d00001 diff --git a/ili9341/images/keyboard_blank.png b/ili9341/images/keyboard_blank.png new file mode 100644 index 0000000000000000000000000000000000000000..d7205f10840c4f2d94d7b54e954b85cfba39bb6b GIT binary patch literal 15402 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 YN^u;2LYRp^;00(u(pRs1U={ZN0ifIxZ~y=R literal 0 HcmV?d00001 diff --git a/ili9341/images/kururin_anim/kururin1.raw b/ili9341/images/kururin_anim/kururin1.raw new file mode 100644 index 0000000000000000000000000000000000000000..e6499b47b35c9f184b24324bfad1fe38befd2b6b GIT binary patch literal 114720 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 literal 0 HcmV?d00001 diff --git a/ili9341/images/kururin_anim/kururin3.raw b/ili9341/images/kururin_anim/kururin3.raw new file mode 100644 index 0000000000000000000000000000000000000000..d05d8578d2e3f292476a3f16f8bf9c3b051389b0 GIT binary patch literal 114720 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 VZ4N$TFZk?~eks*b?A*}v{{xA)tnUB- literal 0 HcmV?d00001 diff --git a/ili9341/images/kururin_anim/kururin6.raw b/ili9341/images/kururin_anim/kururin6.raw new file mode 100644 index 0000000000000000000000000000000000000000..6ad4f765976a8a6b6aff5302884dfd94d9d0f66c GIT binary patch literal 114720 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%0AhJoQ*#+&|9z;8@!#4ep}k9Qzbbyz#xtLScDn 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', '|', '\\', '/', '{', '}', '[', ']'), + ('\f', '=', '"', '\'', ';', ':', '`', '~', '\b', '\b'), + ('\a', ' ', '\r') + ) + ) + + def __init__(self, display, font): + """Initialize Keybaord. + + Args: + display (Display class): LCD Display + font (XglcdFont class): Font to display text above keyboard + """ + self.display = display + self.font = font + self.kb_screen = 0 + self.kb_text = '' + self.load_keyboard() + self.waiting = False + self.locked = False + + def clear_text(self): + """Clear the keyboard text.""" + self.display.fill_hrect(0, 11, self.display.width, 24, 0) + self.kb_text = '' + + def handle_keypress(self, x, y, debug=False): + """Get pressed key. + + Args: + x, y (int): Pressed screen coordinates. + Returns: + bool: True indicates return pressed otherwise False + """ + if self.locked is True: + return + + if self.waiting is True: + self.clear_text() + self.waiting = False + return + + x, y = y, x # Touch coordinates need to be swapped. + + if debug: + self.display.fill_circle(x, y, 5, self.GREEN) + + # Calculate keyboard row and column + if y >= 47: # Check if press within keyboard area + row = int(y / 47) - 1 + if row == 0: + column = int(x/32) + elif row == 1 or row == 2: + column = max(0, int((x-16)/32)) + else: + # Row 3 + if x < 80: + column = 0 + elif x > 240: + column = 2 + else: + column = 1 + + key = self.KEYS[self.kb_screen][row][column] + + if key == '\t' or key == '\f': + self.kb_screen ^= 1 # Toggle caps or flip symbol sets + self.load_keyboard() + elif key == '\a': + self.kb_screen = 0 # Switch to alphabet screen + self.load_keyboard() + elif key == '\n': + self.kb_screen = 2 # Switch to numeric / symbols screen + self.load_keyboard() + elif key == '\b': # Backspace + self.kb_text = self.kb_text[:-1] + margin = self.font.measure_text(self.kb_text) + self.display.fill_vrect(margin, 11, 12, 24, 0) + elif key == '\r': + # Keyboard return pressed (start search) + if self.kb_text != '': + return True + else: + margin = self.font.measure_text(self.kb_text) + self.kb_text += key + self.display.draw_letter(margin, 11, key, self.font, + self.YELLOW) + return False + + def load_keyboard(self): + """Display the currently selected keyboard.""" + self.display.draw_image('images/kb{0}.raw'.format(self.kb_screen), + 0, 47, 320, 192) + + def show_message(self, msg, color): + """Display message above keyboard.""" + self.clear_text() + msg_length = self.font.measure_text(msg) + margin = (self.display.width - msg_length) // 2 + self.display.draw_text(margin, 11, msg, self.font, color) diff --git a/ili9341/urequests2.py b/ili9341/urequests2.py new file mode 100644 index 0000000..ae82158 --- /dev/null +++ b/ili9341/urequests2.py @@ -0,0 +1,189 @@ +"""Revised MicroPython Urequests Library. + +by Chris Borrill (Chris2B) +https://github.com/chrisb2/micropython-lib/tree/master/urequests +forked from https://github.com/micropython/micropython-lib +MIT License + +Notes: + This library supports response.iter_lines() which helps eliminate + memory allocation errors when parsing REST API data. +""" + +import usocket + +ITER_CHUNK_SIZE = 128 + +class Response: + + def __init__(self, f): + self.raw = f + self.encoding = "utf-8" + self._content_consumed = False + self._cached = None + + def __enter__(self): + return self + + def __exit__(self, *args): + self.close() + + def __iter__(self): + return self.iter_content() + + def close(self): + if self.raw: + self.raw.close() + self.raw = None + self._cached = None + + @property + def content(self): + if self._cached is None: + try: + self._cached = self.raw.read() + finally: + self.raw.close() + self.raw = None + return self._cached + + @property + def text(self): + return str(self.content, self.encoding) + + def json(self): + import ujson + return ujson.loads(self.content) + + def iter_content(self, chunk_size=ITER_CHUNK_SIZE): + def generate(): + while True: + chunk = self.raw.read(chunk_size) + if not chunk: + break + yield chunk + self._content_consumed = True + + if self._content_consumed: + raise RuntimeError("response already consumed") + elif chunk_size is not None and not isinstance(chunk_size, int): + raise TypeError("chunk_size must be an int, it is instead a %s." + % type(chunk_size)) + + return generate() + + def iter_lines(self, chunk_size=ITER_CHUNK_SIZE, delimiter=None): + pending = None + + for chunk in self.iter_content(chunk_size=chunk_size): + + if pending is not None: + chunk = pending + chunk + + if delimiter: + lines = chunk.split(delimiter) + else: + lines = chunk.split(b'\n') + + if lines and lines[-1] and chunk and lines[-1][-1] == chunk[-1]: + pending = lines.pop() + else: + pending = None + + for line in lines: + yield line + + if pending is not None: + yield pending + + +def request(method, url, data=None, json=None, headers={}, stream=None): + try: + proto, dummy, host, path = url.split("/", 3) + except ValueError: + proto, dummy, host = url.split("/", 2) + path = "" + if proto == "http:": + port = 80 + elif proto == "https:": + import ussl + port = 443 + else: + raise ValueError("Unsupported protocol: " + proto) + + if ":" in host: + host, port = host.split(":", 1) + port = int(port) + + ai = usocket.getaddrinfo(host, port, 0, usocket.SOCK_STREAM) + ai = ai[0] + + s = usocket.socket(ai[0], ai[1], ai[2]) + try: + s.connect(ai[-1]) + if proto == "https:": + s = ussl.wrap_socket(s, server_hostname=host) + s.write(b"%s /%s HTTP/1.0\r\n" % (method, path)) + if not "Host" in headers: + s.write(b"Host: %s\r\n" % host) + # Iterate over keys to avoid tuple alloc + for k in headers: + s.write(k) + s.write(b": ") + s.write(headers[k]) + s.write(b"\r\n") + if json is not None: + assert data is None + import ujson + data = ujson.dumps(json) + s.write(b"Content-Type: application/json\r\n") + if data: + s.write(b"Content-Length: %d\r\n" % len(data)) + s.write(b"\r\n") + if data: + s.write(data) + + l = s.readline() + #print(l) + l = l.split(None, 2) + status = int(l[1]) + reason = "" + if len(l) > 2: + reason = l[2].rstrip() + while True: + l = s.readline() + if not l or l == b"\r\n": + break + #print(l) + if l.startswith(b"Transfer-Encoding:"): + if b"chunked" in l: + raise ValueError("Unsupported " + l) + elif l.startswith(b"Location:") and not 200 <= status <= 299: + raise NotImplementedError("Redirects not yet supported") + except OSError: + s.close() + raise + + resp = Response(s) + resp.status_code = status + resp.reason = reason + return resp + + +def head(url, **kw): + return request("HEAD", url, **kw) + +def get(url, **kw): + return request("GET", url, **kw) + +def post(url, **kw): + return request("POST", url, **kw) + +def put(url, **kw): + return request("PUT", url, **kw) + +def patch(url, **kw): + return request("PATCH", url, **kw) + +def delete(url, **kw): + return request("DELETE", url, **kw) diff --git a/ili9341/utils/fontedit2glcd.py b/ili9341/utils/fontedit2glcd.py new file mode 100644 index 0000000..6235392 --- /dev/null +++ b/ili9341/utils/fontedit2glcd.py @@ -0,0 +1,136 @@ +# -*- coding: utf-8 -*- +"""Utility to convert FontEdit files to GLCD format.""" +from os import path +import sys + + +def process_file(font_width, font_height, input_file, output_file): + with open(input_file, 'r') as infile, open(output_file, 'w') as outfile: + for line in infile: + line = line.strip() + + # Case 1: Comment Line + if line.startswith('//'): + outfile.write(line + '\n') + + # Case 2: Blank Line + elif not line: + continue + + # Case 3: Variable Definition + elif line.startswith('const'): + continue + + # Case 4: Variable Closing + elif line.startswith('};'): + continue + + # Case 5: Hex Value Lines + else: + parts = line.split('//') + hex_values = parts[0].split(',') + comment = '//' + parts[1] if len(parts) > 1 else '' + + converted_values = convert_hex_value( + [val.strip() for val in hex_values if val.strip()], + font_width, + font_height) + + outfile.write(', '.join(converted_values) + ', ' + + comment + '\n') + + +def hex_to_matrix(hex_values, font_width, font_height): + # Strip '0x' prefix and filter out invalid hex values + hex_values = [hv[2:] for hv in hex_values if hv.startswith('0x') and + all(c in '0123456789ABCDEFabcdef' for c in hv[2:])] + + # Calculate the number of hex values per row + values_per_row = font_width // 8 + (1 if font_width % 8 != 0 else 0) + + # Group hex values into rows based on values_per_row + rows = [hex_values[i:i + values_per_row] for i in range( + 0, len(hex_values), values_per_row)] + + # Verify the number of rows matches the expected font_height + if len(rows) != font_height: + raise ValueError(f"Expected {font_height} rows, but found {len(rows)}") + + # Convert grouped hex values to binary rows + binary_matrix = [] + for row in rows: + binary_row = '' + for hv in row: + # Reverse the order of bits in each byte + binary_byte = format(int(hv, 16), '08b')[::-1] + binary_row += binary_byte + binary_matrix.append(binary_row[:font_width]) + return binary_matrix + + +def pad_matrix(matrix, font_width, font_height): + # Calculate the required height to make it divisible by 8 + required_height = ((font_height + 7) // 8) * 8 + + # Pad the matrix with rows of zeros if needed + while len(matrix) < required_height: + binary_row = '0' * font_width + matrix.append(list(binary_row)) # Append a list of zeros + return matrix + + +def convert_hex_value(hex_values, font_width, font_height): + # Convert hex values to a binary matrix + matrix = hex_to_matrix(hex_values, font_width, font_height) + """ + for row in matrix: + print(' '.join(row)) + print("---------------") + """ + # Pad matrix along bottom to be divisible by 8 + matrix = pad_matrix(matrix, font_width, font_height) + """ + for row in matrix: + print(' '.join(row)) + """ + return matrix_transposed_to_hex_values(matrix, font_width, font_height) + + +def matrix_transposed_to_hex_values(matrix, font_width, font_height): + hex_values = [] + # Convert and prepend the width of the character + width_hex = '0x' + format(font_width, '02X') + hex_values.append(width_hex) + for col in range(font_width): + for row in range(0, font_height, 8): + # Extract a group of 8 pixels + pixel_group = [matrix[r][col] for r in range(row, row + 8)] + # Convert to binary string in little endian format + binary_str = ''.join(pixel_group[::-1]) + # Convert binary string to hex value + hex_value = '0x' + format(int(binary_str, 2), '02X') + hex_values.append(hex_value) + return hex_values + + +if __name__ == '__main__': + args = sys.argv + if len(args) != 4: + error('Please specify font width, height & input file: ./fontedit2glcd.py 24 42 myfont.c') + width = int(args[1]) + height = int(args[2]) + in_path = args[3] + + if not (1 <= width <= 254): + error("Width is not between 1 and 254.") + + if not (1 <= height <= 254): + error("Height is not between 1 and 254.") + + if not path.exists(in_path): + error('File Not Found: ' + in_path) + + filename, ext = path.splitext(in_path) + out_path = filename + "_converted" + ext + + process_file(width, height, in_path, out_path) diff --git a/ili9341/utils/img2rgb565.py b/ili9341/utils/img2rgb565.py new file mode 100644 index 0000000..eedf0e2 --- /dev/null +++ b/ili9341/utils/img2rgb565.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +"""Utility to convert images to raw RGB565 format.""" + +from PIL import Image +from struct import pack +from os import path +import sys + + +def error(msg): + """Display error and exit.""" + print (msg) + sys.exit(-1) + + +def write_bin(f, pixel_list): + """Save image in RGB565 format.""" + for pix in pixel_list: + r = (pix[0] >> 3) & 0x1F + g = (pix[1] >> 2) & 0x3F + b = (pix[2] >> 3) & 0x1F + f.write(pack('>H', (r << 11) + (g << 5) + b)) + + +if __name__ == '__main__': + args = sys.argv + if len(args) != 2: + error('Please specify input file: ./img2rgb565.py test.png') + in_path = args[1] + if not path.exists(in_path): + error('File Not Found: ' + in_path) + + filename, ext = path.splitext(in_path) + out_path = filename + '.raw' + img = Image.open(in_path).convert('RGB') + pixels = list(img.getdata()) + with open(out_path, 'wb') as f: + write_bin(f, pixels) + print('Saved: ' + out_path) diff --git a/ili9341/xglcd_font.py b/ili9341/xglcd_font.py new file mode 100644 index 0000000..5d28853 --- /dev/null +++ b/ili9341/xglcd_font.py @@ -0,0 +1,170 @@ +"""XGLCD Font Utility.""" +from math import ceil, floor + + +class XglcdFont(object): + """Font data in X-GLCD format. + + Attributes: + letters: A bytearray of letters (columns consist of bytes) + width: Maximum pixel width of font + height: Pixel height of font + start_letter: ASCII number of first letter + height_bytes: How many bytes comprises letter height + + Note: + Font files can be generated with the free version of MikroElektronika + GLCD Font Creator: www.mikroe.com/glcd-font-creator + The font file must be in X-GLCD 'C' format. + To save text files from this font creator program in Win7 or higher + you must use XP compatibility mode or you can just use the clipboard. + """ + + # Dict to tranlate bitwise values to byte position + BIT_POS = {1: 0, 2: 2, 4: 4, 8: 6, 16: 8, 32: 10, 64: 12, 128: 14, 256: 16} + + def __init__(self, path, width, height, start_letter=32, letter_count=96): + """Constructor for X-GLCD Font object. + + Args: + path (string): Full path of font file + width (int): Maximum width in pixels of each letter + height (int): Height in pixels of each letter + start_letter (int): First ACII letter. Default is 32. + letter_count (int): Total number of letters. Default is 96. + """ + self.width = width + self.height = max(height, 8) + self.start_letter = start_letter + self.letter_count = letter_count + self.bytes_per_letter = (floor( + (self.height - 1) / 8) + 1) * self.width + 1 + self.__load_xglcd_font(path) + + def __load_xglcd_font(self, path): + """Load X-GLCD font data from text file. + + Args: + path (string): Full path of font file. + """ + bytes_per_letter = self.bytes_per_letter + # Buffer to hold letter byte values + self.letters = bytearray(bytes_per_letter * self.letter_count) + mv = memoryview(self.letters) + offset = 0 + with open(path, 'r') as f: + for line in f: + # Skip lines that do not start with hex values + line = line.strip() + if len(line) == 0 or line[0:2] != '0x': + continue + # Remove comments + comment = line.find('//') + if comment != -1: + line = line[0:comment].strip() + # Remove trailing commas + if line.endswith(','): + line = line[0:len(line) - 1] + # Convert hex strings to bytearray and insert in to letters + mv[offset: offset + bytes_per_letter] = bytearray( + int(b, 16) for b in line.split(',')) + offset += bytes_per_letter + + def lit_bits(self, n): + """Return positions of 1 bits only.""" + while n: + b = n & (~n+1) + yield self.BIT_POS[b] + n ^= b + + def get_letter(self, letter, color, background=0, landscape=False): + """Convert letter byte data to pixels. + + Args: + letter (string): Letter to return (must exist within font). + color (int): RGB565 color value. + background (int): RGB565 background color (default: black). + landscape (bool): Orientation (default: False = portrait) + Returns: + (bytearray): Pixel data. + (int, int): Letter width and height. + """ + # Get index of letter + letter_ord = ord(letter) - self.start_letter + # Confirm font contains letter + if letter_ord >= self.letter_count: + print('Font does not contain character: ' + letter) + return b'', 0, 0 + bytes_per_letter = self.bytes_per_letter + offset = letter_ord * bytes_per_letter + mv = memoryview(self.letters[offset:offset + bytes_per_letter]) + + # Get width of letter (specified by first byte) + letter_width = mv[0] + letter_height = self.height + # Get size in bytes of specified letter + letter_size = letter_height * letter_width + # Create buffer (double size to accommodate 16 bit colors) + if background: + buf = bytearray(background.to_bytes(2, 'big') * letter_size) + else: + buf = bytearray(letter_size * 2) + + msb, lsb = color.to_bytes(2, 'big') + + if landscape: + # Populate buffer in order for landscape + pos = (letter_size * 2) - (letter_height * 2) + lh = letter_height + # Loop through letter byte data and convert to pixel data + for b in mv[1:]: + # Process only colored bits + for bit in self.lit_bits(b): + buf[bit + pos] = msb + buf[bit + pos + 1] = lsb + if lh > 8: + # Increment position by double byte + pos += 16 + lh -= 8 + else: + # Descrease position to start of previous column + pos -= (letter_height * 4) - (lh * 2) + lh = letter_height + else: + # Populate buffer in order for portrait + col = 0 # Set column to first column + bytes_per_letter = ceil(letter_height / 8) + letter_byte = 0 + # Loop through letter byte data and convert to pixel data + for b in mv[1:]: + # Process only colored bits + segment_size = letter_byte * letter_width * 16 + for bit in self.lit_bits(b): + pos = (bit * letter_width) + (col * 2) + segment_size + buf[pos] = msb + pos = (bit * letter_width) + (col * 2) + 1 + segment_size + buf[pos] = lsb + letter_byte += 1 + if letter_byte + 1 > bytes_per_letter: + col += 1 + letter_byte = 0 + + return buf, letter_width, letter_height + + def measure_text(self, text, spacing=1): + """Measure length of text string in pixels. + + Args: + text (string): Text string to measure + spacing (optional int): Pixel spacing between letters. Default: 1. + Returns: + int: length of text + """ + length = 0 + for letter in text: + # Get index of letter + letter_ord = ord(letter) - self.start_letter + offset = letter_ord * self.bytes_per_letter + # Add length of letter and spacing + length += self.letters[offset] + spacing + return length diff --git a/ili9341/xpt2046.py b/ili9341/xpt2046.py new file mode 100644 index 0000000..b1e8751 --- /dev/null +++ b/ili9341/xpt2046.py @@ -0,0 +1,135 @@ +"""XPT2046 Touch module.""" +from time import sleep + + +class Touch(object): + """Serial interface for XPT2046 Touch Screen Controller.""" + + # Command constants from ILI9341 datasheet + GET_X = const(0b11010000) # X position + GET_Y = const(0b10010000) # Y position + GET_Z1 = const(0b10110000) # Z1 position + GET_Z2 = const(0b11000000) # Z2 position + GET_TEMP0 = const(0b10000000) # Temperature 0 + GET_TEMP1 = const(0b11110000) # Temperature 1 + GET_BATTERY = const(0b10100000) # Battery monitor + GET_AUX = const(0b11100000) # Auxiliary input to ADC + + def __init__(self, spi, cs, int_pin=None, int_handler=None, + width=240, height=320, + x_min=100, x_max=1962, y_min=100, y_max=1900): + """Initialize touch screen controller. + + Args: + spi (Class Spi): SPI interface for OLED + cs (Class Pin): Chip select pin + int_pin (Class Pin): Touch controller interrupt pin + int_handler (function): Handler for screen interrupt + width (int): Width of LCD screen + height (int): Height of LCD screen + x_min (int): Minimum x coordinate + x_max (int): Maximum x coordinate + y_min (int): Minimum Y coordinate + y_max (int): Maximum Y coordinate + """ + self.spi = spi + self.cs = cs + self.cs.init(self.cs.OUT, value=1) + self.rx_buf = bytearray(3) # Receive buffer + self.tx_buf = bytearray(3) # Transmit buffer + self.width = width + self.height = height + # Set calibration + self.x_min = x_min + self.x_max = x_max + self.y_min = y_min + self.y_max = y_max + self.x_multiplier = width / (x_max - x_min) + self.x_add = x_min * -self.x_multiplier + self.y_multiplier = height / (y_max - y_min) + self.y_add = y_min * -self.y_multiplier + + if int_pin is not None: + self.int_pin = int_pin + self.int_pin.init(int_pin.IN) + self.int_handler = int_handler + self.int_locked = False + int_pin.irq(trigger=int_pin.IRQ_FALLING | int_pin.IRQ_RISING, + handler=self.int_press) + + def get_touch(self): + """Take multiple samples to get accurate touch reading.""" + timeout = 2 # set timeout to 2 seconds + confidence = 5 + buff = [[0, 0] for x in range(confidence)] + buf_length = confidence # Require a confidence of 5 good samples + buffptr = 0 # Track current buffer position + nsamples = 0 # Count samples + while timeout > 0: + if nsamples == buf_length: + meanx = sum([c[0] for c in buff]) // buf_length + meany = sum([c[1] for c in buff]) // buf_length + dev = sum([(c[0] - meanx)**2 + + (c[1] - meany)**2 for c in buff]) / buf_length + if dev <= 50: # Deviation should be under margin of 50 + return self.normalize(meanx, meany) + # get a new value + sample = self.raw_touch() # get a touch + if sample is None: + nsamples = 0 # Invalidate buff + else: + buff[buffptr] = sample # put in buff + buffptr = (buffptr + 1) % buf_length # Incr, until rollover + nsamples = min(nsamples + 1, buf_length) # Incr. until max + + sleep(.05) + timeout -= .05 + return None + + def int_press(self, pin): + """Send X,Y values to passed interrupt handler.""" + if not pin.value() and not self.int_locked: + self.int_locked = True # Lock Interrupt + buff = self.raw_touch() + + if buff is not None: + x, y = self.normalize(*buff) + self.int_handler(x, y) + sleep(.1) # Debounce falling edge + elif pin.value() and self.int_locked: + sleep(.1) # Debounce rising edge + self.int_locked = False # Unlock interrupt + + def normalize(self, x, y): + """Normalize mean X,Y values to match LCD screen.""" + x = int(self.x_multiplier * x + self.x_add) + y = int(self.y_multiplier * y + self.y_add) + return x, y + + def raw_touch(self): + """Read raw X,Y touch values. + + Returns: + tuple(int, int): X, Y + """ + x = self.send_command(self.GET_X) + y = self.send_command(self.GET_Y) + if self.x_min <= x <= self.x_max and self.y_min <= y <= self.y_max: + return (x, y) + else: + return None + + def send_command(self, command): + """Write command to XT2046 (MicroPython). + + Args: + command (byte): XT2046 command code. + Returns: + int: 12 bit response + """ + self.tx_buf[0] = command + self.cs(0) + self.spi.write_readinto(self.tx_buf, self.rx_buf) + self.cs(1) + + return (self.rx_buf[1] << 4) | (self.rx_buf[2] >> 4) diff --git a/images/kururin1-2.raw b/images/kururin1-2.raw new file mode 100644 index 0000000000000000000000000000000000000000..aaaaf5a740192228ece7a4c97d4548e7c136d839 GIT binary patch literal 96800 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.rH1Mmm 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 dlY~VrAe)4#ekY_hmR8H{~vjvhC=`V literal 0 HcmV?d00001 diff --git a/libs/ili9341.py b/libs/ili9341.py new file mode 100644 index 0000000..5fd9118 --- /dev/null +++ b/libs/ili9341.py @@ -0,0 +1,1056 @@ +"""ILI9341 LCD/Touch module.""" +from time import sleep +from math import cos, sin, pi, radians +from sys import implementation +from framebuf import FrameBuffer, RGB565 # type: ignore + + +def color565(r, g, b): + """Return RGB565 color value. + + Args: + r (int): Red value. + g (int): Green value. + b (int): Blue value. + """ + return (r & 0xf8) << 8 | (g & 0xfc) << 3 | b >> 3 + + +class Display(object): + """Serial interface for 16-bit color (5-6-5 RGB) IL9341 display. + + Note: All coordinates are zero based. + """ + + # Command constants from ILI9341 datasheet + NOP = const(0x00) # No-op + SWRESET = const(0x01) # Software reset + RDDID = const(0x04) # Read display ID info + RDDST = const(0x09) # Read display status + SLPIN = const(0x10) # Enter sleep mode + SLPOUT = const(0x11) # Exit sleep mode + PTLON = const(0x12) # Partial mode on + NORON = const(0x13) # Normal display mode on + RDMODE = const(0x0A) # Read display power mode + RDMADCTL = const(0x0B) # Read display MADCTL + RDPIXFMT = const(0x0C) # Read display pixel format + RDIMGFMT = const(0x0D) # Read display image format + RDSELFDIAG = const(0x0F) # Read display self-diagnostic + INVOFF = const(0x20) # Display inversion off + INVON = const(0x21) # Display inversion on + GAMMASET = const(0x26) # Gamma set + DISPLAY_OFF = const(0x28) # Display off + DISPLAY_ON = const(0x29) # Display on + SET_COLUMN = const(0x2A) # Column address set + SET_PAGE = const(0x2B) # Page address set + WRITE_RAM = const(0x2C) # Memory write + READ_RAM = const(0x2E) # Memory read + PTLAR = const(0x30) # Partial area + VSCRDEF = const(0x33) # Vertical scrolling definition + MADCTL = const(0x36) # Memory access control + VSCRSADD = const(0x37) # Vertical scrolling start address + PIXFMT = const(0x3A) # COLMOD: Pixel format set + WRITE_DISPLAY_BRIGHTNESS = const(0x51) # Brightness hardware dependent! + READ_DISPLAY_BRIGHTNESS = const(0x52) + WRITE_CTRL_DISPLAY = const(0x53) + READ_CTRL_DISPLAY = const(0x54) + WRITE_CABC = const(0x55) # Write Content Adaptive Brightness Control + READ_CABC = const(0x56) # Read Content Adaptive Brightness Control + WRITE_CABC_MINIMUM = const(0x5E) # Write CABC Minimum Brightness + READ_CABC_MINIMUM = const(0x5F) # Read CABC Minimum Brightness + FRMCTR1 = const(0xB1) # Frame rate control (In normal mode/full colors) + FRMCTR2 = const(0xB2) # Frame rate control (In idle mode/8 colors) + FRMCTR3 = const(0xB3) # Frame rate control (In partial mode/full colors) + INVCTR = const(0xB4) # Display inversion control + DFUNCTR = const(0xB6) # Display function control + PWCTR1 = const(0xC0) # Power control 1 + PWCTR2 = const(0xC1) # Power control 2 + PWCTRA = const(0xCB) # Power control A + PWCTRB = const(0xCF) # Power control B + VMCTR1 = const(0xC5) # VCOM control 1 + VMCTR2 = const(0xC7) # VCOM control 2 + RDID1 = const(0xDA) # Read ID 1 + RDID2 = const(0xDB) # Read ID 2 + RDID3 = const(0xDC) # Read ID 3 + RDID4 = const(0xDD) # Read ID 4 + GMCTRP1 = const(0xE0) # Positive gamma correction + GMCTRN1 = const(0xE1) # Negative gamma correction + DTCA = const(0xE8) # Driver timing control A + DTCB = const(0xEA) # Driver timing control B + POSC = const(0xED) # Power on sequence control + ENABLE3G = const(0xF2) # Enable 3 gamma control + PUMPRC = const(0xF7) # Pump ratio control + + ROTATE = { + 0: 0x88, + 90: 0xE8, + 180: 0x48, + 270: 0x28 + } + + def __init__(self, spi, cs, dc, rst, + width=240, height=320, rotation=0): + """Initialize OLED. + + Args: + spi (Class Spi): SPI interface for OLED + cs (Class Pin): Chip select pin + dc (Class Pin): Data/Command pin + rst (Class Pin): Reset pin + width (Optional int): Screen width (default 240) + height (Optional int): Screen height (default 320) + rotation (Optional int): Rotation must be 0 default, 90. 180 or 270 + """ + self.spi = spi + self.cs = cs + self.dc = dc + self.rst = rst + self.width = width + self.height = height + if rotation not in self.ROTATE.keys(): + raise RuntimeError('Rotation must be 0, 90, 180 or 270.') + else: + self.rotation = self.ROTATE[rotation] + + # Initialize GPIO pins and set implementation specific methods + if implementation.name == 'circuitpython': + self.cs.switch_to_output(value=True) + self.dc.switch_to_output(value=False) + self.rst.switch_to_output(value=True) + self.reset = self.reset_cpy + self.write_cmd = self.write_cmd_cpy + self.write_data = self.write_data_cpy + else: + self.cs.init(self.cs.OUT, value=1) + self.dc.init(self.dc.OUT, value=0) + self.rst.init(self.rst.OUT, value=1) + self.reset = self.reset_mpy + self.write_cmd = self.write_cmd_mpy + self.write_data = self.write_data_mpy + self.reset() + # Send initialization commands + self.write_cmd(self.SWRESET) # Software reset + sleep(.1) + self.write_cmd(self.PWCTRB, 0x00, 0xC1, 0x30) # Pwr ctrl B + self.write_cmd(self.POSC, 0x64, 0x03, 0x12, 0x81) # Pwr on seq. ctrl + self.write_cmd(self.DTCA, 0x85, 0x00, 0x78) # Driver timing ctrl A + self.write_cmd(self.PWCTRA, 0x39, 0x2C, 0x00, 0x34, 0x02) # Pwr ctrl A + self.write_cmd(self.PUMPRC, 0x20) # Pump ratio control + self.write_cmd(self.DTCB, 0x00, 0x00) # Driver timing ctrl B + self.write_cmd(self.PWCTR1, 0x23) # Pwr ctrl 1 + self.write_cmd(self.PWCTR2, 0x10) # Pwr ctrl 2 + self.write_cmd(self.VMCTR1, 0x3E, 0x28) # VCOM ctrl 1 + self.write_cmd(self.VMCTR2, 0x86) # VCOM ctrl 2 + self.write_cmd(self.MADCTL, self.rotation) # Memory access ctrl + self.write_cmd(self.VSCRSADD, 0x00) # Vertical scrolling start address + self.write_cmd(self.PIXFMT, 0x55) # COLMOD: Pixel format + self.write_cmd(self.FRMCTR1, 0x00, 0x18) # Frame rate ctrl + self.write_cmd(self.DFUNCTR, 0x08, 0x82, 0x27) + self.write_cmd(self.ENABLE3G, 0x00) # Enable 3 gamma ctrl + self.write_cmd(self.GAMMASET, 0x01) # Gamma curve selected + self.write_cmd(self.GMCTRP1, 0x0F, 0x31, 0x2B, 0x0C, 0x0E, 0x08, 0x4E, + 0xF1, 0x37, 0x07, 0x10, 0x03, 0x0E, 0x09, 0x00) + self.write_cmd(self.GMCTRN1, 0x00, 0x0E, 0x14, 0x03, 0x11, 0x07, 0x31, + 0xC1, 0x48, 0x08, 0x0F, 0x0C, 0x31, 0x36, 0x0F) + self.write_cmd(self.SLPOUT) # Exit sleep + sleep(.1) + self.write_cmd(self.DISPLAY_ON) # Display on + sleep(.1) + self.clear() + + def block(self, x0, y0, x1, y1, data): + """Write a block of data to display. + + Args: + x0 (int): Starting X position. + y0 (int): Starting Y position. + x1 (int): Ending X position. + y1 (int): Ending Y position. + data (bytes): Data buffer to write. + """ + self.write_cmd(self.SET_COLUMN, + x0 >> 8, x0 & 0xff, x1 >> 8, x1 & 0xff) + self.write_cmd(self.SET_PAGE, + y0 >> 8, y0 & 0xff, y1 >> 8, y1 & 0xff) + self.write_cmd(self.WRITE_RAM) + self.write_data(data) + + def cleanup(self): + """Clean up resources.""" + self.clear() + self.display_off() + self.spi.deinit() + print('display off') + + def clear(self, color=0, hlines=8): + """Clear display. + + Args: + color (Optional int): RGB565 color value (Default: 0 = Black). + hlines (Optional int): # of horizontal lines per chunk (Default: 8) + Note: + hlines was introduced to deal with memory allocation on some + boards. Smaller values allocate less memory but take longer + to execute. hlines must be a factor of the display height. + For example, for a 240 pixel height, valid values for hline + would be 1, 2, 4, 5, 8, 10, 16, 20, 32, 40, 64, 80, 160. + Higher values may result in memory allocation errors. + """ + w = self.width + h = self.height + assert hlines > 0 and h % hlines == 0, ( + "hlines must be a non-zero factor of height.") + # Clear display + if color: + line = color.to_bytes(2, 'big') * (w * hlines) + else: + line = bytearray(w * 2 * hlines) + for y in range(0, h, hlines): + self.block(0, y, w - 1, y + hlines - 1, line) + + def display_off(self): + """Turn display off.""" + self.write_cmd(self.DISPLAY_OFF) + + def display_on(self): + """Turn display on.""" + self.write_cmd(self.DISPLAY_ON) + + def draw_circle(self, x0, y0, r, color): + """Draw a circle. + + Args: + x0 (int): X coordinate of center point. + y0 (int): Y coordinate of center point. + r (int): Radius. + color (int): RGB565 color value. + """ + f = 1 - r + dx = 1 + dy = -r - r + x = 0 + y = r + self.draw_pixel(x0, y0 + r, color) + self.draw_pixel(x0, y0 - r, color) + self.draw_pixel(x0 + r, y0, color) + self.draw_pixel(x0 - r, y0, color) + while x < y: + if f >= 0: + y -= 1 + dy += 2 + f += dy + x += 1 + dx += 2 + f += dx + self.draw_pixel(x0 + x, y0 + y, color) + self.draw_pixel(x0 - x, y0 + y, color) + self.draw_pixel(x0 + x, y0 - y, color) + self.draw_pixel(x0 - x, y0 - y, color) + self.draw_pixel(x0 + y, y0 + x, color) + self.draw_pixel(x0 - y, y0 + x, color) + self.draw_pixel(x0 + y, y0 - x, color) + self.draw_pixel(x0 - y, y0 - x, color) + + def draw_ellipse(self, x0, y0, a, b, color): + """Draw an ellipse. + + Args: + x0, y0 (int): Coordinates of center point. + a (int): Semi axis horizontal. + b (int): Semi axis vertical. + color (int): RGB565 color value. + Note: + The center point is the center of the x0,y0 pixel. + Since pixels are not divisible, the axes are integer rounded + up to complete on a full pixel. Therefore the major and + minor axes are increased by 1. + """ + a2 = a * a + b2 = b * b + twoa2 = a2 + a2 + twob2 = b2 + b2 + x = 0 + y = b + px = 0 + py = twoa2 * y + # Plot initial points + self.draw_pixel(x0 + x, y0 + y, color) + self.draw_pixel(x0 - x, y0 + y, color) + self.draw_pixel(x0 + x, y0 - y, color) + self.draw_pixel(x0 - x, y0 - y, color) + # Region 1 + p = round(b2 - (a2 * b) + (0.25 * a2)) + while px < py: + x += 1 + px += twob2 + if p < 0: + p += b2 + px + else: + y -= 1 + py -= twoa2 + p += b2 + px - py + self.draw_pixel(x0 + x, y0 + y, color) + self.draw_pixel(x0 - x, y0 + y, color) + self.draw_pixel(x0 + x, y0 - y, color) + self.draw_pixel(x0 - x, y0 - y, color) + # Region 2 + p = round(b2 * (x + 0.5) * (x + 0.5) + + a2 * (y - 1) * (y - 1) - a2 * b2) + while y > 0: + y -= 1 + py -= twoa2 + if p > 0: + p += a2 - py + else: + x += 1 + px += twob2 + p += a2 - py + px + self.draw_pixel(x0 + x, y0 + y, color) + self.draw_pixel(x0 - x, y0 + y, color) + self.draw_pixel(x0 + x, y0 - y, color) + self.draw_pixel(x0 - x, y0 - y, color) + + def draw_hline(self, x, y, w, color): + """Draw a horizontal line. + + Args: + x (int): Starting X position. + y (int): Starting Y position. + w (int): Width of line. + color (int): RGB565 color value. + """ + if self.is_off_grid(x, y, x + w - 1, y): + return + line = color.to_bytes(2, 'big') * w + self.block(x, y, x + w - 1, y, line) + + def draw_image(self, path, x=0, y=0, w=320, h=240): + """Draw image from flash. + + Args: + path (string): Image file path. + x (int): X coordinate of image left. Default is 0. + y (int): Y coordinate of image top. Default is 0. + w (int): Width of image. Default is 320. + h (int): Height of image. Default is 240. + """ + x2 = x + w - 1 + y2 = y + h - 1 + if self.is_off_grid(x, y, x2, y2): + return + with open(path, "rb") as f: + chunk_height = 1024 // w + chunk_count, remainder = divmod(h, chunk_height) + chunk_size = chunk_height * w * 2 + chunk_y = y + if chunk_count: + for c in range(0, chunk_count): + buf = f.read(chunk_size) + self.block(x, chunk_y, + x2, chunk_y + chunk_height - 1, + buf) + chunk_y += chunk_height + if remainder: + buf = f.read(remainder * w * 2) + self.block(x, chunk_y, + x2, chunk_y + remainder - 1, + buf) + + def draw_letter(self, x, y, letter, font, color, background=0, + landscape=False, rotate_180=False): + """Draw a letter. + + Args: + x (int): Starting X position. + y (int): Starting Y position. + letter (string): Letter to draw. + font (XglcdFont object): Font. + color (int): RGB565 color value. + background (int): RGB565 background color (default: black) + landscape (bool): Orientation (default: False = portrait) + rotate_180 (bool): Rotate text by 180 degrees + """ + buf, w, h = font.get_letter(letter, color, background, landscape) + if rotate_180: + # Manually rotate the buffer by 180 degrees + # ensure bytes pairs for each pixel retain color565 + new_buf = bytearray(len(buf)) + num_pixels = len(buf) // 2 + for i in range(num_pixels): + # The index for the new buffer's byte pair + new_idx = (num_pixels - 1 - i) * 2 + # The index for the original buffer's byte pair + old_idx = i * 2 + # Swap the pixels + new_buf[new_idx], new_buf[new_idx + 1] = buf[old_idx], buf[old_idx + 1] + buf = new_buf + + # Check for errors (Font could be missing specified letter) + if w == 0: + return w, h + + if landscape: + y -= w + if self.is_off_grid(x, y, x + h - 1, y + w - 1): + return 0, 0 + self.block(x, y, + x + h - 1, y + w - 1, + buf) + else: + if self.is_off_grid(x, y, x + w - 1, y + h - 1): + return 0, 0 + self.block(x, y, + x + w - 1, y + h - 1, + buf) + return w, h + + def draw_line(self, x1, y1, x2, y2, color): + """Draw a line using Bresenham's algorithm. + + Args: + x1, y1 (int): Starting coordinates of the line + x2, y2 (int): Ending coordinates of the line + color (int): RGB565 color value. + """ + # Check for horizontal line + if y1 == y2: + if x1 > x2: + x1, x2 = x2, x1 + self.draw_hline(x1, y1, x2 - x1 + 1, color) + return + # Check for vertical line + if x1 == x2: + if y1 > y2: + y1, y2 = y2, y1 + self.draw_vline(x1, y1, y2 - y1 + 1, color) + return + # Confirm coordinates in boundary + if self.is_off_grid(min(x1, x2), min(y1, y2), + max(x1, x2), max(y1, y2)): + return + # Changes in x, y + dx = x2 - x1 + dy = y2 - y1 + # Determine how steep the line is + is_steep = abs(dy) > abs(dx) + # Rotate line + if is_steep: + x1, y1 = y1, x1 + x2, y2 = y2, x2 + # Swap start and end points if necessary + if x1 > x2: + x1, x2 = x2, x1 + y1, y2 = y2, y1 + # Recalculate differentials + dx = x2 - x1 + dy = y2 - y1 + # Calculate error + error = dx >> 1 + ystep = 1 if y1 < y2 else -1 + y = y1 + for x in range(x1, x2 + 1): + # Had to reverse HW ???? + if not is_steep: + self.draw_pixel(x, y, color) + else: + self.draw_pixel(y, x, color) + error -= abs(dy) + if error < 0: + y += ystep + error += dx + + def draw_lines(self, coords, color): + """Draw multiple lines. + + Args: + coords ([[int, int],...]): Line coordinate X, Y pairs + color (int): RGB565 color value. + """ + # Starting point + x1, y1 = coords[0] + # Iterate through coordinates + for i in range(1, len(coords)): + x2, y2 = coords[i] + self.draw_line(x1, y1, x2, y2, color) + x1, y1 = x2, y2 + + def draw_pixel(self, x, y, color): + """Draw a single pixel. + + Args: + x (int): X position. + y (int): Y position. + color (int): RGB565 color value. + """ + if self.is_off_grid(x, y, x, y): + return + self.block(x, y, x, y, color.to_bytes(2, 'big')) + + def draw_polygon(self, sides, x0, y0, r, color, rotate=0): + """Draw an n-sided regular polygon. + + Args: + sides (int): Number of polygon sides. + x0, y0 (int): Coordinates of center point. + r (int): Radius. + color (int): RGB565 color value. + rotate (Optional float): Rotation in degrees relative to origin. + Note: + The center point is the center of the x0,y0 pixel. + Since pixels are not divisible, the radius is integer rounded + up to complete on a full pixel. Therefore diameter = 2 x r + 1. + """ + coords = [] + theta = radians(rotate) + n = sides + 1 + for s in range(n): + t = 2.0 * pi * s / sides + theta + coords.append([int(r * cos(t) + x0), int(r * sin(t) + y0)]) + + # Cast to python float first to fix rounding errors + self.draw_lines(coords, color=color) + + def draw_rectangle(self, x, y, w, h, color): + """Draw a rectangle. + + Args: + x (int): Starting X position. + y (int): Starting Y position. + w (int): Width of rectangle. + h (int): Height of rectangle. + color (int): RGB565 color value. + """ + x2 = x + w - 1 + y2 = y + h - 1 + self.draw_hline(x, y, w, color) + self.draw_hline(x, y2, w, color) + self.draw_vline(x, y, h, color) + self.draw_vline(x2, y, h, color) + + def draw_sprite(self, buf, x, y, w, h): + """Draw a sprite (optimized for horizontal drawing). + + Args: + buf (bytearray): Buffer to draw. + x (int): Starting X position. + y (int): Starting Y position. + w (int): Width of drawing. + h (int): Height of drawing. + """ + x2 = x + w - 1 + y2 = y + h - 1 + if self.is_off_grid(x, y, x2, y2): + return + self.block(x, y, x2, y2, buf) + + def draw_text(self, x, y, text, font, color, background=0, + landscape=False, rotate_180=False, spacing=1): + """Draw text. + + Args: + x (int): Starting X position + y (int): Starting Y position + text (string): Text to draw + font (XglcdFont object): Font + color (int): RGB565 color value + background (int): RGB565 background color (default: black) + landscape (bool): Orientation (default: False = portrait) + rotate_180 (bool): Rotate text by 180 degrees + spacing (int): Pixels between letters (default: 1) + """ + iterable_text = reversed(text) if rotate_180 else text + for letter in iterable_text: + # Get letter array and letter dimensions + w, h = self.draw_letter(x, y, letter, font, color, background, + landscape, rotate_180) + # Stop on error + if w == 0 or h == 0: + print('Invalid width {0} or height {1}'.format(w, h)) + return + + if landscape: + # Fill in spacing + if spacing: + self.fill_hrect(x, y - w - spacing, h, spacing, background) + # Position y for next letter + y -= (w + spacing) + else: + # Fill in spacing + if spacing: + self.fill_hrect(x + w, y, spacing, h, background) + # Position x for next letter + x += (w + spacing) + + # # Fill in spacing + # if spacing: + # self.fill_vrect(x + w, y, spacing, h, background) + # # Position x for next letter + # x += w + spacing + + def draw_text8x8(self, x, y, text, color, background=0, + rotate=0): + """Draw text using built-in MicroPython 8x8 bit font. + + Args: + x (int): Starting X position. + y (int): Starting Y position. + text (string): Text to draw. + color (int): RGB565 color value. + background (int): RGB565 background color (default: black). + rotate(int): 0, 90, 180, 270 + """ + w = len(text) * 8 + h = 8 + # Confirm coordinates in boundary + if self.is_off_grid(x, y, x + 7, y + 7): + return + # Rearrange color + r = (color & 0xF800) >> 8 + g = (color & 0x07E0) >> 3 + b = (color & 0x1F) << 3 + buf = bytearray(w * 16) + fbuf = FrameBuffer(buf, w, h, RGB565) + if background != 0: + bg_r = (background & 0xF800) >> 8 + bg_g = (background & 0x07E0) >> 3 + bg_b = (background & 0x1F) << 3 + fbuf.fill(color565(bg_b, bg_r, bg_g)) + fbuf.text(text, 0, 0, color565(b, r, g)) + if rotate == 0: + self.block(x, y, x + w - 1, y + (h - 1), buf) + elif rotate == 90: + buf2 = bytearray(w * 16) + fbuf2 = FrameBuffer(buf2, h, w, RGB565) + for y1 in range(h): + for x1 in range(w): + fbuf2.pixel(y1, x1, + fbuf.pixel(x1, (h - 1) - y1)) + self.block(x, y, x + (h - 1), y + w - 1, buf2) + elif rotate == 180: + buf2 = bytearray(w * 16) + fbuf2 = FrameBuffer(buf2, w, h, RGB565) + for y1 in range(h): + for x1 in range(w): + fbuf2.pixel(x1, y1, + fbuf.pixel((w - 1) - x1, (h - 1) - y1)) + self.block(x, y, x + w - 1, y + (h - 1), buf2) + elif rotate == 270: + buf2 = bytearray(w * 16) + fbuf2 = FrameBuffer(buf2, h, w, RGB565) + for y1 in range(h): + for x1 in range(w): + fbuf2.pixel(y1, x1, + fbuf.pixel((w - 1) - x1, y1)) + self.block(x, y, x + (h - 1), y + w - 1, buf2) + + def draw_vline(self, x, y, h, color): + """Draw a vertical line. + + Args: + x (int): Starting X position. + y (int): Starting Y position. + h (int): Height of line. + color (int): RGB565 color value. + """ + # Confirm coordinates in boundary + if self.is_off_grid(x, y, x, y + h - 1): + return + line = color.to_bytes(2, 'big') * h + self.block(x, y, x, y + h - 1, line) + + def fill_circle(self, x0, y0, r, color): + """Draw a filled circle. + + Args: + x0 (int): X coordinate of center point. + y0 (int): Y coordinate of center point. + r (int): Radius. + color (int): RGB565 color value. + """ + f = 1 - r + dx = 1 + dy = -r - r + x = 0 + y = r + self.draw_vline(x0, y0 - r, 2 * r + 1, color) + while x < y: + if f >= 0: + y -= 1 + dy += 2 + f += dy + x += 1 + dx += 2 + f += dx + self.draw_vline(x0 + x, y0 - y, 2 * y + 1, color) + self.draw_vline(x0 - x, y0 - y, 2 * y + 1, color) + self.draw_vline(x0 - y, y0 - x, 2 * x + 1, color) + self.draw_vline(x0 + y, y0 - x, 2 * x + 1, color) + + def fill_ellipse(self, x0, y0, a, b, color): + """Draw a filled ellipse. + + Args: + x0, y0 (int): Coordinates of center point. + a (int): Semi axis horizontal. + b (int): Semi axis vertical. + color (int): RGB565 color value. + Note: + The center point is the center of the x0,y0 pixel. + Since pixels are not divisible, the axes are integer rounded + up to complete on a full pixel. Therefore the major and + minor axes are increased by 1. + """ + a2 = a * a + b2 = b * b + twoa2 = a2 + a2 + twob2 = b2 + b2 + x = 0 + y = b + px = 0 + py = twoa2 * y + # Plot initial points + self.draw_line(x0, y0 - y, x0, y0 + y, color) + # Region 1 + p = round(b2 - (a2 * b) + (0.25 * a2)) + while px < py: + x += 1 + px += twob2 + if p < 0: + p += b2 + px + else: + y -= 1 + py -= twoa2 + p += b2 + px - py + self.draw_line(x0 + x, y0 - y, x0 + x, y0 + y, color) + self.draw_line(x0 - x, y0 - y, x0 - x, y0 + y, color) + # Region 2 + p = round(b2 * (x + 0.5) * (x + 0.5) + + a2 * (y - 1) * (y - 1) - a2 * b2) + while y > 0: + y -= 1 + py -= twoa2 + if p > 0: + p += a2 - py + else: + x += 1 + px += twob2 + p += a2 - py + px + self.draw_line(x0 + x, y0 - y, x0 + x, y0 + y, color) + self.draw_line(x0 - x, y0 - y, x0 - x, y0 + y, color) + + def fill_hrect(self, x, y, w, h, color): + """Draw a filled rectangle (optimized for horizontal drawing). + + Args: + x (int): Starting X position. + y (int): Starting Y position. + w (int): Width of rectangle. + h (int): Height of rectangle. + color (int): RGB565 color value. + """ + if self.is_off_grid(x, y, x + w - 1, y + h - 1): + return + chunk_height = 1024 // w + chunk_count, remainder = divmod(h, chunk_height) + chunk_size = chunk_height * w + chunk_y = y + if chunk_count: + buf = color.to_bytes(2, 'big') * chunk_size + for c in range(0, chunk_count): + self.block(x, chunk_y, + x + w - 1, chunk_y + chunk_height - 1, + buf) + chunk_y += chunk_height + + if remainder: + buf = color.to_bytes(2, 'big') * remainder * w + self.block(x, chunk_y, + x + w - 1, chunk_y + remainder - 1, + buf) + + def fill_rectangle(self, x, y, w, h, color): + """Draw a filled rectangle. + + Args: + x (int): Starting X position. + y (int): Starting Y position. + w (int): Width of rectangle. + h (int): Height of rectangle. + color (int): RGB565 color value. + """ + if self.is_off_grid(x, y, x + w - 1, y + h - 1): + return + if w > h: + self.fill_hrect(x, y, w, h, color) + else: + self.fill_vrect(x, y, w, h, color) + + def fill_polygon(self, sides, x0, y0, r, color, rotate=0): + """Draw a filled n-sided regular polygon. + + Args: + sides (int): Number of polygon sides. + x0, y0 (int): Coordinates of center point. + r (int): Radius. + color (int): RGB565 color value. + rotate (Optional float): Rotation in degrees relative to origin. + Note: + The center point is the center of the x0,y0 pixel. + Since pixels are not divisible, the radius is integer rounded + up to complete on a full pixel. Therefore diameter = 2 x r + 1. + """ + # Determine side coordinates + coords = [] + theta = radians(rotate) + n = sides + 1 + for s in range(n): + t = 2.0 * pi * s / sides + theta + coords.append([int(r * cos(t) + x0), int(r * sin(t) + y0)]) + # Starting point + x1, y1 = coords[0] + # Minimum Maximum X dict + xdict = {y1: [x1, x1]} + # Iterate through coordinates + for row in coords[1:]: + x2, y2 = row + xprev, yprev = x2, y2 + # Calculate perimeter + # Check for horizontal side + if y1 == y2: + if x1 > x2: + x1, x2 = x2, x1 + if y1 in xdict: + xdict[y1] = [min(x1, xdict[y1][0]), max(x2, xdict[y1][1])] + else: + xdict[y1] = [x1, x2] + x1, y1 = xprev, yprev + continue + # Non horizontal side + # Changes in x, y + dx = x2 - x1 + dy = y2 - y1 + # Determine how steep the line is + is_steep = abs(dy) > abs(dx) + # Rotate line + if is_steep: + x1, y1 = y1, x1 + x2, y2 = y2, x2 + # Swap start and end points if necessary + if x1 > x2: + x1, x2 = x2, x1 + y1, y2 = y2, y1 + # Recalculate differentials + dx = x2 - x1 + dy = y2 - y1 + # Calculate error + error = dx >> 1 + ystep = 1 if y1 < y2 else -1 + y = y1 + # Calcualte minimum and maximum x values + for x in range(x1, x2 + 1): + if is_steep: + if x in xdict: + xdict[x] = [min(y, xdict[x][0]), max(y, xdict[x][1])] + else: + xdict[x] = [y, y] + else: + if y in xdict: + xdict[y] = [min(x, xdict[y][0]), max(x, xdict[y][1])] + else: + xdict[y] = [x, x] + error -= abs(dy) + if error < 0: + y += ystep + error += dx + x1, y1 = xprev, yprev + # Fill polygon + for y, x in xdict.items(): + self.draw_hline(x[0], y, x[1] - x[0] + 2, color) + + def fill_vrect(self, x, y, w, h, color): + """Draw a filled rectangle (optimized for vertical drawing). + + Args: + x (int): Starting X position. + y (int): Starting Y position. + w (int): Width of rectangle. + h (int): Height of rectangle. + color (int): RGB565 color value. + """ + if self.is_off_grid(x, y, x + w - 1, y + h - 1): + return + chunk_width = 1024 // h + chunk_count, remainder = divmod(w, chunk_width) + chunk_size = chunk_width * h + chunk_x = x + if chunk_count: + buf = color.to_bytes(2, 'big') * chunk_size + for c in range(0, chunk_count): + self.block(chunk_x, y, + chunk_x + chunk_width - 1, y + h - 1, + buf) + chunk_x += chunk_width + + if remainder: + buf = color.to_bytes(2, 'big') * remainder * h + self.block(chunk_x, y, + chunk_x + remainder - 1, y + h - 1, + buf) + + def is_off_grid(self, xmin, ymin, xmax, ymax): + """Check if coordinates extend past display boundaries. + + Args: + xmin (int): Minimum horizontal pixel. + ymin (int): Minimum vertical pixel. + xmax (int): Maximum horizontal pixel. + ymax (int): Maximum vertical pixel. + Returns: + boolean: False = Coordinates OK, True = Error. + """ + if xmin < 0: + print('x-coordinate: {0} below minimum of 0.'.format(xmin)) + return True + if ymin < 0: + print('y-coordinate: {0} below minimum of 0.'.format(ymin)) + return True + if xmax >= self.width: + print('x-coordinate: {0} above maximum of {1}.'.format( + xmax, self.width - 1)) + return True + if ymax >= self.height: + print('y-coordinate: {0} above maximum of {1}.'.format( + ymax, self.height - 1)) + return True + return False + + def load_sprite(self, path, w, h): + """Load sprite image. + + Args: + path (string): Image file path. + w (int): Width of image. + h (int): Height of image. + Notes: + w x h cannot exceed 2048 + """ + buf_size = w * h * 2 + with open(path, "rb") as f: + return f.read(buf_size) + + def reset_cpy(self): + """Perform reset: Low=initialization, High=normal operation. + + Notes: CircuitPython implemntation + """ + self.rst.value = False + sleep(.05) + self.rst.value = True + sleep(.05) + + def reset_mpy(self): + """Perform reset: Low=initialization, High=normal operation. + + Notes: MicroPython implemntation + """ + self.rst(0) + sleep(.05) + self.rst(1) + sleep(.05) + + def scroll(self, y): + """Scroll display vertically. + + Args: + y (int): Number of pixels to scroll display. + """ + self.write_cmd(self.VSCRSADD, y >> 8, y & 0xFF) + + def set_scroll(self, top, bottom): + """Set the height of the top and bottom scroll margins. + + Args: + top (int): Height of top scroll margin + bottom (int): Height of bottom scroll margin + """ + if top + bottom <= self.height: + middle = self.height - (top + bottom) + print(top, middle, bottom) + self.write_cmd(self.VSCRDEF, + top >> 8, + top & 0xFF, + middle >> 8, + middle & 0xFF, + bottom >> 8, + bottom & 0xFF) + + def sleep(self, enable=True): + """Enters or exits sleep mode. + + Args: + enable (bool): True (default)=Enter sleep mode, False=Exit sleep + """ + if enable: + self.write_cmd(self.SLPIN) + else: + self.write_cmd(self.SLPOUT) + + def write_cmd_mpy(self, command, *args): + """Write command to OLED (MicroPython). + + Args: + command (byte): ILI9341 command code. + *args (optional bytes): Data to transmit. + """ + self.dc(0) + self.cs(0) + self.spi.write(bytearray([command])) + self.cs(1) + # Handle any passed data + if len(args) > 0: + self.write_data(bytearray(args)) + + def write_cmd_cpy(self, command, *args): + """Write command to OLED (CircuitPython). + + Args: + command (byte): ILI9341 command code. + *args (optional bytes): Data to transmit. + """ + self.dc.value = False + self.cs.value = False + # Confirm SPI locked before writing + while not self.spi.try_lock(): + pass + self.spi.write(bytearray([command])) + self.spi.unlock() + self.cs.value = True + # Handle any passed data + if len(args) > 0: + self.write_data(bytearray(args)) + + def write_data_mpy(self, data): + """Write data to OLED (MicroPython). + + Args: + data (bytes): Data to transmit. + """ + self.dc(1) + self.cs(0) + self.spi.write(data) + self.cs(1) + + def write_data_cpy(self, data): + """Write data to OLED (CircuitPython). + + Args: + data (bytes): Data to transmit. + """ + self.dc.value = True + self.cs.value = False + # Confirm SPI locked before writing + while not self.spi.try_lock(): + pass + self.spi.write(data) + self.spi.unlock() + self.cs.value = True diff --git a/libs/neopixel.py b/libs/neopixel.py new file mode 100644 index 0000000..6bb00a4 --- /dev/null +++ b/libs/neopixel.py @@ -0,0 +1,351 @@ +import array, time +from machine import Pin +import rp2 + + +# PIO state machine for RGB. Pulls 24 bits (rgb -> 3 * 8bit) automatically +@rp2.asm_pio(sideset_init=rp2.PIO.OUT_LOW, out_shiftdir=rp2.PIO.SHIFT_LEFT, autopull=True, pull_thresh=24) +def ws2812(): + T1 = 2 + T2 = 5 + T3 = 3 + wrap_target() + label("bitloop") + out(x, 1) .side(0) [T3 - 1] + jmp(not_x, "do_zero") .side(1) [T1 - 1] + jmp("bitloop") .side(1) [T2 - 1] + label("do_zero") + nop() .side(0) [T2 - 1] + wrap() + + +# PIO state machine for RGBW. Pulls 32 bits (rgbw -> 4 * 8bit) automatically +@rp2.asm_pio(sideset_init=rp2.PIO.OUT_LOW, out_shiftdir=rp2.PIO.SHIFT_LEFT, autopull=True, pull_thresh=32) +def sk6812(): + T1 = 2 + T2 = 5 + T3 = 3 + wrap_target() + label("bitloop") + out(x, 1) .side(0) [T3 - 1] + jmp(not_x, "do_zero") .side(1) [T1 - 1] + jmp("bitloop") .side(1) [T2 - 1] + label("do_zero") + nop() .side(0) [T2 - 1] + wrap() + + +# we need this because Micropython can't construct slice objects directly, only by +# way of supporting slice notation. +# So, e.g. slice_maker[1::4] gives a slice(1,None,4) object. +class slice_maker_class: + def __getitem__(self, slc): + return slc + + +slice_maker = slice_maker_class() + + +# Delay here is the reset time. You need a pause to reset the LED strip back to the initial LED +# however, if you have quite a bit of processing to do before the next time you update the strip +# you could put in delay=0 (or a lower delay) +# +# Class supports different order of individual colors (GRB, RGB, WRGB, GWRB ...). In order to achieve +# this, we need to flip the indexes: in 'RGBW', 'R' is on index 0, but we need to shift it left by 3 * 8bits, +# so in it's inverse, 'WBGR', it has exactly right index. Since micropython doesn't have [::-1] and recursive rev() +# isn't too efficient we simply do that by XORing (operator ^) each index with 3 (0b11) to make this flip. +# When dealing with just 'RGB' (3 letter string), this means same but reduced by 1 after XOR!. +# Example: in 'GRBW' we want final form of 0bGGRRBBWW, meaning G with index 0 needs to be shifted 3 * 8bit -> +# 'G' on index 0: 0b00 ^ 0b11 -> 0b11 (3), just as we wanted. +# Same hold for every other index (and - 1 at the end for 3 letter strings). + +class Neopixel: + # Micropython doesn't implement __slots__, but it's good to have a place + # to describe the data members... + # __slots__ = [ + # 'num_leds', # number of LEDs + # 'pixels', # array.array('I') of raw data for LEDs + # 'mode', # mode 'RGB' etc + # 'W_in_mode', # bool: is 'W' in mode + # 'sm', # state machine + # 'shift', # shift amount for each component, in a tuple for (R,B,G,W) + # 'delay', # delay amount + # 'brightnessvalue', # brightness scale factor 1..255 + # ] + + def __init__(self, num_leds, state_machine, pin, mode="RGB", delay=0.0001): + """ + Constructor for library class + + :param num_leds: number of leds on your led-strip + :param state_machine: id of PIO state machine used + :param pin: pin on which data line to led-strip is connected + :param mode: [default: "RGB"] mode and order of bits representing the color value. + This can be any order of RGB or RGBW (neopixels are usually GRB) + :param delay: [default: 0.0001] delay used for latching of leds when sending data + """ + self.pixels = array.array("I", [0] * num_leds) + self.mode = mode + self.W_in_mode = 'W' in mode + if self.W_in_mode: + # RGBW uses different PIO state machine configuration + self.sm = rp2.StateMachine(state_machine, sk6812, freq=8000000, sideset_base=Pin(pin)) + # tuple of values required to shift bit into position (check class desc.) + self.shift = ((mode.index('R') ^ 3) * 8, (mode.index('G') ^ 3) * 8, + (mode.index('B') ^ 3) * 8, (mode.index('W') ^ 3) * 8) + else: + self.sm = rp2.StateMachine(state_machine, ws2812, freq=8000000, sideset_base=Pin(pin)) + self.shift = (((mode.index('R') ^ 3) - 1) * 8, ((mode.index('G') ^ 3) - 1) * 8, + ((mode.index('B') ^ 3) - 1) * 8, 0) + self.sm.active(1) + self.num_leds = num_leds + self.delay = delay + self.brightnessvalue = 255 + + def brightness(self, brightness=None): + """ + Set the overall value to adjust brightness when updating leds + or return class brightnessvalue if brightness is None + + :param brightness: [default: None] Value of brightness on interval 1..255 + :return: class brightnessvalue member or None + """ + if brightness is None: + return self.brightnessvalue + else: + if brightness < 1: + brightness = 1 + if brightness > 255: + brightness = 255 + self.brightnessvalue = brightness + + def set_pixel_line_gradient(self, pixel1, pixel2, left_rgb_w, right_rgb_w, how_bright=None): + """ + Create a gradient with two RGB colors between "pixel1" and "pixel2" (inclusive) + + :param pixel1: Index of starting pixel (inclusive) + :param pixel2: Index of ending pixel (inclusive) + :param left_rgb_w: Tuple of form (r, g, b) or (r, g, b, w) representing starting color + :param right_rgb_w: Tuple of form (r, g, b) or (r, g, b, w) representing ending color + :param how_bright: [default: None] Brightness of current interval. If None, use global brightness value + :return: None + """ + if pixel2 - pixel1 == 0: + return + right_pixel = max(pixel1, pixel2) + left_pixel = min(pixel1, pixel2) + + with_W = len(left_rgb_w) == 4 and self.W_in_mode + r_diff = right_rgb_w[0] - left_rgb_w[0] + g_diff = right_rgb_w[1] - left_rgb_w[1] + b_diff = right_rgb_w[2] - left_rgb_w[2] + if with_W: + w_diff = (right_rgb_w[3] - left_rgb_w[3]) + + for i in range(right_pixel - left_pixel + 1): + fraction = i / (right_pixel - left_pixel) + red = round(r_diff * fraction + left_rgb_w[0]) + green = round(g_diff * fraction + left_rgb_w[1]) + blue = round(b_diff * fraction + left_rgb_w[2]) + # if it's (r, g, b, w) + if with_W: + white = round(w_diff * fraction + left_rgb_w[3]) + self.set_pixel(left_pixel + i, (red, green, blue, white), how_bright) + else: + self.set_pixel(left_pixel + i, (red, green, blue), how_bright) + + def set_pixel_line(self, pixel1, pixel2, rgb_w, how_bright=None): + """ + Set an array of pixels starting from "pixel1" to "pixel2" (inclusive) to the desired color. + + :param pixel1: Index of starting pixel (inclusive) + :param pixel2: Index of ending pixel (inclusive) + :param rgb_w: Tuple of form (r, g, b) or (r, g, b, w) representing color to be used + :param how_bright: [default: None] Brightness of current interval. If None, use global brightness value + :return: None + """ + if pixel2 >= pixel1: + self.set_pixel(slice_maker[pixel1:pixel2 + 1], rgb_w, how_bright) + + def set_pixel(self, pixel_num, rgb_w, how_bright=None): + """ + Set red, green and blue (+ white) value of pixel on position + pixel_num may be a 'slice' object, and then the operation is applied + to all pixels implied by the slice (most useful when called via __setitem__) + + :param pixel_num: Index of pixel to be set or slice object representing multiple leds + :param rgb_w: Tuple of form (r, g, b) or (r, g, b, w) representing color to be used + :param how_bright: [default: None] Brightness of current interval. If None, use global brightness value + :return: None + """ + if how_bright is None: + how_bright = self.brightness() + sh_R, sh_G, sh_B, sh_W = self.shift + bratio = how_bright / 255.0 + + red = round(rgb_w[0] * bratio) + green = round(rgb_w[1] * bratio) + blue = round(rgb_w[2] * bratio) + white = 0 + # if it's (r, g, b, w) + if len(rgb_w) == 4 and self.W_in_mode: + white = round(rgb_w[3] * bratio) + + pix_value = white << sh_W | blue << sh_B | red << sh_R | green << sh_G + # set some subset, if pixel_num is a slice: + if type(pixel_num) is slice: + for i in range(*pixel_num.indices(self.num_leds)): + self.pixels[i] = pix_value + else: + self.pixels[pixel_num] = pix_value + + def get_pixel(self, pixel_num): + """ + Get red, green, blue and white (if applicable) values of pixel on position + + :param pixel_num: Index of pixel to be set + :return rgb_w: Tuple of form (r, g, b) or (r, g, b, w) representing color to be used + """ + balance = self.pixels[pixel_num] + sh_R, sh_G, sh_B, sh_W = self.shift + if self.W_in_mode: + w = (balance >> sh_W) & 255 + b = (balance >> sh_B) & 255 + r = (balance >> sh_R) & 255 + g = (balance >> sh_G) & 255 + red = int(r * 255 / self.brightness() ) + green = int(g * 255 / self.brightness() ) + blue = int(b * 255 / self.brightness() ) + if self.W_in_mode: + white = int(w * 255 / self.brightness() ) + return (red,green,blue,white) + else: + return (red,green,blue) + + def __setitem__(self, idx, rgb_w): + """ + if npix is a Neopixel object, + npix[10] = (0,255,0) # <- sets #10 to green + npix[15:21] = (255,0,0) # <- sets 16,17 .. 20 to red + npix[21:29:2] = (0,0,255) # <- sets 21,23,25,27 to blue + npix[1::2] = (0,0,0) # <- sets all odd pixels to 'off' + (the 'slice' cases pass idx as a 'slice' object, and + set_pixel processes the slice) + + :param idx: Index can either be indexing number or slice + :param rgb_w: Tuple of form (r, g, b) or (r, g, b, w) representing color to be used + :return: + """ + self.set_pixel(idx, rgb_w) + + def colorHSV(self, hue, sat, val): + """ + Converts HSV color to rgb tuple and returns it. + The logic is almost the same as in Adafruit NeoPixel library: + https://github.com/adafruit/Adafruit_NeoPixel so all the credits for that + go directly to them (license: https://github.com/adafruit/Adafruit_NeoPixel/blob/master/COPYING) + + :param hue: Hue component. Should be on interval 0..65535 + :param sat: Saturation component. Should be on interval 0..255 + :param val: Value component. Should be on interval 0..255 + :return: (r, g, b) tuple + """ + if hue >= 65536: + hue %= 65536 + + hue = (hue * 1530 + 32768) // 65536 + if hue < 510: + b = 0 + if hue < 255: + r = 255 + g = hue + else: + r = 510 - hue + g = 255 + elif hue < 1020: + r = 0 + if hue < 765: + g = 255 + b = hue - 510 + else: + g = 1020 - hue + b = 255 + elif hue < 1530: + g = 0 + if hue < 1275: + r = hue - 1020 + b = 255 + else: + r = 255 + b = 1530 - hue + else: + r = 255 + g = 0 + b = 0 + + v1 = 1 + val + s1 = 1 + sat + s2 = 255 - sat + + r = ((((r * s1) >> 8) + s2) * v1) >> 8 + g = ((((g * s1) >> 8) + s2) * v1) >> 8 + b = ((((b * s1) >> 8) + s2) * v1) >> 8 + + return r, g, b + + def rotate_left(self, num_of_pixels=None): + """ + Rotate pixels to the left + + :param num_of_pixels: Number of pixels to be shifted to the left. If None, it shifts for 1. + :return: None + """ + if num_of_pixels is None: + num_of_pixels = 1 + self.pixels = self.pixels[num_of_pixels:] + self.pixels[:num_of_pixels] + + def rotate_right(self, num_of_pixels=None): + """ + Rotate pixels to the right + + :param num_of_pixels: Number of pixels to be shifted to the right. If None, it shifts for 1. + :return: None + """ + if num_of_pixels is None: + num_of_pixels = 1 + num_of_pixels = -1 * num_of_pixels + self.pixels = self.pixels[num_of_pixels:] + self.pixels[:num_of_pixels] + + def show(self): + """ + Send data to led-strip, making all changes on leds have an effect. + This method should be used after every method that changes the state of leds or after a chain of changes. + :return: None + """ + # If mode is RGB, we cut 8 bits of, otherwise we keep all 32 + cut = 8 + if self.W_in_mode: + cut = 0 + sm_put = self.sm.put + for pixval in self.pixels: + sm_put(pixval, cut) + time.sleep(self.delay) + + def fill(self, rgb_w, how_bright=None): + """ + Fill the entire strip with color rgb_w + + :param rgb_w: Tuple of form (r, g, b) or (r, g, b, w) representing color to be used + :param how_bright: [default: None] Brightness of current interval. If None, use global brightness value + :return: None + """ + # set_pixel over all leds. + self.set_pixel(slice_maker[:], rgb_w, how_bright) + + def clear(self): + """ + Clear the entire strip, i.e. set every led color to 0. + + :return: None + """ + self.pixels = array.array("I", [0] * self.num_leds) \ No newline at end of file diff --git a/libs/sdcard.py b/libs/sdcard.py new file mode 100644 index 0000000..1030d6f --- /dev/null +++ b/libs/sdcard.py @@ -0,0 +1,306 @@ +""" +MicroPython driver for SD cards using SPI bus. + +Requires an SPI bus and a CS pin. Provides readblocks and writeblocks +methods so the device can be mounted as a filesystem. + +Example usage on pyboard: + + import pyb, sdcard, os + sd = sdcard.SDCard(pyb.SPI(1), pyb.Pin.board.X5) + pyb.mount(sd, '/sd2') + os.listdir('/') + +Example usage on ESP8266: + + import machine, sdcard, os + sd = sdcard.SDCard(machine.SPI(1), machine.Pin(15)) + os.mount(sd, '/sd') + os.listdir('/') + +""" + +from micropython import const +import time + + +_CMD_TIMEOUT = const(100) + +_R1_IDLE_STATE = const(1 << 0) +# R1_ERASE_RESET = const(1 << 1) +_R1_ILLEGAL_COMMAND = const(1 << 2) +# R1_COM_CRC_ERROR = const(1 << 3) +# R1_ERASE_SEQUENCE_ERROR = const(1 << 4) +# R1_ADDRESS_ERROR = const(1 << 5) +# R1_PARAMETER_ERROR = const(1 << 6) +_TOKEN_CMD25 = const(0xFC) +_TOKEN_STOP_TRAN = const(0xFD) +_TOKEN_DATA = const(0xFE) + + +class SDCard: + def __init__(self, spi, cs, baudrate=1320000): + self.spi = spi + self.cs = cs + + self.cmdbuf = bytearray(6) + self.dummybuf = bytearray(512) + self.tokenbuf = bytearray(1) + for i in range(512): + self.dummybuf[i] = 0xFF + self.dummybuf_memoryview = memoryview(self.dummybuf) # type: ignore + + # initialise the card + self.init_card(baudrate) + + def init_spi(self, baudrate): + try: + master = self.spi.MASTER + except AttributeError: + # on ESP8266 + self.spi.init(baudrate=baudrate, phase=0, polarity=0) + else: + # on pyboard + self.spi.init(master, baudrate=baudrate, phase=0, polarity=0) + + def init_card(self, baudrate): + # init CS pin + self.cs.init(self.cs.OUT, value=1) + + # init SPI bus; use low data rate for initialisation + self.init_spi(100000) + + # clock card at least 100 cycles with cs high + for i in range(16): + self.spi.write(b"\xff") + + # CMD0: init card; should return _R1_IDLE_STATE (allow 5 attempts) + for _ in range(5): + if self.cmd(0, 0, 0x95) == _R1_IDLE_STATE: + break + else: + raise OSError("no SD card") + + # CMD8: determine card version + r = self.cmd(8, 0x01AA, 0x87, 4) + if r == _R1_IDLE_STATE: + self.init_card_v2() + elif r == (_R1_IDLE_STATE | _R1_ILLEGAL_COMMAND): + self.init_card_v1() + else: + raise OSError("couldn't determine SD card version") + + # get the number of sectors + # CMD9: response R2 (R1 byte + 16-byte block read) + if self.cmd(9, 0, 0, 0, False) != 0: + raise OSError("no response from SD card") + csd = bytearray(16) + self.readinto(csd) + if csd[0] & 0xC0 == 0x40: # CSD version 2.0 + self.sectors = ((csd[8] << 8 | csd[9]) + 1) * 1024 + elif csd[0] & 0xC0 == 0x00: # CSD version 1.0 (old, <=2GB) + c_size = (csd[6] & 0b11) << 10 | csd[7] << 2 | csd[8] >> 6 + c_size_mult = (csd[9] & 0b11) << 1 | csd[10] >> 7 + read_bl_len = csd[5] & 0b1111 + capacity = (c_size + 1) * (2 ** (c_size_mult + 2)) * (2**read_bl_len) + self.sectors = capacity // 512 + else: + raise OSError("SD card CSD format not supported") + # print('sectors', self.sectors) + + # CMD16: set block length to 512 bytes + if self.cmd(16, 512, 0) != 0: + raise OSError("can't set 512 block size") + + # set to high data rate now that it's initialised + self.init_spi(baudrate) + + def init_card_v1(self): + for i in range(_CMD_TIMEOUT): + time.sleep_ms(50) + self.cmd(55, 0, 0) + if self.cmd(41, 0, 0) == 0: + # SDSC card, uses byte addressing in read/write/erase commands + self.cdv = 512 + # print("[SDCard] v1 card") + return + raise OSError("timeout waiting for v1 card") + + def init_card_v2(self): + for i in range(_CMD_TIMEOUT): + time.sleep_ms(50) + self.cmd(58, 0, 0, 4) + self.cmd(55, 0, 0) + if self.cmd(41, 0x40000000, 0) == 0: + self.cmd(58, 0, 0, -4) # 4-byte response, negative means keep the first byte + ocr = self.tokenbuf[0] # get first byte of response, which is OCR + if not ocr & 0x40: + # SDSC card, uses byte addressing in read/write/erase commands + self.cdv = 512 + else: + # SDHC/SDXC card, uses block addressing in read/write/erase commands + self.cdv = 1 + # print("[SDCard] v2 card") + return + raise OSError("timeout waiting for v2 card") + + def cmd(self, cmd, arg, crc, final=0, release=True, skip1=False): + self.cs(0) + + # create and send the command + buf = self.cmdbuf + buf[0] = 0x40 | cmd + buf[1] = arg >> 24 + buf[2] = arg >> 16 + buf[3] = arg >> 8 + buf[4] = arg + buf[5] = crc + self.spi.write(buf) + + if skip1: + self.spi.readinto(self.tokenbuf, 0xFF) + + # wait for the response (response[7] == 0) + for i in range(_CMD_TIMEOUT): + self.spi.readinto(self.tokenbuf, 0xFF) + response = self.tokenbuf[0] + if not (response & 0x80): + # this could be a big-endian integer that we are getting here + # if final<0 then store the first byte to tokenbuf and discard the rest + if final < 0: + self.spi.readinto(self.tokenbuf, 0xFF) + final = -1 - final + for j in range(final): + self.spi.write(b"\xff") + if release: + self.cs(1) + self.spi.write(b"\xff") + return response + + # timeout + self.cs(1) + self.spi.write(b"\xff") + return -1 + + def readinto(self, buf): + self.cs(0) + + # read until start byte (0xff) + for i in range(_CMD_TIMEOUT): + self.spi.readinto(self.tokenbuf, 0xFF) + if self.tokenbuf[0] == _TOKEN_DATA: + break + time.sleep_ms(1) + else: + self.cs(1) + raise OSError("timeout waiting for response") + + # read data + mv = self.dummybuf_memoryview + if len(buf) != len(mv): + mv = mv[: len(buf)] + self.spi.write_readinto(mv, buf) + + # read checksum + self.spi.write(b"\xff") + self.spi.write(b"\xff") + + self.cs(1) + self.spi.write(b"\xff") + + def write(self, token, buf): + self.cs(0) + + # send: start of block, data, checksum + self.spi.read(1, token) + self.spi.write(buf) + self.spi.write(b"\xff") + self.spi.write(b"\xff") + + # check the response + if (self.spi.read(1, 0xFF)[0] & 0x1F) != 0x05: + self.cs(1) + self.spi.write(b"\xff") + return + + # wait for write to finish + while self.spi.read(1, 0xFF)[0] == 0: + pass + + self.cs(1) + self.spi.write(b"\xff") + + def write_token(self, token): + self.cs(0) + self.spi.read(1, token) + self.spi.write(b"\xff") + # wait for write to finish + while self.spi.read(1, 0xFF)[0] == 0x00: + pass + + self.cs(1) + self.spi.write(b"\xff") + + def readblocks(self, block_num, buf): + # workaround for shared bus, required for (at least) some Kingston + # devices, ensure MOSI is high before starting transaction + self.spi.write(b"\xff") + + nblocks = len(buf) // 512 + assert nblocks and not len(buf) % 512, "Buffer length is invalid" + if nblocks == 1: + # CMD17: set read address for single block + if self.cmd(17, block_num * self.cdv, 0, release=False) != 0: + # release the card + self.cs(1) + raise OSError(5) # EIO + # receive the data and release card + self.readinto(buf) + else: + # CMD18: set read address for multiple blocks + if self.cmd(18, block_num * self.cdv, 0, release=False) != 0: + # release the card + self.cs(1) + raise OSError(5) # EIO + offset = 0 + mv = memoryview(buf) + while nblocks: + # receive the data and release card + self.readinto(mv[offset : offset + 512]) + offset += 512 + nblocks -= 1 + if self.cmd(12, 0, 0xFF, skip1=True): + raise OSError(5) # EIO + + def writeblocks(self, block_num, buf): + # workaround for shared bus, required for (at least) some Kingston + # devices, ensure MOSI is high before starting transaction + self.spi.write(b"\xff") + + nblocks, err = divmod(len(buf), 512) + assert nblocks and not err, "Buffer length is invalid" + if nblocks == 1: + # CMD24: set write address for single block + if self.cmd(24, block_num * self.cdv, 0) != 0: + raise OSError(5) # EIO + + # send the data + self.write(_TOKEN_DATA, buf) + else: + # CMD25: set write address for first block + if self.cmd(25, block_num * self.cdv, 0) != 0: + raise OSError(5) # EIO + # send the data + offset = 0 + mv = memoryview(buf) + while nblocks: + self.write(_TOKEN_CMD25, mv[offset : offset + 512]) + offset += 512 + nblocks -= 1 + self.write_token(_TOKEN_STOP_TRAN) + + def ioctl(self, op, arg): + if op == 4: # get number of blocks + return self.sectors + if op == 5: # get block size in bytes + return 512 diff --git a/main.py b/main.py new file mode 100644 index 0000000..c6a9bd6 --- /dev/null +++ b/main.py @@ -0,0 +1,90 @@ +from machine import Pin, Timer, SPI +from libs.neopixel import ( + Neopixel, +) # https://github.com/blaz-r/pi_pico_neopixel/wiki/Library-methods-documentation # type: ignore +from libs.ili9341 import Display +from uasyncio import sleep_ms +from utils import df + +# region SPI SCREEN + +TFT_CLK_PIN = const(18) +TFT_MOSI_PIN = const(19) +TFT_MISO_PIN = const(16) + +TFT_LED_PIN = const(28) +TFT_CS_PIN = const(20) +TFT_RST_PIN = const(21) +TFT_DC_PIN = const(22) + +TFT_BAUDRATE = const(2_099_999_999) + +Pin(TFT_LED_PIN, Pin.OUT).on() + +spi = SPI( + 0, + baudrate=TFT_BAUDRATE, + miso=Pin(TFT_MISO_PIN), + mosi=Pin(TFT_MOSI_PIN), + sck=Pin(TFT_CLK_PIN), +) +display = Display(spi, dc=Pin(TFT_DC_PIN), cs=Pin(TFT_CS_PIN), rst=Pin(TFT_RST_PIN)) +display.clear() + +# display.draw_image('ili9341/images/kururin_anim/kururin1.raw', 0, 0) +# display.draw_image('ili9341/images/RaspberryPiWB128x128.raw', 0, 0, 128, 128) + +# endregion +# region RGB PIXEL + +# num_leds, state_machine, pin, mode +led_rgb = Neopixel(1, 0, 23, "RGB") +led_rgb.brightness(30) + +hue = 1020 + + +def move_rgb(_): + global hue + hue += 150 + + color = led_rgb.colorHSV(hue, 255, 150) + led_rgb.fill(color) + led_rgb.show() + + +# endregion +# region main program + +print(df()) +display.fill_rectangle(0, 0, 239, 319, -1) + +# makes the rgb led rotate colors +rgb_timer = Timer(period=50, mode=Timer.PERIODIC, callback=move_rgb) +x = 0 +y = 0 +right = False +bottom = False +while True: + if x + 128 > 239: + right = True + elif x == 0: + right = False + if y + 128 > 319: + bottom = True + elif y == 0: + bottom = False + + if right: + x -= 1 + else: + x += 1 + if bottom: + y -= 1 + else: + y += 1 + + display.draw_image("ili9341/images/RaspberryPiWB128x128.raw", x, y, 128, 128) + sleep_ms(10) + +# endregion diff --git a/utils.py b/utils.py new file mode 100644 index 0000000..aa1ec96 --- /dev/null +++ b/utils.py @@ -0,0 +1,5 @@ +from os import statvfs + +def df(): + s = statvfs('//') + return ('{0} MB'.format((s[0]*s[3])/1048576)) -- 2.30.2