diff --git a/library.json b/library.json new file mode 100644 index 0000000..9e77da9 --- /dev/null +++ b/library.json @@ -0,0 +1,41 @@ +{ + "name": "ESP8266, ESP32 and SAMD21 OLED Ui library", + "version": "1.0.0", + "keywords": "ssd1306, oled, display, i2c, spi, ui", + "description": "OLED Ui library for SSD1306 OLED displays connected to ESP8266, ESP32, SAMD21", + "repository": + { + "type": "git", + "url": "https://git.xpablo.cz/xPablo.cz/OLEDUiPlus" + }, + "authors": + [ + { + "name": "Daniel Eichhorn, ThingPulse", + "email": "squix78@gmail.com", + "url": "https://thingpulse.com" + }, + { + "name": "Fabrice Weinberg", + "email": "fabrice@weinberg.me" + }, + { + "name": "Pavel Brychta", + "email": "pablo@xpablo.cz", + "url": "https://xpablo.cz" + } + ], + "frameworks": "arduino", + "platforms": [ + "espressif8266", + "espressif32", + "atmelsam" + ], + "dependencies": + [ + { + "name": "OLED_SSD", + "version": "https://git.xpablo.cz/xPablo.cz/OLED_SSD.git" + } + ] +} diff --git a/library.properties b/library.properties new file mode 100644 index 0000000..cf3ba53 --- /dev/null +++ b/library.properties @@ -0,0 +1,10 @@ +name=User interface library for OLED display +version=1.0.0 +author=Pavel Brychta +maintainer=xPablo.cz +sentence=UI library for SSD1306 OLED displays connected to ESP8266, ESP32, SAMD21 +paragraph=The following geometries are currently supported: 128x64, 128x32, 64x48. +category=Display +url=https://git.xpablo.cz/xPablo.cz/OLEDUiPlus +architectures=esp8266,esp32,samd21 +depends=OLED_SSD diff --git a/src/OLEDUIPlus.cpp b/src/OLEDUIPlus.cpp new file mode 100644 index 0000000..e824415 --- /dev/null +++ b/src/OLEDUIPlus.cpp @@ -0,0 +1,313 @@ +#include "OLEDUIPlus.h" +#include +//#include +#include + +#define MENU_TIMEOUT 10000 + +#define ONOFF_Y_SPEED 4 //3 +#define ONOFF_X_DOWN 8 //6 +#define ONOFF_X_UP 12 //10 + +// pocatecni/rozsvecovaci a zhasinaci animace +typedef struct { + int height; + int lineWidth; + bool closing; + bool doingLine; + bool lineClosing; + bool active; +} crt_anim_t; + +static crt_anim_t _anim; +static bool _displayon = true; // priznak, ze na OLED je videt zobrazeni (neni ve stavu spanku) + +void OLEDUIPlus::goToFrame(uint8_t frame) +{ + + _frameptr++; + _frameptr %= sizeof(_frameseq); + _frameseq[_frameptr] = frame; + transitionToFrame(frame); // aktivujeme spravnou obrazovku +} + +void OLEDUIPlus::goToPrevFrame(void) +{ + + _frameptr--; + _frameptr %= sizeof(_frameseq); + transitionToFrame(_frameseq[_frameptr]); // aktivujeme predchozi obrazovku +} + +void OLEDUIPlus::begin(OLEDDisplay *display, kbdRead rKbd, uint32_t timeout, FrameCallback frames[], size_t framesCount, OverlayCallback overlays[], size_t overlaysCount) +{ + + _kbd = rKbd; + _oled = display; + _frames = frames; + _framesCount = framesCount; + setTargetFPS(30); + setFrameAnimation(SLIDE_UP); + setFrames(frames, framesCount); + setOverlays(overlays, overlaysCount); + disableAutoTransition(); + disableAllIndicators(); + init(display); + startAnim(1); + _oledtimeout = timeout; + if (0 != _oledtimeout) + _oledTiming.setOneshot(_oledtimeout); +} + +// Spusteni rozsvecovaci/zhasinaci animace +void OLEDUIPlus::startAnim(int open) +{ + + if (0 != open) { + _anim.closing = false; + _anim.doingLine = true; + _anim.height = _oled->height() / 2; + _anim.lineClosing = false; + _anim.lineWidth = 0; + _oled->displayOn(); + _displayon = true; + } else { + _anim.closing = true; + _anim.doingLine = false; + _anim.height = 0; + _anim.lineClosing = true; + _anim.lineWidth = _oled->width(); + } + _anim.active = true; +} + +void onOffOverlay(OLEDDisplay *display, OLEDDisplayUiState *state) +{ + + if (_anim.active) { + uint8_t height = _anim.height; + uint8_t lineWidth = _anim.lineWidth; + + if (!_anim.doingLine) { + if (_anim.closing) + height += ONOFF_Y_SPEED; + else + height -= ONOFF_Y_SPEED; + + if (height >= display->getHeight() / 2) { + if (_anim.closing) { + height = display->getHeight() / 2; + _anim.doingLine = true; + } else { + height = 0; + _anim.active = false; + } + } + } else { + if (_anim.lineClosing) + lineWidth -= ONOFF_X_DOWN; + else + lineWidth += ONOFF_X_UP; + + if (lineWidth >= display->getWidth()) { + if (_anim.lineClosing) + lineWidth = 0; + else + lineWidth = display->getWidth(); + + if (!_anim.lineClosing) + _anim.doingLine = false; + + if (_anim.lineClosing && _anim.closing) { + _anim.active = false; + display->displayOff(); + _displayon = false; + } + + _anim.lineClosing = !_anim.lineClosing; + } + } + // Full rows + uint8_t *oledBuffer = display->buffer; + uint8_t rows = height / 8; + for (uint8_t i = 0; i < rows; i++) { + memset(&oledBuffer[i * display->getWidth()], 0, display->getWidth()); + memset(&oledBuffer[display->getBufferSize() - display->getWidth() - (i * display->getWidth())], 0, display->getWidth()); + } + + uint8_t prows = height % 8; + if (prows) { + // Partial rows & edge line + uint32_t idxStart = rows * display->getWidth(); + uint32_t idxEnd = ((display->getBufferSize() - 1) - idxStart); + uint8_t a = (255 << prows); + uint8_t b = (255 >> prows); + uint8_t c = (1 << prows); + uint8_t d = (128 >> prows); + for (uint32_t i = 0; i < display->getWidth(); i++) { + oledBuffer[idxStart] = (oledBuffer[idxStart] & a) | c; + idxStart++; + + oledBuffer[idxEnd] = (oledBuffer[idxEnd] & b) | d; + idxEnd--; + } + } else if (height) { + // Edge line + uint32_t pos = ((uint8_t)(display->getWidth() - lineWidth) / 2) + ((uint8_t)(display->getHeight() - height) / 8) * display->getWidth(); + memset(&oledBuffer[pos], 0x01, lineWidth); + + if (height != display->getHeight() / 2) { + pos = (height / 8) * display->getWidth(); + for (uint32_t x = 0; x < display->getWidth(); x++) + oledBuffer[pos + x] |= 0x01; + } + } + _anim.height = height; + _anim.lineWidth = lineWidth; + } +} + +void OLEDUIPlus::loop(void) +{ + + if (_displayon) { +// obsluha puvodniho Ui objektu + if (_timing.expired()) { + int rtb = update(); + if (0 < rtb) { + _timing.set(rtb); + } + } +// obsluha casovace blikani + if (_blink.expired()) { + _blink.set(500); + _visible = !_visible; + } +// obsluha zhasinani displeje + if (0 != _oledtimeout) { + if (_oledTiming.expired()) { + startAnim(0); + } + } + } else { + handleKbd(); + } +} + +void OLEDUIPlus::drawMenu(OLEDDisplay * display, const menu_t *menu, int *top, int *selected, int16_t x, int16_t y) +{ + char line[64]; + const menuEntry_t *me = (const menuEntry_t *)pgm_read_ptr(&menu->entries); + int elementsCount = pgm_read_byte(&menu->entriesCount); + int width = _oled->getWidth(); + + strcpy_P(line, (char *)pgm_read_ptr(&menu->title)); // nadpis menu + display->setFont(Dialog_bold_10); + display->setTextAlignment(TEXT_ALIGN_CENTER); + uint16_t height = display->getTextHeight(); + display->setColor(WHITE); + display->drawString((width / 2) + x, 0 + y, line); + display->drawHorizontalLine(0 + x, 0 + y + height, width); + for (int i = 0; i < MENU_ROWS_ON_OLED; i++) { + display->setColor(WHITE); + display->setTextAlignment(TEXT_ALIGN_LEFT); + display->setFont(Dialog_bold_10); + if ((*top + i) < elementsCount) { + if ((*top + i) == *selected) { + display->fillRect(0 + x, height + (i * height) + y + 1, width, height); + display->setColor(BLACK); + //if (FIXED == ui.state.frameState) { + ce checkEntry = (ce)pgm_read_ptr(&me[*top + i].checkEntry); + if (nullptr != checkEntry) + (checkEntry)(); + //} + } + strcpy_P(line, (char *)pgm_read_ptr(&me[*top + i].entryText)); + display->drawString(8 + x, height + (i * height) + y + 1, line); + de drawEntry = (de)pgm_read_ptr(&me[*top + i].drawEntry); + if (nullptr != drawEntry) { + (drawEntry)(display, 8 + x, height + (i * height) + y + 1, NULL); + } + ve validEntry = (ve)pgm_read_ptr(&me[*top + i].validEntry); + if (nullptr != validEntry) { + bool valid = (validEntry)((void *)pgm_read_ptr(&me[*top + i].usrData)); + if (!valid) { + display->ditherArea(0 + x, height + (i * height) + y + 1, width, height); + } + } + display->setTextAlignment(TEXT_ALIGN_LEFT); + display->setFont(ICONS8x8); + if (0 == i && *top != 0) { + display->drawString(0 + x, height + y + 2, String("4")); // sipka nahoru + } + if ((MENU_ROWS_ON_OLED - 1) == i && (*top + i) < (elementsCount - 1)) { + display->drawString(0 + x, height + (i * height) + y + 4, String("5")); // sipka dolu + } + } + } +} + +void OLEDUIPlus::goToMainFrame(void) +{ + + goToFrame(_mainFrame); +} + +int OLEDUIPlus::handleKbd(void) +{ + int retval = KEY_NONE; + + if (nullptr != _kbd) + retval = _kbd(); + + if (KEY_NONE != retval) { + if (extendOn()) + retval = KEY_NONE; // musime nejdriv rozsvitit displej (ignorujeme stisk) + } + return retval; +} + +int OLEDUIPlus::extendOn(void) +{ + int retval = 0; // nebylo nutne rozsvitit + + if (0 != _oledtimeout) { + _oledTiming.setOneshot(_oledtimeout); // prodlouzime delku svitu OLED + if (false == _displayon) { + startAnim(1); + retval = 1; // musime rozsvitit displej + } + } + _inMenu.setOneshot(MENU_TIMEOUT); // prodluzujeme timeout setrvani v menu + return retval; +} + +bool OLEDUIPlus::blinkIsVisible(void) +{ + + return _visible; +} + +bool OLEDUIPlus::menuExpired(void) +{ + + return _inMenu.expired(); +} + +uint8_t OLEDUIPlus::getFrameIndex(FrameCallback cb) +{ + + for (size_t i = 0; i < _framesCount; i++) { + if (_frames[i] == cb) + return (uint8_t)i; + } + return 0xff; +} + +void OLEDUIPlus::setMainFrame(FrameCallback cb) +{ + + _mainFrame = getFrameIndex(cb); +} + +OLEDUIPlus ui; diff --git a/src/OLEDUIPlus.h b/src/OLEDUIPlus.h new file mode 100644 index 0000000..b245add --- /dev/null +++ b/src/OLEDUIPlus.h @@ -0,0 +1,81 @@ +#ifndef _OLEDUIPLUS_H_ +#define _OLEDUIPLUS_H_ +#include +#include +#include + +// Kody stisknutych klaves +#define KEY_NONE 0 +#define KEY_UP 1 +#define KEY_DOWN 2 +#define KEY_ENTER 4 +#define KEY_EXIT 3 + +// Pocet radku menu na OLED displeji +#define MENU_ROWS_ON_OLED 3 + +// Maximalni pocet stavovych ikon na displeji +#define MAX_STATUS_ICONS 8 + +#define ELEMENTS_COUNT(a) (sizeof(a) / sizeof(a[0])) + +typedef int (*kbdRead)(void); +typedef void (*de)(OLEDDisplay *display, int16_t x, int16_t y, void *ptr); // draw entry +typedef int (*ee)(void *ptr); +typedef void (*ce)(void); +typedef bool (*ve)(void *ptr); + +typedef struct { + const char *entryText; // staticky text, vypisovany v polozce menu + de drawEntry; // dynamicky text (napr. hodnota), vypisovany v polozce menu + ee enterEntry; // funkce, volana pri stisku klavesy enter na polozce + ce checkEntry; // funkce, volana pri kazdem zobrazeni pouze pro aktivni polozku v menu + ve validEntry; // funkce, ktera vrati, jestli je polozka menu platna/viditelna/aktivni, nebo ne + void *usrData; // ukazatel na uzivatelska data +} menuEntry_t; + +typedef struct { + const char *title; + uint8_t entriesCount; + const menuEntry_t *entries; +} menu_t; + +class OLEDUIPlus : public OLEDDisplayUi { +public: + void goToMainFrame(void); + void goToFrame(uint8_t frame); + void goToPrevFrame(void); + void begin(OLEDDisplay *display, kbdRead rKbd, uint32_t timeout, FrameCallback frames[], size_t framesCount, OverlayCallback overlays[], size_t overlaysCount); + void startAnim(int open); + void onOffOverlay(OLEDDisplay *display, OLEDDisplayUiState *state); + void loop(void); + void drawMenu(OLEDDisplay *display, const menu_t *menu, int *top, int *selected, int16_t x, int16_t y); + int handleKbd(void); + int extendOn(void); + bool blinkIsVisible(void); + bool menuExpired(void); + uint8_t getFrameIndex(FrameCallback cb); + void setMainFrame(FrameCallback cb); + +private: + Interval _timing; // casovac rychlosti periodicke obsluhy (rizeny dle casu, ktery vrati OLEDDisplayUi objekt) + uint8_t _frameseq[8]; // historie prechodu jednotlivych obrazovek + uint32_t _frameptr = 0; // index ve _frameseq + OLEDDisplay* _oled; // ukazatel na displej + uint8_t _oledBrightness = 100; // jas OLED displeje + uint32_t _oledtimeout = 0; // zhasinani OLED + Interval _oledTiming; // casovac pro zhasinani OLED + kbdRead _kbd; // klavesnice + Interval _inMenu; // casovac pro opusteni menu pri necinnosti uzivatele (hlidani si osetruje kazdy menu modul sam!) + Interval _blink; // casovac pro blikani + bool _visible = false; // stav blikani (viditelny/neviditelny) + FrameCallback* _frames; + size_t _framesCount = 0; + uint8_t _mainFrame = 0xff; +}; + +void onOffOverlay(OLEDDisplay *display, OLEDDisplayUiState *state); + +extern OLEDUIPlus ui; + +#endif diff --git a/src/dialogs/enternumber.cpp b/src/dialogs/enternumber.cpp new file mode 100644 index 0000000..c0c79b3 --- /dev/null +++ b/src/dialogs/enternumber.cpp @@ -0,0 +1,95 @@ +#include "enternumber.h" +#include + +static String entertext; +static uint8_t maxDigits; // pocet zadavanych cislic +static uint8_t digits[8]; // hodnota v cislicich (nastavovana polozka) +static uint8_t digitIdx; // index menene cifry +static bool done; // priznak, ze bylo zadani dokoncene + +void dialog_prepareEnterNumber(String message, int oldNumber, uint8_t numbers) +{ + + entertext = message; + maxDigits = numbers; +// naplnime cislice + int i = numbers - 1; + while (i >= 0) { + digits[i] = oldNumber % 10; + oldNumber /= 10; + i--; + } + digitIdx = 0; // nastavujeme od prvni cifry + done = false; + ui.goToFrame(ui.getFrameIndex(drawEnterNumber)); // aktivujeme zadavani cisla +} + +#define NCHARWIDTH 10 +// Menu, ktere dovoli zadat cislo o potrebnem poctu cislic +void drawEnterNumber(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y) +{ + + display->setTextAlignment(TEXT_ALIGN_CENTER); + display->setFont(DejaVu_Sans_Mono_Bold_14); + display->setColor(WHITE); + display->drawString(64 + x, 8 + y, entertext); +// TODO: + int16_t xpos = 64 - ((maxDigits / 2) * NCHARWIDTH); + for (int i = 0; i < maxDigits; i++) { + if (digitIdx == i) { + if (ui.blinkIsVisible()) + display->drawString(xpos + x, 32 + y, String(digits[i])); + } else + display->drawString(xpos + x, 32 + y, String(digits[i])); + xpos += NCHARWIDTH; + } + + if (state->frameState == FIXED) { + uint8_t key = ui.handleKbd(); + switch (key) { + case KEY_DOWN: + digits[digitIdx]++; + digits[digitIdx] %= 10; + break; + + case KEY_UP: + digits[digitIdx]--; + if (digits[digitIdx] > 9) + digits[digitIdx] = 9; + break; + + case KEY_ENTER: + digitIdx++; + if (digitIdx == maxDigits) { + done = true; // mame ukoncene zadani noveho cisla + ui.goToPrevFrame(); + } + break; + + case KEY_EXIT: + ui.goToPrevFrame(); + break; + } + } +} + +int32_t dialog_getEnterNumberResult(void) +{ + int32_t num = 0; + uint8_t i = 0; + + while (i < maxDigits) { + num *= 10; + num += digits[i]; + i++; + } + return num; +} + +bool dialog_getEnterNumberDone(void) +{ + bool result = done; + + done = false; + return result; +} diff --git a/src/dialogs/enternumber.h b/src/dialogs/enternumber.h new file mode 100644 index 0000000..8e73aa0 --- /dev/null +++ b/src/dialogs/enternumber.h @@ -0,0 +1,13 @@ +#ifndef _MENU_ENTERNUMBER_H_ +#define _MENU_ENTERNUMBER_H_ +#include "OLEDUIPlus.h" + +void drawEnterNumber(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y); + +void dialog_prepareEnterNumber(String message, int oldNumber, uint8_t numbers); + +int32_t dialog_getEnterNumberResult(void); + +bool dialog_getEnterNumberDone(void); + +#endif diff --git a/src/dialogs/yesno.cpp b/src/dialogs/yesno.cpp new file mode 100644 index 0000000..6fbf6c7 --- /dev/null +++ b/src/dialogs/yesno.cpp @@ -0,0 +1,78 @@ +#include "yesno.h" +#include + +static String yesnotext; // text zahlavi Yes/No dialogu +static bool yesNoResult; +static bool done; + +// Menu, ktere umozni zadat Yes/No na zvolenou otazku +void drawYesNo(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y) +{ + + display->setTextAlignment(TEXT_ALIGN_CENTER); + display->setFont(DejaVu_Sans_Mono_Bold_14); + display->setColor(WHITE); + display->drawStringMaxWidth(64 + x, 8 + y, 128, yesnotext); +// vykresleni ano/ne + if (yesNoResult) { + // Yes aktivni + display->fillRect(x + 0, y + 44, 64, 19); + display->setColor(BLACK); + display->drawString(x + 32, y + 45, F("Ano")); + display->setColor(WHITE); + display->drawString(x + 96, y + 45, F("Ne")); + display->ditherArea(x + 64, y + 44, 63, 19); + } else { + // No aktivni + display->fillRect(x + 63, y + 44, 64, 19); + display->setColor(BLACK); + display->drawString(x + 96, y + 45, F("Ne")); + display->setColor(WHITE); + display->drawString(x + 32, y + 45, F("Ano")); + display->ditherArea(x + 0, y + 44, 63, 19); + } + display->setColor(WHITE); + + if (state->frameState == FIXED) { + uint8_t key = ui.handleKbd(); + switch (key) { + case KEY_UP: + case KEY_DOWN: + yesNoResult = !yesNoResult; + break; + + case KEY_ENTER: + done = true; + ui.goToPrevFrame(); + break; + + case KEY_EXIT: + yesNoResult = false; // rusime vyber + done = true; + ui.goToPrevFrame(); + break; + } + } +} + +void dialog_prepareYesNoFrame(String text) +{ + + yesnotext = text; + done = false; + ui.goToFrame(ui.getFrameIndex(drawYesNo)); +} + +bool dialog_getYesNoResult(void) +{ + + return yesNoResult; +} + +bool dialog_getYesNoDone(void) +{ + bool result = done; + + done = false; + return result; +} diff --git a/src/dialogs/yesno.h b/src/dialogs/yesno.h new file mode 100644 index 0000000..b907b6c --- /dev/null +++ b/src/dialogs/yesno.h @@ -0,0 +1,13 @@ +#ifndef _MENU_YESNO_H_ +#define _MENU_YESNO_H_ +#include "OLEDUIPlus.h" + +void drawYesNo(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y); + +void dialog_prepareYesNoFrame(String text); + +bool dialog_getYesNoResult(void); + +bool dialog_getYesNoDone(void); + +#endif diff --git a/src/fonts/DejaVu_sans_mono_bold_14.cpp b/src/fonts/DejaVu_sans_mono_bold_14.cpp new file mode 100644 index 0000000..17beedb --- /dev/null +++ b/src/fonts/DejaVu_sans_mono_bold_14.cpp @@ -0,0 +1,459 @@ +// Created by http://oleddisplay.squix.ch/ Consider a donation +#include "DejaVu_sans_mono_bold_14.h" +// In case of problems make sure that you are using the font file with the correct version! +const uint8_t DejaVu_Sans_Mono_Bold_14[] PROGMEM = { + 0x08, // Width: 8 + 0x11, // Height: 17 + 0x20, // First Char: 32 + 0xE0, // Numbers of Chars: 224 + + // Jump Table: + 0xFF, 0xFF, 0x00, 0x08, // 32:65535 + 0x00, 0x00, 0x0E, 0x08, // 33:0 + 0x00, 0x0E, 0x13, 0x08, // 34:14 + 0x00, 0x21, 0x16, 0x08, // 35:33 + 0x00, 0x37, 0x17, 0x08, // 36:55 + 0x00, 0x4E, 0x17, 0x08, // 37:78 + 0x00, 0x65, 0x17, 0x08, // 38:101 + 0x00, 0x7C, 0x0D, 0x08, // 39:124 + 0x00, 0x89, 0x14, 0x08, // 40:137 + 0x00, 0x9D, 0x11, 0x08, // 41:157 + 0x00, 0xAE, 0x16, 0x08, // 42:174 + 0x00, 0xC4, 0x17, 0x08, // 43:196 + 0x00, 0xDB, 0x0E, 0x08, // 44:219 + 0x00, 0xE9, 0x11, 0x08, // 45:233 + 0x00, 0xFA, 0x0E, 0x08, // 46:250 + 0x01, 0x08, 0x16, 0x08, // 47:264 + 0x01, 0x1E, 0x17, 0x08, // 48:286 + 0x01, 0x35, 0x17, 0x08, // 49:309 + 0x01, 0x4C, 0x17, 0x08, // 50:332 + 0x01, 0x63, 0x17, 0x08, // 51:355 + 0x01, 0x7A, 0x17, 0x08, // 52:378 + 0x01, 0x91, 0x17, 0x08, // 53:401 + 0x01, 0xA8, 0x17, 0x08, // 54:424 + 0x01, 0xBF, 0x16, 0x08, // 55:447 + 0x01, 0xD5, 0x17, 0x08, // 56:469 + 0x01, 0xEC, 0x17, 0x08, // 57:492 + 0x02, 0x03, 0x0E, 0x08, // 58:515 + 0x02, 0x11, 0x0E, 0x08, // 59:529 + 0x02, 0x1F, 0x17, 0x08, // 60:543 + 0x02, 0x36, 0x17, 0x08, // 61:566 + 0x02, 0x4D, 0x17, 0x08, // 62:589 + 0x02, 0x64, 0x16, 0x08, // 63:612 + 0x02, 0x7A, 0x17, 0x08, // 64:634 + 0x02, 0x91, 0x17, 0x08, // 65:657 + 0x02, 0xA8, 0x17, 0x08, // 66:680 + 0x02, 0xBF, 0x17, 0x08, // 67:703 + 0x02, 0xD6, 0x17, 0x08, // 68:726 + 0x02, 0xED, 0x17, 0x08, // 69:749 + 0x03, 0x04, 0x16, 0x08, // 70:772 + 0x03, 0x1A, 0x17, 0x08, // 71:794 + 0x03, 0x31, 0x17, 0x08, // 72:817 + 0x03, 0x48, 0x14, 0x08, // 73:840 + 0x03, 0x5C, 0x17, 0x08, // 74:860 + 0x03, 0x73, 0x17, 0x08, // 75:883 + 0x03, 0x8A, 0x17, 0x08, // 76:906 + 0x03, 0xA1, 0x17, 0x08, // 77:929 + 0x03, 0xB8, 0x17, 0x08, // 78:952 + 0x03, 0xCF, 0x17, 0x08, // 79:975 + 0x03, 0xE6, 0x16, 0x08, // 80:998 + 0x03, 0xFC, 0x17, 0x08, // 81:1020 + 0x04, 0x13, 0x17, 0x08, // 82:1043 + 0x04, 0x2A, 0x17, 0x08, // 83:1066 + 0x04, 0x41, 0x16, 0x08, // 84:1089 + 0x04, 0x57, 0x17, 0x08, // 85:1111 + 0x04, 0x6E, 0x16, 0x08, // 86:1134 + 0x04, 0x84, 0x16, 0x08, // 87:1156 + 0x04, 0x9A, 0x17, 0x08, // 88:1178 + 0x04, 0xB1, 0x16, 0x08, // 89:1201 + 0x04, 0xC7, 0x17, 0x08, // 90:1223 + 0x04, 0xDE, 0x14, 0x08, // 91:1246 + 0x04, 0xF2, 0x17, 0x08, // 92:1266 + 0x05, 0x09, 0x11, 0x08, // 93:1289 + 0x05, 0x1A, 0x16, 0x08, // 94:1306 + 0x05, 0x30, 0x17, 0x08, // 95:1328 + 0x05, 0x47, 0x0D, 0x08, // 96:1351 + 0x05, 0x54, 0x14, 0x08, // 97:1364 + 0x05, 0x68, 0x14, 0x08, // 98:1384 + 0x05, 0x7C, 0x14, 0x08, // 99:1404 + 0x05, 0x90, 0x14, 0x08, // 100:1424 + 0x05, 0xA4, 0x14, 0x08, // 101:1444 + 0x05, 0xB8, 0x13, 0x08, // 102:1464 + 0x05, 0xCB, 0x14, 0x08, // 103:1483 + 0x05, 0xDF, 0x14, 0x08, // 104:1503 + 0x05, 0xF3, 0x14, 0x08, // 105:1523 + 0x06, 0x07, 0x11, 0x08, // 106:1543 + 0x06, 0x18, 0x14, 0x08, // 107:1560 + 0x06, 0x2C, 0x17, 0x08, // 108:1580 + 0x06, 0x43, 0x17, 0x08, // 109:1603 + 0x06, 0x5A, 0x14, 0x08, // 110:1626 + 0x06, 0x6E, 0x14, 0x08, // 111:1646 + 0x06, 0x82, 0x14, 0x08, // 112:1666 + 0x06, 0x96, 0x14, 0x08, // 113:1686 + 0x06, 0xAA, 0x16, 0x08, // 114:1706 + 0x06, 0xC0, 0x14, 0x08, // 115:1728 + 0x06, 0xD4, 0x17, 0x08, // 116:1748 + 0x06, 0xEB, 0x14, 0x08, // 117:1771 + 0x06, 0xFF, 0x13, 0x08, // 118:1791 + 0x07, 0x12, 0x16, 0x08, // 119:1810 + 0x07, 0x28, 0x14, 0x08, // 120:1832 + 0x07, 0x3C, 0x13, 0x08, // 121:1852 + 0x07, 0x4F, 0x14, 0x08, // 122:1871 + 0x07, 0x63, 0x14, 0x08, // 123:1891 + 0x07, 0x77, 0x0E, 0x08, // 124:1911 + 0x07, 0x85, 0x14, 0x08, // 125:1925 + 0x07, 0x99, 0x17, 0x08, // 126:1945 + 0x07, 0xB0, 0x17, 0x08, // 127:1968 + 0x07, 0xC7, 0x17, 0x08, // 128:1991 + 0x07, 0xDE, 0x17, 0x08, // 129:2014 + 0x07, 0xF5, 0x17, 0x08, // 130:2037 + 0x08, 0x0C, 0x17, 0x08, // 131:2060 + 0x08, 0x23, 0x17, 0x08, // 132:2083 + 0x08, 0x3A, 0x17, 0x08, // 133:2106 + 0x08, 0x51, 0x17, 0x08, // 134:2129 + 0x08, 0x68, 0x17, 0x08, // 135:2152 + 0x08, 0x7F, 0x17, 0x08, // 136:2175 + 0x08, 0x96, 0x17, 0x08, // 137:2198 + 0x08, 0xAD, 0x17, 0x08, // 138:2221 + 0x08, 0xC4, 0x17, 0x08, // 139:2244 + 0x08, 0xDB, 0x17, 0x08, // 140:2267 + 0x08, 0xF2, 0x17, 0x08, // 141:2290 + 0x09, 0x09, 0x17, 0x08, // 142:2313 + 0x09, 0x20, 0x17, 0x08, // 143:2336 + 0x09, 0x37, 0x17, 0x08, // 144:2359 + 0x09, 0x4E, 0x17, 0x08, // 145:2382 + 0x09, 0x65, 0x17, 0x08, // 146:2405 + 0x09, 0x7C, 0x17, 0x08, // 147:2428 + 0x09, 0x93, 0x17, 0x08, // 148:2451 + 0x09, 0xAA, 0x17, 0x08, // 149:2474 + 0x09, 0xC1, 0x17, 0x08, // 150:2497 + 0x09, 0xD8, 0x17, 0x08, // 151:2520 + 0x09, 0xEF, 0x17, 0x08, // 152:2543 + 0x0A, 0x06, 0x17, 0x08, // 153:2566 + 0x0A, 0x1D, 0x17, 0x08, // 154:2589 + 0x0A, 0x34, 0x17, 0x08, // 155:2612 + 0x0A, 0x4B, 0x17, 0x08, // 156:2635 + 0x0A, 0x62, 0x17, 0x08, // 157:2658 + 0x0A, 0x79, 0x17, 0x08, // 158:2681 + 0x0A, 0x90, 0x17, 0x08, // 159:2704 + 0xFF, 0xFF, 0x00, 0x08, // 160:65535 + 0x0A, 0xA7, 0x0E, 0x08, // 161:2727 + 0x0A, 0xB5, 0x14, 0x08, // 162:2741 + 0x0A, 0xC9, 0x14, 0x08, // 163:2761 + 0x0A, 0xDD, 0x17, 0x08, // 164:2781 + 0x0A, 0xF4, 0x17, 0x08, // 165:2804 + 0x0B, 0x0B, 0x0E, 0x08, // 166:2827 + 0x0B, 0x19, 0x14, 0x08, // 167:2841 + 0x0B, 0x2D, 0x13, 0x08, // 168:2861 + 0x0B, 0x40, 0x17, 0x08, // 169:2880 + 0x0B, 0x57, 0x14, 0x08, // 170:2903 + 0x0B, 0x6B, 0x14, 0x08, // 171:2923 + 0x0B, 0x7F, 0x17, 0x08, // 172:2943 + 0x0B, 0x96, 0x11, 0x08, // 173:2966 + 0x0B, 0xA7, 0x17, 0x08, // 174:2983 + 0x0B, 0xBE, 0x10, 0x08, // 175:3006 + 0x0B, 0xCE, 0x13, 0x08, // 176:3022 + 0x0B, 0xE1, 0x17, 0x08, // 177:3041 + 0x0B, 0xF8, 0x14, 0x08, // 178:3064 + 0x0C, 0x0C, 0x13, 0x08, // 179:3084 + 0x0C, 0x1F, 0x13, 0x08, // 180:3103 + 0x0C, 0x32, 0x17, 0x08, // 181:3122 + 0x0C, 0x49, 0x14, 0x08, // 182:3145 + 0x0C, 0x5D, 0x0E, 0x08, // 183:3165 + 0x0C, 0x6B, 0x11, 0x08, // 184:3179 + 0x0C, 0x7C, 0x14, 0x08, // 185:3196 + 0x0C, 0x90, 0x14, 0x08, // 186:3216 + 0x0C, 0xA4, 0x14, 0x08, // 187:3236 + 0x0C, 0xB8, 0x16, 0x08, // 188:3256 + 0x0C, 0xCE, 0x17, 0x08, // 189:3278 + 0x0C, 0xE5, 0x16, 0x08, // 190:3301 + 0x0C, 0xFB, 0x14, 0x08, // 191:3323 + 0x0D, 0x0F, 0x17, 0x08, // 192:3343 + 0x0D, 0x26, 0x17, 0x08, // 193:3366 + 0x0D, 0x3D, 0x17, 0x08, // 194:3389 + 0x0D, 0x54, 0x17, 0x08, // 195:3412 + 0x0D, 0x6B, 0x17, 0x08, // 196:3435 + 0x0D, 0x82, 0x17, 0x08, // 197:3458 + 0x0D, 0x99, 0x17, 0x08, // 198:3481 + 0x0D, 0xB0, 0x17, 0x08, // 199:3504 + 0x0D, 0xC7, 0x17, 0x08, // 200:3527 + 0x0D, 0xDE, 0x17, 0x08, // 201:3550 + 0x0D, 0xF5, 0x17, 0x08, // 202:3573 + 0x0E, 0x0C, 0x17, 0x08, // 203:3596 + 0x0E, 0x23, 0x14, 0x08, // 204:3619 + 0x0E, 0x37, 0x14, 0x08, // 205:3639 + 0x0E, 0x4B, 0x14, 0x08, // 206:3659 + 0x0E, 0x5F, 0x14, 0x08, // 207:3679 + 0x0E, 0x73, 0x17, 0x08, // 208:3699 + 0x0E, 0x8A, 0x17, 0x08, // 209:3722 + 0x0E, 0xA1, 0x17, 0x08, // 210:3745 + 0x0E, 0xB8, 0x17, 0x08, // 211:3768 + 0x0E, 0xCF, 0x17, 0x08, // 212:3791 + 0x0E, 0xE6, 0x17, 0x08, // 213:3814 + 0x0E, 0xFD, 0x17, 0x08, // 214:3837 + 0x0F, 0x14, 0x17, 0x08, // 215:3860 + 0x0F, 0x2B, 0x17, 0x08, // 216:3883 + 0x0F, 0x42, 0x17, 0x08, // 217:3906 + 0x0F, 0x59, 0x17, 0x08, // 218:3929 + 0x0F, 0x70, 0x17, 0x08, // 219:3952 + 0x0F, 0x87, 0x17, 0x08, // 220:3975 + 0x0F, 0x9E, 0x16, 0x08, // 221:3998 + 0x0F, 0xB4, 0x17, 0x08, // 222:4020 + 0x0F, 0xCB, 0x14, 0x08, // 223:4043 + 0x0F, 0xDF, 0x14, 0x08, // 224:4063 + 0x0F, 0xF3, 0x14, 0x08, // 225:4083 + 0x10, 0x07, 0x14, 0x08, // 226:4103 + 0x10, 0x1B, 0x14, 0x08, // 227:4123 + 0x10, 0x2F, 0x14, 0x08, // 228:4143 + 0x10, 0x43, 0x14, 0x08, // 229:4163 + 0x10, 0x57, 0x17, 0x08, // 230:4183 + 0x10, 0x6E, 0x14, 0x08, // 231:4206 + 0x10, 0x82, 0x14, 0x08, // 232:4226 + 0x10, 0x96, 0x14, 0x08, // 233:4246 + 0x10, 0xAA, 0x14, 0x08, // 234:4266 + 0x10, 0xBE, 0x14, 0x08, // 235:4286 + 0x10, 0xD2, 0x14, 0x08, // 236:4306 + 0x10, 0xE6, 0x14, 0x08, // 237:4326 + 0x10, 0xFA, 0x14, 0x08, // 238:4346 + 0x11, 0x0E, 0x14, 0x08, // 239:4366 + 0x11, 0x22, 0x14, 0x08, // 240:4386 + 0x11, 0x36, 0x14, 0x08, // 241:4406 + 0x11, 0x4A, 0x14, 0x08, // 242:4426 + 0x11, 0x5E, 0x14, 0x08, // 243:4446 + 0x11, 0x72, 0x14, 0x08, // 244:4466 + 0x11, 0x86, 0x14, 0x08, // 245:4486 + 0x11, 0x9A, 0x14, 0x08, // 246:4506 + 0x11, 0xAE, 0x17, 0x08, // 247:4526 + 0x11, 0xC5, 0x14, 0x08, // 248:4549 + 0x11, 0xD9, 0x14, 0x08, // 249:4569 + 0x11, 0xED, 0x14, 0x08, // 250:4589 + 0x12, 0x01, 0x14, 0x08, // 251:4609 + 0x12, 0x15, 0x14, 0x08, // 252:4629 + 0x12, 0x29, 0x13, 0x08, // 253:4649 + 0x12, 0x3C, 0x14, 0x08, // 254:4668 + 0x12, 0x50, 0x13, 0x08, // 255:4688 + + // Font Data: + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x1B,0x00,0xF8,0x1B, // 33 + 0x00,0x00,0x00,0x78,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x78, // 34 + 0x00,0x02,0x00,0x40,0x1E,0x00,0xC0,0x07,0x00,0xF8,0x02,0x00,0x40,0x1E,0x00,0xE0,0x03,0x00,0x78,0x02,0x00,0x40, // 35 + 0x00,0x00,0x00,0xE0,0x08,0x00,0xF0,0x18,0x00,0x90,0x11,0x00,0xFC,0x7F,0x00,0x90,0x11,0x00,0x30,0x1F,0x00,0x00,0x0E, // 36 + 0x30,0x02,0x00,0x48,0x02,0x00,0x48,0x01,0x00,0x30,0x01,0x00,0x80,0x0C,0x00,0x80,0x12,0x00,0x40,0x12,0x00,0x40,0x0C, // 37 + 0x00,0x00,0x00,0x00,0x0F,0x00,0xB0,0x1F,0x00,0xF8,0x11,0x00,0x88,0x17,0x00,0x08,0x1E,0x00,0x00,0x1F,0x00,0x00,0x17, // 38 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x78, // 39 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0x00,0xF8,0x1F,0x00,0x1C,0x38,0x00,0x04,0x20, // 40 + 0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x20,0x00,0x1C,0x38,0x00,0xF8,0x1F,0x00,0xE0,0x07, // 41 + 0x00,0x00,0x00,0x90,0x00,0x00,0xF0,0x00,0x00,0x60,0x00,0x00,0xF8,0x01,0x00,0x60,0x00,0x00,0xF0,0x00,0x00,0x90, // 42 + 0x80,0x01,0x00,0x80,0x01,0x00,0x80,0x01,0x00,0xF0,0x0F,0x00,0xF0,0x0F,0x00,0x80,0x01,0x00,0x80,0x01,0x00,0x80,0x01, // 43 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x1C,0x00,0x00,0x0C, // 44 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x03, // 45 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x00,0x1C, // 46 + 0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x78,0x00,0x00,0x3E,0x00,0x80,0x07,0x00,0xF0,0x01,0x00,0x78,0x00,0x00,0x08, // 47 + 0x00,0x00,0x00,0xE0,0x07,0x00,0xF0,0x0F,0x00,0x18,0x18,0x00,0x88,0x11,0x00,0x18,0x18,0x00,0xF0,0x0F,0x00,0xE0,0x07, // 48 + 0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x00,0x08,0x10,0x00,0xF8,0x1F,0x00,0xF8,0x1F,0x00,0x00,0x10,0x00,0x00,0x10, // 49 + 0x00,0x00,0x00,0x10,0x18,0x00,0x08,0x1C,0x00,0x08,0x1E,0x00,0x08,0x17,0x00,0x88,0x13,0x00,0xF8,0x11,0x00,0x70,0x10, // 50 + 0x00,0x00,0x00,0x10,0x08,0x00,0x08,0x10,0x00,0x88,0x10,0x00,0x88,0x10,0x00,0x88,0x19,0x00,0x78,0x1F,0x00,0x70,0x0F, // 51 + 0x00,0x00,0x00,0x00,0x03,0x00,0xC0,0x03,0x00,0x60,0x02,0x00,0x30,0x02,0x00,0xF8,0x1F,0x00,0xF8,0x1F,0x00,0x00,0x02, // 52 + 0x00,0x00,0x00,0xF8,0x08,0x00,0x78,0x10,0x00,0x48,0x10,0x00,0x48,0x10,0x00,0xC8,0x18,0x00,0x88,0x0F,0x00,0x00,0x07, // 53 + 0x00,0x00,0x00,0xE0,0x07,0x00,0xF0,0x0F,0x00,0x58,0x10,0x00,0x48,0x10,0x00,0x48,0x10,0x00,0xD0,0x1F,0x00,0x80,0x0F, // 54 + 0x00,0x00,0x00,0x08,0x00,0x00,0x08,0x10,0x00,0x08,0x1C,0x00,0x88,0x0F,0x00,0xE8,0x03,0x00,0xF8,0x00,0x00,0x38, // 55 + 0x00,0x00,0x00,0x70,0x0F,0x00,0x78,0x1F,0x00,0x88,0x10,0x00,0x88,0x10,0x00,0x88,0x10,0x00,0x78,0x1F,0x00,0x70,0x0F, // 56 + 0x00,0x00,0x00,0xF0,0x01,0x00,0xF8,0x0B,0x00,0x08,0x12,0x00,0x08,0x12,0x00,0x08,0x1A,0x00,0xF0,0x0F,0x00,0xE0,0x07, // 57 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x1D,0x00,0xC0,0x1D, // 58 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0xC0,0x1D,0x00,0xC0,0x0D, // 59 + 0x00,0x00,0x00,0x00,0x01,0x00,0x80,0x03,0x00,0x80,0x02,0x00,0xC0,0x06,0x00,0xC0,0x06,0x00,0x40,0x04,0x00,0x60,0x0C, // 60 + 0x00,0x00,0x00,0x60,0x06,0x00,0x60,0x06,0x00,0x60,0x06,0x00,0x60,0x06,0x00,0x60,0x06,0x00,0x60,0x06,0x00,0x60,0x06, // 61 + 0x00,0x00,0x00,0x60,0x0C,0x00,0x40,0x04,0x00,0xC0,0x06,0x00,0xC0,0x06,0x00,0x80,0x02,0x00,0x80,0x03,0x00,0x00,0x01, // 62 + 0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x08,0x1B,0x00,0x88,0x1B,0x00,0xC8,0x00,0x00,0x78,0x00,0x00,0x30, // 63 + 0xC0,0x0F,0x00,0x30,0x10,0x00,0x90,0x27,0x00,0xC8,0x4C,0x00,0x48,0x48,0x00,0x48,0x48,0x00,0xD8,0x4C,0x00,0xF0,0x6F, // 64 + 0x00,0x00,0x00,0x00,0x18,0x00,0x80,0x1F,0x00,0xF8,0x07,0x00,0x38,0x02,0x00,0xF8,0x07,0x00,0x80,0x1F,0x00,0x00,0x18, // 65 + 0x00,0x00,0x00,0xF8,0x1F,0x00,0xF8,0x1F,0x00,0x88,0x10,0x00,0x88,0x10,0x00,0x88,0x10,0x00,0x78,0x1F,0x00,0x70,0x0F, // 66 + 0x00,0x00,0x00,0xE0,0x07,0x00,0xF0,0x0F,0x00,0x18,0x18,0x00,0x08,0x10,0x00,0x08,0x10,0x00,0x08,0x10,0x00,0x10,0x08, // 67 + 0x00,0x00,0x00,0xF8,0x1F,0x00,0xF8,0x1F,0x00,0x08,0x10,0x00,0x08,0x10,0x00,0x18,0x18,0x00,0xF0,0x0F,0x00,0xE0,0x07, // 68 + 0x00,0x00,0x00,0xF8,0x1F,0x00,0xF8,0x1F,0x00,0x88,0x10,0x00,0x88,0x10,0x00,0x88,0x10,0x00,0x88,0x10,0x00,0x08,0x10, // 69 + 0x00,0x00,0x00,0xF8,0x1F,0x00,0xF8,0x1F,0x00,0x88,0x00,0x00,0x88,0x00,0x00,0x88,0x00,0x00,0x88,0x00,0x00,0x08, // 70 + 0x00,0x00,0x00,0xE0,0x07,0x00,0xF0,0x0F,0x00,0x18,0x18,0x00,0x08,0x10,0x00,0x08,0x11,0x00,0x08,0x1F,0x00,0x10,0x1F, // 71 + 0x00,0x00,0x00,0xF8,0x1F,0x00,0xF8,0x1F,0x00,0x80,0x00,0x00,0x80,0x00,0x00,0x80,0x00,0x00,0xF8,0x1F,0x00,0xF8,0x1F, // 72 + 0x00,0x00,0x00,0x08,0x10,0x00,0x08,0x10,0x00,0xF8,0x1F,0x00,0xF8,0x1F,0x00,0x08,0x10,0x00,0x08,0x10, // 73 + 0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x08,0x10,0x00,0x08,0x10,0x00,0xF8,0x1F,0x00,0xF8,0x0F, // 74 + 0x00,0x00,0x00,0xF8,0x1F,0x00,0xF8,0x1F,0x00,0xC0,0x01,0x00,0xE0,0x03,0x00,0xF0,0x07,0x00,0x18,0x1E,0x00,0x08,0x18, // 75 + 0x00,0x00,0x00,0xF8,0x1F,0x00,0xF8,0x1F,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x00,0x10, // 76 + 0x00,0x00,0x00,0xF8,0x1F,0x00,0xF8,0x1F,0x00,0xF8,0x00,0x00,0x80,0x01,0x00,0xF8,0x00,0x00,0xF8,0x1F,0x00,0xF8,0x1F, // 77 + 0x00,0x00,0x00,0xF8,0x1F,0x00,0xF8,0x1F,0x00,0x78,0x00,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF8,0x1F,0x00,0xF8,0x1F, // 78 + 0x00,0x00,0x00,0xE0,0x07,0x00,0xF0,0x0F,0x00,0x18,0x18,0x00,0x08,0x10,0x00,0x18,0x18,0x00,0xF0,0x0F,0x00,0xE0,0x07, // 79 + 0x00,0x00,0x00,0xF8,0x1F,0x00,0xF8,0x1F,0x00,0x08,0x01,0x00,0x08,0x01,0x00,0x08,0x01,0x00,0xF8,0x01,0x00,0xF0, // 80 + 0x00,0x00,0x00,0xE0,0x07,0x00,0xF0,0x0F,0x00,0x18,0x18,0x00,0x08,0x10,0x00,0x18,0x38,0x00,0xF0,0x7F,0x00,0xE0,0x07, // 81 + 0x00,0x00,0x00,0xF8,0x1F,0x00,0xF8,0x1F,0x00,0x08,0x01,0x00,0x08,0x01,0x00,0x08,0x03,0x00,0xF8,0x0E,0x00,0xF0,0x1C, // 82 + 0x00,0x00,0x00,0xF0,0x08,0x00,0xF8,0x10,0x00,0x88,0x11,0x00,0x88,0x11,0x00,0x88,0x13,0x00,0x08,0x1F,0x00,0x10,0x0E, // 83 + 0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0xF8,0x1F,0x00,0xF8,0x1F,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08, // 84 + 0x00,0x00,0x00,0xF8,0x0F,0x00,0xF8,0x1F,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0xF8,0x1F,0x00,0xF8,0x0F, // 85 + 0x00,0x00,0x00,0x18,0x00,0x00,0xF8,0x03,0x00,0xE0,0x1F,0x00,0x00,0x18,0x00,0xE0,0x1F,0x00,0xF8,0x03,0x00,0x18, // 86 + 0x78,0x00,0x00,0xF8,0x1F,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF8,0x1F,0x00,0xF8, // 87 + 0x00,0x00,0x00,0x08,0x10,0x00,0x38,0x1C,0x00,0xF0,0x0F,0x00,0xC0,0x03,0x00,0xF0,0x0F,0x00,0x38,0x1C,0x00,0x08,0x10, // 88 + 0x08,0x00,0x00,0x38,0x00,0x00,0xF0,0x00,0x00,0xC0,0x1F,0x00,0xC0,0x1F,0x00,0xF0,0x00,0x00,0x38,0x00,0x00,0x08, // 89 + 0x00,0x00,0x00,0x08,0x18,0x00,0x08,0x1E,0x00,0x08,0x17,0x00,0xC8,0x13,0x00,0xE8,0x10,0x00,0x78,0x10,0x00,0x18,0x10, // 90 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x3F,0x00,0xFC,0x3F,0x00,0x04,0x20,0x00,0x04,0x20, // 91 + 0x00,0x00,0x00,0x08,0x00,0x00,0x38,0x00,0x00,0xE0,0x01,0x00,0x80,0x07,0x00,0x00,0x1E,0x00,0x00,0x70,0x00,0x00,0x40, // 92 + 0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x20,0x00,0x04,0x20,0x00,0xFC,0x3F,0x00,0xFC,0x3F, // 93 + 0x40,0x00,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x18,0x00,0x00,0x18,0x00,0x00,0x30,0x00,0x00,0x60,0x00,0x00,0x40, // 94 + 0x00,0x80,0x00,0x00,0x80,0x00,0x00,0x80,0x00,0x00,0x80,0x00,0x00,0x80,0x00,0x00,0x80,0x00,0x00,0x80,0x00,0x00,0x80, // 95 + 0x00,0x00,0x00,0x02,0x00,0x00,0x06,0x00,0x00,0x0C,0x00,0x00,0x08, // 96 + 0x00,0x00,0x00,0x00,0x0E,0x00,0x40,0x1F,0x00,0x20,0x11,0x00,0x20,0x11,0x00,0xE0,0x1F,0x00,0xC0,0x1F, // 97 + 0x00,0x00,0x00,0xFC,0x1F,0x00,0xFC,0x1F,0x00,0x20,0x10,0x00,0x20,0x10,0x00,0xE0,0x1F,0x00,0xC0,0x0F, // 98 + 0x00,0x00,0x00,0x80,0x07,0x00,0xC0,0x0F,0x00,0x60,0x18,0x00,0x20,0x10,0x00,0x20,0x10,0x00,0x40,0x08, // 99 + 0x00,0x00,0x00,0xC0,0x0F,0x00,0xE0,0x1F,0x00,0x20,0x10,0x00,0x20,0x10,0x00,0xFC,0x1F,0x00,0xFC,0x1F, // 100 + 0x00,0x00,0x00,0x80,0x07,0x00,0xE0,0x1F,0x00,0x20,0x19,0x00,0x20,0x11,0x00,0xE0,0x11,0x00,0xC0,0x09, // 101 + 0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0xF8,0x1F,0x00,0xFC,0x1F,0x00,0x24,0x00,0x00,0x24, // 102 + 0x00,0x00,0x00,0xC0,0x0F,0x00,0xE0,0x9F,0x00,0x20,0x90,0x00,0x20,0x90,0x00,0xE0,0xFF,0x00,0xE0,0x7F, // 103 + 0x00,0x00,0x00,0xFC,0x1F,0x00,0xFC,0x1F,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0xE0,0x1F,0x00,0xC0,0x1F, // 104 + 0x00,0x10,0x00,0x20,0x10,0x00,0x20,0x10,0x00,0xEC,0x1F,0x00,0xEC,0x1F,0x00,0x00,0x10,0x00,0x00,0x10, // 105 + 0x00,0x00,0x00,0x00,0x80,0x00,0x20,0x80,0x00,0x20,0x80,0x00,0xEC,0xFF,0x00,0xEC,0x7F, // 106 + 0x00,0x00,0x00,0xFC,0x1F,0x00,0xFC,0x1F,0x00,0x80,0x03,0x00,0xC0,0x0F,0x00,0x60,0x1C,0x00,0x00,0x10, // 107 + 0x00,0x00,0x00,0x04,0x00,0x00,0x04,0x00,0x00,0xFC,0x0F,0x00,0xFC,0x1F,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x00,0x10, // 108 + 0xE0,0x1F,0x00,0xE0,0x1F,0x00,0x20,0x00,0x00,0xE0,0x1F,0x00,0xE0,0x1F,0x00,0x20,0x00,0x00,0xE0,0x1F,0x00,0xE0,0x1F, // 109 + 0x00,0x00,0x00,0xE0,0x1F,0x00,0xE0,0x1F,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0xE0,0x1F,0x00,0xC0,0x1F, // 110 + 0x00,0x00,0x00,0x80,0x07,0x00,0xE0,0x1F,0x00,0x20,0x10,0x00,0x20,0x10,0x00,0xE0,0x1F,0x00,0x80,0x07, // 111 + 0x00,0x00,0x00,0xE0,0xFF,0x00,0xE0,0xFF,0x00,0x20,0x10,0x00,0x20,0x10,0x00,0xE0,0x1F,0x00,0xC0,0x0F, // 112 + 0x00,0x00,0x00,0xC0,0x0F,0x00,0xE0,0x1F,0x00,0x20,0x10,0x00,0x20,0x10,0x00,0xE0,0xFF,0x00,0xE0,0xFF, // 113 + 0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0x00,0xE0,0x1F,0x00,0x60,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x20, // 114 + 0x00,0x00,0x00,0xC0,0x09,0x00,0xE0,0x11,0x00,0x20,0x13,0x00,0x20,0x13,0x00,0x20,0x1E,0x00,0x40,0x0E, // 115 + 0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0xF8,0x0F,0x00,0xF8,0x1F,0x00,0x20,0x10,0x00,0x20,0x10,0x00,0x20,0x10, // 116 + 0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0xE0,0x1F,0x00,0xE0,0x1F, // 117 + 0x00,0x00,0x00,0xE0,0x00,0x00,0xE0,0x07,0x00,0x00,0x1E,0x00,0x00,0x1E,0x00,0xE0,0x07,0x00,0xE0, // 118 + 0xE0,0x00,0x00,0xE0,0x1F,0x00,0x00,0x18,0x00,0x80,0x07,0x00,0x80,0x07,0x00,0x00,0x18,0x00,0xE0,0x1F,0x00,0xE0, // 119 + 0x00,0x00,0x00,0x20,0x10,0x00,0xE0,0x1C,0x00,0xC0,0x0F,0x00,0xC0,0x0F,0x00,0xE0,0x1C,0x00,0x20,0x10, // 120 + 0x00,0x00,0x00,0x60,0x80,0x00,0xE0,0xC7,0x00,0x00,0xFF,0x00,0x80,0x3F,0x00,0xE0,0x03,0x00,0x60, // 121 + 0x00,0x00,0x00,0x20,0x18,0x00,0x20,0x1E,0x00,0x20,0x17,0x00,0xA0,0x13,0x00,0xE0,0x11,0x00,0x60,0x10, // 122 + 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0xF8,0x3E,0x00,0xFC,0x7E,0x00,0x04,0x40,0x00,0x04,0x40, // 123 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0x00,0xFC,0xFF, // 124 + 0x00,0x00,0x00,0x04,0x40,0x00,0x04,0x40,0x00,0xFC,0x7E,0x00,0xF8,0x3E,0x00,0x00,0x01,0x00,0x00,0x01, // 125 + 0x00,0x00,0x00,0x00,0x03,0x00,0x80,0x01,0x00,0x80,0x01,0x00,0x80,0x01,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x80,0x01, // 126 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 127 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 128 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 129 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 130 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 131 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 132 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 133 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 134 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 135 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 136 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 137 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 138 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 139 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 140 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 141 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 142 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 143 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 144 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 145 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 146 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 147 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 148 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 149 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 150 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 151 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 152 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 153 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 154 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 155 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 156 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 157 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 158 + 0x00,0x00,0x00,0xF8,0x7F,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0x08,0x40,0x00,0xF8,0x7F, // 159 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x7F,0x00,0x60,0x7F, // 161 + 0x00,0x00,0x00,0x80,0x07,0x00,0xC0,0x0F,0x00,0x20,0x10,0x00,0xF8,0x7F,0x00,0x20,0x10,0x00,0x40,0x08, // 162 + 0x00,0x10,0x00,0x80,0x10,0x00,0xF0,0x1F,0x00,0xF8,0x1F,0x00,0x88,0x10,0x00,0x88,0x10,0x00,0x10,0x10, // 163 + 0x00,0x00,0x00,0x20,0x08,0x00,0xC0,0x07,0x00,0x40,0x04,0x00,0x40,0x04,0x00,0x40,0x04,0x00,0xE0,0x0F,0x00,0x40,0x08, // 164 + 0x88,0x02,0x00,0xF8,0x02,0x00,0xF0,0x02,0x00,0xC0,0x1F,0x00,0xC0,0x1F,0x00,0xF0,0x02,0x00,0xF8,0x02,0x00,0x88,0x02, // 165 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x7C,0x00,0xF8,0x7C, // 166 + 0x00,0x00,0x00,0xB0,0x03,0x00,0xF8,0x27,0x00,0x68,0x26,0x00,0xC8,0x2C,0x00,0xC8,0x3F,0x00,0x80,0x1B, // 167 + 0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x0C, // 168 + 0xC0,0x03,0x00,0x20,0x04,0x00,0x90,0x09,0x00,0x50,0x0A,0x00,0x50,0x0A,0x00,0x10,0x08,0x00,0x20,0x04,0x00,0xC0,0x03, // 169 + 0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x48,0x05,0x00,0x48,0x05,0x00,0x48,0x05,0x00,0xF0,0x05, // 170 + 0x00,0x00,0x00,0x00,0x03,0x00,0x80,0x07,0x00,0xC0,0x0C,0x00,0x00,0x03,0x00,0x80,0x07,0x00,0xC0,0x0C, // 171 + 0x00,0x00,0x00,0x80,0x01,0x00,0x80,0x01,0x00,0x80,0x01,0x00,0x80,0x01,0x00,0x80,0x01,0x00,0x80,0x07,0x00,0x80,0x07, // 172 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x03, // 173 + 0xC0,0x03,0x00,0x20,0x04,0x00,0xD0,0x0B,0x00,0x50,0x09,0x00,0x50,0x09,0x00,0xD0,0x0A,0x00,0x20,0x04,0x00,0xC0,0x03, // 174 + 0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x04,0x00,0x00,0x04,0x00,0x00,0x04, // 175 + 0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x88,0x00,0x00,0x88,0x00,0x00,0x88,0x00,0x00,0x70, // 176 + 0x80,0x19,0x00,0x80,0x19,0x00,0x80,0x19,0x00,0xE0,0x1F,0x00,0xE0,0x1F,0x00,0x80,0x19,0x00,0x80,0x19,0x00,0x80,0x19, // 177 + 0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x01,0x00,0x88,0x01,0x00,0xC8,0x01,0x00,0x68,0x01,0x00,0x30,0x01, // 178 + 0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x01,0x00,0x28,0x01,0x00,0x28,0x01,0x00,0x28,0x01,0x00,0xD8, // 179 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x0C,0x00,0x00,0x06,0x00,0x00,0x02, // 180 + 0x00,0x00,0x00,0xE0,0xFF,0x00,0xE0,0xFF,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0xE0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x10, // 181 + 0x70,0x00,0x00,0xF0,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0xF8,0x3F,0x00,0x08,0x00,0x00,0xF8,0x3F, // 182 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03, // 183 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0xA0,0x00,0x00,0xC0, // 184 + 0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x01,0x00,0x08,0x01,0x00,0xF8,0x01,0x00,0x00,0x01,0x00,0x00,0x01, // 185 + 0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x04,0x00,0x08,0x05,0x00,0x08,0x05,0x00,0x08,0x05,0x00,0xF0,0x04, // 186 + 0x00,0x00,0x00,0xC0,0x0C,0x00,0x80,0x07,0x00,0x00,0x03,0x00,0xC0,0x0C,0x00,0x80,0x07,0x00,0x00,0x03, // 187 + 0x84,0x02,0x00,0x84,0x02,0x00,0xFC,0x31,0x00,0x80,0x29,0x00,0x80,0x27,0x00,0x00,0x7F,0x00,0x80,0x20,0x00,0x80, // 188 + 0x84,0x02,0x00,0x84,0x02,0x00,0xFC,0x01,0x00,0x80,0x43,0x00,0x80,0x63,0x00,0x00,0x73,0x00,0x80,0x5A,0x00,0x80,0x4C, // 189 + 0x84,0x02,0x00,0x94,0x02,0x00,0x94,0x31,0x00,0x94,0x29,0x00,0x6C,0x27,0x00,0x00,0x7F,0x00,0x80,0x20,0x00,0x80, // 190 + 0x00,0x00,0x00,0x00,0x70,0x00,0x00,0xF8,0x00,0x00,0x88,0x00,0x60,0x8F,0x00,0x60,0x83,0x00,0x00,0x40, // 191 + 0x00,0x00,0x00,0x00,0x18,0x00,0x80,0x1F,0x00,0xF9,0x07,0x00,0x39,0x02,0x00,0xF8,0x07,0x00,0x80,0x1F,0x00,0x00,0x18, // 192 + 0x00,0x00,0x00,0x00,0x18,0x00,0x80,0x1F,0x00,0xF9,0x07,0x00,0x39,0x02,0x00,0xF8,0x07,0x00,0x80,0x1F,0x00,0x00,0x18, // 193 + 0x00,0x00,0x00,0x00,0x18,0x00,0x81,0x1F,0x00,0xF9,0x07,0x00,0x38,0x02,0x00,0xF9,0x07,0x00,0x81,0x1F,0x00,0x00,0x18, // 194 + 0x00,0x00,0x00,0x00,0x18,0x00,0x81,0x1F,0x00,0xF8,0x07,0x00,0x39,0x02,0x00,0xF9,0x07,0x00,0x81,0x1F,0x00,0x00,0x18, // 195 + 0x00,0x00,0x00,0x00,0x18,0x00,0x81,0x1F,0x00,0xF9,0x07,0x00,0x38,0x02,0x00,0xF9,0x07,0x00,0x81,0x1F,0x00,0x00,0x18, // 196 + 0x00,0x00,0x00,0x00,0x18,0x00,0x80,0x1F,0x00,0xF6,0x07,0x00,0x79,0x02,0x00,0xF6,0x07,0x00,0x80,0x1F,0x00,0x00,0x18, // 197 + 0x00,0x18,0x00,0x80,0x1F,0x00,0xF8,0x03,0x00,0x18,0x02,0x00,0xF8,0x1F,0x00,0xF8,0x1F,0x00,0x88,0x10,0x00,0x88,0x10, // 198 + 0x00,0x00,0x00,0xE0,0x07,0x00,0xF0,0x0F,0x00,0x18,0x18,0x00,0x08,0x90,0x00,0x08,0xB0,0x00,0x08,0xD0,0x00,0x10,0x08, // 199 + 0x00,0x00,0x00,0xF8,0x1F,0x00,0xF8,0x1F,0x00,0x89,0x10,0x00,0x89,0x10,0x00,0x88,0x10,0x00,0x88,0x10,0x00,0x08,0x10, // 200 + 0x00,0x00,0x00,0xF8,0x1F,0x00,0xF8,0x1F,0x00,0x89,0x10,0x00,0x89,0x10,0x00,0x88,0x10,0x00,0x88,0x10,0x00,0x08,0x10, // 201 + 0x00,0x00,0x00,0xF8,0x1F,0x00,0xF9,0x1F,0x00,0x89,0x10,0x00,0x88,0x10,0x00,0x89,0x10,0x00,0x89,0x10,0x00,0x08,0x10, // 202 + 0x00,0x00,0x00,0xF8,0x1F,0x00,0xF9,0x1F,0x00,0x89,0x10,0x00,0x88,0x10,0x00,0x89,0x10,0x00,0x89,0x10,0x00,0x08,0x10, // 203 + 0x00,0x00,0x00,0x08,0x10,0x00,0x08,0x10,0x00,0xF9,0x1F,0x00,0xF9,0x1F,0x00,0x08,0x10,0x00,0x08,0x10, // 204 + 0x00,0x00,0x00,0x08,0x10,0x00,0x08,0x10,0x00,0xF9,0x1F,0x00,0xF9,0x1F,0x00,0x08,0x10,0x00,0x08,0x10, // 205 + 0x00,0x00,0x00,0x08,0x10,0x00,0x09,0x10,0x00,0xF8,0x1F,0x00,0xF8,0x1F,0x00,0x09,0x10,0x00,0x08,0x10, // 206 + 0x00,0x00,0x00,0x09,0x10,0x00,0x09,0x10,0x00,0xF8,0x1F,0x00,0xF8,0x1F,0x00,0x09,0x10,0x00,0x09,0x10, // 207 + 0x80,0x00,0x00,0xF8,0x1F,0x00,0xF8,0x1F,0x00,0x88,0x10,0x00,0x88,0x10,0x00,0x18,0x18,0x00,0xF0,0x0F,0x00,0xE0,0x07, // 208 + 0x00,0x00,0x00,0xF8,0x1F,0x00,0xF9,0x1F,0x00,0x78,0x00,0x00,0xC1,0x03,0x00,0x01,0x1E,0x00,0xF9,0x1F,0x00,0xF8,0x1F, // 209 + 0x00,0x00,0x00,0xE0,0x07,0x00,0xF0,0x0F,0x00,0x19,0x18,0x00,0x09,0x10,0x00,0x18,0x18,0x00,0xF0,0x0F,0x00,0xE0,0x07, // 210 + 0x00,0x00,0x00,0xE0,0x07,0x00,0xF0,0x0F,0x00,0x19,0x18,0x00,0x09,0x10,0x00,0x18,0x18,0x00,0xF0,0x0F,0x00,0xE0,0x07, // 211 + 0x00,0x00,0x00,0xE0,0x07,0x00,0xF1,0x0F,0x00,0x19,0x18,0x00,0x08,0x10,0x00,0x19,0x18,0x00,0xF1,0x0F,0x00,0xE0,0x07, // 212 + 0x00,0x00,0x00,0xE0,0x07,0x00,0xF1,0x0F,0x00,0x18,0x18,0x00,0x09,0x10,0x00,0x19,0x18,0x00,0xF1,0x0F,0x00,0xE0,0x07, // 213 + 0x00,0x00,0x00,0xE0,0x07,0x00,0xF1,0x0F,0x00,0x19,0x18,0x00,0x08,0x10,0x00,0x19,0x18,0x00,0xF1,0x0F,0x00,0xE0,0x07, // 214 + 0x00,0x00,0x00,0x40,0x04,0x00,0xE0,0x0E,0x00,0xC0,0x07,0x00,0x80,0x03,0x00,0xC0,0x07,0x00,0xE0,0x0E,0x00,0x40,0x04, // 215 + 0x00,0x10,0x00,0xE0,0x1F,0x00,0xF0,0x1F,0x00,0x18,0x1F,0x00,0x88,0x11,0x00,0xF8,0x18,0x00,0xF8,0x0F,0x00,0xF8,0x07, // 216 + 0x00,0x00,0x00,0xF8,0x0F,0x00,0xF8,0x1F,0x00,0x01,0x10,0x00,0x01,0x10,0x00,0x00,0x10,0x00,0xF8,0x1F,0x00,0xF8,0x0F, // 217 + 0x00,0x00,0x00,0xF8,0x0F,0x00,0xF8,0x1F,0x00,0x01,0x10,0x00,0x01,0x10,0x00,0x00,0x10,0x00,0xF8,0x1F,0x00,0xF8,0x0F, // 218 + 0x00,0x00,0x00,0xF8,0x0F,0x00,0xF9,0x1F,0x00,0x01,0x10,0x00,0x00,0x10,0x00,0x01,0x10,0x00,0xF9,0x1F,0x00,0xF8,0x0F, // 219 + 0x00,0x00,0x00,0xF8,0x0F,0x00,0xF9,0x1F,0x00,0x01,0x10,0x00,0x00,0x10,0x00,0x01,0x10,0x00,0xF9,0x1F,0x00,0xF8,0x0F, // 220 + 0x08,0x00,0x00,0x38,0x00,0x00,0xF0,0x00,0x00,0xC1,0x1F,0x00,0xC1,0x1F,0x00,0xF0,0x00,0x00,0x38,0x00,0x00,0x08, // 221 + 0x00,0x00,0x00,0xF8,0x1F,0x00,0xF8,0x1F,0x00,0x20,0x04,0x00,0x20,0x04,0x00,0x20,0x04,0x00,0xE0,0x07,0x00,0xC0,0x03, // 222 + 0x00,0x00,0x00,0xF8,0x1F,0x00,0xFC,0x1F,0x00,0x04,0x00,0x00,0xE4,0x11,0x00,0xFC,0x1F,0x00,0x18,0x0E, // 223 + 0x00,0x00,0x00,0x02,0x0E,0x00,0x46,0x1F,0x00,0x2C,0x11,0x00,0x28,0x11,0x00,0xE0,0x1F,0x00,0xC0,0x1F, // 224 + 0x00,0x00,0x00,0x00,0x0E,0x00,0x40,0x1F,0x00,0x28,0x11,0x00,0x2C,0x11,0x00,0xE6,0x1F,0x00,0xC2,0x1F, // 225 + 0x00,0x00,0x00,0x00,0x0E,0x00,0x48,0x1F,0x00,0x2E,0x11,0x00,0x22,0x11,0x00,0xEE,0x1F,0x00,0xC8,0x1F, // 226 + 0x00,0x00,0x00,0x00,0x0E,0x00,0x4C,0x1F,0x00,0x24,0x11,0x00,0x2C,0x11,0x00,0xE8,0x1F,0x00,0xCC,0x1F, // 227 + 0x00,0x00,0x00,0x00,0x0E,0x00,0x4C,0x1F,0x00,0x2C,0x11,0x00,0x20,0x11,0x00,0xEC,0x1F,0x00,0xCC,0x1F, // 228 + 0x00,0x00,0x00,0x00,0x0E,0x00,0x46,0x1F,0x00,0x29,0x11,0x00,0x29,0x11,0x00,0xE6,0x1F,0x00,0xC0,0x1F, // 229 + 0x00,0x0E,0x00,0x40,0x1F,0x00,0x20,0x11,0x00,0xE0,0x1F,0x00,0xE0,0x1F,0x00,0x20,0x11,0x00,0xE0,0x11,0x00,0xC0,0x09, // 230 + 0x00,0x00,0x00,0x80,0x07,0x00,0xC0,0x0F,0x00,0x60,0x18,0x00,0x20,0x90,0x00,0x20,0xB0,0x00,0x40,0xC8, // 231 + 0x00,0x00,0x00,0x82,0x07,0x00,0xE6,0x1F,0x00,0x2C,0x19,0x00,0x28,0x11,0x00,0xE0,0x11,0x00,0xC0,0x09, // 232 + 0x00,0x00,0x00,0x80,0x07,0x00,0xE0,0x1F,0x00,0x28,0x19,0x00,0x2C,0x11,0x00,0xE6,0x11,0x00,0xC2,0x09, // 233 + 0x00,0x00,0x00,0x80,0x07,0x00,0xE8,0x1F,0x00,0x2E,0x19,0x00,0x22,0x11,0x00,0xEE,0x11,0x00,0xC8,0x09, // 234 + 0x00,0x00,0x00,0x80,0x07,0x00,0xEC,0x1F,0x00,0x2C,0x19,0x00,0x20,0x11,0x00,0xEC,0x11,0x00,0xCC,0x09, // 235 + 0x00,0x10,0x00,0x22,0x10,0x00,0x26,0x10,0x00,0xEC,0x1F,0x00,0xE8,0x1F,0x00,0x00,0x10,0x00,0x00,0x10, // 236 + 0x00,0x10,0x00,0x20,0x10,0x00,0x20,0x10,0x00,0xE8,0x1F,0x00,0xEC,0x1F,0x00,0x06,0x10,0x00,0x02,0x10, // 237 + 0x00,0x10,0x00,0x20,0x10,0x00,0x28,0x10,0x00,0xEE,0x1F,0x00,0xE2,0x1F,0x00,0x0E,0x10,0x00,0x08,0x10, // 238 + 0x00,0x10,0x00,0x20,0x10,0x00,0x2C,0x10,0x00,0xEC,0x1F,0x00,0xE0,0x1F,0x00,0x0C,0x10,0x00,0x0C,0x10, // 239 + 0x00,0x00,0x00,0x80,0x0F,0x00,0xD4,0x1F,0x00,0x5C,0x10,0x00,0x78,0x10,0x00,0xE4,0x1F,0x00,0x80,0x0F, // 240 + 0x00,0x00,0x00,0xE0,0x1F,0x00,0xEC,0x1F,0x00,0x24,0x00,0x00,0x2C,0x00,0x00,0xE8,0x1F,0x00,0xCC,0x1F, // 241 + 0x00,0x00,0x00,0x82,0x07,0x00,0xE6,0x1F,0x00,0x2C,0x10,0x00,0x28,0x10,0x00,0xE0,0x1F,0x00,0x80,0x07, // 242 + 0x00,0x00,0x00,0x80,0x07,0x00,0xE0,0x1F,0x00,0x28,0x10,0x00,0x2C,0x10,0x00,0xE6,0x1F,0x00,0x82,0x07, // 243 + 0x00,0x00,0x00,0x80,0x07,0x00,0xE8,0x1F,0x00,0x26,0x10,0x00,0x26,0x10,0x00,0xE8,0x1F,0x00,0x80,0x07, // 244 + 0x00,0x00,0x00,0x80,0x07,0x00,0xEC,0x1F,0x00,0x24,0x10,0x00,0x28,0x10,0x00,0xEC,0x1F,0x00,0x80,0x07, // 245 + 0x00,0x00,0x00,0x8C,0x07,0x00,0xEC,0x1F,0x00,0x20,0x10,0x00,0x20,0x10,0x00,0xEC,0x1F,0x00,0x8C,0x07, // 246 + 0x80,0x01,0x00,0x80,0x01,0x00,0x80,0x01,0x00,0xB0,0x0D,0x00,0xB0,0x0D,0x00,0x80,0x01,0x00,0x80,0x01,0x00,0x80,0x01, // 247 + 0x00,0x00,0x00,0x80,0x3F,0x00,0xE0,0x1F,0x00,0x20,0x16,0x00,0xA0,0x11,0x00,0xE0,0x1F,0x00,0xF0,0x07, // 248 + 0x00,0x00,0x00,0xE2,0x0F,0x00,0xE6,0x1F,0x00,0x0C,0x10,0x00,0x08,0x10,0x00,0xE0,0x1F,0x00,0xE0,0x1F, // 249 + 0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x1F,0x00,0x08,0x10,0x00,0x0C,0x10,0x00,0xE6,0x1F,0x00,0xE2,0x1F, // 250 + 0x00,0x00,0x00,0xE0,0x0F,0x00,0xE8,0x1F,0x00,0x06,0x10,0x00,0x06,0x10,0x00,0xE8,0x1F,0x00,0xE0,0x1F, // 251 + 0x00,0x00,0x00,0xEC,0x0F,0x00,0xEC,0x1F,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0xEC,0x1F,0x00,0xEC,0x1F, // 252 + 0x00,0x00,0x00,0x60,0x80,0x00,0xE0,0xC7,0x00,0x08,0xFF,0x00,0x8C,0x3F,0x00,0xE6,0x03,0x00,0x62, // 253 + 0x00,0x00,0x00,0xFC,0xFF,0x00,0xFC,0xFF,0x00,0x20,0x10,0x00,0x20,0x10,0x00,0xE0,0x1F,0x00,0xC0,0x0F, // 254 + 0x00,0x00,0x00,0x6C,0x80,0x00,0xEC,0xC7,0x00,0x00,0xFF,0x00,0x80,0x3F,0x00,0xEC,0x03,0x00,0x6C // 255 +}; diff --git a/src/fonts/DejaVu_sans_mono_bold_14.h b/src/fonts/DejaVu_sans_mono_bold_14.h new file mode 100644 index 0000000..b81dbea --- /dev/null +++ b/src/fonts/DejaVu_sans_mono_bold_14.h @@ -0,0 +1,7 @@ +// Created by http://oleddisplay.squix.ch/ Consider a donation +#ifndef _DEJAVU_SANS_MONO_BOLD_14_H_ +#define _DEJAVU_SANS_MONO_BOLD_14_H_ +// In case of problems make sure that you are using the font file with the correct version! +#include +extern const uint8_t DejaVu_Sans_Mono_Bold_14[] PROGMEM; +#endif diff --git a/src/fonts/Dialog_bold_10.cpp b/src/fonts/Dialog_bold_10.cpp new file mode 100644 index 0000000..99dbeb0 --- /dev/null +++ b/src/fonts/Dialog_bold_10.cpp @@ -0,0 +1,460 @@ +// Created by http://oleddisplay.squix.ch/ Consider a donation +#include "Dialog_bold_10.h" + +// In case of problems make sure that you are using the font file with the correct version! +const uint8_t Dialog_bold_10[] PROGMEM = { + 0x0B, // Width: 11 + 0x0D, // Height: 13 + 0x20, // First Char: 32 + 0xE0, // Numbers of Chars: 224 + + // Jump Table: + 0xFF, 0xFF, 0x00, 0x03, // 32:65535 + 0x00, 0x00, 0x06, 0x05, // 33:0 + 0x00, 0x06, 0x07, 0x05, // 34:6 + 0x00, 0x0D, 0x0F, 0x08, // 35:13 + 0x00, 0x1C, 0x0C, 0x07, // 36:28 + 0x00, 0x28, 0x14, 0x0A, // 37:40 + 0x00, 0x3C, 0x12, 0x09, // 38:60 + 0x00, 0x4E, 0x03, 0x03, // 39:78 + 0x00, 0x51, 0x08, 0x05, // 40:81 + 0x00, 0x59, 0x08, 0x05, // 41:89 + 0x00, 0x61, 0x09, 0x05, // 42:97 + 0x00, 0x6A, 0x0F, 0x08, // 43:106 + 0x00, 0x79, 0x06, 0x04, // 44:121 + 0x00, 0x7F, 0x07, 0x04, // 45:127 + 0x00, 0x86, 0x06, 0x04, // 46:134 + 0x00, 0x8C, 0x07, 0x04, // 47:140 + 0x00, 0x93, 0x0E, 0x07, // 48:147 + 0x00, 0xA1, 0x0E, 0x07, // 49:161 + 0x00, 0xAF, 0x0E, 0x07, // 50:175 + 0x00, 0xBD, 0x0E, 0x07, // 51:189 + 0x00, 0xCB, 0x0D, 0x07, // 52:203 + 0x00, 0xD8, 0x0E, 0x07, // 53:216 + 0x00, 0xE6, 0x0E, 0x07, // 54:230 + 0x00, 0xF4, 0x0D, 0x07, // 55:244 + 0x01, 0x01, 0x0E, 0x07, // 56:257 + 0x01, 0x0F, 0x0D, 0x07, // 57:271 + 0x01, 0x1C, 0x06, 0x04, // 58:284 + 0x01, 0x22, 0x06, 0x04, // 59:290 + 0x01, 0x28, 0x0E, 0x08, // 60:296 + 0x01, 0x36, 0x0D, 0x08, // 61:310 + 0x01, 0x43, 0x0D, 0x08, // 62:323 + 0x01, 0x50, 0x09, 0x06, // 63:336 + 0x01, 0x59, 0x14, 0x0A, // 64:345 + 0x01, 0x6D, 0x12, 0x09, // 65:365 + 0x01, 0x7F, 0x0E, 0x07, // 66:383 + 0x01, 0x8D, 0x0E, 0x07, // 67:397 + 0x01, 0x9B, 0x0F, 0x08, // 68:411 + 0x01, 0xAA, 0x0C, 0x06, // 69:426 + 0x01, 0xB6, 0x0B, 0x06, // 70:438 + 0x01, 0xC1, 0x10, 0x08, // 71:449 + 0x01, 0xD1, 0x10, 0x08, // 72:465 + 0x01, 0xE1, 0x06, 0x03, // 73:481 + 0x01, 0xE7, 0x06, 0x03, // 74:487 + 0x01, 0xED, 0x0E, 0x07, // 75:493 + 0x01, 0xFB, 0x0C, 0x06, // 76:507 + 0x02, 0x07, 0x12, 0x09, // 77:519 + 0x02, 0x19, 0x10, 0x08, // 78:537 + 0x02, 0x29, 0x10, 0x08, // 79:553 + 0x02, 0x39, 0x0D, 0x07, // 80:569 + 0x02, 0x46, 0x10, 0x08, // 81:582 + 0x02, 0x56, 0x10, 0x08, // 82:598 + 0x02, 0x66, 0x0E, 0x07, // 83:614 + 0x02, 0x74, 0x0D, 0x07, // 84:628 + 0x02, 0x81, 0x10, 0x08, // 85:641 + 0x02, 0x91, 0x11, 0x09, // 86:657 + 0x02, 0xA2, 0x15, 0x0B, // 87:674 + 0x02, 0xB7, 0x10, 0x08, // 88:695 + 0x02, 0xC7, 0x0D, 0x07, // 89:711 + 0x02, 0xD4, 0x0E, 0x07, // 90:724 + 0x02, 0xE2, 0x08, 0x05, // 91:738 + 0x02, 0xEA, 0x08, 0x04, // 92:746 + 0x02, 0xF2, 0x08, 0x05, // 93:754 + 0x02, 0xFA, 0x0D, 0x08, // 94:762 + 0x03, 0x07, 0x0A, 0x05, // 95:775 + 0x03, 0x11, 0x05, 0x05, // 96:785 + 0x03, 0x16, 0x0E, 0x07, // 97:790 + 0x03, 0x24, 0x0E, 0x07, // 98:804 + 0x03, 0x32, 0x0C, 0x06, // 99:818 + 0x03, 0x3E, 0x0E, 0x07, // 100:830 + 0x03, 0x4C, 0x0E, 0x07, // 101:844 + 0x03, 0x5A, 0x07, 0x04, // 102:858 + 0x03, 0x61, 0x0E, 0x07, // 103:865 + 0x03, 0x6F, 0x0E, 0x07, // 104:879 + 0x03, 0x7D, 0x06, 0x03, // 105:893 + 0x03, 0x83, 0x06, 0x03, // 106:899 + 0x03, 0x89, 0x0E, 0x07, // 107:905 + 0x03, 0x97, 0x06, 0x03, // 108:919 + 0x03, 0x9D, 0x16, 0x0B, // 109:925 + 0x03, 0xB3, 0x0E, 0x07, // 110:947 + 0x03, 0xC1, 0x0E, 0x07, // 111:961 + 0x03, 0xCF, 0x0E, 0x07, // 112:975 + 0x03, 0xDD, 0x0E, 0x07, // 113:989 + 0x03, 0xEB, 0x09, 0x05, // 114:1003 + 0x03, 0xF4, 0x0C, 0x06, // 115:1012 + 0x04, 0x00, 0x0A, 0x05, // 116:1024 + 0x04, 0x0A, 0x0E, 0x07, // 117:1034 + 0x04, 0x18, 0x0D, 0x07, // 118:1048 + 0x04, 0x25, 0x11, 0x09, // 119:1061 + 0x04, 0x36, 0x0E, 0x07, // 120:1078 + 0x04, 0x44, 0x0D, 0x07, // 121:1092 + 0x04, 0x51, 0x0A, 0x05, // 122:1105 + 0x04, 0x5B, 0x0C, 0x07, // 123:1115 + 0x04, 0x67, 0x04, 0x04, // 124:1127 + 0x04, 0x6B, 0x0D, 0x07, // 125:1131 + 0x04, 0x78, 0x0D, 0x08, // 126:1144 + 0x04, 0x85, 0x0C, 0x06, // 127:1157 + 0x04, 0x91, 0x0C, 0x06, // 128:1169 + 0x04, 0x9D, 0x0C, 0x06, // 129:1181 + 0x04, 0xA9, 0x0C, 0x06, // 130:1193 + 0x04, 0xB5, 0x0C, 0x06, // 131:1205 + 0x04, 0xC1, 0x0C, 0x06, // 132:1217 + 0x04, 0xCD, 0x0C, 0x06, // 133:1229 + 0x04, 0xD9, 0x0C, 0x06, // 134:1241 + 0x04, 0xE5, 0x0C, 0x06, // 135:1253 + 0x04, 0xF1, 0x0C, 0x06, // 136:1265 + 0x04, 0xFD, 0x0C, 0x06, // 137:1277 + 0x05, 0x09, 0x0C, 0x06, // 138:1289 + 0x05, 0x15, 0x0C, 0x06, // 139:1301 + 0x05, 0x21, 0x0C, 0x06, // 140:1313 + 0x05, 0x2D, 0x0C, 0x06, // 141:1325 + 0x05, 0x39, 0x0C, 0x06, // 142:1337 + 0x05, 0x45, 0x0C, 0x06, // 143:1349 + 0x05, 0x51, 0x0C, 0x06, // 144:1361 + 0x05, 0x5D, 0x0C, 0x06, // 145:1373 + 0x05, 0x69, 0x0C, 0x06, // 146:1385 + 0x05, 0x75, 0x0C, 0x06, // 147:1397 + 0x05, 0x81, 0x0C, 0x06, // 148:1409 + 0x05, 0x8D, 0x0C, 0x06, // 149:1421 + 0x05, 0x99, 0x0C, 0x06, // 150:1433 + 0x05, 0xA5, 0x0C, 0x06, // 151:1445 + 0x05, 0xB1, 0x0C, 0x06, // 152:1457 + 0x05, 0xBD, 0x0C, 0x06, // 153:1469 + 0x05, 0xC9, 0x0C, 0x06, // 154:1481 + 0x05, 0xD5, 0x0C, 0x06, // 155:1493 + 0x05, 0xE1, 0x0C, 0x06, // 156:1505 + 0x05, 0xED, 0x0C, 0x06, // 157:1517 + 0x05, 0xF9, 0x0C, 0x06, // 158:1529 + 0x06, 0x05, 0x0C, 0x06, // 159:1541 + 0xFF, 0xFF, 0x00, 0x03, // 160:65535 + 0x06, 0x11, 0x06, 0x05, // 161:1553 + 0x06, 0x17, 0x0C, 0x07, // 162:1559 + 0x06, 0x23, 0x0E, 0x07, // 163:1571 + 0x06, 0x31, 0x0B, 0x06, // 164:1585 + 0x06, 0x3C, 0x0D, 0x07, // 165:1596 + 0x06, 0x49, 0x04, 0x04, // 166:1609 + 0x06, 0x4D, 0x0A, 0x05, // 167:1613 + 0x06, 0x57, 0x07, 0x05, // 168:1623 + 0x06, 0x5E, 0x11, 0x0A, // 169:1630 + 0x06, 0x6F, 0x0A, 0x06, // 170:1647 + 0x06, 0x79, 0x0A, 0x06, // 171:1657 + 0x06, 0x83, 0x0E, 0x08, // 172:1667 + 0x06, 0x91, 0x07, 0x04, // 173:1681 + 0x06, 0x98, 0x11, 0x0A, // 174:1688 + 0x06, 0xA9, 0x07, 0x05, // 175:1705 + 0x06, 0xB0, 0x07, 0x05, // 176:1712 + 0x06, 0xB7, 0x10, 0x08, // 177:1719 + 0x06, 0xC7, 0x07, 0x04, // 178:1735 + 0x06, 0xCE, 0x07, 0x04, // 179:1742 + 0x06, 0xD5, 0x07, 0x05, // 180:1749 + 0x06, 0xDC, 0x10, 0x08, // 181:1756 + 0x06, 0xEC, 0x0C, 0x06, // 182:1772 + 0x06, 0xF8, 0x05, 0x04, // 183:1784 + 0x06, 0xFD, 0x08, 0x05, // 184:1789 + 0x07, 0x05, 0x07, 0x04, // 185:1797 + 0x07, 0x0C, 0x0C, 0x06, // 186:1804 + 0x07, 0x18, 0x0A, 0x06, // 187:1816 + 0x07, 0x22, 0x14, 0x0A, // 188:1826 + 0x07, 0x36, 0x14, 0x0A, // 189:1846 + 0x07, 0x4A, 0x14, 0x0A, // 190:1866 + 0x07, 0x5E, 0x0A, 0x06, // 191:1886 + 0x07, 0x68, 0x12, 0x09, // 192:1896 + 0x07, 0x7A, 0x12, 0x09, // 193:1914 + 0x07, 0x8C, 0x12, 0x09, // 194:1932 + 0x07, 0x9E, 0x12, 0x09, // 195:1950 + 0x07, 0xB0, 0x12, 0x09, // 196:1968 + 0x07, 0xC2, 0x12, 0x09, // 197:1986 + 0x07, 0xD4, 0x16, 0x0B, // 198:2004 + 0x07, 0xEA, 0x0E, 0x07, // 199:2026 + 0x07, 0xF8, 0x0C, 0x06, // 200:2040 + 0x08, 0x04, 0x0C, 0x06, // 201:2052 + 0x08, 0x10, 0x0C, 0x06, // 202:2064 + 0x08, 0x1C, 0x0C, 0x06, // 203:2076 + 0x08, 0x28, 0x06, 0x03, // 204:2088 + 0x08, 0x2E, 0x06, 0x03, // 205:2094 + 0x08, 0x34, 0x06, 0x03, // 206:2100 + 0x08, 0x3A, 0x06, 0x03, // 207:2106 + 0x08, 0x40, 0x0F, 0x08, // 208:2112 + 0x08, 0x4F, 0x10, 0x08, // 209:2127 + 0x08, 0x5F, 0x10, 0x08, // 210:2143 + 0x08, 0x6F, 0x10, 0x08, // 211:2159 + 0x08, 0x7F, 0x10, 0x08, // 212:2175 + 0x08, 0x8F, 0x10, 0x08, // 213:2191 + 0x08, 0x9F, 0x10, 0x08, // 214:2207 + 0x08, 0xAF, 0x0E, 0x08, // 215:2223 + 0x08, 0xBD, 0x10, 0x08, // 216:2237 + 0x08, 0xCD, 0x10, 0x08, // 217:2253 + 0x08, 0xDD, 0x10, 0x08, // 218:2269 + 0x08, 0xED, 0x10, 0x08, // 219:2285 + 0x08, 0xFD, 0x10, 0x08, // 220:2301 + 0x09, 0x0D, 0x0D, 0x07, // 221:2317 + 0x09, 0x1A, 0x0D, 0x07, // 222:2330 + 0x09, 0x27, 0x0E, 0x07, // 223:2343 + 0x09, 0x35, 0x0E, 0x07, // 224:2357 + 0x09, 0x43, 0x0E, 0x07, // 225:2371 + 0x09, 0x51, 0x0E, 0x07, // 226:2385 + 0x09, 0x5F, 0x0E, 0x07, // 227:2399 + 0x09, 0x6D, 0x0E, 0x07, // 228:2413 + 0x09, 0x7B, 0x0E, 0x07, // 229:2427 + 0x09, 0x89, 0x14, 0x0A, // 230:2441 + 0x09, 0x9D, 0x0C, 0x06, // 231:2461 + 0x09, 0xA9, 0x0E, 0x07, // 232:2473 + 0x09, 0xB7, 0x0E, 0x07, // 233:2487 + 0x09, 0xC5, 0x0E, 0x07, // 234:2501 + 0x09, 0xD3, 0x0E, 0x07, // 235:2515 + 0x09, 0xE1, 0x06, 0x03, // 236:2529 + 0x09, 0xE7, 0x06, 0x03, // 237:2535 + 0x09, 0xED, 0x06, 0x03, // 238:2541 + 0x09, 0xF3, 0x06, 0x03, // 239:2547 + 0x09, 0xF9, 0x0E, 0x07, // 240:2553 + 0x0A, 0x07, 0x0E, 0x07, // 241:2567 + 0x0A, 0x15, 0x0E, 0x07, // 242:2581 + 0x0A, 0x23, 0x0E, 0x07, // 243:2595 + 0x0A, 0x31, 0x0E, 0x07, // 244:2609 + 0x0A, 0x3F, 0x0E, 0x07, // 245:2623 + 0x0A, 0x4D, 0x0E, 0x07, // 246:2637 + 0x0A, 0x5B, 0x0D, 0x08, // 247:2651 + 0x0A, 0x68, 0x0E, 0x07, // 248:2664 + 0x0A, 0x76, 0x0E, 0x07, // 249:2678 + 0x0A, 0x84, 0x0E, 0x07, // 250:2692 + 0x0A, 0x92, 0x0E, 0x07, // 251:2706 + 0x0A, 0xA0, 0x0E, 0x07, // 252:2720 + 0x0A, 0xAE, 0x0D, 0x07, // 253:2734 + 0x0A, 0xBB, 0x0E, 0x07, // 254:2747 + 0x0A, 0xC9, 0x0D, 0x07, // 255:2761 + + // Font Data: + 0x00,0x00,0x78,0x03,0x78,0x03, // 33 + 0x00,0x00,0x38,0x00,0x00,0x00,0x38, // 34 + 0x00,0x00,0x80,0x00,0xA0,0x03,0xF0,0x00,0xA8,0x02,0xE0,0x01,0xB8,0x00,0x20, // 35 + 0x00,0x00,0x60,0x02,0xD0,0x02,0xF8,0x07,0xD0,0x02,0x90,0x01, // 36 + 0x00,0x00,0x30,0x00,0x48,0x00,0x48,0x02,0xB0,0x01,0x40,0x00,0xB0,0x01,0x48,0x02,0x40,0x02,0x80,0x01, // 37 + 0x00,0x00,0x80,0x01,0xF0,0x03,0x78,0x02,0xC8,0x02,0x88,0x03,0x80,0x01,0x80,0x03,0xC0,0x02, // 38 + 0x00,0x00,0x38, // 39 + 0x00,0x00,0xF0,0x01,0xFC,0x07,0x04,0x04, // 40 + 0x00,0x00,0x04,0x04,0xFC,0x07,0xF0,0x01, // 41 + 0x90,0x00,0x60,0x00,0xF8,0x01,0x60,0x00,0x90, // 42 + 0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0xF8,0x03,0x40,0x00,0x40,0x00,0x40, // 43 + 0x00,0x00,0x00,0x07,0x00,0x03, // 44 + 0x00,0x00,0x40,0x00,0x40,0x00,0x40, // 45 + 0x00,0x00,0x00,0x03,0x00,0x03, // 46 + 0x00,0x04,0x80,0x03,0x70,0x00,0x08, // 47 + 0x00,0x00,0xF0,0x01,0xF8,0x03,0x08,0x02,0x08,0x02,0xF8,0x03,0xF0,0x01, // 48 + 0x00,0x00,0x08,0x02,0x08,0x02,0xF8,0x03,0xF8,0x03,0x00,0x02,0x00,0x02, // 49 + 0x00,0x00,0x08,0x02,0x08,0x03,0x88,0x03,0xC8,0x02,0x78,0x02,0x30,0x02, // 50 + 0x00,0x00,0x08,0x02,0x48,0x02,0x48,0x02,0x48,0x02,0xF8,0x03,0xB0,0x01, // 51 + 0x00,0x00,0xC0,0x00,0xA0,0x00,0x90,0x00,0xF8,0x03,0xF8,0x03,0x80, // 52 + 0x00,0x00,0x38,0x02,0x38,0x02,0x28,0x02,0x28,0x02,0xE8,0x03,0xC0,0x01, // 53 + 0x00,0x00,0xE0,0x01,0xF0,0x03,0x28,0x02,0x28,0x02,0xE8,0x03,0xC8,0x01, // 54 + 0x00,0x00,0x08,0x00,0x08,0x02,0x88,0x03,0xE8,0x01,0x78,0x00,0x18, // 55 + 0x00,0x00,0xB0,0x01,0xB8,0x03,0x48,0x02,0x48,0x02,0xB8,0x03,0xB0,0x01, // 56 + 0x00,0x00,0x70,0x02,0xF8,0x02,0x88,0x02,0x88,0x02,0xF8,0x01,0xF0, // 57 + 0x00,0x00,0x60,0x03,0x60,0x03, // 58 + 0x00,0x00,0x60,0x07,0x60,0x03, // 59 + 0x00,0x00,0xC0,0x00,0xC0,0x00,0xE0,0x01,0x20,0x01,0x20,0x01,0x10,0x02, // 60 + 0x00,0x00,0xA0,0x00,0xA0,0x00,0xA0,0x00,0xA0,0x00,0xA0,0x00,0xA0, // 61 + 0x00,0x00,0x10,0x02,0x20,0x01,0x20,0x01,0xE0,0x01,0xC0,0x00,0xC0, // 62 + 0x00,0x00,0x08,0x00,0x68,0x03,0x78,0x03,0x38, // 63 + 0x00,0x00,0xE0,0x03,0x30,0x06,0xD8,0x0D,0x28,0x0A,0x28,0x0A,0x28,0x0A,0xE8,0x07,0x10,0x02,0xE0,0x01, // 64 + 0x00,0x00,0x00,0x02,0xC0,0x03,0xF0,0x01,0xB8,0x00,0xB8,0x00,0xF0,0x01,0xC0,0x03,0x00,0x02, // 65 + 0x00,0x00,0xF8,0x03,0xF8,0x03,0x48,0x02,0x48,0x02,0xF8,0x03,0xB0,0x01, // 66 + 0x00,0x00,0xE0,0x00,0xF0,0x01,0x18,0x03,0x08,0x02,0x08,0x02,0x18,0x03, // 67 + 0x00,0x00,0xF8,0x03,0xF8,0x03,0x08,0x02,0x08,0x02,0x18,0x03,0xF0,0x01,0xE0, // 68 + 0x00,0x00,0xF8,0x03,0xF8,0x03,0x48,0x02,0x48,0x02,0x48,0x02, // 69 + 0x00,0x00,0xF8,0x03,0xF8,0x03,0x48,0x00,0x48,0x00,0x48, // 70 + 0x00,0x00,0xE0,0x00,0xF0,0x01,0x18,0x03,0x08,0x02,0x48,0x02,0xC8,0x03,0xD8,0x03, // 71 + 0x00,0x00,0xF8,0x03,0xF8,0x03,0x40,0x00,0x40,0x00,0x40,0x00,0xF8,0x03,0xF8,0x03, // 72 + 0x00,0x00,0xF8,0x03,0xF8,0x03, // 73 + 0x00,0x08,0xF8,0x0F,0xF8,0x07, // 74 + 0x00,0x00,0xF8,0x03,0xF8,0x03,0xE0,0x00,0xB0,0x01,0x18,0x03,0x08,0x02, // 75 + 0x00,0x00,0xF8,0x03,0xF8,0x03,0x00,0x02,0x00,0x02,0x00,0x02, // 76 + 0x00,0x00,0xF8,0x03,0xF8,0x03,0x30,0x00,0xC0,0x00,0xC0,0x00,0x30,0x00,0xF8,0x03,0xF8,0x03, // 77 + 0x00,0x00,0xF8,0x03,0xF8,0x03,0x18,0x00,0x60,0x00,0x80,0x01,0xF8,0x03,0xF8,0x03, // 78 + 0x00,0x00,0xF0,0x01,0xF8,0x03,0x08,0x02,0x08,0x02,0x08,0x02,0xF8,0x03,0xF0,0x01, // 79 + 0x00,0x00,0xF8,0x03,0xF8,0x03,0x88,0x00,0x88,0x00,0xF8,0x00,0x70, // 80 + 0x00,0x00,0xF0,0x01,0xF8,0x03,0x08,0x02,0x08,0x02,0x08,0x06,0xF8,0x07,0xF0,0x01, // 81 + 0x00,0x00,0xF8,0x03,0xF8,0x03,0x88,0x00,0x88,0x00,0xF8,0x01,0x70,0x03,0x00,0x02, // 82 + 0x00,0x00,0x30,0x03,0x78,0x02,0x48,0x02,0x48,0x02,0xC8,0x03,0x98,0x01, // 83 + 0x00,0x00,0x08,0x00,0x08,0x00,0xF8,0x03,0xF8,0x03,0x08,0x00,0x08, // 84 + 0x00,0x00,0xF8,0x01,0xF8,0x03,0x00,0x02,0x00,0x02,0x00,0x02,0xF8,0x03,0xF8,0x01, // 85 + 0x00,0x00,0x08,0x00,0x78,0x00,0xF0,0x01,0x80,0x03,0x80,0x03,0xF0,0x01,0x78,0x00,0x08, // 86 + 0x00,0x00,0x18,0x00,0xF8,0x00,0xC0,0x03,0xC0,0x03,0x78,0x00,0x78,0x00,0xC0,0x03,0xC0,0x03,0xF8,0x00,0x18, // 87 + 0x00,0x00,0x08,0x02,0x18,0x03,0xF0,0x01,0x40,0x00,0xF0,0x01,0x18,0x03,0x08,0x02, // 88 + 0x08,0x00,0x18,0x00,0x30,0x00,0xE0,0x03,0xE0,0x03,0x30,0x00,0x18, // 89 + 0x00,0x00,0x08,0x03,0x88,0x03,0xC8,0x02,0x68,0x02,0x38,0x02,0x18,0x02, // 90 + 0x00,0x00,0xFC,0x07,0xFC,0x07,0x04,0x04, // 91 + 0x08,0x00,0x70,0x00,0x80,0x03,0x00,0x04, // 92 + 0x00,0x00,0x04,0x04,0xFC,0x07,0xFC,0x07, // 93 + 0x00,0x00,0x20,0x00,0x30,0x00,0x18,0x00,0x18,0x00,0x30,0x00,0x20, // 94 + 0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08, // 95 + 0x00,0x00,0x04,0x00,0x08, // 96 + 0x00,0x00,0x20,0x03,0xA0,0x03,0xA0,0x02,0xA0,0x02,0xE0,0x03,0xC0,0x03, // 97 + 0x00,0x00,0xFC,0x03,0xFC,0x03,0x20,0x02,0x20,0x02,0xE0,0x03,0xC0,0x01, // 98 + 0x00,0x00,0xC0,0x01,0xE0,0x03,0x20,0x02,0x20,0x02,0x20,0x02, // 99 + 0x00,0x00,0xC0,0x01,0xE0,0x03,0x20,0x02,0x20,0x02,0xFC,0x03,0xFC,0x03, // 100 + 0x00,0x00,0xC0,0x01,0xE0,0x03,0xA0,0x02,0xA0,0x02,0xE0,0x02,0xC0,0x02, // 101 + 0x20,0x00,0xF8,0x03,0xFC,0x03,0x24, // 102 + 0x00,0x00,0xC0,0x01,0xE0,0x0B,0x20,0x0A,0x20,0x0A,0xE0,0x0F,0xE0,0x07, // 103 + 0x00,0x00,0xFC,0x03,0xFC,0x03,0x20,0x00,0x20,0x00,0xE0,0x03,0xC0,0x03, // 104 + 0x00,0x00,0xEC,0x03,0xEC,0x03, // 105 + 0x00,0x08,0xEC,0x0F,0xEC,0x07, // 106 + 0x00,0x00,0xFC,0x03,0xFC,0x03,0x80,0x00,0xC0,0x01,0x60,0x03,0x20,0x02, // 107 + 0x00,0x00,0xFC,0x03,0xFC,0x03, // 108 + 0x00,0x00,0xE0,0x03,0xE0,0x03,0x20,0x00,0x20,0x00,0xE0,0x03,0xE0,0x03,0x20,0x00,0x20,0x00,0xE0,0x03,0xC0,0x03, // 109 + 0x00,0x00,0xE0,0x03,0xE0,0x03,0x20,0x00,0x20,0x00,0xE0,0x03,0xC0,0x03, // 110 + 0x00,0x00,0xC0,0x01,0xE0,0x03,0x20,0x02,0x20,0x02,0xE0,0x03,0xC0,0x01, // 111 + 0x00,0x00,0xE0,0x0F,0xE0,0x0F,0x20,0x02,0x20,0x02,0xE0,0x03,0xC0,0x01, // 112 + 0x00,0x00,0xC0,0x01,0xE0,0x03,0x20,0x02,0x20,0x02,0xE0,0x0F,0xE0,0x0F, // 113 + 0x00,0x00,0xE0,0x03,0xE0,0x03,0x20,0x00,0x20, // 114 + 0x00,0x00,0xE0,0x02,0xE0,0x02,0xA0,0x02,0xA0,0x03,0xA0,0x01, // 115 + 0x20,0x00,0xF8,0x03,0xF8,0x03,0x20,0x02,0x20,0x02, // 116 + 0x00,0x00,0xE0,0x01,0xE0,0x03,0x00,0x02,0x00,0x02,0xE0,0x03,0xE0,0x03, // 117 + 0x00,0x00,0x60,0x00,0xE0,0x01,0x00,0x03,0x00,0x03,0xE0,0x01,0x60, // 118 + 0x00,0x00,0x60,0x00,0xE0,0x03,0x80,0x03,0xE0,0x00,0xE0,0x00,0x80,0x03,0xE0,0x03,0x60, // 119 + 0x00,0x00,0x20,0x02,0x60,0x03,0xC0,0x01,0xC0,0x01,0x60,0x03,0x20,0x02, // 120 + 0x00,0x00,0x20,0x00,0xE0,0x08,0x80,0x0F,0x80,0x03,0xE0,0x00,0x20, // 121 + 0x00,0x00,0x20,0x03,0xA0,0x03,0xE0,0x02,0x60,0x02, // 122 + 0x00,0x00,0x40,0x00,0x40,0x00,0xFC,0x07,0xBC,0x07,0x04,0x04, // 123 + 0x00,0x00,0xFC,0x0F, // 124 + 0x00,0x00,0x00,0x00,0x04,0x04,0xBC,0x07,0xFC,0x07,0x40,0x00,0x40, // 125 + 0x00,0x00,0x80,0x00,0x40,0x00,0x40,0x00,0x80,0x00,0x80,0x00,0x40, // 126 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 127 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 128 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 129 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 130 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 131 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 132 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 133 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 134 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 135 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 136 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 137 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 138 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 139 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 140 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 141 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 142 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 143 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 144 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 145 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 146 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 147 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 148 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 149 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 150 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 151 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 152 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 153 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 154 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 155 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 156 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 157 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 158 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 159 + 0x00,0x00,0x60,0x0F,0x60,0x0F, // 161 + 0x00,0x00,0xC0,0x01,0xE0,0x03,0x20,0x02,0xF0,0x0F,0x20,0x02, // 162 + 0x00,0x00,0x40,0x02,0xF0,0x03,0xF8,0x03,0x48,0x02,0x48,0x02,0x08,0x02, // 163 + 0x10,0x02,0xE0,0x01,0x20,0x01,0x20,0x01,0xF0,0x01,0x20, // 164 + 0x00,0x00,0xA8,0x00,0xB8,0x00,0xE0,0x03,0xE0,0x03,0xB8,0x00,0xA8, // 165 + 0x00,0x00,0x78,0x0F, // 166 + 0x00,0x00,0xD8,0x00,0xF8,0x05,0x28,0x05,0xE8,0x07, // 167 + 0x00,0x00,0x08,0x00,0x00,0x00,0x08, // 168 + 0x00,0x00,0xF0,0x00,0x08,0x01,0x64,0x02,0x94,0x02,0x94,0x02,0x94,0x02,0x08,0x01,0xF0, // 169 + 0x00,0x00,0x68,0x01,0x68,0x01,0x68,0x01,0x70,0x01, // 170 + 0x00,0x00,0xC0,0x01,0x60,0x03,0xC0,0x01,0x60,0x03, // 171 + 0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0xC0,0x01, // 172 + 0x00,0x00,0x40,0x00,0x40,0x00,0x40, // 173 + 0x00,0x00,0xF0,0x00,0x08,0x01,0xF4,0x02,0x34,0x02,0x74,0x02,0xF4,0x02,0x08,0x01,0xF0, // 174 + 0x00,0x00,0x08,0x00,0x08,0x00,0x08, // 175 + 0x00,0x00,0x38,0x00,0x28,0x00,0x38, // 176 + 0x00,0x00,0x20,0x02,0x20,0x02,0x20,0x02,0xF8,0x02,0x20,0x02,0x20,0x02,0x20,0x02, // 177 + 0x00,0x00,0x48,0x00,0x68,0x00,0x58, // 178 + 0x00,0x00,0x48,0x00,0x58,0x00,0x68, // 179 + 0x00,0x00,0x00,0x00,0x08,0x00,0x04, // 180 + 0x00,0x00,0xE0,0x0F,0xE0,0x0F,0x00,0x02,0x00,0x02,0xE0,0x03,0xE0,0x03,0x00,0x02, // 181 + 0x00,0x00,0x30,0x00,0x78,0x00,0xF8,0x07,0x08,0x00,0xF8,0x07, // 182 + 0x00,0x00,0xC0,0x00,0xC0, // 183 + 0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x0C, // 184 + 0x00,0x00,0x48,0x00,0x78,0x00,0x40, // 185 + 0x00,0x00,0x30,0x01,0x48,0x01,0x48,0x01,0x48,0x01,0x30,0x01, // 186 + 0x00,0x00,0x60,0x03,0xC0,0x01,0x60,0x03,0xC0,0x01, // 187 + 0x00,0x00,0x48,0x00,0x78,0x02,0x40,0x03,0xC0,0x00,0x60,0x00,0x18,0x01,0xC8,0x01,0xC0,0x03,0x00,0x01, // 188 + 0x00,0x00,0x48,0x00,0x78,0x02,0x40,0x03,0xC0,0x00,0x60,0x00,0x18,0x00,0x48,0x02,0x40,0x03,0xC0,0x02, // 189 + 0x00,0x00,0x48,0x00,0x58,0x02,0x68,0x03,0xC0,0x00,0x60,0x00,0x18,0x01,0xC8,0x01,0xC0,0x03,0x00,0x01, // 190 + 0x00,0x00,0x00,0x0E,0x60,0x0F,0x60,0x0B,0x00,0x08, // 191 + 0x00,0x00,0x00,0x02,0xC1,0x03,0xF2,0x01,0xB8,0x00,0xB8,0x00,0xF0,0x01,0xC0,0x03,0x00,0x02, // 192 + 0x00,0x00,0x00,0x02,0xC0,0x03,0xF2,0x01,0xB9,0x00,0xB8,0x00,0xF0,0x01,0xC0,0x03,0x00,0x02, // 193 + 0x00,0x00,0x00,0x02,0xC0,0x03,0xF2,0x01,0xB9,0x00,0xB9,0x00,0xF2,0x01,0xC0,0x03,0x00,0x02, // 194 + 0x00,0x00,0x00,0x02,0xC0,0x03,0xF2,0x01,0xB9,0x00,0xBA,0x00,0xF1,0x01,0xC0,0x03,0x00,0x02, // 195 + 0x00,0x00,0x00,0x02,0xC0,0x03,0xF2,0x01,0xB8,0x00,0xB8,0x00,0xF2,0x01,0xC0,0x03,0x00,0x02, // 196 + 0x00,0x00,0x00,0x02,0xC0,0x03,0xFE,0x01,0xBA,0x00,0xBA,0x00,0xFE,0x01,0xC0,0x03,0x00,0x02, // 197 + 0x00,0x00,0x00,0x02,0x80,0x03,0xE0,0x01,0xB8,0x00,0x88,0x00,0xF8,0x03,0xF8,0x03,0x48,0x02,0x48,0x02,0x48,0x02, // 198 + 0x00,0x00,0xE0,0x00,0xF0,0x01,0x18,0x03,0x08,0x0A,0x08,0x0E,0x18,0x03, // 199 + 0x00,0x00,0xF8,0x03,0xF9,0x03,0x4A,0x02,0x48,0x02,0x48,0x02, // 200 + 0x00,0x00,0xF8,0x03,0xF8,0x03,0x4A,0x02,0x49,0x02,0x48,0x02, // 201 + 0x00,0x00,0xF8,0x03,0xFA,0x03,0x49,0x02,0x49,0x02,0x4A,0x02, // 202 + 0x00,0x00,0xF8,0x03,0xFA,0x03,0x48,0x02,0x4A,0x02,0x48,0x02, // 203 + 0x01,0x00,0xFA,0x03,0xF8,0x03, // 204 + 0x00,0x00,0xFA,0x03,0xF9,0x03, // 205 + 0x02,0x00,0xF9,0x03,0xF9,0x03, // 206 + 0x02,0x00,0xF8,0x03,0xF8,0x03, // 207 + 0x40,0x00,0xF8,0x03,0xF8,0x03,0x48,0x02,0x08,0x02,0x18,0x03,0xF0,0x01,0xE0, // 208 + 0x00,0x00,0xF8,0x03,0xF8,0x03,0x1A,0x00,0x61,0x00,0x82,0x01,0xF9,0x03,0xF8,0x03, // 209 + 0x00,0x00,0xF0,0x01,0xF8,0x03,0x09,0x02,0x0A,0x02,0x08,0x02,0xF8,0x03,0xF0,0x01, // 210 + 0x00,0x00,0xF0,0x01,0xF8,0x03,0x08,0x02,0x0A,0x02,0x09,0x02,0xF8,0x03,0xF0,0x01, // 211 + 0x00,0x00,0xF0,0x01,0xF8,0x03,0x0A,0x02,0x09,0x02,0x09,0x02,0xFA,0x03,0xF0,0x01, // 212 + 0x00,0x00,0xF0,0x01,0xF8,0x03,0x0B,0x02,0x0B,0x02,0x09,0x02,0xF8,0x03,0xF0,0x01, // 213 + 0x00,0x00,0xF0,0x01,0xF8,0x03,0x0A,0x02,0x08,0x02,0x0A,0x02,0xF8,0x03,0xF0,0x01, // 214 + 0x00,0x00,0x10,0x02,0x20,0x01,0xC0,0x00,0xC0,0x00,0x20,0x01,0x10,0x02, // 215 + 0x00,0x00,0xF0,0x03,0xF8,0x03,0x88,0x02,0x48,0x02,0x28,0x02,0xF8,0x03,0xF8,0x01, // 216 + 0x00,0x00,0xF8,0x01,0xF9,0x03,0x02,0x02,0x00,0x02,0x00,0x02,0xF8,0x03,0xF8,0x01, // 217 + 0x00,0x00,0xF8,0x01,0xF8,0x03,0x02,0x02,0x01,0x02,0x00,0x02,0xF8,0x03,0xF8,0x01, // 218 + 0x00,0x00,0xF8,0x01,0xF8,0x03,0x03,0x02,0x01,0x02,0x03,0x02,0xF8,0x03,0xF8,0x01, // 219 + 0x00,0x00,0xF8,0x01,0xF8,0x03,0x02,0x02,0x00,0x02,0x02,0x02,0xF8,0x03,0xF8,0x01, // 220 + 0x08,0x00,0x18,0x00,0x30,0x00,0xE2,0x03,0xE1,0x03,0x30,0x00,0x18, // 221 + 0x00,0x00,0xF8,0x03,0xF8,0x03,0x10,0x01,0x10,0x01,0xF0,0x01,0xE0, // 222 + 0x00,0x00,0xF8,0x03,0xFC,0x03,0x04,0x00,0x74,0x02,0xFC,0x03,0x98,0x03, // 223 + 0x00,0x00,0x20,0x03,0xA4,0x03,0xA8,0x02,0xA0,0x02,0xE0,0x03,0xC0,0x03, // 224 + 0x00,0x00,0x20,0x03,0xA0,0x03,0xA8,0x02,0xA4,0x02,0xE0,0x03,0xC0,0x03, // 225 + 0x00,0x00,0x20,0x03,0xA8,0x03,0xA4,0x02,0xA4,0x02,0xE8,0x03,0xC0,0x03, // 226 + 0x00,0x00,0x20,0x03,0xA8,0x03,0xA4,0x02,0xA8,0x02,0xE4,0x03,0xC0,0x03, // 227 + 0x00,0x00,0x20,0x03,0xA8,0x03,0xA0,0x02,0xA8,0x02,0xE0,0x03,0xC0,0x03, // 228 + 0x00,0x00,0x20,0x03,0xAE,0x03,0xAA,0x02,0xAE,0x02,0xE0,0x03,0xC0,0x03, // 229 + 0x00,0x00,0xA0,0x03,0xA0,0x03,0xA0,0x02,0xE0,0x01,0xC0,0x03,0xA0,0x02,0xA0,0x02,0xE0,0x02,0xC0,0x02, // 230 + 0x00,0x00,0xC0,0x01,0xE0,0x03,0x20,0x0A,0x20,0x0E,0x20,0x02, // 231 + 0x00,0x00,0xC0,0x01,0xE4,0x03,0xA8,0x02,0xA0,0x02,0xE0,0x02,0xC0,0x02, // 232 + 0x00,0x00,0xC0,0x01,0xE0,0x03,0xA8,0x02,0xA4,0x02,0xE0,0x02,0xC0,0x02, // 233 + 0x00,0x00,0xC0,0x01,0xE8,0x03,0xA4,0x02,0xA4,0x02,0xE8,0x02,0xC0,0x02, // 234 + 0x00,0x00,0xC0,0x01,0xE8,0x03,0xA0,0x02,0xA8,0x02,0xE0,0x02,0xC0,0x02, // 235 + 0x04,0x00,0xE8,0x03,0xE0,0x03, // 236 + 0x00,0x00,0xE8,0x03,0xE4,0x03, // 237 + 0x08,0x00,0xE4,0x03,0xE4,0x03, // 238 + 0x08,0x00,0xE0,0x03,0xE0,0x03, // 239 + 0x00,0x00,0xC0,0x01,0xE0,0x03,0x2C,0x02,0x3C,0x02,0xF4,0x03,0xC0,0x01, // 240 + 0x00,0x00,0xE0,0x03,0xE8,0x03,0x24,0x00,0x28,0x00,0xE4,0x03,0xC0,0x03, // 241 + 0x00,0x00,0xC0,0x01,0xE4,0x03,0x28,0x02,0x20,0x02,0xE0,0x03,0xC0,0x01, // 242 + 0x00,0x00,0xC0,0x01,0xE0,0x03,0x28,0x02,0x24,0x02,0xE0,0x03,0xC0,0x01, // 243 + 0x00,0x00,0xC0,0x01,0xE8,0x03,0x24,0x02,0x24,0x02,0xE8,0x03,0xC0,0x01, // 244 + 0x00,0x00,0xC0,0x01,0xE8,0x03,0x24,0x02,0x28,0x02,0xE4,0x03,0xC0,0x01, // 245 + 0x00,0x00,0xC0,0x01,0xE8,0x03,0x20,0x02,0x20,0x02,0xE8,0x03,0xC0,0x01, // 246 + 0x00,0x00,0x40,0x00,0x40,0x00,0x58,0x03,0x58,0x03,0x40,0x00,0x40, // 247 + 0x00,0x00,0xC0,0x03,0xE0,0x03,0xA0,0x03,0x60,0x02,0xE0,0x03,0xE0,0x01, // 248 + 0x00,0x00,0xE0,0x01,0xE4,0x03,0x08,0x02,0x00,0x02,0xE0,0x03,0xE0,0x03, // 249 + 0x00,0x00,0xE0,0x01,0xE0,0x03,0x08,0x02,0x04,0x02,0xE0,0x03,0xE0,0x03, // 250 + 0x00,0x00,0xE0,0x01,0xE8,0x03,0x04,0x02,0x04,0x02,0xE8,0x03,0xE0,0x03, // 251 + 0x00,0x00,0xE0,0x01,0xE8,0x03,0x00,0x02,0x00,0x02,0xE8,0x03,0xE0,0x03, // 252 + 0x00,0x00,0x20,0x00,0xE0,0x08,0x88,0x0F,0x84,0x03,0xE0,0x00,0x20, // 253 + 0x00,0x00,0xFC,0x0F,0xFC,0x0F,0x20,0x02,0x20,0x02,0xE0,0x03,0xC0,0x01, // 254 + 0x00,0x00,0x20,0x00,0xE8,0x08,0x80,0x0F,0x88,0x03,0xE0,0x00,0x20 // 255 +}; diff --git a/src/fonts/Dialog_bold_10.h b/src/fonts/Dialog_bold_10.h new file mode 100644 index 0000000..2fd0a70 --- /dev/null +++ b/src/fonts/Dialog_bold_10.h @@ -0,0 +1,7 @@ +// Created by http://oleddisplay.squix.ch/ Consider a donation +#ifndef _DIALOG_BOLD_10_H_ +#define _DIALOG_BOLD_10_H_ +// In case of problems make sure that you are using the font file with the correct version! +#include +extern const uint8_t Dialog_bold_10[] PROGMEM; +#endif diff --git a/src/fonts/Dialog_bold_15.cpp b/src/fonts/Dialog_bold_15.cpp new file mode 100644 index 0000000..1554306 --- /dev/null +++ b/src/fonts/Dialog_bold_15.cpp @@ -0,0 +1,460 @@ +// Created by http://oleddisplay.squix.ch/ Consider a donation +// In case of problems make sure that you are using the font file with the correct version! +#include "Dialog_bold_15.h" + +const uint8_t Dialog_bold_15[] PROGMEM = { + 0x11, // Width: 17 + 0x12, // Height: 18 + 0x20, // First Char: 32 + 0xE0, // Numbers of Chars: 224 + + // Jump Table: + 0xFF, 0xFF, 0x00, 0x05, // 32:65535 + 0x00, 0x00, 0x0B, 0x07, // 33:0 + 0x00, 0x0B, 0x10, 0x08, // 34:11 + 0x00, 0x1B, 0x22, 0x0D, // 35:27 + 0x00, 0x3D, 0x1A, 0x0A, // 36:61 + 0x00, 0x57, 0x2C, 0x0F, // 37:87 + 0x00, 0x83, 0x23, 0x0D, // 38:131 + 0x00, 0xA6, 0x07, 0x05, // 39:166 + 0x00, 0xAD, 0x0E, 0x07, // 40:173 + 0x00, 0xBB, 0x0E, 0x07, // 41:187 + 0x00, 0xC9, 0x14, 0x08, // 42:201 + 0x00, 0xDD, 0x20, 0x0D, // 43:221 + 0x00, 0xFD, 0x08, 0x06, // 44:253 + 0x01, 0x05, 0x11, 0x06, // 45:261 + 0x01, 0x16, 0x08, 0x06, // 46:278 + 0x01, 0x1E, 0x0D, 0x05, // 47:286 + 0x01, 0x2B, 0x1A, 0x0A, // 48:299 + 0x01, 0x45, 0x17, 0x0A, // 49:325 + 0x01, 0x5C, 0x1A, 0x0A, // 50:348 + 0x01, 0x76, 0x1A, 0x0A, // 51:374 + 0x01, 0x90, 0x1D, 0x0A, // 52:400 + 0x01, 0xAD, 0x1A, 0x0A, // 53:429 + 0x01, 0xC7, 0x1A, 0x0A, // 54:455 + 0x01, 0xE1, 0x19, 0x0A, // 55:481 + 0x01, 0xFA, 0x1A, 0x0A, // 56:506 + 0x02, 0x14, 0x1A, 0x0A, // 57:532 + 0x02, 0x2E, 0x08, 0x06, // 58:558 + 0x02, 0x36, 0x08, 0x06, // 59:566 + 0x02, 0x3E, 0x20, 0x0D, // 60:574 + 0x02, 0x5E, 0x20, 0x0D, // 61:606 + 0x02, 0x7E, 0x20, 0x0D, // 62:638 + 0x02, 0x9E, 0x16, 0x09, // 63:670 + 0x02, 0xB4, 0x29, 0x0F, // 64:692 + 0x02, 0xDD, 0x20, 0x0B, // 65:733 + 0x02, 0xFD, 0x1D, 0x0B, // 66:765 + 0x03, 0x1A, 0x1D, 0x0B, // 67:794 + 0x03, 0x37, 0x20, 0x0C, // 68:823 + 0x03, 0x57, 0x1A, 0x0A, // 69:855 + 0x03, 0x71, 0x1A, 0x0A, // 70:881 + 0x03, 0x8B, 0x20, 0x0C, // 71:907 + 0x03, 0xAB, 0x20, 0x0C, // 72:939 + 0x03, 0xCB, 0x0B, 0x06, // 73:971 + 0x03, 0xD6, 0x0B, 0x06, // 74:982 + 0x03, 0xE1, 0x1D, 0x0B, // 75:993 + 0x03, 0xFE, 0x1A, 0x0A, // 76:1022 + 0x04, 0x18, 0x26, 0x0E, // 77:1048 + 0x04, 0x3E, 0x20, 0x0C, // 78:1086 + 0x04, 0x5E, 0x23, 0x0D, // 79:1118 + 0x04, 0x81, 0x1C, 0x0B, // 80:1153 + 0x04, 0x9D, 0x23, 0x0D, // 81:1181 + 0x04, 0xC0, 0x1D, 0x0B, // 82:1216 + 0x04, 0xDD, 0x1D, 0x0B, // 83:1245 + 0x04, 0xFA, 0x1C, 0x0A, // 84:1274 + 0x05, 0x16, 0x20, 0x0C, // 85:1302 + 0x05, 0x36, 0x1F, 0x0C, // 86:1334 + 0x05, 0x55, 0x2E, 0x11, // 87:1365 + 0x05, 0x83, 0x23, 0x0D, // 88:1411 + 0x05, 0xA6, 0x1F, 0x0C, // 89:1446 + 0x05, 0xC5, 0x20, 0x0C, // 90:1477 + 0x05, 0xE5, 0x0E, 0x07, // 91:1509 + 0x05, 0xF3, 0x0E, 0x05, // 92:1523 + 0x06, 0x01, 0x0E, 0x07, // 93:1537 + 0x06, 0x0F, 0x1F, 0x0D, // 94:1551 + 0x06, 0x2E, 0x18, 0x08, // 95:1582 + 0x06, 0x46, 0x0D, 0x08, // 96:1606 + 0x06, 0x53, 0x1A, 0x0A, // 97:1619 + 0x06, 0x6D, 0x1A, 0x0A, // 98:1645 + 0x06, 0x87, 0x17, 0x09, // 99:1671 + 0x06, 0x9E, 0x1A, 0x0A, // 100:1694 + 0x06, 0xB8, 0x1A, 0x0A, // 101:1720 + 0x06, 0xD2, 0x10, 0x07, // 102:1746 + 0x06, 0xE2, 0x1A, 0x0A, // 103:1762 + 0x06, 0xFC, 0x1A, 0x0A, // 104:1788 + 0x07, 0x16, 0x08, 0x04, // 105:1814 + 0x07, 0x1E, 0x08, 0x04, // 106:1822 + 0x07, 0x26, 0x1A, 0x0A, // 107:1830 + 0x07, 0x40, 0x08, 0x04, // 108:1856 + 0x07, 0x48, 0x29, 0x10, // 109:1864 + 0x07, 0x71, 0x1A, 0x0A, // 110:1905 + 0x07, 0x8B, 0x1A, 0x0A, // 111:1931 + 0x07, 0xA5, 0x1A, 0x0A, // 112:1957 + 0x07, 0xBF, 0x1B, 0x0A, // 113:1983 + 0x07, 0xDA, 0x13, 0x07, // 114:2010 + 0x07, 0xED, 0x17, 0x09, // 115:2029 + 0x08, 0x04, 0x11, 0x07, // 116:2052 + 0x08, 0x15, 0x1A, 0x0A, // 117:2069 + 0x08, 0x2F, 0x19, 0x09, // 118:2095 + 0x08, 0x48, 0x25, 0x0E, // 119:2120 + 0x08, 0x6D, 0x1D, 0x0B, // 120:2157 + 0x08, 0x8A, 0x19, 0x0A, // 121:2186 + 0x08, 0xA3, 0x17, 0x09, // 122:2211 + 0x08, 0xBA, 0x18, 0x0B, // 123:2234 + 0x08, 0xD2, 0x0C, 0x05, // 124:2258 + 0x08, 0xDE, 0x17, 0x0B, // 125:2270 + 0x08, 0xF5, 0x20, 0x0D, // 126:2293 + 0x09, 0x15, 0x1A, 0x09, // 127:2325 + 0x09, 0x2F, 0x1A, 0x09, // 128:2351 + 0x09, 0x49, 0x1A, 0x09, // 129:2377 + 0x09, 0x63, 0x1A, 0x09, // 130:2403 + 0x09, 0x7D, 0x1A, 0x09, // 131:2429 + 0x09, 0x97, 0x1A, 0x09, // 132:2455 + 0x09, 0xB1, 0x1A, 0x09, // 133:2481 + 0x09, 0xCB, 0x1A, 0x09, // 134:2507 + 0x09, 0xE5, 0x1A, 0x09, // 135:2533 + 0x09, 0xFF, 0x1A, 0x09, // 136:2559 + 0x0A, 0x19, 0x1A, 0x09, // 137:2585 + 0x0A, 0x33, 0x1A, 0x09, // 138:2611 + 0x0A, 0x4D, 0x1A, 0x09, // 139:2637 + 0x0A, 0x67, 0x1A, 0x09, // 140:2663 + 0x0A, 0x81, 0x1A, 0x09, // 141:2689 + 0x0A, 0x9B, 0x1A, 0x09, // 142:2715 + 0x0A, 0xB5, 0x1A, 0x09, // 143:2741 + 0x0A, 0xCF, 0x1A, 0x09, // 144:2767 + 0x0A, 0xE9, 0x1A, 0x09, // 145:2793 + 0x0B, 0x03, 0x1A, 0x09, // 146:2819 + 0x0B, 0x1D, 0x1A, 0x09, // 147:2845 + 0x0B, 0x37, 0x1A, 0x09, // 148:2871 + 0x0B, 0x51, 0x1A, 0x09, // 149:2897 + 0x0B, 0x6B, 0x1A, 0x09, // 150:2923 + 0x0B, 0x85, 0x1A, 0x09, // 151:2949 + 0x0B, 0x9F, 0x1A, 0x09, // 152:2975 + 0x0B, 0xB9, 0x1A, 0x09, // 153:3001 + 0x0B, 0xD3, 0x1A, 0x09, // 154:3027 + 0x0B, 0xED, 0x1A, 0x09, // 155:3053 + 0x0C, 0x07, 0x1A, 0x09, // 156:3079 + 0x0C, 0x21, 0x1A, 0x09, // 157:3105 + 0x0C, 0x3B, 0x1A, 0x09, // 158:3131 + 0x0C, 0x55, 0x1A, 0x09, // 159:3157 + 0xFF, 0xFF, 0x00, 0x05, // 160:65535 + 0x0C, 0x6F, 0x0C, 0x07, // 161:3183 + 0x0C, 0x7B, 0x14, 0x0A, // 162:3195 + 0x0C, 0x8F, 0x1A, 0x0A, // 163:3215 + 0x0C, 0xA9, 0x1A, 0x0A, // 164:3241 + 0x0C, 0xC3, 0x1C, 0x0A, // 165:3267 + 0x0C, 0xDF, 0x0C, 0x05, // 166:3295 + 0x0C, 0xEB, 0x17, 0x08, // 167:3307 + 0x0D, 0x02, 0x10, 0x08, // 168:3330 + 0x0D, 0x12, 0x26, 0x0F, // 169:3346 + 0x0D, 0x38, 0x14, 0x08, // 170:3384 + 0x0D, 0x4C, 0x1A, 0x0A, // 171:3404 + 0x0D, 0x66, 0x20, 0x0D, // 172:3430 + 0x0D, 0x86, 0x11, 0x06, // 173:3462 + 0x0D, 0x97, 0x26, 0x0F, // 174:3479 + 0x0D, 0xBD, 0x10, 0x08, // 175:3517 + 0x0D, 0xCD, 0x10, 0x08, // 176:3533 + 0x0D, 0xDD, 0x20, 0x0D, // 177:3549 + 0x0D, 0xFD, 0x11, 0x07, // 178:3581 + 0x0E, 0x0E, 0x10, 0x07, // 179:3598 + 0x0E, 0x1E, 0x13, 0x08, // 180:3614 + 0x0E, 0x31, 0x1D, 0x0B, // 181:3633 + 0x0E, 0x4E, 0x14, 0x0A, // 182:3662 + 0x0E, 0x62, 0x08, 0x06, // 183:3682 + 0x0E, 0x6A, 0x0F, 0x08, // 184:3690 + 0x0E, 0x79, 0x14, 0x07, // 185:3705 + 0x0E, 0x8D, 0x17, 0x08, // 186:3725 + 0x0E, 0xA4, 0x1A, 0x0A, // 187:3748 + 0x0E, 0xBE, 0x29, 0x10, // 188:3774 + 0x0E, 0xE7, 0x2C, 0x10, // 189:3815 + 0x0F, 0x13, 0x29, 0x10, // 190:3859 + 0x0F, 0x3C, 0x17, 0x09, // 191:3900 + 0x0F, 0x53, 0x20, 0x0B, // 192:3923 + 0x0F, 0x73, 0x20, 0x0B, // 193:3955 + 0x0F, 0x93, 0x20, 0x0B, // 194:3987 + 0x0F, 0xB3, 0x20, 0x0B, // 195:4019 + 0x0F, 0xD3, 0x20, 0x0B, // 196:4051 + 0x0F, 0xF3, 0x20, 0x0B, // 197:4083 + 0x10, 0x13, 0x2C, 0x10, // 198:4115 + 0x10, 0x3F, 0x1D, 0x0B, // 199:4159 + 0x10, 0x5C, 0x1A, 0x0A, // 200:4188 + 0x10, 0x76, 0x1A, 0x0A, // 201:4214 + 0x10, 0x90, 0x1A, 0x0A, // 202:4240 + 0x10, 0xAA, 0x1A, 0x0A, // 203:4266 + 0x10, 0xC4, 0x0B, 0x06, // 204:4292 + 0x10, 0xCF, 0x0B, 0x06, // 205:4303 + 0x10, 0xDA, 0x10, 0x06, // 206:4314 + 0x10, 0xEA, 0x10, 0x06, // 207:4330 + 0x10, 0xFA, 0x20, 0x0C, // 208:4346 + 0x11, 0x1A, 0x20, 0x0C, // 209:4378 + 0x11, 0x3A, 0x23, 0x0D, // 210:4410 + 0x11, 0x5D, 0x23, 0x0D, // 211:4445 + 0x11, 0x80, 0x23, 0x0D, // 212:4480 + 0x11, 0xA3, 0x23, 0x0D, // 213:4515 + 0x11, 0xC6, 0x23, 0x0D, // 214:4550 + 0x11, 0xE9, 0x20, 0x0D, // 215:4585 + 0x12, 0x09, 0x23, 0x0D, // 216:4617 + 0x12, 0x2C, 0x20, 0x0C, // 217:4652 + 0x12, 0x4C, 0x20, 0x0C, // 218:4684 + 0x12, 0x6C, 0x20, 0x0C, // 219:4716 + 0x12, 0x8C, 0x20, 0x0C, // 220:4748 + 0x12, 0xAC, 0x1F, 0x0C, // 221:4780 + 0x12, 0xCB, 0x1D, 0x0B, // 222:4811 + 0x12, 0xE8, 0x1D, 0x0B, // 223:4840 + 0x13, 0x05, 0x1A, 0x0A, // 224:4869 + 0x13, 0x1F, 0x1A, 0x0A, // 225:4895 + 0x13, 0x39, 0x1A, 0x0A, // 226:4921 + 0x13, 0x53, 0x1A, 0x0A, // 227:4947 + 0x13, 0x6D, 0x1A, 0x0A, // 228:4973 + 0x13, 0x87, 0x1A, 0x0A, // 229:4999 + 0x13, 0xA1, 0x2F, 0x11, // 230:5025 + 0x13, 0xD0, 0x17, 0x09, // 231:5072 + 0x13, 0xE7, 0x1A, 0x0A, // 232:5095 + 0x14, 0x01, 0x1A, 0x0A, // 233:5121 + 0x14, 0x1B, 0x1A, 0x0A, // 234:5147 + 0x14, 0x35, 0x1A, 0x0A, // 235:5173 + 0x14, 0x4F, 0x0A, 0x04, // 236:5199 + 0x14, 0x59, 0x0A, 0x04, // 237:5209 + 0x14, 0x63, 0x0A, 0x04, // 238:5219 + 0x14, 0x6D, 0x0A, 0x04, // 239:5229 + 0x14, 0x77, 0x1A, 0x0A, // 240:5239 + 0x14, 0x91, 0x1A, 0x0A, // 241:5265 + 0x14, 0xAB, 0x1A, 0x0A, // 242:5291 + 0x14, 0xC5, 0x1A, 0x0A, // 243:5317 + 0x14, 0xDF, 0x1A, 0x0A, // 244:5343 + 0x14, 0xF9, 0x1A, 0x0A, // 245:5369 + 0x15, 0x13, 0x1A, 0x0A, // 246:5395 + 0x15, 0x2D, 0x20, 0x0D, // 247:5421 + 0x15, 0x4D, 0x1A, 0x0A, // 248:5453 + 0x15, 0x67, 0x1A, 0x0A, // 249:5479 + 0x15, 0x81, 0x1A, 0x0A, // 250:5505 + 0x15, 0x9B, 0x1A, 0x0A, // 251:5531 + 0x15, 0xB5, 0x1A, 0x0A, // 252:5557 + 0x15, 0xCF, 0x19, 0x0A, // 253:5583 + 0x15, 0xE8, 0x1A, 0x0A, // 254:5608 + 0x16, 0x02, 0x19, 0x0A, // 255:5634 + + // Font Data: + 0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x3B,0x00,0xF8,0x3B, // 33 + 0x00,0x00,0x00,0x78,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x78, // 34 + 0x00,0x00,0x00,0x00,0x04,0x00,0x80,0x04,0x00,0x80,0x3C,0x00,0x80,0x0F,0x00,0xF8,0x05,0x00,0x98,0x34,0x00,0x80,0x3E,0x00,0xE0,0x07,0x00,0xF8,0x04,0x00,0x88,0x04,0x00,0x80, // 35 + 0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x11,0x00,0xF0,0x23,0x00,0x90,0x23,0x00,0xFC,0xFF,0x00,0x10,0x27,0x00,0x20,0x3F,0x00,0x00,0x1E, // 36 + 0x00,0x00,0x00,0xF0,0x00,0x00,0xF8,0x01,0x00,0x08,0x21,0x00,0x08,0x31,0x00,0xF8,0x3D,0x00,0xF0,0x0E,0x00,0x00,0x07,0x00,0xC0,0x03,0x00,0xE0,0x1E,0x00,0x78,0x3F,0x00,0x18,0x21,0x00,0x08,0x21,0x00,0x00,0x3F,0x00,0x00,0x1E, // 37 + 0x00,0x00,0x00,0x00,0x0F,0x00,0x80,0x1F,0x00,0xF0,0x31,0x00,0xF8,0x20,0x00,0x88,0x21,0x00,0x08,0x23,0x00,0x08,0x36,0x00,0x10,0x1C,0x00,0x00,0x1C,0x00,0x80,0x37,0x00,0x80,0x21, // 38 + 0x00,0x00,0x00,0x78,0x00,0x00,0x78, // 39 + 0x00,0x00,0x00,0xC0,0x1F,0x00,0xF0,0x7F,0x00,0x38,0xE0,0x00,0x08,0x80, // 40 + 0x00,0x00,0x00,0x08,0x80,0x00,0x38,0xE0,0x00,0xF0,0x7F,0x00,0xC0,0x1F, // 41 + 0x10,0x01,0x00,0xA0,0x00,0x00,0xE0,0x00,0x00,0xF8,0x03,0x00,0xE0,0x00,0x00,0xA0,0x00,0x00,0x10,0x01, // 42 + 0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0xF0,0x3F,0x00,0xF0,0x3F,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x03, // 43 + 0x00,0x80,0x00,0x00,0xF8,0x00,0x00,0x78, // 44 + 0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x03, // 45 + 0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x38, // 46 + 0x00,0x60,0x00,0x00,0x7C,0x00,0xC0,0x0F,0x00,0xF8,0x00,0x00,0x18, // 47 + 0x00,0x00,0x00,0xE0,0x0F,0x00,0xF0,0x1F,0x00,0x18,0x30,0x00,0x08,0x20,0x00,0x08,0x20,0x00,0x18,0x30,0x00,0xF0,0x1F,0x00,0xE0,0x0F, // 48 + 0x00,0x00,0x00,0x10,0x00,0x00,0x18,0x20,0x00,0x08,0x20,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x00,0x20,0x00,0x00,0x20, // 49 + 0x00,0x00,0x00,0x10,0x20,0x00,0x08,0x30,0x00,0x08,0x38,0x00,0x08,0x2C,0x00,0x08,0x26,0x00,0x98,0x23,0x00,0xF0,0x21,0x00,0xE0,0x20, // 50 + 0x00,0x00,0x00,0x10,0x10,0x00,0x08,0x20,0x00,0x08,0x21,0x00,0x08,0x21,0x00,0x08,0x21,0x00,0x98,0x33,0x00,0xF0,0x1F,0x00,0xF0,0x1E, // 51 + 0x00,0x00,0x00,0x00,0x07,0x00,0x80,0x05,0x00,0x40,0x04,0x00,0x30,0x04,0x00,0x18,0x04,0x00,0x08,0x04,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x00,0x04, // 52 + 0x00,0x00,0x00,0xF8,0x11,0x00,0xF8,0x20,0x00,0x88,0x20,0x00,0x88,0x20,0x00,0x88,0x20,0x00,0x88,0x31,0x00,0x08,0x1F,0x00,0x00,0x0E, // 53 + 0x00,0x00,0x00,0xC0,0x0F,0x00,0xF0,0x1F,0x00,0x98,0x31,0x00,0x88,0x20,0x00,0x88,0x20,0x00,0x88,0x31,0x00,0x10,0x1F,0x00,0x00,0x0E, // 54 + 0x00,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x30,0x00,0x08,0x3C,0x00,0x08,0x1F,0x00,0xE8,0x03,0x00,0xF8,0x00,0x00,0x38, // 55 + 0x00,0x00,0x00,0xF0,0x1E,0x00,0xF8,0x3E,0x00,0x98,0x33,0x00,0x08,0x21,0x00,0x08,0x21,0x00,0x98,0x33,0x00,0xF8,0x3E,0x00,0xF0,0x1E, // 56 + 0x00,0x00,0x00,0xE0,0x00,0x00,0xF0,0x11,0x00,0x18,0x23,0x00,0x08,0x22,0x00,0x08,0x22,0x00,0x18,0x33,0x00,0xF0,0x1F,0x00,0xE0,0x07, // 57 + 0x00,0x00,0x00,0xC0,0x39,0x00,0xC0,0x39, // 58 + 0x00,0x80,0x00,0xC0,0xF9,0x00,0xC0,0x79, // 59 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x05,0x00,0x80,0x0D,0x00,0x80,0x0D,0x00,0xC0,0x18,0x00,0xC0,0x18,0x00,0xC0,0x18,0x00,0x60,0x30, // 60 + 0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x0C,0x00,0xC0,0x0C,0x00,0xC0,0x0C,0x00,0xC0,0x0C,0x00,0xC0,0x0C,0x00,0xC0,0x0C,0x00,0xC0,0x0C,0x00,0xC0,0x0C,0x00,0xC0,0x0C, // 61 + 0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x30,0x00,0xC0,0x18,0x00,0xC0,0x18,0x00,0xC0,0x18,0x00,0x80,0x0D,0x00,0x80,0x0D,0x00,0x00,0x05,0x00,0x00,0x07,0x00,0x00,0x07, // 62 + 0x00,0x00,0x00,0x10,0x00,0x00,0x08,0x00,0x00,0x08,0x3B,0x00,0x88,0x3B,0x00,0xC8,0x01,0x00,0xF8,0x00,0x00,0x70, // 63 + 0x00,0x00,0x00,0x80,0x0F,0x00,0x60,0x30,0x00,0x30,0x60,0x00,0x90,0x4F,0x00,0xC8,0x9F,0x00,0xC8,0x98,0x00,0x48,0x90,0x00,0xC8,0x98,0x00,0xC8,0x9F,0x00,0xD0,0xDF,0x00,0x10,0x50,0x00,0x60,0x08,0x00,0xC0,0x07, // 64 + 0x00,0x20,0x00,0x00,0x3C,0x00,0x80,0x1F,0x00,0xE0,0x07,0x00,0x78,0x04,0x00,0x18,0x04,0x00,0x78,0x04,0x00,0xE0,0x07,0x00,0x80,0x1F,0x00,0x00,0x3C,0x00,0x00,0x20, // 65 + 0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x08,0x21,0x00,0x08,0x21,0x00,0x08,0x21,0x00,0x08,0x21,0x00,0x98,0x33,0x00,0xF0,0x3F,0x00,0xF0,0x1E, // 66 + 0x00,0x00,0x00,0xC0,0x07,0x00,0xE0,0x0F,0x00,0x30,0x18,0x00,0x18,0x30,0x00,0x08,0x20,0x00,0x08,0x20,0x00,0x08,0x20,0x00,0x08,0x20,0x00,0x18,0x30, // 67 + 0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x08,0x20,0x00,0x08,0x20,0x00,0x08,0x20,0x00,0x08,0x20,0x00,0x18,0x30,0x00,0x30,0x18,0x00,0xE0,0x0F,0x00,0xC0,0x07, // 68 + 0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x08,0x21,0x00,0x08,0x21,0x00,0x08,0x21,0x00,0x08,0x21,0x00,0x08,0x21,0x00,0x08,0x21, // 69 + 0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x08,0x01,0x00,0x08,0x01,0x00,0x08,0x01,0x00,0x08,0x01,0x00,0x08,0x01,0x00,0x08,0x01, // 70 + 0x00,0x00,0x00,0xC0,0x07,0x00,0xF0,0x0F,0x00,0x30,0x18,0x00,0x18,0x30,0x00,0x08,0x20,0x00,0x08,0x20,0x00,0x08,0x21,0x00,0x08,0x21,0x00,0x18,0x3F,0x00,0x00,0x3F, // 71 + 0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0xF8,0x3F,0x00,0xF8,0x3F, // 72 + 0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F, // 73 + 0x00,0x00,0x01,0x00,0x00,0x01,0xF8,0xFF,0x01,0xF8,0xFF, // 74 + 0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x00,0x01,0x00,0x80,0x03,0x00,0xC0,0x06,0x00,0x60,0x0C,0x00,0x30,0x18,0x00,0x18,0x30,0x00,0x08,0x20, // 75 + 0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x20, // 76 + 0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x38,0x00,0x00,0xF0,0x00,0x00,0xC0,0x03,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0xC0,0x03,0x00,0xF0,0x00,0x00,0x38,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F, // 77 + 0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x38,0x00,0x00,0xE0,0x00,0x00,0xC0,0x01,0x00,0x00,0x07,0x00,0x00,0x0E,0x00,0x00,0x38,0x00,0xF8,0x3F,0x00,0xF8,0x3F, // 78 + 0x00,0x00,0x00,0xC0,0x07,0x00,0xF0,0x1F,0x00,0x30,0x18,0x00,0x18,0x30,0x00,0x08,0x20,0x00,0x08,0x20,0x00,0x08,0x20,0x00,0x18,0x30,0x00,0x30,0x18,0x00,0xF0,0x1F,0x00,0xC0,0x07, // 79 + 0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x08,0x02,0x00,0x08,0x02,0x00,0x08,0x02,0x00,0x08,0x02,0x00,0x18,0x03,0x00,0xF0,0x01,0x00,0xE0, // 80 + 0x00,0x00,0x00,0xC0,0x07,0x00,0xF0,0x1F,0x00,0x30,0x18,0x00,0x18,0x30,0x00,0x08,0x20,0x00,0x08,0x20,0x00,0x08,0x60,0x00,0x18,0xF0,0x00,0x30,0xD8,0x00,0xF0,0x9F,0x00,0xC0,0x07, // 81 + 0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x08,0x02,0x00,0x08,0x02,0x00,0x08,0x02,0x00,0x18,0x07,0x00,0xF8,0x1F,0x00,0xF0,0x39,0x00,0x00,0x20, // 82 + 0x00,0x00,0x00,0xE0,0x30,0x00,0xF0,0x20,0x00,0xC8,0x21,0x00,0x88,0x21,0x00,0x88,0x21,0x00,0x88,0x21,0x00,0x88,0x23,0x00,0x18,0x1F,0x00,0x00,0x0E, // 83 + 0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08, // 84 + 0x00,0x00,0x00,0xF8,0x0F,0x00,0xF8,0x1F,0x00,0x00,0x30,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x30,0x00,0xF8,0x1F,0x00,0xF8,0x0F, // 85 + 0x08,0x00,0x00,0x78,0x00,0x00,0xF0,0x03,0x00,0x80,0x1F,0x00,0x00,0x3C,0x00,0x00,0x20,0x00,0x00,0x3C,0x00,0x80,0x1F,0x00,0xF0,0x03,0x00,0x78,0x00,0x00,0x08, // 86 + 0x00,0x00,0x00,0x18,0x00,0x00,0xF8,0x01,0x00,0xE0,0x0F,0x00,0x00,0x3E,0x00,0x00,0x30,0x00,0x80,0x3F,0x00,0xF8,0x07,0x00,0x78,0x00,0x00,0xF8,0x07,0x00,0x80,0x3F,0x00,0x00,0x30,0x00,0x00,0x3E,0x00,0xE0,0x0F,0x00,0xF8,0x01,0x00,0x18, // 87 + 0x00,0x00,0x00,0x08,0x20,0x00,0x18,0x30,0x00,0x38,0x38,0x00,0xE0,0x0E,0x00,0xC0,0x07,0x00,0x80,0x01,0x00,0xC0,0x07,0x00,0xE0,0x0E,0x00,0x38,0x38,0x00,0x18,0x30,0x00,0x08,0x20, // 88 + 0x00,0x00,0x00,0x08,0x00,0x00,0x18,0x00,0x00,0x78,0x00,0x00,0xE0,0x01,0x00,0x80,0x3F,0x00,0x80,0x3F,0x00,0xE0,0x01,0x00,0x78,0x00,0x00,0x18,0x00,0x00,0x08, // 89 + 0x00,0x00,0x00,0x08,0x30,0x00,0x08,0x38,0x00,0x08,0x2C,0x00,0x08,0x26,0x00,0x08,0x23,0x00,0x88,0x21,0x00,0xC8,0x20,0x00,0x68,0x20,0x00,0x38,0x20,0x00,0x18,0x20, // 90 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80, // 91 + 0x18,0x00,0x00,0xF8,0x00,0x00,0xC0,0x0F,0x00,0x00,0x7C,0x00,0x00,0x60, // 92 + 0x00,0x00,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF,0x00,0xF8,0xFF, // 93 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x18,0x00,0x00,0x18,0x00,0x00,0x30,0x00,0x00,0x60,0x00,0x00,0x40, // 94 + 0x00,0x00,0x02,0x00,0x00,0x02,0x00,0x00,0x02,0x00,0x00,0x02,0x00,0x00,0x02,0x00,0x00,0x02,0x00,0x00,0x02,0x00,0x00,0x02, // 95 + 0x00,0x00,0x00,0x04,0x00,0x00,0x0C,0x00,0x00,0x18,0x00,0x00,0x10, // 96 + 0x00,0x00,0x00,0x00,0x1C,0x00,0x80,0x3E,0x00,0x40,0x22,0x00,0x40,0x22,0x00,0x40,0x22,0x00,0x40,0x12,0x00,0xC0,0x3F,0x00,0x80,0x3F, // 97 + 0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x80,0x10,0x00,0x40,0x20,0x00,0x40,0x20,0x00,0xC0,0x30,0x00,0x80,0x1F,0x00,0x00,0x0F, // 98 + 0x00,0x00,0x00,0x00,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x30,0x00,0x40,0x20,0x00,0x40,0x20,0x00,0x40,0x20,0x00,0x80,0x10, // 99 + 0x00,0x00,0x00,0x00,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x30,0x00,0x40,0x20,0x00,0x40,0x20,0x00,0x80,0x10,0x00,0xF8,0x3F,0x00,0xF8,0x3F, // 100 + 0x00,0x00,0x00,0x00,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x32,0x00,0x40,0x22,0x00,0x40,0x22,0x00,0xC0,0x22,0x00,0x80,0x23,0x00,0x00,0x13, // 101 + 0x00,0x00,0x00,0x40,0x00,0x00,0xF0,0x3F,0x00,0xF8,0x3F,0x00,0x48,0x00,0x00,0x48, // 102 + 0x00,0x00,0x00,0x00,0x0F,0x00,0x80,0x9F,0x00,0xC0,0x30,0x01,0x40,0x20,0x01,0x40,0x20,0x01,0x80,0x90,0x01,0xC0,0xFF,0x00,0xC0,0x7F, // 103 + 0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x80,0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x00,0xC0,0x3F,0x00,0x80,0x3F, // 104 + 0x00,0x00,0x00,0xD8,0x3F,0x00,0xD8,0x3F, // 105 + 0x00,0x00,0x01,0xD8,0xFF,0x01,0xD8,0xFF, // 106 + 0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x00,0x04,0x00,0x00,0x0E,0x00,0x00,0x1F,0x00,0x80,0x39,0x00,0xC0,0x30,0x00,0x40,0x20, // 107 + 0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F, // 108 + 0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x3F,0x00,0xC0,0x3F,0x00,0x80,0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x00,0xC0,0x3F,0x00,0x80,0x3F,0x00,0xC0,0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x00,0xC0,0x3F,0x00,0x80,0x3F, // 109 + 0x00,0x00,0x00,0xC0,0x3F,0x00,0xC0,0x3F,0x00,0x80,0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x00,0xC0,0x3F,0x00,0x80,0x3F, // 110 + 0x00,0x00,0x00,0x00,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x30,0x00,0x40,0x20,0x00,0x40,0x20,0x00,0xC0,0x30,0x00,0x80,0x1F,0x00,0x00,0x0F, // 111 + 0x00,0x00,0x00,0xC0,0xFF,0x01,0xC0,0xFF,0x01,0x80,0x10,0x00,0x40,0x20,0x00,0x40,0x20,0x00,0xC0,0x30,0x00,0x80,0x1F,0x00,0x00,0x0F, // 112 + 0x00,0x00,0x00,0x00,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x30,0x00,0x40,0x20,0x00,0x40,0x20,0x00,0x80,0x10,0x00,0xC0,0xFF,0x01,0xC0,0xFF,0x01, // 113 + 0x00,0x00,0x00,0xC0,0x3F,0x00,0xC0,0x3F,0x00,0x80,0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x00,0x40, // 114 + 0x00,0x00,0x00,0x80,0x13,0x00,0xC0,0x27,0x00,0x40,0x26,0x00,0x40,0x26,0x00,0x40,0x26,0x00,0x40,0x3E,0x00,0x80,0x1C, // 115 + 0x00,0x00,0x00,0x40,0x00,0x00,0xF8,0x1F,0x00,0xF8,0x3F,0x00,0x40,0x20,0x00,0x40,0x20, // 116 + 0x00,0x00,0x00,0xC0,0x1F,0x00,0xC0,0x3F,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x10,0x00,0xC0,0x3F,0x00,0xC0,0x3F, // 117 + 0x40,0x00,0x00,0xC0,0x03,0x00,0x80,0x0F,0x00,0x00,0x3C,0x00,0x00,0x30,0x00,0x00,0x3C,0x00,0x80,0x0F,0x00,0xC0,0x03,0x00,0x40, // 118 + 0x00,0x00,0x00,0xC0,0x00,0x00,0xC0,0x07,0x00,0x00,0x3F,0x00,0x00,0x30,0x00,0x00,0x3E,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x3E,0x00,0x00,0x30,0x00,0x00,0x3F,0x00,0xC0,0x07,0x00,0xC0, // 119 + 0x00,0x00,0x00,0x40,0x20,0x00,0xC0,0x30,0x00,0xC0,0x39,0x00,0x00,0x0F,0x00,0x00,0x06,0x00,0x00,0x0F,0x00,0xC0,0x39,0x00,0xC0,0x30,0x00,0x40,0x20, // 120 + 0x40,0x00,0x00,0xC0,0x03,0x01,0x80,0x0F,0x01,0x00,0xBC,0x01,0x00,0xF0,0x00,0x00,0x7C,0x00,0x80,0x1F,0x00,0xC0,0x03,0x00,0x40, // 121 + 0x00,0x00,0x00,0x40,0x30,0x00,0x40,0x38,0x00,0x40,0x2C,0x00,0x40,0x26,0x00,0x40,0x23,0x00,0xC0,0x21,0x00,0xC0,0x20, // 122 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x02,0x00,0xF0,0xFF,0x00,0xF8,0xFD,0x01,0x08,0x00,0x01,0x08,0x00,0x01, // 123 + 0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x03,0xF8,0xFF,0x03, // 124 + 0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x01,0x08,0x00,0x01,0xF8,0xFD,0x01,0xF0,0xFF,0x00,0x00,0x02,0x00,0x00,0x02, // 125 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x07,0x00,0x00,0x06,0x00,0x00,0x06,0x00,0x00,0x06,0x00,0x00,0x03, // 126 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 127 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 128 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 129 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 130 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 131 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 132 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 133 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 134 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 135 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 136 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 137 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 138 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 139 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 140 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 141 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 142 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 143 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 144 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 145 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 146 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 147 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 148 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 149 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 150 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 151 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 152 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 153 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 154 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 155 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 156 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 157 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 158 + 0x00,0x00,0x00,0xF8,0xFF,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0x08,0x80,0x00,0xF8,0xFF, // 159 + 0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFD,0x01,0xC0,0xFD,0x01, // 161 + 0x00,0x00,0x00,0x00,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x30,0x00,0xF0,0xFF,0x00,0x40,0x20,0x00,0x80,0x10, // 162 + 0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x21,0x00,0xF0,0x3F,0x00,0xF8,0x3F,0x00,0x18,0x21,0x00,0x08,0x21,0x00,0x08,0x21,0x00,0x10,0x20, // 163 + 0x00,0x00,0x00,0x40,0x08,0x00,0xE0,0x1F,0x00,0xC0,0x0F,0x00,0xC0,0x0C,0x00,0xC0,0x0C,0x00,0xC0,0x0F,0x00,0xE0,0x1F,0x00,0x40,0x08, // 164 + 0x08,0x00,0x00,0x98,0x02,0x00,0xB8,0x02,0x00,0xF0,0x02,0x00,0xC0,0x3F,0x00,0xC0,0x3F,0x00,0xF0,0x02,0x00,0xB8,0x02,0x00,0x98,0x02,0x00,0x08, // 165 + 0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFB,0x01,0xF0,0xFB,0x01, // 166 + 0x00,0x00,0x00,0x00,0x03,0x00,0xF0,0x67,0x00,0xF8,0x4C,0x00,0xC8,0x4C,0x00,0xC8,0x7C,0x00,0x98,0x3F,0x00,0x00,0x03, // 167 + 0x00,0x00,0x00,0x18,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x18, // 168 + 0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0x20,0x08,0x00,0x90,0x13,0x00,0xC8,0x27,0x00,0x68,0x2C,0x00,0x28,0x28,0x00,0x28,0x28,0x00,0x68,0x28,0x00,0x10,0x10,0x00,0x20,0x08,0x00,0xC0,0x07, // 169 + 0x00,0x00,0x00,0xC8,0x04,0x00,0xE8,0x05,0x00,0x28,0x05,0x00,0x28,0x05,0x00,0xF8,0x05,0x00,0xF0,0x05, // 170 + 0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x80,0x0D,0x00,0xC0,0x18,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x80,0x0D,0x00,0xC0,0x18, // 171 + 0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x00,0x80,0x01,0x00,0x80,0x01,0x00,0x80,0x01,0x00,0x80,0x01,0x00,0x80,0x01,0x00,0x80,0x01,0x00,0x80,0x0F,0x00,0x80,0x0F, // 172 + 0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x03, // 173 + 0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0x20,0x08,0x00,0x10,0x10,0x00,0xE8,0x2F,0x00,0xE8,0x2F,0x00,0x28,0x23,0x00,0xE8,0x2F,0x00,0xC8,0x2C,0x00,0x10,0x10,0x00,0x20,0x08,0x00,0xC0,0x07, // 174 + 0x00,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08, // 175 + 0x00,0x00,0x00,0x70,0x00,0x00,0x88,0x00,0x00,0x88,0x00,0x00,0x88,0x00,0x00,0x70, // 176 + 0x00,0x00,0x00,0x80,0x31,0x00,0x80,0x31,0x00,0x80,0x31,0x00,0x80,0x31,0x00,0xF0,0x3F,0x00,0xF0,0x3F,0x00,0x80,0x31,0x00,0x80,0x31,0x00,0x80,0x31,0x00,0x80,0x31, // 177 + 0x00,0x00,0x00,0x18,0x01,0x00,0x88,0x01,0x00,0xC8,0x01,0x00,0x78,0x01,0x00,0x30,0x01, // 178 + 0x00,0x00,0x00,0x88,0x01,0x00,0x28,0x01,0x00,0x28,0x01,0x00,0xF8,0x01,0x00,0xD8, // 179 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x18,0x00,0x00,0x0C,0x00,0x00,0x04, // 180 + 0x00,0x00,0x00,0xC0,0xFF,0x01,0xC0,0xFF,0x01,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0xC0,0x3F,0x00,0xC0,0x3F,0x00,0x00,0x20, // 181 + 0x00,0x00,0x00,0xF0,0x00,0x00,0xF8,0x01,0x00,0xF8,0x01,0x00,0xF8,0x7F,0x00,0x08,0x00,0x00,0xF8,0x7F, // 182 + 0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03, // 183 + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0xC0,0x01, // 184 + 0x00,0x00,0x00,0x08,0x01,0x00,0x08,0x01,0x00,0xF8,0x01,0x00,0xF8,0x01,0x00,0x00,0x01,0x00,0x00,0x01, // 185 + 0x00,0x00,0x00,0xF0,0x04,0x00,0xF8,0x05,0x00,0x08,0x05,0x00,0x08,0x05,0x00,0x08,0x05,0x00,0xF8,0x05,0x00,0xF0,0x04, // 186 + 0x00,0x00,0x00,0xC0,0x18,0x00,0x80,0x0D,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0xC0,0x18,0x00,0x80,0x0D,0x00,0x00,0x07,0x00,0x00,0x07, // 187 + 0x00,0x00,0x00,0x08,0x01,0x00,0x08,0x01,0x00,0xF8,0x01,0x00,0xF8,0x21,0x00,0x00,0x39,0x00,0x00,0x3F,0x00,0x80,0x0F,0x00,0xE0,0x13,0x00,0xF8,0x1C,0x00,0x38,0x12,0x00,0x08,0x3F,0x00,0x00,0x3F,0x00,0x00,0x10, // 188 + 0x00,0x00,0x00,0x08,0x01,0x00,0x08,0x01,0x00,0xF8,0x01,0x00,0xF8,0x21,0x00,0x00,0x39,0x00,0x00,0x3F,0x00,0x80,0x0F,0x00,0xE0,0x03,0x00,0xF8,0x00,0x00,0x38,0x23,0x00,0x08,0x31,0x00,0x00,0x39,0x00,0x00,0x2F,0x00,0x00,0x26, // 189 + 0x00,0x00,0x00,0x88,0x01,0x00,0x28,0x01,0x00,0x28,0x01,0x00,0xF8,0x21,0x00,0xD8,0x38,0x00,0x00,0x3E,0x00,0x80,0x0F,0x00,0xE0,0x13,0x00,0xF8,0x1C,0x00,0x38,0x12,0x00,0x08,0x3F,0x00,0x00,0x3F,0x00,0x00,0x10, // 190 + 0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0xF0,0x01,0x00,0x38,0x01,0xC0,0x1D,0x01,0xC0,0x0D,0x01,0x00,0x00,0x01,0x00,0x80, // 191 + 0x00,0x20,0x00,0x00,0x3C,0x00,0x80,0x1F,0x00,0xE0,0x07,0x00,0x79,0x04,0x00,0x1B,0x04,0x00,0x7A,0x04,0x00,0xE0,0x07,0x00,0x80,0x1F,0x00,0x00,0x3C,0x00,0x00,0x20, // 192 + 0x00,0x20,0x00,0x00,0x3C,0x00,0x80,0x1F,0x00,0xE0,0x07,0x00,0x7A,0x04,0x00,0x1B,0x04,0x00,0x79,0x04,0x00,0xE0,0x07,0x00,0x80,0x1F,0x00,0x00,0x3C,0x00,0x00,0x20, // 193 + 0x00,0x20,0x00,0x00,0x3C,0x00,0x80,0x1F,0x00,0xE2,0x07,0x00,0x7B,0x04,0x00,0x19,0x04,0x00,0x7B,0x04,0x00,0xE2,0x07,0x00,0x80,0x1F,0x00,0x00,0x3C,0x00,0x00,0x20, // 194 + 0x00,0x20,0x00,0x00,0x3C,0x00,0x80,0x1F,0x00,0xE3,0x07,0x00,0x79,0x04,0x00,0x1B,0x04,0x00,0x7B,0x04,0x00,0xE1,0x07,0x00,0x80,0x1F,0x00,0x00,0x3C,0x00,0x00,0x20, // 195 + 0x00,0x20,0x00,0x00,0x3C,0x00,0x80,0x1F,0x00,0xE3,0x07,0x00,0x7B,0x04,0x00,0x18,0x04,0x00,0x7B,0x04,0x00,0xE3,0x07,0x00,0x80,0x1F,0x00,0x00,0x3C,0x00,0x00,0x20, // 196 + 0x00,0x20,0x00,0x00,0x3C,0x00,0x00,0x1F,0x00,0xE6,0x07,0x00,0x79,0x04,0x00,0x19,0x04,0x00,0x79,0x04,0x00,0xE6,0x07,0x00,0x00,0x1F,0x00,0x00,0x3C,0x00,0x00,0x20, // 197 + 0x00,0x20,0x00,0x00,0x3C,0x00,0x00,0x1F,0x00,0xE0,0x07,0x00,0xF8,0x02,0x00,0x38,0x02,0x00,0x08,0x02,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x08,0x21,0x00,0x08,0x21,0x00,0x08,0x21,0x00,0x08,0x21,0x00,0x08,0x21,0x00,0x08,0x21, // 198 + 0x00,0x00,0x00,0xC0,0x07,0x00,0xE0,0x0F,0x00,0x30,0x18,0x00,0x18,0x30,0x00,0x08,0x20,0x01,0x08,0x20,0x01,0x08,0xE0,0x01,0x08,0x20,0x00,0x18,0x30, // 199 + 0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x08,0x21,0x00,0x09,0x21,0x00,0x0B,0x21,0x00,0x0A,0x21,0x00,0x08,0x21,0x00,0x08,0x21, // 200 + 0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x08,0x21,0x00,0x0A,0x21,0x00,0x0B,0x21,0x00,0x09,0x21,0x00,0x08,0x21,0x00,0x08,0x21, // 201 + 0x00,0x00,0x00,0xF8,0x3F,0x00,0xFA,0x3F,0x00,0x0B,0x21,0x00,0x09,0x21,0x00,0x09,0x21,0x00,0x0B,0x21,0x00,0x0A,0x21,0x00,0x08,0x21, // 202 + 0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x0B,0x21,0x00,0x0B,0x21,0x00,0x08,0x21,0x00,0x0B,0x21,0x00,0x0B,0x21,0x00,0x08,0x21, // 203 + 0x00,0x00,0x00,0x01,0x00,0x00,0xFB,0x3F,0x00,0xFA,0x3F, // 204 + 0x00,0x00,0x00,0x02,0x00,0x00,0xFB,0x3F,0x00,0xF9,0x3F, // 205 + 0x02,0x00,0x00,0x03,0x00,0x00,0xF9,0x3F,0x00,0xF9,0x3F,0x00,0x03,0x00,0x00,0x02, // 206 + 0x03,0x00,0x00,0x03,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x03,0x00,0x00,0x03, // 207 + 0x00,0x01,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x08,0x21,0x00,0x08,0x21,0x00,0x08,0x20,0x00,0x08,0x20,0x00,0x18,0x30,0x00,0x30,0x18,0x00,0xE0,0x0F,0x00,0xC0,0x07, // 208 + 0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x38,0x00,0x00,0xE3,0x00,0x00,0xC1,0x01,0x00,0x03,0x07,0x00,0x03,0x0E,0x00,0x01,0x38,0x00,0xF8,0x3F,0x00,0xF8,0x3F, // 209 + 0x00,0x00,0x00,0xC0,0x07,0x00,0xF0,0x1F,0x00,0x30,0x18,0x00,0x18,0x30,0x00,0x09,0x20,0x00,0x0B,0x20,0x00,0x0A,0x20,0x00,0x18,0x30,0x00,0x30,0x18,0x00,0xF0,0x1F,0x00,0xC0,0x07, // 210 + 0x00,0x00,0x00,0xC0,0x07,0x00,0xF0,0x1F,0x00,0x30,0x18,0x00,0x18,0x30,0x00,0x0A,0x20,0x00,0x0B,0x20,0x00,0x09,0x20,0x00,0x18,0x30,0x00,0x30,0x18,0x00,0xF0,0x1F,0x00,0xC0,0x07, // 211 + 0x00,0x00,0x00,0xC0,0x07,0x00,0xF0,0x1F,0x00,0x32,0x18,0x00,0x1B,0x30,0x00,0x09,0x20,0x00,0x09,0x20,0x00,0x0B,0x20,0x00,0x1A,0x30,0x00,0x30,0x18,0x00,0xF0,0x1F,0x00,0xC0,0x07, // 212 + 0x00,0x00,0x00,0xC0,0x07,0x00,0xF0,0x1F,0x00,0x30,0x18,0x00,0x1B,0x30,0x00,0x09,0x20,0x00,0x0B,0x20,0x00,0x0B,0x20,0x00,0x19,0x30,0x00,0x30,0x18,0x00,0xF0,0x1F,0x00,0xC0,0x07, // 213 + 0x00,0x00,0x00,0xC0,0x07,0x00,0xF0,0x1F,0x00,0x30,0x18,0x00,0x1B,0x30,0x00,0x0B,0x20,0x00,0x08,0x20,0x00,0x0B,0x20,0x00,0x1B,0x30,0x00,0x30,0x18,0x00,0xF0,0x1F,0x00,0xC0,0x07, // 214 + 0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x10,0x00,0xE0,0x38,0x00,0xC0,0x1D,0x00,0x80,0x0F,0x00,0x00,0x07,0x00,0x80,0x0F,0x00,0xC0,0x1D,0x00,0xE0,0x38,0x00,0x40,0x10, // 215 + 0x00,0x00,0x00,0xC0,0x27,0x00,0xF0,0x1F,0x00,0x30,0x18,0x00,0x18,0x34,0x00,0x08,0x22,0x00,0x08,0x21,0x00,0x88,0x20,0x00,0x58,0x30,0x00,0x30,0x18,0x00,0xF0,0x1F,0x00,0xC8,0x07, // 216 + 0x00,0x00,0x00,0xF8,0x0F,0x00,0xF8,0x1F,0x00,0x00,0x30,0x00,0x00,0x20,0x00,0x01,0x20,0x00,0x03,0x20,0x00,0x02,0x20,0x00,0x00,0x30,0x00,0xF8,0x1F,0x00,0xF8,0x0F, // 217 + 0x00,0x00,0x00,0xF8,0x0F,0x00,0xF8,0x1F,0x00,0x00,0x30,0x00,0x00,0x20,0x00,0x02,0x20,0x00,0x03,0x20,0x00,0x01,0x20,0x00,0x00,0x30,0x00,0xF8,0x1F,0x00,0xF8,0x0F, // 218 + 0x00,0x00,0x00,0xF8,0x0F,0x00,0xF8,0x1F,0x00,0x02,0x30,0x00,0x03,0x20,0x00,0x01,0x20,0x00,0x01,0x20,0x00,0x03,0x20,0x00,0x02,0x30,0x00,0xF8,0x1F,0x00,0xF8,0x0F, // 219 + 0x00,0x00,0x00,0xF8,0x0F,0x00,0xF8,0x1F,0x00,0x03,0x30,0x00,0x03,0x20,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x03,0x20,0x00,0x03,0x30,0x00,0xF8,0x1F,0x00,0xF8,0x0F, // 220 + 0x00,0x00,0x00,0x08,0x00,0x00,0x18,0x00,0x00,0x78,0x00,0x00,0xE0,0x01,0x00,0x82,0x3F,0x00,0x83,0x3F,0x00,0xE1,0x01,0x00,0x78,0x00,0x00,0x18,0x00,0x00,0x08, // 221 + 0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x60,0x0C,0x00,0xC0,0x07,0x00,0x80,0x03, // 222 + 0x00,0x00,0x00,0xF0,0x3F,0x00,0xF8,0x3F,0x00,0x08,0x00,0x00,0x88,0x23,0x00,0xC8,0x23,0x00,0x48,0x27,0x00,0x78,0x26,0x00,0x30,0x3E,0x00,0x00,0x1C, // 223 + 0x00,0x00,0x00,0x00,0x1C,0x00,0x84,0x3E,0x00,0x4C,0x22,0x00,0x58,0x22,0x00,0x50,0x22,0x00,0x40,0x12,0x00,0xC0,0x3F,0x00,0x80,0x3F, // 224 + 0x00,0x00,0x00,0x00,0x1C,0x00,0x80,0x3E,0x00,0x40,0x22,0x00,0x50,0x22,0x00,0x58,0x22,0x00,0x4C,0x12,0x00,0xC4,0x3F,0x00,0x80,0x3F, // 225 + 0x00,0x00,0x00,0x00,0x1C,0x00,0x90,0x3E,0x00,0x58,0x22,0x00,0x4C,0x22,0x00,0x4C,0x22,0x00,0x58,0x12,0x00,0xD0,0x3F,0x00,0x80,0x3F, // 226 + 0x00,0x00,0x00,0x00,0x1C,0x00,0x80,0x3E,0x00,0x58,0x22,0x00,0x4C,0x22,0x00,0x5C,0x22,0x00,0x58,0x12,0x00,0xCC,0x3F,0x00,0x80,0x3F, // 227 + 0x00,0x00,0x00,0x00,0x1C,0x00,0x98,0x3E,0x00,0x58,0x22,0x00,0x40,0x22,0x00,0x58,0x22,0x00,0x58,0x12,0x00,0xC0,0x3F,0x00,0x80,0x3F, // 228 + 0x00,0x00,0x00,0x00,0x1C,0x00,0x80,0x3E,0x00,0x4C,0x22,0x00,0x52,0x22,0x00,0x52,0x22,0x00,0x4C,0x12,0x00,0xC0,0x3F,0x00,0x80,0x3F, // 229 + 0x00,0x00,0x00,0x00,0x1C,0x00,0x80,0x3E,0x00,0x40,0x22,0x00,0x40,0x22,0x00,0x40,0x22,0x00,0x40,0x12,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x32,0x00,0x40,0x22,0x00,0x40,0x22,0x00,0x40,0x22,0x00,0xC0,0x22,0x00,0x80,0x23,0x00,0x00,0x13, // 230 + 0x00,0x00,0x00,0x00,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x30,0x01,0x40,0x20,0x01,0x40,0xE0,0x01,0x40,0x20,0x00,0x80,0x10, // 231 + 0x00,0x00,0x00,0x00,0x0F,0x00,0x80,0x1F,0x00,0xC4,0x32,0x00,0x4C,0x22,0x00,0x58,0x22,0x00,0xD0,0x22,0x00,0x80,0x23,0x00,0x00,0x13, // 232 + 0x00,0x00,0x00,0x00,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x32,0x00,0x40,0x22,0x00,0x50,0x22,0x00,0xD8,0x22,0x00,0x8C,0x23,0x00,0x04,0x13, // 233 + 0x00,0x00,0x00,0x00,0x0F,0x00,0x80,0x1F,0x00,0xD0,0x32,0x00,0x58,0x22,0x00,0x4C,0x22,0x00,0xCC,0x22,0x00,0x98,0x23,0x00,0x10,0x13, // 234 + 0x00,0x00,0x00,0x00,0x0F,0x00,0x80,0x1F,0x00,0xD8,0x32,0x00,0x58,0x22,0x00,0x40,0x22,0x00,0xD8,0x22,0x00,0x98,0x23,0x00,0x00,0x13, // 235 + 0x04,0x00,0x00,0xCC,0x3F,0x00,0xD8,0x3F,0x00,0x10, // 236 + 0x00,0x00,0x00,0xC0,0x3F,0x00,0xD0,0x3F,0x00,0x18, // 237 + 0x18,0x00,0x00,0xCC,0x3F,0x00,0xCC,0x3F,0x00,0x18, // 238 + 0x18,0x00,0x00,0xC0,0x3F,0x00,0xC0,0x3F,0x00,0x18, // 239 + 0x00,0x00,0x00,0x20,0x0F,0x00,0x98,0x1F,0x00,0xD8,0x30,0x00,0x58,0x20,0x00,0x70,0x20,0x00,0x78,0x30,0x00,0xE8,0x1F,0x00,0x80,0x0F, // 240 + 0x00,0x00,0x00,0xC0,0x3F,0x00,0xC0,0x3F,0x00,0x98,0x00,0x00,0x4C,0x00,0x00,0x5C,0x00,0x00,0x58,0x00,0x00,0xCC,0x3F,0x00,0x80,0x3F, // 241 + 0x00,0x00,0x00,0x00,0x0F,0x00,0x80,0x1F,0x00,0xC4,0x30,0x00,0x4C,0x20,0x00,0x58,0x20,0x00,0xD0,0x30,0x00,0x80,0x1F,0x00,0x00,0x0F, // 242 + 0x00,0x00,0x00,0x00,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x30,0x00,0x40,0x20,0x00,0x50,0x20,0x00,0xD8,0x30,0x00,0x8C,0x1F,0x00,0x04,0x0F, // 243 + 0x00,0x00,0x00,0x00,0x0F,0x00,0x90,0x1F,0x00,0xD8,0x30,0x00,0x4C,0x20,0x00,0x4C,0x20,0x00,0xD8,0x30,0x00,0x90,0x1F,0x00,0x00,0x0F, // 244 + 0x00,0x00,0x00,0x00,0x0F,0x00,0x98,0x1F,0x00,0xCC,0x30,0x00,0x4C,0x20,0x00,0x58,0x20,0x00,0xD8,0x30,0x00,0x8C,0x1F,0x00,0x00,0x0F, // 245 + 0x00,0x00,0x00,0x00,0x0F,0x00,0x98,0x1F,0x00,0xD8,0x30,0x00,0x40,0x20,0x00,0x40,0x20,0x00,0xD8,0x30,0x00,0x98,0x1F,0x00,0x00,0x0F, // 246 + 0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x60,0x1B,0x00,0x60,0x1B,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x03, // 247 + 0x00,0x00,0x00,0x00,0x2F,0x00,0x80,0x1F,0x00,0xC0,0x38,0x00,0x40,0x24,0x00,0x40,0x22,0x00,0xC0,0x31,0x00,0x80,0x1F,0x00,0x40,0x0F, // 248 + 0x00,0x00,0x00,0xC0,0x1F,0x00,0xC0,0x3F,0x00,0x04,0x20,0x00,0x0C,0x20,0x00,0x18,0x20,0x00,0x10,0x10,0x00,0xC0,0x3F,0x00,0xC0,0x3F, // 249 + 0x00,0x00,0x00,0xC0,0x1F,0x00,0xC0,0x3F,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x10,0x20,0x00,0x18,0x10,0x00,0xCC,0x3F,0x00,0xC4,0x3F, // 250 + 0x00,0x00,0x00,0xC0,0x1F,0x00,0xD0,0x3F,0x00,0x18,0x20,0x00,0x0C,0x20,0x00,0x0C,0x20,0x00,0x18,0x10,0x00,0xD0,0x3F,0x00,0xC0,0x3F, // 251 + 0x00,0x00,0x00,0xC0,0x1F,0x00,0xD8,0x3F,0x00,0x18,0x20,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x18,0x10,0x00,0xD8,0x3F,0x00,0xC0,0x3F, // 252 + 0x40,0x00,0x00,0xC0,0x03,0x01,0x80,0x0F,0x01,0x00,0xBC,0x01,0x10,0xF0,0x00,0x18,0x7C,0x00,0x8C,0x1F,0x00,0xC4,0x03,0x00,0x40, // 253 + 0x00,0x00,0x00,0xF8,0xFF,0x01,0xF8,0xFF,0x01,0x80,0x10,0x00,0x40,0x20,0x00,0x40,0x20,0x00,0xC0,0x30,0x00,0x80,0x1F,0x00,0x00,0x0F, // 254 + 0x40,0x00,0x00,0xC0,0x03,0x01,0x98,0x0F,0x01,0x18,0xBC,0x01,0x00,0xF0,0x00,0x18,0x7C,0x00,0x98,0x1F,0x00,0xC0,0x03,0x00,0x40 // 255 +}; diff --git a/src/fonts/Dialog_bold_15.h b/src/fonts/Dialog_bold_15.h new file mode 100644 index 0000000..65fa51e --- /dev/null +++ b/src/fonts/Dialog_bold_15.h @@ -0,0 +1,7 @@ +// Created by http://oleddisplay.squix.ch/ Consider a donation +// In case of problems make sure that you are using the font file with the correct version! +#ifndef _DIALOG_BOLD_15_H_ +#define _DIALOG_BOLD_15_H_ +#include +extern const uint8_t Dialog_bold_15[] PROGMEM; +#endif diff --git a/src/fonts/tiny.cpp b/src/fonts/tiny.cpp new file mode 100644 index 0000000..a8d03a7 --- /dev/null +++ b/src/fonts/tiny.cpp @@ -0,0 +1,388 @@ +#include "tiny.h" +// https://github.com/ThingPulse/esp8266-oled-ssd1306/issues/281 + +const uint8_t TomThumb4x6[] PROGMEM = { +0x03, // Width: 3 +0x06, // Height: 6 +0x20, // First char: 32 +0xBD, // Number of chars: 189 +// Jump Table: +0xFF,0xFF,0x00,0x02, // space +0x00,0x00,0x02,0x03, // exclam +0x00,0x02,0x03,0x03, // quotedbl +0x00,0x05,0x03,0x03, // numbersign +0x00,0x08,0x03,0x03, // dollar +0x00,0x0B,0x03,0x03, // percent +0x00,0x0E,0x03,0x03, // ampersand +0x00,0x11,0x02,0x03, // quotesingle +0x00,0x13,0x03,0x03, // parenleft +0x00,0x16,0x02,0x03, // parenright +0x00,0x18,0x03,0x03, // asterisk +0x00,0x1B,0x03,0x03, // plus +0x00,0x1E,0x02,0x03, // comma +0x00,0x20,0x03,0x03, // hyphen +0x00,0x23,0x02,0x03, // period +0x00,0x25,0x03,0x03, // slash +0x00,0x28,0x03,0x03, // zero +0x00,0x2B,0x02,0x03, // one +0x00,0x2D,0x03,0x03, // two +0x00,0x30,0x03,0x03, // three +0x00,0x33,0x03,0x03, // four +0x00,0x36,0x03,0x03, // five +0x00,0x39,0x03,0x03, // six +0x00,0x3C,0x03,0x03, // seven +0x00,0x3F,0x03,0x03, // eight +0x00,0x42,0x03,0x03, // nine +0x00,0x45,0x02,0x03, // colon +0x00,0x47,0x02,0x03, // semicolon +0x00,0x49,0x03,0x03, // less +0x00,0x4C,0x03,0x03, // equal +0x00,0x4F,0x03,0x03, // greater +0x00,0x52,0x03,0x03, // question +0x00,0x55,0x03,0x03, // at +0x00,0x58,0x03,0x03, // A +0x00,0x5B,0x03,0x03, // B +0x00,0x5E,0x03,0x03, // C +0x00,0x61,0x03,0x03, // D +0x00,0x64,0x03,0x03, // E +0x00,0x67,0x03,0x03, // F +0x00,0x6A,0x03,0x03, // G +0x00,0x6D,0x03,0x03, // H +0x00,0x70,0x03,0x03, // I +0x00,0x73,0x03,0x03, // J +0x00,0x76,0x03,0x03, // K +0x00,0x79,0x03,0x03, // L +0x00,0x7C,0x03,0x03, // M +0x00,0x7F,0x03,0x03, // N +0x00,0x82,0x03,0x03, // O +0x00,0x85,0x03,0x03, // P +0x00,0x88,0x03,0x03, // Q +0x00,0x8B,0x03,0x03, // R +0x00,0x8E,0x03,0x03, // S +0x00,0x91,0x03,0x03, // T +0x00,0x94,0x03,0x03, // U +0x00,0x97,0x03,0x03, // V +0x00,0x9A,0x03,0x03, // W +0x00,0x9D,0x03,0x03, // X +0x00,0xA0,0x03,0x03, // Y +0x00,0xA3,0x03,0x03, // Z +0x00,0xA6,0x03,0x03, // bracketleft +0x00,0xA9,0x03,0x03, // backslash +0x00,0xAC,0x03,0x03, // bracketright +0x00,0xAF,0x03,0x03, // asciicircum +0x00,0xB2,0x03,0x03, // underscore +0x00,0xB5,0x02,0x03, // grave +0x00,0xB7,0x03,0x03, // a +0x00,0xBA,0x03,0x03, // b +0x00,0xBD,0x03,0x03, // c +0x00,0xC0,0x03,0x03, // d +0x00,0xC3,0x03,0x03, // e +0x00,0xC6,0x03,0x03, // f +0x00,0xC9,0x03,0x03, // g +0x00,0xCC,0x03,0x03, // h +0x00,0xCF,0x02,0x03, // i +0x00,0xD1,0x03,0x03, // j +0x00,0xD4,0x03,0x03, // k +0x00,0xD7,0x03,0x03, // l +0x00,0xDA,0x03,0x03, // m +0x00,0xDD,0x03,0x03, // n +0x00,0xE0,0x03,0x03, // o +0x00,0xE3,0x03,0x03, // p +0x00,0xE6,0x03,0x03, // q +0x00,0xE9,0x03,0x03, // r +0x00,0xEC,0x03,0x03, // s +0x00,0xEF,0x03,0x03, // t +0x00,0xF2,0x03,0x03, // u +0x00,0xF5,0x03,0x03, // v +0x00,0xF8,0x03,0x03, // w +0x00,0xFB,0x03,0x03, // x +0x00,0xFE,0x03,0x03, // y +0x01,0x01,0x03,0x03, // z +0x01,0x04,0x03,0x03, // braceleft +0x01,0x07,0x02,0x03, // bar +0x01,0x09,0x03,0x03, // braceright +0x01,0x0C,0x03,0x03, // asciitilde +0x01,0x0F,0x02,0x03, // exclamdown +0x01,0x11,0x03,0x03, // cent +0x01,0x14,0x03,0x03, // sterling +0x01,0x17,0x03,0x03, // currency +0x01,0x1A,0x03,0x03, // yen +0x01,0x1D,0x02,0x03, // brokenbar +0x01,0x1F,0x03,0x03, // section +0x01,0x22,0x03,0x03, // dieresis +0x01,0x25,0x03,0x03, // copyright +0x01,0x28,0x03,0x03, // ordfeminine +0x01,0x2B,0x02,0x03, // guillemotleft +0x01,0x2D,0x03,0x03, // logicalnot +0x01,0x30,0x02,0x03, // softhyphen +0x01,0x32,0x03,0x03, // registered +0x01,0x35,0x03,0x03, // macron +0x01,0x38,0x03,0x03, // degree +0x01,0x3B,0x03,0x03, // plusminus +0x01,0x3E,0x03,0x03, // twosuperior +0x01,0x41,0x03,0x03, // threesuperior +0x01,0x44,0x03,0x03, // acute +0x01,0x47,0x03,0x03, // mu +0x01,0x4A,0x03,0x03, // paragraph +0x01,0x4D,0x03,0x03, // periodcentered +0x01,0x50,0x03,0x03, // cedilla +0x01,0x53,0x02,0x03, // onesuperior +0x01,0x55,0x03,0x03, // ordmasculine +0x01,0x58,0x03,0x03, // guillemotright +0x01,0x5B,0x03,0x03, // onequarter +0x01,0x5E,0x03,0x03, // onehalf +0x01,0x61,0x03,0x03, // threequarters +0x01,0x64,0x03,0x03, // questiondown +0x01,0x67,0x03,0x03, // Agrave +0x01,0x6A,0x03,0x03, // Aacute +0x01,0x6D,0x03,0x03, // Acircumflex +0x01,0x70,0x03,0x03, // Atilde +0x01,0x73,0x03,0x03, // Adieresis +0x01,0x76,0x03,0x03, // Aring +0x01,0x79,0x03,0x03, // AE +0x01,0x7C,0x03,0x03, // Ccedilla +0x01,0x7F,0x03,0x03, // Egrave +0x01,0x82,0x03,0x03, // Eacute +0x01,0x85,0x03,0x03, // Ecircumflex +0x01,0x88,0x03,0x03, // Edieresis +0x01,0x8B,0x03,0x03, // Igrave +0x01,0x8E,0x03,0x03, // Iacute +0x01,0x91,0x03,0x03, // Icircumflex +0x01,0x94,0x03,0x03, // Idieresis +0x01,0x97,0x03,0x03, // Eth +0x01,0x9A,0x03,0x03, // Ntilde +0x01,0x9D,0x03,0x03, // Ograve +0x01,0xA0,0x03,0x03, // Oacute +0x01,0xA3,0x03,0x03, // Ocircumflex +0x01,0xA6,0x03,0x03, // Otilde +0x01,0xA9,0x03,0x03, // Odieresis +0x01,0xAC,0x03,0x03, // multiply +0x01,0xAF,0x03,0x03, // Oslash +0x01,0xB2,0x03,0x03, // Ugrave +0x01,0xB5,0x03,0x03, // Uacute +0x01,0xB8,0x03,0x03, // Ucircumflex +0x01,0xBB,0x03,0x03, // Udieresis +0x01,0xBE,0x03,0x03, // Yacute +0x01,0xC1,0x03,0x03, // Thorn +0x01,0xC4,0x03,0x03, // germandbls +0x01,0xC7,0x03,0x03, // agrave +0x01,0xCA,0x03,0x03, // aacute +0x01,0xCD,0x03,0x03, // acircumflex +0x01,0xD0,0x03,0x03, // atilde +0x01,0xD3,0x03,0x03, // adieresis +0x01,0xD6,0x03,0x03, // aring +0x01,0xD9,0x03,0x03, // ae +0x01,0xDC,0x03,0x03, // ccedilla +0x01,0xDF,0x03,0x03, // egrave +0x01,0xE2,0x03,0x03, // eacute +0x01,0xE5,0x03,0x03, // ecircumflex +0x01,0xE8,0x03,0x03, // edieresis +0x01,0xEB,0x03,0x03, // igrave +0x01,0xEE,0x02,0x03, // iacute +0x01,0xF0,0x03,0x03, // icircumflex +0x01,0xF3,0x03,0x03, // idieresis +0x01,0xF6,0x03,0x03, // eth +0x01,0xF9,0x03,0x03, // ntilde +0x01,0xFC,0x03,0x03, // ograve +0x01,0xFF,0x03,0x03, // oacute +0x02,0x02,0x03,0x03, // ocircumflex +0x02,0x05,0x03,0x03, // otilde +0x02,0x08,0x03,0x03, // odieresis +0x02,0x0B,0x03,0x03, // divide +0x02,0x0E,0x03,0x03, // oslash +0x02,0x11,0x03,0x03, // ugrave +0x02,0x14,0x03,0x03, // uacute +0x02,0x17,0x03,0x03, // ucircumflex +0x02,0x1A,0x03,0x03, // udieresis +0x02,0x1D,0x03,0x03, // yacute +0x02,0x20,0x03,0x03, // thorn +// Font Data: +0x00,0x17, // exclam +0x03,0x00,0x03, // quotedbl +0x1F,0x0A,0x1F, // numbersign +0x0A,0x1F,0x05, // dollar +0x09,0x04,0x12, // percent +0x0F,0x17,0x1C, // ampersand +0x00,0x03, // quotesingle +0x00,0x0E,0x11, // parenleft +0x11,0x0E, // parenright +0x05,0x02,0x05, // asterisk +0x04,0x0E,0x04, // plus +0x10,0x08, // comma +0x04,0x04,0x04, // hyphen +0x00,0x10, // period +0x18,0x04,0x03, // slash +0x1E,0x11,0x0F, // zero +0x02,0x1F, // one +0x19,0x15,0x12, // two +0x11,0x15,0x0A, // three +0x07,0x04,0x1F, // four +0x17,0x15,0x09, // five +0x1E,0x15,0x1D, // six +0x19,0x05,0x03, // seven +0x1F,0x15,0x1F, // eight +0x17,0x15,0x0F, // nine +0x00,0x0A, // colon +0x10,0x0A, // semicolon +0x04,0x0A,0x11, // less +0x0A,0x0A,0x0A, // equal +0x11,0x0A,0x04, // greater +0x01,0x15,0x03, // question +0x0E,0x15,0x16, // at +0x1E,0x05,0x1E, // A +0x1F,0x15,0x0A, // B +0x0E,0x11,0x11, // C +0x1F,0x11,0x0E, // D +0x1F,0x15,0x15, // E +0x1F,0x05,0x05, // F +0x0E,0x15,0x1D, // G +0x1F,0x04,0x1F, // H +0x11,0x1F,0x11, // I +0x08,0x10,0x0F, // J +0x1F,0x04,0x1B, // K +0x1F,0x10,0x10, // L +0x1F,0x06,0x1F, // M +0x1F,0x0E,0x1F, // N +0x0E,0x11,0x0E, // O +0x1F,0x05,0x02, // P +0x0E,0x19,0x1E, // Q +0x1F,0x0D,0x16, // R +0x12,0x15,0x09, // S +0x01,0x1F,0x01, // T +0x0F,0x10,0x1F, // U +0x07,0x18,0x07, // V +0x1F,0x0C,0x1F, // W +0x1B,0x04,0x1B, // X +0x03,0x1C,0x03, // Y +0x19,0x15,0x13, // Z +0x1F,0x11,0x11, // bracketleft +0x02,0x04,0x08, // backslash +0x11,0x11,0x1F, // bracketright +0x02,0x01,0x02, // asciicircum +0x10,0x10,0x10, // underscore +0x01,0x02, // grave +0x1A,0x16,0x1C, // a +0x1F,0x12,0x0C, // b +0x0C,0x12,0x12, // c +0x0C,0x12,0x1F, // d +0x0C,0x1A,0x16, // e +0x04,0x1E,0x05, // f +0x0C,0x2A,0x1E, // g +0x1F,0x02,0x1C, // h +0x00,0x1D, // i +0x10,0x20,0x1D, // j +0x1F,0x0C,0x12, // k +0x11,0x1F,0x10, // l +0x1E,0x0E,0x1E, // m +0x1E,0x02,0x1C, // n +0x0C,0x12,0x0C, // o +0x3E,0x12,0x0C, // p +0x0C,0x12,0x3E, // q +0x1C,0x02,0x02, // r +0x14,0x1E,0x0A, // s +0x02,0x1F,0x12, // t +0x0E,0x10,0x1E, // u +0x0E,0x18,0x0E, // v +0x1E,0x1C,0x1E, // w +0x12,0x0C,0x12, // x +0x06,0x28,0x1E, // y +0x1A,0x1E,0x16, // z +0x04,0x1B,0x11, // braceleft +0x00,0x1B, // bar +0x11,0x1B,0x04, // braceright +0x02,0x03,0x01, // asciitilde +0x00,0x1D, // exclamdown +0x0E,0x1B,0x0A, // cent +0x14,0x1F,0x15, // sterling +0x15,0x0E,0x15, // currency +0x0B,0x1C,0x0B, // yen +0x00,0x1B, // brokenbar +0x14,0x1B,0x05, // section +0x01,0x00,0x01, // dieresis +0x02,0x05,0x05, // copyright +0x16,0x15,0x17, // ordfeminine +0x02,0x05, // guillemotleft +0x02,0x02,0x06, // logicalnot +0x04,0x04, // softhyphen +0x07,0x03,0x04, // registered +0x01,0x01,0x01, // macron +0x02,0x05,0x02, // degree +0x12,0x17,0x12, // plusminus +0x01,0x07,0x04, // twosuperior +0x05,0x07,0x07, // threesuperior +0x00,0x02,0x01, // acute +0x1F,0x08,0x07, // mu +0x02,0x1D,0x1F, // paragraph +0x0E,0x0E,0x0E, // periodcentered +0x10,0x14,0x08, // cedilla +0x00,0x07, // onesuperior +0x12,0x15,0x12, // ordmasculine +0x00,0x05,0x02, // guillemotright +0x03,0x08,0x18, // onequarter +0x0B,0x18,0x10, // onehalf +0x03,0x0B,0x18, // threequarters +0x18,0x15,0x10, // questiondown +0x18,0x0D,0x1A, // Agrave +0x1A,0x0D,0x18, // Aacute +0x19,0x0D,0x19, // Acircumflex +0x1A,0x0F,0x19, // Atilde +0x1D,0x0A,0x1D, // Adieresis +0x1F,0x0B,0x1C, // Aring +0x1E,0x1F,0x15, // AE +0x06,0x29,0x19, // Ccedilla +0x1C,0x1D,0x16, // Egrave +0x1E,0x1D,0x14, // Eacute +0x1D,0x1D,0x15, // Ecircumflex +0x1D,0x1C,0x15, // Edieresis +0x14,0x1D,0x16, // Igrave +0x16,0x1D,0x14, // Iacute +0x15,0x1D,0x15, // Icircumflex +0x15,0x1C,0x15, // Idieresis +0x1F,0x15,0x0E, // Eth +0x1D,0x0B,0x1E, // Ntilde +0x1C,0x15,0x1E, // Ograve +0x1E,0x15,0x1C, // Oacute +0x1D,0x15,0x1D, // Ocircumflex +0x1D,0x17,0x1E, // Otilde +0x1D,0x14,0x1D, // Odieresis +0x0A,0x04,0x0A, // multiply +0x1E,0x15,0x0F, // Oslash +0x1D,0x12,0x1C, // Ugrave +0x1C,0x12,0x1D, // Uacute +0x1D,0x11,0x1D, // Ucircumflex +0x1D,0x10,0x1D, // Udieresis +0x0C,0x1A,0x0D, // Yacute +0x1F,0x0A,0x0E, // Thorn +0x3E,0x15,0x0B, // germandbls +0x18,0x15,0x1E, // agrave +0x1A,0x15,0x1C, // aacute +0x19,0x15,0x1D, // acircumflex +0x1A,0x17,0x1D, // atilde +0x19,0x14,0x1D, // adieresis +0x18,0x17,0x1F, // aring +0x1C,0x1E,0x0E, // ae +0x04,0x2A,0x1A, // ccedilla +0x08,0x1D,0x1E, // egrave +0x0A,0x1D,0x1C, // eacute +0x09,0x1D,0x1D, // ecircumflex +0x09,0x1C,0x1D, // edieresis +0x00,0x1D,0x02, // igrave +0x02,0x1D, // iacute +0x01,0x1D,0x01, // icircumflex +0x01,0x1C,0x01, // idieresis +0x0A,0x17,0x1D, // eth +0x1D,0x07,0x1A, // ntilde +0x08,0x15,0x0A, // ograve +0x0A,0x15,0x08, // oacute +0x09,0x15,0x09, // ocircumflex +0x09,0x17,0x0A, // otilde +0x09,0x14,0x09, // odieresis +0x04,0x15,0x04, // divide +0x1C,0x16,0x0E, // oslash +0x0D,0x12,0x1C, // ugrave +0x0C,0x12,0x1D, // uacute +0x0D,0x11,0x1D, // ucircumflex +0x0D,0x10,0x1D, // udieresis +0x04,0x2A,0x1D, // yacute +0x3E,0x14,0x08 // thorn +}; diff --git a/src/fonts/tiny.h b/src/fonts/tiny.h new file mode 100644 index 0000000..fa339ce --- /dev/null +++ b/src/fonts/tiny.h @@ -0,0 +1,5 @@ +#ifndef _TINY_H_ +#define _TINY_H_ +#include +extern const uint8_t TomThumb4x6[] PROGMEM; +#endif diff --git a/src/graphics/glyphs.cpp b/src/graphics/glyphs.cpp new file mode 100644 index 0000000..2d7c4f8 --- /dev/null +++ b/src/graphics/glyphs.cpp @@ -0,0 +1,39 @@ +// Font generated or edited with the glyphEditor +// https://rawgit.com/lorol/esp8266-oled-ssd1306/master/resources/glyphEditor.html + +#include "glyphs.h" + +const uint8_t ICONS8x8[] PROGMEM = { + 0x08, // Width: 8 + 0x08, // Height: 8 + 0x30, // First char: 48 + 0x06, // Number of chars: 6 +// Jump Table: + 0x00, 0x00, 0x07, 0x08, // 48 - lebka + 0x00, 0x07, 0x08, 0x08, // 49 - klic + 0x00, 0x0F, 0x07, 0x08, // 50 - blesk + 0x00, 0x16, 0x08, 0x08, // 51 - vykricnik + 0x00, 0x1E, 0x07, 0x07, // 52 - sipka nahoru + 0x00, 0x25, 0x07, 0x07, // 53 - sipka dolu +// Font Data: + 0x1E, 0x79, 0x39, 0x6F, 0x39, 0x79, 0x1E, // 48 + 0x7E, 0xE7, 0xC3, 0x0F, 0x0F, 0xC3, 0xE7, 0x7E, // 49 + 0x88, 0xCC, 0xEE, 0x7F, 0x3B, 0x19, 0x08, // 50 + 0x7E, 0xFF, 0xFF, 0xA1, 0xA1, 0xFF, 0xFF, 0x7E, // 51 + 0x08, 0x0C, 0x3E, 0x3F, 0x3E, 0x0C, 0x08, // 52 + 0x10, 0x30, 0x7C, 0xFC, 0x7C, 0x30, 0x10, // 53 +}; + +// Font generated or edited with the glyphEditor +const uint8_t CHECKBOX[] PROGMEM = { + 0x0D, // Width: 13 + 0x0D, // Height: 13 + 0x30, // First char: 48 + 0x02, // Number of chars: 2 +// Jump Table: + 0x00, 0x00, 0x12, 0x0C, // 48 + 0x00, 0x12, 0x15, 0x0D, // 49 +// Font Data: + 0x00, 0x00, 0xF8, 0x07, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0xF8, 0x07, // 48 + 0x00, 0x00, 0xB8, 0x07, 0x68, 0x04, 0xC8, 0x04, 0x88, 0x05, 0xC8, 0x04, 0x68, 0x04, 0x30, 0x04, 0xD8, 0x07, 0x0C, 0x00, 0x04, // 49 +}; diff --git a/src/graphics/glyphs.h b/src/graphics/glyphs.h new file mode 100644 index 0000000..5682d9e --- /dev/null +++ b/src/graphics/glyphs.h @@ -0,0 +1,7 @@ +// Font generated or edited with the glyphEditor +#ifndef _GLYPHS_H_ +#define _GLYPHS_H_ +#include +extern const uint8_t ICONS8x8[] PROGMEM; +extern const uint8_t CHECKBOX[] PROGMEM; +#endif diff --git a/src/overlays/StatusIcons.cpp b/src/overlays/StatusIcons.cpp new file mode 100644 index 0000000..e28f3a1 --- /dev/null +++ b/src/overlays/StatusIcons.cpp @@ -0,0 +1,92 @@ +#include "StatusIcons.h" + +static statusIcon_t * icons[MAX_STATUS_ICONS]; +static uint8_t visibleOnFrame[32]; + +// Kresleni indikacnich ikon (bezici wifi, nezname zarizeni na siti, ...) +void sico_draw(OLEDDisplay *display, OLEDDisplayUiState *state) +{ + bool on = false; + + if (state->frameState != FIXED) + return; + + for (size_t i = 0; i < sizeof(visibleOnFrame); i++) + if (visibleOnFrame[i] == state->currentFrame) { + on = true; + break; + } + if (on) { + // overlay ikony pracuji jen na povolenych ramcich + int iconsCount = 0; + int visible = ui.blinkIsVisible(); + uint16_t xiconpos = display->getWidth() / 2; + + display->setColor(WHITE); + for (int i = 0; i < MAX_STATUS_ICONS; i++) { + if (nullptr != icons[i]) { + if (0xff == icons[i]->xPos) { + xiconpos -= icons[i]->xSize / 2; + ++iconsCount; + } else if ((0 == icons[i]->blink) || visible) { + display->drawXbm(icons[i]->xPos, icons[i]->yPos, icons[i]->xSize, icons[i]->ySize, icons[i]->xbmData); + } + } + } + if (iconsCount) { + for (int i = 0; i < MAX_STATUS_ICONS; i++) + if (nullptr != icons[i]) { + if (0xff == icons[i]->xPos) { + if ((0 == icons[i]->blink) || visible) { + display->drawXbm(xiconpos, display->getHeight() - 1 - icons[i]->ySize, icons[i]->xSize, icons[i]->ySize, icons[i]->xbmData); + } + xiconpos += icons[i]->xSize; + } + } + } + } +} + +void sico_init(void) +{ + + for (int i = 0; i < MAX_STATUS_ICONS; i++) + icons[i] = nullptr; + for (size_t i = 0; i < sizeof(visibleOnFrame); i++) + visibleOnFrame[i] = 0xff; +} + +void sico_add(const statusIcon_t *ptr) +{ + int idx = -1; + + for (int i = 0; i < MAX_STATUS_ICONS; i++) { + if ((-1 == idx) && (nullptr == icons[i])) + idx = i; + if (icons[i] == ptr) + return; // ikona uz na displeji je + } + if (-1 != idx) + icons[idx] = (statusIcon_t *)ptr; +} + +void sico_remove(const statusIcon_t *ptr) +{ + + for (int i = 0; i < MAX_STATUS_ICONS; i++) + if (icons[i] == ptr) + icons[i] = nullptr; +} + +void sico_addVisibleFrameID(uint8_t id) +{ + + for (size_t i = 0; i < sizeof(visibleOnFrame); i++) { + if (visibleOnFrame[i] == id) + return; // uz je aktivovane + if (visibleOnFrame[i] == 0xff) { + visibleOnFrame[i] = id; + return; + } + } +} diff --git a/src/overlays/StatusIcons.h b/src/overlays/StatusIcons.h new file mode 100644 index 0000000..e415bce --- /dev/null +++ b/src/overlays/StatusIcons.h @@ -0,0 +1,24 @@ +#ifndef _STATUSICONSOVERLAY_H_ +#define _STATUSICONSOVERLAY_H_ +#include +#include + +typedef struct { + uint8_t blink; // priznak, ze ma ikona blikat + uint8_t xPos; // pozice X na obrazovce, 0xff = automaticka pozice ve stavovem radku + uint8_t yPos; // pozice Y na obrazovce + uint8_t xSize; // rozmer v ose X + uint8_t ySize; // rozmer v ose Y + const uint8_t *xbmData; // ukazatel na data ikony +} statusIcon_t; + +void sico_init(void); + +void sico_draw(OLEDDisplay *display, OLEDDisplayUiState *state); + +void sico_add(const statusIcon_t *ptr); + +void sico_remove(const statusIcon_t *ptr); + +void sico_addVisibleFrameID(uint8_t id); +#endif