diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3575c60 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.pio +include/config.h +.vscode \ No newline at end of file diff --git a/include/config.template.h b/include/config.template.h new file mode 100644 index 0000000..e74a355 --- /dev/null +++ b/include/config.template.h @@ -0,0 +1,32 @@ +#ifndef CONFIG_H +#define CONFIG_H + +/* CONFIGURATION + * Uncomment only one of the below #define statements + * based on the paperd.ink device you have + */ +#define PAPERDINK_DEVICE Paperdink_Classic +//#define PAPERDINK_DEVICE Paperdink_Merlot + +#define DEBUG Serial + +#define SSID "xxxxxx" // Wifi Network SSID (name of wifi network) +#define PASSWORD "xxxxxx" // Wifi Network password + +/* Time zone from list https://github.com/nayarsystems/posix_tz_db/blob/master/zones.csv */ +#define TIME_ZONE "CET-1CEST,M3.5.0,M10.5.0/3" + +/* Number of times to update starting 12am + * 1 = Updates every 24 hours + * 2 = Updates every 12 hours + * 3 = Updates every 8 hours. Not a good idea since it won't align with day changes. + * 4 = Updates every 6 hours + * ... and so on + * Higher number means lower battery life + */ +#define UPDATES_PER_DAY 4 + +/* My information */ +#define MY_JSON_URL "https://xxxxx/paperd.json" // City for weather + +#endif /* CONFIG_H */ \ No newline at end of file diff --git a/lib/Paperdink/src/Paperdink.h b/lib/Paperdink/src/Paperdink.h new file mode 100644 index 0000000..caf68f1 --- /dev/null +++ b/lib/Paperdink/src/Paperdink.h @@ -0,0 +1,17 @@ +#ifndef _PAPERDINK_H_ +#define _PAPERDINK_H_ + +#include +#include "pin_assignment.h" + +// Paperdink Devices +#include "devices/classic.h" + +// Conversion factor for seconds to microseconds +#define S_TO_uS_FACTOR (1000000) +#define M_TO_uS_FACTOR (6e7) +#define H_TO_uS_FACTOR (3.6e9) + +extern PAPERDINK_DEVICE Paperdink; + +#endif /* _PAPERDINK_H_ */ diff --git a/lib/Paperdink/src/devices/base.cpp b/lib/Paperdink/src/devices/base.cpp new file mode 100644 index 0000000..0b38582 --- /dev/null +++ b/lib/Paperdink/src/devices/base.cpp @@ -0,0 +1,108 @@ + +#include +#include "base.h" + +int8_t PaperdinkDeviceBaseClass::begin() +{ + pinMode(EPD_EN, OUTPUT); + pinMode(EPD_RST, OUTPUT); + pinMode(SD_EN, OUTPUT); + pinMode(BATT_EN, OUTPUT); + pinMode(PCF_INT, INPUT); // Required to lower power consumption + + return 0; +} + +int8_t PaperdinkDeviceBaseClass::enable_display() +{ + // Power up EPD + digitalWrite(EPD_EN, LOW); + digitalWrite(EPD_RST, LOW); + delay(50); + digitalWrite(EPD_RST, HIGH); + delay(50); + + return 0; +} + +int8_t PaperdinkDeviceBaseClass::disable_display() +{ + digitalWrite(EPD_EN, HIGH); + digitalWrite(EPD_RST, LOW); + delay(50); + digitalWrite(EPD_RST, HIGH); + + return 0; +} + +int8_t PaperdinkDeviceBaseClass::disable_everything() +{ + disable_display(); + // TODO: Add disable functions for SD and Batt + digitalWrite(SD_EN, HIGH); + digitalWrite(BATT_EN, HIGH); + + return 0; +} + +int8_t PaperdinkDeviceBaseClass::deep_sleep_timer_wakeup(uint64_t sleep_time_us) +{ + // Turn off everything + disable_everything(); + + esp_sleep_enable_timer_wakeup(sleep_time_us); + Serial.printf("Timer wakeup after %lld microseconds...", sleep_time_us); + // Go to sleep + esp_deep_sleep_start(); + + return 0; +} + +int8_t PaperdinkDeviceBaseClass::deep_sleep_button_wakeup(uint8_t gpio_num) +{ + // Turn off everything + disable_everything(); + + esp_sleep_enable_ext0_wakeup((gpio_num_t)gpio_num, 0); //1 = High, 0 = Low + Serial.printf("Button wakeup on pin %d", gpio_num); + // Go to sleep + esp_deep_sleep_start(); + + return 0; +} + +int8_t PaperdinkDeviceBaseClass::deep_sleep_timer_button_wakeup(uint64_t sleep_time_us, uint8_t gpio_num) +{ + // Turn off everything + disable_everything(); + + esp_sleep_enable_timer_wakeup(sleep_time_us); + esp_sleep_enable_ext0_wakeup((gpio_num_t)gpio_num, 0); //1 = High, 0 = Low + Serial.printf("Timer wakeup after %lld us or button on pin %d", sleep_time_us, gpio_num); + // Go to sleep + esp_deep_sleep_start(); + + return 0; +} + +int8_t PaperdinkDeviceBaseClass::connect_wifi(const char *ssid, const char *password, uint8_t attempts) +{ + + WiFi.begin(ssid, password); + + while(WiFi.status() != WL_CONNECTED ){ + delay(500); + Serial.print("."); + if(!attempts--){ + return -1; + } + } + Serial.println("Connected"); + + return 0; +} + +int8_t PaperdinkDeviceBaseClass::connect_wifi(const char *ssid, const char *password) +{ + return connect_wifi(ssid, password, 40); +} diff --git a/lib/Paperdink/src/devices/base.h b/lib/Paperdink/src/devices/base.h new file mode 100644 index 0000000..c59e1b8 --- /dev/null +++ b/lib/Paperdink/src/devices/base.h @@ -0,0 +1,29 @@ + +#ifndef _PDINK_BASE_H_ +#define _PDINK_BASE_H_ + +#define ENABLE_GxEPD2_GFX 1 +#include + +#include "pin_assignment.h" + +class PaperdinkDeviceBaseClass +{ + public: + uint8_t has_color = false; + int color = GxEPD_BLACK; + + int8_t begin(); + virtual int8_t enable_display(); + virtual int8_t disable_display(); + int8_t disable_everything(); + + int8_t deep_sleep_timer_wakeup(uint64_t sleep_time_us); + int8_t deep_sleep_button_wakeup(uint8_t gpio_num); + int8_t deep_sleep_timer_button_wakeup(uint64_t sleep_time_us, uint8_t gpio_num); + + int8_t connect_wifi(const char *ssid, const char *password, uint8_t attempts); + int8_t connect_wifi(const char *ssid, const char *password); +}; + +#endif /* _PDINK_BASE_H_ */ diff --git a/lib/Paperdink/src/devices/classic.cpp b/lib/Paperdink/src/devices/classic.cpp new file mode 100644 index 0000000..3e3e599 --- /dev/null +++ b/lib/Paperdink/src/devices/classic.cpp @@ -0,0 +1,17 @@ +#include "classic.h" + +int8_t Paperdink_Classic::enable_display() +{ + PaperdinkDeviceBaseClass::enable_display(); + epd.init(); + + return 0; +} + +int8_t Paperdink_Classic::disable_display() +{ + digitalWrite(EPD_EN, HIGH); + + return 0; +} + diff --git a/lib/Paperdink/src/devices/classic.h b/lib/Paperdink/src/devices/classic.h new file mode 100644 index 0000000..2d863c6 --- /dev/null +++ b/lib/Paperdink/src/devices/classic.h @@ -0,0 +1,18 @@ + +#ifndef _PDINK_CLASSIC_H_ +#define _PDINK_CLASSIC_H_ + +#include "base.h" + +class Paperdink_Classic : public PaperdinkDeviceBaseClass +{ + public: + uint8_t has_color = false; + int color = GxEPD_BLACK; + + GxEPD2_BW epd = GxEPD2_420(EPD_CS, EPD_DC, EPD_RST, EPD_BUSY); + int8_t enable_display() override; + int8_t disable_display() override; +}; + +#endif /* _PDINK_CLASSIC_H_ */ diff --git a/lib/Paperdink/src/fonts.h b/lib/Paperdink/src/fonts.h new file mode 100644 index 0000000..2ce30f9 --- /dev/null +++ b/lib/Paperdink/src/fonts.h @@ -0,0 +1,21 @@ + +#ifndef _PAPERDINK_FONTS_H_ +#define _PAPERDINK_FONTS_H_ + +//#include "fonts/Roboto_Regular_12pt7b.h" +#include "fonts/Code_New_Roman9pt7b.h" +#include "fonts/Code_New_Roman15pt7b.h" +//#include "fonts/Code_New_Roman_Bold15pt7b.h" +//#include "fonts/Code_New_Roman_Bold10pt7b.h" +#include "fonts/Mont_Heavy25pt7b.h" +//#include "fonts/Mont_ExtraLight8pt7b.h" +#include "fonts/Gobold_Thin9pt7b.h" + +#define PAPERDINK_FONT_LRG Mont_Heavy25pt7b +//#define PAPERDINK_FONT_LRG_BOLD Mont_Heavy25pt7b +#define PAPERDINK_FONT_MED Code_New_Roman15pt7b +//#define PAPERDINK_FONT_MED_BOLD Code_New_Roman_Bold15pt7b +#define PAPERDINK_FONT_SML Code_New_Roman9pt7b +//#define PAPERDINK_FONT_SML_BOLD Code_New_Roman_Bold10pt7b + +#endif /* _PAPERDINK_FONTS_H_ */ diff --git a/lib/Paperdink/src/fonts/Code_New_Roman10pt7b.h b/lib/Paperdink/src/fonts/Code_New_Roman10pt7b.h new file mode 100644 index 0000000..75e1e9d --- /dev/null +++ b/lib/Paperdink/src/fonts/Code_New_Roman10pt7b.h @@ -0,0 +1,208 @@ +const uint8_t Code_New_Roman10pt7bBitmaps[] PROGMEM = { + 0x00, 0xDB, 0x6D, 0xB6, 0xD8, 0x7F, 0xC0, 0xCF, 0x3C, 0xF3, 0xCC, 0x13, + 0x04, 0xC1, 0x33, 0xFF, 0xFF, 0xC4, 0xC3, 0x63, 0xFE, 0xFF, 0x8D, 0x83, + 0x60, 0xD8, 0x36, 0x00, 0x04, 0x02, 0x0F, 0xCF, 0xEC, 0xC6, 0x63, 0xA0, + 0xF0, 0x3E, 0x07, 0x86, 0x63, 0x39, 0xBF, 0xF9, 0xF8, 0x20, 0x10, 0x00, + 0x78, 0x5F, 0x9B, 0x36, 0x66, 0x8F, 0xF0, 0xFC, 0x01, 0x00, 0x60, 0x0B, + 0xC2, 0xFC, 0xD9, 0x93, 0x36, 0x7F, 0x87, 0x80, 0x1E, 0x0F, 0xE1, 0x8C, + 0x31, 0x86, 0x70, 0x7C, 0x0E, 0x03, 0xC6, 0xCC, 0xD8, 0xFB, 0x0E, 0x71, + 0xC7, 0xFC, 0x7D, 0xC0, 0xFF, 0xC0, 0x01, 0x0F, 0x1C, 0x30, 0x70, 0x60, + 0x40, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x60, 0x60, 0x30, 0x18, 0x0E, + 0x07, 0x80, 0xF0, 0x38, 0x0C, 0x0E, 0x06, 0x02, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x06, 0x06, 0x0C, 0x18, 0x70, 0xE0, 0x11, 0x27, 0x59, 0xC3, + 0x9B, 0xE4, 0x88, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0xFF, 0xFF, 0xF0, 0xC0, + 0x30, 0x0C, 0x03, 0x00, 0x31, 0xC6, 0x3F, 0x70, 0xFF, 0xF0, 0xFF, 0x80, + 0x01, 0x01, 0x80, 0xC0, 0xC0, 0x60, 0x20, 0x30, 0x10, 0x18, 0x08, 0x0C, + 0x06, 0x02, 0x03, 0x01, 0x01, 0x80, 0x1E, 0x0F, 0xE6, 0x1B, 0x87, 0xC1, + 0xF1, 0xFD, 0xEF, 0xE3, 0xE0, 0xF8, 0x76, 0x19, 0xFC, 0x1E, 0x00, 0x18, + 0x78, 0xD8, 0x98, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, 0xFF, + 0x38, 0xFC, 0x86, 0x06, 0x06, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x40, 0xFF, + 0xFF, 0x78, 0xFE, 0x86, 0x06, 0x06, 0x3C, 0x3E, 0x07, 0x03, 0x03, 0x07, + 0xFE, 0xF8, 0x07, 0x03, 0xC0, 0xB0, 0x6C, 0x33, 0x08, 0xC6, 0x33, 0x0C, + 0xFF, 0xFF, 0xF0, 0x30, 0x0C, 0x03, 0x00, 0xFE, 0xFE, 0xC0, 0xC0, 0xC0, + 0xFC, 0xFE, 0x07, 0x03, 0x03, 0x07, 0xFE, 0xF8, 0x0F, 0x1F, 0x9C, 0x0C, + 0x0C, 0x06, 0xF3, 0xFD, 0xC7, 0xC1, 0xE0, 0xD8, 0xEF, 0xE3, 0xE0, 0xFF, + 0xFF, 0xC0, 0x60, 0x60, 0x30, 0x30, 0x18, 0x18, 0x0C, 0x0C, 0x06, 0x06, + 0x03, 0x00, 0x3E, 0x3F, 0xF0, 0x78, 0x3E, 0x31, 0xF0, 0xF8, 0xCE, 0xC1, + 0xE0, 0xF0, 0x6F, 0xE3, 0xE0, 0x3E, 0x3F, 0xB8, 0xD8, 0x3C, 0x1F, 0x1D, + 0xFE, 0x7B, 0x01, 0x81, 0x81, 0xCF, 0xC7, 0x80, 0xFF, 0x80, 0x07, 0xFC, + 0x39, 0xCE, 0x00, 0x00, 0x06, 0x38, 0xC7, 0xEE, 0x00, 0x02, 0x07, 0x0C, + 0x18, 0x60, 0xC0, 0x60, 0x18, 0x0C, 0x07, 0x02, 0xFF, 0xFF, 0x00, 0x00, + 0xFF, 0xFF, 0x40, 0xE0, 0x30, 0x18, 0x06, 0x03, 0x06, 0x18, 0x30, 0xE0, + 0x40, 0xE3, 0xE1, 0x83, 0x0C, 0x37, 0xDE, 0x61, 0x80, 0x1C, 0x71, 0xC0, + 0x0F, 0x04, 0x62, 0x09, 0x81, 0x40, 0x53, 0xD9, 0xF6, 0x6D, 0xB3, 0x6C, + 0xDB, 0x36, 0xFE, 0x9D, 0xA0, 0x0C, 0x01, 0x00, 0x61, 0x0F, 0x80, 0x0E, + 0x01, 0x40, 0x28, 0x0D, 0x81, 0xB0, 0x22, 0x0C, 0x61, 0x8C, 0x3F, 0x87, + 0xF1, 0x83, 0x30, 0x64, 0x0C, 0xFE, 0x7F, 0xF0, 0x78, 0x3C, 0x3F, 0xF3, + 0xFD, 0x87, 0xC1, 0xE0, 0xF0, 0xFF, 0xEF, 0xC0, 0x1F, 0x1F, 0xDC, 0x2C, + 0x0C, 0x06, 0x03, 0x01, 0x80, 0xC0, 0x70, 0x1C, 0x27, 0xF1, 0xF0, 0xFC, + 0x7F, 0x30, 0xD8, 0x7C, 0x1E, 0x0F, 0x07, 0x83, 0xC1, 0xE1, 0xF1, 0xDF, + 0xCF, 0xC0, 0xFF, 0xFF, 0x06, 0x0C, 0x1F, 0xFF, 0xE0, 0xC1, 0x83, 0x07, + 0xFF, 0xE0, 0xFF, 0xFF, 0x06, 0x0C, 0x1F, 0xFF, 0xE0, 0xC1, 0x83, 0x06, + 0x0C, 0x00, 0x0F, 0x8F, 0xF7, 0x05, 0x80, 0xC0, 0x31, 0xFC, 0x7F, 0x03, + 0xC0, 0xF8, 0x37, 0x0C, 0xFF, 0x1F, 0x80, 0xC1, 0xE0, 0xF0, 0x78, 0x3C, + 0x1F, 0xFF, 0xFF, 0x83, 0xC1, 0xE0, 0xF0, 0x78, 0x3C, 0x18, 0xFF, 0xFC, + 0x40, 0x81, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x8F, 0xE0, 0x3E, 0x7C, + 0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x1E, 0x6F, 0x80, 0xC3, 0xC6, + 0xCC, 0xCC, 0xD8, 0xD0, 0xF0, 0xD0, 0xD8, 0xCC, 0xCC, 0xC6, 0xC3, 0xC1, + 0x83, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x07, 0xFF, 0xE0, 0xC1, + 0xF1, 0xF8, 0xFC, 0x7F, 0x7E, 0xAF, 0x57, 0xBB, 0xC9, 0xE0, 0xF0, 0x78, + 0x3C, 0x18, 0xE1, 0xF0, 0xFC, 0x7A, 0x3D, 0x1E, 0xCF, 0x27, 0x9B, 0xC5, + 0xE2, 0xF1, 0xF8, 0x7C, 0x38, 0x1E, 0x3F, 0x98, 0xDC, 0x3C, 0x1E, 0x0F, + 0x07, 0x83, 0xC1, 0xE1, 0xD8, 0xCF, 0xE3, 0xC0, 0xFE, 0x7F, 0xB0, 0xF8, + 0x3C, 0x1E, 0x1F, 0xFD, 0xF8, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x00, 0x1E, + 0x07, 0xF1, 0x86, 0x70, 0xEC, 0x0D, 0x81, 0xB0, 0x36, 0x06, 0xC0, 0xDC, + 0x39, 0x86, 0x3F, 0x83, 0xE0, 0x18, 0x03, 0x88, 0x3F, 0x03, 0xC0, 0xFC, + 0x7F, 0x31, 0xD8, 0x6C, 0x36, 0x3B, 0xF9, 0xF0, 0xCE, 0x63, 0x30, 0xD8, + 0x6C, 0x18, 0x3E, 0x3F, 0xB0, 0x58, 0x0E, 0x03, 0xC0, 0xF8, 0x0E, 0x01, + 0x80, 0xE0, 0xFF, 0xE7, 0xE0, 0xFF, 0xFF, 0xF0, 0xC0, 0x30, 0x0C, 0x03, + 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x00, 0xC1, 0xE0, + 0xF0, 0x78, 0x3C, 0x1E, 0x0F, 0x07, 0x83, 0xC1, 0xE0, 0xF8, 0xEF, 0xE3, + 0xE0, 0x60, 0x26, 0x06, 0x60, 0x63, 0x04, 0x30, 0xC1, 0x0C, 0x18, 0xC1, + 0x88, 0x0D, 0x80, 0xD8, 0x0D, 0x00, 0x70, 0x07, 0x00, 0x40, 0x48, 0x09, + 0x01, 0x20, 0x24, 0x44, 0x9C, 0x92, 0x92, 0x52, 0x5B, 0x4A, 0x29, 0x47, + 0x38, 0xE6, 0x0C, 0x60, 0xC6, 0x30, 0xEC, 0x0D, 0x80, 0xE0, 0x1C, 0x03, + 0x80, 0xF8, 0x1B, 0x06, 0x30, 0xC6, 0x30, 0x6C, 0x0E, 0xC0, 0x36, 0x06, + 0x30, 0xC3, 0x0C, 0x19, 0x81, 0xD8, 0x0F, 0x00, 0x60, 0x06, 0x00, 0x60, + 0x06, 0x00, 0x60, 0x06, 0x00, 0xFF, 0xFF, 0xC0, 0x40, 0x40, 0x60, 0x60, + 0x20, 0x30, 0x30, 0x10, 0x18, 0x1F, 0xFF, 0xF8, 0xFF, 0xF1, 0x8C, 0x63, + 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x18, 0xFF, 0xC0, 0xC0, 0x20, 0x18, 0x04, + 0x03, 0x01, 0x80, 0x40, 0x30, 0x08, 0x06, 0x01, 0x00, 0xC0, 0x60, 0x18, + 0x0C, 0x02, 0xFF, 0xC6, 0x31, 0x8C, 0x63, 0x18, 0xC6, 0x31, 0x8C, 0x63, + 0xFF, 0xC0, 0x0C, 0x05, 0x03, 0x60, 0xCC, 0x61, 0x18, 0x60, 0xFF, 0xFF, + 0xFC, 0x38, 0x38, 0x38, 0x00, 0x00, 0x1F, 0x3B, 0x61, 0x41, 0xC1, 0xC1, + 0xC1, 0xC3, 0x67, 0x3D, 0x80, 0x80, 0x80, 0x80, 0xBC, 0xFE, 0xC3, 0x83, + 0x83, 0x83, 0x82, 0x86, 0x8C, 0xF8, 0x3E, 0xEF, 0x06, 0x08, 0x10, 0x20, + 0x60, 0xE2, 0x7C, 0x01, 0x01, 0x01, 0x01, 0x1F, 0x3B, 0x61, 0x41, 0xC1, + 0xC1, 0xC1, 0xC3, 0x67, 0x3D, 0x1E, 0x3B, 0x90, 0x58, 0x3F, 0xFF, 0xFF, + 0x00, 0x80, 0x70, 0x1F, 0x80, 0x03, 0xC1, 0xF0, 0xC0, 0x30, 0x0C, 0x1F, + 0xE7, 0xF8, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0x1F, + 0x3B, 0x61, 0x41, 0xC1, 0xC1, 0xC1, 0xC3, 0x67, 0x3D, 0x01, 0x43, 0xFF, + 0x3E, 0xC0, 0xC0, 0xC0, 0xC0, 0xDE, 0xFF, 0xE3, 0xC3, 0xC3, 0xC3, 0xC3, + 0xC3, 0xC3, 0xC3, 0x18, 0x38, 0x00, 0x00, 0xF8, 0xF8, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x0F, 0x0C, 0x30, 0x00, 0x3C, 0xF0, 0xC3, 0x0C, + 0x30, 0xC3, 0x0C, 0x30, 0xC3, 0x1F, 0xE0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC3, + 0xC6, 0xCC, 0xD8, 0xF0, 0xD8, 0xD8, 0xCC, 0xC6, 0xC3, 0xF0, 0xF0, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x18, 0x0F, 0xBB, + 0x5F, 0xF3, 0x39, 0x18, 0x8C, 0x46, 0x23, 0x11, 0x88, 0xC4, 0x40, 0x9D, + 0xFF, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x04, 0x3E, 0x3B, 0xB0, 0x78, + 0x3C, 0x1E, 0x0F, 0x07, 0x83, 0x63, 0x1F, 0x00, 0x9C, 0xBE, 0xC2, 0x83, + 0x83, 0x83, 0x82, 0x86, 0x8C, 0xF8, 0x80, 0x80, 0x80, 0x80, 0x1F, 0xBF, + 0xD8, 0x78, 0x3C, 0x1E, 0x0F, 0x07, 0xCF, 0x7F, 0x9E, 0xC0, 0x60, 0x30, + 0x18, 0x0C, 0xDE, 0xFF, 0xE3, 0xC3, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, + 0x7F, 0xCF, 0x06, 0x07, 0x07, 0xC1, 0x81, 0x87, 0xF8, 0x18, 0x0C, 0x06, + 0x1F, 0xFF, 0xF8, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x03, 0xF0, 0xF8, + 0x83, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC3, 0xCE, 0xF4, 0xC1, 0xE0, 0xD0, + 0x4C, 0x66, 0x31, 0xB0, 0xD8, 0x28, 0x1C, 0x0E, 0x00, 0xC0, 0x68, 0x09, + 0x01, 0x22, 0x26, 0xEC, 0xD5, 0x9A, 0xB3, 0xDE, 0x31, 0x86, 0x30, 0xC1, + 0xB1, 0x8C, 0xC6, 0xC1, 0xC0, 0xE0, 0xD8, 0x6C, 0x63, 0x60, 0xC0, 0xC1, + 0xE0, 0xD0, 0x4C, 0x66, 0x31, 0x90, 0xD8, 0x28, 0x1C, 0x0E, 0x06, 0x03, + 0x07, 0x07, 0x00, 0xFE, 0xFE, 0x0C, 0x0C, 0x18, 0x30, 0x60, 0x60, 0xC0, + 0xFF, 0x0E, 0x3C, 0x60, 0xC1, 0x83, 0x06, 0x78, 0xF0, 0x70, 0x60, 0xC1, + 0x83, 0x06, 0x0C, 0x1E, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xE0, + 0xC1, 0x83, 0x06, 0x0E, 0x0F, 0x1E, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, + 0xF1, 0xC0, 0x70, 0x3E, 0x3C, 0xCF, 0x1F, 0x03, 0x80 }; + +const GFXglyph Code_New_Roman10pt7bGlyphs[] PROGMEM = { + { 0, 1, 1, 11, 0, 0 }, // 0x20 ' ' + { 1, 3, 14, 11, 4, -13 }, // 0x21 '!' + { 7, 6, 5, 11, 3, -13 }, // 0x22 '"' + { 11, 10, 13, 11, 0, -12 }, // 0x23 '#' + { 28, 9, 17, 11, 1, -14 }, // 0x24 '$' + { 48, 11, 14, 11, 0, -13 }, // 0x25 '%' + { 68, 11, 14, 11, 1, -13 }, // 0x26 '&' + { 88, 2, 5, 11, 4, -13 }, // 0x27 ''' + { 90, 8, 19, 11, 2, -14 }, // 0x28 '(' + { 109, 8, 19, 11, 1, -14 }, // 0x29 ')' + { 128, 7, 8, 11, 2, -13 }, // 0x2A '*' + { 135, 10, 10, 11, 1, -10 }, // 0x2B '+' + { 148, 5, 6, 11, 2, -2 }, // 0x2C ',' + { 152, 6, 2, 11, 3, -6 }, // 0x2D '-' + { 154, 3, 3, 11, 4, -2 }, // 0x2E '.' + { 156, 9, 16, 11, 1, -13 }, // 0x2F '/' + { 174, 10, 13, 11, 1, -12 }, // 0x30 '0' + { 191, 8, 13, 11, 2, -12 }, // 0x31 '1' + { 204, 8, 13, 11, 1, -12 }, // 0x32 '2' + { 217, 8, 13, 11, 2, -12 }, // 0x33 '3' + { 230, 10, 13, 11, 0, -12 }, // 0x34 '4' + { 247, 8, 13, 11, 2, -12 }, // 0x35 '5' + { 260, 9, 13, 11, 1, -12 }, // 0x36 '6' + { 275, 9, 13, 11, 1, -12 }, // 0x37 '7' + { 290, 9, 13, 11, 1, -12 }, // 0x38 '8' + { 305, 9, 13, 11, 1, -12 }, // 0x39 '9' + { 320, 3, 10, 11, 4, -9 }, // 0x3A ':' + { 324, 5, 13, 11, 2, -9 }, // 0x3B ';' + { 333, 8, 11, 11, 1, -10 }, // 0x3C '<' + { 344, 8, 6, 11, 1, -7 }, // 0x3D '=' + { 350, 8, 11, 11, 2, -10 }, // 0x3E '>' + { 361, 6, 14, 11, 3, -13 }, // 0x3F '?' + { 372, 10, 18, 11, 0, -13 }, // 0x40 '@' + { 395, 11, 13, 11, 0, -12 }, // 0x41 'A' + { 413, 9, 13, 11, 2, -12 }, // 0x42 'B' + { 428, 9, 13, 11, 1, -12 }, // 0x43 'C' + { 443, 9, 13, 11, 1, -12 }, // 0x44 'D' + { 458, 7, 13, 11, 2, -12 }, // 0x45 'E' + { 470, 7, 13, 11, 2, -12 }, // 0x46 'F' + { 482, 10, 13, 11, 1, -12 }, // 0x47 'G' + { 499, 9, 13, 11, 1, -12 }, // 0x48 'H' + { 514, 7, 13, 11, 2, -12 }, // 0x49 'I' + { 526, 7, 13, 11, 2, -12 }, // 0x4A 'J' + { 538, 8, 13, 11, 2, -12 }, // 0x4B 'K' + { 551, 7, 13, 11, 2, -12 }, // 0x4C 'L' + { 563, 9, 13, 11, 1, -12 }, // 0x4D 'M' + { 578, 9, 13, 11, 1, -12 }, // 0x4E 'N' + { 593, 9, 13, 11, 1, -12 }, // 0x4F 'O' + { 608, 9, 13, 11, 2, -12 }, // 0x50 'P' + { 623, 11, 17, 11, 1, -12 }, // 0x51 'Q' + { 647, 9, 13, 11, 2, -12 }, // 0x52 'R' + { 662, 9, 13, 11, 1, -12 }, // 0x53 'S' + { 677, 10, 13, 11, 1, -12 }, // 0x54 'T' + { 694, 9, 13, 11, 1, -12 }, // 0x55 'U' + { 709, 12, 13, 11, -1, -12 }, // 0x56 'V' + { 729, 11, 13, 11, 0, -12 }, // 0x57 'W' + { 747, 11, 13, 11, 0, -12 }, // 0x58 'X' + { 765, 12, 13, 11, 0, -12 }, // 0x59 'Y' + { 785, 9, 13, 11, 1, -12 }, // 0x5A 'Z' + { 800, 5, 18, 11, 3, -13 }, // 0x5B '[' + { 812, 9, 16, 11, 2, -13 }, // 0x5C '\' + { 830, 5, 18, 11, 3, -13 }, // 0x5D ']' + { 842, 10, 6, 11, 1, -12 }, // 0x5E '^' + { 850, 11, 2, 11, 0, 3 }, // 0x5F '_' + { 853, 7, 5, 11, 0, -14 }, // 0x60 '`' + { 858, 8, 10, 11, 1, -9 }, // 0x61 'a' + { 868, 8, 14, 11, 2, -13 }, // 0x62 'b' + { 882, 7, 10, 11, 2, -9 }, // 0x63 'c' + { 891, 8, 14, 11, 1, -13 }, // 0x64 'd' + { 905, 9, 10, 11, 1, -9 }, // 0x65 'e' + { 917, 10, 14, 11, 0, -13 }, // 0x66 'f' + { 935, 8, 14, 11, 1, -9 }, // 0x67 'g' + { 949, 8, 14, 11, 2, -13 }, // 0x68 'h' + { 963, 8, 14, 10, 1, -13 }, // 0x69 'i' + { 977, 6, 18, 8, 1, -13 }, // 0x6A 'j' + { 991, 8, 14, 11, 2, -13 }, // 0x6B 'k' + { 1005, 8, 14, 9, 1, -13 }, // 0x6C 'l' + { 1019, 9, 10, 11, 1, -9 }, // 0x6D 'm' + { 1031, 7, 10, 11, 2, -9 }, // 0x6E 'n' + { 1040, 9, 10, 11, 1, -9 }, // 0x6F 'o' + { 1052, 8, 14, 11, 2, -9 }, // 0x70 'p' + { 1066, 9, 14, 11, 1, -9 }, // 0x71 'q' + { 1082, 8, 10, 11, 2, -9 }, // 0x72 'r' + { 1092, 7, 10, 11, 2, -9 }, // 0x73 's' + { 1101, 9, 13, 11, 1, -12 }, // 0x74 't' + { 1116, 7, 10, 11, 2, -9 }, // 0x75 'u' + { 1125, 9, 10, 11, 1, -9 }, // 0x76 'v' + { 1137, 11, 10, 11, 0, -9 }, // 0x77 'w' + { 1151, 9, 10, 11, 1, -9 }, // 0x78 'x' + { 1163, 9, 14, 11, 1, -9 }, // 0x79 'y' + { 1179, 8, 10, 11, 2, -9 }, // 0x7A 'z' + { 1189, 7, 18, 11, 1, -13 }, // 0x7B '{' + { 1205, 2, 20, 11, 5, -15 }, // 0x7C '|' + { 1210, 7, 18, 11, 3, -13 }, // 0x7D '}' + { 1226, 10, 5, 11, 1, -6 } };// 0x7E '~' + +const GFXfont Code_New_Roman10pt7b PROGMEM = { + (uint8_t *)Code_New_Roman10pt7bBitmaps, + (GFXglyph *)Code_New_Roman10pt7bGlyphs, + 0x20, 0x7E, 23 }; + +// Approx. 1905 bytes diff --git a/lib/Paperdink/src/fonts/Code_New_Roman15pt7b.h b/lib/Paperdink/src/fonts/Code_New_Roman15pt7b.h new file mode 100644 index 0000000..1e79f59 --- /dev/null +++ b/lib/Paperdink/src/fonts/Code_New_Roman15pt7b.h @@ -0,0 +1,319 @@ +const uint8_t Code_New_Roman15pt7bBitmaps[] PROGMEM = { + 0x00, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x6F, 0xF6, 0xE7, + 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0x06, 0x70, 0x0C, 0xE0, 0x19, 0xC0, + 0x33, 0x80, 0x67, 0x0F, 0xFF, 0xDF, 0xFF, 0x87, 0x70, 0x0E, 0xE0, 0x1D, + 0xC0, 0x33, 0x80, 0x67, 0x0F, 0xFF, 0xDF, 0xFF, 0x87, 0x78, 0x0E, 0xE0, + 0x1D, 0xC0, 0x3B, 0x80, 0x77, 0x00, 0x01, 0x80, 0x0C, 0x00, 0x60, 0x1F, + 0xC3, 0xFF, 0x39, 0xCB, 0x8C, 0x1C, 0x60, 0xE3, 0x07, 0x98, 0x1F, 0xC0, + 0x3F, 0x00, 0x7E, 0x03, 0x78, 0x19, 0xE0, 0xC7, 0x06, 0x38, 0x31, 0xE1, + 0x9D, 0xFF, 0xC3, 0xF8, 0x06, 0x00, 0x30, 0x01, 0x80, 0x1F, 0x06, 0x1F, + 0xC6, 0x1C, 0x77, 0x0E, 0x3B, 0x07, 0x1F, 0x03, 0x8F, 0x80, 0xFF, 0x80, + 0x3F, 0x80, 0x01, 0xC0, 0x00, 0xC0, 0x00, 0xE0, 0x00, 0x60, 0x00, 0x63, + 0xE0, 0x73, 0xF8, 0x33, 0x8E, 0x31, 0xC7, 0x38, 0xE3, 0x98, 0x71, 0xD8, + 0x1F, 0xDC, 0x07, 0xC0, 0x07, 0xC0, 0x3F, 0xC0, 0xF3, 0xC1, 0xC3, 0x83, + 0x87, 0x07, 0x0E, 0x0E, 0x38, 0x0E, 0xE0, 0x1F, 0x80, 0x3C, 0x00, 0xFC, + 0x73, 0x9C, 0xEE, 0x39, 0xDC, 0x3B, 0x38, 0x3E, 0x70, 0x7C, 0xE0, 0x70, + 0xE1, 0xF1, 0xFF, 0x70, 0xF8, 0xF0, 0xFF, 0xFF, 0xF8, 0x00, 0xF0, 0x3F, + 0x07, 0x80, 0xE0, 0x1C, 0x03, 0x80, 0x30, 0x07, 0x00, 0x60, 0x0E, 0x00, + 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, + 0x70, 0x07, 0x00, 0x38, 0x03, 0x80, 0x1C, 0x00, 0xF0, 0x07, 0xC0, 0x3F, + 0x00, 0x70, 0xF0, 0x0F, 0xC0, 0x1E, 0x00, 0x70, 0x03, 0x80, 0x1C, 0x01, + 0xC0, 0x0E, 0x00, 0xE0, 0x07, 0x00, 0x70, 0x07, 0x00, 0x70, 0x07, 0x00, + 0x70, 0x07, 0x00, 0x70, 0x06, 0x00, 0xE0, 0x0E, 0x01, 0xC0, 0x1C, 0x03, + 0x80, 0xF0, 0x3E, 0x0F, 0x80, 0xE0, 0x00, 0x06, 0x00, 0x60, 0x46, 0x2E, + 0x67, 0x7F, 0xE0, 0xF0, 0x0F, 0x03, 0xFC, 0xE6, 0x74, 0x62, 0x06, 0x00, + 0x60, 0x03, 0x80, 0x07, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x70, + 0x3F, 0xFF, 0xFF, 0xFF, 0x03, 0x80, 0x07, 0x00, 0x0E, 0x00, 0x1C, 0x00, + 0x38, 0x00, 0x70, 0x00, 0x1C, 0x7C, 0xF8, 0xF1, 0xE3, 0xCF, 0x7C, 0xE0, + 0xFF, 0xFF, 0x77, 0xFF, 0xF7, 0x00, 0x00, 0x30, 0x07, 0x00, 0x60, 0x0E, + 0x00, 0xC0, 0x0C, 0x01, 0xC0, 0x18, 0x03, 0x80, 0x30, 0x07, 0x00, 0x60, + 0x06, 0x00, 0xC0, 0x0C, 0x01, 0xC0, 0x18, 0x03, 0x80, 0x30, 0x03, 0x00, + 0x60, 0x06, 0x00, 0xE0, 0x00, 0x0F, 0xC0, 0x7F, 0x83, 0x87, 0x1C, 0x0E, + 0x70, 0x3B, 0x80, 0xFE, 0x07, 0xF8, 0x37, 0xE1, 0x9F, 0x8C, 0x7E, 0x61, + 0xFB, 0x07, 0xF8, 0x1F, 0xC0, 0x77, 0x03, 0x9C, 0x0E, 0x38, 0x70, 0x7F, + 0x80, 0xFC, 0x00, 0x07, 0x80, 0xFC, 0x1E, 0xE1, 0xE7, 0x04, 0x38, 0x01, + 0xC0, 0x0E, 0x00, 0x70, 0x03, 0x80, 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x38, + 0x01, 0xC0, 0x0E, 0x00, 0x70, 0x03, 0x83, 0xFF, 0xDF, 0xFE, 0x1F, 0x07, + 0xF8, 0xE1, 0xC4, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x01, 0xC0, + 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x80, 0x70, 0x0F, + 0xFF, 0xFF, 0xF0, 0x3F, 0x07, 0xFC, 0x41, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, + 0x00, 0xE0, 0x3C, 0x3F, 0x03, 0xFC, 0x01, 0xE0, 0x0F, 0x00, 0x70, 0x07, + 0x00, 0x70, 0x0E, 0x01, 0xEF, 0xFC, 0xFE, 0x00, 0x00, 0xF0, 0x03, 0xE0, + 0x0F, 0xC0, 0x1B, 0x80, 0x77, 0x00, 0xCE, 0x03, 0x9C, 0x0E, 0x38, 0x18, + 0x70, 0x70, 0xE0, 0xC1, 0xC3, 0x03, 0x8E, 0x07, 0x1F, 0xFF, 0xFF, 0xFF, + 0x80, 0x38, 0x00, 0x70, 0x00, 0xE0, 0x01, 0xC0, 0xFF, 0xEF, 0xFE, 0xE0, + 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xFF, 0x0F, 0xFC, 0x01, + 0xE0, 0x0F, 0x00, 0x70, 0x07, 0x00, 0x70, 0x0E, 0x01, 0xEF, 0xF8, 0xFE, + 0x00, 0x03, 0xF0, 0x7F, 0x87, 0x80, 0x70, 0x07, 0x00, 0x38, 0x03, 0x80, + 0x1D, 0xF8, 0xFF, 0xF7, 0x83, 0xB8, 0x1F, 0xC0, 0x7E, 0x03, 0xF0, 0x1F, + 0xC0, 0xEE, 0x0E, 0x78, 0xF1, 0xFF, 0x03, 0xE0, 0xFF, 0xFF, 0xFF, 0xC0, + 0x0E, 0x00, 0x60, 0x07, 0x00, 0x30, 0x03, 0x80, 0x18, 0x01, 0xC0, 0x0C, + 0x00, 0xE0, 0x07, 0x00, 0x70, 0x03, 0x80, 0x38, 0x01, 0xC0, 0x1C, 0x00, + 0xE0, 0x0E, 0x00, 0x1F, 0xC3, 0xFF, 0x9C, 0x1F, 0xC0, 0x7E, 0x03, 0xF0, + 0x1F, 0xC1, 0xCF, 0x9E, 0x1F, 0xC0, 0xFE, 0x0E, 0x78, 0xE0, 0xEE, 0x07, + 0xF0, 0x1F, 0x80, 0xFC, 0x07, 0x70, 0x73, 0xFF, 0x07, 0xE0, 0x0F, 0x81, + 0xFF, 0x1E, 0x3C, 0xE0, 0xEE, 0x07, 0x70, 0x1F, 0x80, 0xFC, 0x07, 0xE0, + 0x3B, 0x83, 0xDF, 0xFE, 0x3F, 0x70, 0x03, 0x80, 0x38, 0x01, 0xC0, 0x1C, + 0x03, 0xC3, 0xFC, 0x1F, 0x80, 0x6F, 0xF6, 0x00, 0x00, 0x00, 0x6F, 0xF6, + 0x18, 0x78, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0xF3, 0xE3, + 0xC7, 0x8F, 0x3D, 0xF3, 0x80, 0x00, 0x40, 0x1C, 0x0F, 0x03, 0xC0, 0xE0, + 0x38, 0x0E, 0x03, 0x80, 0xF0, 0x07, 0x00, 0x70, 0x07, 0x00, 0x78, 0x07, + 0x80, 0x38, 0x02, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, + 0xFF, 0xF0, 0x40, 0x1C, 0x01, 0xE0, 0x1E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, + 0x0F, 0x01, 0xC0, 0x70, 0x1C, 0x07, 0x03, 0xC0, 0xE0, 0x38, 0x02, 0x00, + 0xF0, 0x7E, 0x07, 0x80, 0xE0, 0x38, 0x1C, 0x0E, 0x07, 0x07, 0x9F, 0x8F, + 0x87, 0x03, 0x81, 0xC0, 0x00, 0x00, 0x30, 0x3C, 0x1E, 0x06, 0x00, 0x01, + 0xF0, 0x07, 0xF8, 0x0E, 0x1C, 0x1C, 0x0E, 0x18, 0x06, 0x30, 0x07, 0x30, + 0x03, 0x61, 0xF3, 0x63, 0xF3, 0x67, 0x73, 0xC6, 0x73, 0xCE, 0x63, 0xCE, + 0x63, 0xCE, 0x63, 0xCE, 0x63, 0xCE, 0x66, 0xCE, 0xE6, 0xCF, 0xFC, 0xC7, + 0x38, 0xC0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x70, 0x00, 0x38, 0x30, 0x1F, + 0xF0, 0x0F, 0xC0, 0x01, 0xC0, 0x01, 0xF0, 0x00, 0xD8, 0x00, 0x6C, 0x00, + 0x77, 0x00, 0x31, 0x80, 0x18, 0xC0, 0x1C, 0x70, 0x0C, 0x18, 0x06, 0x0C, + 0x07, 0x07, 0x03, 0x03, 0x81, 0x80, 0xC1, 0xFF, 0xF0, 0xFF, 0xF8, 0x60, + 0x0C, 0x70, 0x07, 0x38, 0x03, 0x98, 0x00, 0xC0, 0xFF, 0x0F, 0xFC, 0xE1, + 0xEE, 0x0E, 0xE0, 0xEE, 0x0E, 0xE0, 0xEE, 0x1C, 0xFF, 0x8F, 0xFC, 0xE1, + 0xEE, 0x0F, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0xEF, 0xFC, 0xFF, + 0x00, 0x07, 0xF0, 0xFF, 0xCF, 0x02, 0x70, 0x07, 0x00, 0x38, 0x03, 0x80, + 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x38, 0x01, 0xC0, 0x0E, 0x00, 0x78, 0x01, + 0xC0, 0x0F, 0x00, 0x3C, 0x08, 0xFF, 0xC1, 0xFC, 0xFF, 0x83, 0xFF, 0x8E, + 0x0F, 0x38, 0x1E, 0xE0, 0x3B, 0x80, 0xFE, 0x01, 0xF8, 0x07, 0xE0, 0x1F, + 0x80, 0x7E, 0x01, 0xF8, 0x07, 0xE0, 0x1F, 0x80, 0xEE, 0x03, 0xB8, 0x1C, + 0xE0, 0xF3, 0xFF, 0x0F, 0xF0, 0x00, 0xFF, 0xFF, 0xFF, 0x80, 0x70, 0x0E, + 0x01, 0xC0, 0x38, 0x07, 0x00, 0xFF, 0xFF, 0xFF, 0x80, 0x70, 0x0E, 0x01, + 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x1F, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFE, + 0x03, 0x80, 0xE0, 0x38, 0x0E, 0x03, 0x80, 0xE0, 0x3F, 0xFF, 0xFF, 0x80, + 0xE0, 0x38, 0x0E, 0x03, 0x80, 0xE0, 0x38, 0x0E, 0x00, 0x03, 0xF8, 0x3F, + 0xF1, 0xE0, 0x4E, 0x00, 0x70, 0x01, 0xC0, 0x0E, 0x00, 0x38, 0x00, 0xE0, + 0x03, 0x87, 0xFE, 0x1F, 0xF8, 0x07, 0xE0, 0x1D, 0xC0, 0x77, 0x01, 0xDE, + 0x07, 0x3C, 0x1C, 0x7F, 0xF0, 0x7F, 0x00, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, + 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xFF, 0xFF, 0xFF, 0xE0, 0x7E, + 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x70, + 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, + 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, + 0x06, 0x0F, 0xFF, 0xFF, 0xF0, 0x1F, 0xC7, 0xF1, 0xFC, 0x03, 0x00, 0xC0, + 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x70, 0x1C, + 0x07, 0xC3, 0xBF, 0xE7, 0xE0, 0xE0, 0x3F, 0x03, 0xB8, 0x39, 0xC3, 0x8E, + 0x18, 0x71, 0xC3, 0x9C, 0x1D, 0xC0, 0xEC, 0x07, 0xE0, 0x3B, 0x01, 0xDC, + 0x0E, 0x70, 0x71, 0xC3, 0x87, 0x1C, 0x38, 0xE0, 0xE7, 0x03, 0xB8, 0x0E, + 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, + 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x1F, + 0xFF, 0xFF, 0x80, 0x70, 0x3D, 0xC0, 0xFF, 0x03, 0xF6, 0x1B, 0xD8, 0x6F, + 0x61, 0x3C, 0xCC, 0xF3, 0x33, 0xCC, 0x8F, 0x1E, 0x3C, 0x78, 0xF0, 0xC3, + 0xC3, 0x0F, 0x00, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x0F, 0x00, 0x3C, 0x00, + 0xC0, 0xF0, 0x7F, 0x07, 0xF8, 0x7F, 0x87, 0xF8, 0x7E, 0xC7, 0xEC, 0x7E, + 0xC7, 0xE6, 0x7E, 0x67, 0xE6, 0x7E, 0x37, 0xE3, 0x7E, 0x37, 0xE1, 0xFE, + 0x1F, 0xE1, 0xFE, 0x0F, 0xE0, 0xF0, 0x07, 0xC0, 0x7F, 0x83, 0x87, 0x1C, + 0x0E, 0x70, 0x3B, 0x80, 0x7E, 0x01, 0xF8, 0x07, 0xE0, 0x1F, 0x80, 0x7E, + 0x01, 0xF8, 0x07, 0xE0, 0x1F, 0x80, 0xE7, 0x03, 0x9C, 0x0E, 0x38, 0x70, + 0x7F, 0x80, 0xF8, 0x00, 0xFF, 0x87, 0xFF, 0x38, 0x3D, 0xC0, 0xFE, 0x03, + 0xF0, 0x1F, 0x80, 0xFC, 0x07, 0xE0, 0x77, 0x07, 0xBF, 0xF9, 0xFF, 0x0E, + 0x00, 0x70, 0x03, 0x80, 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x38, 0x00, 0x07, + 0xE0, 0x1F, 0xF0, 0x3C, 0x78, 0x78, 0x1C, 0x70, 0x1C, 0x70, 0x0E, 0xE0, + 0x0E, 0xE0, 0x0E, 0xE0, 0x0E, 0xE0, 0x0E, 0xE0, 0x0E, 0xE0, 0x0E, 0xE0, + 0x0E, 0xE0, 0x1C, 0x70, 0x1C, 0x70, 0x3C, 0x3C, 0x78, 0x1F, 0xF0, 0x0F, + 0xC0, 0x03, 0x80, 0x03, 0xC0, 0x01, 0xC2, 0x01, 0xFF, 0x00, 0x7E, 0xFF, + 0x0F, 0xFC, 0xE1, 0xEE, 0x0E, 0xE0, 0xEE, 0x0E, 0xE0, 0xEE, 0x1C, 0xFF, + 0x8F, 0xE0, 0xE3, 0x0E, 0x38, 0xE1, 0x8E, 0x1C, 0xE0, 0xCE, 0x0E, 0xE0, + 0xEE, 0x06, 0xE0, 0x70, 0x0F, 0xE1, 0xFF, 0x9E, 0x05, 0xC0, 0x0E, 0x00, + 0x70, 0x03, 0xC0, 0x0F, 0x00, 0x3F, 0x00, 0xFE, 0x00, 0xFC, 0x01, 0xE0, + 0x07, 0x80, 0x1C, 0x00, 0xE0, 0x07, 0xC0, 0xF7, 0xFF, 0x1F, 0xE0, 0xFF, + 0xFF, 0xFF, 0xC1, 0xC0, 0x0E, 0x00, 0x70, 0x03, 0x80, 0x1C, 0x00, 0xE0, + 0x07, 0x00, 0x38, 0x01, 0xC0, 0x0E, 0x00, 0x70, 0x03, 0x80, 0x1C, 0x00, + 0xE0, 0x07, 0x00, 0x38, 0x01, 0xC0, 0xE0, 0x3F, 0x01, 0xF8, 0x0F, 0xC0, + 0x7E, 0x03, 0xF0, 0x1F, 0x80, 0xFC, 0x07, 0xE0, 0x3F, 0x01, 0xF8, 0x0F, + 0xC0, 0x7E, 0x03, 0xF0, 0x1F, 0x80, 0xFE, 0x0E, 0x78, 0xF1, 0xFF, 0x07, + 0xE0, 0x70, 0x03, 0x38, 0x03, 0x9C, 0x01, 0xC6, 0x00, 0xC3, 0x80, 0xE1, + 0xC0, 0x70, 0x60, 0x30, 0x38, 0x38, 0x1C, 0x1C, 0x06, 0x0C, 0x03, 0x8E, + 0x01, 0xC7, 0x00, 0x63, 0x00, 0x3B, 0x80, 0x1D, 0xC0, 0x06, 0xC0, 0x03, + 0x60, 0x01, 0xF0, 0x00, 0x70, 0x00, 0xE0, 0x1F, 0x80, 0x7E, 0x01, 0xF8, + 0x07, 0xE0, 0x1F, 0x80, 0x7E, 0x31, 0xF8, 0xC7, 0xE7, 0x9F, 0x9E, 0x76, + 0x79, 0x99, 0x36, 0x6C, 0xD9, 0xB3, 0x66, 0x87, 0x9E, 0x1E, 0x78, 0x79, + 0xC0, 0xE7, 0x03, 0x80, 0x70, 0x0E, 0x38, 0x1C, 0x18, 0x38, 0x1C, 0x38, + 0x0E, 0x70, 0x0E, 0x70, 0x07, 0xE0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, + 0x07, 0xC0, 0x07, 0xE0, 0x0E, 0x70, 0x1E, 0x70, 0x1C, 0x38, 0x38, 0x1C, + 0x38, 0x1C, 0x70, 0x0E, 0xE0, 0x0F, 0xE0, 0x03, 0xB8, 0x03, 0x9C, 0x01, + 0xC7, 0x01, 0xC1, 0xC1, 0xC0, 0xE0, 0xE0, 0x38, 0xE0, 0x1C, 0x70, 0x07, + 0x70, 0x01, 0xF0, 0x00, 0xF8, 0x00, 0x38, 0x00, 0x1C, 0x00, 0x0E, 0x00, + 0x07, 0x00, 0x03, 0x80, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0x70, 0x00, 0xFF, + 0xFF, 0xFF, 0xC0, 0x0C, 0x00, 0xE0, 0x0E, 0x00, 0x60, 0x07, 0x00, 0x70, + 0x03, 0x00, 0x38, 0x01, 0x80, 0x1C, 0x01, 0xC0, 0x0C, 0x00, 0xE0, 0x06, + 0x00, 0x60, 0x07, 0xFF, 0xBF, 0xFC, 0xFF, 0xFF, 0xE0, 0xE0, 0xE0, 0xE0, + 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, + 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xFF, 0xFF, 0xE0, 0x06, 0x00, + 0x60, 0x03, 0x00, 0x30, 0x03, 0x80, 0x18, 0x01, 0xC0, 0x0C, 0x00, 0xC0, + 0x06, 0x00, 0x60, 0x07, 0x00, 0x30, 0x03, 0x80, 0x18, 0x01, 0xC0, 0x0C, + 0x00, 0xC0, 0x0E, 0x00, 0x60, 0x07, 0x00, 0x30, 0xFF, 0xFF, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xFF, 0xFF, 0x07, + 0x00, 0x1E, 0x00, 0xD8, 0x03, 0x70, 0x18, 0xE0, 0xE1, 0x83, 0x87, 0x1C, + 0x0E, 0x70, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0x1E, 0x01, 0xC0, 0x38, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x3F, 0xF3, 0x87, 0x70, 0x7E, 0x07, 0xE0, + 0x7C, 0x07, 0xC0, 0x7C, 0x07, 0xC0, 0x7E, 0x0F, 0xE1, 0xF7, 0xFF, 0x3F, + 0x70, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x10, 0xEF, 0xCF, + 0xFE, 0xF8, 0x7F, 0x07, 0xE0, 0x3E, 0x03, 0xE0, 0x3E, 0x07, 0xE0, 0x7E, + 0x06, 0xE0, 0xEE, 0x1C, 0xFF, 0x87, 0xF0, 0x0F, 0xE7, 0xFD, 0xE0, 0x38, + 0x06, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x01, 0xC0, 0x3C, 0x03, + 0xFE, 0x1F, 0xC0, 0x00, 0x70, 0x07, 0x00, 0x70, 0x07, 0x00, 0x70, 0x07, + 0x0F, 0xF3, 0xFF, 0x38, 0x77, 0x07, 0xE0, 0x7E, 0x07, 0xC0, 0x7C, 0x07, + 0xC0, 0x7C, 0x07, 0xE0, 0xFE, 0x1F, 0x7F, 0xF3, 0xF7, 0x1F, 0xC3, 0xFE, + 0x70, 0x6E, 0x07, 0xC0, 0x3C, 0x03, 0xFF, 0xFF, 0xFF, 0xC0, 0x0C, 0x00, + 0xE0, 0x07, 0x00, 0x7F, 0xF1, 0xFF, 0x00, 0x7E, 0x03, 0xFC, 0x07, 0x00, + 0x1C, 0x00, 0x38, 0x00, 0x70, 0x00, 0xE0, 0x01, 0xC0, 0x7F, 0xFC, 0xFF, + 0xF8, 0x0E, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x70, 0x00, 0xE0, 0x01, 0xC0, + 0x03, 0x80, 0x07, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x00, 0x00, 0xFF, 0x3F, + 0xF3, 0x87, 0x70, 0x7E, 0x07, 0xE0, 0x7C, 0x07, 0xC0, 0x7C, 0x07, 0xC0, + 0x7E, 0x0F, 0xE1, 0xF7, 0xFF, 0x3F, 0x70, 0x07, 0x00, 0x6E, 0x0E, 0xFF, + 0xE7, 0xFC, 0x1F, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, + 0x00, 0xE7, 0xCE, 0xFE, 0xF8, 0xFF, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, + 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0x1C, 0x03, + 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x07, 0xE0, 0x0C, 0x01, 0x80, + 0x30, 0x06, 0x00, 0xC0, 0x18, 0x03, 0x00, 0x60, 0x0C, 0x01, 0xC0, 0x1F, + 0x81, 0xF0, 0x07, 0x03, 0x81, 0xC0, 0x00, 0x00, 0x00, 0xFC, 0x7E, 0x03, + 0x01, 0x80, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x03, 0x01, 0x80, 0xC0, + 0x60, 0x30, 0x18, 0x1C, 0x1E, 0xFE, 0x7E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, + 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x7E, 0x0E, 0xE1, 0xCE, 0x38, 0xE7, + 0x0E, 0xE0, 0xFC, 0x0E, 0xE0, 0xE7, 0x0E, 0x70, 0xE3, 0x8E, 0x1C, 0xE0, + 0xEE, 0x07, 0xFC, 0x1F, 0x80, 0x30, 0x06, 0x00, 0xC0, 0x18, 0x03, 0x00, + 0x60, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, 0xC0, 0x18, 0x03, 0x00, 0x60, + 0x0E, 0x01, 0xC0, 0x1F, 0x81, 0xF0, 0xDE, 0x7B, 0x7F, 0xEF, 0x39, 0xF8, + 0xE7, 0xE3, 0x1F, 0x8C, 0x7E, 0x31, 0xF8, 0xC7, 0xE3, 0x1F, 0x8C, 0x7E, + 0x31, 0xF8, 0xC7, 0xE3, 0x1F, 0x8C, 0x70, 0xCF, 0xCF, 0xFE, 0xF8, 0x6F, + 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, + 0x07, 0xE0, 0x7E, 0x07, 0x1F, 0xE0, 0xFF, 0xC7, 0x03, 0x9C, 0x0E, 0x60, + 0x1B, 0x80, 0x7E, 0x01, 0xF8, 0x07, 0xE0, 0x1D, 0x80, 0x67, 0x03, 0x9E, + 0x1C, 0x3F, 0xF0, 0x7F, 0x00, 0xE7, 0xCF, 0xFE, 0xF8, 0x6F, 0x07, 0xE0, + 0x3E, 0x03, 0xE0, 0x3E, 0x03, 0xE0, 0x7E, 0x06, 0xE0, 0xEE, 0x1C, 0xFF, + 0x8F, 0xF0, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0x0F, + 0xF9, 0xFF, 0xDE, 0x0E, 0xE0, 0x7E, 0x03, 0xF0, 0x1F, 0x80, 0xFC, 0x07, + 0xE0, 0x3F, 0x03, 0xFC, 0x1E, 0xE3, 0xF3, 0xFB, 0x8F, 0x1C, 0x00, 0xE0, + 0x07, 0x00, 0x38, 0x01, 0xC0, 0x0E, 0x00, 0x70, 0xCF, 0xCD, 0xFE, 0xF8, + 0xEF, 0x06, 0xE0, 0x7C, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0xC0, + 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0x3F, 0xDF, 0xFB, 0x80, 0x60, 0x0E, 0x01, + 0xF0, 0x1F, 0xC0, 0xFC, 0x03, 0xC0, 0x18, 0x03, 0x80, 0xEF, 0xFD, 0xFE, + 0x00, 0x06, 0x00, 0x70, 0x03, 0x80, 0x1C, 0x00, 0xE0, 0x7F, 0xFF, 0xFF, + 0xE1, 0xC0, 0x0E, 0x00, 0x70, 0x03, 0x80, 0x1C, 0x00, 0xE0, 0x07, 0x00, + 0x38, 0x01, 0xC0, 0x0F, 0x00, 0x3F, 0xC0, 0xFE, 0xE0, 0x7E, 0x07, 0xE0, + 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, + 0xF7, 0x1F, 0x7F, 0xF3, 0xE7, 0xE0, 0x1D, 0x80, 0x67, 0x03, 0x9C, 0x0C, + 0x30, 0x70, 0xE1, 0xC1, 0x86, 0x07, 0x38, 0x1C, 0xE0, 0x33, 0x00, 0xFC, + 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0xC0, 0x0F, 0x00, 0x3C, 0x00, 0xF0, + 0xC3, 0xE3, 0x1F, 0x9E, 0x7E, 0x79, 0x99, 0xE6, 0x6D, 0xD9, 0xB3, 0x66, + 0xCD, 0x9E, 0x1E, 0x78, 0x79, 0xE1, 0xC0, 0x70, 0x38, 0xE0, 0xE3, 0x87, + 0x07, 0x38, 0x0E, 0xC0, 0x3F, 0x00, 0x78, 0x01, 0xE0, 0x0F, 0xC0, 0x73, + 0x81, 0xCE, 0x0E, 0x1C, 0x70, 0x3B, 0xC0, 0xF0, 0xE0, 0x1D, 0x80, 0x67, + 0x03, 0x9C, 0x0C, 0x38, 0x30, 0xE1, 0xC1, 0x86, 0x07, 0x38, 0x1C, 0xE0, + 0x33, 0x00, 0xFC, 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x70, 0x01, 0xC0, + 0x0E, 0x00, 0x70, 0x0F, 0x80, 0x3C, 0x00, 0x7F, 0xE7, 0xFE, 0x00, 0xE0, + 0x1C, 0x03, 0x80, 0x30, 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x38, 0x07, + 0x00, 0xFF, 0xFF, 0xFF, 0x03, 0xC1, 0xF0, 0xF0, 0x38, 0x0E, 0x03, 0x80, + 0xE0, 0x38, 0x0E, 0x03, 0x80, 0xE0, 0x70, 0xF8, 0x3F, 0x01, 0xE0, 0x38, + 0x0E, 0x03, 0x80, 0xE0, 0x38, 0x0E, 0x03, 0x80, 0xE0, 0x38, 0x0F, 0x01, + 0xF0, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFE, 0xF0, 0x3E, 0x03, 0x80, 0x70, 0x1C, 0x07, 0x01, 0xC0, 0x70, 0x1C, + 0x07, 0x01, 0xC0, 0x38, 0x0F, 0xC1, 0xF0, 0xE0, 0x70, 0x1C, 0x07, 0x01, + 0xC0, 0x70, 0x1C, 0x07, 0x01, 0xC0, 0x70, 0x3C, 0x3E, 0x0F, 0x00, 0x3C, + 0x00, 0xFC, 0x1F, 0xCC, 0x3F, 0x0C, 0xFE, 0x0F, 0xC0, 0x0F, 0x00 }; + +const GFXglyph Code_New_Roman15pt7bGlyphs[] PROGMEM = { + { 0, 1, 1, 16, 0, 0 }, // 0x20 ' ' + { 1, 4, 20, 16, 6, -19 }, // 0x21 '!' + { 11, 8, 7, 16, 4, -19 }, // 0x22 '"' + { 18, 15, 19, 16, 1, -18 }, // 0x23 '#' + { 54, 13, 24, 16, 2, -20 }, // 0x24 '$' + { 93, 17, 20, 16, 0, -19 }, // 0x25 '%' + { 136, 15, 20, 16, 1, -19 }, // 0x26 '&' + { 174, 3, 7, 16, 6, -19 }, // 0x27 ''' + { 177, 12, 27, 16, 3, -20 }, // 0x28 '(' + { 218, 12, 27, 16, 1, -20 }, // 0x29 ')' + { 259, 12, 12, 16, 2, -19 }, // 0x2A '*' + { 277, 15, 14, 16, 1, -14 }, // 0x2B '+' + { 304, 7, 9, 16, 4, -3 }, // 0x2C ',' + { 312, 8, 2, 16, 4, -8 }, // 0x2D '-' + { 314, 5, 5, 16, 6, -4 }, // 0x2E '.' + { 318, 12, 23, 16, 2, -19 }, // 0x2F '/' + { 353, 14, 19, 16, 1, -18 }, // 0x30 '0' + { 387, 13, 19, 16, 1, -18 }, // 0x31 '1' + { 418, 12, 19, 16, 2, -18 }, // 0x32 '2' + { 447, 12, 19, 16, 2, -18 }, // 0x33 '3' + { 476, 15, 19, 16, 1, -18 }, // 0x34 '4' + { 512, 12, 19, 16, 3, -18 }, // 0x35 '5' + { 541, 13, 19, 16, 2, -18 }, // 0x36 '6' + { 572, 13, 19, 16, 2, -18 }, // 0x37 '7' + { 603, 13, 19, 16, 2, -18 }, // 0x38 '8' + { 634, 13, 19, 16, 1, -18 }, // 0x39 '9' + { 665, 4, 14, 16, 6, -13 }, // 0x3A ':' + { 672, 7, 19, 16, 4, -13 }, // 0x3B ';' + { 689, 11, 16, 16, 2, -15 }, // 0x3C '<' + { 711, 12, 7, 16, 2, -10 }, // 0x3D '=' + { 722, 11, 16, 16, 3, -15 }, // 0x3E '>' + { 744, 9, 20, 16, 4, -19 }, // 0x3F '?' + { 767, 16, 26, 16, 0, -19 }, // 0x40 '@' + { 819, 17, 19, 16, -1, -18 }, // 0x41 'A' + { 860, 12, 19, 16, 2, -18 }, // 0x42 'B' + { 889, 13, 19, 16, 1, -18 }, // 0x43 'C' + { 920, 14, 19, 16, 2, -18 }, // 0x44 'D' + { 954, 11, 19, 16, 3, -18 }, // 0x45 'E' + { 981, 10, 19, 16, 3, -18 }, // 0x46 'F' + { 1005, 14, 19, 16, 1, -18 }, // 0x47 'G' + { 1039, 12, 19, 16, 2, -18 }, // 0x48 'H' + { 1068, 12, 19, 16, 2, -18 }, // 0x49 'I' + { 1097, 10, 19, 16, 3, -18 }, // 0x4A 'J' + { 1121, 13, 19, 16, 2, -18 }, // 0x4B 'K' + { 1152, 11, 19, 16, 3, -18 }, // 0x4C 'L' + { 1179, 14, 19, 16, 1, -18 }, // 0x4D 'M' + { 1213, 12, 19, 16, 2, -18 }, // 0x4E 'N' + { 1242, 14, 19, 16, 1, -18 }, // 0x4F 'O' + { 1276, 13, 19, 16, 2, -18 }, // 0x50 'P' + { 1307, 16, 24, 16, 1, -18 }, // 0x51 'Q' + { 1355, 12, 19, 16, 2, -18 }, // 0x52 'R' + { 1384, 13, 19, 16, 2, -18 }, // 0x53 'S' + { 1415, 13, 19, 16, 2, -18 }, // 0x54 'T' + { 1446, 13, 19, 16, 2, -18 }, // 0x55 'U' + { 1477, 17, 19, 16, 0, -18 }, // 0x56 'V' + { 1518, 14, 19, 16, 1, -18 }, // 0x57 'W' + { 1552, 16, 19, 16, 0, -18 }, // 0x58 'X' + { 1590, 17, 19, 16, 0, -18 }, // 0x59 'Y' + { 1631, 13, 19, 16, 2, -18 }, // 0x5A 'Z' + { 1662, 8, 27, 16, 4, -20 }, // 0x5B '[' + { 1689, 12, 23, 16, 2, -19 }, // 0x5C '\' + { 1724, 8, 27, 16, 4, -20 }, // 0x5D ']' + { 1751, 14, 9, 16, 1, -18 }, // 0x5E '^' + { 1767, 16, 2, 16, 0, 5 }, // 0x5F '_' + { 1771, 10, 5, 16, 0, -18 }, // 0x60 '`' + { 1778, 12, 15, 16, 2, -14 }, // 0x61 'a' + { 1801, 12, 20, 16, 2, -19 }, // 0x62 'b' + { 1831, 11, 14, 16, 2, -13 }, // 0x63 'c' + { 1851, 12, 20, 16, 2, -19 }, // 0x64 'd' + { 1881, 12, 14, 16, 2, -13 }, // 0x65 'e' + { 1902, 15, 20, 16, 0, -19 }, // 0x66 'f' + { 1940, 12, 21, 16, 2, -14 }, // 0x67 'g' + { 1972, 12, 20, 16, 2, -19 }, // 0x68 'h' + { 2002, 11, 20, 14, 2, -19 }, // 0x69 'i' + { 2030, 9, 26, 12, 2, -19 }, // 0x6A 'j' + { 2060, 12, 20, 16, 3, -19 }, // 0x6B 'k' + { 2090, 11, 20, 14, 1, -19 }, // 0x6C 'l' + { 2118, 14, 14, 16, 1, -13 }, // 0x6D 'm' + { 2143, 12, 14, 16, 2, -13 }, // 0x6E 'n' + { 2164, 14, 14, 16, 1, -13 }, // 0x6F 'o' + { 2189, 12, 20, 16, 2, -13 }, // 0x70 'p' + { 2219, 13, 20, 16, 2, -13 }, // 0x71 'q' + { 2252, 12, 14, 16, 3, -13 }, // 0x72 'r' + { 2273, 11, 14, 16, 3, -13 }, // 0x73 's' + { 2293, 13, 19, 16, 1, -18 }, // 0x74 't' + { 2324, 12, 14, 16, 2, -13 }, // 0x75 'u' + { 2345, 14, 14, 16, 1, -13 }, // 0x76 'v' + { 2370, 14, 14, 16, 1, -13 }, // 0x77 'w' + { 2395, 14, 14, 16, 1, -13 }, // 0x78 'x' + { 2420, 14, 20, 16, 1, -13 }, // 0x79 'y' + { 2455, 12, 14, 16, 2, -13 }, // 0x7A 'z' + { 2476, 10, 27, 16, 2, -20 }, // 0x7B '{' + { 2510, 3, 29, 16, 7, -22 }, // 0x7C '|' + { 2521, 10, 27, 16, 4, -20 }, // 0x7D '}' + { 2555, 15, 6, 16, 1, -10 } }; // 0x7E '~' + +const GFXfont Code_New_Roman15pt7b PROGMEM = { + (uint8_t *)Code_New_Roman15pt7bBitmaps, + (GFXglyph *)Code_New_Roman15pt7bGlyphs, + 0x20, 0x7E, 34 }; + +// Approx. 3239 bytes diff --git a/lib/Paperdink/src/fonts/Code_New_Roman9pt7b.h b/lib/Paperdink/src/fonts/Code_New_Roman9pt7b.h new file mode 100644 index 0000000..84d3a7c --- /dev/null +++ b/lib/Paperdink/src/fonts/Code_New_Roman9pt7b.h @@ -0,0 +1,187 @@ +const uint8_t Code_New_Roman9pt7bBitmaps[] PROGMEM = { + 0x00, 0xFF, 0xFF, 0xF3, 0xC0, 0xDE, 0xF7, 0xB0, 0x16, 0x0B, 0x05, 0x9F, + 0xF1, 0x60, 0xB0, 0xF1, 0xFF, 0x3C, 0x1E, 0x0F, 0x00, 0x08, 0x08, 0x3E, + 0xC8, 0xC8, 0xD8, 0x78, 0x3C, 0x16, 0x13, 0x13, 0x17, 0xFC, 0x30, 0x30, + 0x70, 0xB6, 0x6D, 0xB3, 0x68, 0x76, 0x01, 0x00, 0x80, 0x60, 0x13, 0x8D, + 0xB2, 0x6D, 0x1B, 0xC3, 0x80, 0x3C, 0x19, 0x86, 0x61, 0x98, 0x6E, 0x0F, + 0x03, 0x81, 0xE6, 0xCD, 0xB1, 0xEC, 0x33, 0x8E, 0x3C, 0xC0, 0xFF, 0x0E, + 0x38, 0xC3, 0x04, 0x18, 0x30, 0x40, 0x81, 0x83, 0x06, 0x06, 0x0C, 0x0E, + 0x0F, 0x02, 0xC0, 0xE0, 0x60, 0x60, 0x40, 0xC1, 0x83, 0x06, 0x0C, 0x18, + 0x30, 0xC1, 0x0E, 0x70, 0x80, 0x11, 0x25, 0xF0, 0x87, 0xD2, 0x44, 0x00, + 0x18, 0x18, 0x18, 0x18, 0xFF, 0x18, 0x18, 0x18, 0x18, 0x31, 0xC6, 0x33, + 0x70, 0xF8, 0xFF, 0x80, 0x02, 0x0C, 0x10, 0x20, 0xC1, 0x06, 0x08, 0x10, + 0x60, 0x83, 0x04, 0x08, 0x30, 0x00, 0x3E, 0x31, 0x90, 0xD8, 0x7C, 0x5E, + 0x4F, 0x47, 0xC3, 0xC1, 0x31, 0x8F, 0x80, 0x38, 0xB2, 0x60, 0xC1, 0x83, + 0x06, 0x0C, 0x18, 0x33, 0xF8, 0x7C, 0x8E, 0x06, 0x06, 0x06, 0x0C, 0x1C, + 0x38, 0x70, 0x60, 0xFF, 0xFC, 0x0E, 0x06, 0x06, 0x0C, 0x3C, 0x07, 0x03, + 0x03, 0x06, 0xFC, 0x07, 0x07, 0x82, 0xC3, 0x63, 0x31, 0x19, 0x8D, 0x86, + 0xFF, 0x81, 0x80, 0xC0, 0xFD, 0x83, 0x06, 0x0F, 0x81, 0xC1, 0x83, 0x06, + 0x1B, 0xE0, 0x1E, 0x70, 0x60, 0xC0, 0xDE, 0xE7, 0xC3, 0xC3, 0xC3, 0x66, + 0x3C, 0xFF, 0x03, 0x02, 0x06, 0x04, 0x0C, 0x08, 0x18, 0x10, 0x30, 0x20, + 0x3E, 0xC3, 0xC3, 0xC3, 0x66, 0x3C, 0x66, 0xC3, 0xC3, 0xC3, 0x7C, 0x3C, + 0x66, 0xC3, 0xC3, 0xC3, 0xE7, 0x7B, 0x03, 0x06, 0x0E, 0x78, 0xFF, 0x80, + 0x3F, 0xE0, 0x39, 0xCE, 0x00, 0x00, 0xC7, 0x18, 0xCD, 0xC0, 0x06, 0x18, + 0x61, 0x86, 0x1C, 0x0C, 0x0C, 0x0C, 0x0C, 0xFF, 0x00, 0x00, 0xFF, 0xC0, + 0xC0, 0xC0, 0xC0, 0xC1, 0xC6, 0x18, 0x61, 0x80, 0xE0, 0xE0, 0xC3, 0x0C, + 0x37, 0x98, 0x61, 0x80, 0x18, 0x60, 0x1E, 0x18, 0x88, 0x48, 0x14, 0x0E, + 0x76, 0x7B, 0x6D, 0xB6, 0xD9, 0x6C, 0xB6, 0xD9, 0xB4, 0x01, 0x00, 0xC4, + 0x3E, 0x00, 0x0E, 0x01, 0x40, 0x2C, 0x0D, 0x81, 0x10, 0x63, 0x0C, 0x61, + 0xFC, 0x60, 0xCC, 0x19, 0x01, 0x00, 0xFE, 0xC7, 0xC3, 0xC3, 0xC6, 0xFC, + 0xC7, 0xC3, 0xC3, 0xC6, 0xFC, 0x1E, 0x71, 0x60, 0xC0, 0xC0, 0xC0, 0xC0, + 0xC0, 0x60, 0x71, 0x1E, 0xFC, 0x61, 0xB0, 0xD8, 0x3C, 0x1E, 0x0F, 0x07, + 0x83, 0xC3, 0x63, 0x3F, 0x00, 0xFF, 0x83, 0x06, 0x0C, 0x1F, 0xF0, 0x60, + 0xC1, 0x83, 0xF8, 0xFF, 0x0C, 0x30, 0xC3, 0xFC, 0x30, 0xC3, 0x0C, 0x00, + 0x1F, 0x18, 0x58, 0x18, 0x0C, 0x06, 0x3F, 0x07, 0x83, 0x61, 0xB8, 0xC7, + 0xE0, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xFF, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, + 0xFC, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, 0x30, 0xCF, 0xC0, 0x3C, 0x10, 0x41, + 0x04, 0x10, 0x41, 0x0E, 0x3F, 0x80, 0xC2, 0xC6, 0xCC, 0xC8, 0xD0, 0xF0, + 0xD0, 0xD8, 0xCC, 0xC6, 0xC3, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x30, 0x60, + 0xC1, 0x83, 0xF8, 0xC3, 0x52, 0xA9, 0x54, 0xA9, 0x94, 0xCA, 0x65, 0x02, + 0x81, 0x40, 0xA0, 0x40, 0xE3, 0xE3, 0xE3, 0xD3, 0xD3, 0xD3, 0xCB, 0xCB, + 0xC7, 0xC7, 0xC7, 0x3C, 0x66, 0x43, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC2, + 0x66, 0x3C, 0xFC, 0xC6, 0xC3, 0xC3, 0xC3, 0xC6, 0xFC, 0xC0, 0xC0, 0xC0, + 0xC0, 0x3E, 0x31, 0x98, 0x78, 0x3C, 0x1E, 0x0F, 0x07, 0x83, 0xC3, 0x31, + 0x8F, 0x81, 0x80, 0xC8, 0x38, 0xFC, 0xC6, 0xC6, 0xC6, 0xCE, 0xF8, 0xCC, + 0xCC, 0xC6, 0xC6, 0xC3, 0x3C, 0xE2, 0xC0, 0xC0, 0x70, 0x3C, 0x07, 0x03, + 0x03, 0x87, 0x7C, 0xFF, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0x66, + 0x3C, 0x40, 0x4C, 0x19, 0x83, 0x10, 0x43, 0x18, 0x62, 0x04, 0x40, 0xD8, + 0x1A, 0x01, 0x40, 0x38, 0x00, 0xC1, 0xE0, 0xF0, 0x78, 0x3C, 0x9E, 0xCD, + 0x74, 0xAA, 0x55, 0x33, 0x98, 0xC0, 0xC1, 0x98, 0xC3, 0x20, 0x78, 0x1C, + 0x03, 0x01, 0xE0, 0xDC, 0x33, 0x18, 0x6C, 0x0C, 0xC0, 0xD8, 0x66, 0x18, + 0xCC, 0x1A, 0x07, 0x80, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0xFF, 0x02, + 0x06, 0x04, 0x08, 0x18, 0x10, 0x30, 0x60, 0x40, 0xFF, 0xFE, 0x31, 0x8C, + 0x63, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x18, 0xF8, 0xC0, 0x81, 0x03, 0x02, + 0x06, 0x04, 0x08, 0x18, 0x10, 0x30, 0x20, 0x40, 0xC0, 0x80, 0xF8, 0xC6, + 0x31, 0x8C, 0x63, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0xF8, 0x08, 0x0A, 0x0D, + 0x86, 0xC6, 0x33, 0x18, 0xFF, 0xC0, 0x18, 0x18, 0x00, 0x00, 0x1E, 0x6D, + 0x0E, 0x1C, 0x38, 0x71, 0xE7, 0x7A, 0xC0, 0xC0, 0xC0, 0xDC, 0xF6, 0xE3, + 0xC3, 0xC3, 0xC3, 0xC6, 0xCC, 0xF8, 0x1E, 0xE5, 0x82, 0x0C, 0x18, 0x10, + 0x30, 0x3E, 0x02, 0x04, 0x08, 0xF3, 0x68, 0x70, 0xE1, 0xC3, 0x8F, 0x3B, + 0xD0, 0x3C, 0x66, 0xC3, 0xC3, 0xFF, 0xC0, 0xC0, 0x60, 0x3E, 0x07, 0x86, + 0x03, 0x01, 0x80, 0xC3, 0xF8, 0x30, 0x18, 0x0C, 0x06, 0x03, 0x01, 0x80, + 0xC0, 0x1E, 0x6D, 0x0E, 0x1C, 0x38, 0x71, 0xE7, 0x7A, 0x07, 0x1F, 0xF3, + 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xDE, 0xE3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, + 0xC3, 0xC3, 0x00, 0x60, 0x40, 0x0F, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, + 0xC0, 0xE0, 0x08, 0x70, 0x80, 0x78, 0x20, 0x82, 0x08, 0x20, 0x82, 0x08, + 0x20, 0xBE, 0xF0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC7, 0xCE, 0xDC, 0xF8, 0xF0, + 0xD8, 0xCC, 0xC6, 0xC3, 0xF0, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x30, + 0x60, 0xC0, 0xF0, 0xB7, 0xD5, 0xD9, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, + 0xDC, 0xF6, 0xC2, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0x3C, 0x66, 0xC3, + 0x83, 0x81, 0x83, 0xC3, 0x66, 0x7C, 0xDC, 0xFE, 0xE2, 0xC3, 0xC3, 0xC2, + 0xC2, 0xC6, 0xF8, 0xC0, 0xC0, 0xC0, 0xC0, 0x3F, 0x63, 0xC3, 0xC3, 0xC3, + 0xC3, 0xC3, 0x67, 0x7B, 0x03, 0x03, 0x03, 0x03, 0x9D, 0xCF, 0x1C, 0x38, + 0x10, 0x20, 0x40, 0x80, 0x7F, 0x18, 0x30, 0x78, 0x30, 0x43, 0xF8, 0x30, + 0x30, 0x30, 0xFF, 0x30, 0x30, 0x30, 0x30, 0x30, 0x18, 0x18, 0x0F, 0xC3, + 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0x47, 0x7B, 0x83, 0xC3, 0xC2, 0x66, + 0x66, 0x24, 0x3C, 0x38, 0x18, 0xC0, 0xD0, 0x24, 0xC9, 0x32, 0x4C, 0x97, + 0xE7, 0x39, 0xCE, 0x33, 0x00, 0xC3, 0x66, 0x24, 0x3C, 0x18, 0x3C, 0x24, + 0x66, 0xC3, 0x83, 0xC3, 0x42, 0x66, 0x66, 0x24, 0x3C, 0x18, 0x18, 0x18, + 0x30, 0xE0, 0xC0, 0x7E, 0x06, 0x04, 0x0C, 0x18, 0x30, 0x20, 0x60, 0xFF, + 0x1C, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, 0xC0, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, + 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xE0, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, + 0x0C, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, 0xE0, 0x70, 0x64, 0xF2, 0x60, 0xE0 }; + +const GFXglyph Code_New_Roman9pt7bGlyphs[] PROGMEM = { + { 0, 1, 1, 10, 0, 0 }, // 0x20 ' ' + { 1, 2, 13, 10, 4, -12 }, // 0x21 '!' + { 5, 5, 4, 10, 2, -12 }, // 0x22 '"' + { 8, 9, 11, 10, 0, -10 }, // 0x23 '#' + { 21, 8, 15, 10, 1, -12 }, // 0x24 '$' + { 36, 10, 13, 10, 0, -12 }, // 0x25 '%' + { 53, 10, 13, 10, 1, -12 }, // 0x26 '&' + { 70, 2, 4, 10, 4, -12 }, // 0x27 ''' + { 71, 7, 17, 10, 2, -12 }, // 0x28 '(' + { 86, 7, 17, 10, 1, -12 }, // 0x29 ')' + { 101, 7, 7, 10, 1, -12 }, // 0x2A '*' + { 108, 8, 9, 10, 1, -8 }, // 0x2B '+' + { 117, 5, 6, 10, 2, -2 }, // 0x2C ',' + { 121, 5, 1, 10, 2, -4 }, // 0x2D '-' + { 122, 3, 3, 10, 3, -2 }, // 0x2E '.' + { 124, 7, 15, 10, 1, -12 }, // 0x2F '/' + { 138, 9, 11, 10, 1, -10 }, // 0x30 '0' + { 151, 7, 11, 10, 2, -10 }, // 0x31 '1' + { 161, 8, 11, 10, 1, -10 }, // 0x32 '2' + { 172, 8, 11, 10, 1, -10 }, // 0x33 '3' + { 183, 9, 11, 10, 0, -10 }, // 0x34 '4' + { 196, 7, 11, 10, 2, -10 }, // 0x35 '5' + { 206, 8, 11, 10, 1, -10 }, // 0x36 '6' + { 217, 8, 11, 10, 1, -10 }, // 0x37 '7' + { 228, 8, 11, 10, 1, -10 }, // 0x38 '8' + { 239, 8, 11, 10, 1, -10 }, // 0x39 '9' + { 250, 3, 9, 10, 4, -8 }, // 0x3A ':' + { 254, 5, 12, 10, 2, -8 }, // 0x3B ';' + { 262, 7, 10, 10, 1, -9 }, // 0x3C '<' + { 271, 8, 4, 10, 1, -6 }, // 0x3D '=' + { 275, 7, 10, 10, 2, -9 }, // 0x3E '>' + { 284, 6, 13, 10, 3, -12 }, // 0x3F '?' + { 294, 9, 17, 10, 0, -12 }, // 0x40 '@' + { 314, 11, 11, 10, -1, -10 }, // 0x41 'A' + { 330, 8, 11, 10, 1, -10 }, // 0x42 'B' + { 341, 8, 11, 10, 1, -10 }, // 0x43 'C' + { 352, 9, 11, 10, 1, -10 }, // 0x44 'D' + { 365, 7, 11, 10, 2, -10 }, // 0x45 'E' + { 375, 6, 11, 10, 2, -10 }, // 0x46 'F' + { 384, 9, 11, 10, 1, -10 }, // 0x47 'G' + { 397, 8, 11, 10, 1, -10 }, // 0x48 'H' + { 408, 6, 11, 10, 2, -10 }, // 0x49 'I' + { 417, 6, 11, 10, 2, -10 }, // 0x4A 'J' + { 426, 8, 11, 10, 1, -10 }, // 0x4B 'K' + { 437, 7, 11, 10, 2, -10 }, // 0x4C 'L' + { 447, 9, 11, 10, 1, -10 }, // 0x4D 'M' + { 460, 8, 11, 10, 1, -10 }, // 0x4E 'N' + { 471, 8, 11, 10, 1, -10 }, // 0x4F 'O' + { 482, 8, 11, 10, 1, -10 }, // 0x50 'P' + { 493, 9, 14, 10, 1, -10 }, // 0x51 'Q' + { 509, 8, 11, 10, 2, -10 }, // 0x52 'R' + { 520, 8, 11, 10, 1, -10 }, // 0x53 'S' + { 531, 8, 11, 10, 1, -10 }, // 0x54 'T' + { 542, 8, 11, 10, 1, -10 }, // 0x55 'U' + { 553, 11, 11, 10, 0, -10 }, // 0x56 'V' + { 569, 9, 11, 10, 1, -10 }, // 0x57 'W' + { 582, 10, 11, 10, 0, -10 }, // 0x58 'X' + { 596, 10, 11, 10, 0, -10 }, // 0x59 'Y' + { 610, 8, 11, 10, 1, -10 }, // 0x5A 'Z' + { 621, 5, 17, 10, 2, -12 }, // 0x5B '[' + { 632, 7, 15, 10, 1, -12 }, // 0x5C '\' + { 646, 5, 17, 10, 2, -12 }, // 0x5D ']' + { 657, 9, 6, 10, 0, -10 }, // 0x5E '^' + { 664, 10, 1, 10, 0, 4 }, // 0x5F '_' + { 666, 7, 4, 10, 0, -12 }, // 0x60 '`' + { 670, 7, 9, 10, 1, -8 }, // 0x61 'a' + { 678, 8, 12, 10, 1, -11 }, // 0x62 'b' + { 690, 7, 9, 10, 1, -8 }, // 0x63 'c' + { 698, 7, 12, 10, 1, -11 }, // 0x64 'd' + { 709, 8, 9, 10, 1, -8 }, // 0x65 'e' + { 718, 9, 13, 10, 0, -12 }, // 0x66 'f' + { 733, 7, 13, 10, 1, -8 }, // 0x67 'g' + { 745, 8, 13, 10, 1, -12 }, // 0x68 'h' + { 758, 7, 13, 9, 1, -12 }, // 0x69 'i' + { 770, 6, 17, 7, 1, -12 }, // 0x6A 'j' + { 783, 8, 13, 10, 2, -12 }, // 0x6B 'k' + { 796, 7, 12, 9, 1, -11 }, // 0x6C 'l' + { 807, 8, 9, 10, 1, -8 }, // 0x6D 'm' + { 816, 8, 9, 10, 1, -8 }, // 0x6E 'n' + { 825, 8, 9, 10, 1, -8 }, // 0x6F 'o' + { 834, 8, 13, 10, 1, -8 }, // 0x70 'p' + { 847, 8, 13, 10, 1, -8 }, // 0x71 'q' + { 860, 7, 9, 10, 2, -8 }, // 0x72 'r' + { 868, 6, 9, 10, 2, -8 }, // 0x73 's' + { 875, 8, 12, 10, 1, -11 }, // 0x74 't' + { 887, 8, 9, 10, 1, -8 }, // 0x75 'u' + { 896, 8, 9, 10, 1, -8 }, // 0x76 'v' + { 905, 10, 9, 10, 0, -8 }, // 0x77 'w' + { 917, 8, 9, 10, 1, -8 }, // 0x78 'x' + { 926, 8, 13, 10, 1, -8 }, // 0x79 'y' + { 939, 8, 9, 10, 1, -8 }, // 0x7A 'z' + { 948, 6, 17, 10, 2, -12 }, // 0x7B '{' + { 961, 2, 18, 10, 4, -13 }, // 0x7C '|' + { 966, 6, 17, 10, 2, -12 }, // 0x7D '}' + { 979, 9, 4, 10, 1, -6 } };// 0x7E '~' + +const GFXfont Code_New_Roman9pt7b PROGMEM = { + (uint8_t *)Code_New_Roman9pt7bBitmaps, + (GFXglyph *)Code_New_Roman9pt7bGlyphs, + 0x20, 0x7E, 21 }; + +// Approx. 1656 bytes diff --git a/lib/Paperdink/src/fonts/Code_New_Roman_Bold10pt7b.h b/lib/Paperdink/src/fonts/Code_New_Roman_Bold10pt7b.h new file mode 100644 index 0000000..8a37354 --- /dev/null +++ b/lib/Paperdink/src/fonts/Code_New_Roman_Bold10pt7b.h @@ -0,0 +1,217 @@ +const uint8_t Code_New_Roman_Bold10pt7bBitmaps[] PROGMEM = { + 0x00, 0xFF, 0xFF, 0xFF, 0xFC, 0x7F, 0xC0, 0xEF, 0xDF, 0xBF, 0x7E, 0xE0, + 0x31, 0x8C, 0x63, 0x19, 0xFF, 0x7F, 0xCC, 0x63, 0x19, 0x8C, 0xFF, 0xBF, + 0xE6, 0x31, 0x8C, 0x63, 0x00, 0x06, 0x01, 0x83, 0xF1, 0xFE, 0xEC, 0xBB, + 0x0F, 0xC1, 0xF0, 0x3F, 0x87, 0xF1, 0x9C, 0x67, 0x9B, 0xFF, 0xE7, 0xE0, + 0xC0, 0x30, 0x00, 0x70, 0x71, 0x1A, 0x26, 0x44, 0xC8, 0xB0, 0xEC, 0x01, + 0x80, 0x60, 0x0B, 0x83, 0x88, 0xD1, 0x1A, 0x26, 0x45, 0x87, 0x00, 0x1E, + 0x03, 0xF8, 0x73, 0x87, 0x38, 0x73, 0x83, 0xF0, 0x3C, 0x07, 0xEE, 0xEF, + 0xEE, 0x7E, 0xE3, 0xCF, 0x1C, 0x7F, 0xE3, 0xE7, 0xFF, 0xFE, 0x0C, 0x38, + 0xE3, 0x86, 0x1C, 0x30, 0x60, 0xC1, 0x83, 0x06, 0x0E, 0x0C, 0x1C, 0x1C, + 0x1C, 0x18, 0x60, 0xE0, 0xE0, 0xE0, 0xC1, 0xC1, 0x83, 0x06, 0x0C, 0x18, + 0x30, 0xE1, 0x87, 0x1C, 0x70, 0xC0, 0x1C, 0x2E, 0xBF, 0xE7, 0xC3, 0xE7, + 0xFD, 0x74, 0x38, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x0F, 0xFF, 0xFF, 0xC3, + 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0xF3, 0xC7, 0x1F, 0xEE, 0x00, 0xFF, + 0xF0, 0x6F, 0xF6, 0x01, 0x81, 0xC0, 0xC0, 0xE0, 0x60, 0x30, 0x30, 0x18, + 0x1C, 0x0C, 0x0E, 0x06, 0x03, 0x03, 0x01, 0x81, 0xC0, 0x1F, 0x07, 0xF1, + 0xC7, 0x78, 0xFE, 0x1F, 0xCF, 0xFB, 0xBF, 0xE7, 0xF0, 0xFE, 0x3D, 0xC7, + 0x1F, 0xC1, 0xF0, 0x1C, 0x3E, 0x3F, 0x13, 0x81, 0xC0, 0xE0, 0x70, 0x38, + 0x1C, 0x0E, 0x07, 0x1F, 0xFF, 0xF8, 0x3E, 0x7F, 0x91, 0xE0, 0x70, 0x38, + 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1F, 0xFF, 0xF8, 0x7C, 0x7F, 0xA1, + 0xC0, 0xE0, 0x71, 0xF0, 0xFC, 0x0F, 0x03, 0x81, 0xE1, 0xFF, 0xE7, 0xC0, + 0x07, 0x83, 0xE1, 0xF8, 0x6E, 0x3B, 0x8C, 0xE6, 0x3B, 0x8E, 0xFF, 0xFF, + 0xF0, 0x38, 0x0E, 0x03, 0x80, 0xFF, 0x7F, 0xB8, 0x1C, 0x0E, 0x07, 0xF3, + 0xFC, 0x0F, 0x03, 0x81, 0xC1, 0xFF, 0xEF, 0xC0, 0x0F, 0x8F, 0xE7, 0x81, + 0xC0, 0xE0, 0x3B, 0xCF, 0xFB, 0xC7, 0xE1, 0xF8, 0x77, 0x3D, 0xFE, 0x3F, + 0x00, 0xFF, 0xFF, 0xC0, 0xE0, 0x60, 0x70, 0x30, 0x38, 0x18, 0x1C, 0x0E, + 0x0E, 0x07, 0x03, 0x00, 0x3F, 0x1F, 0xFE, 0x1F, 0x87, 0xF3, 0xDF, 0xE3, + 0xF1, 0xDE, 0xE1, 0xF8, 0x7E, 0x1D, 0xFE, 0x3F, 0x00, 0x3E, 0x1F, 0xEF, + 0x3B, 0x87, 0xE1, 0xF8, 0x77, 0xFC, 0xF7, 0x01, 0xC0, 0xE0, 0x79, 0xFC, + 0x7C, 0x00, 0x5F, 0xA0, 0x17, 0xE8, 0x10, 0xE3, 0x84, 0x00, 0x03, 0x8F, + 0x3C, 0x71, 0xFE, 0xE0, 0x02, 0x07, 0x0E, 0x3C, 0x70, 0xE0, 0x70, 0x3C, + 0x0E, 0x07, 0x02, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x40, 0xE0, 0x70, + 0x3C, 0x0E, 0x07, 0x0E, 0x3C, 0x70, 0xE0, 0x40, 0xF1, 0xF8, 0x78, 0x70, + 0xE3, 0xFF, 0x7C, 0xE1, 0xC0, 0x07, 0x0E, 0x1C, 0x00, 0x0F, 0x03, 0xF8, + 0xE3, 0x18, 0x76, 0x06, 0xDE, 0xFB, 0xDE, 0xDB, 0xDB, 0x7B, 0x4F, 0x7B, + 0xEF, 0xEC, 0xDD, 0x80, 0x18, 0x03, 0x80, 0x3F, 0x03, 0xE0, 0x0E, 0x00, + 0xF0, 0x1B, 0x01, 0xB0, 0x1B, 0x83, 0x98, 0x31, 0x83, 0x1C, 0x3F, 0xC7, + 0xFC, 0x60, 0xE6, 0x0E, 0x60, 0x60, 0xFE, 0x7F, 0xB9, 0xDC, 0xEE, 0x77, + 0xF3, 0xFD, 0xC7, 0xE3, 0xF1, 0xF9, 0xFF, 0xEF, 0xE0, 0x1F, 0x1F, 0xDC, + 0x2E, 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, 0x78, 0x1C, 0x27, 0xF1, 0xF0, + 0xFE, 0x3F, 0xCE, 0x3B, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xF8, + 0xEE, 0x3B, 0xFC, 0xFC, 0x00, 0xFF, 0xFF, 0xE0, 0xE0, 0xE0, 0xFF, 0xFF, + 0xE0, 0xE0, 0xE0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xE0, 0xE0, + 0xFF, 0xFF, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x0F, 0x8F, 0xF7, 0x85, 0xC0, + 0xE0, 0x39, 0xFE, 0x7F, 0x87, 0xE1, 0xF8, 0x77, 0x1C, 0xFF, 0x1F, 0x80, + 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xFF, 0xFF, 0xFF, 0x87, 0xE1, 0xF8, + 0x7E, 0x1F, 0x87, 0xE1, 0xC0, 0xFF, 0xFC, 0xE1, 0xC3, 0x87, 0x0E, 0x1C, + 0x38, 0x70, 0xE7, 0xFF, 0xE0, 0x3E, 0x7C, 0x38, 0x70, 0xE1, 0xC3, 0x87, + 0x0E, 0x1C, 0x3F, 0xEF, 0x80, 0xE3, 0xF3, 0xB9, 0xDD, 0xCE, 0xC7, 0xE3, + 0xE1, 0xF8, 0xEE, 0x77, 0x39, 0xDC, 0xEE, 0x38, 0xE0, 0xE0, 0xE0, 0xE0, + 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xFF, 0xFF, 0x71, 0xCE, 0x39, + 0xC7, 0x3D, 0xE7, 0xAC, 0xD5, 0x9B, 0xB3, 0x76, 0x64, 0xCC, 0x19, 0x83, + 0x30, 0x66, 0x0C, 0xF1, 0xFC, 0x7F, 0x9F, 0xE7, 0xF9, 0xFB, 0x7E, 0xDF, + 0xB7, 0xE7, 0xF9, 0xFE, 0x7F, 0x8F, 0xE3, 0xC0, 0x1F, 0x07, 0xF9, 0xC7, + 0x70, 0x7E, 0x0F, 0xC1, 0xF8, 0x3F, 0x07, 0xE0, 0xFC, 0x1D, 0xC7, 0x3F, + 0xC1, 0xF0, 0xFE, 0x7F, 0xB9, 0xFC, 0x7E, 0x3F, 0x1F, 0x9F, 0xFE, 0xFE, + 0x70, 0x38, 0x1C, 0x0E, 0x00, 0x1F, 0x07, 0xF9, 0xC7, 0x30, 0x7E, 0x0F, + 0xC1, 0xF8, 0x3F, 0x07, 0xE0, 0xFC, 0x1D, 0xC7, 0x3F, 0xC1, 0xF0, 0x1C, + 0x03, 0xD0, 0x3F, 0x03, 0xC0, 0xFE, 0x3F, 0xCE, 0x3B, 0x8E, 0xE3, 0xB9, + 0xEF, 0xF3, 0xF8, 0xE7, 0x39, 0xCE, 0x3B, 0x8E, 0xE1, 0xC0, 0x3E, 0x3F, + 0xB8, 0x5C, 0x0F, 0x03, 0xE0, 0xFC, 0x1F, 0x03, 0x81, 0xE0, 0xFF, 0xE7, + 0xE0, 0xFF, 0xFF, 0xFC, 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x70, + 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, + 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xF8, 0x7F, 0x3D, 0xFE, 0x3F, 0x00, + 0x60, 0x67, 0x06, 0x70, 0xE3, 0x0E, 0x38, 0xC3, 0x8C, 0x19, 0xC1, 0xD8, + 0x1D, 0x80, 0xD8, 0x0F, 0x80, 0xF0, 0x07, 0x00, 0x60, 0xCC, 0x19, 0x83, + 0x30, 0x66, 0x6C, 0xDD, 0x9A, 0xB3, 0x56, 0x6B, 0xCF, 0x79, 0xC7, 0x38, + 0xE7, 0x1C, 0xE1, 0xCE, 0x71, 0xCE, 0x1F, 0x81, 0xE0, 0x3C, 0x07, 0x80, + 0xF0, 0x3F, 0x06, 0xF1, 0xCE, 0x70, 0xEE, 0x1C, 0xE0, 0xEE, 0x39, 0xC7, + 0x1D, 0xC3, 0xB8, 0x36, 0x07, 0xC0, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x07, + 0x00, 0xE0, 0xFF, 0xFF, 0xC0, 0xC0, 0xE0, 0xE0, 0x60, 0x70, 0x30, 0x38, + 0x38, 0x18, 0x1F, 0xFF, 0xF8, 0xFF, 0xFE, 0x38, 0xE3, 0x8E, 0x38, 0xE3, + 0x8E, 0x38, 0xE3, 0x8E, 0x38, 0xFF, 0xF0, 0xE0, 0x30, 0x18, 0x0E, 0x03, + 0x01, 0xC0, 0x60, 0x30, 0x0C, 0x06, 0x03, 0x80, 0xC0, 0x70, 0x18, 0x0C, + 0x07, 0xFF, 0xF1, 0xC7, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xC7, 0x1C, 0x71, + 0xC7, 0xFF, 0xF0, 0x0E, 0x03, 0xC0, 0x6C, 0x1D, 0xC7, 0x18, 0xE3, 0x80, + 0xFF, 0xFF, 0xFC, 0x78, 0x78, 0x78, 0x00, 0x1F, 0x9F, 0xD8, 0xFC, 0x7C, + 0x3E, 0x1F, 0x0F, 0xCF, 0x7F, 0x9E, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, + 0xE7, 0xFB, 0xCF, 0xC7, 0xE3, 0xF1, 0xF8, 0xFC, 0xEF, 0xF7, 0xE0, 0x1E, + 0x7F, 0x71, 0xE0, 0xE0, 0xE0, 0xE0, 0xF1, 0x7F, 0x3E, 0x03, 0x81, 0xC0, + 0xE0, 0x71, 0xF9, 0xFD, 0x8F, 0xC7, 0xC3, 0xE1, 0xF0, 0xFC, 0xF7, 0xF9, + 0xEC, 0x1F, 0x1F, 0xE7, 0x3F, 0x87, 0xFF, 0xFF, 0xFE, 0x03, 0xC0, 0x7F, + 0x8F, 0xE0, 0x03, 0xE0, 0xFC, 0x38, 0x07, 0x00, 0xE0, 0x7F, 0x8F, 0xF0, + 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x1C, 0x00, 0x0F, 0x9F, + 0xDC, 0x6C, 0x36, 0x1E, 0x0F, 0x0E, 0xC7, 0x7F, 0x9E, 0xC0, 0x68, 0x7F, + 0xF1, 0xF0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0xF7, 0xFF, 0xCF, 0xC7, 0xE3, + 0xF1, 0xF8, 0xFC, 0x7E, 0x3F, 0x1C, 0x38, 0x38, 0x18, 0x00, 0xF8, 0xF8, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1F, 0x0F, 0x1C, 0x71, 0x80, 0x7D, + 0xF1, 0xC7, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xC7, 0x1B, 0xEF, 0x80, 0xE0, + 0x38, 0x0E, 0x03, 0x80, 0xE1, 0xB8, 0xEE, 0x73, 0xB8, 0xFC, 0x3F, 0x0E, + 0xE3, 0x9C, 0xE3, 0xB8, 0x70, 0xF8, 0x7C, 0x06, 0x03, 0x01, 0x80, 0xC0, + 0x60, 0x30, 0x18, 0x0C, 0x06, 0x03, 0x01, 0xF8, 0x7C, 0xFD, 0xDF, 0xFF, + 0xBB, 0xF7, 0x7E, 0xEF, 0xDD, 0xFB, 0xBF, 0x77, 0xEE, 0xFD, 0xDC, 0xEF, + 0x7F, 0xFC, 0xFC, 0x7E, 0x3F, 0x1F, 0x8F, 0xC7, 0xE3, 0xF1, 0xC0, 0x1F, + 0x1F, 0xE7, 0x3F, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0xCE, 0x7F, 0x8F, 0x80, + 0xEE, 0x7F, 0xBC, 0xFC, 0x7E, 0x3F, 0x1F, 0x8F, 0xCF, 0xFF, 0x7F, 0x38, + 0x1C, 0x0E, 0x07, 0x00, 0x1F, 0xDF, 0xF7, 0x1F, 0x87, 0xE1, 0xF8, 0x7E, + 0x1F, 0xCF, 0x7F, 0xCF, 0x70, 0x1C, 0x07, 0x01, 0xC0, 0x70, 0xEF, 0x7F, + 0xFC, 0xFC, 0x7E, 0x07, 0x03, 0x81, 0xC0, 0xE0, 0x70, 0x00, 0x3C, 0xFE, + 0xE2, 0xF0, 0xFC, 0x3F, 0x07, 0x87, 0xFF, 0x7C, 0x38, 0x38, 0x38, 0xFF, + 0xFF, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x3F, 0x1F, 0xE3, 0xF1, 0xF8, + 0xFC, 0x7E, 0x3F, 0x1F, 0x8F, 0xCF, 0xFF, 0xBD, 0xC0, 0x60, 0xCE, 0x19, + 0xC7, 0x18, 0xC3, 0x18, 0x76, 0x06, 0xC0, 0xD8, 0x0E, 0x01, 0xC0, 0x60, + 0xCC, 0x19, 0x83, 0x33, 0x66, 0xEC, 0xD5, 0x9A, 0xB1, 0xD4, 0x3B, 0x87, + 0x70, 0x70, 0xE7, 0x38, 0x66, 0x0F, 0x80, 0xF0, 0x1E, 0x06, 0xC1, 0xDC, + 0x31, 0xCE, 0x1C, 0x60, 0xCE, 0x39, 0xC7, 0x18, 0xC3, 0x38, 0x76, 0x06, + 0xC0, 0xF8, 0x0E, 0x01, 0xC0, 0x30, 0x0E, 0x0F, 0x81, 0xE0, 0x00, 0xFF, + 0xFF, 0x0E, 0x0C, 0x1C, 0x38, 0x30, 0x70, 0xFF, 0xFF, 0x07, 0x87, 0xC7, + 0x83, 0x81, 0xC0, 0xE0, 0x70, 0x38, 0xF8, 0x7C, 0x07, 0x03, 0x81, 0xC0, + 0xE0, 0x70, 0x3C, 0x0F, 0x83, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xF0, 0xF0, 0x7C, 0x0F, 0x03, 0x81, 0xC0, 0xE0, 0x70, 0x3C, 0x0F, + 0x87, 0xC7, 0x03, 0x81, 0xC0, 0xE0, 0x70, 0x78, 0xF8, 0x78, 0x00, 0x78, + 0x1F, 0xCF, 0x3F, 0x81, 0xE0 }; + +const GFXglyph Code_New_Roman_Bold10pt7bGlyphs[] PROGMEM = { + { 0, 1, 1, 11, 0, 0 }, // 0x20 ' ' + { 1, 3, 14, 11, 4, -13 }, // 0x21 '!' + { 7, 7, 5, 11, 2, -13 }, // 0x22 '"' + { 12, 10, 13, 11, 0, -12 }, // 0x23 '#' + { 29, 10, 17, 11, 1, -14 }, // 0x24 '$' + { 51, 11, 14, 11, 0, -13 }, // 0x25 '%' + { 71, 12, 14, 11, 0, -13 }, // 0x26 '&' + { 92, 3, 5, 11, 4, -13 }, // 0x27 ''' + { 94, 7, 18, 11, 2, -13 }, // 0x28 '(' + { 110, 7, 18, 11, 2, -13 }, // 0x29 ')' + { 126, 9, 8, 11, 1, -13 }, // 0x2A '*' + { 135, 11, 10, 11, 0, -9 }, // 0x2B '+' + { 149, 6, 7, 11, 2, -3 }, // 0x2C ',' + { 155, 6, 2, 11, 2, -5 }, // 0x2D '-' + { 157, 4, 4, 11, 4, -3 }, // 0x2E '.' + { 159, 9, 16, 11, 1, -13 }, // 0x2F '/' + { 177, 11, 13, 11, 1, -12 }, // 0x30 '0' + { 195, 9, 13, 11, 2, -12 }, // 0x31 '1' + { 210, 9, 13, 11, 1, -12 }, // 0x32 '2' + { 225, 9, 13, 11, 1, -12 }, // 0x33 '3' + { 240, 10, 13, 11, 0, -12 }, // 0x34 '4' + { 257, 9, 13, 11, 2, -12 }, // 0x35 '5' + { 272, 10, 13, 11, 1, -12 }, // 0x36 '6' + { 289, 9, 13, 11, 1, -12 }, // 0x37 '7' + { 304, 10, 13, 11, 1, -12 }, // 0x38 '8' + { 321, 10, 13, 11, 1, -12 }, // 0x39 '9' + { 338, 3, 10, 11, 4, -9 }, // 0x3A ':' + { 342, 6, 13, 11, 2, -9 }, // 0x3B ';' + { 352, 8, 11, 11, 1, -10 }, // 0x3C '<' + { 363, 8, 6, 11, 1, -7 }, // 0x3D '=' + { 369, 8, 11, 11, 2, -10 }, // 0x3E '>' + { 380, 7, 14, 11, 3, -13 }, // 0x3F '?' + { 393, 11, 18, 11, 0, -13 }, // 0x40 '@' + { 418, 12, 13, 11, 0, -12 }, // 0x41 'A' + { 438, 9, 13, 11, 1, -12 }, // 0x42 'B' + { 453, 9, 13, 11, 1, -12 }, // 0x43 'C' + { 468, 10, 13, 11, 1, -12 }, // 0x44 'D' + { 485, 8, 13, 11, 2, -12 }, // 0x45 'E' + { 498, 8, 13, 11, 2, -12 }, // 0x46 'F' + { 511, 10, 13, 11, 0, -12 }, // 0x47 'G' + { 528, 10, 13, 11, 1, -12 }, // 0x48 'H' + { 545, 7, 13, 11, 2, -12 }, // 0x49 'I' + { 557, 7, 13, 11, 2, -12 }, // 0x4A 'J' + { 569, 9, 13, 11, 1, -12 }, // 0x4B 'K' + { 584, 8, 13, 11, 2, -12 }, // 0x4C 'L' + { 597, 11, 13, 11, 0, -12 }, // 0x4D 'M' + { 615, 10, 13, 11, 1, -12 }, // 0x4E 'N' + { 632, 11, 13, 11, 0, -12 }, // 0x4F 'O' + { 650, 9, 13, 11, 1, -12 }, // 0x50 'P' + { 665, 11, 17, 11, 0, -12 }, // 0x51 'Q' + { 689, 10, 13, 11, 1, -12 }, // 0x52 'R' + { 706, 9, 13, 11, 1, -12 }, // 0x53 'S' + { 721, 11, 13, 11, 0, -12 }, // 0x54 'T' + { 739, 10, 13, 11, 1, -12 }, // 0x55 'U' + { 756, 12, 13, 11, -1, -12 }, // 0x56 'V' + { 776, 11, 13, 11, 0, -12 }, // 0x57 'W' + { 794, 11, 13, 11, 1, -12 }, // 0x58 'X' + { 812, 11, 13, 11, 0, -12 }, // 0x59 'Y' + { 830, 9, 13, 11, 1, -12 }, // 0x5A 'Z' + { 845, 6, 18, 11, 2, -13 }, // 0x5B '[' + { 859, 9, 16, 11, 1, -13 }, // 0x5C '\' + { 877, 6, 18, 11, 3, -13 }, // 0x5D ']' + { 891, 11, 6, 11, 0, -12 }, // 0x5E '^' + { 900, 11, 2, 11, 0, 3 }, // 0x5F '_' + { 903, 7, 4, 11, 0, -13 }, // 0x60 '`' + { 907, 9, 10, 11, 1, -9 }, // 0x61 'a' + { 919, 9, 14, 11, 1, -13 }, // 0x62 'b' + { 935, 8, 10, 11, 1, -9 }, // 0x63 'c' + { 945, 9, 14, 11, 1, -13 }, // 0x64 'd' + { 961, 10, 10, 11, 1, -9 }, // 0x65 'e' + { 974, 11, 14, 11, 0, -13 }, // 0x66 'f' + { 994, 9, 14, 11, 1, -9 }, // 0x67 'g' + { 1010, 9, 14, 11, 1, -13 }, // 0x68 'h' + { 1026, 8, 14, 11, 2, -13 }, // 0x69 'i' + { 1040, 6, 19, 11, 3, -13 }, // 0x6A 'j' + { 1055, 10, 14, 11, 1, -13 }, // 0x6B 'k' + { 1073, 9, 14, 11, 2, -13 }, // 0x6C 'l' + { 1089, 11, 10, 11, 0, -9 }, // 0x6D 'm' + { 1103, 9, 10, 11, 1, -9 }, // 0x6E 'n' + { 1115, 10, 10, 11, 1, -9 }, // 0x6F 'o' + { 1128, 9, 14, 11, 1, -9 }, // 0x70 'p' + { 1144, 10, 14, 11, 1, -9 }, // 0x71 'q' + { 1162, 9, 10, 11, 2, -9 }, // 0x72 'r' + { 1174, 8, 10, 11, 2, -9 }, // 0x73 's' + { 1184, 8, 13, 11, 1, -12 }, // 0x74 't' + { 1197, 9, 10, 11, 1, -9 }, // 0x75 'u' + { 1209, 11, 10, 11, 0, -9 }, // 0x76 'v' + { 1223, 11, 10, 11, 0, -9 }, // 0x77 'w' + { 1237, 11, 10, 11, 0, -9 }, // 0x78 'x' + { 1251, 11, 14, 11, 0, -9 }, // 0x79 'y' + { 1271, 8, 10, 11, 1, -9 }, // 0x7A 'z' + { 1281, 9, 18, 11, 0, -13 }, // 0x7B '{' + { 1302, 3, 20, 11, 4, -15 }, // 0x7C '|' + { 1310, 9, 18, 11, 2, -13 }, // 0x7D '}' + { 1331, 11, 4, 11, 0, -7 } };// 0x7E '~' + +const GFXfont Code_New_Roman_Bold10pt7b PROGMEM = { + (uint8_t *)Code_New_Roman_Bold10pt7bBitmaps, + (GFXglyph *)Code_New_Roman_Bold10pt7bGlyphs, + 0x20, 0x7E, 23 }; + +// Approx. 2009 bytes diff --git a/lib/Paperdink/src/fonts/Code_New_Roman_Bold15pt7b.h b/lib/Paperdink/src/fonts/Code_New_Roman_Bold15pt7b.h new file mode 100644 index 0000000..7f75b7d --- /dev/null +++ b/lib/Paperdink/src/fonts/Code_New_Roman_Bold15pt7b.h @@ -0,0 +1,332 @@ +const uint8_t Code_New_Roman_Bold15pt7bBitmaps[] PROGMEM = { + 0x00, 0x7B, 0xDE, 0xF7, 0xBD, 0xEF, 0x7B, 0xDE, 0xF7, 0xBC, 0x00, 0x77, + 0xFE, 0xE0, 0xF3, 0xFC, 0xFF, 0x3F, 0xCF, 0xF3, 0xFC, 0xFF, 0x3C, 0x0E, + 0x38, 0x1C, 0x70, 0x38, 0xE0, 0x71, 0xC0, 0xE3, 0x8F, 0xFF, 0xDF, 0xFF, + 0xBF, 0xFF, 0x1C, 0x70, 0x38, 0xE0, 0x71, 0xC7, 0xFF, 0xEF, 0xFF, 0xDF, + 0xFF, 0x8E, 0x38, 0x1C, 0x70, 0x38, 0xE0, 0x71, 0xC0, 0xE3, 0x80, 0x01, + 0xC0, 0x07, 0x00, 0xFE, 0x0F, 0xFE, 0x7F, 0xFB, 0xEE, 0x6F, 0x38, 0x3C, + 0xE0, 0xFB, 0x03, 0xFC, 0x07, 0xFC, 0x0F, 0xFC, 0x07, 0xF8, 0x1F, 0xF0, + 0x63, 0xC1, 0x8F, 0x0E, 0x3F, 0x39, 0xEF, 0xFF, 0xBF, 0xFC, 0x7F, 0x80, + 0x30, 0x01, 0xC0, 0x07, 0x00, 0x1C, 0x00, 0x38, 0x06, 0x7C, 0x0E, 0xCE, + 0x1C, 0xC6, 0x1C, 0xC6, 0x38, 0xC6, 0x70, 0xCE, 0x70, 0x7C, 0xE0, 0x39, + 0xC0, 0x01, 0xC0, 0x03, 0x80, 0x03, 0x38, 0x07, 0x7C, 0x0E, 0xCE, 0x0C, + 0xC6, 0x1C, 0xC6, 0x38, 0xC6, 0x30, 0xCE, 0x70, 0x7C, 0xE0, 0x38, 0x0F, + 0xC0, 0x0F, 0xF8, 0x0F, 0xFE, 0x0F, 0x9F, 0x07, 0x87, 0x83, 0xC3, 0xC1, + 0xF3, 0xC0, 0x7B, 0xE0, 0x1F, 0xC0, 0x0F, 0x80, 0x0F, 0xE7, 0x8F, 0xFB, + 0xCF, 0x3F, 0xE7, 0x8F, 0xF3, 0xC3, 0xF1, 0xE0, 0xF8, 0xF8, 0x3C, 0x3F, + 0xFF, 0x0F, 0xFF, 0xC3, 0xF8, 0xF0, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x80, + 0xE0, 0x7C, 0x3C, 0x1E, 0x0F, 0x07, 0x81, 0xC0, 0x70, 0x38, 0x0E, 0x03, + 0x80, 0xE0, 0x38, 0x0E, 0x03, 0x80, 0xE0, 0x38, 0x07, 0x01, 0xC0, 0x78, + 0x0E, 0x03, 0xC0, 0x78, 0x0F, 0x81, 0xF0, 0x18, 0x40, 0x1C, 0x07, 0x80, + 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0E, 0x03, 0x80, 0x70, 0x1C, 0x07, 0x01, + 0xC0, 0x70, 0x1C, 0x07, 0x01, 0xC0, 0x70, 0x3C, 0x0E, 0x07, 0x81, 0xC0, + 0xF0, 0x78, 0x7C, 0x1E, 0x06, 0x00, 0x07, 0x80, 0x1E, 0x04, 0x78, 0x9D, + 0xEE, 0xFF, 0xFC, 0x7F, 0x81, 0xFE, 0x3F, 0xFF, 0x77, 0xB9, 0x1E, 0x20, + 0x78, 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x01, 0xE0, 0x07, 0x83, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x01, 0xE0, + 0x07, 0x80, 0x1E, 0x00, 0x1C, 0x3E, 0x3F, 0x1F, 0x0F, 0x0F, 0x1E, 0xFE, + 0xFC, 0xF0, 0xFF, 0xFF, 0xFF, 0xE0, 0x7B, 0xFF, 0xFF, 0xFD, 0xE0, 0x00, + 0x38, 0x03, 0xC0, 0x1C, 0x01, 0xE0, 0x0E, 0x00, 0x70, 0x07, 0x80, 0x38, + 0x03, 0xC0, 0x1C, 0x01, 0xE0, 0x0E, 0x00, 0x70, 0x07, 0x80, 0x38, 0x03, + 0xC0, 0x1C, 0x01, 0xE0, 0x0E, 0x00, 0x70, 0x07, 0x00, 0x38, 0x03, 0xC0, + 0x00, 0x07, 0xE0, 0x3F, 0xE0, 0xFF, 0xE3, 0xE3, 0xE7, 0x83, 0xCF, 0x07, + 0xFC, 0x0F, 0xF8, 0x3F, 0xF1, 0xFF, 0xE7, 0xBF, 0xDE, 0x7F, 0xF8, 0xFF, + 0xC1, 0xFF, 0x07, 0x9E, 0x0F, 0x3E, 0x3E, 0x3F, 0xF8, 0x3F, 0xE0, 0x3F, + 0x00, 0x03, 0xC0, 0x7F, 0x07, 0xFC, 0x3F, 0xF0, 0x73, 0xC1, 0x0F, 0x00, + 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x0F, 0x00, 0x3C, 0x00, 0xF0, 0x03, 0xC0, + 0x0F, 0x00, 0x3C, 0x00, 0xF0, 0x7F, 0xFD, 0xFF, 0xF7, 0xFF, 0xC0, 0x1F, + 0x83, 0xFE, 0x3F, 0xF8, 0xE3, 0xE4, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1E, + 0x01, 0xE0, 0x1F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x3F, 0x83, 0xFF, 0x1F, 0xF8, 0x83, + 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x3C, 0x3F, 0xC1, 0xFE, 0x0F, 0xFC, + 0x03, 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xF0, 0x3F, 0xFF, 0xF7, 0xFF, 0x1F, + 0xC0, 0x01, 0xF8, 0x03, 0xF0, 0x0F, 0xE0, 0x3F, 0xC0, 0x77, 0x81, 0xEF, + 0x07, 0x9E, 0x0E, 0x3C, 0x3C, 0x78, 0x70, 0xF1, 0xC1, 0xE7, 0x83, 0xCF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x3C, 0x00, 0x78, 0x00, 0xF0, 0x01, + 0xE0, 0xFF, 0xEF, 0xFE, 0xFF, 0xEF, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, + 0xF8, 0xFF, 0xCF, 0xFE, 0x01, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, + 0x3E, 0xFF, 0xEF, 0xF8, 0xFE, 0x00, 0x03, 0xF0, 0x3F, 0xC3, 0xFF, 0x0F, + 0x80, 0x78, 0x01, 0xE0, 0x0F, 0x00, 0x3D, 0xF8, 0xFF, 0xF3, 0xFF, 0xEF, + 0x87, 0xFC, 0x0F, 0xF0, 0x3F, 0xC0, 0xFF, 0x83, 0xDE, 0x1E, 0x7F, 0xF8, + 0xFF, 0xC0, 0xFC, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0xF0, 0x0F, + 0x00, 0x78, 0x07, 0x80, 0x3C, 0x03, 0xC0, 0x1E, 0x01, 0xE0, 0x0F, 0x00, + 0xF0, 0x07, 0x80, 0x78, 0x03, 0xC0, 0x3C, 0x01, 0xE0, 0x1E, 0x00, 0x0F, + 0xE0, 0xFF, 0xE7, 0xFF, 0xFE, 0x1F, 0xF0, 0x3F, 0xC0, 0xFF, 0x87, 0x9F, + 0xBE, 0x3F, 0xE0, 0x7F, 0x83, 0xFF, 0x9E, 0x3E, 0xF0, 0x7F, 0xC0, 0xFF, + 0x03, 0xFE, 0x1F, 0x7F, 0xF9, 0xFF, 0xC1, 0xFC, 0x00, 0x0F, 0xC0, 0xFF, + 0xC7, 0xFF, 0x9E, 0x3E, 0xF0, 0x7B, 0xC0, 0xFF, 0x03, 0xFC, 0x0F, 0xF8, + 0x7D, 0xFF, 0xF7, 0xFF, 0xC7, 0xEF, 0x00, 0x3C, 0x01, 0xE0, 0x07, 0x80, + 0x7C, 0x7F, 0xF1, 0xFF, 0x07, 0xF0, 0x00, 0x77, 0xFF, 0xF7, 0x00, 0x00, + 0x03, 0xBF, 0xFF, 0xB8, 0x1C, 0x3E, 0x3E, 0x3E, 0x1C, 0x00, 0x00, 0x00, + 0x00, 0x1C, 0x3E, 0x3F, 0x1F, 0x0F, 0x0F, 0x1E, 0xFE, 0xFC, 0xF0, 0x00, + 0x40, 0x0E, 0x01, 0xF0, 0x7C, 0x0F, 0x81, 0xF0, 0x3E, 0x07, 0xC0, 0xFC, + 0x03, 0xE0, 0x1F, 0x00, 0xF8, 0x07, 0xC0, 0x1F, 0x00, 0xE0, 0x04, 0xFF, + 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0xF0, 0x20, 0x07, 0x00, 0xF8, 0x03, 0xE0, 0x1F, 0x00, 0xF8, 0x07, 0xC0, + 0x3F, 0x03, 0xE0, 0x7C, 0x0F, 0x81, 0xF0, 0x3E, 0x0F, 0x80, 0x70, 0x02, + 0x00, 0xF8, 0x3F, 0x8F, 0xF0, 0x3E, 0x07, 0xC0, 0xF0, 0x3C, 0x0F, 0x07, + 0xCF, 0xE3, 0xF8, 0xF8, 0x3C, 0x0F, 0x00, 0x00, 0x00, 0x38, 0x1F, 0x07, + 0xC0, 0xE0, 0x01, 0xF0, 0x07, 0xF8, 0x0F, 0xFC, 0x1E, 0x1E, 0x3C, 0x0E, + 0x38, 0x0F, 0x38, 0x07, 0x73, 0xF7, 0x77, 0xF7, 0x77, 0xF7, 0xEF, 0x77, + 0xEE, 0x77, 0xEE, 0x67, 0xEE, 0xE7, 0xEE, 0xE7, 0xEE, 0xEE, 0xEF, 0xFE, + 0xEF, 0xFC, 0xE7, 0x38, 0xF0, 0x00, 0x70, 0x00, 0x78, 0x00, 0x7C, 0x30, + 0x3F, 0xF0, 0x1F, 0xF0, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF8, 0x01, 0xFC, + 0x00, 0xEE, 0x00, 0x77, 0x00, 0x3B, 0xC0, 0x39, 0xE0, 0x1C, 0x70, 0x0E, + 0x3C, 0x0F, 0x1E, 0x07, 0x0F, 0x03, 0x83, 0x83, 0xFF, 0xE1, 0xFF, 0xF0, + 0xFF, 0xF8, 0x70, 0x1E, 0x78, 0x0F, 0x38, 0x07, 0x9C, 0x01, 0xC0, 0xFF, + 0x87, 0xFF, 0x3F, 0xFD, 0xE3, 0xEF, 0x0F, 0x78, 0x7B, 0xC3, 0xDE, 0x3C, + 0xFF, 0xC7, 0xFF, 0x3F, 0xFD, 0xE1, 0xFF, 0x07, 0xF8, 0x3F, 0xC1, 0xFE, + 0x1F, 0xFF, 0xF7, 0xFF, 0x3F, 0xE0, 0x07, 0xF0, 0xFF, 0xCF, 0xFE, 0x7C, + 0x17, 0x80, 0x3C, 0x03, 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x01, + 0xE0, 0x0F, 0x00, 0x7C, 0x01, 0xE0, 0x0F, 0xC1, 0x3F, 0xF8, 0xFF, 0xC1, + 0xFC, 0xFF, 0x83, 0xFF, 0x8F, 0xFF, 0x3C, 0x3E, 0xF0, 0x7B, 0xC1, 0xFF, + 0x03, 0xFC, 0x0F, 0xF0, 0x3F, 0xC0, 0xFF, 0x03, 0xFC, 0x0F, 0xF0, 0x3F, + 0xC1, 0xEF, 0x07, 0xBC, 0x3C, 0xFF, 0xF3, 0xFF, 0x8F, 0xF0, 0x00, 0xFF, + 0xFF, 0xFF, 0xFF, 0xF8, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xFF, 0xFF, + 0xFF, 0xFF, 0xF8, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xFF, 0xFF, 0xFF, + 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x0F, 0x01, 0xE0, 0x3C, 0x07, + 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, + 0xF0, 0x1E, 0x03, 0xC0, 0x00, 0x03, 0xF8, 0x1F, 0xFC, 0x7F, 0xF9, 0xF0, + 0x37, 0xC0, 0x0F, 0x00, 0x3C, 0x00, 0x78, 0x00, 0xF0, 0xFF, 0xE1, 0xFF, + 0xC3, 0xFF, 0x80, 0xFF, 0x01, 0xEF, 0x03, 0xDE, 0x07, 0xBF, 0x0F, 0x3F, + 0xFE, 0x3F, 0xFC, 0x0F, 0xE0, 0xF0, 0x3F, 0xC0, 0xFF, 0x03, 0xFC, 0x0F, + 0xF0, 0x3F, 0xC0, 0xFF, 0x03, 0xFC, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFC, 0x0F, 0xF0, 0x3F, 0xC0, 0xFF, 0x03, 0xFC, 0x0F, 0xF0, 0x3F, 0xC0, + 0xFF, 0x03, 0xC0, 0xFF, 0xFF, 0xFF, 0xFC, 0x78, 0x1E, 0x07, 0x81, 0xE0, + 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0xFF, + 0xFF, 0xFF, 0xFC, 0x0F, 0xE1, 0xFC, 0x3F, 0x80, 0xF0, 0x1E, 0x03, 0xC0, + 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x7C, + 0x1F, 0xFF, 0xDF, 0xF1, 0xFC, 0x00, 0xF0, 0x7B, 0xC3, 0xCF, 0x1F, 0x3C, + 0x78, 0xF3, 0xC3, 0xCF, 0x0F, 0x78, 0x3D, 0xE0, 0xFF, 0x03, 0xFC, 0x0F, + 0xF0, 0x3D, 0xE0, 0xF7, 0x83, 0xCF, 0x0F, 0x1E, 0x3C, 0x78, 0xF0, 0xF3, + 0xC3, 0xEF, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, 0x01, 0xE0, + 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, + 0x07, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x78, 0x3C, 0xF0, 0x79, 0xF1, + 0xF3, 0xE3, 0xE6, 0xC7, 0xCD, 0xDF, 0x9B, 0xB7, 0x33, 0x6E, 0x66, 0xDC, + 0xCF, 0xB9, 0x8E, 0x73, 0x1C, 0xE6, 0x39, 0xCC, 0x03, 0x98, 0x07, 0x30, + 0x0E, 0x60, 0x1C, 0xC0, 0x39, 0x80, 0x70, 0xF8, 0x3F, 0xF0, 0xFF, 0xC3, + 0xFF, 0x0F, 0xFE, 0x3F, 0xF8, 0xFF, 0xE3, 0xFD, 0xCF, 0xF7, 0x3F, 0xDE, + 0xFF, 0x3B, 0xFC, 0xEF, 0xF1, 0xFF, 0xC7, 0xFF, 0x1F, 0xFC, 0x3F, 0xF0, + 0xFF, 0xC3, 0xFF, 0x07, 0xC0, 0x07, 0xE0, 0x3F, 0xE0, 0xFF, 0xE3, 0xE3, + 0xE7, 0x83, 0xCE, 0x03, 0xFC, 0x07, 0xF8, 0x0F, 0xF0, 0x1F, 0xE0, 0x3F, + 0xC0, 0x7F, 0x80, 0xFF, 0x01, 0xFE, 0x03, 0x9E, 0x0F, 0x3E, 0x3E, 0x3F, + 0xF8, 0x3F, 0xE0, 0x3F, 0x00, 0xFF, 0x87, 0xFF, 0x3F, 0xFD, 0xE1, 0xFF, + 0x07, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xF0, 0xFF, 0x87, 0xBF, 0xFD, 0xFF, + 0xCF, 0xF8, 0x78, 0x03, 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x00, + 0x07, 0xE0, 0x1F, 0xF0, 0x3F, 0xF8, 0x7C, 0x7C, 0x78, 0x3C, 0x70, 0x1E, + 0xF0, 0x1E, 0xF0, 0x1E, 0xF0, 0x1E, 0xF0, 0x1E, 0xF0, 0x1E, 0xF0, 0x1E, + 0xF0, 0x1E, 0xF0, 0x1C, 0x78, 0x3C, 0x7C, 0x7C, 0x3F, 0xF8, 0x1F, 0xF0, + 0x0F, 0xE0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xE2, 0x01, 0xFE, 0x00, 0xFF, + 0x00, 0x7C, 0xFF, 0x87, 0xFF, 0x3F, 0xF9, 0xE3, 0xEF, 0x0F, 0x78, 0x7B, + 0xC3, 0xDE, 0x3C, 0xFF, 0xE7, 0xFC, 0x3F, 0xE1, 0xE7, 0x8F, 0x3C, 0x78, + 0xF3, 0xC7, 0x9E, 0x1C, 0xF0, 0xF7, 0x87, 0xBC, 0x1E, 0x0F, 0xC1, 0xFF, + 0x9F, 0xFD, 0xF0, 0x2F, 0x00, 0x78, 0x03, 0xE0, 0x1F, 0xC0, 0x7F, 0xC1, + 0xFF, 0x03, 0xFC, 0x03, 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xF8, 0x1F, 0xFF, + 0xF7, 0xFF, 0x1F, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xE0, 0x07, + 0x80, 0x1E, 0x00, 0x78, 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x01, + 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x00, + 0x78, 0x00, 0xF0, 0x3F, 0xC0, 0xFF, 0x03, 0xFC, 0x0F, 0xF0, 0x3F, 0xC0, + 0xFF, 0x03, 0xFC, 0x0F, 0xF0, 0x3F, 0xC0, 0xFF, 0x03, 0xFC, 0x0F, 0xF0, + 0x3F, 0xC0, 0xFF, 0x03, 0xFE, 0x1E, 0x7F, 0xF8, 0xFF, 0xC0, 0xFC, 0x00, + 0x78, 0x07, 0x3C, 0x07, 0x9E, 0x03, 0xC7, 0x01, 0xC3, 0xC1, 0xE1, 0xE0, + 0xF0, 0xF0, 0x78, 0x38, 0x38, 0x1E, 0x3C, 0x0F, 0x1E, 0x03, 0x8E, 0x01, + 0xEF, 0x00, 0xF7, 0x80, 0x7B, 0x80, 0x1D, 0xC0, 0x0F, 0xE0, 0x07, 0xE0, + 0x01, 0xF0, 0x00, 0xF8, 0x00, 0x70, 0x0E, 0x70, 0x0E, 0x70, 0x0E, 0x70, + 0x0E, 0x70, 0x0E, 0x70, 0x0E, 0x73, 0x8E, 0x73, 0x8E, 0x73, 0x8E, 0x73, + 0xCE, 0x72, 0xCE, 0x76, 0xCE, 0x76, 0xEE, 0x36, 0xEC, 0x3E, 0x6C, 0x3E, + 0x7C, 0x3C, 0x7C, 0x3C, 0x7C, 0x3C, 0x3C, 0xF8, 0x1E, 0x78, 0x3C, 0x7C, + 0x7C, 0x3E, 0x78, 0x1F, 0xF0, 0x1F, 0xF0, 0x0F, 0xE0, 0x0F, 0xE0, 0x07, + 0xC0, 0x07, 0xC0, 0x07, 0xC0, 0x0F, 0xE0, 0x1E, 0xF0, 0x1E, 0xF0, 0x3C, + 0x78, 0x3C, 0x7C, 0x78, 0x3C, 0x78, 0x3E, 0xF0, 0x1E, 0xF0, 0x0F, 0x78, + 0x1E, 0x78, 0x1E, 0x3C, 0x3C, 0x3C, 0x3C, 0x1E, 0x78, 0x1E, 0x78, 0x0F, + 0x70, 0x0F, 0xF0, 0x07, 0xE0, 0x07, 0xE0, 0x03, 0xC0, 0x03, 0xC0, 0x03, + 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFE, 0x01, 0xE0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0x78, + 0x07, 0x80, 0x38, 0x03, 0xC0, 0x3C, 0x01, 0xE0, 0x1E, 0x00, 0xE0, 0x0F, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, + 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, + 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0xFF, 0xF0, 0x03, 0x80, + 0x1C, 0x00, 0xF0, 0x03, 0x80, 0x1E, 0x00, 0x70, 0x03, 0x80, 0x0E, 0x00, + 0x70, 0x03, 0xC0, 0x0E, 0x00, 0x78, 0x01, 0xC0, 0x0E, 0x00, 0x78, 0x01, + 0xC0, 0x0F, 0x00, 0x38, 0x01, 0xE0, 0x07, 0x00, 0x38, 0x01, 0xE0, 0xFF, + 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, + 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0xFF, + 0xFF, 0xFF, 0x03, 0x80, 0x0F, 0x80, 0x3F, 0x00, 0x77, 0x01, 0xEF, 0x03, + 0x8E, 0x0F, 0x1E, 0x3C, 0x1E, 0x78, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x3E, 0x07, 0xC0, 0xF8, 0x1F, 0x00, 0x00, 0x00, 0x01, 0x00, 0xFF, + 0x3F, 0xF7, 0x87, 0x70, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, + 0xE0, 0xFE, 0x1F, 0xFF, 0xF7, 0xFF, 0x3E, 0x70, 0xF0, 0x07, 0x80, 0x3C, + 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xCF, 0x1F, 0xFC, 0xFF, 0xF7, 0xE7, + 0xFE, 0x1F, 0xE0, 0xFF, 0x07, 0xF8, 0x3F, 0xC1, 0xFE, 0x1F, 0xF1, 0xF7, + 0xFF, 0xBF, 0xF8, 0xFF, 0x00, 0x07, 0xE1, 0xFF, 0x3F, 0xF7, 0xC1, 0xF8, + 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x80, 0x7C, 0x17, 0xFF, 0x3F, + 0xF0, 0xFE, 0x00, 0x70, 0x07, 0x00, 0x70, 0x07, 0x00, 0x70, 0x17, 0x0F, + 0xF3, 0xFF, 0x78, 0x77, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, + 0x7E, 0x0F, 0xE1, 0xFF, 0xFF, 0x7F, 0xF3, 0xE7, 0x0F, 0xC0, 0x7F, 0xC3, + 0xFF, 0x9E, 0x1E, 0xF0, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x03, + 0xC0, 0x07, 0xC0, 0x9F, 0xFE, 0x3F, 0xF8, 0x3F, 0x80, 0x00, 0xFE, 0x03, + 0xFC, 0x0F, 0xF8, 0x3E, 0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, 0x3F, 0xFE, + 0x7F, 0xFC, 0xFF, 0xF8, 0x1E, 0x00, 0x3C, 0x00, 0x78, 0x00, 0xF0, 0x01, + 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x00, + 0x00, 0xFF, 0x1F, 0xF3, 0xC7, 0x70, 0x77, 0x07, 0xE0, 0x7E, 0x07, 0xE0, + 0x7E, 0x07, 0xE0, 0xFF, 0x1F, 0x7F, 0xF7, 0xFF, 0x3F, 0x70, 0x07, 0x00, + 0x7E, 0x0F, 0xFF, 0xE7, 0xFC, 0x1F, 0x80, 0xF0, 0x07, 0x80, 0x3C, 0x01, + 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xCF, 0x9F, 0xFE, 0xFF, 0xFF, 0xE7, 0xFE, + 0x1F, 0xE0, 0xFF, 0x07, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0x83, + 0xFC, 0x1F, 0xE0, 0xF0, 0x04, 0x01, 0xE0, 0x1E, 0x01, 0xE0, 0x0C, 0x00, + 0x00, 0x00, 0x0F, 0xE0, 0xFE, 0x0F, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, + 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xF0, 0x0F, 0xF0, 0x7F, 0x03, 0xF0, + 0x02, 0x03, 0x83, 0xE1, 0xF0, 0x70, 0x00, 0x00, 0xFF, 0x7F, 0xBF, 0xC1, + 0xE0, 0xF0, 0x78, 0x3C, 0x1E, 0x0F, 0x07, 0x83, 0xC1, 0xE0, 0xF0, 0x78, + 0x3C, 0x1E, 0x0E, 0x0F, 0x7F, 0xBF, 0xDF, 0xC0, 0xF0, 0x03, 0xC0, 0x0F, + 0x00, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x0F, 0x07, 0xBC, 0x3C, 0xF1, 0xE3, + 0xCF, 0x0F, 0x7C, 0x3F, 0xE0, 0xFF, 0x03, 0xFE, 0x0F, 0x7C, 0x3C, 0xF0, + 0xF1, 0xE3, 0xC7, 0xCF, 0x0F, 0x3C, 0x1E, 0xFE, 0x0F, 0xE0, 0xFE, 0x00, + 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, + 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0F, 0x00, 0xFF, 0x07, 0xF0, + 0x3F, 0xF7, 0x9E, 0xFF, 0xBE, 0xFF, 0xFF, 0xFB, 0xEF, 0xF3, 0xCF, 0xF3, + 0xCF, 0xF3, 0xCF, 0xF3, 0xCF, 0xF3, 0xCF, 0xF3, 0xCF, 0xF3, 0xCF, 0xF3, + 0xCF, 0xF3, 0xCF, 0xF3, 0xCF, 0xF3, 0xE7, 0xFF, 0xBF, 0xFF, 0xF9, 0xFF, + 0x87, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0x83, 0xFC, 0x1F, 0xE0, + 0xFF, 0x07, 0xF8, 0x3C, 0x0F, 0xC0, 0xFF, 0xC7, 0xFF, 0x9E, 0x1E, 0xF8, + 0x3F, 0xC0, 0xFF, 0x03, 0xFC, 0x0F, 0xF0, 0x3F, 0xE1, 0xF7, 0x87, 0x9F, + 0xFE, 0x3F, 0xF0, 0x3F, 0x00, 0xF3, 0xC7, 0xFF, 0x3F, 0xFD, 0xF9, 0xFF, + 0x87, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0x87, 0xFC, 0x7D, 0xFF, + 0xEF, 0xFE, 0x7F, 0xC3, 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x01, + 0xE0, 0x00, 0x0F, 0xF9, 0xFF, 0xDF, 0xFE, 0xF8, 0xFF, 0x87, 0xF8, 0x3F, + 0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0x87, 0xFE, 0x7E, 0xFF, 0xF3, 0xFF, 0x8F, + 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1E, 0x00, 0xF0, 0xF3, + 0xE7, 0xBF, 0xBF, 0xFF, 0xF8, 0xFF, 0x87, 0xFC, 0x03, 0xC0, 0x1E, 0x00, + 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x00, 0x1F, 0xC7, + 0xFE, 0xFF, 0xEF, 0x06, 0xF0, 0x0F, 0xE0, 0x7F, 0xC1, 0xFE, 0x03, 0xF0, + 0x0F, 0xC0, 0xFF, 0xFF, 0xFF, 0xE7, 0xF8, 0x03, 0x00, 0x78, 0x03, 0xC0, + 0x1E, 0x00, 0xF0, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x78, 0x03, + 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xF0, 0x0F, 0xF8, 0x3F, + 0xC0, 0xFE, 0xF0, 0x7F, 0x83, 0xFC, 0x1F, 0xE0, 0xFF, 0x07, 0xF8, 0x3F, + 0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0x87, 0xFE, 0x7F, 0xFF, 0xF7, 0xFF, 0x9F, + 0x3C, 0x78, 0x07, 0x3C, 0x07, 0x8E, 0x03, 0x87, 0x83, 0xC3, 0xC1, 0xE0, + 0xE0, 0xE0, 0x78, 0xF0, 0x1C, 0x70, 0x0F, 0x38, 0x03, 0xB8, 0x01, 0xDC, + 0x00, 0xFE, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x70, 0x07, 0x38, 0x03, 0x9C, + 0x01, 0xCE, 0x00, 0xE7, 0x1C, 0x73, 0xCE, 0x38, 0xE7, 0xB8, 0x76, 0xDC, + 0x3B, 0x6E, 0x1D, 0xB7, 0x0E, 0xDF, 0x83, 0xE7, 0x81, 0xE3, 0xC0, 0xF1, + 0xE0, 0x78, 0x1E, 0x78, 0x78, 0x78, 0xE0, 0xF3, 0x80, 0xFF, 0x00, 0xFC, + 0x00, 0xF0, 0x03, 0xE0, 0x07, 0xE0, 0x1D, 0xE0, 0x79, 0xC1, 0xE3, 0xC3, + 0x83, 0xCF, 0x07, 0xC0, 0x78, 0x07, 0x3C, 0x07, 0x8E, 0x03, 0x87, 0x83, + 0xC3, 0xC1, 0xE0, 0xE1, 0xE0, 0x78, 0xF0, 0x1C, 0x70, 0x0F, 0x78, 0x03, + 0xB8, 0x01, 0xFC, 0x00, 0xFC, 0x00, 0x3E, 0x00, 0x1E, 0x00, 0x0F, 0x00, + 0x07, 0x00, 0x07, 0x80, 0x3F, 0x80, 0x1F, 0x80, 0x0F, 0x80, 0x00, 0xFF, + 0xFF, 0xFF, 0xFF, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x07, 0x00, 0xF0, 0x1E, + 0x03, 0xC0, 0x78, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0xF0, 0x3F, 0x07, + 0xF0, 0xF8, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x1F, + 0x0F, 0xE0, 0xF8, 0x0F, 0xE0, 0x1F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, + 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF8, 0x07, 0xF0, 0x3F, 0x01, + 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xF0, 0xF8, 0x0F, 0xC0, 0xFE, 0x01, 0xF0, 0x0F, 0x00, + 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x80, 0x7F, 0x01, 0xF0, + 0x7F, 0x0F, 0x80, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, + 0xF0, 0x0F, 0x01, 0xF0, 0xFE, 0x0F, 0xC0, 0xF8, 0x00, 0x3C, 0x01, 0xF8, + 0x77, 0xF1, 0xF9, 0xE7, 0xE3, 0xFB, 0x87, 0xE0, 0x0F, 0x00 }; + +const GFXglyph Code_New_Roman_Bold15pt7bGlyphs[] PROGMEM = { + { 0, 1, 1, 16, 0, 0 }, // 0x20 ' ' + { 1, 5, 20, 16, 6, -19 }, // 0x21 '!' + { 14, 10, 7, 16, 3, -19 }, // 0x22 '"' + { 23, 15, 19, 16, 1, -18 }, // 0x23 '#' + { 59, 14, 25, 16, 1, -20 }, // 0x24 '$' + { 103, 16, 20, 16, 0, -19 }, // 0x25 '%' + { 143, 17, 20, 16, 0, -19 }, // 0x26 '&' + { 186, 4, 7, 16, 6, -19 }, // 0x27 ''' + { 190, 10, 27, 16, 3, -20 }, // 0x28 '(' + { 224, 10, 27, 16, 3, -20 }, // 0x29 ')' + { 258, 14, 12, 16, 2, -19 }, // 0x2A '*' + { 279, 14, 14, 16, 1, -13 }, // 0x2B '+' + { 304, 8, 10, 16, 3, -4 }, // 0x2C ',' + { 314, 9, 3, 16, 4, -8 }, // 0x2D '-' + { 318, 6, 6, 16, 5, -5 }, // 0x2E '.' + { 323, 13, 23, 16, 1, -19 }, // 0x2F '/' + { 361, 15, 19, 16, 1, -18 }, // 0x30 '0' + { 397, 14, 19, 16, 1, -18 }, // 0x31 '1' + { 431, 13, 19, 16, 2, -18 }, // 0x32 '2' + { 462, 13, 19, 16, 2, -18 }, // 0x33 '3' + { 493, 15, 19, 16, 1, -18 }, // 0x34 '4' + { 529, 12, 19, 16, 2, -18 }, // 0x35 '5' + { 558, 14, 19, 16, 1, -18 }, // 0x36 '6' + { 592, 13, 19, 16, 2, -18 }, // 0x37 '7' + { 623, 14, 19, 16, 1, -18 }, // 0x38 '8' + { 657, 14, 19, 16, 1, -18 }, // 0x39 '9' + { 691, 5, 14, 16, 5, -13 }, // 0x3A ':' + { 700, 8, 19, 16, 4, -13 }, // 0x3B ';' + { 719, 12, 16, 16, 1, -15 }, // 0x3C '<' + { 743, 12, 9, 16, 2, -11 }, // 0x3D '=' + { 757, 12, 16, 16, 3, -15 }, // 0x3E '>' + { 781, 10, 20, 16, 4, -19 }, // 0x3F '?' + { 806, 16, 26, 16, 0, -19 }, // 0x40 '@' + { 858, 17, 19, 16, -1, -18 }, // 0x41 'A' + { 899, 13, 19, 16, 2, -18 }, // 0x42 'B' + { 930, 13, 19, 16, 1, -18 }, // 0x43 'C' + { 961, 14, 19, 16, 1, -18 }, // 0x44 'D' + { 995, 11, 19, 16, 3, -18 }, // 0x45 'E' + { 1022, 11, 19, 16, 3, -18 }, // 0x46 'F' + { 1049, 15, 19, 16, 1, -18 }, // 0x47 'G' + { 1085, 14, 19, 16, 1, -18 }, // 0x48 'H' + { 1119, 10, 19, 16, 3, -18 }, // 0x49 'I' + { 1143, 11, 19, 16, 2, -18 }, // 0x4A 'J' + { 1170, 14, 19, 16, 2, -18 }, // 0x4B 'K' + { 1204, 11, 19, 16, 3, -18 }, // 0x4C 'L' + { 1231, 15, 19, 16, 0, -18 }, // 0x4D 'M' + { 1267, 14, 19, 16, 1, -18 }, // 0x4E 'N' + { 1301, 15, 19, 16, 1, -18 }, // 0x4F 'O' + { 1337, 13, 19, 16, 2, -18 }, // 0x50 'P' + { 1368, 16, 25, 16, 1, -18 }, // 0x51 'Q' + { 1418, 13, 19, 16, 2, -18 }, // 0x52 'R' + { 1449, 13, 19, 16, 2, -18 }, // 0x53 'S' + { 1480, 14, 19, 16, 1, -18 }, // 0x54 'T' + { 1514, 14, 19, 16, 1, -18 }, // 0x55 'U' + { 1548, 17, 19, 16, 0, -18 }, // 0x56 'V' + { 1589, 16, 19, 16, 0, -18 }, // 0x57 'W' + { 1627, 16, 19, 16, 0, -18 }, // 0x58 'X' + { 1665, 16, 19, 16, 0, -18 }, // 0x59 'Y' + { 1703, 13, 19, 16, 1, -18 }, // 0x5A 'Z' + { 1734, 8, 27, 16, 4, -20 }, // 0x5B '[' + { 1761, 13, 23, 16, 2, -19 }, // 0x5C '\' + { 1799, 8, 27, 16, 4, -20 }, // 0x5D ']' + { 1826, 15, 9, 16, 0, -18 }, // 0x5E '^' + { 1843, 16, 3, 16, 0, 4 }, // 0x5F '_' + { 1849, 10, 6, 16, 0, -19 }, // 0x60 '`' + { 1857, 12, 15, 16, 2, -14 }, // 0x61 'a' + { 1880, 13, 20, 16, 2, -19 }, // 0x62 'b' + { 1913, 12, 14, 16, 2, -13 }, // 0x63 'c' + { 1934, 12, 20, 16, 2, -19 }, // 0x64 'd' + { 1964, 14, 14, 16, 1, -13 }, // 0x65 'e' + { 1989, 15, 20, 16, 0, -19 }, // 0x66 'f' + { 2027, 12, 21, 16, 2, -14 }, // 0x67 'g' + { 2059, 13, 20, 16, 2, -19 }, // 0x68 'h' + { 2092, 12, 21, 16, 3, -20 }, // 0x69 'i' + { 2124, 9, 28, 16, 4, -20 }, // 0x6A 'j' + { 2156, 14, 20, 16, 2, -19 }, // 0x6B 'k' + { 2191, 12, 20, 16, 3, -19 }, // 0x6C 'l' + { 2221, 16, 14, 16, 1, -13 }, // 0x6D 'm' + { 2249, 13, 14, 16, 2, -13 }, // 0x6E 'n' + { 2272, 14, 14, 16, 1, -13 }, // 0x6F 'o' + { 2297, 13, 20, 16, 2, -13 }, // 0x70 'p' + { 2330, 13, 20, 16, 1, -13 }, // 0x71 'q' + { 2363, 13, 14, 16, 3, -13 }, // 0x72 'r' + { 2386, 12, 14, 16, 2, -13 }, // 0x73 's' + { 2407, 13, 19, 16, 1, -18 }, // 0x74 't' + { 2438, 13, 14, 16, 2, -13 }, // 0x75 'u' + { 2461, 17, 14, 16, 0, -13 }, // 0x76 'v' + { 2491, 17, 14, 16, -1, -13 }, // 0x77 'w' + { 2521, 15, 14, 16, 0, -13 }, // 0x78 'x' + { 2548, 17, 20, 16, 0, -13 }, // 0x79 'y' + { 2591, 12, 14, 16, 2, -13 }, // 0x7A 'z' + { 2612, 12, 27, 16, 1, -20 }, // 0x7B '{' + { 2653, 4, 29, 16, 6, -22 }, // 0x7C '|' + { 2668, 12, 27, 16, 3, -20 }, // 0x7D '}' + { 2709, 14, 7, 16, 1, -10 } }; // 0x7E '~' + +const GFXfont Code_New_Roman_Bold15pt7b PROGMEM = { + (uint8_t *)Code_New_Roman_Bold15pt7bBitmaps, + (GFXglyph *)Code_New_Roman_Bold15pt7bGlyphs, + 0x20, 0x7E, 34 }; + +// Approx. 3394 bytes diff --git a/lib/Paperdink/src/fonts/Gobold_Thin9pt7b.h b/lib/Paperdink/src/fonts/Gobold_Thin9pt7b.h new file mode 100644 index 0000000..2e908e3 --- /dev/null +++ b/lib/Paperdink/src/fonts/Gobold_Thin9pt7b.h @@ -0,0 +1,213 @@ +const uint8_t Gobold_Thin9pt7bBitmaps[] PROGMEM = { + 0xFF, 0xFF, 0xFF, 0xC0, 0xF0, 0xDE, 0xF7, 0xBD, 0x80, 0x18, 0x86, 0x21, + 0x98, 0x46, 0x11, 0x8C, 0x4F, 0xFC, 0xCC, 0x23, 0x08, 0xCF, 0xFD, 0x88, + 0x66, 0x11, 0x84, 0x63, 0x10, 0xC4, 0x31, 0x00, 0x30, 0x73, 0xF6, 0x3C, + 0x78, 0xF1, 0xE0, 0xE0, 0xE0, 0xF0, 0xE0, 0xE0, 0xF1, 0xE3, 0xC7, 0x8F, + 0xF3, 0xC3, 0x06, 0x00, 0xF0, 0x89, 0x08, 0x90, 0x89, 0x10, 0x91, 0x09, + 0x10, 0x92, 0x09, 0x2E, 0x92, 0x9F, 0x49, 0x04, 0x90, 0x49, 0x08, 0x90, + 0x89, 0x18, 0x91, 0x09, 0x10, 0x93, 0x0E, 0x7C, 0x7F, 0x31, 0x98, 0xCC, + 0x06, 0x03, 0x01, 0x8C, 0x7F, 0xBF, 0xF1, 0x98, 0xCC, 0x66, 0x33, 0x19, + 0x8C, 0xFE, 0x3E, 0x00, 0xFF, 0xC0, 0x7F, 0x6D, 0xB6, 0xDB, 0x6D, 0xB6, + 0xDB, 0x6D, 0xD8, 0xDD, 0xB6, 0xDB, 0x6D, 0xB6, 0xDB, 0x6D, 0xB7, 0xF0, + 0x30, 0xCA, 0xFF, 0x31, 0x60, 0x30, 0x63, 0xFF, 0xF3, 0x06, 0x0C, 0x00, + 0xF5, 0x80, 0xFF, 0xF0, 0xF0, 0x10, 0x8C, 0x63, 0x18, 0x84, 0x63, 0x18, + 0x84, 0x63, 0x18, 0x84, 0x00, 0x7D, 0xFF, 0x1E, 0x3C, 0x78, 0xF1, 0xE3, + 0xC7, 0x8F, 0x1E, 0x3C, 0x78, 0xF1, 0xE3, 0xFE, 0xF8, 0xF1, 0xE0, 0xC1, + 0x83, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0xFF, + 0xFC, 0x7D, 0xFF, 0x1E, 0x3C, 0x78, 0xC1, 0x83, 0x0E, 0x38, 0xF3, 0x8E, + 0x18, 0x30, 0x60, 0xFF, 0xFC, 0x7D, 0xFF, 0x1E, 0x3C, 0x78, 0xC1, 0x83, + 0x3C, 0x78, 0x18, 0x3C, 0x78, 0xF1, 0xE3, 0xFE, 0xF8, 0x0E, 0x0E, 0x1E, + 0x1E, 0x36, 0x36, 0x26, 0x66, 0x66, 0x46, 0xC6, 0xFF, 0xFF, 0x06, 0x06, + 0x06, 0x06, 0x06, 0xFF, 0xFF, 0x06, 0x0C, 0x18, 0x37, 0x7F, 0xC6, 0x0C, + 0x18, 0x30, 0x78, 0xF1, 0xE3, 0xFE, 0xF8, 0x7D, 0xFF, 0x1E, 0x3C, 0x78, + 0x30, 0x6E, 0xFF, 0x8F, 0x1E, 0x3C, 0x78, 0xF1, 0xE3, 0xFE, 0xF8, 0xFF, + 0xFC, 0x18, 0x70, 0xC1, 0x83, 0x06, 0x1C, 0x30, 0x60, 0xC1, 0x86, 0x0C, + 0x18, 0x30, 0x60, 0x7D, 0xFF, 0x1E, 0x3C, 0x78, 0xF1, 0xE3, 0x7C, 0xFB, + 0x1E, 0x3C, 0x78, 0xF1, 0xE3, 0xFE, 0xF8, 0x7D, 0xFF, 0x1E, 0x3C, 0x78, + 0xF1, 0xE3, 0xFE, 0xEC, 0x18, 0x3C, 0x78, 0xF1, 0xE3, 0xFE, 0xF8, 0xF0, + 0x00, 0x0F, 0xD8, 0x00, 0x00, 0x1F, 0xA4, 0x80, 0x02, 0x1C, 0xF3, 0x8C, + 0x18, 0x3C, 0x1E, 0x0E, 0x04, 0xFF, 0xFC, 0x00, 0x0F, 0xFF, 0xC0, 0x81, + 0xC1, 0xC0, 0xE0, 0x60, 0xC7, 0xBC, 0xE1, 0x00, 0x7D, 0xFF, 0x1E, 0x3C, + 0x78, 0xC1, 0x87, 0x1C, 0x70, 0xC3, 0x86, 0x0C, 0x00, 0x00, 0x60, 0xC0, + 0x1F, 0x0C, 0x19, 0x01, 0x46, 0x19, 0x23, 0x24, 0x60, 0x8C, 0x11, 0x8F, + 0xD2, 0x42, 0x48, 0x49, 0x09, 0x21, 0x24, 0x63, 0x0A, 0x02, 0x60, 0xC3, + 0xE0, 0x1C, 0x0E, 0x05, 0x06, 0xC3, 0x61, 0xB0, 0xD8, 0x6C, 0x36, 0x33, + 0x18, 0xCC, 0x67, 0xF3, 0xF9, 0x8C, 0xC6, 0x63, 0x61, 0xC0, 0xFD, 0xFF, + 0x1E, 0x3C, 0x78, 0xF1, 0xE3, 0xFD, 0xFB, 0x1E, 0x3C, 0x78, 0xF1, 0xE3, + 0xFF, 0xF8, 0x7D, 0xFF, 0x1E, 0x3C, 0x78, 0xF0, 0x60, 0xC1, 0x83, 0x06, + 0x0C, 0x78, 0xF1, 0xE3, 0xFE, 0xF8, 0xFD, 0xFF, 0x1E, 0x3C, 0x78, 0xF1, + 0xE3, 0xC7, 0x8F, 0x1E, 0x3C, 0x78, 0xF1, 0xE3, 0xFF, 0xF8, 0xFF, 0xFC, + 0x30, 0xC3, 0x0C, 0x30, 0xFF, 0xFC, 0x30, 0xC3, 0x0C, 0x30, 0xFF, 0xF0, + 0xFF, 0xFC, 0x30, 0xC3, 0x0C, 0x30, 0xFF, 0xFC, 0x30, 0xC3, 0x0C, 0x30, + 0xC3, 0x00, 0x7D, 0xFF, 0x1E, 0x3C, 0x78, 0xF0, 0x60, 0xCF, 0x9F, 0x1E, + 0x3C, 0x78, 0xF1, 0xE3, 0xFE, 0xF8, 0xC7, 0x8F, 0x1E, 0x3C, 0x78, 0xF1, + 0xE3, 0xFF, 0xFF, 0x1E, 0x3C, 0x78, 0xF1, 0xE3, 0xC7, 0x8C, 0xFF, 0xFF, + 0xFF, 0xFF, 0xF0, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, 0x0C, + 0x18, 0x30, 0x60, 0xF1, 0xE3, 0xFE, 0xF8, 0xC7, 0x8F, 0x36, 0x6D, 0xDB, + 0x36, 0x7C, 0xF1, 0xE3, 0xE6, 0xCD, 0x9B, 0xB3, 0x66, 0xC7, 0x8C, 0xC3, + 0x0C, 0x30, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, 0x30, 0xFF, + 0xF0, 0xC0, 0x7C, 0x1F, 0x83, 0xF0, 0x7E, 0x0F, 0xE3, 0xFC, 0x7F, 0x8F, + 0xD1, 0x7B, 0x6F, 0x6D, 0xED, 0xBC, 0xA7, 0x94, 0xF3, 0x9E, 0x73, 0xC6, + 0x78, 0x8C, 0xC7, 0x8F, 0x9F, 0x3E, 0x7C, 0xFD, 0xFB, 0xD7, 0xAF, 0x5E, + 0xFC, 0xF9, 0xF3, 0xE7, 0xCF, 0x8C, 0x7D, 0xFF, 0x1E, 0x3C, 0x78, 0xF1, + 0xE3, 0xC7, 0x8F, 0x1E, 0x3C, 0x78, 0xF1, 0xE3, 0xFE, 0xF8, 0xFD, 0xFF, + 0x1E, 0x3C, 0x78, 0xF1, 0xE3, 0xFD, 0xF3, 0x06, 0x0C, 0x18, 0x30, 0x60, + 0xC1, 0x80, 0x7D, 0xFF, 0x1E, 0x3C, 0x78, 0xF1, 0xE3, 0xC7, 0x8F, 0x1E, + 0x3C, 0x78, 0xF1, 0xE3, 0xFE, 0xF0, 0x40, 0xF0, 0xE0, 0xFC, 0xFE, 0xC6, + 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xFC, 0xF8, 0xD8, 0xDC, 0xCC, 0xCC, 0xCE, + 0xC6, 0xC6, 0xC7, 0x7D, 0xFF, 0x1E, 0x3C, 0x78, 0xF8, 0x38, 0x38, 0x38, + 0x38, 0x3C, 0x78, 0xF1, 0xE3, 0xFE, 0xF8, 0xFF, 0xFC, 0xC1, 0x83, 0x06, + 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC7, + 0x8F, 0x1E, 0x3C, 0x78, 0xF1, 0xE3, 0xC7, 0x8F, 0x1E, 0x3C, 0x78, 0xF1, + 0xE3, 0xFE, 0xF8, 0xC3, 0xB1, 0x98, 0xCC, 0x66, 0x33, 0x19, 0x8C, 0xC6, + 0x66, 0x1B, 0x0D, 0x86, 0xC3, 0x61, 0xB0, 0xD8, 0x28, 0x1C, 0x0E, 0x00, + 0xC3, 0x86, 0xC7, 0x0D, 0x8E, 0x33, 0x1C, 0x66, 0x38, 0xCC, 0x71, 0x98, + 0xE3, 0x31, 0x66, 0x66, 0xCC, 0x6D, 0xB8, 0xDB, 0x61, 0xB6, 0xC3, 0x6D, + 0x86, 0xCB, 0x0D, 0x96, 0x0A, 0x3C, 0x1C, 0x70, 0x38, 0xE0, 0x63, 0x63, + 0x66, 0x66, 0x36, 0x3C, 0x3C, 0x1C, 0x18, 0x18, 0x1C, 0x3C, 0x3C, 0x36, + 0x76, 0x66, 0x63, 0x63, 0xC3, 0xC3, 0x66, 0x66, 0x66, 0x24, 0x3C, 0x3C, + 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, 0xF1, + 0xC6, 0x18, 0x63, 0x8C, 0x30, 0xC7, 0x18, 0x61, 0x86, 0x30, 0xFF, 0xF0, + 0xFF, 0x6D, 0xB6, 0xDB, 0x6D, 0xB6, 0xDB, 0x6D, 0xF8, 0x84, 0x31, 0x8C, + 0x21, 0x0C, 0x63, 0x08, 0x43, 0x18, 0xC2, 0x10, 0x80, 0xFD, 0xB6, 0xDB, + 0x6D, 0xB6, 0xDB, 0x6D, 0xB7, 0xF8, 0x18, 0x38, 0x2C, 0x64, 0x66, 0x46, + 0xC3, 0xFF, 0xFF, 0xC0, 0xC2, 0x1C, 0x0E, 0x0D, 0x06, 0xC3, 0x61, 0xB0, + 0xD8, 0x6C, 0x76, 0x31, 0x98, 0xCF, 0xE7, 0xF3, 0x19, 0x8D, 0xC7, 0xFD, + 0xFF, 0x1E, 0x3C, 0x78, 0xF1, 0xFE, 0xFD, 0x8F, 0x1E, 0x3C, 0x78, 0xFF, + 0xFE, 0x7D, 0xFF, 0x1E, 0x3C, 0x78, 0x30, 0x60, 0xC1, 0x83, 0x06, 0x3C, + 0x78, 0xFF, 0xBE, 0xFD, 0xFF, 0x1E, 0x3C, 0x78, 0xF1, 0xE3, 0xC7, 0x8F, + 0x1E, 0x3C, 0x78, 0xFF, 0xFE, 0xFF, 0xFC, 0x30, 0xC3, 0x0C, 0x3F, 0xFF, + 0x0C, 0x30, 0xC3, 0x0F, 0xFF, 0xFF, 0xFC, 0x30, 0xC3, 0x0C, 0x3F, 0xFF, + 0x0C, 0x30, 0xC3, 0x0C, 0x30, 0x7D, 0xFF, 0x1E, 0x3C, 0x78, 0x30, 0x67, + 0xCF, 0x8F, 0x1E, 0x3C, 0x78, 0xFF, 0xBE, 0xC7, 0x8F, 0x1E, 0x3C, 0x78, + 0xF1, 0xFF, 0xFF, 0x8F, 0x1E, 0x3C, 0x78, 0xF1, 0xE3, 0xFF, 0xFF, 0xFF, + 0xFF, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x3C, + 0x78, 0xFF, 0xBE, 0xC7, 0x8F, 0x36, 0x6D, 0x9B, 0x3E, 0x78, 0xF1, 0xF3, + 0x66, 0xCC, 0xD9, 0xB1, 0xE3, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, 0x30, 0xC3, + 0x0C, 0x30, 0xC3, 0x0F, 0xFF, 0xC0, 0x7C, 0x1F, 0x83, 0xF0, 0x7E, 0x0F, + 0xE3, 0xFC, 0x7E, 0x8B, 0xDB, 0x7B, 0x6F, 0x6D, 0xE5, 0x3C, 0xE7, 0x9C, + 0xF3, 0x9E, 0x23, 0xC7, 0xCF, 0x9F, 0x3E, 0x7E, 0xFD, 0xEB, 0xD7, 0xBF, + 0x7E, 0x7C, 0xF9, 0xF3, 0xE3, 0x7D, 0xFF, 0x1E, 0x3C, 0x78, 0xF1, 0xE3, + 0xC7, 0x8F, 0x1E, 0x3C, 0x78, 0xFF, 0xBE, 0xFD, 0xFF, 0x1E, 0x3C, 0x78, + 0xF1, 0xFF, 0xF9, 0x83, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x7D, 0xFF, 0x1E, + 0x3C, 0x78, 0xF1, 0xE3, 0xC7, 0x8F, 0x1E, 0x3C, 0x78, 0xFF, 0xBE, 0x10, + 0x3C, 0x38, 0xFC, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xFC, 0xF8, 0xD8, + 0xCC, 0xCC, 0xCC, 0xC6, 0xC6, 0xC7, 0x7D, 0xFF, 0x1E, 0x3C, 0x78, 0x18, + 0x1C, 0x1C, 0x1C, 0x1E, 0x3C, 0x78, 0xFF, 0xBE, 0xFF, 0xFC, 0xC1, 0x83, + 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0xC7, 0x8F, + 0x1E, 0x3C, 0x78, 0xF1, 0xE3, 0xC7, 0x8F, 0x1E, 0x3C, 0x78, 0xFF, 0xBE, + 0xC3, 0xB1, 0x98, 0xCC, 0x66, 0x33, 0x19, 0x8C, 0xCC, 0x36, 0x1B, 0x0D, + 0x86, 0xC3, 0x60, 0xA0, 0x70, 0x38, 0xC3, 0x86, 0xC7, 0x1D, 0x8E, 0x33, + 0x1C, 0x66, 0x38, 0xCC, 0x71, 0x98, 0xB3, 0x33, 0x66, 0x36, 0xD8, 0x6D, + 0xB0, 0xDB, 0x61, 0xB6, 0xC3, 0x65, 0x82, 0x8F, 0x07, 0x1C, 0x0E, 0x38, + 0x63, 0x63, 0x66, 0x36, 0x3E, 0x3C, 0x1C, 0x18, 0x18, 0x1C, 0x3C, 0x3E, + 0x36, 0x66, 0x63, 0x63, 0xC3, 0xC3, 0x66, 0x66, 0x66, 0x3C, 0x3C, 0x3C, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, 0xF1, 0xC6, 0x18, + 0x63, 0x0C, 0x31, 0xC6, 0x18, 0x63, 0x0F, 0xFF, 0x37, 0x66, 0x66, 0x66, + 0x66, 0x6E, 0xE6, 0x66, 0x66, 0x66, 0x67, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xCE, 0x66, 0x66, 0x66, 0x66, 0x67, 0x76, 0x66, 0x66, 0x66, + 0x6E, 0xC0, 0x71, 0x3C, 0x30 }; + +const GFXglyph Gobold_Thin9pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 4, 0, 1 }, // 0x20 ' ' + { 0, 2, 18, 4, 1, -17 }, // 0x21 '!' + { 5, 5, 5, 7, 1, -17 }, // 0x22 '"' + { 9, 10, 18, 12, 1, -17 }, // 0x23 '#' + { 32, 7, 22, 9, 1, -19 }, // 0x24 '$' + { 52, 12, 18, 14, 1, -17 }, // 0x25 '%' + { 79, 9, 18, 10, 1, -17 }, // 0x26 '&' + { 100, 2, 5, 4, 1, -17 }, // 0x27 ''' + { 102, 3, 23, 5, 1, -20 }, // 0x28 '(' + { 111, 3, 23, 5, 1, -20 }, // 0x29 ')' + { 120, 6, 6, 9, 1, -17 }, // 0x2A '*' + { 125, 7, 7, 9, 1, -11 }, // 0x2B '+' + { 132, 2, 5, 4, 1, -1 }, // 0x2C ',' + { 134, 6, 2, 8, 1, -9 }, // 0x2D '-' + { 136, 2, 2, 4, 1, -1 }, // 0x2E '.' + { 137, 5, 18, 6, 1, -17 }, // 0x2F '/' + { 149, 7, 18, 9, 1, -17 }, // 0x30 '0' + { 165, 7, 18, 9, 1, -17 }, // 0x31 '1' + { 181, 7, 18, 9, 1, -17 }, // 0x32 '2' + { 197, 7, 18, 9, 1, -17 }, // 0x33 '3' + { 213, 8, 18, 10, 1, -17 }, // 0x34 '4' + { 231, 7, 18, 9, 1, -17 }, // 0x35 '5' + { 247, 7, 18, 9, 1, -17 }, // 0x36 '6' + { 263, 7, 18, 9, 1, -17 }, // 0x37 '7' + { 279, 7, 18, 9, 1, -17 }, // 0x38 '8' + { 295, 7, 18, 9, 1, -17 }, // 0x39 '9' + { 311, 2, 12, 4, 1, -11 }, // 0x3A ':' + { 314, 3, 14, 5, 1, -10 }, // 0x3B ';' + { 320, 7, 10, 9, 1, -13 }, // 0x3C '<' + { 329, 7, 6, 9, 1, -11 }, // 0x3D '=' + { 335, 7, 10, 9, 1, -13 }, // 0x3E '>' + { 344, 7, 18, 9, 1, -17 }, // 0x3F '?' + { 360, 11, 18, 13, 1, -17 }, // 0x40 '@' + { 385, 9, 18, 9, 0, -17 }, // 0x41 'A' + { 406, 7, 18, 9, 1, -17 }, // 0x42 'B' + { 422, 7, 18, 9, 1, -17 }, // 0x43 'C' + { 438, 7, 18, 9, 1, -17 }, // 0x44 'D' + { 454, 6, 18, 8, 1, -17 }, // 0x45 'E' + { 468, 6, 18, 8, 1, -17 }, // 0x46 'F' + { 482, 7, 18, 9, 1, -17 }, // 0x47 'G' + { 498, 7, 18, 9, 1, -17 }, // 0x48 'H' + { 514, 2, 18, 4, 1, -17 }, // 0x49 'I' + { 519, 7, 18, 9, 1, -17 }, // 0x4A 'J' + { 535, 7, 18, 9, 1, -17 }, // 0x4B 'K' + { 551, 6, 18, 8, 1, -17 }, // 0x4C 'L' + { 565, 11, 18, 13, 1, -17 }, // 0x4D 'M' + { 590, 7, 18, 9, 1, -17 }, // 0x4E 'N' + { 606, 7, 18, 9, 1, -17 }, // 0x4F 'O' + { 622, 7, 18, 9, 1, -17 }, // 0x50 'P' + { 638, 7, 21, 9, 1, -17 }, // 0x51 'Q' + { 657, 8, 18, 9, 1, -17 }, // 0x52 'R' + { 675, 7, 18, 9, 1, -17 }, // 0x53 'S' + { 691, 7, 18, 9, 1, -17 }, // 0x54 'T' + { 707, 7, 18, 9, 1, -17 }, // 0x55 'U' + { 723, 9, 18, 9, 0, -17 }, // 0x56 'V' + { 744, 15, 18, 15, 0, -17 }, // 0x57 'W' + { 778, 8, 18, 8, 0, -17 }, // 0x58 'X' + { 796, 8, 18, 8, 0, -17 }, // 0x59 'Y' + { 814, 6, 18, 8, 1, -17 }, // 0x5A 'Z' + { 828, 3, 23, 5, 1, -20 }, // 0x5B '[' + { 837, 5, 18, 6, 1, -17 }, // 0x5C '\' + { 849, 3, 23, 5, 1, -20 }, // 0x5D ']' + { 858, 8, 7, 10, 1, -17 }, // 0x5E '^' + { 865, 9, 2, 9, 0, 2 }, // 0x5F '_' + { 868, 4, 2, 6, 1, -18 }, // 0x60 '`' + { 869, 9, 16, 9, 0, -15 }, // 0x61 'a' + { 887, 7, 16, 9, 1, -15 }, // 0x62 'b' + { 901, 7, 16, 9, 1, -15 }, // 0x63 'c' + { 915, 7, 16, 9, 1, -15 }, // 0x64 'd' + { 929, 6, 16, 8, 1, -15 }, // 0x65 'e' + { 941, 6, 16, 8, 1, -15 }, // 0x66 'f' + { 953, 7, 16, 9, 1, -15 }, // 0x67 'g' + { 967, 7, 16, 9, 1, -15 }, // 0x68 'h' + { 981, 2, 16, 4, 1, -15 }, // 0x69 'i' + { 985, 7, 16, 9, 1, -15 }, // 0x6A 'j' + { 999, 7, 16, 9, 1, -15 }, // 0x6B 'k' + { 1013, 6, 16, 8, 1, -15 }, // 0x6C 'l' + { 1025, 11, 16, 13, 1, -15 }, // 0x6D 'm' + { 1047, 7, 16, 9, 1, -15 }, // 0x6E 'n' + { 1061, 7, 16, 9, 1, -15 }, // 0x6F 'o' + { 1075, 7, 16, 9, 1, -15 }, // 0x70 'p' + { 1089, 7, 19, 9, 1, -15 }, // 0x71 'q' + { 1106, 8, 16, 9, 1, -15 }, // 0x72 'r' + { 1122, 7, 16, 9, 1, -15 }, // 0x73 's' + { 1136, 7, 16, 9, 1, -15 }, // 0x74 't' + { 1150, 7, 16, 9, 1, -15 }, // 0x75 'u' + { 1164, 9, 16, 9, 0, -15 }, // 0x76 'v' + { 1182, 15, 16, 15, 0, -15 }, // 0x77 'w' + { 1212, 8, 16, 8, 0, -15 }, // 0x78 'x' + { 1228, 8, 16, 8, 0, -15 }, // 0x79 'y' + { 1244, 6, 16, 8, 1, -15 }, // 0x7A 'z' + { 1256, 4, 23, 6, 1, -20 }, // 0x7B '{' + { 1268, 2, 24, 4, 1, -20 }, // 0x7C '|' + { 1274, 4, 23, 6, 1, -20 }, // 0x7D '}' + { 1286, 7, 3, 9, 1, -10 } }; // 0x7E '~' + +const GFXfont Gobold_Thin9pt7b PROGMEM = { + (uint8_t *)Gobold_Thin9pt7bBitmaps, + (GFXglyph *)Gobold_Thin9pt7bGlyphs, + 0x20, 0x7E, 23 }; + +// Approx. 1961 bytes diff --git a/lib/Paperdink/src/fonts/Mont_ExtraLight8pt7b.h b/lib/Paperdink/src/fonts/Mont_ExtraLight8pt7b.h new file mode 100644 index 0000000..57c1c61 --- /dev/null +++ b/lib/Paperdink/src/fonts/Mont_ExtraLight8pt7b.h @@ -0,0 +1,172 @@ +const uint8_t Mont_ExtraLight8pt7bBitmaps[] PROGMEM = { + 0xAA, 0xAA, 0x00, 0xBE, 0xFF, 0xB4, 0x7C, 0x00, 0xF2, 0x14, 0x18, 0x10, + 0x1E, 0x02, 0x03, 0x06, 0x13, 0x41, 0x00, 0xFF, 0xB4, 0x7C, 0x38, 0xC4, + 0x84, 0x48, 0x50, 0x60, 0x90, 0x8A, 0x86, 0x82, 0x7D, 0xF0, 0x4A, 0x49, + 0x24, 0x92, 0x44, 0x80, 0x49, 0x12, 0x49, 0x24, 0xA5, 0x00, 0x05, 0x6A, + 0x00, 0x82, 0x08, 0x78, 0x82, 0x00, 0xC0, 0x70, 0x80, 0xFF, 0xB4, 0x7C, + 0x3C, 0x42, 0x82, 0x82, 0x81, 0x81, 0x81, 0x82, 0x82, 0x42, 0x3C, 0x44, + 0x92, 0x49, 0x24, 0x00, 0x7A, 0x20, 0x41, 0x08, 0x21, 0x08, 0x42, 0x0F, + 0x80, 0x7C, 0x21, 0x08, 0x18, 0x10, 0x41, 0x86, 0x17, 0x80, 0x10, 0x10, + 0x10, 0x20, 0x20, 0x44, 0x44, 0x84, 0x7E, 0x04, 0x00, 0x7A, 0x08, 0x20, + 0xF0, 0x30, 0x41, 0x06, 0x17, 0x80, 0x20, 0x41, 0x02, 0x0B, 0x98, 0xA0, + 0xC1, 0x83, 0x09, 0xE0, 0x7E, 0x04, 0x10, 0x20, 0x81, 0x02, 0x08, 0x10, + 0x40, 0x80, 0x79, 0x0A, 0x14, 0x24, 0x4F, 0xA0, 0xC1, 0x83, 0x09, 0xE0, + 0x79, 0x0A, 0x14, 0x18, 0x50, 0x93, 0x1C, 0x08, 0x20, 0x40, 0x82, 0x83, + 0x80, 0xFF, 0xB4, 0x7C, 0x7E, 0x00, 0x7E, 0xFF, 0xB4, 0x7C, 0x3D, 0x84, + 0x08, 0x10, 0x20, 0x82, 0x08, 0x10, 0x00, 0x00, 0x80, 0x0F, 0xC0, 0xC0, + 0xC4, 0x00, 0xA0, 0x02, 0x8F, 0x86, 0x41, 0x19, 0x04, 0x64, 0x11, 0x90, + 0x46, 0x22, 0x98, 0x71, 0x90, 0x00, 0x20, 0x00, 0x7E, 0x00, 0x04, 0x03, + 0x00, 0xA0, 0x48, 0x12, 0x08, 0x42, 0x11, 0x02, 0x7F, 0x90, 0x18, 0x04, + 0xFD, 0x0A, 0x0C, 0x18, 0x5F, 0xA0, 0xC1, 0x83, 0x07, 0xF0, 0x3F, 0x08, + 0x1A, 0x01, 0x40, 0x08, 0x01, 0x00, 0x20, 0x04, 0x01, 0x80, 0x48, 0x10, + 0xFC, 0x00, 0xF8, 0x86, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x82, + 0xFC, 0xFE, 0x08, 0x20, 0x83, 0xE8, 0x20, 0x82, 0x0F, 0x80, 0xFE, 0x08, + 0x20, 0x83, 0xE8, 0x20, 0x82, 0x08, 0x00, 0x1F, 0x0C, 0x12, 0x01, 0x40, + 0x08, 0x01, 0x00, 0x21, 0xFC, 0x02, 0x80, 0x48, 0x10, 0xFC, 0x00, 0x81, + 0x81, 0x81, 0x81, 0x81, 0xFF, 0x81, 0x81, 0x81, 0x81, 0x81, 0xAA, 0xAA, + 0xA8, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x81, 0x85, 0x09, 0xE0, 0x83, + 0x0A, 0x24, 0x8A, 0x1C, 0x24, 0x48, 0x89, 0x0A, 0x08, 0x82, 0x08, 0x20, + 0x82, 0x08, 0x20, 0x82, 0x0F, 0x80, 0x40, 0x23, 0x03, 0x18, 0x18, 0xA0, + 0xA9, 0x09, 0x44, 0x4A, 0x24, 0x51, 0x22, 0x86, 0x0C, 0x10, 0x60, 0x02, + 0x81, 0x81, 0xC1, 0xA1, 0xA1, 0x91, 0x89, 0x85, 0x85, 0x83, 0x81, 0x1F, + 0x0C, 0x12, 0x01, 0x40, 0x18, 0x03, 0x00, 0x60, 0x0C, 0x01, 0x80, 0x48, + 0x08, 0xFE, 0x00, 0xF9, 0x0A, 0x0C, 0x18, 0x30, 0xBE, 0x40, 0x81, 0x02, + 0x00, 0x1F, 0x0C, 0x12, 0x01, 0x40, 0x18, 0x03, 0x00, 0x60, 0x0C, 0x11, + 0x81, 0x48, 0x18, 0xFD, 0x00, 0x30, 0xFD, 0x06, 0x0C, 0x18, 0x31, 0xBC, + 0x44, 0x85, 0x0A, 0x08, 0x7D, 0x06, 0x0C, 0x04, 0x07, 0x01, 0x81, 0x83, + 0x05, 0xF0, 0xFF, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x82, 0x82, 0x7C, + 0x80, 0x50, 0x24, 0x09, 0x02, 0x21, 0x08, 0x41, 0x20, 0x48, 0x0C, 0x03, + 0x00, 0x40, 0x81, 0x02, 0x83, 0x05, 0x06, 0x0A, 0x14, 0x24, 0x24, 0x44, + 0x88, 0x89, 0x12, 0x12, 0x14, 0x18, 0x28, 0x10, 0x60, 0x20, 0x40, 0x81, + 0x21, 0x08, 0x82, 0x81, 0x80, 0x40, 0x50, 0x48, 0x22, 0x20, 0xA0, 0x20, + 0x81, 0x81, 0x42, 0x44, 0x24, 0x18, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7F, + 0x02, 0x04, 0x04, 0x08, 0x10, 0x10, 0x20, 0x40, 0x40, 0xFE, 0xD2, 0x49, + 0x24, 0x92, 0x49, 0x80, 0xFF, 0xB4, 0x7C, 0x64, 0x92, 0x49, 0x24, 0x92, + 0xC0, 0xFF, 0xB4, 0x7C, 0xFF, 0xB4, 0x7C, 0xB8, 0x3C, 0x43, 0x81, 0x81, + 0x81, 0x81, 0x81, 0x43, 0x3C, 0x00, 0x80, 0x80, 0xBC, 0xC2, 0x81, 0x81, + 0x81, 0x81, 0x81, 0x82, 0x7C, 0x3C, 0x42, 0x81, 0x80, 0x80, 0x80, 0x81, + 0x42, 0x3C, 0x00, 0x01, 0x01, 0x3D, 0x43, 0x81, 0x81, 0x81, 0x81, 0x81, + 0x43, 0x3C, 0x3C, 0xC2, 0x81, 0x81, 0xFF, 0x80, 0x81, 0x82, 0x7C, 0x18, + 0x82, 0x08, 0x78, 0x82, 0x08, 0x20, 0x82, 0x08, 0x3C, 0xC3, 0x81, 0x81, + 0x81, 0x81, 0x83, 0x43, 0x3D, 0x81, 0x42, 0x3C, 0x01, 0x02, 0x05, 0xCC, + 0x50, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x10, 0x9F, 0xF0, 0x00, 0x12, 0x49, + 0x24, 0x92, 0x50, 0x02, 0x08, 0x22, 0x92, 0x4A, 0x30, 0xA2, 0x48, 0xA1, + 0xAA, 0xAA, 0xA8, 0x79, 0xC8, 0xA2, 0x84, 0x28, 0x41, 0x84, 0x18, 0x41, + 0x84, 0x18, 0x41, 0x84, 0x10, 0x39, 0x8A, 0x0C, 0x18, 0x30, 0x60, 0xC1, + 0x82, 0x3C, 0x21, 0xA0, 0x50, 0x28, 0x0C, 0x0A, 0x04, 0x82, 0x3E, 0x00, + 0x3C, 0xC2, 0x81, 0x81, 0x81, 0x81, 0x81, 0x82, 0xFC, 0x80, 0x80, 0x80, + 0x3C, 0x43, 0x81, 0x81, 0x81, 0x81, 0x81, 0x43, 0x3D, 0x01, 0x01, 0x01, + 0x68, 0x88, 0x88, 0x88, 0x80, 0x7A, 0x18, 0x20, 0x78, 0x10, 0x61, 0x78, + 0x20, 0x82, 0x1E, 0x20, 0x82, 0x08, 0x20, 0x81, 0x80, 0x81, 0x81, 0x81, + 0x81, 0x81, 0x82, 0x82, 0x42, 0x3C, 0x81, 0x41, 0x42, 0x42, 0x22, 0x24, + 0x14, 0x18, 0x08, 0x82, 0x0C, 0x10, 0x91, 0x44, 0x8A, 0x24, 0x92, 0x14, + 0x50, 0xA2, 0x86, 0x18, 0x10, 0x40, 0x82, 0x88, 0xA0, 0xC1, 0x05, 0x09, + 0x22, 0x82, 0x81, 0x20, 0x90, 0x84, 0x42, 0x20, 0xA0, 0x50, 0x30, 0x08, + 0x08, 0x04, 0x04, 0x00, 0x3C, 0x08, 0x20, 0x81, 0x04, 0x08, 0x20, 0xFC, + 0xE8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0xFF, 0xB4, 0x7C, 0x60, 0x84, + 0x21, 0x08, 0x43, 0x10, 0x84, 0x22, 0x30, 0xFF, 0xB4, 0x7C }; + +const GFXglyph Mont_ExtraLight8pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 4, 0, 1 }, // 0x20 ' ' + { 0, 2, 11, 4, 1, -10 }, // 0x21 '!' + { 3, 2, 4, 5, 1, -10 }, // 0x22 '"' + { 4, 2, 11, 6, 2, -10 }, // 0x23 '#' + { 7, 7, 13, 9, 1, -11 }, // 0x24 '$' + { 19, 2, 11, 6, 2, -10 }, // 0x25 '%' + { 22, 8, 11, 9, 1, -10 }, // 0x26 '&' + { 33, 1, 4, 3, 1, -10 }, // 0x27 ''' + { 34, 3, 14, 4, 1, -11 }, // 0x28 '(' + { 40, 3, 14, 4, 0, -11 }, // 0x29 ')' + { 46, 4, 4, 6, 1, -10 }, // 0x2A '*' + { 48, 6, 7, 8, 1, -8 }, // 0x2B '+' + { 54, 1, 3, 3, 1, 0 }, // 0x2C ',' + { 55, 5, 1, 7, 1, -4 }, // 0x2D '-' + { 56, 1, 1, 3, 1, 0 }, // 0x2E '.' + { 57, 2, 11, 6, 2, -10 }, // 0x2F '/' + { 60, 8, 11, 10, 1, -10 }, // 0x30 '0' + { 71, 3, 11, 5, 0, -10 }, // 0x31 '1' + { 76, 6, 11, 8, 1, -10 }, // 0x32 '2' + { 85, 6, 11, 8, 1, -10 }, // 0x33 '3' + { 94, 8, 11, 8, 0, -10 }, // 0x34 '4' + { 105, 6, 11, 8, 1, -10 }, // 0x35 '5' + { 114, 7, 11, 8, 1, -10 }, // 0x36 '6' + { 124, 7, 11, 7, 0, -10 }, // 0x37 '7' + { 134, 7, 11, 9, 1, -10 }, // 0x38 '8' + { 144, 7, 11, 8, 1, -10 }, // 0x39 '9' + { 154, 1, 7, 3, 1, -6 }, // 0x3A ':' + { 155, 1, 9, 3, 1, -6 }, // 0x3B ';' + { 157, 2, 11, 6, 2, -10 }, // 0x3C '<' + { 160, 8, 3, 10, 1, -6 }, // 0x3D '=' + { 163, 2, 11, 6, 2, -10 }, // 0x3E '>' + { 166, 7, 12, 8, 0, -11 }, // 0x3F '?' + { 177, 14, 14, 16, 1, -10 }, // 0x40 '@' + { 202, 10, 11, 11, 0, -10 }, // 0x41 'A' + { 216, 7, 11, 10, 2, -10 }, // 0x42 'B' + { 226, 11, 11, 12, 1, -10 }, // 0x43 'C' + { 242, 8, 11, 11, 2, -10 }, // 0x44 'D' + { 253, 6, 11, 9, 2, -10 }, // 0x45 'E' + { 262, 6, 11, 8, 2, -10 }, // 0x46 'F' + { 271, 11, 11, 13, 1, -10 }, // 0x47 'G' + { 287, 8, 11, 11, 2, -10 }, // 0x48 'H' + { 298, 2, 11, 4, 1, -10 }, // 0x49 'I' + { 301, 7, 11, 9, 1, -10 }, // 0x4A 'J' + { 311, 7, 11, 9, 2, -10 }, // 0x4B 'K' + { 321, 6, 11, 8, 2, -10 }, // 0x4C 'L' + { 330, 13, 11, 15, 1, -10 }, // 0x4D 'M' + { 348, 8, 11, 12, 2, -10 }, // 0x4E 'N' + { 359, 11, 11, 13, 1, -10 }, // 0x4F 'O' + { 375, 7, 11, 9, 2, -10 }, // 0x50 'P' + { 385, 11, 12, 13, 1, -10 }, // 0x51 'Q' + { 402, 7, 11, 10, 2, -10 }, // 0x52 'R' + { 412, 7, 11, 9, 1, -10 }, // 0x53 'S' + { 422, 8, 11, 8, 0, -10 }, // 0x54 'T' + { 433, 8, 11, 11, 2, -10 }, // 0x55 'U' + { 444, 10, 11, 10, 0, -10 }, // 0x56 'V' + { 458, 15, 11, 16, 0, -10 }, // 0x57 'W' + { 479, 9, 11, 9, 0, -10 }, // 0x58 'X' + { 492, 8, 11, 10, 1, -10 }, // 0x59 'Y' + { 503, 8, 11, 8, 0, -10 }, // 0x5A 'Z' + { 514, 3, 14, 5, 2, -11 }, // 0x5B '[' + { 520, 2, 11, 6, 2, -10 }, // 0x5C '\' + { 523, 3, 14, 5, 0, -11 }, // 0x5D ']' + { 529, 2, 11, 6, 2, -10 }, // 0x5E '^' + { 532, 2, 11, 6, 2, -10 }, // 0x5F '_' + { 535, 5, 1, 9, 2, -11 }, // 0x60 '`' + { 536, 8, 9, 11, 1, -8 }, // 0x61 'a' + { 545, 8, 12, 11, 2, -11 }, // 0x62 'b' + { 557, 8, 9, 10, 1, -8 }, // 0x63 'c' + { 566, 8, 12, 11, 1, -11 }, // 0x64 'd' + { 578, 8, 9, 10, 1, -8 }, // 0x65 'e' + { 587, 6, 12, 6, 0, -11 }, // 0x66 'f' + { 596, 8, 12, 11, 1, -8 }, // 0x67 'g' + { 608, 7, 12, 10, 2, -11 }, // 0x68 'h' + { 619, 1, 12, 4, 1, -11 }, // 0x69 'i' + { 621, 3, 15, 4, -1, -11 }, // 0x6A 'j' + { 627, 6, 12, 8, 2, -11 }, // 0x6B 'k' + { 636, 2, 11, 4, 1, -10 }, // 0x6C 'l' + { 639, 12, 9, 15, 2, -8 }, // 0x6D 'm' + { 653, 7, 9, 10, 2, -8 }, // 0x6E 'n' + { 661, 9, 9, 10, 1, -8 }, // 0x6F 'o' + { 672, 8, 12, 11, 2, -8 }, // 0x70 'p' + { 684, 8, 12, 11, 1, -8 }, // 0x71 'q' + { 696, 4, 9, 6, 2, -8 }, // 0x72 'r' + { 701, 6, 9, 8, 1, -8 }, // 0x73 's' + { 708, 6, 11, 6, 0, -10 }, // 0x74 't' + { 717, 8, 9, 10, 1, -8 }, // 0x75 'u' + { 726, 8, 9, 9, 0, -8 }, // 0x76 'v' + { 735, 13, 9, 13, 0, -8 }, // 0x77 'w' + { 750, 7, 9, 8, 0, -8 }, // 0x78 'x' + { 758, 9, 12, 9, 0, -8 }, // 0x79 'y' + { 772, 7, 9, 7, 0, -8 }, // 0x7A 'z' + { 780, 4, 14, 5, 1, -11 }, // 0x7B '{' + { 787, 2, 11, 6, 2, -10 }, // 0x7C '|' + { 790, 5, 14, 5, 0, -11 }, // 0x7D '}' + { 799, 2, 11, 6, 2, -10 } }; // 0x7E '~' + +const GFXfont Mont_ExtraLight8pt7b PROGMEM = { + (uint8_t *)Mont_ExtraLight8pt7bBitmaps, + (GFXglyph *)Mont_ExtraLight8pt7bGlyphs, + 0x20, 0x7E, 20 }; + +// Approx. 1474 bytes diff --git a/lib/Paperdink/src/fonts/Mont_Heavy25pt7b.h b/lib/Paperdink/src/fonts/Mont_Heavy25pt7b.h new file mode 100644 index 0000000..fdfb1da --- /dev/null +++ b/lib/Paperdink/src/fonts/Mont_Heavy25pt7b.h @@ -0,0 +1,865 @@ +const uint8_t Mont_Heavy25pt7bBitmaps[] PROGMEM = { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xE0, 0xFE, 0x1F, 0xFF, 0x87, 0xFF, 0xE1, 0xFF, 0xF8, + 0x7F, 0xFE, 0x1F, 0xFF, 0x87, 0xFF, 0xE1, 0xFF, 0xF8, 0x7F, 0xFE, 0x1F, + 0xFF, 0x87, 0xFF, 0xE1, 0xFF, 0xF8, 0x7F, 0xFE, 0x1F, 0xC0, 0x3C, 0x7E, + 0xFF, 0xE7, 0xC3, 0xE3, 0xFF, 0x7E, 0x3C, 0x00, 0x3F, 0xFF, 0xFC, 0xFC, + 0x1F, 0x1F, 0xFC, 0xF8, 0xFF, 0x7F, 0x00, 0xDB, 0xDB, 0xDB, 0xFF, 0xFF, + 0xFF, 0x18, 0x7E, 0xFF, 0xE7, 0xC3, 0xFF, 0xFF, 0xFF, 0x00, 0x7F, 0x00, + 0x00, 0x1F, 0xC0, 0x00, 0x07, 0xF0, 0x00, 0x07, 0xFF, 0x00, 0x07, 0xFF, + 0xF0, 0x03, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFC, 0x7F, + 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xFB, 0xFF, 0x07, 0xFE, + 0xFF, 0x80, 0xFF, 0xBF, 0xF0, 0x00, 0x0F, 0xFC, 0x00, 0x03, 0xFF, 0xC0, + 0x00, 0x7F, 0xFF, 0x00, 0x1F, 0xFF, 0xF8, 0x03, 0xFF, 0xFF, 0x80, 0xFF, + 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xF8, + 0x00, 0xFF, 0xFF, 0x00, 0x03, 0xFF, 0xC0, 0x00, 0x3F, 0xF0, 0x00, 0x07, + 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xF8, 0x7F, 0xFF, 0xFF, + 0xFF, 0xFD, 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0xC1, + 0xFF, 0xFF, 0xE0, 0x3F, 0xFF, 0xF0, 0x07, 0xFF, 0xF8, 0x00, 0x7F, 0xF8, + 0x00, 0x07, 0xF8, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x3C, + 0x7E, 0xFF, 0xE7, 0xC3, 0xE3, 0xFF, 0x7E, 0x3C, 0x00, 0x3F, 0xFF, 0xFC, + 0xFC, 0x1F, 0x1F, 0xFC, 0xF8, 0xFF, 0x7F, 0x00, 0xDB, 0xDB, 0xDB, 0xFF, + 0xFF, 0xFF, 0x18, 0x7E, 0xFF, 0xE7, 0xC3, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, + 0xC0, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0x1F, 0xFF, 0xE0, 0x00, 0x7F, 0xFF, + 0xE0, 0x01, 0xFF, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0xC0, 0x0F, 0xF8, 0xFF, + 0x80, 0x1F, 0xE0, 0xFF, 0x00, 0x3F, 0xC1, 0xFE, 0x00, 0x7F, 0x83, 0xFC, + 0x00, 0x7F, 0x8F, 0xF8, 0x00, 0xFF, 0x3F, 0xE0, 0x01, 0xFF, 0xFF, 0xC0, + 0x01, 0xFF, 0xFF, 0x00, 0x03, 0xFF, 0xFC, 0x00, 0x03, 0xFF, 0xF0, 0x00, + 0x07, 0xFF, 0xC0, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x7F, 0xFC, 0x00, 0x01, + 0xFF, 0xFC, 0x3F, 0x87, 0xFF, 0xFC, 0x7F, 0x0F, 0xFF, 0xFD, 0xFE, 0x3F, + 0xEF, 0xFF, 0xFC, 0x7F, 0x8F, 0xFF, 0xF8, 0xFF, 0x0F, 0xFF, 0xE1, 0xFE, + 0x0F, 0xFF, 0xC3, 0xFC, 0x0F, 0xFF, 0x07, 0xF8, 0x0F, 0xFE, 0x0F, 0xFC, + 0x3F, 0xF8, 0x1F, 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, + 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0xF0, 0x3F, 0xFF, + 0x1F, 0xF0, 0x0F, 0xF0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x01, 0xFF, 0x01, 0xFF, 0x01, 0xFF, + 0x80, 0xFF, 0x80, 0xFF, 0xC0, 0x7F, 0xC0, 0x7F, 0xE0, 0x3F, 0xE0, 0x3F, + 0xF0, 0x1F, 0xF0, 0x0F, 0xF8, 0x0F, 0xFC, 0x07, 0xFC, 0x03, 0xFE, 0x01, + 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x80, 0x7F, 0xC0, 0x3F, 0xE0, 0x1F, 0xF0, + 0x0F, 0xF8, 0x07, 0xFC, 0x03, 0xFE, 0x01, 0xFF, 0x00, 0xFF, 0x80, 0x7F, + 0xC0, 0x3F, 0xE0, 0x1F, 0xF0, 0x0F, 0xF8, 0x07, 0xFC, 0x03, 0xFE, 0x00, + 0xFF, 0x00, 0x7F, 0xC0, 0x3F, 0xE0, 0x1F, 0xF0, 0x0F, 0xFC, 0x03, 0xFE, + 0x01, 0xFF, 0x00, 0xFF, 0xC0, 0x3F, 0xE0, 0x1F, 0xF8, 0x07, 0xFC, 0x03, + 0xFF, 0x00, 0xFF, 0x80, 0x7F, 0xE0, 0x1F, 0xF0, 0x07, 0xFC, 0xFF, 0xC0, + 0x7F, 0xC0, 0x7F, 0xE0, 0x3F, 0xF0, 0x1F, 0xF0, 0x1F, 0xF8, 0x0F, 0xF8, + 0x0F, 0xF8, 0x07, 0xFC, 0x07, 0xFC, 0x07, 0xFE, 0x03, 0xFE, 0x03, 0xFE, + 0x03, 0xFE, 0x01, 0xFF, 0x01, 0xFF, 0x01, 0xFF, 0x01, 0xFF, 0x01, 0xFF, + 0x01, 0xFF, 0x01, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, + 0x00, 0xFF, 0x00, 0xFF, 0x01, 0xFF, 0x01, 0xFF, 0x01, 0xFF, 0x01, 0xFF, + 0x01, 0xFF, 0x01, 0xFF, 0x03, 0xFE, 0x03, 0xFE, 0x03, 0xFE, 0x07, 0xFC, + 0x07, 0xFC, 0x07, 0xFC, 0x0F, 0xF8, 0x0F, 0xF8, 0x1F, 0xF8, 0x1F, 0xF0, + 0x3F, 0xF0, 0x3F, 0xE0, 0x7F, 0xC0, 0xFF, 0xC0, 0x03, 0xF8, 0x00, 0x7F, + 0x00, 0x0F, 0xE0, 0x11, 0xFC, 0x43, 0xFF, 0xF8, 0x7F, 0xFF, 0x1F, 0xFF, + 0xF3, 0xFF, 0xFE, 0x7F, 0xFF, 0xE7, 0xFF, 0xF0, 0x3F, 0xF8, 0x07, 0xFF, + 0x81, 0xFF, 0xF0, 0x7F, 0xFF, 0x07, 0xEF, 0xE0, 0x78, 0xF0, 0x06, 0x0C, + 0x00, 0x00, 0x00, 0x01, 0xFE, 0x00, 0x03, 0xFC, 0x00, 0x07, 0xF8, 0x00, + 0x0F, 0xF0, 0x00, 0x1F, 0xE0, 0x00, 0x3F, 0xC0, 0x00, 0x7F, 0x80, 0x00, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x01, 0xFE, 0x00, 0x03, 0xFC, 0x00, 0x07, 0xF8, 0x00, 0x0F, 0xF0, + 0x00, 0x1F, 0xE0, 0x00, 0x3F, 0xC0, 0x00, 0x7F, 0x80, 0x00, 0xFF, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x1F, 0x3F, + 0xFE, 0xFC, 0xF8, 0xF0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x7E, 0xFF, 0xE7, 0xC3, + 0xE3, 0xFF, 0x7E, 0x3C, 0x00, 0x3F, 0xFF, 0xFC, 0xFC, 0x1F, 0x1F, 0xFC, + 0xF8, 0xFF, 0x7F, 0x00, 0xDB, 0xDB, 0xDB, 0xFF, 0xFF, 0xFF, 0x18, 0x7E, + 0xFF, 0xE7, 0xC3, 0xFF, 0xFF, 0xFF, 0x00, 0x3F, 0xC0, 0x00, 0x0F, 0xFF, + 0x80, 0x03, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0xE0, 0x0F, 0xFF, 0xFF, 0x01, + 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xFC, 0x3F, 0xF0, + 0xFF, 0xE7, 0xFE, 0x03, 0xFE, 0x7F, 0xC0, 0x3F, 0xF7, 0xFC, 0x01, 0xFF, + 0xFF, 0x80, 0x1F, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0x80, 0x1F, 0xFF, 0xF8, + 0x01, 0xFF, 0xFF, 0x80, 0x1F, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0x80, 0x1F, + 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0x80, 0x1F, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, + 0x80, 0x1F, 0xF7, 0xFC, 0x01, 0xFF, 0x7F, 0xC0, 0x3F, 0xE7, 0xFE, 0x03, + 0xFE, 0x3F, 0xF0, 0x7F, 0xE3, 0xFF, 0xFF, 0xFC, 0x1F, 0xFF, 0xFF, 0xC1, + 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xE0, 0x03, 0xFF, + 0xFC, 0x00, 0x0F, 0xFF, 0x80, 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xFF, 0x07, + 0xFC, 0x1F, 0xF0, 0x7F, 0xC1, 0xFF, 0x07, 0xFC, 0x1F, 0xF0, 0x7F, 0xC1, + 0xFF, 0x07, 0xFC, 0x1F, 0xF0, 0x7F, 0xC1, 0xFF, 0x07, 0xFC, 0x1F, 0xF0, + 0x7F, 0xC1, 0xFF, 0x07, 0xFC, 0x1F, 0xF0, 0x7F, 0xC1, 0xFF, 0x07, 0xFC, + 0x1F, 0xF0, 0x7F, 0xC1, 0xFF, 0x07, 0xFC, 0x00, 0xFF, 0x00, 0x01, 0xFF, + 0xF0, 0x01, 0xFF, 0xFC, 0x01, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0xC1, 0xFF, + 0xFF, 0xF0, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFE, 0x7F, 0xC3, 0xFF, 0x3F, + 0xE0, 0xFF, 0x9F, 0xE0, 0x7F, 0xCF, 0xF0, 0x3F, 0xE0, 0x00, 0x1F, 0xF0, + 0x00, 0x0F, 0xF8, 0x00, 0x0F, 0xF8, 0x00, 0x0F, 0xFC, 0x00, 0x07, 0xFC, + 0x00, 0x07, 0xFE, 0x00, 0x07, 0xFE, 0x00, 0x03, 0xFF, 0x00, 0x03, 0xFF, + 0x00, 0x03, 0xFF, 0x00, 0x03, 0xFF, 0x80, 0x03, 0xFF, 0x80, 0x01, 0xFF, + 0x80, 0x01, 0xFF, 0x80, 0x01, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xF1, 0xFF, + 0xFF, 0xF9, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFE, + 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xF0, + 0xFF, 0xFF, 0xF0, 0x00, 0x1F, 0xE0, 0x00, 0x1F, 0xC0, 0x00, 0x3F, 0xC0, + 0x00, 0x3F, 0x80, 0x00, 0x7F, 0x80, 0x00, 0xFF, 0x80, 0x00, 0xFF, 0xE0, + 0x01, 0xFF, 0xF8, 0x01, 0xFF, 0xFC, 0x03, 0xFF, 0xFC, 0x03, 0xFF, 0xFE, + 0x00, 0x0F, 0xFE, 0x00, 0x03, 0xFF, 0x00, 0x01, 0xFF, 0x00, 0x01, 0xFF, + 0x00, 0x01, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0x83, 0xFF, + 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFE, 0x7F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFC, + 0x1F, 0xFF, 0xF8, 0x0F, 0xFF, 0xF0, 0x07, 0xFF, 0xC0, 0x00, 0xFE, 0x00, + 0x00, 0x3F, 0xC0, 0x00, 0x1F, 0xF0, 0x00, 0x07, 0xFC, 0x00, 0x01, 0xFE, + 0x00, 0x00, 0xFF, 0x80, 0x00, 0x3F, 0xC0, 0x00, 0x1F, 0xF0, 0x00, 0x07, + 0xFC, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x3F, 0xC0, 0x00, + 0x1F, 0xF0, 0x00, 0x07, 0xFC, 0x3F, 0x03, 0xFE, 0x1F, 0xC0, 0xFF, 0x87, + 0xF0, 0x3F, 0xC1, 0xFC, 0x1F, 0xF0, 0x7F, 0x07, 0xF8, 0x3F, 0xC3, 0xFE, + 0x0F, 0xF0, 0xFF, 0x83, 0xFC, 0x3F, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xF7, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x07, 0xFC, 0x00, 0x01, 0xFF, 0x00, 0x00, + 0x7F, 0xC0, 0x00, 0x1F, 0xF0, 0x00, 0x07, 0xFC, 0x00, 0x01, 0xFF, 0x00, + 0x3F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFC, + 0x3F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFC, 0x3F, 0x80, 0x00, + 0x7F, 0x80, 0x00, 0x7F, 0x80, 0x00, 0x7F, 0x80, 0x00, 0x7F, 0xFC, 0x00, + 0x7F, 0xFF, 0xC0, 0x7F, 0xFF, 0xE0, 0x7F, 0xFF, 0xF8, 0x7F, 0xFF, 0xFC, + 0x7F, 0xFF, 0xFC, 0x7F, 0xFF, 0xFE, 0x00, 0x0F, 0xFE, 0x00, 0x03, 0xFF, + 0x00, 0x01, 0xFF, 0x00, 0x01, 0xFF, 0x00, 0x01, 0xFF, 0xFF, 0x01, 0xFF, + 0xFF, 0x81, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFE, + 0x7F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFC, 0x1F, 0xFF, 0xF8, 0x0F, 0xFF, 0xF0, + 0x07, 0xFF, 0xC0, 0x00, 0xFF, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x1F, 0xF0, + 0x00, 0x0F, 0xF8, 0x00, 0x07, 0xFE, 0x00, 0x01, 0xFF, 0x00, 0x00, 0xFF, + 0xC0, 0x00, 0x3F, 0xE0, 0x00, 0x1F, 0xF0, 0x00, 0x07, 0xFC, 0x00, 0x03, + 0xFE, 0x00, 0x01, 0xFF, 0x80, 0x00, 0x7F, 0xFF, 0x00, 0x3F, 0xFF, 0xF8, + 0x0F, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xFC, 0x7F, 0xFF, + 0xFF, 0x3F, 0xF8, 0x7F, 0xEF, 0xF8, 0x0F, 0xFB, 0xFE, 0x01, 0xFE, 0xFF, + 0x00, 0x7F, 0xFF, 0xC0, 0x1F, 0xFF, 0xF0, 0x07, 0xFF, 0xFC, 0x01, 0xFE, + 0xFF, 0x80, 0xFF, 0xBF, 0xF0, 0x3F, 0xE7, 0xFF, 0x7F, 0xF9, 0xFF, 0xFF, + 0xFC, 0x3F, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xC0, 0x3F, + 0xFF, 0xE0, 0x03, 0xFF, 0xE0, 0x00, 0x1F, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, + 0xF7, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, 0xFC, 0x00, 0x07, + 0xFC, 0x00, 0x03, 0xFE, 0x00, 0x03, 0xFF, 0x00, 0x01, 0xFF, 0x00, 0x00, + 0xFF, 0x80, 0x00, 0xFF, 0x80, 0x00, 0x7F, 0xC0, 0x00, 0x3F, 0xE0, 0x00, + 0x3F, 0xE0, 0x00, 0x1F, 0xF0, 0x00, 0x1F, 0xF0, 0x00, 0x0F, 0xF8, 0x00, + 0x07, 0xFC, 0x00, 0x07, 0xFC, 0x00, 0x03, 0xFE, 0x00, 0x03, 0xFF, 0x00, + 0x01, 0xFF, 0x00, 0x00, 0xFF, 0x80, 0x00, 0xFF, 0x80, 0x00, 0x7F, 0xC0, + 0x00, 0x7F, 0xE0, 0x00, 0x3F, 0xE0, 0x00, 0x1F, 0xF0, 0x00, 0x1F, 0xF0, + 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x00, 0xFF, 0xFC, 0x00, + 0xFF, 0xFF, 0x80, 0x7F, 0xFF, 0xF0, 0x3F, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, + 0xC7, 0xFF, 0xFF, 0xF1, 0xFF, 0x07, 0xFE, 0x7F, 0x80, 0xFF, 0x9F, 0xE0, + 0x3F, 0xE7, 0xF8, 0x0F, 0xF9, 0xFE, 0x03, 0xFE, 0x7F, 0xC1, 0xFF, 0x0F, + 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xF0, 0x0F, 0xFF, 0xF8, + 0x07, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0xF1, 0xFF, 0xFF, 0xFC, 0x7F, 0xE1, + 0xFF, 0xBF, 0xE0, 0x3F, 0xEF, 0xF8, 0x07, 0xFB, 0xFC, 0x01, 0xFF, 0xFF, + 0x00, 0x7F, 0xFF, 0xE0, 0x1F, 0xFF, 0xF8, 0x0F, 0xFB, 0xFF, 0x07, 0xFE, + 0x7F, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, + 0xF8, 0x0F, 0xFF, 0xFC, 0x01, 0xFF, 0xFC, 0x00, 0x0F, 0xF8, 0x00, 0x00, + 0x7F, 0x80, 0x00, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0x80, 0x7F, 0xFF, 0xF0, + 0x1F, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0xF9, 0xFF, 0xDF, + 0xFE, 0x7F, 0xC0, 0xFF, 0xBF, 0xE0, 0x1F, 0xFF, 0xF0, 0x07, 0xFF, 0xFC, + 0x00, 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0xC0, 0x0F, 0xFF, 0xF8, 0x07, 0xFF, + 0xFE, 0x01, 0xFF, 0x7F, 0xE1, 0xFF, 0x9F, 0xFF, 0xFF, 0xE3, 0xFF, 0xFF, + 0xF8, 0x7F, 0xFF, 0xFC, 0x0F, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0x80, 0x1F, + 0xFF, 0xE0, 0x00, 0x1F, 0xF0, 0x00, 0x0F, 0xFC, 0x00, 0x03, 0xFE, 0x00, + 0x01, 0xFF, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x3F, 0xE0, 0x00, 0x1F, 0xF8, + 0x00, 0x07, 0xFC, 0x00, 0x03, 0xFF, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x7F, + 0xC0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xE1, 0xE1, + 0xF1, 0xFB, 0xF9, 0xF8, 0xF8, 0x78, 0x00, 0x00, 0x1E, 0x3F, 0x9F, 0xDC, + 0x7E, 0x3F, 0x1D, 0xFC, 0xFE, 0x3E, 0x00, 0x1F, 0x8F, 0xF1, 0xF8, 0xF9, + 0xF0, 0xF8, 0x1F, 0x0F, 0xDF, 0xEF, 0xC0, 0x03, 0x7D, 0xBE, 0xDF, 0x7F, + 0xBF, 0xDF, 0xE3, 0x83, 0xE3, 0xF9, 0x8C, 0xC7, 0x7F, 0xBF, 0xDF, 0xE0, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFC, 0x3C, 0x7E, 0xFF, 0xE7, 0xC3, 0xE3, 0xFF, 0x7E, + 0x3C, 0x00, 0x3F, 0xFF, 0xFC, 0xFC, 0x1F, 0x1F, 0xFC, 0xF8, 0xFF, 0x7F, + 0x00, 0xDB, 0xDB, 0xDB, 0xFF, 0xFF, 0xFF, 0x18, 0x7E, 0xFF, 0xE7, 0xC3, + 0xFF, 0xFF, 0xFF, 0x00, 0x7F, 0x00, 0x01, 0xFF, 0xF0, 0x03, 0xFF, 0xFE, + 0x03, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xF1, 0xFF, 0xFF, + 0xFC, 0xFF, 0xFF, 0xFE, 0x7F, 0xC1, 0xFF, 0x7F, 0xC0, 0xFF, 0xFF, 0xE0, + 0x3F, 0xE0, 0x00, 0x1F, 0xF0, 0x00, 0x1F, 0xF8, 0x00, 0x0F, 0xF8, 0x00, + 0x0F, 0xFC, 0x00, 0x1F, 0xFC, 0x00, 0x1F, 0xFE, 0x00, 0x1F, 0xFE, 0x00, + 0x1F, 0xFE, 0x00, 0x0F, 0xFC, 0x00, 0x0F, 0xFC, 0x00, 0x07, 0xFC, 0x00, + 0x03, 0xFE, 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x07, 0xF8, + 0x00, 0x03, 0xFC, 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x7F, + 0x80, 0x00, 0x3F, 0xC0, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x00, 0xFF, 0xFC, + 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFE, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFE, + 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFC, + 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x7F, 0xFE, 0x01, 0xFF, 0xF8, + 0x03, 0xFF, 0x80, 0x00, 0x7F, 0xF0, 0x0F, 0xF8, 0x00, 0x00, 0x7F, 0xC0, + 0x7F, 0xC0, 0x00, 0x00, 0xFF, 0x83, 0xFE, 0x03, 0xF8, 0x01, 0xFF, 0x0F, + 0xF0, 0x3F, 0xF8, 0x03, 0xFC, 0x7F, 0x83, 0xFF, 0xF7, 0x87, 0xF9, 0xFC, + 0x1F, 0xFF, 0xFE, 0x0F, 0xE7, 0xF0, 0x7F, 0xFF, 0xF8, 0x3F, 0xBF, 0x83, + 0xFF, 0xFF, 0xE0, 0x7E, 0xFE, 0x1F, 0xFF, 0xFF, 0x81, 0xFF, 0xF8, 0x7F, + 0xC1, 0xFE, 0x07, 0xFF, 0xE1, 0xFE, 0x03, 0xF8, 0x1F, 0xFF, 0x07, 0xF0, + 0x0F, 0xE0, 0x7F, 0xFC, 0x1F, 0xC0, 0x1F, 0x81, 0xFF, 0xF0, 0x7F, 0x00, + 0x7E, 0x07, 0xFF, 0xC1, 0xFC, 0x03, 0xF8, 0x1F, 0xFF, 0x87, 0xF8, 0x0F, + 0xE0, 0x7F, 0xFE, 0x1F, 0xF0, 0x7F, 0xC3, 0xFF, 0xF8, 0x7F, 0xFF, 0xFF, + 0x1F, 0xEF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xC3, 0xFF, 0xFF, 0xFF, + 0xFC, 0x7F, 0x07, 0xFF, 0xFF, 0xFF, 0xF1, 0xFE, 0x0F, 0xFF, 0xDF, 0xFF, + 0x83, 0xFC, 0x0F, 0xFE, 0x3F, 0xFC, 0x0F, 0xF0, 0x0F, 0xE0, 0x7F, 0xC0, + 0x1F, 0xF0, 0x00, 0x00, 0x10, 0x00, 0x7F, 0xE0, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xF0, 0x0E, 0x00, 0x00, 0x03, + 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x0F, + 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x0F, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x0F, + 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x07, + 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x00, 0x0F, 0xFF, 0x00, 0x00, + 0x00, 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0x80, 0x00, 0x01, 0xFF, 0xF8, + 0x00, 0x00, 0x1F, 0xFF, 0x80, 0x00, 0x03, 0xFF, 0xFC, 0x00, 0x00, 0x3F, + 0xFF, 0xC0, 0x00, 0x03, 0xFF, 0xFE, 0x00, 0x00, 0x7F, 0xFF, 0xE0, 0x00, + 0x07, 0xFF, 0xFE, 0x00, 0x00, 0xFF, 0x9F, 0xF0, 0x00, 0x0F, 0xF9, 0xFF, + 0x00, 0x00, 0xFF, 0x9F, 0xF8, 0x00, 0x1F, 0xF0, 0xFF, 0x80, 0x01, 0xFF, + 0x0F, 0xF8, 0x00, 0x1F, 0xF0, 0x7F, 0xC0, 0x03, 0xFE, 0x07, 0xFC, 0x00, + 0x3F, 0xE0, 0x7F, 0xE0, 0x07, 0xFC, 0x03, 0xFE, 0x00, 0x7F, 0xFF, 0xFF, + 0xE0, 0x07, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, + 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0xFF, 0x81, + 0xFF, 0xFF, 0xFF, 0xFC, 0x3F, 0xF0, 0x00, 0xFF, 0xC3, 0xFF, 0x00, 0x0F, + 0xFE, 0x7F, 0xE0, 0x00, 0x7F, 0xE7, 0xFE, 0x00, 0x07, 0xFE, 0x7F, 0xE0, + 0x00, 0x3F, 0xFF, 0xFC, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, + 0xFF, 0x83, 0xFF, 0xFF, 0xF8, 0x7F, 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0xF9, + 0xFF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xF7, 0xFC, 0x0F, 0xFE, 0xFF, 0x80, + 0x7F, 0xDF, 0xF0, 0x0F, 0xFB, 0xFE, 0x01, 0xFF, 0x7F, 0xC0, 0x3F, 0xEF, + 0xF8, 0x0F, 0xF9, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, + 0xF0, 0xFF, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xE3, 0xFF, 0xFF, 0xFE, 0x7F, + 0xFF, 0xFF, 0xEF, 0xF8, 0x0F, 0xFD, 0xFF, 0x00, 0xFF, 0xFF, 0xE0, 0x0F, + 0xFF, 0xFC, 0x01, 0xFF, 0xFF, 0x80, 0x3F, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, + 0xBF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFC, 0x1F, 0xFF, + 0xFE, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x07, 0xFF, 0xF0, 0x00, 0x03, + 0xFF, 0xFF, 0x80, 0x00, 0xFF, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0xFF, 0xC0, + 0x1F, 0xFF, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, + 0xF8, 0x3F, 0xFF, 0xFF, 0xFF, 0x87, 0xFF, 0x80, 0xFF, 0xF9, 0xFF, 0xE0, + 0x07, 0xFF, 0x3F, 0xF8, 0x00, 0x7F, 0xEF, 0xFE, 0x00, 0x0F, 0xFF, 0xFF, + 0x80, 0x00, 0xFF, 0xFF, 0xF0, 0x00, 0x1F, 0xFF, 0xFE, 0x00, 0x00, 0x00, + 0xFF, 0x80, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x03, 0xFE, 0x00, 0x00, + 0x00, 0x7F, 0xC0, 0x00, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x01, 0xFF, 0x80, + 0x00, 0xFF, 0xFF, 0xF0, 0x00, 0x1F, 0xFF, 0xFF, 0x00, 0x07, 0xFF, 0x7F, + 0xF0, 0x00, 0xFF, 0xCF, 0xFF, 0x00, 0x3F, 0xF8, 0xFF, 0xF8, 0x1F, 0xFE, + 0x1F, 0xFF, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, 0xFF, 0xF0, 0x1F, 0xFF, 0xFF, + 0xFE, 0x03, 0xFF, 0xFF, 0xFF, 0x80, 0x3F, 0xFF, 0xFF, 0xE0, 0x01, 0xFF, + 0xFF, 0xF8, 0x00, 0x1F, 0xFF, 0xFC, 0x00, 0x00, 0xFF, 0xFE, 0x00, 0x00, + 0x03, 0xFE, 0x00, 0x00, 0xFF, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xFC, 0x00, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xE0, + 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xF8, + 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xC0, 0x3F, 0xFC, 0xFF, 0xC0, 0x1F, 0xFE, + 0xFF, 0xC0, 0x0F, 0xFE, 0xFF, 0xC0, 0x07, 0xFE, 0xFF, 0xC0, 0x03, 0xFF, + 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0xC0, 0x03, 0xFF, + 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0xC0, 0x03, 0xFF, + 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0xC0, 0x07, 0xFE, 0xFF, 0xC0, 0x0F, 0xFE, + 0xFF, 0xC0, 0x1F, 0xFE, 0xFF, 0xC0, 0x3F, 0xFC, 0xFF, 0xFF, 0xFF, 0xFC, + 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xF0, + 0xFF, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0x00, + 0xFF, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xFD, 0xFF, + 0xFF, 0xFB, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xDF, 0xFF, + 0xFF, 0xBF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFE, 0xFF, 0xC0, 0x01, 0xFF, 0x80, + 0x03, 0xFF, 0x00, 0x07, 0xFE, 0x00, 0x0F, 0xFC, 0x00, 0x1F, 0xFF, 0xFF, + 0x3F, 0xFF, 0xFE, 0x7F, 0xFF, 0xFC, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, 0xF3, + 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0x9F, 0xF8, 0x00, 0x3F, + 0xF0, 0x00, 0x7F, 0xE0, 0x00, 0xFF, 0xC0, 0x01, 0xFF, 0x80, 0x03, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x0F, 0xFC, 0x00, 0x3F, 0xF0, 0x00, 0xFF, 0xC0, 0x03, 0xFF, 0x00, + 0x0F, 0xFF, 0xFF, 0xBF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xEF, + 0xFF, 0xFF, 0xBF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xEF, 0xFC, + 0x00, 0x3F, 0xF0, 0x00, 0xFF, 0xC0, 0x03, 0xFF, 0x00, 0x0F, 0xFC, 0x00, + 0x3F, 0xF0, 0x00, 0xFF, 0xC0, 0x03, 0xFF, 0x00, 0x0F, 0xFC, 0x00, 0x3F, + 0xF0, 0x00, 0xFF, 0xC0, 0x03, 0xFF, 0x00, 0x00, 0x00, 0x07, 0xFE, 0x00, + 0x00, 0x03, 0xFF, 0xFC, 0x00, 0x00, 0xFF, 0xFF, 0xF0, 0x00, 0x1F, 0xFF, + 0xFF, 0x80, 0x07, 0xFF, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xFF, 0xF0, 0x1F, + 0xFF, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0xFF, + 0xC3, 0xFF, 0xC0, 0x3F, 0xFC, 0x7F, 0xF0, 0x01, 0xFF, 0xE7, 0xFE, 0x00, + 0x0F, 0xFE, 0xFF, 0xE0, 0x00, 0x7F, 0xEF, 0xFC, 0x00, 0x00, 0x00, 0xFF, + 0xC0, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, + 0x0F, 0xF8, 0x07, 0xFF, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, 0xFF, 0xF8, 0x07, + 0xFF, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xFF, 0xFC, 0x07, 0xFF, 0xFE, 0xFF, + 0xC0, 0x7F, 0xFF, 0xEF, 0xFE, 0x00, 0x07, 0xFE, 0x7F, 0xF0, 0x00, 0xFF, + 0xE7, 0xFF, 0x80, 0x1F, 0xFC, 0x3F, 0xFE, 0x07, 0xFF, 0xC3, 0xFF, 0xFF, + 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xF0, 0x0F, + 0xFF, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xFF, 0xC0, 0x01, 0xFF, 0xFF, 0xF8, + 0x00, 0x0F, 0xFF, 0xFE, 0x00, 0x00, 0x3F, 0xFF, 0x80, 0x00, 0x00, 0x3F, + 0xC0, 0x00, 0xFF, 0xC0, 0x0F, 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0xFC, 0x00, + 0xFF, 0xFF, 0xF0, 0x03, 0xFF, 0xFF, 0xC0, 0x0F, 0xFF, 0xFF, 0x00, 0x3F, + 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xF0, 0x03, 0xFF, 0xFF, 0xC0, 0x0F, 0xFF, + 0xFF, 0x00, 0x3F, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xF0, 0x03, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x3F, + 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xF0, 0x03, 0xFF, 0xFF, 0xC0, 0x0F, 0xFF, + 0xFF, 0x00, 0x3F, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xF0, 0x03, 0xFF, 0xFF, + 0xC0, 0x0F, 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xF0, + 0x03, 0xFF, 0xFF, 0xC0, 0x0F, 0xFF, 0xFF, 0x00, 0x3F, 0xF0, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x1F, 0xF0, + 0x00, 0x07, 0xFC, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x1F, + 0xF0, 0x00, 0x07, 0xFC, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x7F, 0xC0, 0x00, + 0x1F, 0xF0, 0x00, 0x07, 0xFC, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x7F, 0xC0, + 0x00, 0x1F, 0xF0, 0x00, 0x07, 0xFC, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x7F, + 0xC0, 0x00, 0x1F, 0xF0, 0x00, 0x07, 0xFC, 0x00, 0x01, 0xFF, 0x00, 0x00, + 0x7F, 0xFF, 0xE0, 0x1F, 0xFF, 0xF8, 0x07, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, + 0xC0, 0xFF, 0xFF, 0xF8, 0x7F, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xFE, + 0x7F, 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, 0xF0, 0x3F, 0xFF, + 0xF8, 0x07, 0xFF, 0xFC, 0x00, 0xFF, 0xFC, 0x00, 0x07, 0xF8, 0x00, 0xFF, + 0xC0, 0x3F, 0xF9, 0xFF, 0x80, 0x7F, 0xF3, 0xFF, 0x01, 0xFF, 0xC7, 0xFE, + 0x03, 0xFF, 0x0F, 0xFC, 0x0F, 0xFE, 0x1F, 0xF8, 0x3F, 0xF8, 0x3F, 0xF0, + 0x7F, 0xE0, 0x7F, 0xE1, 0xFF, 0xC0, 0xFF, 0xC7, 0xFF, 0x01, 0xFF, 0x8F, + 0xFC, 0x03, 0xFF, 0x3F, 0xF8, 0x07, 0xFE, 0x7F, 0xE0, 0x0F, 0xFD, 0xFF, + 0x80, 0x1F, 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0xF0, + 0x00, 0xFF, 0xFF, 0xE0, 0x01, 0xFF, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0xC0, + 0x07, 0xFF, 0xFF, 0xC0, 0x0F, 0xFD, 0xFF, 0xC0, 0x1F, 0xFB, 0xFF, 0x80, + 0x3F, 0xF3, 0xFF, 0x80, 0x7F, 0xE3, 0xFF, 0x80, 0xFF, 0xC7, 0xFF, 0x01, + 0xFF, 0x87, 0xFF, 0x03, 0xFF, 0x07, 0xFF, 0x07, 0xFE, 0x0F, 0xFE, 0x0F, + 0xFC, 0x0F, 0xFE, 0x1F, 0xF8, 0x0F, 0xFE, 0x3F, 0xF0, 0x1F, 0xFC, 0x7F, + 0xE0, 0x1F, 0xFC, 0xFF, 0xC0, 0x1F, 0xFD, 0xFF, 0x80, 0x3F, 0xF8, 0xFF, + 0xC0, 0x03, 0xFF, 0x00, 0x0F, 0xFC, 0x00, 0x3F, 0xF0, 0x00, 0xFF, 0xC0, + 0x03, 0xFF, 0x00, 0x0F, 0xFC, 0x00, 0x3F, 0xF0, 0x00, 0xFF, 0xC0, 0x03, + 0xFF, 0x00, 0x0F, 0xFC, 0x00, 0x3F, 0xF0, 0x00, 0xFF, 0xC0, 0x03, 0xFF, + 0x00, 0x0F, 0xFC, 0x00, 0x3F, 0xF0, 0x00, 0xFF, 0xC0, 0x03, 0xFF, 0x00, + 0x0F, 0xFC, 0x00, 0x3F, 0xF0, 0x00, 0xFF, 0xC0, 0x03, 0xFF, 0x00, 0x0F, + 0xFC, 0x00, 0x3F, 0xF0, 0x00, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x07, 0xFE, 0x00, + 0x01, 0xFF, 0x80, 0x1F, 0xFC, 0x00, 0x0F, 0xFE, 0x00, 0x7F, 0xF0, 0x00, + 0x3F, 0xF8, 0x01, 0xFF, 0xE0, 0x00, 0xFF, 0xE0, 0x07, 0xFF, 0x80, 0x07, + 0xFF, 0x80, 0x1F, 0xFE, 0x00, 0x1F, 0xFE, 0x00, 0x7F, 0xFC, 0x00, 0xFF, + 0xFC, 0x03, 0xFF, 0xF0, 0x03, 0xFF, 0xF0, 0x0F, 0xFF, 0xE0, 0x1F, 0xFF, + 0xC0, 0x3F, 0xFF, 0x80, 0x7F, 0xFF, 0x00, 0xFF, 0xFF, 0x01, 0xFF, 0xFC, + 0x03, 0xFF, 0xFC, 0x0F, 0xFF, 0xF0, 0x0F, 0xFF, 0xF0, 0x3F, 0xFF, 0xC0, + 0x7F, 0xFF, 0xE1, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0x87, 0xFB, 0xFE, 0x07, + 0xFD, 0xFF, 0x3F, 0xEF, 0xF8, 0x1F, 0xF3, 0xFC, 0xFF, 0xBF, 0xE0, 0x7F, + 0xCF, 0xFF, 0xFC, 0xFF, 0x81, 0xFF, 0x3F, 0xFF, 0xF3, 0xFE, 0x07, 0xFC, + 0x7F, 0xFF, 0x8F, 0xFC, 0x3F, 0xF1, 0xFF, 0xFE, 0x3F, 0xF0, 0xFF, 0xC3, + 0xFF, 0xF0, 0xFF, 0xC3, 0xFE, 0x0F, 0xFF, 0xC1, 0xFF, 0x0F, 0xF8, 0x1F, + 0xFE, 0x07, 0xFC, 0x3F, 0xE0, 0x7F, 0xF8, 0x1F, 0xF0, 0xFF, 0x80, 0xFF, + 0xC0, 0x7F, 0xC7, 0xFE, 0x03, 0xFF, 0x01, 0xFF, 0x9F, 0xF8, 0x07, 0xF8, + 0x07, 0xFE, 0x7F, 0xE0, 0x1F, 0xE0, 0x1F, 0xF9, 0xFF, 0x80, 0x3F, 0x80, + 0x3F, 0xE7, 0xFC, 0x00, 0xFC, 0x00, 0xFF, 0x9F, 0xF0, 0x03, 0xF0, 0x03, + 0xFE, 0x7F, 0xC0, 0x07, 0x80, 0x0F, 0xFF, 0xFF, 0x00, 0x1E, 0x00, 0x3F, + 0xF0, 0xFF, 0x80, 0x03, 0xFF, 0xFF, 0x80, 0x07, 0xFF, 0xFF, 0x00, 0x0F, + 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0xFF, 0x00, 0x7F, + 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0xFE, 0x03, 0xFF, + 0xFF, 0xFE, 0x07, 0xFF, 0xFF, 0xFC, 0x0F, 0xFF, 0xFF, 0xFC, 0x1F, 0xFF, + 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, + 0xFF, 0xF9, 0xFF, 0xFF, 0xBF, 0xFB, 0xFF, 0xFF, 0x3F, 0xF7, 0xFF, 0xFE, + 0x3F, 0xFF, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0xF8, 0x7F, 0xFF, 0xFF, 0xF0, + 0x7F, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0x80, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0xFC, 0x01, + 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF0, 0x01, 0xFF, 0xFF, 0xE0, 0x03, + 0xFF, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0x80, 0x03, 0xFF, 0xFF, 0x00, 0x03, + 0xFC, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0x3F, + 0xFF, 0xFE, 0x00, 0x03, 0xFF, 0xFF, 0xF8, 0x00, 0x7F, 0xFF, 0xFF, 0xE0, + 0x07, 0xFF, 0xFF, 0xFF, 0x80, 0x3F, 0xFF, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, + 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0xFF, 0xE1, 0xFF, 0xF0, 0x1F, 0xFF, 0x1F, + 0xFE, 0x00, 0x3F, 0xFC, 0xFF, 0xE0, 0x00, 0xFF, 0xEF, 0xFE, 0x00, 0x03, + 0xFF, 0x7F, 0xE0, 0x00, 0x1F, 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0xF8, + 0x00, 0x03, 0xFF, 0xFF, 0x80, 0x00, 0x1F, 0xFF, 0xFC, 0x00, 0x00, 0xFF, + 0xFF, 0xE0, 0x00, 0x07, 0xFF, 0xFF, 0x00, 0x00, 0x3F, 0xFF, 0xFC, 0x00, + 0x01, 0xFF, 0xFF, 0xE0, 0x00, 0x0F, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, + 0xFC, 0x00, 0x07, 0xFE, 0x7F, 0xF0, 0x00, 0x7F, 0xF3, 0xFF, 0xC0, 0x07, + 0xFF, 0x8F, 0xFF, 0x80, 0xFF, 0xF8, 0x7F, 0xFF, 0xFF, 0xFF, 0xC1, 0xFF, + 0xFF, 0xFF, 0xFC, 0x0F, 0xFF, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xFF, 0xFC, + 0x00, 0xFF, 0xFF, 0xFF, 0xC0, 0x01, 0xFF, 0xFF, 0xFC, 0x00, 0x07, 0xFF, + 0xFF, 0x80, 0x00, 0x0F, 0xFF, 0xF0, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, + 0xFF, 0xFF, 0xE0, 0x0F, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, + 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, + 0xCF, 0xFF, 0xFF, 0xFE, 0xFF, 0xC1, 0xFF, 0xEF, 0xFC, 0x07, 0xFE, 0xFF, + 0xC0, 0x7F, 0xEF, 0xFC, 0x03, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xFC, 0x03, + 0xFF, 0xFF, 0xC0, 0x3F, 0xEF, 0xFC, 0x07, 0xFE, 0xFF, 0xC1, 0xFF, 0xEF, + 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, + 0xFF, 0x8F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0x80, + 0xFF, 0xFF, 0xE0, 0x0F, 0xFC, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x0F, 0xFC, + 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0xFF, 0xC0, 0x00, + 0x0F, 0xFC, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x00, + 0x03, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0x80, 0x00, 0x03, 0xFF, 0xFF, + 0xE0, 0x00, 0x0F, 0xFF, 0xFF, 0xE0, 0x00, 0x3F, 0xFF, 0xFF, 0xE0, 0x01, + 0xFF, 0xFF, 0xFF, 0xE0, 0x03, 0xFF, 0xFF, 0xFF, 0xE0, 0x0F, 0xFF, 0xFF, + 0xFF, 0xE0, 0x3F, 0xFF, 0xFF, 0xFF, 0xE0, 0x7F, 0xFC, 0x07, 0xFF, 0xC1, + 0xFF, 0xE0, 0x03, 0xFF, 0xC3, 0xFF, 0x80, 0x03, 0xFF, 0x8F, 0xFE, 0x00, + 0x03, 0xFF, 0x1F, 0xF8, 0x00, 0x07, 0xFF, 0x3F, 0xF0, 0x00, 0x07, 0xFE, + 0x7F, 0xE0, 0x00, 0x0F, 0xFC, 0xFF, 0x80, 0x00, 0x1F, 0xF9, 0xFF, 0x00, + 0x00, 0x3F, 0xF3, 0xFE, 0x00, 0x00, 0x7F, 0xE7, 0xFC, 0x00, 0x00, 0xFF, + 0xCF, 0xFC, 0x00, 0x01, 0xFF, 0x9F, 0xF8, 0x00, 0x03, 0xFF, 0x3F, 0xF0, + 0x00, 0x0F, 0xFE, 0x7F, 0xF0, 0x00, 0x1F, 0xF8, 0x7F, 0xF0, 0x00, 0x7F, + 0xF0, 0xFF, 0xF0, 0x01, 0xFF, 0xE0, 0xFF, 0xF8, 0x0F, 0xFF, 0x81, 0xFF, + 0xFF, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0xFF, + 0xF0, 0x03, 0xFF, 0xFF, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0xFF, 0x80, 0x01, + 0xFF, 0xFF, 0xFF, 0x80, 0x01, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0xFF, 0xFF, + 0xFF, 0x00, 0x00, 0x1F, 0xF3, 0xFF, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x00, + 0x00, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x00, + 0x07, 0xFF, 0xFF, 0xFF, 0xE0, 0x07, 0xFF, 0xFF, 0xE0, 0x3F, 0xFF, 0xFF, + 0x81, 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0xF8, 0x7F, 0xFF, 0xFF, 0xE3, + 0xFF, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF, 0xFC, 0xFF, 0xC1, 0xFF, 0xE7, 0xFE, + 0x03, 0xFF, 0xBF, 0xF0, 0x0F, 0xFD, 0xFF, 0x80, 0x7F, 0xEF, 0xFC, 0x03, + 0xFF, 0x7F, 0xE0, 0x1F, 0xFB, 0xFF, 0x00, 0xFF, 0xDF, 0xF8, 0x1F, 0xFC, + 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xF1, 0xFF, + 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, + 0xF8, 0x1F, 0xFF, 0xFF, 0xC0, 0xFF, 0xC7, 0xFF, 0x07, 0xFE, 0x1F, 0xF8, + 0x3F, 0xF0, 0x7F, 0xE1, 0xFF, 0x83, 0xFF, 0x8F, 0xFC, 0x0F, 0xFC, 0x7F, + 0xE0, 0x7F, 0xF3, 0xFF, 0x01, 0xFF, 0x9F, 0xF8, 0x0F, 0xFE, 0xFF, 0xC0, + 0x3F, 0xF7, 0xFE, 0x01, 0xFF, 0xC0, 0x00, 0x7F, 0xC0, 0x00, 0x7F, 0xFF, + 0x00, 0x3F, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xF0, 0xFF, + 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0xE3, 0xFF, 0xFF, 0xFE, 0xFF, 0xE1, 0xFF, + 0xDF, 0xF8, 0x1F, 0xFB, 0xFF, 0x01, 0xFF, 0x7F, 0xE0, 0x00, 0x0F, 0xFF, + 0x00, 0x01, 0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0xF0, 0x03, 0xFF, 0xFF, 0xC0, + 0x3F, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, 0xE0, 0x3F, 0xFF, 0xFE, 0x01, 0xFF, + 0xFF, 0xE0, 0x07, 0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0xC0, 0x00, 0x7F, 0xF8, + 0x00, 0x03, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, 0x01, + 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x9F, + 0xFF, 0xFF, 0xF1, 0xFF, 0xFF, 0xFC, 0x1F, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, + 0xC0, 0x0F, 0xFF, 0xE0, 0x00, 0x3F, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x7F, 0xFF, 0xF0, 0x07, 0xFE, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x07, + 0xFE, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x7F, 0xE0, + 0x00, 0x07, 0xFE, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x07, 0xFE, 0x00, 0x00, + 0x7F, 0xE0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x07, 0xFE, + 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x7F, 0xE0, 0x00, + 0x07, 0xFE, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x7F, + 0xE0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x07, 0xFE, 0x00, + 0x00, 0x7F, 0xE0, 0x00, 0x07, 0xFE, 0x00, 0xFF, 0xC0, 0x0F, 0xFF, 0xFF, + 0x00, 0x3F, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xF0, 0x03, 0xFF, 0xFF, 0xC0, + 0x0F, 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xF0, 0x03, + 0xFF, 0xFF, 0xC0, 0x0F, 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0xFC, 0x00, 0xFF, + 0xFF, 0xF0, 0x03, 0xFF, 0xFF, 0xC0, 0x0F, 0xFF, 0xFF, 0x00, 0x3F, 0xFF, + 0xFC, 0x00, 0xFF, 0xFF, 0xF0, 0x03, 0xFF, 0xFF, 0xC0, 0x0F, 0xFF, 0xFF, + 0x00, 0x3F, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xF0, 0x03, 0xFF, 0xFF, 0xC0, + 0x0F, 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xF0, 0x03, + 0xFF, 0xFF, 0xE0, 0x1F, 0xF9, 0xFF, 0xC0, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, + 0x9F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFF, 0x80, + 0xFF, 0xFF, 0xFC, 0x01, 0xFF, 0xFF, 0xE0, 0x03, 0xFF, 0xFF, 0x00, 0x03, + 0xFF, 0xF0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0xFF, 0xEF, + 0xFC, 0x00, 0x1F, 0xFD, 0xFF, 0xC0, 0x03, 0xFF, 0x3F, 0xF8, 0x00, 0xFF, + 0xE3, 0xFF, 0x00, 0x1F, 0xFC, 0x7F, 0xF0, 0x03, 0xFF, 0x07, 0xFE, 0x00, + 0xFF, 0xE0, 0xFF, 0xC0, 0x1F, 0xF8, 0x1F, 0xFC, 0x03, 0xFF, 0x01, 0xFF, + 0x80, 0x7F, 0xE0, 0x3F, 0xF0, 0x1F, 0xF8, 0x03, 0xFF, 0x03, 0xFF, 0x00, + 0x7F, 0xE0, 0x7F, 0xC0, 0x0F, 0xFC, 0x1F, 0xF8, 0x00, 0xFF, 0xC3, 0xFF, + 0x00, 0x1F, 0xF8, 0x7F, 0xC0, 0x03, 0xFF, 0x1F, 0xF8, 0x00, 0x3F, 0xF3, + 0xFF, 0x00, 0x07, 0xFE, 0x7F, 0xC0, 0x00, 0x7F, 0xDF, 0xF8, 0x00, 0x0F, + 0xFF, 0xFE, 0x00, 0x01, 0xFF, 0xFF, 0xC0, 0x00, 0x1F, 0xFF, 0xF8, 0x00, + 0x03, 0xFF, 0xFE, 0x00, 0x00, 0x3F, 0xFF, 0xC0, 0x00, 0x07, 0xFF, 0xF0, + 0x00, 0x00, 0xFF, 0xFE, 0x00, 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0x01, 0xFF, + 0xF0, 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x03, 0xFF, 0xC0, 0x00, 0x00, + 0x7F, 0xF0, 0x00, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, + 0xFF, 0xC0, 0x00, 0xE0, 0x00, 0x7F, 0xEF, 0xFC, 0x00, 0x3E, 0x00, 0x0F, + 0xFD, 0xFF, 0x80, 0x07, 0xC0, 0x03, 0xFF, 0x3F, 0xF0, 0x00, 0xFC, 0x00, + 0x7F, 0xE3, 0xFF, 0x00, 0x3F, 0x80, 0x0F, 0xFC, 0x7F, 0xE0, 0x07, 0xF8, + 0x01, 0xFF, 0x0F, 0xFC, 0x01, 0xFF, 0x00, 0x7F, 0xE0, 0xFF, 0x80, 0x3F, + 0xE0, 0x0F, 0xFC, 0x1F, 0xF8, 0x07, 0xFE, 0x01, 0xFF, 0x03, 0xFF, 0x01, + 0xFF, 0xC0, 0x7F, 0xE0, 0x7F, 0xE0, 0x3F, 0xFC, 0x0F, 0xFC, 0x07, 0xFE, + 0x0F, 0xFF, 0x81, 0xFF, 0x80, 0xFF, 0xC1, 0xFF, 0xF8, 0x3F, 0xE0, 0x1F, + 0xF8, 0x7F, 0xFF, 0x0F, 0xFC, 0x01, 0xFF, 0x0F, 0xFF, 0xE1, 0xFF, 0x80, + 0x3F, 0xF1, 0xFF, 0xFE, 0x3F, 0xE0, 0x07, 0xFE, 0x7F, 0xFF, 0xCF, 0xFC, + 0x00, 0x7F, 0xCF, 0xFF, 0xFD, 0xFF, 0x80, 0x0F, 0xFF, 0xFE, 0xFF, 0xBF, + 0xE0, 0x01, 0xFF, 0xFF, 0xDF, 0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0xF9, 0xFF, + 0xFF, 0x80, 0x03, 0xFF, 0xFE, 0x3F, 0xFF, 0xE0, 0x00, 0x7F, 0xFF, 0xC3, + 0xFF, 0xFC, 0x00, 0x07, 0xFF, 0xF0, 0x7F, 0xFF, 0x80, 0x00, 0xFF, 0xFE, + 0x0F, 0xFF, 0xE0, 0x00, 0x1F, 0xFF, 0xC0, 0xFF, 0xFC, 0x00, 0x01, 0xFF, + 0xF0, 0x1F, 0xFF, 0x80, 0x00, 0x3F, 0xFE, 0x01, 0xFF, 0xF0, 0x00, 0x07, + 0xFF, 0x80, 0x3F, 0xFC, 0x00, 0x00, 0xFF, 0xF0, 0x07, 0xFF, 0x80, 0x00, + 0x0F, 0xFE, 0x00, 0x7F, 0xF0, 0x00, 0x01, 0xFF, 0x80, 0x0F, 0xFC, 0x00, + 0x00, 0x3F, 0xF0, 0x00, 0xFF, 0x80, 0x00, 0x03, 0xFC, 0x00, 0x1F, 0xF0, + 0x00, 0x7F, 0xE0, 0x07, 0xFF, 0x3F, 0xF8, 0x03, 0xFF, 0x0F, 0xFC, 0x03, + 0xFF, 0x03, 0xFF, 0x01, 0xFF, 0x81, 0xFF, 0xC1, 0xFF, 0x80, 0x7F, 0xE1, + 0xFF, 0xC0, 0x3F, 0xF8, 0xFF, 0xC0, 0x0F, 0xFC, 0xFF, 0xE0, 0x03, 0xFF, + 0x7F, 0xE0, 0x01, 0xFF, 0xFF, 0xE0, 0x00, 0x7F, 0xFF, 0xF0, 0x00, 0x3F, + 0xFF, 0xF0, 0x00, 0x0F, 0xFF, 0xF8, 0x00, 0x07, 0xFF, 0xF8, 0x00, 0x01, + 0xFF, 0xF8, 0x00, 0x00, 0x7F, 0xFC, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, + 0x3F, 0xFF, 0x00, 0x00, 0x1F, 0xFF, 0xC0, 0x00, 0x1F, 0xFF, 0xE0, 0x00, + 0x0F, 0xFF, 0xF8, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x07, 0xFF, 0xFF, 0x00, + 0x07, 0xFF, 0xFF, 0x80, 0x07, 0xFF, 0x7F, 0xE0, 0x03, 0xFF, 0x3F, 0xF8, + 0x03, 0xFF, 0x8F, 0xFC, 0x01, 0xFF, 0x87, 0xFF, 0x01, 0xFF, 0xC1, 0xFF, + 0x80, 0xFF, 0xC0, 0xFF, 0xE0, 0xFF, 0xC0, 0x3F, 0xF8, 0xFF, 0xE0, 0x0F, + 0xFC, 0x7F, 0xE0, 0x07, 0xFF, 0x7F, 0xF0, 0x01, 0xFF, 0x80, 0x7F, 0xE0, + 0x01, 0xFF, 0xDF, 0xFC, 0x00, 0x7F, 0xE3, 0xFF, 0x00, 0x3F, 0xF0, 0xFF, + 0xE0, 0x0F, 0xFC, 0x1F, 0xF8, 0x07, 0xFE, 0x03, 0xFF, 0x01, 0xFF, 0x80, + 0xFF, 0xC0, 0xFF, 0xC0, 0x1F, 0xF8, 0x3F, 0xF0, 0x07, 0xFE, 0x1F, 0xF8, + 0x00, 0xFF, 0xC7, 0xFC, 0x00, 0x3F, 0xF3, 0xFF, 0x00, 0x07, 0xFE, 0xFF, + 0x80, 0x00, 0xFF, 0xFF, 0xE0, 0x00, 0x3F, 0xFF, 0xF0, 0x00, 0x07, 0xFF, + 0xF8, 0x00, 0x01, 0xFF, 0xFE, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x0F, + 0xFF, 0xC0, 0x00, 0x01, 0xFF, 0xE0, 0x00, 0x00, 0x3F, 0xF8, 0x00, 0x00, + 0x0F, 0xFC, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0x00, + 0x00, 0x3F, 0xF0, 0x00, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x03, 0xFF, 0x00, + 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x00, 0x0F, 0xFC, + 0x00, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0x3F, + 0xF0, 0x00, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x7F, + 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, + 0xE7, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0xC3, 0xFF, + 0xFF, 0xF8, 0x7F, 0xFF, 0xFE, 0x00, 0x01, 0xFF, 0xC0, 0x00, 0x3F, 0xF0, + 0x00, 0x0F, 0xFE, 0x00, 0x01, 0xFF, 0x80, 0x00, 0x7F, 0xE0, 0x00, 0x0F, + 0xFC, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x1F, 0xF8, 0x00, + 0x03, 0xFF, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x3F, 0xF8, 0x00, 0x07, 0xFE, + 0x00, 0x01, 0xFF, 0xC0, 0x00, 0x3F, 0xF0, 0x00, 0x0F, 0xFC, 0x00, 0x01, + 0xFF, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, + 0xFE, 0x7F, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xFF, 0x07, 0xF8, 0x3F, 0xC1, + 0xFE, 0x0F, 0xF0, 0x7F, 0x83, 0xFC, 0x1F, 0xE0, 0xFF, 0x07, 0xF8, 0x3F, + 0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0x83, 0xFC, 0x1F, 0xE0, 0xFF, 0x07, 0xF8, + 0x3F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0x83, 0xFC, 0x1F, 0xE0, 0xFF, 0x07, + 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0x83, 0xFC, 0x1F, 0xE0, 0xFF, + 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x3C, 0x3F, 0x9F, 0xDC, 0x7E, 0x3F, 0x1D, 0xFC, 0xFE, 0x3C, 0x00, 0x3F, + 0x9F, 0xE1, 0xF0, 0xF9, 0xF1, 0xF8, 0x1F, 0x0F, 0xBF, 0xDF, 0xC0, 0x07, + 0xDB, 0xED, 0xF6, 0xFF, 0x7F, 0xBF, 0xC3, 0x87, 0xE3, 0xF9, 0x8D, 0xC6, + 0xFF, 0x7F, 0xBF, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, + 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, + 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, + 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, + 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x7E, 0xFF, 0xE7, 0xC3, 0xE3, 0xFF, 0x7E, + 0x3C, 0x00, 0x3F, 0xFF, 0xFC, 0xFC, 0x1F, 0x1F, 0xFC, 0xF8, 0xFF, 0x7F, + 0x00, 0xDB, 0xDB, 0xDB, 0xFF, 0xFF, 0xFF, 0x18, 0x7E, 0xFF, 0xE7, 0xC3, + 0xFF, 0xFF, 0xFF, 0x3C, 0x7E, 0xFF, 0xE7, 0xC3, 0xE3, 0xFF, 0x7E, 0x3C, + 0x00, 0x3F, 0xFF, 0xFC, 0xFC, 0x1F, 0x1F, 0xFC, 0xF8, 0xFF, 0x7F, 0x00, + 0xDB, 0xDB, 0xDB, 0xFF, 0xFF, 0xFF, 0x18, 0x7E, 0xFF, 0xE7, 0xC3, 0xFF, + 0xFF, 0xFF, 0xEE, 0xC9, 0xD7, 0xDF, 0x6E, 0xF3, 0xFC, 0xF7, 0x5E, 0xF0, + 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xFF, 0xC7, 0xF0, 0x3F, 0xFF, 0xDF, 0xC1, + 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0xF3, 0xFF, + 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xFF, 0x7F, 0xF8, 0x3F, 0xFD, 0xFF, 0x80, + 0x7F, 0xF7, 0xFE, 0x00, 0xFF, 0xDF, 0xF0, 0x01, 0xFF, 0xFF, 0xC0, 0x07, + 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0xF0, 0x01, 0xFF, + 0x7F, 0xC0, 0x07, 0xFD, 0xFF, 0x80, 0x3F, 0xF7, 0xFF, 0x01, 0xFF, 0xDF, + 0xFE, 0x0F, 0xFF, 0x3F, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xF1, 0xFF, + 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFC, 0x0F, 0xFF, + 0xFF, 0xF0, 0x0F, 0xFF, 0x1F, 0xC0, 0x0F, 0xF0, 0x00, 0xFF, 0x80, 0x00, + 0x07, 0xFC, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x0F, + 0xF8, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x1F, 0xF0, + 0x00, 0x00, 0xFF, 0x80, 0x00, 0x07, 0xFC, 0x7F, 0x00, 0x3F, 0xEF, 0xFF, + 0x01, 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0xF8, 0x7F, 0xFF, 0xFF, 0xE3, + 0xFF, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, + 0x87, 0xFF, 0xBF, 0xF0, 0x0F, 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0xF8, 0x00, + 0xFF, 0xFF, 0xC0, 0x07, 0xFF, 0xFC, 0x00, 0x3F, 0xFF, 0xE0, 0x01, 0xFF, + 0xFF, 0x80, 0x0F, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0xE0, 0x07, 0xFF, 0xFF, + 0x80, 0x7F, 0xFF, 0xFF, 0x07, 0xFF, 0x7F, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, + 0xFF, 0x9F, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0xFC, + 0x3F, 0xBF, 0xFF, 0xC1, 0xFC, 0xFF, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, + 0x00, 0x1F, 0xE0, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xC0, 0x0F, + 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFC, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, + 0xFF, 0x87, 0xFF, 0xFF, 0xFE, 0x7F, 0xF8, 0x7F, 0xF3, 0xFF, 0x00, 0xFF, + 0xDF, 0xF0, 0x07, 0xFE, 0xFF, 0x80, 0x1F, 0xFF, 0xFC, 0x00, 0x00, 0x7F, + 0xC0, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x7F, 0xC0, + 0x0F, 0xFB, 0xFF, 0x00, 0xFF, 0xDF, 0xF8, 0x07, 0xFE, 0xFF, 0xF0, 0xFF, + 0xE3, 0xFF, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFF, 0x01, + 0xFF, 0xFF, 0xF8, 0x07, 0xFF, 0xFF, 0x80, 0x1F, 0xFF, 0xF0, 0x00, 0x3F, + 0xFF, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, + 0x1F, 0xF0, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x07, + 0xFC, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x01, 0xFF, + 0x00, 0x00, 0x07, 0xFC, 0x00, 0x7F, 0x1F, 0xF0, 0x0F, 0xFF, 0x7F, 0xC0, + 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xF1, 0xFF, + 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFD, 0xFF, 0xE0, + 0xFF, 0xF7, 0xFE, 0x01, 0xFF, 0xDF, 0xF8, 0x03, 0xFF, 0x7F, 0xC0, 0x07, + 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0xF0, 0x01, 0xFF, + 0xFF, 0xC0, 0x07, 0xFD, 0xFF, 0x00, 0x1F, 0xF7, 0xFE, 0x00, 0xFF, 0xDF, + 0xFC, 0x07, 0xFF, 0x7F, 0xF8, 0x3F, 0xFC, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, + 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFC, 0x1F, 0xFF, + 0xFF, 0xF0, 0x3F, 0xFF, 0xFF, 0xC0, 0x3F, 0xFC, 0x7F, 0x00, 0x3F, 0xC0, + 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0x80, + 0x0F, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFC, 0x0F, 0xFF, 0xFF, 0xE0, 0xFF, + 0xFF, 0xFF, 0x87, 0xFF, 0x0F, 0xFE, 0x7F, 0xE0, 0x3F, 0xF3, 0xFE, 0x00, + 0xFF, 0x9F, 0xF0, 0x03, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, + 0x80, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x1F, 0xF0, 0x07, 0xFC, 0xFF, 0xC0, + 0x7F, 0xE3, 0xFF, 0xCF, 0xFF, 0x1F, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFF, + 0x01, 0xFF, 0xFF, 0xF8, 0x07, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0xF0, 0x00, + 0x3F, 0xFE, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0x3F, 0xE0, 0x0F, 0xFE, + 0x01, 0xFF, 0xE0, 0x3F, 0xFE, 0x07, 0xFF, 0xE0, 0x7F, 0xFE, 0x07, 0xFF, + 0xE0, 0x7F, 0xC0, 0x07, 0xF8, 0x00, 0x7F, 0x80, 0x07, 0xF8, 0x0F, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFC, 0x00, 0xFF, 0xC0, 0x0F, 0xFC, 0x00, + 0xFF, 0xC0, 0x0F, 0xFC, 0x00, 0xFF, 0xC0, 0x0F, 0xFC, 0x00, 0xFF, 0xC0, + 0x0F, 0xFC, 0x00, 0xFF, 0xC0, 0x0F, 0xFC, 0x00, 0xFF, 0xC0, 0x0F, 0xFC, + 0x00, 0xFF, 0xC0, 0x0F, 0xFC, 0x00, 0xFF, 0xC0, 0x0F, 0xFC, 0x00, 0xFF, + 0xC0, 0x0F, 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x0F, 0xFF, 0x8F, 0xC0, + 0xFF, 0xFE, 0xFE, 0x1F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0x8F, 0xFF, + 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0x7F, 0xF0, 0x3F, + 0xFB, 0xFF, 0x00, 0xFF, 0xDF, 0xF0, 0x03, 0xFF, 0xFF, 0x80, 0x1F, 0xFF, + 0xF8, 0x00, 0x7F, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0x00, 0x1F, 0xEF, 0xF8, + 0x01, 0xFF, 0x7F, 0xC0, 0x0F, 0xFB, 0xFF, 0x00, 0xFF, 0xDF, 0xFE, 0x0F, + 0xFE, 0x7F, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0xFC, + 0x3F, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xF8, 0x07, + 0xFE, 0x7F, 0xC0, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x1F, 0xF7, 0xFC, 0x01, + 0xFF, 0x9F, 0xF8, 0x1F, 0xF8, 0xFF, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0xFC, + 0x1F, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0xE0, 0x07, + 0xFF, 0xFE, 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0x07, 0xE0, 0x00, 0xFF, 0x80, + 0x00, 0x3F, 0xE0, 0x00, 0x0F, 0xF8, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, + 0x80, 0x00, 0x3F, 0xE0, 0x00, 0x0F, 0xF8, 0x00, 0x03, 0xFE, 0x00, 0x00, + 0xFF, 0x80, 0x00, 0x3F, 0xE1, 0xF8, 0x0F, 0xF9, 0xFF, 0xC3, 0xFF, 0xFF, + 0xF8, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xFB, 0xFF, + 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xFC, 0x0F, 0xFF, + 0xFE, 0x01, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, 0xE0, 0x1F, 0xFF, 0xF8, 0x07, + 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, 0xE0, 0x1F, 0xFF, 0xF8, + 0x07, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, 0xE0, 0x1F, 0xFF, + 0xF8, 0x07, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, 0xE0, 0x1F, + 0xFF, 0xF8, 0x07, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xF8, 0x03, 0xFC, 0x07, 0xF8, 0x0F, 0xF0, 0x1F, 0xE0, 0x3F, 0xC0, 0x7F, + 0x80, 0xFF, 0x01, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xF0, + 0x7F, 0xE0, 0xFF, 0xC1, 0xFF, 0x83, 0xFF, 0x07, 0xFE, 0x0F, 0xFC, 0x1F, + 0xF8, 0x3F, 0xF0, 0x7F, 0xE0, 0xFF, 0xC1, 0xFF, 0x83, 0xFF, 0x07, 0xFE, + 0x0F, 0xFC, 0x1F, 0xF8, 0x3F, 0xF0, 0x7F, 0xE0, 0xFF, 0xC1, 0xFF, 0x83, + 0xFF, 0x07, 0xFE, 0x0F, 0xFC, 0x1F, 0xF8, 0x3F, 0xF0, 0x7F, 0xE0, 0xFF, + 0xC1, 0xFF, 0x87, 0xFE, 0xFF, 0xFD, 0xFF, 0xFB, 0xFF, 0xE7, 0xFF, 0xCF, + 0xFF, 0x1F, 0xFC, 0x3F, 0xF0, 0x7F, 0x00, 0xFF, 0x80, 0x00, 0x1F, 0xF0, + 0x00, 0x03, 0xFE, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x0F, 0xF8, 0x00, 0x01, + 0xFF, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x07, 0xFC, 0x00, 0x00, 0xFF, 0x80, + 0x00, 0x1F, 0xF0, 0x00, 0x03, 0xFE, 0x07, 0xFF, 0x7F, 0xC0, 0xFF, 0xCF, + 0xF8, 0x3F, 0xF1, 0xFF, 0x0F, 0xFE, 0x3F, 0xE1, 0xFF, 0x87, 0xFC, 0x7F, + 0xE0, 0xFF, 0x8F, 0xFC, 0x1F, 0xF3, 0xFF, 0x03, 0xFE, 0xFF, 0xC0, 0x7F, + 0xDF, 0xF8, 0x0F, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0x80, 0x3F, 0xFF, 0xF0, + 0x07, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0xE0, 0x1F, 0xF7, 0xFE, 0x03, 0xFE, + 0xFF, 0xC0, 0x7F, 0xCF, 0xFC, 0x0F, 0xF9, 0xFF, 0xC1, 0xFF, 0x1F, 0xF8, + 0x3F, 0xE1, 0xFF, 0x87, 0xFC, 0x3F, 0xF8, 0xFF, 0x83, 0xFF, 0x1F, 0xF0, + 0x7F, 0xF3, 0xFE, 0x07, 0xFF, 0x7F, 0xC0, 0x7F, 0xE0, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xF0, 0x00, 0x0F, 0xC0, 0x0F, 0xC0, 0xFE, 0x3F, 0xF8, 0x3F, 0xF0, + 0xFE, 0x7F, 0xFC, 0xFF, 0xF8, 0xFE, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xFF, 0xC3, 0xFF, 0xFF, + 0xC1, 0xFF, 0x81, 0xFF, 0xFF, 0x80, 0xFF, 0x81, 0xFF, 0xFF, 0x80, 0xFF, + 0x81, 0xFF, 0xFF, 0x80, 0xFF, 0x81, 0xFF, 0xFF, 0x80, 0xFF, 0x81, 0xFF, + 0xFF, 0x80, 0xFF, 0x81, 0xFF, 0xFF, 0x80, 0xFF, 0x81, 0xFF, 0xFF, 0x80, + 0xFF, 0x81, 0xFF, 0xFF, 0x80, 0xFF, 0x81, 0xFF, 0xFF, 0x80, 0xFF, 0x81, + 0xFF, 0xFF, 0x80, 0xFF, 0x81, 0xFF, 0xFF, 0x80, 0xFF, 0x81, 0xFF, 0xFF, + 0x80, 0xFF, 0x81, 0xFF, 0xFF, 0x80, 0xFF, 0x81, 0xFF, 0xFF, 0x80, 0xFF, + 0x81, 0xFF, 0xFF, 0x80, 0xFF, 0x81, 0xFF, 0xFF, 0x80, 0xFF, 0x81, 0xFF, + 0xFF, 0x80, 0xFF, 0x81, 0xFF, 0x00, 0x07, 0xE0, 0x3F, 0x0F, 0xFE, 0x0F, + 0xE7, 0xFF, 0xE3, 0xFB, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, + 0xEF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xF0, + 0x3F, 0xFF, 0xF8, 0x07, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, + 0xE0, 0x1F, 0xFF, 0xF8, 0x07, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0x80, 0x7F, + 0xFF, 0xE0, 0x1F, 0xFF, 0xF8, 0x07, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0x80, + 0x7F, 0xFF, 0xE0, 0x1F, 0xFF, 0xF8, 0x07, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, + 0x80, 0x7F, 0xFF, 0xE0, 0x1F, 0xFF, 0xF8, 0x07, 0xFC, 0x00, 0x1F, 0xE0, + 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x3F, 0xFF, 0xF0, 0x01, 0xFF, 0xFF, 0xE0, + 0x0F, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0xFF, 0x0F, + 0xFF, 0xFF, 0xFE, 0x7F, 0xF8, 0x7F, 0xF9, 0xFF, 0x80, 0x7F, 0xE7, 0xFC, + 0x00, 0xFF, 0xDF, 0xF0, 0x03, 0xFF, 0xFF, 0xC0, 0x07, 0xFF, 0xFE, 0x00, + 0x1F, 0xFF, 0xF8, 0x00, 0x7F, 0xFF, 0xF0, 0x01, 0xFF, 0x7F, 0xC0, 0x0F, + 0xFD, 0xFF, 0x80, 0x3F, 0xF7, 0xFE, 0x01, 0xFF, 0x9F, 0xFF, 0x1F, 0xFE, + 0x3F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, 0xFE, 0x03, + 0xFF, 0xFF, 0xF0, 0x07, 0xFF, 0xFF, 0x80, 0x0F, 0xFF, 0xFC, 0x00, 0x0F, + 0xFF, 0xC0, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x0F, 0xE0, 0x07, 0xE3, 0xFF, + 0xE0, 0x3F, 0xBF, 0xFF, 0xC1, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFC, + 0x7F, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF, 0xFE, 0xFF, + 0xF0, 0xFF, 0xF7, 0xFE, 0x01, 0xFF, 0xFF, 0xE0, 0x07, 0xFF, 0xFF, 0x00, + 0x3F, 0xFF, 0xF0, 0x00, 0xFF, 0xFF, 0x80, 0x07, 0xFF, 0xFC, 0x00, 0x3F, + 0xFF, 0xE0, 0x01, 0xFF, 0xFF, 0x80, 0x0F, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, + 0xF0, 0x0F, 0xFF, 0xFF, 0xE1, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, + 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, + 0x87, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0x01, 0xFF, 0x1F, 0xC0, 0x0F, + 0xF8, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x1F, 0xF0, + 0x00, 0x00, 0xFF, 0x80, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x3F, 0xE0, 0x00, + 0x01, 0xFF, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xC0, + 0x00, 0x03, 0xFF, 0xC7, 0xF0, 0x3F, 0xFF, 0xDF, 0xC1, 0xFF, 0xFF, 0xFF, + 0x0F, 0xFF, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0xCF, + 0xFF, 0xFF, 0xFF, 0x7F, 0xF8, 0x3F, 0xFD, 0xFF, 0x80, 0x7F, 0xF7, 0xFE, + 0x00, 0xFF, 0xDF, 0xF0, 0x01, 0xFF, 0xFF, 0xC0, 0x07, 0xFF, 0xFF, 0x00, + 0x1F, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0xF0, 0x01, 0xFF, 0x7F, 0xC0, 0x07, + 0xFD, 0xFF, 0x80, 0x3F, 0xF7, 0xFF, 0x01, 0xFF, 0xDF, 0xFE, 0x0F, 0xFF, + 0x3F, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xF1, 0xFF, 0xFF, 0xFF, 0xC3, + 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFC, 0x0F, 0xFF, 0xFF, 0xF0, 0x0F, + 0xFF, 0x7F, 0xC0, 0x0F, 0xF1, 0xFF, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, + 0x1F, 0xF0, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x07, + 0xFC, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x01, 0xFF, + 0x00, 0x00, 0x07, 0xFC, 0x00, 0x1F, 0xFE, 0x3F, 0xFF, 0xBF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x7F, + 0xE0, 0x3F, 0xE0, 0x1F, 0xF0, 0x0F, 0xF8, 0x07, 0xFC, 0x03, 0xFE, 0x01, + 0xFF, 0x00, 0xFF, 0x80, 0x7F, 0xC0, 0x3F, 0xE0, 0x1F, 0xF0, 0x0F, 0xF8, + 0x07, 0xFC, 0x03, 0xFE, 0x01, 0xFF, 0x00, 0xFF, 0x80, 0x7F, 0xC0, 0x3F, + 0xE0, 0x00, 0x00, 0xFF, 0x00, 0x07, 0xFF, 0xE0, 0x0F, 0xFF, 0xF0, 0x1F, + 0xFF, 0xF8, 0x3F, 0xFF, 0xFC, 0x7F, 0xFF, 0xFE, 0x7F, 0xFF, 0xFE, 0x7F, + 0xC3, 0xFE, 0x7F, 0xC1, 0xFE, 0x7F, 0xC0, 0x00, 0x7F, 0xF8, 0x00, 0x7F, + 0xFF, 0xC0, 0x3F, 0xFF, 0xF0, 0x3F, 0xFF, 0xFC, 0x1F, 0xFF, 0xFE, 0x07, + 0xFF, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0x07, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, + 0x81, 0xFF, 0x7F, 0xC3, 0xFF, 0x7F, 0xFF, 0xFE, 0x7F, 0xFF, 0xFE, 0x3F, + 0xFF, 0xFC, 0x1F, 0xFF, 0xFC, 0x0F, 0xFF, 0xF8, 0x07, 0xFF, 0xE0, 0x00, + 0xFF, 0x00, 0x00, 0x0C, 0x00, 0x00, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0xF8, + 0x00, 0x0F, 0xC0, 0x00, 0xFE, 0x00, 0x0F, 0xF0, 0x00, 0xFF, 0x80, 0x0F, + 0xFF, 0xF8, 0xFF, 0xFF, 0xCF, 0xFF, 0xFE, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xFF, 0x80, 0x07, 0xFC, 0x00, 0x3F, + 0xE0, 0x01, 0xFF, 0x00, 0x0F, 0xF8, 0x00, 0x7F, 0xC0, 0x03, 0xFE, 0x00, + 0x1F, 0xF0, 0x00, 0xFF, 0x80, 0x07, 0xFC, 0x00, 0x3F, 0xF0, 0x01, 0xFF, + 0xFE, 0x0F, 0xFF, 0xF0, 0x3F, 0xFF, 0x81, 0xFF, 0xFC, 0x07, 0xFF, 0xE0, + 0x1F, 0xFF, 0x00, 0x7F, 0xF8, 0x00, 0xFF, 0xC0, 0xFF, 0x80, 0xFF, 0xFF, + 0xE0, 0x3F, 0xFF, 0xF8, 0x0F, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, 0x80, 0xFF, + 0xFF, 0xE0, 0x3F, 0xFF, 0xF8, 0x0F, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, 0x80, + 0xFF, 0xFF, 0xE0, 0x3F, 0xFF, 0xF8, 0x0F, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, + 0x80, 0xFF, 0xFF, 0xE0, 0x3F, 0xFF, 0xF8, 0x0F, 0xFF, 0xFE, 0x03, 0xFF, + 0xFF, 0x80, 0xFF, 0xBF, 0xF0, 0x3F, 0xEF, 0xFE, 0x3F, 0xFB, 0xFF, 0xFF, + 0xFE, 0x7F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xE0, 0x7F, + 0xFF, 0xF0, 0x0F, 0xFF, 0xF8, 0x00, 0xFF, 0xF8, 0x00, 0x0F, 0xF8, 0x00, + 0xFF, 0xC0, 0x0F, 0xF9, 0xFF, 0x00, 0x7F, 0xE7, 0xFE, 0x01, 0xFF, 0x9F, + 0xF8, 0x07, 0xFC, 0x3F, 0xE0, 0x3F, 0xF0, 0xFF, 0xC0, 0xFF, 0x81, 0xFF, + 0x03, 0xFE, 0x07, 0xFC, 0x0F, 0xF8, 0x0F, 0xF8, 0x7F, 0xC0, 0x3F, 0xE1, + 0xFF, 0x00, 0xFF, 0x87, 0xF8, 0x01, 0xFF, 0x3F, 0xE0, 0x07, 0xFC, 0xFF, + 0x80, 0x0F, 0xF3, 0xFC, 0x00, 0x3F, 0xFF, 0xF0, 0x00, 0xFF, 0xFF, 0x80, + 0x01, 0xFF, 0xFE, 0x00, 0x07, 0xFF, 0xF8, 0x00, 0x0F, 0xFF, 0xC0, 0x00, + 0x3F, 0xFF, 0x00, 0x00, 0xFF, 0xF8, 0x00, 0x01, 0xFF, 0xE0, 0x00, 0x07, + 0xFF, 0x00, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x00, 0x7F, + 0x80, 0x00, 0xFF, 0xC0, 0x0E, 0x00, 0x7F, 0xDF, 0xF0, 0x07, 0x80, 0x3F, + 0xF7, 0xFC, 0x01, 0xF0, 0x0F, 0xF9, 0xFF, 0x80, 0xFC, 0x03, 0xFE, 0x3F, + 0xE0, 0x3F, 0x00, 0xFF, 0x8F, 0xF8, 0x1F, 0xE0, 0x7F, 0xC3, 0xFF, 0x07, + 0xF8, 0x1F, 0xF0, 0x7F, 0xC3, 0xFF, 0x07, 0xFC, 0x1F, 0xF0, 0xFF, 0xC3, + 0xFE, 0x07, 0xFC, 0x3F, 0xF8, 0xFF, 0x80, 0xFF, 0x9F, 0xFE, 0x3F, 0xE0, + 0x3F, 0xE7, 0xFF, 0xCF, 0xF0, 0x0F, 0xFB, 0xFF, 0xF7, 0xFC, 0x01, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x80, 0x1F, 0xFF, 0xEF, + 0xFF, 0xE0, 0x03, 0xFF, 0xF3, 0xFF, 0xF8, 0x00, 0xFF, 0xFC, 0x7F, 0xFC, + 0x00, 0x3F, 0xFE, 0x1F, 0xFF, 0x00, 0x07, 0xFF, 0x87, 0xFF, 0xC0, 0x01, + 0xFF, 0xC0, 0xFF, 0xF0, 0x00, 0x7F, 0xF0, 0x3F, 0xF8, 0x00, 0x0F, 0xFC, + 0x07, 0xFE, 0x00, 0x03, 0xFE, 0x01, 0xFF, 0x80, 0x00, 0xFF, 0x80, 0x3F, + 0xC0, 0x00, 0x1F, 0xC0, 0x0F, 0xF0, 0x00, 0x7F, 0xE0, 0x3F, 0xF3, 0xFF, + 0x03, 0xFF, 0x0F, 0xFC, 0x1F, 0xF0, 0x3F, 0xE1, 0xFF, 0x81, 0xFF, 0x9F, + 0xF8, 0x07, 0xFE, 0xFF, 0x80, 0x1F, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xC0, + 0x03, 0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0xE0, 0x00, 0x7F, 0xFE, 0x00, 0x01, + 0xFF, 0xE0, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0x7F, 0xFC, 0x00, 0x07, 0xFF, + 0xE0, 0x00, 0x3F, 0xFF, 0x80, 0x03, 0xFF, 0xFE, 0x00, 0x3F, 0xFF, 0xF0, + 0x01, 0xFF, 0xFF, 0xC0, 0x1F, 0xF3, 0xFF, 0x01, 0xFF, 0x9F, 0xF8, 0x0F, + 0xF8, 0x7F, 0xE0, 0xFF, 0xC1, 0xFF, 0x0F, 0xFC, 0x0F, 0xFC, 0x7F, 0xE0, + 0x3F, 0xF7, 0xFE, 0x01, 0xFF, 0x80, 0xFF, 0xC0, 0x07, 0xFC, 0xFF, 0x80, + 0x1F, 0xF9, 0xFF, 0x80, 0x3F, 0xE1, 0xFF, 0x00, 0xFF, 0xC3, 0xFF, 0x01, + 0xFF, 0x87, 0xFE, 0x03, 0xFE, 0x07, 0xFC, 0x0F, 0xFC, 0x0F, 0xFC, 0x1F, + 0xF0, 0x0F, 0xF8, 0x3F, 0xE0, 0x1F, 0xF8, 0xFF, 0x80, 0x1F, 0xF1, 0xFF, + 0x00, 0x3F, 0xE3, 0xFC, 0x00, 0x3F, 0xEF, 0xF8, 0x00, 0x7F, 0xDF, 0xF0, + 0x00, 0x7F, 0xFF, 0xC0, 0x00, 0xFF, 0xFF, 0x80, 0x01, 0xFF, 0xFE, 0x00, + 0x01, 0xFF, 0xFC, 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x03, 0xFF, 0xE0, 0x00, + 0x07, 0xFF, 0x80, 0x00, 0x07, 0xFF, 0x00, 0x00, 0x0F, 0xFE, 0x00, 0x00, + 0x0F, 0xF8, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x00, + 0xFF, 0x80, 0x00, 0x03, 0xFE, 0x00, 0x01, 0xFF, 0xFC, 0x00, 0x03, 0xFF, + 0xF0, 0x00, 0x07, 0xFF, 0xC0, 0x00, 0x0F, 0xFF, 0x80, 0x00, 0x1F, 0xFE, + 0x00, 0x00, 0x3F, 0xF8, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x00, 0xFE, 0x00, + 0x00, 0x00, 0x7F, 0xFF, 0xFE, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xF3, 0xFF, + 0xFF, 0xE7, 0xFF, 0xFF, 0x8F, 0xFF, 0xFE, 0x1F, 0xFF, 0xFC, 0x3F, 0xFF, + 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0x80, 0x01, 0xFE, 0x00, 0x07, 0xFC, + 0x00, 0x1F, 0xF0, 0x00, 0x3F, 0xC0, 0x00, 0xFF, 0x80, 0x01, 0xFE, 0x00, + 0x07, 0xFC, 0x00, 0x1F, 0xF0, 0x00, 0x3F, 0xFF, 0xF8, 0xFF, 0xFF, 0xF1, + 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0xFF, 0x03, 0xFF, 0x07, 0xFF, 0x07, + 0xFF, 0x0F, 0xFF, 0x0F, 0xFF, 0x0F, 0xFF, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, + 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, + 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x3F, 0xF0, 0xFF, + 0xE0, 0xFF, 0xC0, 0xFF, 0x80, 0xFF, 0xC0, 0xFF, 0xE0, 0xFF, 0xF0, 0x1F, + 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, + 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, + 0xF0, 0x0F, 0xFF, 0x0F, 0xFF, 0x0F, 0xFF, 0x07, 0xFF, 0x07, 0xFF, 0x03, + 0xFF, 0x01, 0xFF, 0x3C, 0x7E, 0xFF, 0xE7, 0xC3, 0xE3, 0xFF, 0x7E, 0x3C, + 0x00, 0x3F, 0xFF, 0xFC, 0xFC, 0x1F, 0x1F, 0xFC, 0xF8, 0xFF, 0x7F, 0x00, + 0xDB, 0xDB, 0xDB, 0xFF, 0xFF, 0xFF, 0x18, 0x7E, 0xFF, 0xE7, 0xC3, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xC0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xF0, + 0xFF, 0xF0, 0xFF, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, + 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, + 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF8, 0x0F, 0xFC, 0x07, 0xFF, 0x03, 0xFF, + 0x01, 0xFF, 0x03, 0xFF, 0x07, 0xFF, 0x07, 0xFF, 0x0F, 0xF8, 0x0F, 0xF0, + 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, + 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0xFF, 0xF0, + 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xC0, 0xFF, 0x80, + 0x3C, 0x7E, 0xFF, 0xE7, 0xC3, 0xE3, 0xFF, 0x7E, 0x3C, 0x00, 0x3F, 0xFF, + 0xFC, 0xFC, 0x1F, 0x1F, 0xFC, 0xF8, 0xFF, 0x7F, 0x00, 0xDB, 0xDB, 0xDB, + 0xFF, 0xFF, 0xFF, 0x18, 0x7E, 0xFF, 0xE7, 0xC3, 0xFF, 0xFF, 0xFF }; + +const GFXglyph Mont_Heavy25pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 11, 0, 1 }, // 0x20 ' ' + { 0, 9, 35, 15, 3, -34 }, // 0x21 '!' + { 40, 18, 13, 24, 3, -33 }, // 0x22 '"' + { 70, 8, 35, 28, 10, -34 }, // 0x23 '#' + { 105, 26, 41, 30, 2, -36 }, // 0x24 '$' + { 239, 8, 35, 28, 10, -34 }, // 0x25 '%' + { 274, 31, 36, 32, 2, -34 }, // 0x26 '&' + { 414, 7, 13, 13, 3, -33 }, // 0x27 ''' + { 426, 17, 47, 18, 2, -38 }, // 0x28 '(' + { 526, 16, 47, 18, 0, -38 }, // 0x29 ')' + { 620, 19, 18, 21, 1, -35 }, // 0x2A '*' + { 663, 23, 24, 27, 2, -27 }, // 0x2B '+' + { 732, 8, 17, 14, 3, -7 }, // 0x2C ',' + { 749, 18, 8, 23, 3, -17 }, // 0x2D '-' + { 767, 8, 8, 14, 3, -7 }, // 0x2E '.' + { 775, 8, 35, 28, 10, -34 }, // 0x2F '/' + { 810, 28, 35, 32, 2, -33 }, // 0x30 '0' + { 933, 14, 33, 18, 1, -32 }, // 0x31 '1' + { 991, 25, 34, 28, 1, -33 }, // 0x32 '2' + { 1098, 24, 34, 28, 2, -32 }, // 0x33 '3' + { 1200, 26, 33, 29, 1, -32 }, // 0x34 '4' + { 1308, 24, 34, 28, 2, -32 }, // 0x35 '5' + { 1410, 26, 34, 29, 2, -32 }, // 0x36 '6' + { 1521, 25, 33, 27, 1, -32 }, // 0x37 '7' + { 1625, 26, 35, 29, 2, -33 }, // 0x38 '8' + { 1739, 26, 34, 29, 1, -33 }, // 0x39 '9' + { 1850, 8, 26, 14, 3, -25 }, // 0x3A ':' + { 1876, 9, 35, 14, 3, -25 }, // 0x3B ';' + { 1916, 9, 35, 26, 7, -34 }, // 0x3C '<' + { 1956, 23, 18, 29, 3, -24 }, // 0x3D '=' + { 2008, 8, 35, 28, 10, -34 }, // 0x3E '>' + { 2043, 25, 36, 27, 1, -35 }, // 0x3F '?' + { 2156, 46, 42, 50, 2, -32 }, // 0x40 '@' + { 2398, 36, 34, 36, 0, -33 }, // 0x41 'A' + { 2551, 27, 34, 32, 3, -33 }, // 0x42 'B' + { 2666, 35, 36, 38, 2, -34 }, // 0x43 'C' + { 2824, 32, 34, 36, 3, -33 }, // 0x44 'D' + { 2960, 23, 34, 28, 3, -33 }, // 0x45 'E' + { 3058, 22, 34, 27, 3, -33 }, // 0x46 'F' + { 3152, 36, 36, 39, 2, -34 }, // 0x47 'G' + { 3314, 30, 34, 36, 3, -33 }, // 0x48 'H' + { 3442, 10, 34, 16, 3, -33 }, // 0x49 'I' + { 3485, 26, 35, 30, 1, -33 }, // 0x4A 'J' + { 3599, 31, 34, 33, 3, -33 }, // 0x4B 'K' + { 3731, 22, 34, 26, 3, -33 }, // 0x4C 'L' + { 3825, 46, 34, 48, 1, -33 }, // 0x4D 'M' + { 4021, 31, 34, 37, 3, -33 }, // 0x4E 'N' + { 4153, 37, 36, 41, 2, -34 }, // 0x4F 'O' + { 4320, 28, 34, 32, 3, -33 }, // 0x50 'P' + { 4439, 39, 40, 41, 2, -34 }, // 0x51 'Q' + { 4634, 29, 34, 33, 3, -33 }, // 0x52 'R' + { 4758, 27, 36, 31, 2, -34 }, // 0x53 'S' + { 4880, 28, 34, 30, 1, -33 }, // 0x54 'T' + { 4999, 30, 35, 36, 3, -33 }, // 0x55 'U' + { 5131, 35, 34, 35, 0, -33 }, // 0x56 'V' + { 5280, 51, 34, 51, 0, -33 }, // 0x57 'W' + { 5497, 33, 34, 33, 0, -33 }, // 0x58 'X' + { 5638, 34, 34, 34, 0, -33 }, // 0x59 'Y' + { 5783, 27, 34, 30, 1, -33 }, // 0x5A 'Z' + { 5898, 13, 48, 18, 3, -39 }, // 0x5B '[' + { 5976, 9, 35, 26, 8, -34 }, // 0x5C '\' + { 6016, 12, 48, 18, 2, -39 }, // 0x5D ']' + { 6088, 8, 35, 28, 10, -34 }, // 0x5E '^' + { 6123, 8, 35, 28, 10, -34 }, // 0x5F '_' + { 6158, 19, 4, 26, 4, -34 }, // 0x60 '`' + { 6168, 30, 28, 34, 1, -26 }, // 0x61 'a' + { 6273, 29, 37, 34, 3, -35 }, // 0x62 'b' + { 6408, 29, 28, 31, 1, -26 }, // 0x63 'c' + { 6510, 30, 37, 34, 1, -35 }, // 0x64 'd' + { 6649, 29, 28, 31, 1, -26 }, // 0x65 'e' + { 6751, 20, 37, 21, 1, -36 }, // 0x66 'f' + { 6844, 29, 38, 33, 1, -26 }, // 0x67 'g' + { 6982, 26, 36, 32, 3, -35 }, // 0x68 'h' + { 7099, 9, 37, 15, 3, -36 }, // 0x69 'i' + { 7141, 15, 48, 15, -2, -36 }, // 0x6A 'j' + { 7231, 27, 36, 29, 3, -35 }, // 0x6B 'k' + { 7353, 9, 36, 15, 3, -35 }, // 0x6C 'l' + { 7394, 40, 27, 46, 3, -26 }, // 0x6D 'm' + { 7529, 26, 27, 32, 3, -26 }, // 0x6E 'n' + { 7617, 30, 28, 32, 1, -26 }, // 0x6F 'o' + { 7722, 29, 37, 33, 3, -26 }, // 0x70 'p' + { 7857, 30, 37, 33, 1, -26 }, // 0x71 'q' + { 7996, 17, 27, 21, 3, -26 }, // 0x72 'r' + { 8054, 24, 28, 26, 1, -26 }, // 0x73 's' + { 8138, 21, 34, 22, 0, -33 }, // 0x74 't' + { 8228, 26, 27, 31, 3, -25 }, // 0x75 'u' + { 8316, 30, 26, 30, 0, -25 }, // 0x76 'v' + { 8414, 42, 26, 42, 0, -25 }, // 0x77 'w' + { 8551, 29, 26, 28, 0, -25 }, // 0x78 'x' + { 8646, 31, 36, 30, 0, -25 }, // 0x79 'y' + { 8786, 23, 26, 25, 1, -25 }, // 0x7A 'z' + { 8861, 16, 47, 19, 1, -38 }, // 0x7B '{' + { 8955, 8, 35, 28, 10, -34 }, // 0x7C '|' + { 8990, 16, 47, 19, 2, -38 }, // 0x7D '}' + { 9084, 8, 35, 28, 10, -34 } }; // 0x7E '~' + +const GFXfont Mont_Heavy25pt7b PROGMEM = { + (uint8_t *)Mont_Heavy25pt7bBitmaps, + (GFXglyph *)Mont_Heavy25pt7bGlyphs, + 0x20, 0x7E, 63 }; + +// Approx. 9791 bytes diff --git a/lib/Paperdink/src/fonts/Roboto_Regular_12pt7b.h b/lib/Paperdink/src/fonts/Roboto_Regular_12pt7b.h new file mode 100644 index 0000000..39018ba --- /dev/null +++ b/lib/Paperdink/src/fonts/Roboto_Regular_12pt7b.h @@ -0,0 +1,265 @@ +const uint8_t Roboto_Regular12pt7bBitmaps[] PROGMEM = { + 0xFF, 0xFF, 0xFF, 0x03, 0xC0, 0x99, 0x99, 0x99, 0x06, 0x30, 0x31, 0x81, + 0x88, 0x08, 0x47, 0xFF, 0xBF, 0xFC, 0x31, 0x81, 0x88, 0x08, 0x40, 0x46, + 0x3F, 0xFF, 0xFF, 0xF1, 0x8C, 0x0C, 0x40, 0x46, 0x02, 0x30, 0x31, 0x80, + 0x06, 0x00, 0xC0, 0x18, 0x0F, 0x83, 0xFC, 0xE1, 0x98, 0x3B, 0x03, 0x60, + 0x0E, 0x00, 0xF0, 0x0F, 0xC0, 0x3C, 0x01, 0xC0, 0x1E, 0x03, 0xE0, 0x6E, + 0x1C, 0xFF, 0x0F, 0xC0, 0x60, 0x0C, 0x00, 0x3C, 0x00, 0x66, 0x00, 0xC6, + 0x10, 0xC2, 0x38, 0xC2, 0x20, 0xC6, 0x60, 0x66, 0x40, 0x3C, 0xC0, 0x01, + 0x80, 0x01, 0x3C, 0x03, 0x66, 0x06, 0x42, 0x04, 0x43, 0x0C, 0x43, 0x18, + 0x42, 0x18, 0x66, 0x00, 0x3C, 0x0F, 0x00, 0xFE, 0x03, 0x1C, 0x0C, 0x30, + 0x30, 0xC0, 0xC6, 0x03, 0xF0, 0x07, 0x80, 0x1E, 0x01, 0xDC, 0x66, 0x31, + 0xB0, 0x6E, 0xC0, 0xF3, 0x81, 0xC7, 0x0F, 0x1F, 0xFE, 0x1F, 0x1C, 0xFF, + 0xF0, 0x08, 0x71, 0x8C, 0x61, 0x86, 0x30, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, + 0x30, 0xC3, 0x0E, 0x18, 0x60, 0xC1, 0x87, 0x08, 0x41, 0xC0, 0xC1, 0x81, + 0x83, 0x03, 0x06, 0x0C, 0x18, 0x38, 0x70, 0xE1, 0xC3, 0x86, 0x0C, 0x18, + 0x30, 0xC1, 0x86, 0x0C, 0x30, 0xC0, 0x0C, 0x03, 0x00, 0xC1, 0xB7, 0xFF, + 0xC3, 0x01, 0xE0, 0xCC, 0x33, 0x88, 0x40, 0x06, 0x00, 0x60, 0x06, 0x00, + 0x60, 0x06, 0x0F, 0xFF, 0xFF, 0xF0, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, + 0x60, 0x77, 0x76, 0x6C, 0xFF, 0xF0, 0xF0, 0x01, 0x80, 0xC0, 0xC0, 0x60, + 0x20, 0x30, 0x18, 0x18, 0x0C, 0x04, 0x06, 0x03, 0x03, 0x01, 0x80, 0x80, + 0xC0, 0x60, 0x60, 0x00, 0x1F, 0x07, 0xF9, 0xC7, 0x30, 0x76, 0x07, 0xC0, + 0xF8, 0x1F, 0x03, 0xE0, 0x7C, 0x0F, 0x81, 0xF0, 0x36, 0x06, 0xC1, 0xDC, + 0x71, 0xFE, 0x1F, 0x00, 0x06, 0x7F, 0xFC, 0x70, 0xE1, 0xC3, 0x87, 0x0E, + 0x1C, 0x38, 0x70, 0xE1, 0xC3, 0x87, 0x0E, 0x1F, 0x03, 0xFC, 0x71, 0xCE, + 0x0E, 0xC0, 0x60, 0x06, 0x00, 0xC0, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, + 0xC0, 0x18, 0x03, 0x00, 0x70, 0x0F, 0xFF, 0xFF, 0xF0, 0x1F, 0x07, 0xF9, + 0xC7, 0x70, 0x7C, 0x0E, 0x01, 0x80, 0x70, 0x7C, 0x0F, 0x80, 0x38, 0x03, + 0x80, 0x3C, 0x07, 0xC1, 0xD8, 0x33, 0xFE, 0x1F, 0x00, 0x01, 0xC0, 0x3C, + 0x03, 0xC0, 0x7C, 0x0D, 0xC0, 0xDC, 0x19, 0xC3, 0x1C, 0x31, 0xC6, 0x1C, + 0xC1, 0xCF, 0xFF, 0xFF, 0xF0, 0x1C, 0x01, 0xC0, 0x1C, 0x01, 0xC0, 0x7F, + 0xCF, 0xF9, 0x80, 0x30, 0x06, 0x00, 0xC0, 0x1F, 0xC3, 0xFC, 0xE1, 0xC0, + 0x18, 0x03, 0x00, 0x7C, 0x0D, 0x81, 0xB8, 0x73, 0xFC, 0x1F, 0x00, 0x07, + 0x07, 0xC3, 0x81, 0xC0, 0xE0, 0x30, 0x0D, 0xF3, 0xFE, 0xE1, 0xF0, 0x3C, + 0x0F, 0x03, 0xC0, 0xF0, 0x36, 0x1D, 0xFE, 0x1E, 0x00, 0xFF, 0xFF, 0xFC, + 0x01, 0x80, 0x60, 0x0C, 0x03, 0x80, 0x60, 0x0C, 0x03, 0x00, 0x60, 0x18, + 0x03, 0x00, 0xC0, 0x18, 0x07, 0x00, 0xC0, 0x38, 0x00, 0x1F, 0x07, 0xF9, + 0xC7, 0x30, 0x76, 0x06, 0xC1, 0xDC, 0x31, 0xFC, 0x3F, 0x8E, 0x19, 0x81, + 0xF0, 0x3C, 0x07, 0xC0, 0xDC, 0x39, 0xFE, 0x1F, 0x00, 0x1F, 0x07, 0xF1, + 0xC7, 0x70, 0x6C, 0x0F, 0x80, 0xF0, 0x1F, 0x07, 0x71, 0xEF, 0xFC, 0x79, + 0x80, 0x60, 0x0C, 0x03, 0x80, 0xE0, 0xF8, 0x1C, 0x00, 0xF0, 0x00, 0x03, + 0xC0, 0x33, 0x00, 0x00, 0x00, 0x00, 0x07, 0x77, 0x66, 0xC0, 0x00, 0x81, + 0xC3, 0xE7, 0xCF, 0x86, 0x03, 0xC0, 0x7C, 0x0F, 0x81, 0xC0, 0x20, 0xFF, + 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFC, 0x80, 0x38, 0x0F, 0x80, + 0xF8, 0x07, 0x80, 0x70, 0x78, 0xF8, 0xF8, 0x38, 0x08, 0x00, 0x3E, 0x3F, + 0xB8, 0xF8, 0x30, 0x18, 0x0C, 0x06, 0x06, 0x07, 0x06, 0x07, 0x03, 0x01, + 0x80, 0x00, 0x00, 0x30, 0x1C, 0x00, 0x01, 0xFC, 0x00, 0x7F, 0xF0, 0x0F, + 0x07, 0x81, 0xC0, 0x1C, 0x30, 0x00, 0xC3, 0x07, 0x86, 0x60, 0xFC, 0x66, + 0x18, 0xC2, 0x43, 0x0C, 0x24, 0x30, 0xC2, 0xC3, 0x0C, 0x2C, 0x60, 0x82, + 0xC6, 0x08, 0x2C, 0x61, 0x86, 0x43, 0x3C, 0x66, 0x3E, 0xFC, 0x61, 0xC7, + 0x83, 0x00, 0x00, 0x38, 0x00, 0x01, 0xE0, 0xC0, 0x0F, 0xFC, 0x00, 0x3F, + 0x00, 0x03, 0x00, 0x0F, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0xCC, 0x01, 0x98, + 0x03, 0x30, 0x0C, 0x30, 0x18, 0x60, 0x70, 0xE0, 0xC0, 0xC1, 0xFF, 0x87, + 0xFF, 0x8C, 0x03, 0x38, 0x07, 0x60, 0x06, 0xC0, 0x0E, 0xFF, 0x8F, 0xFC, + 0xC0, 0xEC, 0x06, 0xC0, 0x6C, 0x06, 0xC0, 0xCF, 0xF8, 0xFF, 0xCC, 0x0E, + 0xC0, 0x6C, 0x07, 0xC0, 0x7C, 0x06, 0xC0, 0xEF, 0xFC, 0xFF, 0x80, 0x07, + 0xC0, 0x7F, 0xC3, 0x87, 0x1C, 0x0E, 0x60, 0x19, 0x80, 0x6E, 0x00, 0x78, + 0x00, 0xE0, 0x03, 0x80, 0x0E, 0x00, 0x18, 0x07, 0x60, 0x19, 0xC0, 0x63, + 0x87, 0x07, 0xFC, 0x0F, 0xC0, 0xFF, 0x0F, 0xF8, 0xC1, 0xEC, 0x06, 0xC0, + 0x7C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, + 0x7C, 0x06, 0xC1, 0xEF, 0xFC, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x60, + 0x0C, 0x01, 0x80, 0x30, 0x07, 0xFE, 0xFF, 0xD8, 0x03, 0x00, 0x60, 0x0C, + 0x01, 0x80, 0x30, 0x07, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0x00, 0x60, + 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, 0xFF, 0x9F, 0xF3, 0x00, 0x60, 0x0C, + 0x01, 0x80, 0x30, 0x06, 0x00, 0xC0, 0x00, 0x0F, 0xC0, 0x7F, 0xC3, 0x83, + 0x9C, 0x06, 0x60, 0x19, 0x80, 0x1E, 0x00, 0x38, 0x00, 0xE0, 0x03, 0x87, + 0xF6, 0x1F, 0xD8, 0x07, 0x60, 0x1D, 0xC0, 0x73, 0x81, 0xC7, 0xFE, 0x07, + 0xE0, 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, + 0x7F, 0xFF, 0xFF, 0xFE, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x0F, + 0x00, 0x78, 0x03, 0xC0, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0xC0, + 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x0C, + 0x03, 0xC0, 0xF0, 0x3E, 0x1D, 0xFE, 0x3F, 0x00, 0xC0, 0x7E, 0x07, 0x30, + 0x31, 0x83, 0x0C, 0x38, 0x63, 0x83, 0x38, 0x1B, 0x80, 0xFE, 0x07, 0xB0, + 0x39, 0xC1, 0x87, 0x0C, 0x1C, 0x60, 0x63, 0x03, 0x98, 0x0E, 0xC0, 0x38, + 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x30, + 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x03, 0xFF, 0xFF, 0xC0, 0xE0, 0x03, + 0xF0, 0x03, 0xFC, 0x01, 0xFE, 0x00, 0xFD, 0x80, 0xDE, 0xC0, 0x6F, 0x70, + 0x77, 0x98, 0x33, 0xCC, 0x19, 0xE3, 0x18, 0xF1, 0x8C, 0x78, 0xEE, 0x3C, + 0x36, 0x1E, 0x1B, 0x0F, 0x07, 0x07, 0x83, 0x83, 0xC1, 0xC1, 0x80, 0xE0, + 0x1F, 0x00, 0xFC, 0x07, 0xE0, 0x3D, 0x81, 0xEE, 0x0F, 0x30, 0x78, 0xC3, + 0xC7, 0x1E, 0x18, 0xF0, 0xE7, 0x83, 0xBC, 0x0D, 0xE0, 0x7F, 0x01, 0xF8, + 0x07, 0xC0, 0x38, 0x07, 0xC0, 0x7F, 0xC3, 0x87, 0x9C, 0x06, 0x60, 0x1D, + 0x80, 0x3E, 0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x80, 0x3E, 0x00, 0xD8, 0x03, + 0x60, 0x1D, 0xC0, 0x63, 0x87, 0x87, 0xFC, 0x07, 0xC0, 0xFF, 0x8F, 0xFE, + 0xC0, 0xEC, 0x07, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x07, 0xC0, 0xEF, 0xFE, + 0xFF, 0x8C, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x00, 0x0F, + 0x81, 0xFF, 0x1C, 0x1C, 0xC0, 0x6C, 0x03, 0xE0, 0x0F, 0x00, 0x78, 0x03, + 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x03, 0xB0, 0x19, 0xC1, 0xC7, + 0xFC, 0x0F, 0xE0, 0x03, 0x80, 0x0E, 0x00, 0x20, 0xFF, 0x8F, 0xFC, 0xC0, + 0xEC, 0x07, 0xC0, 0x7C, 0x07, 0xC0, 0x7C, 0x0E, 0xFF, 0xCF, 0xF8, 0xC1, + 0x8C, 0x1C, 0xC0, 0xCC, 0x0E, 0xC0, 0x6C, 0x07, 0xC0, 0x30, 0x1F, 0x83, + 0xFE, 0x70, 0xEE, 0x07, 0xE0, 0x3E, 0x00, 0x70, 0x03, 0xE0, 0x1F, 0x80, + 0x3E, 0x00, 0x70, 0x03, 0xC0, 0x3E, 0x03, 0x70, 0x73, 0xFE, 0x1F, 0x80, + 0xFF, 0xFF, 0xFF, 0xC1, 0x80, 0x0C, 0x00, 0x60, 0x03, 0x00, 0x18, 0x00, + 0xC0, 0x06, 0x00, 0x30, 0x01, 0x80, 0x0C, 0x00, 0x60, 0x03, 0x00, 0x18, + 0x00, 0xC0, 0x06, 0x00, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, + 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3E, + 0x07, 0x70, 0xE3, 0xFC, 0x1F, 0x80, 0xE0, 0x0E, 0xC0, 0x19, 0xC0, 0x71, + 0x80, 0xE3, 0x01, 0x87, 0x07, 0x06, 0x0C, 0x0C, 0x18, 0x1C, 0x70, 0x18, + 0xC0, 0x31, 0x80, 0x77, 0x00, 0x6C, 0x00, 0xD8, 0x00, 0xE0, 0x01, 0xC0, + 0x03, 0x80, 0xC0, 0x60, 0x7C, 0x0E, 0x06, 0xE0, 0xE0, 0x66, 0x0F, 0x06, + 0x60, 0xF0, 0xE6, 0x1B, 0x0C, 0x61, 0x98, 0xC3, 0x19, 0x8C, 0x33, 0x18, + 0xC3, 0x31, 0x98, 0x33, 0x0D, 0x81, 0xB0, 0xD8, 0x1E, 0x0D, 0x81, 0xE0, + 0x58, 0x1E, 0x07, 0x01, 0xC0, 0x70, 0x0C, 0x07, 0x00, 0xE0, 0x3B, 0x01, + 0x9C, 0x1C, 0x71, 0xC1, 0x8C, 0x0E, 0xE0, 0x3E, 0x00, 0xF0, 0x07, 0x00, + 0x3C, 0x03, 0x60, 0x3B, 0x81, 0x8E, 0x1C, 0x31, 0xC1, 0xCC, 0x06, 0xE0, + 0x38, 0xE0, 0x1D, 0xC0, 0x63, 0x03, 0x8E, 0x0C, 0x18, 0x70, 0x71, 0x80, + 0xCE, 0x03, 0xB0, 0x07, 0xC0, 0x1E, 0x00, 0x30, 0x00, 0xC0, 0x03, 0x00, + 0x0C, 0x00, 0x30, 0x00, 0xC0, 0x03, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x70, + 0x0E, 0x00, 0xC0, 0x18, 0x03, 0x80, 0x70, 0x06, 0x00, 0xE0, 0x1C, 0x01, + 0x80, 0x30, 0x07, 0x00, 0xE0, 0x0F, 0xFF, 0xFF, 0xF0, 0xFF, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xFF, 0xE0, 0x18, 0x07, + 0x00, 0xC0, 0x30, 0x06, 0x01, 0x80, 0x70, 0x0C, 0x03, 0x00, 0x60, 0x18, + 0x06, 0x00, 0xC0, 0x30, 0x06, 0x01, 0x80, 0x70, 0xFF, 0xCE, 0x73, 0x9C, + 0xE7, 0x39, 0xCE, 0x73, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x9F, 0xFF, 0x18, + 0x18, 0x3C, 0x3C, 0x66, 0x66, 0xC3, 0xC3, 0xFF, 0xFF, 0xFC, 0xE3, 0x8E, + 0x1F, 0x0F, 0xF1, 0x87, 0x70, 0x60, 0x0C, 0x3F, 0x9F, 0xF3, 0x86, 0xE0, + 0xD8, 0x1B, 0x87, 0x3F, 0xE3, 0xEE, 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x0E, + 0x01, 0xDE, 0x3F, 0xF7, 0x8E, 0xE0, 0xFC, 0x0F, 0x81, 0xF0, 0x3E, 0x07, + 0xC0, 0xF8, 0x3F, 0x8E, 0xDF, 0xD9, 0xE0, 0x0F, 0x07, 0xF9, 0xC3, 0x30, + 0x3E, 0x07, 0xC0, 0x30, 0x07, 0x00, 0xE0, 0x0C, 0x0D, 0xC3, 0x1F, 0xE1, + 0xF0, 0x00, 0x60, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x3E, 0xCF, 0xFB, 0x87, + 0x60, 0x7C, 0x0F, 0x81, 0xF0, 0x3E, 0x06, 0xC0, 0xD8, 0x1B, 0x87, 0x3F, + 0xE3, 0xEC, 0x0F, 0x07, 0xF9, 0xC3, 0x30, 0x7E, 0x07, 0xFF, 0xFF, 0xFE, + 0x00, 0xE0, 0x0C, 0x01, 0xC3, 0x9F, 0xE0, 0xF8, 0x1E, 0x7C, 0xC1, 0x83, + 0x1F, 0xBF, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x30, 0x60, + 0x1E, 0x6F, 0xED, 0xC7, 0xF0, 0x7C, 0x0F, 0x81, 0xF0, 0x3E, 0x07, 0xC0, + 0xFC, 0x1D, 0xC7, 0xBF, 0xF1, 0xEE, 0x01, 0xD0, 0x33, 0x0E, 0x7F, 0x83, + 0xE0, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0xFB, 0xFF, 0xC7, 0xC1, 0xE0, + 0xF0, 0x78, 0x3C, 0x1E, 0x0F, 0x07, 0x83, 0xC1, 0xE0, 0xC0, 0xF0, 0xFF, + 0xFF, 0xFF, 0xC0, 0x18, 0xC0, 0x01, 0x8C, 0x63, 0x18, 0xC6, 0x31, 0x8C, + 0x63, 0x18, 0xC6, 0x3F, 0xF8, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x30, + 0xFC, 0x33, 0x18, 0xCC, 0x37, 0x0F, 0x83, 0xE0, 0xEC, 0x33, 0x8C, 0x73, + 0x0C, 0xC1, 0xB0, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xDF, 0x1E, 0x7F, + 0xDF, 0xF8, 0xF8, 0xF8, 0x38, 0x3C, 0x1C, 0x1E, 0x0E, 0x0F, 0x07, 0x07, + 0x83, 0x83, 0xC1, 0xC1, 0xE0, 0xE0, 0xF0, 0x70, 0x78, 0x38, 0x3C, 0x1C, + 0x18, 0xDF, 0x7F, 0xF8, 0xF8, 0x3C, 0x1E, 0x0F, 0x07, 0x83, 0xC1, 0xE0, + 0xF0, 0x78, 0x3C, 0x18, 0x0F, 0x03, 0xFC, 0x70, 0xE6, 0x06, 0xE0, 0x7C, + 0x03, 0xC0, 0x3C, 0x03, 0xE0, 0x76, 0x06, 0x70, 0xE3, 0xFC, 0x0F, 0x00, + 0xCF, 0x1B, 0xFB, 0xC7, 0x70, 0x7E, 0x07, 0xC0, 0xF8, 0x1F, 0x03, 0xE0, + 0x7C, 0x1F, 0xC7, 0x7F, 0xEE, 0xF1, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x1C, + 0x00, 0x1F, 0x67, 0xFD, 0xC3, 0xB0, 0x3E, 0x07, 0xC0, 0xF0, 0x1E, 0x03, + 0xE0, 0x6C, 0x0D, 0xC3, 0x9F, 0xF1, 0xF6, 0x00, 0xC0, 0x18, 0x03, 0x00, + 0x60, 0x0C, 0xDF, 0xFE, 0x30, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, 0x30, 0xC0, + 0x1E, 0x1F, 0xE6, 0x1F, 0x83, 0xE0, 0x1F, 0x03, 0xF8, 0x0F, 0x00, 0xF0, + 0x3E, 0x1D, 0xFE, 0x1F, 0x00, 0x38, 0x70, 0xE7, 0xFF, 0xE7, 0x0E, 0x1C, + 0x38, 0x70, 0xE1, 0xC3, 0x83, 0x07, 0x87, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, + 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0, 0xD8, 0x36, 0x1D, 0xFF, 0x3E, 0xC0, + 0xC0, 0xF0, 0x3E, 0x1D, 0x86, 0x61, 0x8C, 0xC3, 0x30, 0xCC, 0x1E, 0x07, + 0x81, 0xE0, 0x30, 0x0C, 0x00, 0xE0, 0xC1, 0xB0, 0x60, 0xD8, 0x78, 0x6E, + 0x3C, 0x63, 0x1E, 0x31, 0x99, 0x98, 0xCC, 0xCC, 0x36, 0x6C, 0x1A, 0x16, + 0x0F, 0x0F, 0x07, 0x87, 0x01, 0x81, 0x80, 0xC0, 0xC0, 0x60, 0xE6, 0x18, + 0xE7, 0x0C, 0xC0, 0xF0, 0x1E, 0x01, 0x80, 0x78, 0x1F, 0x03, 0x30, 0xE7, + 0x38, 0x6E, 0x06, 0xE0, 0xEC, 0x19, 0x83, 0x38, 0xE3, 0x18, 0x63, 0x0E, + 0x60, 0xD8, 0x1B, 0x03, 0xE0, 0x38, 0x07, 0x00, 0x60, 0x18, 0x03, 0x00, + 0xC0, 0x78, 0x0E, 0x00, 0xFF, 0xFF, 0xF0, 0x18, 0x0C, 0x07, 0x03, 0x80, + 0xC0, 0x60, 0x38, 0x1C, 0x06, 0x03, 0xFF, 0xFF, 0xC0, 0x06, 0x1C, 0x61, + 0xC3, 0x06, 0x0C, 0x18, 0x30, 0x61, 0xC7, 0x0E, 0x0E, 0x0C, 0x18, 0x30, + 0x60, 0xC1, 0xC1, 0x83, 0x81, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, + 0xC0, 0xC1, 0x81, 0x83, 0x06, 0x0C, 0x18, 0x30, 0x70, 0x70, 0xE3, 0x86, + 0x0C, 0x18, 0x30, 0x61, 0xC3, 0x0C, 0x30, 0x00, 0x3C, 0x0D, 0xF8, 0x36, + 0x79, 0xB0, 0x7E, 0xC0, 0xF0 }; + +const GFXglyph Roboto_Regular12pt7bGlyphs[] PROGMEM = { + { 0, 0, 0, 6, 0, 1 }, // 0x20 ' ' + { 0, 2, 17, 6, 2, -16 }, // 0x21 '!' + { 5, 4, 6, 8, 2, -17 }, // 0x22 '"' + { 8, 13, 17, 15, 1, -16 }, // 0x23 '#' + { 36, 11, 22, 13, 1, -19 }, // 0x24 '$' + { 67, 16, 17, 18, 1, -16 }, // 0x25 '%' + { 101, 14, 17, 15, 1, -16 }, // 0x26 '&' + { 131, 2, 6, 4, 1, -17 }, // 0x27 ''' + { 133, 6, 25, 8, 2, -18 }, // 0x28 '(' + { 152, 7, 25, 8, 0, -18 }, // 0x29 ')' + { 174, 10, 10, 10, 0, -16 }, // 0x2A '*' + { 187, 12, 12, 14, 1, -13 }, // 0x2B '+' + { 205, 4, 6, 5, 0, -1 }, // 0x2C ',' + { 208, 6, 2, 7, 0, -7 }, // 0x2D '-' + { 210, 2, 2, 6, 2, -1 }, // 0x2E '.' + { 211, 9, 18, 10, 0, -16 }, // 0x2F '/' + { 232, 11, 17, 13, 1, -16 }, // 0x30 '0' + { 256, 7, 17, 13, 2, -16 }, // 0x31 '1' + { 271, 12, 17, 13, 1, -16 }, // 0x32 '2' + { 297, 11, 17, 13, 1, -16 }, // 0x33 '3' + { 321, 12, 17, 13, 1, -16 }, // 0x34 '4' + { 347, 11, 17, 13, 2, -16 }, // 0x35 '5' + { 371, 10, 17, 13, 2, -16 }, // 0x36 '6' + { 393, 11, 17, 13, 1, -16 }, // 0x37 '7' + { 417, 11, 17, 13, 1, -16 }, // 0x38 '8' + { 441, 11, 17, 13, 1, -16 }, // 0x39 '9' + { 465, 2, 13, 6, 2, -12 }, // 0x3A ':' + { 469, 4, 17, 5, 0, -12 }, // 0x3B ';' + { 478, 9, 11, 12, 1, -12 }, // 0x3C '<' + { 491, 10, 7, 13, 2, -11 }, // 0x3D '=' + { 500, 10, 11, 13, 2, -12 }, // 0x3E '>' + { 514, 9, 17, 11, 1, -16 }, // 0x3F '?' + { 534, 20, 22, 22, 1, -16 }, // 0x40 '@' + { 589, 15, 17, 16, 1, -16 }, // 0x41 'A' + { 621, 12, 17, 15, 2, -16 }, // 0x42 'B' + { 647, 14, 17, 16, 1, -16 }, // 0x43 'C' + { 677, 12, 17, 16, 2, -16 }, // 0x44 'D' + { 703, 11, 17, 14, 2, -16 }, // 0x45 'E' + { 727, 11, 17, 13, 2, -16 }, // 0x46 'F' + { 751, 14, 17, 16, 1, -16 }, // 0x47 'G' + { 781, 13, 17, 17, 2, -16 }, // 0x48 'H' + { 809, 2, 17, 7, 2, -16 }, // 0x49 'I' + { 814, 10, 17, 13, 1, -16 }, // 0x4A 'J' + { 836, 13, 17, 15, 2, -16 }, // 0x4B 'K' + { 864, 10, 17, 13, 2, -16 }, // 0x4C 'L' + { 886, 17, 17, 21, 2, -16 }, // 0x4D 'M' + { 923, 13, 17, 17, 2, -16 }, // 0x4E 'N' + { 951, 14, 17, 17, 1, -16 }, // 0x4F 'O' + { 981, 12, 17, 15, 2, -16 }, // 0x50 'P' + { 1007, 13, 20, 17, 2, -16 }, // 0x51 'Q' + { 1040, 12, 17, 15, 2, -16 }, // 0x52 'R' + { 1066, 12, 17, 14, 1, -16 }, // 0x53 'S' + { 1092, 13, 17, 14, 1, -16 }, // 0x54 'T' + { 1120, 12, 17, 16, 2, -16 }, // 0x55 'U' + { 1146, 15, 17, 15, 0, -16 }, // 0x56 'V' + { 1178, 20, 17, 21, 1, -16 }, // 0x57 'W' + { 1221, 13, 17, 15, 1, -16 }, // 0x58 'X' + { 1249, 14, 17, 14, 0, -16 }, // 0x59 'Y' + { 1279, 12, 17, 14, 1, -16 }, // 0x5A 'Z' + { 1305, 4, 24, 6, 2, -19 }, // 0x5B '[' + { 1317, 10, 18, 10, 0, -16 }, // 0x5C '\' + { 1340, 5, 24, 6, 0, -19 }, // 0x5D ']' + { 1355, 8, 8, 10, 1, -16 }, // 0x5E '^' + { 1363, 11, 2, 11, 0, 1 }, // 0x5F '_' + { 1366, 5, 3, 7, 1, -17 }, // 0x60 '`' + { 1368, 11, 13, 13, 1, -12 }, // 0x61 'a' + { 1386, 11, 18, 13, 1, -17 }, // 0x62 'b' + { 1411, 11, 13, 13, 1, -12 }, // 0x63 'c' + { 1429, 11, 18, 14, 1, -17 }, // 0x64 'd' + { 1454, 11, 13, 13, 1, -12 }, // 0x65 'e' + { 1472, 7, 18, 8, 1, -17 }, // 0x66 'f' + { 1488, 11, 18, 13, 1, -12 }, // 0x67 'g' + { 1513, 9, 18, 13, 2, -17 }, // 0x68 'h' + { 1534, 2, 17, 6, 2, -16 }, // 0x69 'i' + { 1539, 5, 22, 6, -1, -16 }, // 0x6A 'j' + { 1553, 10, 18, 12, 2, -17 }, // 0x6B 'k' + { 1576, 2, 18, 6, 2, -17 }, // 0x6C 'l' + { 1581, 17, 13, 21, 2, -12 }, // 0x6D 'm' + { 1609, 9, 13, 13, 2, -12 }, // 0x6E 'n' + { 1624, 12, 13, 14, 1, -12 }, // 0x6F 'o' + { 1644, 11, 18, 13, 1, -12 }, // 0x70 'p' + { 1669, 11, 18, 14, 1, -12 }, // 0x71 'q' + { 1694, 6, 13, 8, 2, -12 }, // 0x72 'r' + { 1704, 10, 13, 12, 1, -12 }, // 0x73 's' + { 1721, 7, 16, 8, 0, -15 }, // 0x74 't' + { 1735, 10, 13, 13, 1, -12 }, // 0x75 'u' + { 1752, 10, 13, 12, 1, -12 }, // 0x76 'v' + { 1769, 17, 13, 18, 0, -12 }, // 0x77 'w' + { 1797, 11, 13, 12, 0, -12 }, // 0x78 'x' + { 1815, 11, 18, 11, 0, -12 }, // 0x79 'y' + { 1840, 10, 13, 12, 1, -12 }, // 0x7A 'z' + { 1857, 7, 23, 8, 1, -18 }, // 0x7B '{' + { 1878, 2, 20, 6, 2, -16 }, // 0x7C '|' + { 1883, 7, 23, 8, 0, -18 }, // 0x7D '}' + { 1904, 14, 5, 16, 1, -8 } };// 0x7E '~' + +const GFXfont Roboto_Regular12pt7b PROGMEM = { + (uint8_t *)Roboto_Regular12pt7bBitmaps, + (GFXglyph *)Roboto_Regular12pt7bGlyphs, + 0x20, 0x7E, 28 }; + +// Approx. 2585 bytes diff --git a/lib/Paperdink/src/icons.h b/lib/Paperdink/src/icons.h new file mode 100644 index 0000000..3eae703 --- /dev/null +++ b/lib/Paperdink/src/icons.h @@ -0,0 +1,34 @@ + +#ifndef _PAPERDINK_ICONS_H_ +#define _PAPERDINK_ICONS_H_ + +/* Icon sizes + * sml are 24x24 px + * med are 32x32 px + * lrg are 40x40 px + * xlrg are 48x48 px + */ + +/* Icons are from https://feathericons.com/ */ +#include "icons/up_arrow_sml.h" +#include "icons/down_arrow_sml.h" +#include "icons/up_arrow_med.h" +#include "icons/down_arrow_med.h" +#include "icons/eye_sml.h" +#include "icons/eye_med.h" +#include "icons/user_sml.h" +#include "icons/user_med.h" +#include "icons/wifi_off_sml.h" +#include "icons/alert_xlrg.h" +#include "icons/thermometer_med.h" +#include "icons/thermometer_sml.h" +#include "icons/umbrella_sml.h" +#include "icons/snowflake_sml.h" +#include "icons/sun_xlrg.h" +#include "icons/drizzle_xlrg.h" +#include "icons/lightning_xlrg.h" +#include "icons/rain_xlrg.h" +#include "icons/snow_xlrg.h" +#include "icons/cloud_xlrg.h" + +#endif /* _PAPERDINK_ICONS_H_ */ diff --git a/lib/Paperdink/src/icons/alert_xlrg.h b/lib/Paperdink/src/icons/alert_xlrg.h new file mode 100644 index 0000000..663ad63 --- /dev/null +++ b/lib/Paperdink/src/icons/alert_xlrg.h @@ -0,0 +1,41 @@ +#define alert_xlrg_width (48) +#define alert_xlrg_height (48) + +const unsigned char alert_xlrg[288] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xF8, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x0F, + 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x1F, 0xF0, 0x0F, 0xF8, 0x00, 0x00, 0x7F, 0x80, 0x01, 0xFE, 0x00, + 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x1F, 0x80, 0x01, 0xF0, 0x00, 0x00, + 0x0F, 0x80, 0x03, 0xE0, 0x00, 0x00, 0x07, 0xC0, 0x07, 0xC0, 0x00, 0x00, 0x03, 0xE0, 0x07, 0x80, + 0x00, 0x00, 0x01, 0xE0, 0x0F, 0x80, 0x01, 0x80, 0x01, 0xF0, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, + 0x1F, 0x00, 0x03, 0xC0, 0x00, 0xF8, 0x1E, 0x00, 0x03, 0xC0, 0x00, 0x78, 0x1E, 0x00, 0x03, 0xC0, + 0x00, 0x78, 0x3E, 0x00, 0x03, 0xC0, 0x00, 0x7C, 0x3C, 0x00, 0x03, 0xC0, 0x00, 0x3C, 0x3C, 0x00, + 0x03, 0xC0, 0x00, 0x3C, 0x3C, 0x00, 0x03, 0xC0, 0x00, 0x3C, 0x3C, 0x00, 0x03, 0xC0, 0x00, 0x3C, + 0x3C, 0x00, 0x03, 0xC0, 0x00, 0x3C, 0x3C, 0x00, 0x01, 0x80, 0x00, 0x3C, 0x3C, 0x00, 0x00, 0x00, + 0x00, 0x3C, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x1E, 0x00, + 0x00, 0x00, 0x00, 0x78, 0x1E, 0x00, 0x01, 0x80, 0x00, 0x78, 0x1F, 0x00, 0x03, 0xC0, 0x00, 0xF8, + 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x0F, 0x80, 0x01, 0x80, 0x01, 0xF0, 0x07, 0x80, 0x00, 0x00, + 0x01, 0xE0, 0x07, 0xC0, 0x00, 0x00, 0x03, 0xE0, 0x03, 0xE0, 0x00, 0x00, 0x07, 0xC0, 0x01, 0xF0, + 0x00, 0x00, 0x0F, 0x80, 0x01, 0xF8, 0x00, 0x00, 0x1F, 0x80, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, + 0x00, 0x7F, 0x80, 0x01, 0xFE, 0x00, 0x00, 0x1F, 0xF0, 0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xFF, 0xFF, + 0xF0, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x1F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; +const unsigned char alert_xlrg_red[288] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; diff --git a/lib/Paperdink/src/icons/cloud_xlrg.h b/lib/Paperdink/src/icons/cloud_xlrg.h new file mode 100644 index 0000000..262489c --- /dev/null +++ b/lib/Paperdink/src/icons/cloud_xlrg.h @@ -0,0 +1,41 @@ +#define cloud_xlrg_width (48) +#define cloud_xlrg_height (48) + +const unsigned char cloud_xlrg[288] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0x80, 0x00, 0x00, + 0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x03, 0xFE, 0x07, 0xFC, + 0x00, 0x00, 0x07, 0xF0, 0x00, 0xFE, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0x1F, 0x80, + 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x3E, 0x00, 0x00, 0x07, 0xC0, 0x00, + 0x3C, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x7C, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x78, 0x00, 0x00, 0x01, + 0xFE, 0x00, 0x78, 0x00, 0x00, 0x01, 0xFF, 0xC0, 0xF8, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0xF0, 0x00, + 0x00, 0x00, 0xFF, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0x03, 0xF8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x7C, + 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xF0, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x78, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x78, 0x00, + 0x00, 0x00, 0x00, 0x0F, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x0F, + 0x3E, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x1F, 0x80, 0x00, 0x00, + 0x00, 0x1E, 0x0F, 0xC0, 0x00, 0x00, 0x00, 0x3E, 0x07, 0xF0, 0x00, 0x00, 0x00, 0x7C, 0x03, 0xFE, + 0x00, 0x00, 0x03, 0xF8, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xE0, + 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x03, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; +const unsigned char cloud_xlrg_red[288] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; diff --git a/lib/Paperdink/src/icons/down_arrow_med.h b/lib/Paperdink/src/icons/down_arrow_med.h new file mode 100644 index 0000000..a34e4f9 --- /dev/null +++ b/lib/Paperdink/src/icons/down_arrow_med.h @@ -0,0 +1,18 @@ +const unsigned char down_arrow_med[128] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0xFF, 0xFF, 0x00, + 0x01, 0xF8, 0x1F, 0x80, 0x03, 0xC0, 0x03, 0xC0, 0x07, 0x80, 0x01, 0xE0, 0x0F, 0x00, 0x00, 0xF0, + 0x1E, 0x00, 0x00, 0x78, 0x1C, 0x01, 0x80, 0x38, 0x38, 0x01, 0x80, 0x1C, 0x38, 0x01, 0x80, 0x1C, + 0x38, 0x01, 0x80, 0x1C, 0x30, 0x01, 0x80, 0x0C, 0x70, 0x01, 0x80, 0x0E, 0x70, 0x71, 0x8E, 0x0E, + 0x70, 0x79, 0x9E, 0x0E, 0x70, 0x3D, 0xBC, 0x0E, 0x70, 0x1F, 0xF8, 0x0C, 0x38, 0x0F, 0xF0, 0x1C, + 0x38, 0x07, 0xE0, 0x1C, 0x38, 0x03, 0xC0, 0x1C, 0x1C, 0x01, 0x80, 0x38, 0x1E, 0x00, 0x00, 0x78, + 0x0F, 0x00, 0x00, 0xF0, 0x07, 0x80, 0x01, 0xE0, 0x03, 0xC0, 0x03, 0xC0, 0x01, 0xF8, 0x1F, 0x80, + 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00,}; +const unsigned char down_arrow_red[128] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; diff --git a/lib/Paperdink/src/icons/down_arrow_sml.h b/lib/Paperdink/src/icons/down_arrow_sml.h new file mode 100644 index 0000000..9559fb5 --- /dev/null +++ b/lib/Paperdink/src/icons/down_arrow_sml.h @@ -0,0 +1,12 @@ +const unsigned char down_arrow_sml[72] = { + 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x03, 0xFF, 0xC0, 0x07, 0x81, 0xE0, 0x0E, 0x00, 0x70, 0x1C, + 0x00, 0x38, 0x38, 0x00, 0x1C, 0x30, 0x18, 0x0C, 0x30, 0x18, 0x0C, 0x60, 0x18, 0x06, 0x60, 0x18, + 0x06, 0x61, 0x99, 0x86, 0x61, 0xDB, 0x86, 0x60, 0xFF, 0x06, 0x60, 0x7E, 0x06, 0x30, 0x3C, 0x0C, + 0x30, 0x18, 0x0C, 0x38, 0x00, 0x1C, 0x1C, 0x00, 0x38, 0x0E, 0x00, 0x70, 0x07, 0x81, 0xE0, 0x03, + 0xFF, 0xC0, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00,}; +const unsigned char down_arrow_sml_red[72] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; diff --git a/lib/Paperdink/src/icons/drizzle_xlrg.h b/lib/Paperdink/src/icons/drizzle_xlrg.h new file mode 100644 index 0000000..a64ffb1 --- /dev/null +++ b/lib/Paperdink/src/icons/drizzle_xlrg.h @@ -0,0 +1,41 @@ +#define drizzle_xlrg_width (48) +#define drizzle_xlrg_height (48) + +const unsigned char drizzle_xlrg[288] = { + 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xE0, + 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x03, 0xFE, 0x07, 0xFC, 0x00, 0x00, 0x07, 0xF0, + 0x00, 0xFE, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x80, 0x00, + 0x1F, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x3E, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x3C, 0x00, 0x00, 0x03, + 0xC0, 0x00, 0x7C, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x78, 0x00, 0x00, 0x01, 0xFE, 0x00, 0x78, 0x00, + 0x00, 0x01, 0xFF, 0xC0, 0xF8, 0x00, 0x00, 0x01, 0xFF, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0xFF, 0xF0, + 0xF0, 0x00, 0x00, 0x00, 0x03, 0xF8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xF0, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xF8, 0x00, + 0x00, 0x00, 0x00, 0x1F, 0x78, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x78, 0x00, 0x00, 0x00, 0x00, 0x0F, + 0x7C, 0x01, 0x80, 0x01, 0x80, 0x0F, 0x3C, 0x03, 0xC0, 0x03, 0xC0, 0x0F, 0x3E, 0x03, 0xC0, 0x03, + 0xC0, 0x1F, 0x1F, 0x03, 0xC0, 0x03, 0xC0, 0x1E, 0x1F, 0x83, 0xC1, 0x83, 0xC0, 0x3E, 0x0F, 0xC3, + 0xC3, 0xC3, 0xC0, 0x3E, 0x07, 0xC3, 0xC3, 0xC3, 0xC0, 0x7C, 0x03, 0xC1, 0x83, 0xC1, 0x81, 0xF8, + 0x00, 0x00, 0x03, 0xC0, 0x03, 0xF0, 0x00, 0x00, 0x03, 0xC0, 0x03, 0xE0, 0x00, 0x00, 0x03, 0xC0, + 0x01, 0xC0, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x01, 0x80, 0x01, 0x80, 0x00, 0x00, 0x03, + 0xC0, 0x03, 0xC0, 0x00, 0x00, 0x03, 0xC0, 0x03, 0xC0, 0x00, 0x00, 0x03, 0xC0, 0x03, 0xC0, 0x00, + 0x00, 0x03, 0xC1, 0x83, 0xC0, 0x00, 0x00, 0x03, 0xC3, 0xC3, 0xC0, 0x00, 0x00, 0x03, 0xC3, 0xC3, + 0xC0, 0x00, 0x00, 0x01, 0x83, 0xC1, 0x80, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,}; +const unsigned char drizzle_xlrg_red[288] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; diff --git a/lib/Paperdink/src/icons/eye_med.h b/lib/Paperdink/src/icons/eye_med.h new file mode 100644 index 0000000..0d63bfd --- /dev/null +++ b/lib/Paperdink/src/icons/eye_med.h @@ -0,0 +1,21 @@ +#define eye_med_width (32) +#define eye_med_height (32) + +const unsigned char eye_med[128] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x01, 0xF0, 0x0F, 0x80, + 0x07, 0xC0, 0x03, 0xE0, 0x0F, 0x80, 0x01, 0xF0, 0x1E, 0x00, 0x00, 0x78, 0x1C, 0x07, 0xE0, 0x38, + 0x38, 0x0F, 0xF0, 0x1C, 0x78, 0x1E, 0x78, 0x1E, 0x70, 0x1C, 0x38, 0x0E, 0xE0, 0x18, 0x18, 0x07, + 0xE0, 0x18, 0x18, 0x07, 0x70, 0x1C, 0x38, 0x0E, 0x78, 0x1E, 0x78, 0x1E, 0x38, 0x0F, 0xF0, 0x1C, + 0x1C, 0x07, 0xE0, 0x38, 0x0E, 0x00, 0x00, 0x70, 0x0F, 0x80, 0x01, 0xF0, 0x07, 0xC0, 0x03, 0xE0, + 0x01, 0xF0, 0x0F, 0x80, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x0F, 0xF0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; +const unsigned char eye_med_red[128] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; diff --git a/lib/Paperdink/src/icons/eye_sml.h b/lib/Paperdink/src/icons/eye_sml.h new file mode 100644 index 0000000..4718881 --- /dev/null +++ b/lib/Paperdink/src/icons/eye_sml.h @@ -0,0 +1,15 @@ +#define eye_sml_width (24) +#define eye_sml_height (24) + +const unsigned char eye_sml[72] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x03, 0xFF, 0xC0, 0x07, + 0xC3, 0xE0, 0x0F, 0x00, 0xF0, 0x1C, 0x00, 0x38, 0x38, 0x3C, 0x1C, 0x70, 0x7E, 0x0E, 0xE0, 0xE7, + 0x07, 0xE0, 0xC3, 0x07, 0xE0, 0xC3, 0x07, 0xE0, 0xE7, 0x07, 0x70, 0x7E, 0x0E, 0x38, 0x3C, 0x1C, + 0x1C, 0x00, 0x38, 0x0F, 0x00, 0xF0, 0x07, 0xC3, 0xE0, 0x03, 0xFF, 0xC0, 0x00, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; +const unsigned char eye_sml_red[72] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; diff --git a/lib/Paperdink/src/icons/lightning_xlrg.h b/lib/Paperdink/src/icons/lightning_xlrg.h new file mode 100644 index 0000000..75ec3c6 --- /dev/null +++ b/lib/Paperdink/src/icons/lightning_xlrg.h @@ -0,0 +1,41 @@ +#define lightning_xlrg_width (48) +#define lightning_xlrg_height (48) + +const unsigned char lightning_xlrg[288] = { + 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xE0, + 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x03, 0xFE, 0x07, 0xFC, 0x00, 0x00, 0x07, 0xF0, + 0x00, 0xFE, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x80, 0x00, + 0x1F, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x3E, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x3C, 0x00, 0x00, 0x03, + 0xC0, 0x00, 0x7C, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x78, 0x00, 0x00, 0x01, 0xFE, 0x00, 0x78, 0x00, + 0x00, 0x01, 0xFF, 0xC0, 0xF8, 0x00, 0x00, 0x01, 0xFF, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0xFF, 0xF0, + 0xF0, 0x00, 0x00, 0x00, 0x03, 0xF8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xF0, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xF0, 0x00, 0x00, 0x60, 0x00, 0x1F, 0xF8, 0x00, + 0x00, 0xF0, 0x00, 0x0F, 0x78, 0x00, 0x01, 0xF0, 0x00, 0x0F, 0x78, 0x00, 0x01, 0xE0, 0x00, 0x0F, + 0x7C, 0x00, 0x03, 0xE0, 0x00, 0x0F, 0x3C, 0x00, 0x07, 0xC0, 0x00, 0x0F, 0x3E, 0x00, 0x07, 0x80, + 0x00, 0x0F, 0x1F, 0x00, 0x0F, 0x80, 0x00, 0x1F, 0x1F, 0x80, 0x1F, 0x00, 0x00, 0x1E, 0x0F, 0xC0, + 0x1E, 0x00, 0x00, 0x3E, 0x07, 0xF0, 0x3E, 0x00, 0x00, 0x7C, 0x03, 0xF0, 0x7C, 0x00, 0x03, 0xF8, + 0x01, 0xF0, 0x7F, 0xFE, 0x0F, 0xF0, 0x00, 0x70, 0xFF, 0xFF, 0x0F, 0xE0, 0x00, 0x00, 0xFF, 0xFF, + 0x0F, 0xC0, 0x00, 0x00, 0x7F, 0xFE, 0x07, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE0, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,}; +const unsigned char lightning_xlrg_red[288] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; diff --git a/lib/Paperdink/src/icons/rain_xlrg.h b/lib/Paperdink/src/icons/rain_xlrg.h new file mode 100644 index 0000000..c52959a --- /dev/null +++ b/lib/Paperdink/src/icons/rain_xlrg.h @@ -0,0 +1,41 @@ +#define rain_xlrg_width (48) +#define rain_xlrg_height (48) + +const unsigned char rain_xlrg[288] = { + 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xE0, + 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x03, 0xFE, 0x07, 0xFC, 0x00, 0x00, 0x07, 0xF0, + 0x00, 0xFE, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x80, 0x00, + 0x1F, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x3E, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x3C, 0x00, 0x00, 0x03, + 0xC0, 0x00, 0x7C, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x78, 0x00, 0x00, 0x01, 0xFE, 0x00, 0x78, 0x00, + 0x00, 0x01, 0xFF, 0xC0, 0xF8, 0x00, 0x00, 0x01, 0xFF, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0xFF, 0xF0, + 0xF0, 0x00, 0x00, 0x00, 0x03, 0xF8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xF0, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xF8, 0x00, + 0x00, 0x00, 0x00, 0x1F, 0x78, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x78, 0x00, 0x00, 0x00, 0x00, 0x0F, + 0x7C, 0x01, 0x80, 0x01, 0x80, 0x0F, 0x3C, 0x03, 0xC0, 0x03, 0xC0, 0x0F, 0x3E, 0x03, 0xC0, 0x03, + 0xC0, 0x1F, 0x1F, 0x03, 0xC0, 0x03, 0xC0, 0x1E, 0x1F, 0x83, 0xC1, 0x83, 0xC0, 0x3E, 0x0F, 0xC3, + 0xC3, 0xC3, 0xC0, 0x3E, 0x07, 0xC3, 0xC3, 0xC3, 0xC0, 0x7C, 0x03, 0xC3, 0xC3, 0xC3, 0xC1, 0xF8, + 0x00, 0x03, 0xC3, 0xC3, 0xC3, 0xF0, 0x00, 0x03, 0xC3, 0xC3, 0xC3, 0xE0, 0x00, 0x03, 0xC3, 0xC3, + 0xC1, 0xC0, 0x00, 0x03, 0xC3, 0xC3, 0xC0, 0x00, 0x00, 0x03, 0xC3, 0xC3, 0xC0, 0x00, 0x00, 0x03, + 0xC3, 0xC3, 0xC0, 0x00, 0x00, 0x03, 0xC3, 0xC3, 0xC0, 0x00, 0x00, 0x03, 0xC3, 0xC3, 0xC0, 0x00, + 0x00, 0x03, 0xC3, 0xC3, 0xC0, 0x00, 0x00, 0x03, 0xC3, 0xC3, 0xC0, 0x00, 0x00, 0x03, 0xC3, 0xC3, + 0xC0, 0x00, 0x00, 0x01, 0x83, 0xC1, 0x80, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,}; +const unsigned char rain_xlrg_red[288] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; diff --git a/lib/Paperdink/src/icons/snow_xlrg.h b/lib/Paperdink/src/icons/snow_xlrg.h new file mode 100644 index 0000000..dc1b41e --- /dev/null +++ b/lib/Paperdink/src/icons/snow_xlrg.h @@ -0,0 +1,41 @@ +#define snow_xlrg_width (48) +#define snow_xlrg_height (48) + +const unsigned char snow_xlrg[288] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFC, 0x00, + 0x00, 0x00, 0x00, 0x1F, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x00, 0x01, 0xFF, + 0xFF, 0xF8, 0x00, 0x00, 0x03, 0xFC, 0x07, 0xFC, 0x00, 0x00, 0x07, 0xF0, 0x00, 0xFE, 0x00, 0x00, + 0x0F, 0xC0, 0x00, 0x3F, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x80, 0x00, 0x1F, 0x00, 0x00, 0x0F, + 0x80, 0x00, 0x3E, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x3C, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x7C, 0x00, + 0x00, 0x03, 0xE0, 0x00, 0x78, 0x00, 0x00, 0x01, 0xFF, 0x00, 0x78, 0x00, 0x00, 0x01, 0xFF, 0xC0, + 0xF8, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0xFF, 0xF0, 0xF0, 0x00, 0x00, 0x00, + 0x03, 0xF8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0xF0, 0x00, + 0x00, 0x00, 0x00, 0x1E, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x1F, + 0x78, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x78, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x0F, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x00, + 0x00, 0x00, 0x00, 0x1E, 0x1F, 0x81, 0x80, 0x01, 0x80, 0x3E, 0x0F, 0xC3, 0xC0, 0x03, 0xC0, 0x3E, + 0x07, 0xC3, 0xC0, 0x03, 0xC0, 0x7C, 0x03, 0xC1, 0x80, 0x01, 0x81, 0xF8, 0x00, 0x00, 0x01, 0x80, + 0x03, 0xF0, 0x00, 0x00, 0x03, 0xC0, 0x03, 0xE0, 0x00, 0x00, 0x03, 0xC0, 0x01, 0xC0, 0x00, 0x00, + 0x01, 0x80, 0x00, 0x00, 0x00, 0x01, 0x80, 0x01, 0x80, 0x00, 0x00, 0x03, 0xC0, 0x03, 0xC0, 0x00, + 0x00, 0x03, 0xC0, 0x03, 0xC0, 0x00, 0x00, 0x01, 0x80, 0x01, 0x80, 0x00, 0x00, 0x00, 0x01, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; +const unsigned char snow_xlrg_red[288] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; diff --git a/lib/Paperdink/src/icons/snowflake_sml.h b/lib/Paperdink/src/icons/snowflake_sml.h new file mode 100644 index 0000000..fde5b29 --- /dev/null +++ b/lib/Paperdink/src/icons/snowflake_sml.h @@ -0,0 +1,15 @@ +#define snowflake_sml_width (24) +#define snowflake_sml_height (24) + +const unsigned char snowflake_sml[72] = { + 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x3C, 0x00, 0x02, 0x18, 0x40, 0x0E, 0x18, 0x70, 0x0E, + 0x18, 0x70, 0x1E, 0x7E, 0x78, 0x01, 0x7E, 0x80, 0x00, 0xDB, 0x00, 0x03, 0xFF, 0xC0, 0x33, 0x3C, + 0xCC, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFE, 0x23, 0x7F, 0xC4, 0x03, 0xDB, 0xC0, 0x01, 0xDB, 0x80, + 0x03, 0x7E, 0xC0, 0x1E, 0x7E, 0x78, 0x0E, 0x18, 0x70, 0x0E, 0x18, 0x78, 0x02, 0x18, 0x40, 0x00, + 0x3C, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00,}; +const unsigned char snowflake_sml_red[72] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; diff --git a/lib/Paperdink/src/icons/sun_lrg.h b/lib/Paperdink/src/icons/sun_lrg.h new file mode 100644 index 0000000..7bb5cbf --- /dev/null +++ b/lib/Paperdink/src/icons/sun_lrg.h @@ -0,0 +1,31 @@ +#define sun_lrg_width (40) +#define sun_lrg_height (40) + +const unsigned char sun_lrg[200] = { + 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, + 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x03, 0x00, 0x3C, 0x00, 0xC0, 0x07, 0x80, + 0x18, 0x01, 0xE0, 0x07, 0xC0, 0x00, 0x03, 0xE0, 0x03, 0xE0, 0x00, 0x07, 0xC0, 0x01, 0xE0, 0x00, + 0x07, 0x80, 0x00, 0xE0, 0x7E, 0x07, 0x00, 0x00, 0x01, 0xFF, 0x80, 0x00, 0x00, 0x07, 0xFF, 0xE0, + 0x00, 0x00, 0x0F, 0xE7, 0xF0, 0x00, 0x00, 0x0F, 0x00, 0xF0, 0x00, 0x00, 0x1E, 0x00, 0x78, 0x00, + 0x00, 0x1C, 0x00, 0x38, 0x00, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x7C, 0x3C, 0x00, 0x3C, 0x3E, 0xFE, + 0x38, 0x00, 0x1C, 0x7F, 0xFE, 0x38, 0x00, 0x1C, 0x7F, 0x7C, 0x3C, 0x00, 0x3C, 0x3E, 0x00, 0x3C, + 0x00, 0x3C, 0x00, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x00, 0x1E, 0x00, 0x78, 0x00, 0x00, 0x0F, 0x00, + 0xF0, 0x00, 0x00, 0x0F, 0xE7, 0xF0, 0x00, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0x00, 0x01, 0xFF, 0x80, + 0x00, 0x00, 0xE0, 0x7E, 0x07, 0x00, 0x01, 0xE0, 0x00, 0x07, 0x80, 0x03, 0xE0, 0x00, 0x07, 0xC0, + 0x07, 0xC0, 0x00, 0x03, 0xE0, 0x07, 0x80, 0x18, 0x01, 0xE0, 0x03, 0x00, 0x3C, 0x00, 0xC0, 0x00, + 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00,}; +const unsigned char sun_lrg_red[200] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; diff --git a/lib/Paperdink/src/icons/sun_med.h b/lib/Paperdink/src/icons/sun_med.h new file mode 100644 index 0000000..4467496 --- /dev/null +++ b/lib/Paperdink/src/icons/sun_med.h @@ -0,0 +1,21 @@ +#define sun_med_width (32) +#define sun_med_height (32) + +const unsigned char sun_med[128] = { + 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, + 0x04, 0x01, 0x80, 0x20, 0x0E, 0x00, 0x00, 0x70, 0x07, 0x00, 0x00, 0xE0, 0x03, 0x80, 0x01, 0xC0, + 0x01, 0x07, 0xE0, 0x80, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x78, 0x1E, 0x00, + 0x00, 0x70, 0x0E, 0x00, 0x00, 0xE0, 0x07, 0x00, 0x00, 0xE0, 0x07, 0x00, 0xF8, 0xE0, 0x07, 0x1F, + 0xF8, 0xE0, 0x07, 0x1F, 0x00, 0xE0, 0x07, 0x00, 0x00, 0xE0, 0x07, 0x00, 0x00, 0x70, 0x0E, 0x00, + 0x00, 0x78, 0x1E, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x01, 0x07, 0xE0, 0x80, + 0x03, 0x80, 0x01, 0xC0, 0x07, 0x00, 0x00, 0xE0, 0x0E, 0x00, 0x00, 0x70, 0x04, 0x01, 0x80, 0x20, + 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00,}; +const unsigned char sun_med_red[128] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; diff --git a/lib/Paperdink/src/icons/sun_xlrg.h b/lib/Paperdink/src/icons/sun_xlrg.h new file mode 100644 index 0000000..5825da5 --- /dev/null +++ b/lib/Paperdink/src/icons/sun_xlrg.h @@ -0,0 +1,41 @@ +#define sun_xlrg_width (48) +#define sun_xlrg_height (48) + +const unsigned char sun_xlrg[288] = { + 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xC0, 0x00, 0x00, 0x00, 0x80, 0x03, 0xC0, 0x01, 0x00, 0x01, 0xC0, 0x01, 0x80, 0x03, 0x80, + 0x03, 0xE0, 0x00, 0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x00, + 0x1F, 0x00, 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x38, 0x07, 0xE0, 0x1C, 0x00, 0x00, 0x00, + 0x3F, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x01, 0xF8, 0x1F, 0x80, 0x00, 0x00, 0x03, 0xE0, 0x07, 0xC0, 0x00, 0x00, 0x07, 0xC0, 0x03, + 0xE0, 0x00, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x00, 0x0F, + 0x00, 0x00, 0xF0, 0x00, 0x7E, 0x0F, 0x00, 0x00, 0xF0, 0x7E, 0xFF, 0x0F, 0x00, 0x00, 0xF0, 0xFF, + 0xFF, 0x0F, 0x00, 0x00, 0xF0, 0xFF, 0x7E, 0x0F, 0x00, 0x00, 0xF0, 0x7E, 0x00, 0x0F, 0x00, 0x00, + 0xF0, 0x00, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x00, 0x07, + 0xC0, 0x03, 0xE0, 0x00, 0x00, 0x03, 0xE0, 0x07, 0xC0, 0x00, 0x00, 0x01, 0xF8, 0x3F, 0x80, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFC, + 0x00, 0x00, 0x00, 0x38, 0x07, 0xE0, 0x1C, 0x00, 0x00, 0x78, 0x00, 0x00, 0x1E, 0x00, 0x00, 0xF8, + 0x00, 0x00, 0x1F, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x0F, 0x80, 0x03, 0xE0, 0x00, 0x00, 0x07, 0xC0, + 0x01, 0xC0, 0x01, 0x80, 0x03, 0x80, 0x00, 0x80, 0x03, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x03, 0xC0, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, + 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,}; +const unsigned char sun_xlrg_red[288] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; diff --git a/lib/Paperdink/src/icons/thermometer_med.h b/lib/Paperdink/src/icons/thermometer_med.h new file mode 100644 index 0000000..af4a9fa --- /dev/null +++ b/lib/Paperdink/src/icons/thermometer_med.h @@ -0,0 +1,21 @@ +#define thermometer_med_width (32) +#define thermometer_med_height (32) + +const unsigned char thermometer_med[128] = { + 0x00, 0x07, 0x80, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x1C, 0x70, 0x00, + 0x00, 0x18, 0x70, 0x00, 0x00, 0x18, 0x70, 0x00, 0x00, 0x18, 0x70, 0x00, 0x00, 0x18, 0x70, 0x00, + 0x00, 0x18, 0x70, 0x00, 0x00, 0x18, 0x70, 0x00, 0x00, 0x18, 0x70, 0x00, 0x00, 0x18, 0x70, 0x00, + 0x00, 0x18, 0x70, 0x00, 0x00, 0x18, 0x70, 0x00, 0x00, 0x18, 0x70, 0x00, 0x00, 0x18, 0x70, 0x00, + 0x00, 0x18, 0x70, 0x00, 0x00, 0x18, 0x70, 0x00, 0x00, 0x18, 0x70, 0x00, 0x00, 0x38, 0x78, 0x00, + 0x00, 0x78, 0x38, 0x00, 0x00, 0x70, 0x1C, 0x00, 0x00, 0xE0, 0x1C, 0x00, 0x00, 0xE0, 0x0E, 0x00, + 0x00, 0xE0, 0x0E, 0x00, 0x00, 0xE0, 0x0E, 0x00, 0x00, 0xE0, 0x0C, 0x00, 0x00, 0x70, 0x1C, 0x00, + 0x00, 0x78, 0x3C, 0x00, 0x00, 0x3F, 0xF8, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x07, 0xC0, 0x00,}; +const unsigned char thermometer_med_red[128] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; diff --git a/lib/Paperdink/src/icons/thermometer_sml.h b/lib/Paperdink/src/icons/thermometer_sml.h new file mode 100644 index 0000000..1c32d09 --- /dev/null +++ b/lib/Paperdink/src/icons/thermometer_sml.h @@ -0,0 +1,15 @@ +#define thermometer_sml_width (24) +#define thermometer_sml_height (24) + +const unsigned char thermometer_sml[72] = { + 0x00, 0x38, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xEE, 0x00, 0x00, 0xC6, 0x00, 0x00, 0xC6, 0x00, 0x00, + 0xC6, 0x00, 0x00, 0xC6, 0x00, 0x00, 0xC6, 0x00, 0x00, 0xC6, 0x00, 0x00, 0xC6, 0x00, 0x00, 0xC6, + 0x00, 0x00, 0xC6, 0x00, 0x00, 0xC6, 0x00, 0x00, 0xC6, 0x00, 0x00, 0xC6, 0x00, 0x01, 0xC7, 0x00, + 0x03, 0x83, 0x80, 0x03, 0x01, 0x80, 0x03, 0x01, 0x80, 0x03, 0x01, 0x80, 0x03, 0x83, 0x80, 0x01, + 0xC7, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7C, 0x00,}; +const unsigned char thermometer_sml_red[72] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; diff --git a/lib/Paperdink/src/icons/umbrella_sml.h b/lib/Paperdink/src/icons/umbrella_sml.h new file mode 100644 index 0000000..ab7a59d --- /dev/null +++ b/lib/Paperdink/src/icons/umbrella_sml.h @@ -0,0 +1,15 @@ +#define umbrella_sml_width (24) +#define umbrella_sml_height (24) + +const unsigned char umbrella_sml[72] = { + 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x03, 0xFF, 0xC0, 0x07, 0x81, 0xE0, 0x1E, 0x00, 0x70, 0x18, + 0x00, 0x18, 0x30, 0x00, 0x1C, 0x70, 0x00, 0x0E, 0x60, 0x00, 0x06, 0xE0, 0x00, 0x07, 0xC0, 0x00, + 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, + 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x60, 0x00, 0x18, 0x60, 0x00, 0x1C, 0xE0, 0x00, + 0x0F, 0xC0, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00,}; +const unsigned char umbrella_sml_red[72] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; diff --git a/lib/Paperdink/src/icons/up_arrow_med.h b/lib/Paperdink/src/icons/up_arrow_med.h new file mode 100644 index 0000000..fcf9576 --- /dev/null +++ b/lib/Paperdink/src/icons/up_arrow_med.h @@ -0,0 +1,18 @@ +const unsigned char up_arrow_med[128] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0xFF, 0xFF, 0x00, + 0x01, 0xF8, 0x1F, 0x80, 0x03, 0xC0, 0x03, 0xC0, 0x07, 0x80, 0x01, 0xE0, 0x0F, 0x00, 0x00, 0xF0, + 0x1E, 0x00, 0x00, 0x78, 0x1C, 0x01, 0x80, 0x38, 0x38, 0x03, 0xC0, 0x1C, 0x38, 0x07, 0xE0, 0x1C, + 0x38, 0x0F, 0xF0, 0x1C, 0x30, 0x1F, 0xF8, 0x0C, 0x70, 0x3D, 0xBC, 0x0E, 0x70, 0x79, 0x9E, 0x0E, + 0x70, 0x71, 0x8E, 0x0E, 0x70, 0x01, 0x80, 0x0E, 0x70, 0x01, 0x80, 0x0C, 0x38, 0x01, 0x80, 0x1C, + 0x38, 0x01, 0x80, 0x1C, 0x38, 0x01, 0x80, 0x1C, 0x1C, 0x01, 0x80, 0x38, 0x1E, 0x00, 0x00, 0x78, + 0x0F, 0x00, 0x00, 0xF0, 0x07, 0x80, 0x01, 0xE0, 0x03, 0xC0, 0x03, 0xC0, 0x01, 0xF8, 0x1F, 0x80, + 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00,}; +const unsigned char up_arrow_red[128] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; diff --git a/lib/Paperdink/src/icons/up_arrow_sml.h b/lib/Paperdink/src/icons/up_arrow_sml.h new file mode 100644 index 0000000..f8aff0a --- /dev/null +++ b/lib/Paperdink/src/icons/up_arrow_sml.h @@ -0,0 +1,12 @@ +const unsigned char up_arrow_sml[72] = { + 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x03, 0xFF, 0xC0, 0x07, 0x81, 0xE0, 0x0E, 0x00, 0x70, 0x1C, + 0x00, 0x38, 0x38, 0x00, 0x1C, 0x30, 0x18, 0x0C, 0x30, 0x3C, 0x0C, 0x60, 0x7E, 0x06, 0x60, 0xFF, + 0x06, 0x61, 0xDB, 0x86, 0x61, 0x99, 0x86, 0x60, 0x18, 0x06, 0x60, 0x18, 0x06, 0x30, 0x18, 0x0C, + 0x30, 0x18, 0x0C, 0x38, 0x00, 0x1C, 0x1C, 0x00, 0x38, 0x0E, 0x00, 0x70, 0x07, 0x81, 0xE0, 0x03, + 0xFF, 0xC0, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00,}; +const unsigned char up_arrow_sml_red[72] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; diff --git a/lib/Paperdink/src/icons/user_med.h b/lib/Paperdink/src/icons/user_med.h new file mode 100644 index 0000000..ae11ff0 --- /dev/null +++ b/lib/Paperdink/src/icons/user_med.h @@ -0,0 +1,21 @@ +#define user_med_width (32) +#define user_med_height (32) + +const unsigned char user_med[128] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x00, + 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x1E, 0x78, 0x00, 0x00, 0x38, 0x1C, 0x00, 0x00, 0x38, 0x1C, 0x00, + 0x00, 0x70, 0x0E, 0x00, 0x00, 0x70, 0x0E, 0x00, 0x00, 0x70, 0x0E, 0x00, 0x00, 0x38, 0x1C, 0x00, + 0x00, 0x3C, 0x3C, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x07, 0xE0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0x80, + 0x03, 0xFF, 0xFF, 0xC0, 0x07, 0xC0, 0x03, 0xE0, 0x07, 0x00, 0x00, 0xE0, 0x0E, 0x00, 0x00, 0x70, + 0x0E, 0x00, 0x00, 0x70, 0x0E, 0x00, 0x00, 0x70, 0x0E, 0x00, 0x00, 0x70, 0x0E, 0x00, 0x00, 0x70, + 0x0E, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; +const unsigned char user_med_red[128] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; diff --git a/lib/Paperdink/src/icons/user_sml.h b/lib/Paperdink/src/icons/user_sml.h new file mode 100644 index 0000000..bc7ec04 --- /dev/null +++ b/lib/Paperdink/src/icons/user_sml.h @@ -0,0 +1,15 @@ +#define user_sml_width (24) +#define user_sml_height (24) + +const unsigned char user_sml[72] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0xFF, 0x00, 0x01, 0xE7, 0x80, 0x01, + 0xC3, 0x80, 0x01, 0x81, 0x80, 0x01, 0x81, 0x80, 0x01, 0xC3, 0x80, 0x01, 0xE7, 0x80, 0x00, 0xFF, + 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xE0, 0x0F, 0xFF, 0xF0, + 0x1E, 0x00, 0x78, 0x1C, 0x00, 0x38, 0x18, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, + 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; +const unsigned char user_sml_red[72] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; diff --git a/lib/Paperdink/src/icons/wifi_off_sml.h b/lib/Paperdink/src/icons/wifi_off_sml.h new file mode 100644 index 0000000..0b2425a --- /dev/null +++ b/lib/Paperdink/src/icons/wifi_off_sml.h @@ -0,0 +1,15 @@ +#define wifi_off_sml_width (24) +#define wifi_off_sml_height (24) + +const unsigned char wifi_off_sml[72] = { + 0xC0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x70, 0x00, 0x00, 0x38, 0x00, 0x00, 0x1C, 0x3F, 0x80, 0x0E, + 0x3F, 0xF0, 0x1F, 0x03, 0xF8, 0x7F, 0x80, 0x3E, 0xF1, 0xC0, 0x0F, 0xE1, 0xE0, 0x07, 0x03, 0xF0, + 0xC0, 0x0F, 0xF8, 0xF0, 0x0E, 0x1C, 0x70, 0x0C, 0x0E, 0x30, 0x00, 0x7F, 0x00, 0x01, 0xFF, 0x80, + 0x01, 0xE7, 0xC0, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x70, 0x00, 0x18, 0x38, 0x00, 0x18, 0x1C, 0x00, + 0x00, 0x0E, 0x00, 0x00, 0x07, 0x00, 0x00, 0x03,}; +const unsigned char wifi_off_sml_red[72] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; diff --git a/lib/Paperdink/src/icons/wifi_on_sml.h b/lib/Paperdink/src/icons/wifi_on_sml.h new file mode 100644 index 0000000..0998cfb --- /dev/null +++ b/lib/Paperdink/src/icons/wifi_on_sml.h @@ -0,0 +1,17 @@ +#define wifi_on_sml_width (24) +#define wifi_on_sml_height (24) + +const unsigned char wifi_on_sml[72] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x07, + 0xff, 0xe0, 0x1f, 0x00, 0xf8, 0x3c, 0x00, 0x3c, 0x70, 0x00, 0x0e, 0x40, 0x7e, 0x02, 0x03, 0xff, + 0xc0, 0x07, 0x81, 0xe0, 0x0e, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +const unsigned char wifi_on_sml_red[72] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; diff --git a/lib/Paperdink/src/pin_assignment.h b/lib/Paperdink/src/pin_assignment.h new file mode 100644 index 0000000..0c467f9 --- /dev/null +++ b/lib/Paperdink/src/pin_assignment.h @@ -0,0 +1,55 @@ + +#ifndef _PAPERDINK_PIN_ASSIGNMENT_H_ +#define _PAPERDINK_PIN_ASSIGNMENT_H_ + +// PIN ASSIGNMENT + +// I2C pins +#define SDA 16 +#define SCL 17 + +// SPI pins + +// SD card pins +#define SS 21 +#define SD_CS SS +#define SD_EN 5 + +// E-paper pins +#define EPD_CS 22 +#define EPD_DC 15 +#define EPD_BUSY 34 +#define EPD_EN 12 +#define EPD_RST 13 + +// PCF8574 pins +#define PCF_INT 35 +#define SD_CD P4 // input +#define EXT_GPIO1 P5 +#define EXT_GPIO2 P6 +#define EXT_GPIO3 P7 +#define PCF_I2C_ADDR 0x38 + +// LiPo +#define CHARGE_PIN 36 +#define BATT_EN 25 +#define BATT_VOLT 39 + +// Buzzer +#define BUZR 26 + +// Buttons +// Top to bottom +#define BUTTON_1_PIN 14 +#define BUTTON_1_RTC_GPIO 16 + +#define BUTTON_2_PIN 27 +#define BUTTON_2_RTC_GPIO 17 + +#define BUTTON_3_PIN 4 +#define BUTTON_3_RTC_GPIO 10 + +#define BUTTON_4_PIN 2 +#define BUTTON_4_RTC_GPIO 12 + +#endif /* _PAPERDINK_PIN_ASSIGNMENT_H_ */ diff --git a/platformio.ini b/platformio.ini new file mode 100644 index 0000000..158d41a --- /dev/null +++ b/platformio.ini @@ -0,0 +1,18 @@ +; PlatformIO Project Configuration File +; +; Build options: build flags, source filter +; Upload options: custom upload port, speed and extra flags +; Library options: dependencies, extra library storages +; Advanced options: extra scripting +; +; Please visit documentation for the other options and examples +; https://docs.platformio.org/page/projectconf.html + +[env:esp32dev] +platform = espressif32 +board = esp32dev +framework = arduino +lib_deps = + bblanchon/ArduinoJson@^6.20.1 + zinggjm/GxEPD2@^1.5.0 +monitor_speed = 115200 diff --git a/src/Calther.ino b/src/Calther.ino new file mode 100644 index 0000000..bf21a24 --- /dev/null +++ b/src/Calther.ino @@ -0,0 +1,160 @@ +/* config.h should be before Paperdink.h */ +#include "config.h" +#include +#include +#include + +#include "jdata.h" +#include "date_time.h" + +/* Create paperdink object */ +PAPERDINK_DEVICE Paperdink; + +#define RETRY_SECONDS 60 * 60 + +void setup() { + DEBUG.begin(115200); + + /* Initialize paperd.ink device */ + Paperdink.begin(); + int pin_id = get_GPIO_wake_up(); + switch (pin_id) { + default: + update_screen(); + break; + } + + deep_sleep_timer_buttons_wakeup(0); +} + +void update_screen() { + /* Enable power to the display */ + Paperdink.enable_display(); + /* Clear the background */ + Paperdink.epd.fillScreen(GxEPD_WHITE); + + /* Connect to wifi network */ + if (Paperdink.connect_wifi(SSID, PASSWORD) < 0) { + // Display error and retry + DEBUG.println("Unable to connect to WiFi"); + Paperdink.epd.drawBitmap(370, 4, wifi_off_sml, wifi_off_sml_width, + wifi_off_sml_height, GxEPD_BLACK); + Paperdink.epd.display(); + deep_sleep_timer_buttons_wakeup(RETRY_SECONDS); + // retry in 10 minutes + return; + } + + if (UIJData.fetch_data() < 0) { + // Display error and retry + DEBUG.println("Unable to fetch my data"); + Paperdink.epd.drawBitmap(370, 4, wifi_off_sml, wifi_off_sml_width, + wifi_off_sml_height, GxEPD_BLACK); + Paperdink.epd.display(); + deep_sleep_timer_buttons_wakeup(RETRY_SECONDS); + return; + } + + UIJData.display_list(Paperdink.epd, 5, 110 + 30, 6, 390); + // Draw separator + Paperdink.epd.fillRect(0, 110, 400, 2, GxEPD_BLACK); + display_datetime(); + display_weather(); + + /* Send data to display for the update */ + Paperdink.epd.display(); +} + +/* +Method to print the GPIO that triggered the wakeup +*/ +int get_GPIO_wake_up() { + uint64_t GPIO_reason; + int pin_id; + esp_sleep_wakeup_cause_t wakeup_reason = esp_sleep_get_wakeup_cause(); + switch (wakeup_reason) { + case ESP_SLEEP_WAKEUP_EXT0: + DEBUG.println("Wakeup caused by external signal using RTC_IO"); + break; + case ESP_SLEEP_WAKEUP_EXT1: + DEBUG.println("Wakeup caused by external signal using RTC_CNTL"); + GPIO_reason = esp_sleep_get_ext1_wakeup_status(); + if (GPIO_reason > 0) { + pin_id = round(log(GPIO_reason) / log(2)); + DEBUG.printf("Button PIN that triggered the wake up: %d\n", pin_id); + return pin_id; + } + break; + case ESP_SLEEP_WAKEUP_TIMER: + DEBUG.println("Wakeup caused by timer"); + break; + default: + DEBUG.printf("Wakeup was not caused by deep sleep: %d\n", wakeup_reason); + break; + } + return 0; +} + +// hex(2**14+2**17) 14=BUTTON_1_PIN, 27=BUTTON_2_PIN +#define BUTTON_PIN_BITMASK 0x8004014 + +int8_t deep_sleep_timer_buttons_wakeup(uint64_t sleep_time) { + /* Sleep till update time. + * Align updates to 12am so that date change aligns + * with actual day change. + */ + if (sleep_time < 1) { + sleep_time = (86400 / (UPDATES_PER_DAY)) - + (((Paperdink_Date.mil_hour * 3600) + + (Paperdink_Date.min * 60) + (Paperdink_Date.sec)) % + (86400 / UPDATES_PER_DAY)); + sleep_time += 1; + } + DEBUG.println("Turning off everything"); + delay(1000); + // Turn off everything + Paperdink.disable_everything(); + + esp_sleep_enable_timer_wakeup(sleep_time * S_TO_uS_FACTOR); + esp_sleep_enable_ext1_wakeup((uint64_t)BUTTON_PIN_BITMASK, + ESP_EXT1_WAKEUP_ANY_HIGH); // 1 = High, 0 = Low + DEBUG.printf("Timer wakeup after %lld s or button", sleep_time); + // Go to sleep + esp_deep_sleep_start(); + + return 0; +} + +void display_weather() { + /* Fetch weather data*/ + + /* Display weather information */ + UIJData.font = &Gobold_Thin9pt7b; + UIJData.primary_color = GxEPD_BLACK; + + UIJData.display_minmax(Paperdink.epd, 170 + 23, 11); + UIJData.display_weather_icon(Paperdink.epd, 170 + 20, 45, 90); +} + +void display_datetime() { + /* Display background */ + Paperdink.epd.fillRect(0, 0, 170 + 5, 110, + Paperdink.color); // bottom colored rect + + /* Fetch date data */ + if (Paperdink_Date.fetch_data(TIME_ZONE) < 0) { + DEBUG.println("Unable to fetch Date Time data"); + } + + /* Set colors for the calendar */ + Paperdink_Date.font = &PAPERDINK_FONT_LRG; + Paperdink_Date.primary_color = GxEPD_WHITE; + Paperdink_Date.secondary_color = GxEPD_BLACK; + Paperdink_Date.display_day_date(Paperdink.epd, 0, 5, 170); + Paperdink_Date.font = &PAPERDINK_FONT_SML; + Paperdink_Date.primary_color = GxEPD_BLACK; + Paperdink_Date.secondary_color = GxEPD_WHITE; + Paperdink_Date.display_last_updated_time(Paperdink.epd, 400, 300, 100); +} + +void loop() {} diff --git a/src/date_time.cpp b/src/date_time.cpp new file mode 100644 index 0000000..337809a --- /dev/null +++ b/src/date_time.cpp @@ -0,0 +1,150 @@ +#include "date_time.h" + +// Time APIs +int8_t PaperdinkUIDateClass::fetch_data(const char* time_zone, + uint8_t week_start_offset) { + struct tm timeinfo; + time_t epoch; + + for (uint8_t i = 0; i < CONFIG_TIME_RETRY_COUNT; i++) { + configTime(0, 0, NTP_SERVER); + + Serial.printf("TZ: %s\r\n", time_zone); + setenv("TZ", time_zone, 1); + + if (!getLocalTime(&timeinfo)) { + Serial.println("Failed to obtain time. Retrying..."); + delay(1000); + if (i == CONFIG_TIME_RETRY_COUNT) { + return -1; + } + } else { + break; + } + } + + epoch = mktime(&timeinfo); + + sscanf(ctime(&epoch), "%s %s %hhd %hhd:%hhd:%hhd %d", wday, month, &mday, + &mil_hour, &min, &sec, &year); + + month_num = timeinfo.tm_mon + 1; + // Gives offset of first day of the month with respect to Monday + // https://www.tondering.dk/claus/cal/chrweek.php#calcdow + // 0=Sunday, 1=Monday ... 6=Saturday + uint16_t a = (14 - month_num) / 12; + uint16_t y = year - a; + uint16_t m = month_num + (12 * a) - 2; + + day_offset = (1 + y + (y / 4) - (y / 100) + (y / 400) + ((31 * m) / 12)) % 7; + // Change the offset based on user preference + day_offset = (day_offset + week_start_offset) % 7; + + // Convert to 12 hour + if (mil_hour > 12) { + hour = mil_hour - 12; + } else { + hour = mil_hour; + } + + switch (month_num) { + case 1: + strncpy(month, "Gen\0", 4); + break; + case 5: + strncpy(month, "Mag\0", 4); + break; + case 6: + strncpy(month, "Giu\0", 4); + break; + case 7: + strncpy(month, "Lug\0", 4); + break; + case 8: + strncpy(month, "Ago\0", 4); + break; + case 9: + month[2] = 't'; + break; + case 10: + month[1] = 't'; + break; + case 12: + month[1] = 'i'; + break; + } + switch (timeinfo.tm_wday) { + case 0: + strncpy(wday, "Dom\0", 4); + break; + case 1: + strncpy(wday, "Lun\0", 4); + break; + case 2: + strncpy(wday, "Mar\0", 4); + break; + case 3: + strncpy(wday, "Mer\0", 4); + break; + case 4: + strncpy(wday, "Gio\0", 4); + break; + case 5: + strncpy(wday, "Ven\0", 4); + break; + case 6: + strncpy(wday, "Sab\0", 4); + break; + } + + Serial.printf( + "Time is %d %d:%d:%d on %s on the %d/%d/%d . It is the month of %s. " + "day_offset: %d\r\n", + mil_hour, hour, min, sec, wday, mday, month_num, year, month, day_offset); + return 0; +} + +void PaperdinkUIDateClass::display_day_date(GxEPD2_GFX& display, + uint16_t x, + uint16_t y, + uint16_t w) { + int16_t xt, yt; + uint16_t wt, ht, prev_height = 0, prev_width = 0; + char date_str[7]; + + display.setFont(font); + display.setTextColor(primary_color); + display.setTextSize(1); + + // Display day + display.getTextBounds(wday, 0, 0, &xt, &yt, &wt, &ht); + display.setCursor(x + ((w - wt) / 2), y + ht); + display.println(wday); + prev_height += y + ht; + + // Display date + sprintf(date_str, "%d %s", mday, month); + display.getTextBounds(date_str, 0, 0, &xt, &yt, &wt, &ht); + display.setCursor(x + ((w - wt) / 2), prev_height + ht + 20); + display.println(date_str); +} + +void PaperdinkUIDateClass::display_last_updated_time(GxEPD2_GFX& display, + uint16_t x, + uint16_t y, + uint16_t w) { + int16_t xt, yt; + uint16_t wt, ht, prev_height = 0, prev_width = 0; + char time_str[] = "Updated at: XX:XX"; + + display.setFont(font); + display.setTextColor(primary_color); + display.setTextSize(1); + + sprintf(&time_str[12], "%02d:%02d", mil_hour, min); + display.getTextBounds(time_str, 0, 0, &xt, &yt, &wt, &ht); + display.setCursor(x - wt, y - ht); + display.print(time_str); +} + +PaperdinkUIDateClass Paperdink_Date; diff --git a/src/date_time.h b/src/date_time.h new file mode 100644 index 0000000..47bfc75 --- /dev/null +++ b/src/date_time.h @@ -0,0 +1,32 @@ +#ifndef _PAPERDINK_TIME_H +#define _PAPERDINK_TIME_H + +#include "ui_base.h" + +#define NTP_SERVER "pool.ntp.org" +#define CONFIG_TIME_RETRY_COUNT (5) + +class PaperdinkUIDateClass : public PaperdinkUIBaseClass +{ + public: + char wday[4]; + char month[4]; + uint8_t month_num; + uint8_t mday; + uint8_t mil_hour; + uint8_t hour; + uint8_t min; + uint8_t sec; + uint8_t day_offset; // 1st day of the month offset, Monday = 0 + int year; + // Offset to change start week. 0=>Sun, 1=>Sat, 2=>Fri ... 6=>Mon + uint8_t week_start_offset; + + int8_t fetch_data(const char *time_zone, uint8_t week_start_offset = 6); + void display_day_date(GxEPD2_GFX& display, uint16_t x, uint16_t y, uint16_t w); + void display_last_updated_time(GxEPD2_GFX& display, uint16_t x, uint16_t y, uint16_t w); +}; + +extern PaperdinkUIDateClass Paperdink_Date; + +#endif /* _PAPERDINK_TIME_H */ diff --git a/src/jdata.cpp b/src/jdata.cpp new file mode 100644 index 0000000..c5386b7 --- /dev/null +++ b/src/jdata.cpp @@ -0,0 +1,227 @@ + +#include "jdata.h" + +#include +#include +#include +#include + +#include +#include + +#include "config.h" + +// Let's encrypt Root certificate +static const char* cert = + "-----BEGIN CERTIFICATE-----\n" + "MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw\n" + "TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh\n" + "cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4\n" + "WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu\n" + "ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY\n" + "MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc\n" + "h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+\n" + "0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U\n" + "A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW\n" + "T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH\n" + "B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC\n" + "B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv\n" + "KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn\n" + "OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn\n" + "jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw\n" + "qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI\n" + "rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\n" + "HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq\n" + "hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL\n" + "ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ\n" + "3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK\n" + "NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5\n" + "ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur\n" + "TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC\n" + "jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc\n" + "oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq\n" + "4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA\n" + "mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d\n" + "emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=\n" + "-----END CERTIFICATE-----\n"; + +int8_t UIJDataClass::fetch_data() { + int httpCode, ret = 0; + + WiFiClientSecure* client = new WiFiClientSecure; + client->setCACert(cert); + + { + HTTPClient https; + https.begin(*client, MY_JSON_URL); + https.addHeader("Content-Type", "application/json", 0, 0); + + httpCode = https.GET(); + + if (httpCode == HTTP_CODE_OK) { // Check for the return code + // Parser updates weather_string directly + DEBUG.printf("[HTTP] GET SUCCESS\r\n"); + DynamicJsonDocument json(35 * 1024); + + // Deserialize the JSON document + // ReadLoggingStream can be used to debug the stream + // ReadLoggingStream loggingStream(https.getStream(), Serial); + // DeserializationError error = deserializeJson(json, loggingStream); + DeserializationError error = deserializeJson(json, https.getStream()); + // Test if parsing succeeds. + if (error) { + Serial.print(F("deserializeJson() failed: ")); + Serial.println(error.c_str()); + ret = -1; + } else { + // convert it to a JsonObject + JsonObject root = json.as(); + const char* min_max = root["weather"]["min_max"].as(); + if (strlen(min_max) < 5) { + // small alignement + snprintf(UIJData.min_max_temp, 10, " %s", min_max); + } else { + snprintf(UIJData.min_max_temp, 10, "%s", min_max); + } + snprintf(UIJData.weather_string, 100, "%s", + root["weather"]["txt"].as()); + JsonArray array = root["recurring"].as(); + for (int i = 0; + i < array.size() && UIJData.task_count < TASKS_MAX_ITEMS; i++) { + snprintf(UIJData.tasks[UIJData.task_count], TASKS_MAX_STR_LENGTH, + "- %s", array[i].as()); + UIJData.task_count = UIJData.task_count + 1; + } + array = root["calendar"].as(); + for (int i = 0; + i < array.size() && UIJData.task_count < TASKS_MAX_ITEMS; i++) { + snprintf(UIJData.tasks[UIJData.task_count], TASKS_MAX_STR_LENGTH, + "- %s", array[i].as()); + UIJData.task_count = UIJData.task_count + 1; + } + } + } else { + DEBUG.printf("[HTTP] Failed, error: %s\r\n", + https.errorToString(httpCode).c_str()); + ret = -1; + } + + https.end(); + } + + DEBUG.printf("[HTTP] COMPLETED \r\n"); + + delete client; + return ret; +} + +void UIJDataClass::display_minmax(GxEPD2_GFX& display, uint16_t x, uint16_t y) { + int16_t xt, yt; + uint16_t wt, ht, prev_width = x, prev_height = y; + + display.setFont(font); + display.setTextColor(primary_color); + + // Show min and max temperature + display.drawBitmap(prev_width, prev_height, thermometer_sml, + thermometer_sml_width, thermometer_sml_height, + primary_color); + prev_width += thermometer_sml_width; + + display.getTextBounds("77", 0, 0, &xt, &yt, &wt, &ht); + display.setCursor(prev_width + 10, prev_height + ht + 2); + display.print(UIJData.min_max_temp); +} + +void UIJDataClass::display_weather_icon(GxEPD2_GFX& display, + uint16_t x, + uint16_t y, + uint16_t w) { + const uint8_t* bitmap; + + if (!strcmp(weather_string, "Drizzle")) { + bitmap = drizzle_xlrg; + } else if (!strcmp(UIJData.weather_string, "Thunderstorm")) { + bitmap = lightning_xlrg; + } else if (!strcmp(UIJData.weather_string, "Rain")) { + bitmap = rain_xlrg; + } else if (!strcmp(UIJData.weather_string, "Snow")) { + bitmap = snow_xlrg; + } else if (!strcmp(UIJData.weather_string, "Clouds")) { + bitmap = cloud_xlrg; + } else { + bitmap = sun_xlrg; + } + + display.drawBitmap(x + (w - alert_xlrg_width) / 2, y, bitmap, + alert_xlrg_width, alert_xlrg_height, primary_color); +} + +void UIJDataClass::display_list(GxEPD2_GFX& display, + int16_t x, + int16_t y, + int16_t rows, + uint16_t max_line_width) { + int16_t xt, yt; + uint16_t wt, ht, char_ht, prev_height = y, prev_width = x; + + // display.setFont(&PAPERDINK_FONT_LRG); + // display.setTextColor(primary_color); + // display.setTextSize(1); + + // display.getTextBounds(F("Per oggi:"), 0, 0, &xt, &yt, &wt, &ht); + // display.setCursor(prev_width + 5, prev_height + ht); + // prev_height += ht; + // prev_width += 5; + // display.println(F("Per oggi:")); + + display.setFont(&PAPERDINK_FONT_MED); + display.setTextColor(primary_color); + display.setTextSize(1); + display.setTextWrap(false); + display.getTextBounds("W", 0, 0, &xt, &yt, &wt, &char_ht); + + // Display tasks + for (uint16_t i = 0; i < task_count && i < rows; i++) { + String task = tasks[i]; + uint16_t cnt = task.length(); + uint16_t tlength = cnt; + do { + task = task.substring(0, cnt); + display.getTextBounds(task.c_str(), 0, 0, &xt, &yt, &wt, &ht); + } while (wt > max_line_width && cnt-- > 0); + if (cnt >= tlength) { + // It fits + DEBUG.printf("Task on line (%d): %s\r\n", wt, task.c_str()); + display.setCursor(prev_width, prev_height); + display.printf("%s", task.c_str()); + prev_height += char_ht + 7; + } else { + // Two rows + DEBUG.printf("Task two line: %s\r\n", task.c_str()); + while (task[cnt] != ' ') { + cnt--; + } + // First row + task = task.substring(0, cnt); + DEBUG.printf("first line: %s\r\n", task.c_str()); + display.setCursor(prev_width, prev_height); + display.printf("%s", task.c_str()); + prev_height += char_ht + 7; + // Remaining + task = tasks[i]; + task = String(" " + task.substring(cnt)); + DEBUG.printf("remains : %s\r\n", task.c_str()); + cnt = task.length(); + do { + task = task.substring(0, cnt); + display.getTextBounds(task.c_str(), 0, 0, &xt, &yt, &wt, &ht); + } while (wt > max_line_width && cnt-- > 0); + display.setCursor(prev_width, prev_height); + display.printf("%s", task.c_str()); + prev_height += char_ht + 7; + } + } +} + +UIJDataClass UIJData; diff --git a/src/jdata.h b/src/jdata.h new file mode 100644 index 0000000..7c6edb9 --- /dev/null +++ b/src/jdata.h @@ -0,0 +1,25 @@ +#ifndef _JDATA_H_ +#define _JDATA_H_ + +#include "ui_base.h" + +#define TASKS_MAX_ITEMS 30 +#define TASKS_MAX_STR_LENGTH 50 + + +class UIJDataClass : public PaperdinkUIClass { + public: + char tasks[TASKS_MAX_ITEMS][TASKS_MAX_STR_LENGTH + 1]; + uint8_t task_count = 0; + char weather_string[100]; + char min_max_temp[10]; + + int8_t fetch_data(); + void display_minmax(GxEPD2_GFX& display, uint16_t x, uint16_t y); + void display_weather_icon(GxEPD2_GFX& display, uint16_t x, uint16_t y, uint16_t w); + void display_list(GxEPD2_GFX& display, int16_t x, int16_t y, int16_t rows = TASKS_MAX_ITEMS, uint16_t max_line_width = 400); +}; + +extern UIJDataClass UIJData; + +#endif /* _JDATA_H_ */ diff --git a/src/ui_base.h b/src/ui_base.h new file mode 100644 index 0000000..478b08a --- /dev/null +++ b/src/ui_base.h @@ -0,0 +1,26 @@ +#ifndef _UI_BASE__H_ +#define _UI_BASE__H_ + +#include +#include + +class PaperdinkUIBaseClass +{ + public: + const GFXfont* font = &PAPERDINK_FONT_SML; + int primary_color = GxEPD_BLACK; + int secondary_color = GxEPD_WHITE; + int tertiary_color = GxEPD_BLACK; +}; + +class PaperdinkUIClass : public PaperdinkUIBaseClass +{ + public: + + void display_grid(GxEPD2_GFX& display); + + void display_text_center(GxEPD2_GFX& display, int16_t x, int16_t y, const char* string, int16_t w = 0, int16_t h = 0, const GFXfont* font = &PAPERDINK_FONT_SML, uint8_t color = GxEPD_BLACK, uint8_t size = 1); +}; + +extern PaperdinkUIClass Paperdink_UI; +#endif /* _UI_BASE__H_ */ diff --git a/test/README b/test/README new file mode 100644 index 0000000..9b1e87b --- /dev/null +++ b/test/README @@ -0,0 +1,11 @@ + +This directory is intended for PlatformIO Test Runner and project tests. + +Unit Testing is a software testing method by which individual units of +source code, sets of one or more MCU program modules together with associated +control data, usage procedures, and operating procedures, are tested to +determine whether they are fit for use. Unit testing finds problems early +in the development cycle. + +More information about PlatformIO Unit Testing: +- https://docs.platformio.org/en/latest/advanced/unit-testing/index.html