diff --git a/components/driver_bt/bt_app_sink.c b/components/driver_bt/bt_app_sink.c index 746080b0..95efc6b7 100644 --- a/components/driver_bt/bt_app_sink.c +++ b/components/driver_bt/bt_app_sink.c @@ -28,6 +28,7 @@ #include "trace.h" #include "audio_controls.h" #include "sys/lock.h" +#include "display.h" // AVRCP used transaction label #define APP_RC_CT_TL_GET_CAPS (0) @@ -73,6 +74,8 @@ static bool s_volume_notify; static esp_avrc_playback_stat_t s_play_status = ESP_AVRC_PLAYBACK_STOPPED; static uint8_t s_remote_bda[6]; static int tl; +static bt_cmd_vcb_t cmd_handler_chain; +static char *s_artist, *s_album, *s_title; static void bt_volume_up(void) { // volume UP/DOWN buttons are not supported by iPhone/Android @@ -129,12 +132,59 @@ void bt_master(bool on) { /* disconnection */ void bt_disconnect(void) { + displayer_control(DISPLAYER_SHUTDOWN); esp_avrc_ct_send_passthrough_cmd(tl++ & 0x0f, ESP_AVRC_PT_CMD_STOP, ESP_AVRC_PT_CMD_STATE_PRESSED); esp_a2d_sink_disconnect(s_remote_bda); actrls_unset(); ESP_LOGI(BT_AV_TAG, "forced disconnection"); } +/* command handler */ +static bool cmd_handler(bt_sink_cmd_t cmd, ...) { + bool chain = true, res = true; + va_list args; + + va_start(args, cmd); + + switch(cmd) { + case BT_SINK_CONNECTED: + displayer_control(DISPLAYER_ACTIVATE, "BLUETOOTH"); + break; + case BT_SINK_PLAY: + displayer_control(DISPLAYER_TIMER_RESUME); + break; + case BT_SINK_PAUSE: + displayer_control(DISPLAYER_TIMER_PAUSE); + break; + case BT_SINK_STOP: + displayer_control(DISPLAYER_DISABLE); + break; + case BT_SINK_DISCONNECTED: + displayer_control(DISPLAYER_DISABLE); + break; + case BT_SINK_METADATA: { + char *artist = va_arg(args, char*), *album = va_arg(args, char*), *title = va_arg(args, char*); + displayer_metadata(artist, album, title); + chain = false; + break; + } + case BT_SINK_PROGRESS: { + uint32_t elapsed = va_arg(args, uint32_t), duration = va_arg(args, uint32_t); + displayer_timer(DISPLAYER_ELAPSED, elapsed, duration); + chain = false; + break; + } + default: + break; + } + + if (chain) res = cmd_handler_chain(cmd, args); + + va_end(args); + + return res; +} + /* callback for A2DP sink */ void bt_app_a2d_cb(esp_a2d_cb_event_t event, esp_a2d_cb_param_t *param) { @@ -267,7 +317,7 @@ static void bt_av_hdl_a2d_evt(uint16_t event, void *p_param) static void bt_av_new_track(void) { // request metadata - uint8_t attr_mask = ESP_AVRC_MD_ATTR_TITLE | ESP_AVRC_MD_ATTR_ARTIST | ESP_AVRC_MD_ATTR_ALBUM | ESP_AVRC_MD_ATTR_GENRE; + uint8_t attr_mask = ESP_AVRC_MD_ATTR_TITLE | ESP_AVRC_MD_ATTR_ARTIST | ESP_AVRC_MD_ATTR_ALBUM; esp_avrc_ct_send_metadata_cmd(APP_RC_CT_TL_GET_META_DATA, attr_mask); // register notification if peer support the event_id @@ -287,7 +337,7 @@ static void bt_av_playback_changed(void) static void bt_av_play_pos_changed(void) { - if (esp_avrc_rn_evt_bit_mask_operation(ESP_AVRC_BIT_MASK_OP_TEST, &s_avrc_peer_rn_cap, + if (esp_avrc_rn_evt_bit_mask_operation(ESP_AVRC_BIT_MASK_OP_TEST, &s_avrc_peer_rn_cap, ESP_AVRC_RN_PLAY_POS_CHANGED)) { esp_avrc_ct_send_register_notification_cmd(APP_RC_CT_TL_RN_PLAY_POS_CHANGE, ESP_AVRC_RN_PLAY_POS_CHANGED, 10); } @@ -298,6 +348,7 @@ void bt_av_notify_evt_handler(uint8_t event_id, esp_avrc_rn_param_t *event_param switch (event_id) { case ESP_AVRC_RN_TRACK_CHANGE: bt_av_new_track(); + (*bt_app_a2d_cmd_cb)(BT_SINK_PROGRESS, 0, 0); break; case ESP_AVRC_RN_PLAY_STATUS_CHANGE: ESP_LOGI(BT_AV_TAG, "Playback status changed: 0x%x", event_parameter->playback); @@ -335,7 +386,25 @@ static void bt_av_hdl_avrc_ct_evt(uint16_t event, void *p_param) break; } case ESP_AVRC_CT_METADATA_RSP_EVT: { + char **p = NULL; ESP_LOGI(BT_RC_CT_TAG, "AVRC metadata rsp: attribute id 0x%x, %s", rc->meta_rsp.attr_id, rc->meta_rsp.attr_text); + + if (rc->meta_rsp.attr_id == 0x01) p = &s_title; + else if (rc->meta_rsp.attr_id == 0x02) p = &s_artist; + else if (rc->meta_rsp.attr_id == 0x04) p = &s_album; + + // not very pretty, but this is bluetooth anyway + if (p) { + if (*p) free(*p); + *p = strdup((char*) rc->meta_rsp.attr_text); + + if (s_artist && s_album && s_title) { + (*bt_app_a2d_cmd_cb)(BT_SINK_METADATA, s_artist, s_album, s_title); + free(s_artist); free(s_album); free(s_title); + s_artist = s_album = s_title = NULL; + } + } + free(rc->meta_rsp.attr_text); break; } @@ -427,12 +496,13 @@ static void bt_av_hdl_avrc_tg_evt(uint16_t event, void *p_param) } } -void bt_sink_init(bt_cmd_cb_t cmd_cb, bt_data_cb_t data_cb) +void bt_sink_init(bt_cmd_vcb_t cmd_cb, bt_data_cb_t data_cb) { esp_err_t err; - bt_app_a2d_cmd_cb = cmd_cb; - bt_app_a2d_data_cb = data_cb; + bt_app_a2d_cmd_cb = cmd_handler; + cmd_handler_chain = cmd_cb; + bt_app_a2d_data_cb = data_cb; ESP_ERROR_CHECK(esp_bt_controller_mem_release(ESP_BT_MODE_BLE)); diff --git a/components/driver_bt/bt_app_sink.h b/components/driver_bt/bt_app_sink.h index 33e77195..69ac64e0 100644 --- a/components/driver_bt/bt_app_sink.h +++ b/components/driver_bt/bt_app_sink.h @@ -12,15 +12,15 @@ #include typedef enum { BT_SINK_CONNECTED, BT_SINK_DISCONNECTED, BT_SINK_PLAY, BT_SINK_STOP, BT_SINK_PAUSE, - BT_SINK_RATE, BT_SINK_VOLUME, } bt_sink_cmd_t; + BT_SINK_RATE, BT_SINK_VOLUME, BT_SINK_METADATA, BT_SINK_PROGRESS } bt_sink_cmd_t; -typedef bool (*bt_cmd_cb_t)(bt_sink_cmd_t cmd, ...); +typedef bool (*bt_cmd_vcb_t)(bt_sink_cmd_t cmd, va_list args); typedef void (*bt_data_cb_t)(const uint8_t *data, uint32_t len); /** * @brief init sink mode (need to be provided) */ -void bt_sink_init(bt_cmd_cb_t cmd_cb, bt_data_cb_t data_cb); +void bt_sink_init(bt_cmd_vcb_t cmd_cb, bt_data_cb_t data_cb); /** * @brief deinit sink mode (need to be provided) diff --git a/components/raop/raop_sink.c b/components/raop/raop_sink.c index a55d2640..3b9874dd 100644 --- a/components/raop/raop_sink.c +++ b/components/raop/raop_sink.c @@ -29,7 +29,7 @@ log_level util_loglevel; static log_level *loglevel = &raop_loglevel; static struct raop_ctx_s *raop; -raop_cmd_vcb_t cmd_handler_chain; +static raop_cmd_vcb_t cmd_handler_chain; static void raop_volume_up(void) { raop_cmd(raop, RAOP_VOLUME_UP, NULL); @@ -82,40 +82,43 @@ const static actrls_t controls = { /**************************************************************************************** * Command handler */ -bool cmd_handler(raop_event_t event, ...) { - bool res = true; +static bool cmd_handler(raop_event_t event, ...) { + bool chain = true, res = true; va_list args; va_start(args, event); switch(event) { case RAOP_SETUP: - displayer_control(DISPLAYER_ACTIVATE); - res = cmd_handler_chain(event, args); + displayer_control(DISPLAYER_ACTIVATE, "AIRPLAY"); break; + case RAOP_PLAY: + displayer_control(DISPLAYER_TIMER_RESUME); + break; + case RAOP_FLUSH: + displayer_control(DISPLAYER_TIMER_PAUSE); + break; case RAOP_STOP: - displayer_control(DISPLAYER_SUSPEND); - res = cmd_handler_chain(event, args); + displayer_control(DISPLAYER_DISABLE); break; case RAOP_METADATA: { char *artist = va_arg(args, char*), *album = va_arg(args, char*), *title = va_arg(args, char*); displayer_metadata(artist, album, title); + chain = false; break; } case RAOP_PROGRESS: { - u32_t elapsed = va_arg(args, u32_t); - u32_t duration = va_arg(args, u32_t); - char msg[32]; - - if (elapsed > 3600) snprintf(msg, 32, "AIRPLAY %2u:%02u:%02u", elapsed / 3600, elapsed / 60, elapsed % 60); - else snprintf(msg, 32, "AIRPLAY %2u:%02u", elapsed / 60, elapsed % 60); - display->line(1, DISPLAY_LEFT, 0, DISPLAY_CLEAR | DISPLAY_UPDATE, msg); + u32_t elapsed = va_arg(args, u32_t), duration = va_arg(args, u32_t); + displayer_timer(DISPLAYER_ELAPSED, elapsed, duration); + chain = false; break; } - default: - res = cmd_handler_chain(event, args); + default: + break; } + if (chain) res = cmd_handler_chain(event, args); + va_end(args); return res; diff --git a/components/services/display.c b/components/services/display.c index 95620986..2a7f1dd9 100644 --- a/components/services/display.c +++ b/components/services/display.c @@ -36,16 +36,22 @@ static const char *TAG = "display"; #define DISPLAYER_STACK_SIZE 2048 #define SCROLLABLE_SIZE 384 +#define HEADER_SIZE 64 +#define DEFAULT_SLEEP 3600 static EXT_RAM_ATTR struct { TaskHandle_t task; SemaphoreHandle_t mutex; int pause, speed, by; - enum { DISPLAYER_DISABLED, DISPLAYER_IDLE, DISPLAYER_ACTIVE } state; + enum { DISPLAYER_DISABLED, DISPLAYER_AUTO_DISABLE, DISPLAYER_ACTIVE } state; + char header[HEADER_SIZE + 1]; char string[SCROLLABLE_SIZE + 1]; int offset, boundary; char *metadata_config; + bool timer; + uint32_t elapsed, duration; + TickType_t tick; } displayer; static void displayer_task(void *args); @@ -86,8 +92,8 @@ void display_init(char *welcome) { displayer.task = xTaskCreateStatic( (TaskFunction_t) displayer_task, "displayer_thread", DISPLAYER_STACK_SIZE, NULL, ESP_TASK_PRIO_MIN + 1, xStack, &xTaskBuffer); // set lines for "fixed" text mode - display->set_font(1, DISPLAY_FONT_TINY, 0); - display->set_font(2, DISPLAY_FONT_LARGE, 0); + display->set_font(1, DISPLAY_FONT_LINE1, -3); + display->set_font(2, DISPLAY_FONT_LARGE, -3); displayer.metadata_config = config_alloc_get(NVS_TYPE_STR, "metadata_config"); } @@ -96,32 +102,62 @@ void display_init(char *welcome) { } /**************************************************************************************** - * + * This is not really thread-safe as displayer_task might be in the middle of line drawing + * but it won't crash (I think) and making it thread-safe would be complicated for a + * feature which is secondary (the LMS version of scrolling is thread-safe) */ static void displayer_task(void *args) { + int scroll_sleep = 0, timer_sleep; + while (1) { - int scroll_pause = displayer.pause; - // suspend ourselves if nothing to do if (displayer.state == DISPLAYER_DISABLED) { vTaskSuspend(NULL); display->clear(); + display->line(1, DISPLAY_LEFT, DISPLAY_UPDATE, displayer.header); + scroll_sleep = 0; } - // something to scroll (or we'll wake-up every pause ms ... no big deal) - if (*displayer.string && displayer.state == DISPLAYER_ACTIVE) { - display->line(2, DISPLAY_LEFT, -displayer.offset, DISPLAY_CLEAR | DISPLAY_UPDATE, displayer.string); + // we have been waken up before our requested time + if (scroll_sleep <= 10) { + // something to scroll (or we'll wake-up every pause ms ... no big deal) + if (*displayer.string && displayer.state == DISPLAYER_ACTIVE) { + display->line(2, -displayer.offset, DISPLAY_CLEAR | DISPLAY_UPDATE, displayer.string); - xSemaphoreTake(displayer.mutex, portMAX_DELAY); - scroll_pause = displayer.offset ? displayer.speed : displayer.pause; - displayer.offset = displayer.offset >= displayer.boundary ? 0 : (displayer.offset + min(displayer.by, displayer.boundary - displayer.offset)); - xSemaphoreGive(displayer.mutex); - } else if (displayer.state == DISPLAYER_IDLE) { - display->line(2, DISPLAY_LEFT, 0, DISPLAY_CLEAR | DISPLAY_UPDATE, displayer.string); - scroll_pause = displayer.pause; - } + xSemaphoreTake(displayer.mutex, portMAX_DELAY); + scroll_sleep = displayer.offset ? displayer.speed : displayer.pause; + displayer.offset = displayer.offset >= displayer.boundary ? 0 : (displayer.offset + min(displayer.by, displayer.boundary - displayer.offset)); + xSemaphoreGive(displayer.mutex); + } else if (displayer.state == DISPLAYER_AUTO_DISABLE) { + display->line(2, DISPLAY_LEFT, DISPLAY_CLEAR | DISPLAY_UPDATE, displayer.string); + xSemaphoreTake(displayer.mutex, portMAX_DELAY); + displayer.state = DISPLAYER_DISABLED; + xSemaphoreGive(displayer.mutex); + } else scroll_sleep = DEFAULT_SLEEP; + } - vTaskDelay(scroll_pause / portTICK_PERIOD_MS); + // handler timer + if (displayer.timer && displayer.state == DISPLAYER_ACTIVE) { + char counter[12]; + TickType_t tick = xTaskGetTickCount(); + uint32_t elapsed = (tick - displayer.tick) * portTICK_PERIOD_MS; + + if (elapsed >= 1000) { + displayer.tick = tick; + displayer.elapsed += elapsed / 1000; + if (displayer.elapsed < 3600) sprintf(counter, "%2u:%02u", displayer.elapsed / 60, displayer.elapsed % 60); + else sprintf(counter, "%2u:%2u:%02u", displayer.elapsed / 3600, (displayer.elapsed % 3600) / 60, displayer.elapsed % 60); + display->line(1, DISPLAY_RIGHT, (DISPLAY_CLEAR | DISPLAY_ONLY_EOL) | DISPLAY_UPDATE, counter); + timer_sleep = 1000; + } else timer_sleep = 1000 - elapsed; + } else timer_sleep = DEFAULT_SLEEP; + + // don't bother sleeping if we are disactivated + if (displayer.state == DISPLAYER_ACTIVE) { + int sleep = min(scroll_sleep, timer_sleep); + scroll_sleep -= sleep; + vTaskDelay( sleep / portTICK_PERIOD_MS); + } } } @@ -137,6 +173,8 @@ void displayer_metadata(char *artist, char *album, char *title) { return; } + xSemaphoreTake(displayer.mutex, portMAX_DELAY); + // format metadata parameters and write them directly if ((p = strcasestr(displayer.metadata_config, "format")) != NULL) { char token[16], *q; @@ -183,26 +221,21 @@ void displayer_metadata(char *artist, char *album, char *title) { // get optional scroll speed if ((p = strcasestr(displayer.metadata_config, "speed")) != NULL) sscanf(p, "%*[^=]=%d", &displayer.speed); - // just starts displayer directly - xSemaphoreTake(displayer.mutex, portMAX_DELAY); displayer.offset = 0; - displayer.state = DISPLAYER_ACTIVE; displayer.boundary = display->stretch(2, displayer.string, SCROLLABLE_SIZE); + xSemaphoreGive(displayer.mutex); } /**************************************************************************************** - * This is not really thread-safe as displayer_task might be in the middle of line drawing - * but it won't crash (I think) and making it thread-safe would be complicated for a - * feature which is secondary (the LMS version of scrolling is thread-safe) + * */ void displayer_scroll(char *string, int speed) { xSemaphoreTake(displayer.mutex, portMAX_DELAY); if (speed) displayer.speed = speed; displayer.offset = 0; - displayer.state = DISPLAYER_ACTIVE; strncpy(displayer.string, string, SCROLLABLE_SIZE); displayer.string[SCROLLABLE_SIZE] = '\0'; displayer.boundary = display->stretch(2, displayer.string, SCROLLABLE_SIZE); @@ -210,31 +243,63 @@ void displayer_scroll(char *string, int speed) { xSemaphoreGive(displayer.mutex); } +/**************************************************************************************** + * + */ +void displayer_timer(enum displayer_time_e mode, uint32_t elapsed, uint32_t duration) { + xSemaphoreTake(displayer.mutex, portMAX_DELAY); + + displayer.elapsed = elapsed; + displayer.duration = duration; + displayer.timer = true; + displayer.tick = xTaskGetTickCount(); + + xSemaphoreGive(displayer.mutex); +} + /**************************************************************************************** * See above comment */ -void displayer_control(enum displayer_cmd_e cmd) { +void displayer_control(enum displayer_cmd_e cmd, ...) { + va_list args; + + va_start(args, cmd); xSemaphoreTake(displayer.mutex, portMAX_DELAY); displayer.offset = 0; displayer.boundary = 0; switch(cmd) { + case DISPLAYER_ACTIVATE: { + char *header = va_arg(args, char*); + strncpy(displayer.header, header, HEADER_SIZE); + displayer.header[HEADER_SIZE] = '\0'; + displayer.state = DISPLAYER_ACTIVE; + displayer.timer = false; + displayer.string[0] = '\0'; + vTaskResume(displayer.task); + break; + } + case DISPLAYER_DISABLE: + displayer.state = DISPLAYER_AUTO_DISABLE; + break; case DISPLAYER_SHUTDOWN: displayer.state = DISPLAYER_DISABLED; vTaskSuspend(displayer.task); break; - case DISPLAYER_ACTIVATE: - displayer.state = DISPLAYER_ACTIVE; - displayer.string[0] = '\0'; - vTaskResume(displayer.task); + case DISPLAYER_TIMER_RESUME: + if (!displayer.timer) { + displayer.timer = true; + displayer.tick = xTaskGetTickCount(); + } break; - case DISPLAYER_SUSPEND: - displayer.state = DISPLAYER_IDLE; + case DISPLAYER_TIMER_PAUSE: + displayer.timer = false; break; default: break; } xSemaphoreGive(displayer.mutex); + va_end(args); } \ No newline at end of file diff --git a/components/services/display.h b/components/services/display.h index 1f491244..940ae9d4 100644 --- a/components/services/display.h +++ b/components/services/display.h @@ -18,14 +18,23 @@ #pragma once -#define DISPLAY_CLEAR 0x01 -#define DISPLAY_UPDATE 0x02 -#define SCROLL 0x04 // scroll value is in ... >0 is right, < 0 is left +#define DISPLAY_CLEAR 0x01 +#define DISPLAY_ONLY_EOL 0x02 +#define DISPLAY_UPDATE 0x04 +#define DISPLAY_MONOSPACE 0x08 -enum display_pos_e { DISPLAY_LEFT, DISPLAY_RIGHT, DISPLAY_TOP_LEFT, DISPLAY_MIDDLE_LEFT, DISPLAY_BOTTOM_LEFT, DISPLAY_CENTER }; -enum display_font_e { DISPLAY_FONT_DEFAULT, DISPLAY_FONT_SEGMENT, DISPLAY_FONT_TINY, - DISPLAY_FONT_SMALL, DISPLAY_FONT_MEDIUM, DISPLAY_FONT_LARGE, DISPLAY_FONT_HUGE }; -enum displayer_cmd_e { DISPLAYER_SHUTDOWN, DISPLAYER_ACTIVATE, DISPLAYER_SUSPEND } ; +// these ones are for 'x' parameter of line() function +#define DISPLAY_LEFT 0 +#define DISPLAY_RIGHT 0xff00 +#define DISPLAY_CENTER 0xff01 + +enum display_pos_e { DISPLAY_TOP_LEFT, DISPLAY_MIDDLE_LEFT, DISPLAY_BOTTOM_LEFT, DISPLAY_CENTERED }; +enum display_font_e { DISPLAY_FONT_DEFAULT, + DISPLAY_FONT_LINE1, DISPLAY_FONT_LINE2, DISPLAY_FONT_SEGMENT, + DISPLAY_FONT_TINY, DISPLAY_FONT_SMALL, DISPLAY_FONT_MEDIUM, DISPLAY_FONT_LARGE, DISPLAY_FONT_HUGE }; + +enum displayer_cmd_e { DISPLAYER_SHUTDOWN, DISPLAYER_ACTIVATE, DISPLAYER_DISABLE, DISPLAYER_TIMER_PAUSE, DISPLAYER_TIMER_RESUME }; +enum displayer_time_e { DISPLAYER_ELAPSED, DISPLAYER_REMAINING }; // don't change anything there w/o changing all drivers init code extern struct display_s { @@ -34,15 +43,16 @@ extern struct display_s { void (*clear)(void); bool (*set_font)(int num, enum display_font_e font, int space); void (*on)(bool state); - void (*brightness)(u8_t level); + void (*brightness)(uint8_t level); void (*text)(enum display_font_e font, enum display_pos_e pos, int attribute, char *msg, ...); - bool (*line)(int num, enum display_pos_e pos, int offset, int attribute, char *text); + bool (*line)(int num, int x, int attribute, char *text); int (*stretch)(int num, char *string, int max); void (*update)(void); - void (*draw)(int x1, int y1, int x2, int y2, bool by_column, u8_t *data); - void (*draw_cbr)(u8_t *data, int height); // height is the # of columns in data, as oppoosed to display height (0 = display height) + void (*draw)(int x1, int y1, int x2, int y2, bool by_column, uint8_t *data); + void (*draw_cbr)(uint8_t *data, int height); // height is the # of columns in data, as oppoosed to display height (0 = display height) } *display; void displayer_scroll(char *string, int speed); -void displayer_control(enum displayer_cmd_e cmd); -void displayer_metadata(char *artist, char *album, char *title); \ No newline at end of file +void displayer_control(enum displayer_cmd_e cmd, ...); +void displayer_metadata(char *artist, char *album, char *title); +void displayer_timer(enum displayer_time_e mode, uint32_t elapsed, uint32_t duration); \ No newline at end of file diff --git a/components/services/driver_SSD1306.c b/components/services/driver_SSD1306.c index 6739d5b3..a443a08d 100644 --- a/components/services/driver_SSD1306.c +++ b/components/services/driver_SSD1306.c @@ -34,12 +34,14 @@ static const char *TAG = "display"; +#define max(a,b) (((a) > (b)) ? (a) : (b)) + // handlers static bool init(char *config, char *welcome); static void clear(void); static bool set_font(int num, enum display_font_e font, int space); static void text(enum display_font_e font, enum display_pos_e pos, int attribute, char *text, ...); -static bool line(int num, enum display_pos_e pos, int offset, int attribute, char *text); +static bool line(int num, int x, int attribute, char *text); static int stretch(int num, char *string, int max); static void draw_cbr(u8_t *data, int height); static void draw(int x1, int y1, int x2, int y2, bool by_column, u8_t *data); @@ -106,7 +108,7 @@ static bool init(char *config, char *welcome) { SSD1306_SetFont( &Display, &Font_droid_sans_fallback_15x17 ); SSD1306_display.width = width; SSD1306_display.height = height; - text(DISPLAY_FONT_MEDIUM, DISPLAY_CENTER, DISPLAY_CLEAR | DISPLAY_UPDATE, welcome); + text(DISPLAY_FONT_MEDIUM, DISPLAY_CENTERED, DISPLAY_CLEAR | DISPLAY_UPDATE, welcome); ESP_LOGI(TAG, "Initialized I2C display %dx%d", width, height); res = true; } else { @@ -134,6 +136,9 @@ static bool set_font(int num, enum display_font_e font, int space) { if (--num >= MAX_LINES) return false; switch(font) { + case DISPLAY_FONT_LINE1: + lines[num].font = &Font_line1_11x13; + break; case DISPLAY_FONT_TINY: lines[num].font = &Font_droid_sans_fallback_11x13; break; @@ -144,7 +149,7 @@ static bool set_font(int num, enum display_font_e font, int space) { lines[num].font = &Font_liberation_mono_9x15; break; case DISPLAY_FONT_LARGE: - lines[num].font = &Font_Earthbound18x21; + lines[num].font = &Font_VDS_Compensated15x22; break; case DISPLAY_FONT_HUGE: lines[num].font = &Font_droid_sans_fallback_24x28; @@ -161,8 +166,9 @@ static bool set_font(int num, enum display_font_e font, int space) { // re-calculate lines absolute position lines[num].space = space; - for (int i = 1; i <= num; i++) lines[i].y = lines[i-1].y + lines[i-1].font->Height + lines[i-1].space; - + lines[0].y = lines[0].space; + for (int i = 1; i <= num; i++) lines[i].y = lines[i-1].y + lines[i-1].font->Height + lines[i].space; + ESP_LOGI(TAG, "adding line %u at %u (height:%u)", num + 1, lines[num].y, lines[num].font->Height); if (lines[num].y + lines[num].font->Height > Display.Height) { @@ -176,8 +182,8 @@ static bool set_font(int num, enum display_font_e font, int space) { /**************************************************************************************** * */ -static bool line(int num, enum display_pos_e pos, int x, int attribute, char *text) { - bool fits; +static bool line(int num, int x, int attribute, char *text) { + int width; // counting 1..n num--; @@ -189,23 +195,29 @@ static bool line(int num, enum display_pos_e pos, int x, int attribute, char *te } SSD1306_SetFont( &Display, lines[num].font ); + if (attribute & DISPLAY_MONOSPACE) SSD1306_FontForceMonospace( &Display, true ); - // erase line if requested + width = SSD1306_FontMeasureString( &Display, text ); + + // adjusting position, erase only EoL for rigth-justified + if (x == DISPLAY_RIGHT) x = Display.Width - width - 1; + else if (x == DISPLAY_CENTER) x = (Display.Width - width) / 2; + + // erase if requested if (attribute & DISPLAY_CLEAR) { - for (int x = 0 ; x < Display.Width; x++) + for (int c = (attribute & DISPLAY_ONLY_EOL) ? x : 0; c < Display.Width; c++) for (int y = lines[num].y; y < lines[num].y + lines[num].font->Height; y++) - SSD1306_DrawPixelFast( &Display, x, y, SSD_COLOR_BLACK ); + SSD1306_DrawPixelFast( &Display, c, y, SSD_COLOR_BLACK ); } - - fits = SSD1306_FontMeasureString( &Display, text ) + x <= Display.Width; + SSD1306_FontDrawString( &Display, x, lines[num].y, text, SSD_COLOR_WHITE ); - ESP_LOGI(TAG, "displaying %s line %u (x:%d, attr:%u)", text, num+1, x, attribute); + ESP_LOGD(TAG, "displaying %s line %u (x:%d, attr:%u)", text, num+1, x, attribute); // update whole display if requested if (attribute & DISPLAY_UPDATE) SSD1306_Update( &Display ); - return fits; + return width + x < Display.Width; } /**************************************************************************************** @@ -228,15 +240,13 @@ static int stretch(int num, char *string, int max) { // mark the end of the extended string boundary = SSD1306_FontMeasureString( &Display, string ); - + // add a full display width while (len < max && SSD1306_FontMeasureString( &Display, string ) - boundary < Display.Width) { string[len++] = string[extra++]; + string[len] = '\0'; } - - // string has space for max+1 - string[len] = '\0'; - + return boundary; } @@ -254,6 +264,9 @@ static void text(enum display_font_e font, enum display_pos_e pos, int attribute if (!text) return; switch(font) { + case DISPLAY_FONT_LINE1: + SSD1306_SetFont( &Display, &Font_line1_11x13 ); + break; case DISPLAY_FONT_TINY: SSD1306_SetFont( &Display, &Font_droid_sans_fallback_11x13 ); break; @@ -261,7 +274,7 @@ static void text(enum display_font_e font, enum display_pos_e pos, int attribute SSD1306_SetFont( &Display, &Font_droid_sans_mono_7x13 ); break; case DISPLAY_FONT_LARGE: - SSD1306_SetFont( &Display, &Font_Earthbound18x21 ); + SSD1306_SetFont( &Display, &Font_VDS_Compensated15x22 ); break; case DISPLAY_FONT_HUGE: SSD1306_SetFont( &Display, &Font_droid_sans_fallback_24x28 ); @@ -290,7 +303,7 @@ static void text(enum display_font_e font, enum display_pos_e pos, int attribute case DISPLAY_BOTTOM_LEFT: Anchor = TextAnchor_SouthWest; break; - case DISPLAY_CENTER: + case DISPLAY_CENTERED: Anchor = TextAnchor_Center; break; } diff --git a/components/services/tarablessd1306/fonts/font_VDS_Compensated15x22.c b/components/services/tarablessd1306/fonts/font_VDS_Compensated15x22.c new file mode 100644 index 00000000..594ad01c --- /dev/null +++ b/components/services/tarablessd1306/fonts/font_VDS_Compensated15x22.c @@ -0,0 +1,225 @@ +#include + +const uint8_t Arial_Narrow15x23[] = { + +//WARNING: This Font Require X-GLCD Lib. +// You can not use it with MikroE GLCD Lib. + +//Font Generated by MikroElektronika GLCD Font Creator 1.2.0.0 +//MikroElektronika 2011 +//http://www.mikroe.com + +//GLCD FontName : Arial_Narrow17x24 +//GLCD FontSize : 17 x 24 + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char + 0x04, 0x00, 0x00, 0x00, 0xE0, 0x1F, 0x0C, 0xE0, 0xFF, 0x0D, 0xE0, 0x1F, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ! + 0x07, 0xE0, 0x03, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char " + 0x09, 0x00, 0xC6, 0x00, 0x00, 0xF6, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xDF, 0x00, 0x00, 0xC6, 0x00, 0x00, 0xF6, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xDF, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char # + 0x09, 0x00, 0x00, 0x00, 0x80, 0x87, 0x01, 0xC0, 0x9F, 0x07, 0x60, 0x1C, 0x0E, 0xF0, 0xFF, 0x3F, 0x60, 0x38, 0x0C, 0xE0, 0x70, 0x0E, 0xC0, 0xF1, 0x07, 0x80, 0xE1, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char $ + 0x0F, 0x00, 0x00, 0x00, 0xC0, 0x0F, 0x00, 0xE0, 0x1F, 0x00, 0x60, 0x18, 0x00, 0xE0, 0x1F, 0x0C, 0xC0, 0x0F, 0x0F, 0x00, 0xC0, 0x03, 0x00, 0xF8, 0x00, 0x00, 0x3E, 0x00, 0x80, 0x07, 0x00, 0xE0, 0xE1, 0x07, 0x60, 0xF0, 0x0F, 0x00, 0x30, 0x0C, 0x00, 0xF0, 0x0F, 0x00, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char % + 0x0C, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x03, 0x00, 0xE0, 0x07, 0xC0, 0xF3, 0x0F, 0xE0, 0x3F, 0x0C, 0xE0, 0x3F, 0x0C, 0x60, 0x7C, 0x0C, 0xE0, 0xFF, 0x0F, 0xE0, 0xE7, 0x07, 0xC0, 0xC3, 0x07, 0x00, 0xE0, 0x0F, 0x00, 0x20, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char & + 0x03, 0xE0, 0x03, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ' + 0x06, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x03, 0x00, 0xFF, 0x1F, 0xC0, 0xFF, 0x7F, 0xE0, 0x03, 0xF8, 0x20, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ( + 0x05, 0x20, 0x00, 0x80, 0xE0, 0x03, 0xF8, 0xC0, 0xFF, 0x7F, 0x00, 0xFF, 0x1F, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ) + 0x06, 0x80, 0x00, 0x00, 0x80, 0x0D, 0x00, 0xE0, 0x07, 0x00, 0xE0, 0x07, 0x00, 0x80, 0x0D, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char * + 0x08, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x38, 0x00, 0x80, 0xFF, 0x03, 0x80, 0xFF, 0x03, 0x80, 0xFF, 0x03, 0x00, 0x38, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char + + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char , + 0x05, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char - + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char . + 0x05, 0x00, 0x00, 0x0F, 0x00, 0xFE, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char / + 0x09, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x01, 0xC0, 0xFF, 0x07, 0xE0, 0xFF, 0x0F, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0xE0, 0xFF, 0x0F, 0xC0, 0xFF, 0x07, 0x00, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 0 + 0x07, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x03, 0x00, 0x80, 0x01, 0x00, 0xC0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 1 + 0x09, 0x80, 0x01, 0x0C, 0xC0, 0x01, 0x0F, 0xE0, 0x81, 0x0F, 0x60, 0xE0, 0x0F, 0x60, 0xF0, 0x0D, 0x60, 0xF8, 0x0C, 0xE0, 0x7F, 0x0C, 0xC0, 0x3F, 0x0C, 0x80, 0x0F, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 2 + 0x09, 0x00, 0x00, 0x00, 0x80, 0x01, 0x03, 0xC0, 0x01, 0x07, 0xE0, 0x01, 0x0F, 0x60, 0x18, 0x0C, 0x60, 0x1C, 0x0C, 0xE0, 0xFF, 0x0F, 0xC0, 0xFF, 0x07, 0x80, 0xE7, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 3 + 0x0A, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0xF0, 0x01, 0x00, 0x9E, 0x01, 0x80, 0x87, 0x01, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x80, 0x01, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 4 + 0x09, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x03, 0xE0, 0x1F, 0x07, 0xE0, 0x0D, 0x0F, 0x60, 0x0C, 0x0C, 0x60, 0x1C, 0x0C, 0x60, 0xFC, 0x0F, 0x60, 0xF8, 0x07, 0x00, 0xF0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 5 + 0x09, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x01, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x0F, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0xE0, 0xF9, 0x0F, 0xC0, 0xF1, 0x07, 0x80, 0xE1, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 6 + 0x09, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x80, 0x0F, 0x60, 0xF8, 0x0F, 0x60, 0xFE, 0x0F, 0xE0, 0x7F, 0x00, 0xE0, 0x07, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 7 + 0x09, 0x00, 0x00, 0x00, 0x80, 0xC3, 0x03, 0xC0, 0xE7, 0x07, 0xE0, 0xFF, 0x0F, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0xE0, 0xFF, 0x0F, 0xC0, 0xE7, 0x07, 0x80, 0xC3, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 8 + 0x09, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x03, 0xC0, 0x1F, 0x07, 0xE0, 0x3F, 0x0F, 0x60, 0x30, 0x0C, 0x60, 0x30, 0x0C, 0xE0, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0x00, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 9 + 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char : + 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x6C, 0x00, 0x06, 0x7C, 0x00, 0x06, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ; + 0x09, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xDC, 0x01, 0x00, 0xDC, 0x01, 0x00, 0xDC, 0x01, 0x00, 0xDC, 0x01, 0x00, 0x8E, 0x03, 0x00, 0x8E, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char < + 0x09, 0x00, 0x00, 0x00, 0x00, 0xCE, 0x01, 0x00, 0xCE, 0x01, 0x00, 0xCE, 0x01, 0x00, 0xCE, 0x01, 0x00, 0xCE, 0x01, 0x00, 0xCE, 0x01, 0x00, 0xCE, 0x01, 0x00, 0xCE, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char = + 0x09, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x03, 0x00, 0x8E, 0x03, 0x00, 0xDC, 0x01, 0x00, 0xDC, 0x01, 0x00, 0xDC, 0x01, 0x00, 0xDC, 0x01, 0x00, 0xF8, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char > + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC0, 0x03, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0xE0, 0x0D, 0x60, 0xF0, 0x0D, 0x60, 0xF8, 0x0D, 0xE0, 0x7F, 0x00, 0xC0, 0x1F, 0x00, 0x80, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ? + 0x11, 0x00, 0xF8, 0x03, 0x00, 0xFE, 0x0F, 0x00, 0x0F, 0x3C, 0x80, 0x03, 0x30, 0xC0, 0xE0, 0x67, 0xC0, 0xF0, 0x6F, 0x60, 0x38, 0xCC, 0x60, 0x0C, 0xC4, 0x60, 0x0C, 0xCE, 0x60, 0x9C, 0xCF, 0x60, 0xF8, 0xCF, 0xE0, 0x7C, 0xCC, 0xC0, 0x0D, 0x66, 0x80, 0x83, 0x67, 0x00, 0xFF, 0x31, 0x00, 0xFC, 0x18, 0x00, 0x00, 0x08, // Code for char @ + 0x0B, 0x00, 0x00, 0x0C, 0x00, 0xC0, 0x0F, 0x00, 0xFE, 0x0F, 0xE0, 0xFF, 0x03, 0xE0, 0xDF, 0x00, 0xE0, 0xC0, 0x00, 0xE0, 0xDF, 0x00, 0xE0, 0xFF, 0x03, 0x00, 0xFE, 0x0F, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char A + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0xE0, 0xFF, 0x0F, 0xC0, 0xFF, 0x07, 0x80, 0xE3, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char B + 0x0C, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xE0, 0x01, 0x0F, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0xE0, 0x00, 0x0E, 0xC0, 0x83, 0x07, 0xC0, 0x83, 0x07, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char C + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0xE0, 0x00, 0x0E, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char D + 0x0A, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char E + 0x0A, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x60, 0x18, 0x00, 0x60, 0x18, 0x00, 0x60, 0x18, 0x00, 0x60, 0x18, 0x00, 0x60, 0x18, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char F + 0x0C, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xE0, 0x01, 0x07, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x60, 0x30, 0x0C, 0xE0, 0x30, 0x0E, 0xC0, 0xF3, 0x07, 0xC0, 0xF3, 0x07, 0x00, 0xF3, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char G + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char H + 0x04, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char I + 0x09, 0x00, 0x80, 0x03, 0x00, 0x80, 0x07, 0x00, 0x80, 0x0F, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x07, 0xE0, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char J + 0x0C, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x38, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x3F, 0x00, 0x80, 0xFF, 0x00, 0xC0, 0xFB, 0x03, 0xE0, 0xC1, 0x0F, 0x60, 0x00, 0x0F, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char K + 0x0A, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char L + 0x0E, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0x03, 0x00, 0x00, 0x7F, 0x00, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0x7F, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char M + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xC0, 0x07, 0x00, 0x00, 0x3E, 0x00, 0x00, 0xF8, 0x01, 0x00, 0xC0, 0x07, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char N + 0x0C, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xE0, 0x01, 0x0F, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0xE0, 0x01, 0x0F, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char O + 0x0A, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x60, 0x30, 0x00, 0x60, 0x30, 0x00, 0x60, 0x30, 0x00, 0xE0, 0x3F, 0x00, 0xC0, 0x1F, 0x00, 0x80, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char P + 0x0D, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xE0, 0x01, 0x0F, 0x60, 0x00, 0x0C, 0x60, 0x80, 0x0D, 0x60, 0x80, 0x0F, 0xE0, 0x01, 0x0F, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x0F, 0x00, 0xFE, 0x18, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Q + 0x0C, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x60, 0x30, 0x00, 0x60, 0x30, 0x00, 0x60, 0x70, 0x00, 0x60, 0xF0, 0x01, 0xE0, 0xFF, 0x07, 0xC0, 0x9F, 0x0F, 0x80, 0x0F, 0x0E, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char R + 0x0A, 0x80, 0x87, 0x01, 0xC0, 0x9F, 0x07, 0xE0, 0x9F, 0x07, 0xE0, 0x3C, 0x0E, 0x60, 0x38, 0x0C, 0x60, 0x38, 0x0C, 0xE0, 0x78, 0x0E, 0xC0, 0xF3, 0x0F, 0xC0, 0xF3, 0x07, 0x00, 0xE3, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char S + 0x0B, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char T + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x03, 0xE0, 0xFF, 0x07, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0E, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x07, 0xE0, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char U + 0x0B, 0x60, 0x00, 0x00, 0xE0, 0x0F, 0x00, 0xE0, 0xFF, 0x00, 0x80, 0xFF, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0xF0, 0x0F, 0x80, 0xFF, 0x0F, 0xE0, 0xFF, 0x00, 0xE0, 0x0F, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char V + 0x10, 0xE0, 0x01, 0x00, 0xE0, 0xFF, 0x00, 0xE0, 0xFF, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0xF8, 0x0F, 0x80, 0xFF, 0x01, 0xE0, 0x07, 0x00, 0xE0, 0x07, 0x00, 0xC0, 0xFF, 0x01, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0xFE, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, // Code for char W + 0x0B, 0x20, 0x00, 0x08, 0xE0, 0x00, 0x0E, 0xE0, 0x83, 0x0F, 0xC0, 0xEF, 0x07, 0x00, 0xFF, 0x01, 0x00, 0x7C, 0x00, 0x00, 0xFF, 0x01, 0xC0, 0xEF, 0x07, 0xE0, 0x83, 0x0F, 0xE0, 0x00, 0x0E, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char X + 0x0B, 0x20, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x03, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0xFF, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0xFF, 0x0F, 0xC0, 0x0F, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Y + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x60, 0x80, 0x0F, 0x60, 0xE0, 0x0F, 0x60, 0xF8, 0x0D, 0x60, 0x7C, 0x0C, 0x60, 0x1F, 0x0C, 0xE0, 0x07, 0x0C, 0xE0, 0x03, 0x0C, 0xE0, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Z + 0x06, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0x60, 0x00, 0xC0, 0x60, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char [ + 0x05, 0xE0, 0x01, 0x00, 0xE0, 0xFF, 0x00, 0xE0, 0xFF, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char BackSlash + 0x05, 0x60, 0x00, 0xC0, 0x60, 0x00, 0xC0, 0xE0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ] + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x1F, 0x00, 0xE0, 0x1F, 0x00, 0xE0, 0x07, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x07, 0x00, 0xE0, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ^ + 0x0A, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char _ + 0x04, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ` + 0x09, 0x00, 0x00, 0x00, 0x00, 0x88, 0x07, 0x00, 0xCC, 0x0F, 0x00, 0xCE, 0x0F, 0x00, 0xC6, 0x0C, 0x00, 0x66, 0x04, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char a + 0x0A, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x0C, 0x06, 0x00, 0x06, 0x0C, 0x00, 0x0E, 0x0E, 0x00, 0xFE, 0x0F, 0x00, 0xFC, 0x07, 0x00, 0xF8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char b + 0x09, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xFC, 0x07, 0x00, 0xFE, 0x0F, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x1E, 0x0F, 0x00, 0x1C, 0x07, 0x00, 0x18, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char c + 0x0A, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x03, 0x00, 0xFC, 0x07, 0x00, 0xFE, 0x0F, 0x00, 0x0E, 0x0E, 0x00, 0x06, 0x0C, 0x00, 0x0C, 0x06, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char d + 0x09, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xFC, 0x07, 0x00, 0xFE, 0x0F, 0x00, 0x66, 0x0C, 0x00, 0x66, 0x0C, 0x00, 0x7E, 0x0F, 0x00, 0x7C, 0x07, 0x00, 0x70, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char e + 0x07, 0x00, 0x06, 0x00, 0xC0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char f + 0x0A, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x63, 0x00, 0xFC, 0xE7, 0x00, 0xFE, 0xEF, 0x00, 0x0E, 0xCE, 0x00, 0x06, 0xCC, 0x00, 0x0C, 0xC6, 0x00, 0xFE, 0xFF, 0x00, 0xFE, 0x7F, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char g + 0x0A, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x0C, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char h + 0x04, 0x00, 0x00, 0x00, 0xE0, 0xFE, 0x0F, 0xE0, 0xFE, 0x0F, 0xE0, 0xFE, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char i + 0x04, 0x00, 0x00, 0xC0, 0xE0, 0xFE, 0xFF, 0xE0, 0xFE, 0xFF, 0xE0, 0xFE, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char j + 0x09, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0xF0, 0x00, 0x00, 0xFC, 0x01, 0x00, 0xFE, 0x0F, 0x00, 0xCE, 0x0F, 0x00, 0x02, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char k + 0x04, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char l + 0x0E, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x06, 0x00, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0x04, 0x00, 0x00, 0x06, 0x00, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char m + 0x0A, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0x0C, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char n + 0x0A, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xFC, 0x07, 0x00, 0xFE, 0x0F, 0x00, 0x0E, 0x0E, 0x00, 0x06, 0x0C, 0x00, 0x0E, 0x0E, 0x00, 0xFC, 0x07, 0x00, 0xFC, 0x07, 0x00, 0xF0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char o + 0x0A, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0x00, 0xFE, 0xFF, 0x00, 0xFE, 0xFF, 0x00, 0x0C, 0x06, 0x00, 0x06, 0x0C, 0x00, 0x0E, 0x0E, 0x00, 0xFE, 0x0F, 0x00, 0xFC, 0x07, 0x00, 0xF8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char p + 0x0A, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x03, 0x00, 0xFC, 0x07, 0x00, 0xFE, 0x0F, 0x00, 0x0E, 0x0E, 0x00, 0x06, 0x0C, 0x00, 0x0C, 0x06, 0x00, 0xFE, 0xFF, 0x00, 0xFE, 0xFF, 0x00, 0xFE, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char q + 0x07, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0x0C, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char r + 0x09, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x02, 0x00, 0x7C, 0x06, 0x00, 0x7E, 0x0E, 0x00, 0xE6, 0x0C, 0x00, 0xE6, 0x0C, 0x00, 0xCE, 0x0F, 0x00, 0xCC, 0x07, 0x00, 0x8C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char s + 0x06, 0x00, 0x06, 0x00, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char t + 0x0A, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x03, 0x00, 0xFE, 0x07, 0x00, 0xFE, 0x0F, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x06, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char u + 0x09, 0x00, 0x06, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x0F, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x0E, 0x00, 0xF8, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char v + 0x0D, 0x00, 0x06, 0x00, 0x00, 0x7E, 0x00, 0x00, 0xFE, 0x0F, 0x00, 0xF8, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0x1E, 0x00, 0x00, 0xFE, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0xF8, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0x7E, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char w + 0x0A, 0x00, 0x02, 0x08, 0x00, 0x06, 0x0C, 0x00, 0x1E, 0x0F, 0x00, 0xFC, 0x07, 0x00, 0xF0, 0x01, 0x00, 0xF0, 0x01, 0x00, 0xFC, 0x07, 0x00, 0x1E, 0x0F, 0x00, 0x06, 0x0C, 0x00, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char x + 0x0A, 0x00, 0x06, 0x00, 0x00, 0x3E, 0xC0, 0x00, 0xFE, 0xC1, 0x00, 0xF8, 0xEF, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x3F, 0x00, 0xF8, 0x0F, 0x00, 0xFE, 0x01, 0x00, 0x3E, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char y + 0x09, 0x00, 0x06, 0x0C, 0x00, 0x06, 0x0F, 0x00, 0x86, 0x0F, 0x00, 0xC6, 0x0F, 0x00, 0xE6, 0x0C, 0x00, 0x7E, 0x0C, 0x00, 0x3E, 0x0C, 0x00, 0x1E, 0x0C, 0x00, 0x06, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char z + 0x07, 0x00, 0x60, 0x00, 0x00, 0xF0, 0x00, 0x80, 0xFF, 0x3F, 0xC0, 0xFF, 0x7F, 0xE0, 0x0F, 0xFF, 0x60, 0x00, 0xC0, 0x60, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char { + 0x04, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char | + 0x07, 0x60, 0x00, 0xC0, 0x60, 0x00, 0xC0, 0xE0, 0x0F, 0xFF, 0xE0, 0xFF, 0x7F, 0x80, 0xFF, 0x7F, 0x00, 0xF0, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char } + 0x09, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ~ + 0x07, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0x10, 0x00, 0x08, 0x10, 0x00, 0x08, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char  + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char € + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char  + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ‚ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ƒ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char „ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char … + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char † + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ‡ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ˆ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ‰ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Š + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ‹ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Œ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char  + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ž + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char  + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char  + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ‘ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ’ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char “ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ” + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char • + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char – + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char — + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ˜ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ™ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char š + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char › + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char œ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char  + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ž + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ÿ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char   + 0x04, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0x00, 0xF6, 0xFF, 0x00, 0x06, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¡ + 0x09, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x01, 0x00, 0xFC, 0x07, 0x00, 0xFE, 0xEF, 0x00, 0x86, 0x1F, 0x00, 0x7F, 0x0C, 0xE0, 0x1E, 0x0F, 0x00, 0x1C, 0x07, 0x00, 0x10, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¢ + 0x0A, 0x00, 0x18, 0x06, 0x80, 0x1F, 0x0F, 0xC0, 0xFF, 0x07, 0xE0, 0xFF, 0x07, 0x60, 0x78, 0x06, 0x60, 0x18, 0x0E, 0xE0, 0x01, 0x0C, 0xC0, 0x01, 0x0C, 0x80, 0x01, 0x0E, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char £ + 0x0A, 0x00, 0x01, 0x01, 0x80, 0xBB, 0x03, 0x80, 0xFF, 0x03, 0x00, 0xFF, 0x01, 0x00, 0x83, 0x01, 0x00, 0x83, 0x01, 0x00, 0xFF, 0x01, 0x80, 0xFF, 0x03, 0x80, 0xBB, 0x03, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¤ + 0x0B, 0x20, 0xB0, 0x01, 0xE0, 0xB0, 0x01, 0xE0, 0xB3, 0x01, 0xC0, 0xBF, 0x01, 0x00, 0xFF, 0x0F, 0x00, 0xF8, 0x0F, 0x00, 0xFF, 0x0F, 0xC0, 0xBF, 0x01, 0xE0, 0xB3, 0x01, 0xE0, 0xB0, 0x01, 0x20, 0xB0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¥ + 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x1F, 0xFF, 0xE0, 0x1F, 0xFF, 0xE0, 0x1F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¦ + 0x09, 0x00, 0x70, 0x00, 0xC0, 0xFB, 0x30, 0xE0, 0xFF, 0x71, 0xE0, 0x8F, 0xF3, 0x60, 0x1C, 0xC7, 0xE0, 0x39, 0xFE, 0xC0, 0xF1, 0xFF, 0x80, 0xE1, 0x7B, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char § + 0x06, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¨ + 0x0D, 0x00, 0x7C, 0x00, 0x00, 0x83, 0x01, 0x80, 0x00, 0x02, 0x40, 0x7C, 0x04, 0x20, 0x82, 0x08, 0x20, 0x01, 0x09, 0x20, 0x01, 0x09, 0x20, 0x01, 0x09, 0x20, 0x81, 0x09, 0x40, 0xC2, 0x04, 0x80, 0x00, 0x02, 0x00, 0x83, 0x01, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char © + 0x05, 0x40, 0x06, 0x00, 0x60, 0x0F, 0x00, 0x60, 0x0D, 0x00, 0xE0, 0x0F, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ª + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xF8, 0x03, 0x00, 0x1C, 0x07, 0x00, 0x44, 0x04, 0x00, 0xF0, 0x01, 0x00, 0xF8, 0x03, 0x00, 0x1C, 0x07, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char « + 0x09, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x0E, 0x00, 0x00, 0xFE, 0x01, 0x00, 0xFE, 0x01, 0x00, 0xFE, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¬ + 0x05, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ­ + 0x0D, 0x00, 0x7C, 0x00, 0x00, 0x83, 0x01, 0x80, 0x00, 0x02, 0x40, 0xFF, 0x05, 0x20, 0x11, 0x08, 0x20, 0x11, 0x08, 0x20, 0x31, 0x08, 0x20, 0xF1, 0x08, 0x20, 0xD1, 0x09, 0x40, 0x0E, 0x05, 0x80, 0x00, 0x02, 0x00, 0x83, 0x01, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ® + 0x0B, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¯ + 0x07, 0x80, 0x03, 0x00, 0xC0, 0x07, 0x00, 0x60, 0x0C, 0x00, 0x60, 0x0C, 0x00, 0x60, 0x0C, 0x00, 0xC0, 0x07, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ° + 0x0B, 0x00, 0x0E, 0x0E, 0x00, 0x0E, 0x0E, 0x00, 0x0E, 0x0E, 0x00, 0x0E, 0x0E, 0xE0, 0xFF, 0x0E, 0xE0, 0xFF, 0x0E, 0xE0, 0xFF, 0x0E, 0x00, 0x0E, 0x0E, 0x00, 0x0E, 0x0E, 0x00, 0x0E, 0x0E, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ± + 0x05, 0x40, 0x18, 0x00, 0x60, 0x1C, 0x00, 0x20, 0x1F, 0x00, 0xE0, 0x17, 0x00, 0xC0, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ² + 0x05, 0x40, 0x0C, 0x00, 0x60, 0x1C, 0x00, 0x20, 0x11, 0x00, 0xE0, 0x1F, 0x00, 0xC0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ³ + 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ´ + 0x0B, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0x00, 0xFE, 0xFF, 0x00, 0xFE, 0xFF, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x06, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char µ + 0x0A, 0x80, 0x07, 0x00, 0xC0, 0x0F, 0x00, 0xE0, 0x1F, 0x00, 0xE0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0x60, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¶ + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char · + 0x05, 0x00, 0x00, 0x80, 0x00, 0x00, 0x90, 0x00, 0x00, 0x90, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¸ + 0x04, 0xC0, 0x00, 0x00, 0x40, 0x00, 0x00, 0xE0, 0x1F, 0x00, 0xE0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¹ + 0x06, 0xC0, 0x07, 0x00, 0xE0, 0x0F, 0x00, 0x60, 0x0C, 0x00, 0x60, 0x0C, 0x00, 0xE0, 0x0F, 0x00, 0xC0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char º + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x1C, 0x07, 0x00, 0xF8, 0x03, 0x00, 0xF0, 0x01, 0x00, 0x44, 0x04, 0x00, 0x1C, 0x07, 0x00, 0xF8, 0x03, 0x00, 0xF0, 0x01, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char » + 0x0F, 0xC0, 0x00, 0x00, 0x40, 0x00, 0x00, 0xE0, 0x1F, 0x00, 0xE0, 0x1F, 0x08, 0x00, 0x00, 0x06, 0x00, 0x80, 0x01, 0x00, 0x60, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x03, 0x06, 0xC0, 0x80, 0x07, 0x20, 0xE0, 0x04, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¼ + 0x0E, 0xC0, 0x00, 0x00, 0x40, 0x00, 0x00, 0xE0, 0x1F, 0x00, 0xE0, 0x1F, 0x08, 0x00, 0x00, 0x06, 0x00, 0x80, 0x01, 0x00, 0x60, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x23, 0x0C, 0xC0, 0x30, 0x0E, 0x20, 0x90, 0x0F, 0x00, 0xF0, 0x0B, 0x00, 0xE0, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ½ + 0x0F, 0x40, 0x0C, 0x00, 0x60, 0x1C, 0x00, 0x20, 0x11, 0x00, 0xE0, 0x1F, 0x08, 0xC0, 0x0E, 0x06, 0x00, 0x80, 0x01, 0x00, 0x60, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x03, 0x06, 0xC0, 0x80, 0x07, 0x20, 0xE0, 0x04, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¾ + 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x7F, 0x00, 0xC0, 0xFF, 0x00, 0xF6, 0xE3, 0x00, 0xF6, 0xC1, 0x00, 0x76, 0xE0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x78, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¿ + 0x0B, 0x00, 0x00, 0x0C, 0x00, 0xC0, 0x0F, 0x00, 0xFE, 0x0F, 0xE0, 0xFF, 0x03, 0xE0, 0xDF, 0x00, 0xE4, 0xC0, 0x00, 0xEC, 0xDF, 0x00, 0xE8, 0xFF, 0x03, 0x00, 0xFE, 0x0F, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char À + 0x0B, 0x00, 0x00, 0x0C, 0x00, 0xC0, 0x0F, 0x00, 0xFE, 0x0F, 0xE0, 0xFF, 0x03, 0xE8, 0xDF, 0x00, 0xEC, 0xC0, 0x00, 0xE4, 0xDF, 0x00, 0xE0, 0xFF, 0x03, 0x00, 0xFE, 0x0F, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Á + 0x0B, 0x00, 0x00, 0x0C, 0x00, 0xC0, 0x0F, 0x08, 0xFE, 0x0F, 0xEC, 0xFF, 0x03, 0xEE, 0xDF, 0x00, 0xE6, 0xC0, 0x00, 0xEE, 0xDF, 0x00, 0xEC, 0xFF, 0x03, 0x08, 0xFE, 0x0F, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char  + 0x0B, 0x00, 0x00, 0x0C, 0x00, 0xC0, 0x0F, 0x0C, 0xFE, 0x0F, 0xE6, 0xFF, 0x03, 0xE6, 0xDF, 0x00, 0xEC, 0xC0, 0x00, 0xEC, 0xDF, 0x00, 0xE6, 0xFF, 0x03, 0x00, 0xFE, 0x0F, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char à + 0x0B, 0x00, 0x00, 0x0C, 0x00, 0xC0, 0x0F, 0x0C, 0xFE, 0x0F, 0xEC, 0xFF, 0x03, 0xE0, 0xDF, 0x00, 0xE0, 0xC0, 0x00, 0xEC, 0xDF, 0x00, 0xEC, 0xFF, 0x03, 0x00, 0xFE, 0x0F, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ä + 0x0B, 0x00, 0x00, 0x0C, 0x00, 0xC0, 0x0F, 0x00, 0xFE, 0x0F, 0xE0, 0xFF, 0x03, 0xE6, 0xDF, 0x00, 0xE9, 0xC0, 0x00, 0xE6, 0xDF, 0x00, 0xE0, 0xFF, 0x03, 0x00, 0xFE, 0x0F, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Å + 0x10, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0F, 0x00, 0xE0, 0x0F, 0x00, 0xF8, 0x07, 0x00, 0xFF, 0x00, 0xC0, 0x7F, 0x00, 0xE0, 0x67, 0x00, 0xE0, 0x60, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x00, 0x00, 0x00, // Code for char Æ + 0x0C, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x87, 0xE0, 0x01, 0x9F, 0x60, 0x00, 0x9C, 0x60, 0x00, 0xFC, 0x60, 0x00, 0x6C, 0xE0, 0x00, 0x0E, 0xC0, 0x83, 0x07, 0xC0, 0x83, 0x07, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ç + 0x0A, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x60, 0x18, 0x0C, 0x64, 0x18, 0x0C, 0x6C, 0x18, 0x0C, 0x68, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char È + 0x0A, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x68, 0x18, 0x0C, 0x6C, 0x18, 0x0C, 0x64, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char É + 0x0A, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE8, 0xFF, 0x0F, 0xEC, 0xFF, 0x0F, 0x6E, 0x18, 0x0C, 0x66, 0x18, 0x0C, 0x6E, 0x18, 0x0C, 0x6C, 0x18, 0x0C, 0x68, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ê + 0x0A, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xEC, 0xFF, 0x0F, 0xEC, 0xFF, 0x0F, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x6C, 0x18, 0x0C, 0x6C, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ë + 0x04, 0x00, 0x00, 0x00, 0xE4, 0xFF, 0x0F, 0xEC, 0xFF, 0x0F, 0xE8, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ì + 0x04, 0x00, 0x00, 0x00, 0xE8, 0xFF, 0x0F, 0xEC, 0xFF, 0x0F, 0xE4, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Í + 0x06, 0x0C, 0x00, 0x00, 0xEE, 0xFF, 0x0F, 0xE6, 0xFF, 0x0F, 0xEE, 0xFF, 0x0F, 0x0C, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Î + 0x05, 0x0C, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xEC, 0xFF, 0x0F, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ï + 0x0B, 0x00, 0x18, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x60, 0x18, 0x0C, 0x60, 0x18, 0x0C, 0x60, 0x00, 0x0C, 0xE0, 0x00, 0x0E, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ð + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xEC, 0xFF, 0x0F, 0xC6, 0x07, 0x00, 0x06, 0x3E, 0x00, 0x0C, 0xF8, 0x01, 0x0C, 0xC0, 0x07, 0xE6, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ñ + 0x0C, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xE0, 0x01, 0x0F, 0x60, 0x00, 0x0C, 0x64, 0x00, 0x0C, 0x6C, 0x00, 0x0C, 0xE8, 0x01, 0x0F, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ò + 0x0C, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x80, 0xFF, 0x03, 0xC0, 0xFF, 0x07, 0xE0, 0x01, 0x0F, 0x68, 0x00, 0x0C, 0x6C, 0x00, 0x0C, 0x64, 0x00, 0x0C, 0xE0, 0x01, 0x0F, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ó + 0x0C, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x80, 0xFF, 0x03, 0xC8, 0xFF, 0x07, 0xEC, 0x01, 0x0F, 0x6E, 0x00, 0x0C, 0x66, 0x00, 0x0C, 0x6E, 0x00, 0x0C, 0xEC, 0x01, 0x0F, 0xC8, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ô + 0x0C, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x80, 0xFF, 0x03, 0xCC, 0xFF, 0x07, 0xE6, 0x01, 0x0F, 0x66, 0x00, 0x0C, 0x6C, 0x00, 0x0C, 0x6C, 0x00, 0x0C, 0xE6, 0x01, 0x0F, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Õ + 0x0C, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x80, 0xFF, 0x03, 0xCC, 0xFF, 0x07, 0xEC, 0x01, 0x0F, 0x60, 0x00, 0x0C, 0x60, 0x00, 0x0C, 0x6C, 0x00, 0x0C, 0xEC, 0x01, 0x0F, 0xC0, 0xFF, 0x07, 0x80, 0xFF, 0x03, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ö + 0x09, 0x00, 0x00, 0x00, 0x00, 0x86, 0x01, 0x00, 0xCF, 0x03, 0x00, 0xFE, 0x01, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x00, 0xFE, 0x01, 0x00, 0xCF, 0x03, 0x00, 0x86, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char × + 0x0C, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x0C, 0x80, 0xFF, 0x07, 0xC0, 0xFF, 0x07, 0xE0, 0xC1, 0x06, 0x60, 0x60, 0x0C, 0x60, 0x38, 0x0C, 0x60, 0x0C, 0x0C, 0xE0, 0x07, 0x0F, 0xC0, 0xFF, 0x07, 0xC0, 0xFF, 0x03, 0x60, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ø + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x03, 0xE0, 0xFF, 0x07, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x0E, 0x04, 0x00, 0x0C, 0x0C, 0x00, 0x0C, 0x08, 0x00, 0x0E, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x07, 0xE0, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ù + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x03, 0xE0, 0xFF, 0x07, 0xE0, 0xFF, 0x0F, 0x08, 0x00, 0x0E, 0x0C, 0x00, 0x0C, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x0E, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x07, 0xE0, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ú + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x03, 0xE8, 0xFF, 0x07, 0xEC, 0xFF, 0x0F, 0x0E, 0x00, 0x0E, 0x06, 0x00, 0x0C, 0x0E, 0x00, 0x0C, 0x0C, 0x00, 0x0E, 0xE8, 0xFF, 0x0F, 0xE0, 0xFF, 0x07, 0xE0, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Û + 0x0B, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x03, 0xE0, 0xFF, 0x07, 0xEC, 0xFF, 0x0F, 0x0C, 0x00, 0x0E, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x0E, 0xEC, 0xFF, 0x0F, 0xE0, 0xFF, 0x07, 0xE0, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ü + 0x0B, 0x20, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xE0, 0x03, 0x00, 0xC0, 0x0F, 0x00, 0x08, 0xFF, 0x0F, 0x0C, 0xFC, 0x0F, 0x04, 0xFF, 0x0F, 0xC0, 0x0F, 0x00, 0xE0, 0x03, 0x00, 0xE0, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ý + 0x0A, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x00, 0x83, 0x01, 0x00, 0x83, 0x01, 0x00, 0x83, 0x01, 0x00, 0xFF, 0x01, 0x00, 0xFE, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Þ + 0x0A, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x0F, 0xC0, 0xFF, 0x0F, 0xE0, 0xFF, 0x0F, 0x60, 0x00, 0x04, 0x60, 0x3C, 0x0E, 0xE0, 0x7F, 0x0C, 0xE0, 0xFF, 0x0F, 0xC0, 0xE3, 0x0F, 0x00, 0xC0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ß + 0x09, 0x00, 0x00, 0x00, 0x00, 0x88, 0x07, 0x00, 0xCC, 0x0F, 0x00, 0xCE, 0x0F, 0x40, 0xC6, 0x0C, 0xC0, 0x66, 0x04, 0x80, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char à + 0x09, 0x00, 0x00, 0x00, 0x00, 0x88, 0x07, 0x00, 0xCC, 0x0F, 0x80, 0xCE, 0x0F, 0xC0, 0xC6, 0x0C, 0x40, 0x66, 0x04, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char á + 0x09, 0x00, 0x00, 0x00, 0x80, 0x88, 0x07, 0xC0, 0xCC, 0x0F, 0xE0, 0xCE, 0x0F, 0x60, 0xC6, 0x0C, 0xE0, 0x66, 0x04, 0xC0, 0xFE, 0x0F, 0x80, 0xFE, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char â + 0x09, 0x00, 0x00, 0x00, 0x00, 0x88, 0x07, 0xC0, 0xCC, 0x0F, 0x60, 0xCE, 0x0F, 0x60, 0xC6, 0x0C, 0xC0, 0x66, 0x04, 0xC0, 0xFE, 0x0F, 0x60, 0xFE, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ã + 0x09, 0x00, 0x00, 0x00, 0x00, 0x88, 0x07, 0xC0, 0xCC, 0x0F, 0xC0, 0xCE, 0x0F, 0x00, 0xC6, 0x0C, 0x00, 0x66, 0x04, 0xC0, 0xFE, 0x0F, 0xC0, 0xFE, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ä + 0x09, 0x00, 0x00, 0x00, 0x00, 0x88, 0x07, 0x00, 0xCC, 0x0F, 0x00, 0xCE, 0x0F, 0x60, 0xC6, 0x0C, 0x90, 0x66, 0x04, 0x60, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFC, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char å + 0x0E, 0x00, 0x00, 0x00, 0x00, 0x88, 0x07, 0x00, 0xCC, 0x0F, 0x00, 0xCE, 0x0F, 0x00, 0xE6, 0x0C, 0x00, 0x66, 0x0C, 0x00, 0xFE, 0x07, 0x00, 0xFC, 0x07, 0x00, 0xFC, 0x0F, 0x00, 0x66, 0x0C, 0x00, 0x66, 0x0C, 0x00, 0x7E, 0x0F, 0x00, 0x7C, 0x07, 0x00, 0x78, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char æ + 0x09, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xFC, 0x87, 0x00, 0xFE, 0x9F, 0x00, 0x06, 0x9C, 0x00, 0x06, 0xFC, 0x00, 0x1E, 0x6F, 0x00, 0x1C, 0x07, 0x00, 0x18, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ç + 0x09, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0xFC, 0x07, 0x00, 0xFE, 0x0F, 0x40, 0x66, 0x0C, 0xC0, 0x66, 0x0C, 0x80, 0x7E, 0x0F, 0x00, 0x7C, 0x07, 0x00, 0x70, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // Code for char è + }; + +const struct SSD1306_FontDef Font_VDS_Compensated15x22 = { + Arial_Narrow15x23, + 17, + 24, + ' ', + '\xFF', + false +}; + diff --git a/components/services/tarablessd1306/fonts/font_all_caps_11x13.c b/components/services/tarablessd1306/fonts/font_all_caps_11x13.c new file mode 100644 index 00000000..046e929b --- /dev/null +++ b/components/services/tarablessd1306/fonts/font_all_caps_11x13.c @@ -0,0 +1,225 @@ +#include + + +//WARNING: This Font Require X-GLCD Lib. +// You can not use it with MikroE GLCD Lib. + +//Font Generated by MikroElektronika GLCD Font Creator 1.2.0.0 +//MikroElektronika 2011 +//http://www.mikroe.com + +//GLCD FontName : Square721_BT11x14 +//GLCD FontSize : 11 x 14 + +const uint8_t Square721_BT11x14[] = { + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char + 0x02, 0x00, 0x00, 0xF8, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ! + 0x03, 0x38, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char " + 0x08, 0x00, 0x00, 0x00, 0x01, 0x40, 0x07, 0xE0, 0x01, 0x58, 0x07, 0xC0, 0x01, 0x78, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char # + 0x07, 0x30, 0x03, 0x48, 0x04, 0x48, 0x04, 0xFC, 0x0F, 0x48, 0x04, 0x48, 0x04, 0x98, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char $ + 0x09, 0xF8, 0x00, 0x88, 0x00, 0x88, 0x00, 0xF8, 0x07, 0xE0, 0x00, 0xD8, 0x07, 0x40, 0x04, 0x40, 0x04, 0xC0, 0x07, 0x00, 0x00, 0x00, 0x00, // Code for char % + 0x08, 0x00, 0x00, 0x80, 0x03, 0x78, 0x04, 0x48, 0x04, 0xC8, 0x04, 0x08, 0x05, 0x98, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char & + 0x02, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ' + 0x03, 0x00, 0x00, 0xF8, 0x07, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ( + 0x02, 0x08, 0x04, 0xF8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ) + 0x06, 0x00, 0x00, 0x10, 0x00, 0x38, 0x00, 0x00, 0x00, 0x38, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char * + 0x08, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0xF0, 0x07, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char + + 0x02, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char , + 0x04, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char - + 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char . + 0x04, 0x00, 0x0C, 0x80, 0x03, 0x70, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char / + 0x08, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 0 + 0x08, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x10, 0x04, 0x08, 0x04, 0xF8, 0x07, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 1 + 0x08, 0x00, 0x00, 0x00, 0x00, 0x30, 0x07, 0x08, 0x05, 0x88, 0x04, 0x88, 0x04, 0x88, 0x04, 0x70, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 2 + 0x08, 0x00, 0x00, 0x00, 0x00, 0x30, 0x03, 0x08, 0x04, 0x48, 0x04, 0x48, 0x04, 0x48, 0x04, 0xB8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 3 + 0x08, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x40, 0x01, 0x30, 0x01, 0x08, 0x01, 0xF8, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 4 + 0x08, 0x00, 0x00, 0x00, 0x00, 0x78, 0x03, 0x48, 0x04, 0x48, 0x04, 0x48, 0x04, 0x48, 0x04, 0x88, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 5 + 0x08, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x48, 0x04, 0x48, 0x04, 0x48, 0x04, 0x48, 0x04, 0xD8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 6 + 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x04, 0x08, 0x03, 0x88, 0x00, 0x68, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 7 + 0x08, 0x00, 0x00, 0x00, 0x00, 0xB8, 0x03, 0x48, 0x04, 0x48, 0x04, 0x48, 0x04, 0x48, 0x04, 0xB8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 8 + 0x08, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x06, 0x88, 0x04, 0x88, 0x04, 0x88, 0x04, 0x88, 0x04, 0xF0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char 9 + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char : + 0x02, 0x00, 0x00, 0x20, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ; + 0x07, 0x00, 0x00, 0x00, 0x01, 0x80, 0x01, 0x80, 0x02, 0x40, 0x02, 0x40, 0x04, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char < + 0x07, 0x00, 0x00, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char = + 0x07, 0x00, 0x00, 0x20, 0x04, 0x40, 0x04, 0x40, 0x02, 0x80, 0x02, 0x80, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char > + 0x06, 0x00, 0x00, 0x30, 0x00, 0x08, 0x00, 0x88, 0x05, 0x88, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ? + 0x0B, 0x00, 0x00, 0xC0, 0x03, 0x30, 0x04, 0xD0, 0x0F, 0x68, 0x0A, 0x28, 0x0A, 0xA8, 0x09, 0x68, 0x0A, 0x08, 0x0A, 0x10, 0x01, 0xE0, 0x00, // Code for char @ + 0x08, 0x00, 0x00, 0x00, 0x06, 0xC0, 0x01, 0x30, 0x01, 0x08, 0x01, 0x70, 0x01, 0x80, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char A + 0x08, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x07, 0x48, 0x04, 0x48, 0x04, 0x48, 0x04, 0x48, 0x04, 0xB8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char B + 0x08, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x30, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char C + 0x09, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x07, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, // Code for char D + 0x08, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x07, 0x48, 0x04, 0x48, 0x04, 0x48, 0x04, 0x48, 0x04, 0x48, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char E + 0x07, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x07, 0x48, 0x00, 0x48, 0x00, 0x48, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char F + 0x09, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x88, 0x04, 0x88, 0x04, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00, // Code for char G + 0x08, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x07, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0xF8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char H + 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0xF8, 0x07, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char I + 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0xF8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char J + 0x08, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x07, 0x40, 0x00, 0xE0, 0x00, 0x10, 0x01, 0x08, 0x06, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char K + 0x07, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x07, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char L + 0x0A, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x07, 0x38, 0x00, 0xC0, 0x01, 0x00, 0x06, 0x00, 0x07, 0xE0, 0x00, 0x18, 0x00, 0xF8, 0x07, 0x00, 0x00, // Code for char M + 0x09, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x07, 0x18, 0x00, 0x20, 0x00, 0xC0, 0x00, 0x00, 0x01, 0x00, 0x06, 0xF8, 0x07, 0x00, 0x00, 0x00, 0x00, // Code for char N + 0x09, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, // Code for char O + 0x08, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x07, 0x88, 0x00, 0x88, 0x00, 0x88, 0x00, 0x88, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char P + 0x09, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x05, 0x08, 0x06, 0xF0, 0x07, 0x00, 0x00, 0x00, 0x00, // Code for char Q + 0x08, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x07, 0x88, 0x00, 0x88, 0x00, 0x88, 0x00, 0x88, 0x00, 0x78, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char R + 0x08, 0x00, 0x00, 0x00, 0x00, 0x78, 0x03, 0x48, 0x04, 0x48, 0x04, 0x88, 0x04, 0x88, 0x04, 0x98, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char S + 0x07, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0xF8, 0x07, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char T + 0x08, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x03, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0xF8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char U + 0x08, 0x00, 0x00, 0x18, 0x00, 0x60, 0x00, 0x80, 0x03, 0x00, 0x04, 0x80, 0x03, 0x70, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char V + 0x0B, 0x00, 0x00, 0x18, 0x00, 0xE0, 0x01, 0x00, 0x06, 0xC0, 0x03, 0x38, 0x00, 0x78, 0x00, 0x80, 0x03, 0x00, 0x06, 0xE0, 0x01, 0x18, 0x00, // Code for char W + 0x08, 0x00, 0x00, 0x08, 0x04, 0x18, 0x02, 0xA0, 0x01, 0xC0, 0x00, 0x20, 0x01, 0x18, 0x02, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char X + 0x08, 0x00, 0x00, 0x08, 0x00, 0x10, 0x00, 0x60, 0x00, 0x80, 0x07, 0x60, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Y + 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x06, 0x08, 0x05, 0x88, 0x04, 0x48, 0x04, 0x28, 0x04, 0x18, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Z + 0x03, 0x00, 0x00, 0xF8, 0x07, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char [ + 0x04, 0x18, 0x00, 0xE0, 0x00, 0x00, 0x07, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char BackSlash + 0x02, 0x08, 0x04, 0xF8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ] + 0x08, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x10, 0x00, 0x08, 0x00, 0x08, 0x00, 0x10, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ^ + 0x06, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char _ + 0x03, 0x00, 0x00, 0x08, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ` + 0x06, 0x00, 0x00, 0xA0, 0x07, 0xA0, 0x04, 0xA0, 0x04, 0xA0, 0x04, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char a + 0x06, 0x00, 0x00, 0xF8, 0x07, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0xC0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char b + 0x06, 0x00, 0x00, 0xC0, 0x07, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x40, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char c + 0x06, 0x00, 0x00, 0xC0, 0x03, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0xF8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char d + 0x06, 0x00, 0x00, 0xE0, 0x03, 0xA0, 0x04, 0xA0, 0x04, 0xA0, 0x04, 0xE0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char e + 0x04, 0x20, 0x00, 0xF8, 0x07, 0x28, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char f + 0x06, 0x00, 0x00, 0xC0, 0x13, 0x20, 0x14, 0x20, 0x14, 0x20, 0x14, 0xE0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char g + 0x06, 0x00, 0x00, 0xF8, 0x07, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char h + 0x02, 0x00, 0x00, 0xE8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char i + 0x02, 0x00, 0x10, 0xE8, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char j + 0x05, 0x00, 0x00, 0xF8, 0x07, 0x80, 0x01, 0x60, 0x02, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char k + 0x02, 0x00, 0x00, 0xF8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char l + 0x08, 0x00, 0x00, 0xE0, 0x07, 0x20, 0x00, 0x20, 0x00, 0xE0, 0x07, 0x20, 0x00, 0x20, 0x00, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char m + 0x06, 0x00, 0x00, 0xE0, 0x07, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char n + 0x06, 0x00, 0x00, 0xC0, 0x03, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0xC0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char o + 0x06, 0x00, 0x00, 0xE0, 0x1F, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0xC0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char p + 0x06, 0x00, 0x00, 0xC0, 0x03, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0xE0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char q + 0x05, 0x00, 0x00, 0xE0, 0x07, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char r + 0x06, 0x00, 0x00, 0xE0, 0x04, 0xA0, 0x04, 0xA0, 0x04, 0xA0, 0x04, 0xA0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char s + 0x05, 0x20, 0x00, 0xF0, 0x07, 0x20, 0x04, 0x20, 0x04, 0x20, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char t + 0x06, 0x00, 0x00, 0xE0, 0x07, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char u + 0x05, 0x60, 0x00, 0x80, 0x03, 0x00, 0x04, 0x80, 0x03, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char v + 0x08, 0xE0, 0x00, 0x00, 0x07, 0x00, 0x07, 0xE0, 0x00, 0xE0, 0x01, 0x00, 0x06, 0x80, 0x07, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char w + 0x05, 0x20, 0x04, 0x40, 0x03, 0x80, 0x01, 0x60, 0x02, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char x + 0x05, 0x60, 0x00, 0x80, 0x13, 0x00, 0x0E, 0xC0, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char y + 0x06, 0x00, 0x00, 0x20, 0x06, 0x20, 0x05, 0xA0, 0x04, 0x60, 0x04, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char z + 0x05, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x78, 0x1F, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char { + 0x03, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char | + 0x05, 0x00, 0x00, 0x08, 0x10, 0x78, 0x1F, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char } + 0x07, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x40, 0x00, 0x80, 0x00, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ~ + 0x03, 0xF8, 0x07, 0x08, 0x04, 0xF8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char  + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char € + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char  + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ‚ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ƒ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char „ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char … + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char † + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ‡ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ˆ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ‰ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Š + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ‹ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Œ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char  + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ž + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char  + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char  + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ‘ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ’ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char “ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ” + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char • + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char – + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char — + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ˜ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ™ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char š + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char › + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char œ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char  + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ž + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ÿ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char   + 0x02, 0x00, 0x00, 0xE8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¡ + 0x06, 0x00, 0x00, 0xC0, 0x03, 0x20, 0x0E, 0xE0, 0x05, 0x30, 0x04, 0x40, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¢ + 0x07, 0x00, 0x00, 0x80, 0x04, 0xF8, 0x07, 0x88, 0x04, 0x88, 0x04, 0x08, 0x04, 0x18, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char £ + 0x06, 0x08, 0x01, 0xF0, 0x00, 0x90, 0x00, 0x90, 0x00, 0xF0, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¤ + 0x07, 0xA8, 0x00, 0xB0, 0x00, 0xE0, 0x00, 0x80, 0x07, 0xE0, 0x00, 0xB0, 0x00, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¥ + 0x03, 0x00, 0x00, 0x00, 0x00, 0x78, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¦ + 0x05, 0xF8, 0x06, 0xA8, 0x04, 0x48, 0x05, 0x58, 0x05, 0xC0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char § + 0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¨ + 0x09, 0x00, 0x00, 0xE0, 0x01, 0x10, 0x02, 0xC8, 0x04, 0x28, 0x05, 0x28, 0x05, 0xC8, 0x04, 0x10, 0x02, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, // Code for char © + 0x05, 0x00, 0x00, 0x78, 0x00, 0x58, 0x00, 0x58, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ª + 0x05, 0x00, 0x00, 0x00, 0x01, 0x80, 0x02, 0x00, 0x01, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char « + 0x07, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¬ + 0x04, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ­ + 0x09, 0x00, 0x00, 0xE0, 0x01, 0x10, 0x02, 0xE8, 0x05, 0xA8, 0x04, 0xA8, 0x05, 0x68, 0x06, 0x10, 0x02, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, // Code for char ® + 0x04, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¯ + 0x03, 0x38, 0x00, 0x28, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ° + 0x08, 0x00, 0x00, 0x40, 0x04, 0x40, 0x04, 0x40, 0x04, 0xF0, 0x05, 0x40, 0x04, 0x40, 0x04, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ± + 0x05, 0x00, 0x00, 0xD8, 0x00, 0xC8, 0x00, 0xA8, 0x00, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ² + 0x05, 0x00, 0x00, 0xD8, 0x00, 0x88, 0x00, 0xA8, 0x00, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ³ + 0x04, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ´ + 0x05, 0xC0, 0x07, 0x20, 0x04, 0x00, 0x04, 0x80, 0x03, 0x60, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char µ + 0x06, 0x00, 0x00, 0x78, 0x00, 0xF8, 0x07, 0x08, 0x00, 0xF8, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¶ + 0x02, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char · + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¸ + 0x04, 0x00, 0x00, 0x10, 0x00, 0x08, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¹ + 0x05, 0x00, 0x00, 0x78, 0x00, 0x48, 0x00, 0x48, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char º + 0x05, 0x00, 0x00, 0x80, 0x02, 0x00, 0x01, 0x80, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char » + 0x0A, 0x10, 0x00, 0x08, 0x00, 0xF8, 0x00, 0x00, 0x06, 0x80, 0x01, 0x70, 0x00, 0x88, 0x01, 0x80, 0x01, 0xC0, 0x07, 0x00, 0x01, 0x00, 0x00, // Code for char ¼ + 0x0A, 0x10, 0x00, 0x08, 0x00, 0xF8, 0x00, 0x00, 0x06, 0x80, 0x01, 0x60, 0x00, 0x58, 0x07, 0x48, 0x05, 0x40, 0x05, 0xC0, 0x04, 0x00, 0x00, // Code for char ½ + 0x0B, 0x00, 0x00, 0xC8, 0x00, 0x88, 0x00, 0x98, 0x04, 0xE8, 0x02, 0x80, 0x01, 0x40, 0x00, 0x30, 0x00, 0x88, 0x01, 0x80, 0x01, 0xC0, 0x07, // Code for char ¾ + 0x05, 0x80, 0x07, 0x40, 0x04, 0x28, 0x04, 0x00, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ¿ + 0x07, 0x00, 0x06, 0xC0, 0x01, 0x32, 0x01, 0x0C, 0x01, 0x70, 0x01, 0x80, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char À + 0x07, 0x00, 0x06, 0xC0, 0x01, 0x30, 0x01, 0x0C, 0x01, 0x72, 0x01, 0x80, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Á + 0x07, 0x00, 0x06, 0xC0, 0x01, 0x34, 0x01, 0x0A, 0x01, 0x74, 0x01, 0x80, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char  + 0x07, 0x00, 0x06, 0xC0, 0x01, 0x32, 0x01, 0x0A, 0x01, 0x72, 0x01, 0x80, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char à + 0x07, 0x00, 0x06, 0xC0, 0x01, 0x32, 0x01, 0x08, 0x01, 0x72, 0x01, 0x80, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ä + 0x07, 0x00, 0x06, 0xC0, 0x01, 0x37, 0x01, 0x0D, 0x01, 0x77, 0x01, 0x80, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Å + 0x0B, 0x00, 0x03, 0xC0, 0x01, 0x20, 0x01, 0x18, 0x01, 0x08, 0x01, 0xF8, 0x07, 0x48, 0x04, 0x48, 0x04, 0x48, 0x04, 0x48, 0x04, 0x48, 0x04, // Code for char Æ + 0x07, 0x00, 0x00, 0xF0, 0x03, 0x08, 0x04, 0x08, 0x14, 0x08, 0x1C, 0x08, 0x04, 0x30, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ç + 0x07, 0x00, 0x00, 0xF8, 0x07, 0x4A, 0x04, 0x4C, 0x04, 0x48, 0x04, 0x48, 0x04, 0x48, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char È + 0x07, 0x00, 0x00, 0xF8, 0x07, 0x48, 0x04, 0x4C, 0x04, 0x4A, 0x04, 0x48, 0x04, 0x48, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char É + 0x07, 0x00, 0x00, 0xF8, 0x07, 0x4C, 0x04, 0x4A, 0x04, 0x4C, 0x04, 0x48, 0x04, 0x48, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ê + 0x07, 0x00, 0x00, 0xF8, 0x07, 0x4A, 0x04, 0x48, 0x04, 0x4A, 0x04, 0x48, 0x04, 0x48, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ë + 0x02, 0x02, 0x00, 0xFC, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ì + 0x03, 0x00, 0x00, 0xFC, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Í + 0x03, 0x04, 0x00, 0xFA, 0x07, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Î + 0x03, 0x02, 0x00, 0xF8, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ï + 0x08, 0x40, 0x00, 0xF8, 0x07, 0x48, 0x04, 0x48, 0x04, 0x48, 0x04, 0x08, 0x04, 0x08, 0x04, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ð + 0x08, 0x00, 0x00, 0xF8, 0x07, 0x18, 0x00, 0x22, 0x00, 0xC2, 0x00, 0x02, 0x01, 0x00, 0x06, 0xF8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ñ + 0x08, 0x00, 0x00, 0xF0, 0x03, 0x0A, 0x04, 0x0C, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ò + 0x08, 0x00, 0x00, 0xF0, 0x03, 0x08, 0x04, 0x0C, 0x04, 0x0A, 0x04, 0x08, 0x04, 0x08, 0x04, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ó + 0x08, 0x00, 0x00, 0xF0, 0x03, 0x0C, 0x04, 0x0A, 0x04, 0x0C, 0x04, 0x08, 0x04, 0x08, 0x04, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ô + 0x08, 0x00, 0x00, 0xF0, 0x03, 0x0A, 0x04, 0x0A, 0x04, 0x0A, 0x04, 0x08, 0x04, 0x08, 0x04, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Õ + 0x08, 0x00, 0x00, 0xF0, 0x03, 0x0A, 0x04, 0x08, 0x04, 0x0A, 0x04, 0x08, 0x04, 0x08, 0x04, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ö + 0x08, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x40, 0x02, 0x80, 0x01, 0x80, 0x01, 0x40, 0x02, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char × + 0x08, 0x00, 0x00, 0xF0, 0x07, 0x08, 0x06, 0x08, 0x05, 0xC8, 0x04, 0x28, 0x04, 0x18, 0x04, 0xF8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ø + 0x07, 0x00, 0x00, 0xF8, 0x03, 0x02, 0x04, 0x04, 0x04, 0x00, 0x04, 0x00, 0x04, 0xF8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ù + 0x07, 0x00, 0x00, 0xF8, 0x03, 0x00, 0x04, 0x04, 0x04, 0x02, 0x04, 0x00, 0x04, 0xF8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ú + 0x07, 0x00, 0x00, 0xF8, 0x03, 0x04, 0x04, 0x02, 0x04, 0x04, 0x04, 0x00, 0x04, 0xF8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Û + 0x07, 0x00, 0x00, 0xF8, 0x03, 0x02, 0x04, 0x00, 0x04, 0x02, 0x04, 0x00, 0x04, 0xF8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ü + 0x07, 0x08, 0x00, 0x10, 0x00, 0x60, 0x00, 0x84, 0x07, 0x62, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Ý + 0x07, 0x00, 0x00, 0xF8, 0x07, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0xF0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char Þ + 0x06, 0x00, 0x00, 0xF0, 0x07, 0x08, 0x00, 0x48, 0x04, 0x48, 0x04, 0xB0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ß + 0x06, 0x00, 0x00, 0xA8, 0x07, 0xB0, 0x04, 0xA0, 0x04, 0xA0, 0x04, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char à + 0x06, 0x00, 0x00, 0xA0, 0x07, 0xB0, 0x04, 0xA8, 0x04, 0xA0, 0x04, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char á + 0x06, 0x00, 0x00, 0xB0, 0x07, 0xA8, 0x04, 0xB0, 0x04, 0xA0, 0x04, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char â + 0x06, 0x00, 0x00, 0xA8, 0x07, 0xA8, 0x04, 0xA8, 0x04, 0xA0, 0x04, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ã + 0x06, 0x00, 0x00, 0xA8, 0x07, 0xA0, 0x04, 0xA8, 0x04, 0xA0, 0x04, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ä + 0x06, 0x00, 0x00, 0xA0, 0x07, 0xAE, 0x04, 0xAA, 0x04, 0xAE, 0x04, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char å + 0x0A, 0x00, 0x00, 0xA0, 0x07, 0xA0, 0x04, 0xA0, 0x04, 0xA0, 0x04, 0xC0, 0x03, 0xA0, 0x04, 0xA0, 0x04, 0xA0, 0x04, 0xE0, 0x02, 0x00, 0x00, // Code for char æ + 0x06, 0x00, 0x00, 0xC0, 0x07, 0x20, 0x14, 0x20, 0x1C, 0x20, 0x04, 0x40, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char ç + 0x06, 0x00, 0x00, 0xE8, 0x03, 0xB0, 0x04, 0xA0, 0x04, 0xA0, 0x04, 0xE0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // Code for char è + }; + +const struct SSD1306_FontDef Font_line1_11x13 = { + Square721_BT11x14, + 11, + 14, + ' ', + '\xFF', + false +}; diff --git a/components/services/tarablessd1306/ssd1306_font.h b/components/services/tarablessd1306/ssd1306_font.h index e870e2f2..c9f95695 100644 --- a/components/services/tarablessd1306/ssd1306_font.h +++ b/components/services/tarablessd1306/ssd1306_font.h @@ -81,7 +81,8 @@ extern const struct SSD1306_FontDef Font_liberation_mono_17x30; extern const struct SSD1306_FontDef Font_Tarable7Seg_16x32; extern const struct SSD1306_FontDef Font_Tarable7Seg_32x64; -extern const struct SSD1306_FontDef Font_Earthbound18x21; +extern const struct SSD1306_FontDef Font_VDS_Compensated15x22; +extern const struct SSD1306_FontDef Font_line1_11x13; #ifdef __cplusplus } diff --git a/components/squeezelite/decode_external.c b/components/squeezelite/decode_external.c index 337809c0..37f75329 100644 --- a/components/squeezelite/decode_external.c +++ b/components/squeezelite/decode_external.c @@ -100,10 +100,8 @@ static void sink_data_handler(const uint8_t *data, uint32_t len) * BT sink command handler */ -static bool bt_sink_cmd_handler(bt_sink_cmd_t cmd, ...) +static bool bt_sink_cmd_handler(bt_sink_cmd_t cmd, va_list args) { - va_list args; - // don't LOCK_O as there is always a chance that LMS takes control later anyway if (output.external != DECODE_BT && output.state > OUTPUT_STOPPED) { LOG_WARN("Cannot use BT sink while LMS/AirPlay is controlling player"); @@ -112,8 +110,6 @@ static bool bt_sink_cmd_handler(bt_sink_cmd_t cmd, ...) LOCK_D; - va_start(args, cmd); - if (cmd != BT_SINK_VOLUME) LOCK_O; switch(cmd) { @@ -152,13 +148,14 @@ static bool bt_sink_cmd_handler(bt_sink_cmd_t cmd, ...) volume = 65536 * powf(volume / 128.0f, 3); set_volume(volume, volume); break; + default: + break; } } if (cmd != BT_SINK_VOLUME) UNLOCK_O; UNLOCK_D; - va_end(args); return true; } diff --git a/components/squeezelite/display.c b/components/squeezelite/display.c index 492ed64a..2b5663c1 100644 --- a/components/squeezelite/display.c +++ b/components/squeezelite/display.c @@ -196,7 +196,7 @@ static void send_server(void) { static void server(in_addr_t ip, u16_t hport, u16_t cport) { char msg[32]; sprintf(msg, "%s:%hu", inet_ntoa(ip), hport); - display->text(DISPLAY_FONT_DEFAULT, DISPLAY_CENTER, DISPLAY_CLEAR | DISPLAY_UPDATE, msg); + display->text(DISPLAY_FONT_DEFAULT, DISPLAY_CENTERED, DISPLAY_CLEAR | DISPLAY_UPDATE, msg); if (notify_chain) (*notify_chain)(ip, hport, cport); } @@ -290,8 +290,8 @@ static void show_display_buffer(char *ddram) { LOG_INFO("\n\t%.40s\n\t%.40s", line1, line2); - display->text(DISPLAY_FONT_DEFAULT, DISPLAY_TOP_LEFT, DISPLAY_CLEAR, line1); - display->text(DISPLAY_FONT_DEFAULT, DISPLAY_BOTTOM_LEFT, DISPLAY_UPDATE, line2); + display->line(1, DISPLAY_LEFT, DISPLAY_CLEAR, line1); + display->line(2, DISPLAY_LEFT, DISPLAY_CLEAR | DISPLAY_UPDATE, line2); } /****************************************************************************************