From 85d068f03f6d3e9d4e744f03633aca41f3e07292 Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Wed, 11 May 2016 21:05:08 +0200 Subject: [PATCH] reorganize modtrezorui sources --- ...{modtrezorui-stmhal.h => display-stmhal.h} | 12 +- .../{modtrezorui-unix.h => display-unix.h} | 13 +- extmod/modtrezorui/display.c | 300 ++++++++++++++++++ extmod/modtrezorui/display.h | 32 ++ extmod/modtrezorui/font_roboto_bold.c | 199 ++++++++++++ extmod/modtrezorui/font_roboto_bold.h | 3 + extmod/modtrezorui/font_roboto_regular.c | 199 ++++++++++++ extmod/modtrezorui/font_roboto_regular.h | 3 + extmod/modtrezorui/font_robotomono_regular.c | 199 ++++++++++++ extmod/modtrezorui/font_robotomono_regular.h | 3 + .../{modtrezorui-inflate.h => inflate.c} | 4 +- extmod/modtrezorui/inflate.h | 8 + .../{modtrezorui-loader.h => loader.h} | 0 extmod/modtrezorui/modtrezorui-display.h | 274 +--------------- .../modtrezorui-font_roboto_bold.h | 197 ------------ .../modtrezorui-font_roboto_regular.h | 197 ------------ .../modtrezorui-font_robotomono_regular.h | 197 ------------ extmod/modtrezorui/modtrezorui.c | 11 - vendor/micropython | 2 +- 19 files changed, 964 insertions(+), 889 deletions(-) rename extmod/modtrezorui/{modtrezorui-stmhal.h => display-stmhal.h} (95%) rename extmod/modtrezorui/{modtrezorui-unix.h => display-unix.h} (93%) create mode 100644 extmod/modtrezorui/display.c create mode 100644 extmod/modtrezorui/display.h create mode 100644 extmod/modtrezorui/font_roboto_bold.c create mode 100644 extmod/modtrezorui/font_roboto_bold.h create mode 100644 extmod/modtrezorui/font_roboto_regular.c create mode 100644 extmod/modtrezorui/font_roboto_regular.h create mode 100644 extmod/modtrezorui/font_robotomono_regular.c create mode 100644 extmod/modtrezorui/font_robotomono_regular.h rename extmod/modtrezorui/{modtrezorui-inflate.h => inflate.c} (98%) create mode 100644 extmod/modtrezorui/inflate.h rename extmod/modtrezorui/{modtrezorui-loader.h => loader.h} (100%) delete mode 100644 extmod/modtrezorui/modtrezorui-font_roboto_bold.h delete mode 100644 extmod/modtrezorui/modtrezorui-font_roboto_regular.h delete mode 100644 extmod/modtrezorui/modtrezorui-font_robotomono_regular.h diff --git a/extmod/modtrezorui/modtrezorui-stmhal.h b/extmod/modtrezorui/display-stmhal.h similarity index 95% rename from extmod/modtrezorui/modtrezorui-stmhal.h rename to extmod/modtrezorui/display-stmhal.h index 2116bed862..d2b5530e23 100644 --- a/extmod/modtrezorui/modtrezorui-stmhal.h +++ b/extmod/modtrezorui/display-stmhal.h @@ -10,7 +10,7 @@ #define CMD(X) (*((__IO uint8_t *)((uint32_t)(0x60000000))) = (X)) #define DATA(X) (*((__IO uint8_t *)((uint32_t)(0x60000000 | 0x10000))) = (X)) -static void DATAS(const void *bytes, int len); +void DATAS(const void *bytes, int len); void display_sram_init(void) { __GPIOE_CLK_ENABLE(); @@ -93,7 +93,7 @@ static void display_unsleep(void) { static uint8_t WINDOW_OFFSET_X = 0, WINDOW_OFFSET_Y = 0; -static void display_orientation(uint16_t degrees) +void display_orientation(int degrees) { // memory access control switch (degrees) { @@ -120,7 +120,7 @@ static void display_orientation(uint16_t degrees) } } -static void display_init(void) { +void display_init(void) { display_sram_init(); CMD(0x01); // software reset HAL_Delay(20); @@ -148,7 +148,7 @@ static void display_init(void) { display_unsleep(); } -static void display_set_window(uint16_t x, uint16_t y, uint16_t w, uint16_t h) { +void display_set_window(uint16_t x, uint16_t y, uint16_t w, uint16_t h) { x += WINDOW_OFFSET_X; y += WINDOW_OFFSET_Y; uint16_t x1 = x + w - 1; @@ -158,9 +158,9 @@ static void display_set_window(uint16_t x, uint16_t y, uint16_t w, uint16_t h) { CMD(0x2C); } -static void display_update(void) { +void display_update(void) { } -static void display_backlight(uint8_t val) +void display_backlight(uint8_t val) { } diff --git a/extmod/modtrezorui/modtrezorui-unix.h b/extmod/modtrezorui/display-unix.h similarity index 93% rename from extmod/modtrezorui/modtrezorui-unix.h rename to extmod/modtrezorui/display-unix.h index 266e2bd7ae..ae606f6798 100644 --- a/extmod/modtrezorui/modtrezorui-unix.h +++ b/extmod/modtrezorui/display-unix.h @@ -19,7 +19,7 @@ static int ROTATION = 0; #define CMD(X) (void)(X); -static void DATA(uint8_t x) { +void DATA(uint8_t x) { if (POSX <= EX && POSY <= EY) { ((uint8_t *)SCREEN->pixels)[POSX * 2 + POSY * SCREEN->pitch + (DATAODD ^ 1)] = x; } @@ -75,7 +75,7 @@ uint32_t trezorui_poll_sdl_event(void) return 0; } -static void display_init(void) +void display_init(void) { if (SDL_Init(SDL_INIT_VIDEO) != 0) { printf("SDL_Init Error: %s\n", SDL_GetError()); @@ -97,14 +97,15 @@ static void display_init(void) TEXTURE = SDL_CreateTexture(RENDERER, SDL_PIXELFORMAT_RGB565, SDL_TEXTUREACCESS_STREAMING, RESX, RESY); } -static void display_set_window(uint16_t x, uint16_t y, uint16_t w, uint16_t h) { +void display_set_window(uint16_t x, uint16_t y, uint16_t w, uint16_t h) +{ SX = x; SY = y; EX = x + w - 1; EY = y + h - 1; POSX = SX; POSY = SY; DATAODD = 0; } -static void display_update(void) +void display_update(void) { SDL_RenderClear(RENDERER); SDL_UpdateTexture(TEXTURE, NULL, SCREEN->pixels, SCREEN->pitch); @@ -113,12 +114,12 @@ static void display_update(void) SDL_RenderPresent(RENDERER); } -static void display_orientation(int degrees) +void display_orientation(int degrees) { ROTATION = degrees; display_update(); } -static void display_backlight(uint8_t val) +void display_backlight(uint8_t val) { } diff --git a/extmod/modtrezorui/display.c b/extmod/modtrezorui/display.c new file mode 100644 index 0000000000..09d3b12849 --- /dev/null +++ b/extmod/modtrezorui/display.c @@ -0,0 +1,300 @@ +/* + * Copyright (c) Pavol Rusnak, SatoshiLabs + * + * Licensed under Microsoft Reference Source License (Ms-RSL) + * see LICENSE.md file for details + */ + +#include "inflate.h" +#include "font_robotomono_regular.h" +#include "font_roboto_regular.h" +#include "font_roboto_bold.h" + +#include "trezor-qrenc/qr_encode.h" + +#include "display.h" + +#if defined STM32_HAL_H +#include "display-stmhal.h" +#elif defined UNIX +#include "display-unix.h" +#else +#error Unsupported port. Only STMHAL and UNIX ports are supported. +#endif + +// common display functions + +void DATAS(const void *bytes, int len) +{ + const uint8_t *c = (const uint8_t *)bytes; + while (len-- > 0) { + DATA(*c); + c++; + } +} + +void set_color_table(uint16_t colortable[16], uint16_t fgcolor, uint16_t bgcolor) +{ + uint8_t cr, cg, cb; + for (int i = 0; i < 16; i++) { + cr = (((fgcolor & 0xF800) >> 11) * i + ((bgcolor & 0xF800) >> 11) * (15 - i)) / 15; + cg = (((fgcolor & 0x07E0) >> 5) * i + ((bgcolor & 0x07E0) >> 5) * (15 - i)) / 15; + cb = ((fgcolor & 0x001F) * i + (bgcolor & 0x001F) * (15 - i)) / 15; + colortable[i] = (cr << 11) | (cg << 5) | cb; + } +} + +void display_bar(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint16_t c) +{ + display_set_window(x, y, w, h); + for (int i = 0; i < w * h; i++) { + DATA(c >> 8); + DATA(c & 0xFF); + } + display_update(); +} + +#define CORNER_RADIUS 16 + +static const uint8_t cornertable[CORNER_RADIUS*CORNER_RADIUS] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 9, 12, 14, 15, + 0, 0, 0, 0, 0, 0, 0, 0, 3, 9, 15, 15, 15, 15, 15, 15, + 0, 0, 0, 0, 0, 0, 0, 8, 15, 15, 15, 15, 15, 15, 15, 15, + 0, 0, 0, 0, 0, 3, 12, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 0, 0, 0, 0, 3, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 0, 0, 0, 3, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 0, 0, 0, 12, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 0, 0, 8, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 0, 3, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 0, 9, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 1, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 5, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 9, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 12, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, +}; + + +void display_bar_radius(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint16_t c, uint16_t b) +{ + uint16_t colortable[16]; + set_color_table(colortable, c, b); + display_set_window(x, y, w, h); + for (int y = 0; y < h; y++) { + for (int x = 0; x < w; x++) { + if (x < CORNER_RADIUS && y < CORNER_RADIUS) { + uint8_t c = cornertable[x + y * CORNER_RADIUS]; + DATA(colortable[c] >> 8); + DATA(colortable[c] & 0xFF); + } else + if (x < CORNER_RADIUS && y >= h - CORNER_RADIUS) { + uint8_t c = cornertable[x + (h - 1 - y) * CORNER_RADIUS]; + DATA(colortable[c] >> 8); + DATA(colortable[c] & 0xFF); + } else + if (x >= w - CORNER_RADIUS && y < CORNER_RADIUS) { + uint8_t c = cornertable[(w - 1 - x) + y * CORNER_RADIUS]; + DATA(colortable[c] >> 8); + DATA(colortable[c] & 0xFF); + } else + if (x >= w - CORNER_RADIUS && y >= h - CORNER_RADIUS) { + uint8_t c = cornertable[(w - 1 - x) + (h - 1 - y) * CORNER_RADIUS]; + DATA(colortable[c] >> 8); + DATA(colortable[c] & 0xFF); + } else { + DATA(c >> 8); + DATA(c & 0xFF); + } + } + } + display_update(); +} + +void display_blit(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const void *data, int datalen) +{ + display_set_window(x, y, w, h); + DATAS(data, datalen); + display_update(); +} + +static void inflate_callback_image(uint8_t byte, uint32_t pos, void *userdata) +{ + DATA(byte); +} + +void display_image(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const void *data, int datalen) +{ + display_set_window(x, y, w, h); + sinf_inflate(data, inflate_callback_image, NULL); + display_update(); +} + +static void inflate_callback_icon(uint8_t byte, uint32_t pos, void *userdata) +{ + uint16_t *colortable = (uint16_t *)userdata; + DATA(colortable[byte >> 4] >> 8); + DATA(colortable[byte >> 4] & 0xFF); + DATA(colortable[byte & 0x0F] >> 8); + DATA(colortable[byte & 0x0F] & 0xFF); +} + +void display_icon(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const void *data, int datalen, uint16_t fgcolor, uint16_t bgcolor) +{ + display_set_window(x, y, w, h); + uint16_t colortable[16]; + set_color_table(colortable, fgcolor, bgcolor); + sinf_inflate(data, inflate_callback_icon, colortable); + display_update(); +} + +static const uint8_t *get_glyph(uint8_t font, uint8_t c) +{ + if (c >= ' ' && c <= '~') { + // do nothing - valid ASCII + } else + // UTF-8 handling: https://en.wikipedia.org/wiki/UTF-8#Description + if (c >= 0xC0) { + // bytes 11xxxxxx are first byte of UTF-8 characters + c = '_'; + } else { + // bytes 10xxxxxx are successive UTF-8 characters + return 0; + } + switch (font) { + case 0: + return Font_RobotoMono_Regular_20[c - ' ']; + case 1: + return Font_Roboto_Regular_20[c - ' ']; + case 2: + return Font_Roboto_Bold_20[c - ' ']; + } + return 0; +} + +// first two bytes are width and height of the glyph +// third, fourth and fifth bytes are advance, bearingX and bearingY of the horizontal metrics of the glyph +// rest is packed 4-bit glyph data +void display_text(uint8_t x, uint8_t y, const uint8_t *text, int textlen, uint8_t font, uint16_t fgcolor, uint16_t bgcolor) +{ + uint32_t px = x; + uint16_t colortable[16]; + set_color_table(colortable, fgcolor, bgcolor); + + // render glyphs + for (int i = 0; i < textlen; i++) { + const uint8_t *g = get_glyph(font, text[i]); + if (!g) continue; + // g[0], g[1] = width, height + // g[2] = advance + // g[3], g[4] = bearingX, bearingY + if (g[0] && g[1]) { + display_set_window(px + (int8_t)(g[3]), y - (int8_t)(g[4]), g[0], g[1]); + for (int j = 0; j < g[0] * g[1]; j++) { + uint8_t c; + if (j % 2 == 0) { + c = g[5 + j/2] >> 4; + } else { + c = g[5 + j/2] & 0x0F; + } + DATA(colortable[c] >> 8); + DATA(colortable[c] & 0xFF); + } + display_update(); + } + px += g[2]; + } +} + +// compute the width of the text (in pixels) +uint32_t display_text_width(const uint8_t *text, int textlen, uint8_t font) +{ + uint32_t w = 0; + for (int i = 0; i < textlen; i++) { + const uint8_t *g = get_glyph(font, text[i]); + if (!g) continue; + w += g[2]; + } + return w; +} + +void display_qrcode(uint8_t x, uint8_t y, const char *data, int datalen, int scale) +{ + uint8_t bitdata[QR_MAX_BITDATA]; + int side = qr_encode(QR_LEVEL_M, 0, data, datalen, bitdata); + display_set_window(x, y, side * scale, side * scale); + for (int i = 0; i < side * scale; i++) { + for (int j = 0; j < side; j++) { + int a = j * side + (i / scale); + if (bitdata[a / 8] & (1 << (7 - a % 8))) { + for (a = 0; a < scale * 2; a++) { DATA(0x00); } + } else { + for (a = 0; a < scale * 2; a++) { DATA(0xFF); } + } + } + } + display_update(); +} + +#include "loader.h" + +void display_loader(uint16_t progress, uint16_t fgcolor, uint16_t bgcolor, const uint8_t *icon, uint16_t iconfgcolor) +{ + uint16_t colortable[16], iconcolortable[16]; + set_color_table(colortable, fgcolor, bgcolor); + if (icon) { + set_color_table(iconcolortable, iconfgcolor, bgcolor); + } + display_set_window(RESX / 2 - img_loader_size, RESY * 2 / 5 - img_loader_size, img_loader_size * 2, img_loader_size * 2); + for (int y = 0; y < img_loader_size * 2; y++) { + for (int x = 0; x < img_loader_size * 2; x++) { + int mx = x, my = y; + uint16_t a; + if ((mx >= img_loader_size) && (my >= img_loader_size)) { + mx = img_loader_size * 2 - 1 - x; + my = img_loader_size * 2 - 1 - y; + a = 499 - (img_loader[my][mx] >> 8); + } else + if (mx >= img_loader_size) { + mx = img_loader_size * 2 - 1 - x; + a = img_loader[my][mx] >> 8; + } else + if (my >= img_loader_size) { + my = img_loader_size * 2 - 1 - y; + a = 500 + (img_loader[my][mx] >> 8); + } else { + a = 999 - (img_loader[my][mx] >> 8); + } + // inside of circle - draw glyph + if (icon && mx + my > (48 * 2) && mx >= img_loader_size - 48 && my >= img_loader_size - 48) { + int i = (x - (img_loader_size - 48)) + (y - (img_loader_size - 48)) * 96; + uint8_t c; + if (i % 2) { + c = icon[i / 2] & 0x0F; + } else { + c = (icon[i / 2] & 0xF0) >> 4; + } + DATA(iconcolortable[c] >> 8); + DATA(iconcolortable[c] & 0xFF); + } else { + uint8_t c; + if (progress > a) { + c = (img_loader[my][mx] & 0x00F0) >> 4; + } else { + c = img_loader[my][mx] & 0x000F; + } + DATA(colortable[c] >> 8); + DATA(colortable[c] & 0xFF); + } + } + } + display_update(); +} + +void display_raw(uint8_t reg, const uint8_t *data, int datalen) +{ + if (reg) { + CMD(reg); + } + DATAS(data, datalen); +} diff --git a/extmod/modtrezorui/display.h b/extmod/modtrezorui/display.h new file mode 100644 index 0000000000..3ecd5ee7a7 --- /dev/null +++ b/extmod/modtrezorui/display.h @@ -0,0 +1,32 @@ +/* + * Copyright (c) Pavol Rusnak, SatoshiLabs + * + * Licensed under Microsoft Reference Source License (Ms-RSL) + * see LICENSE.md file for details + */ + +#ifndef __DISPLAY_H__ +#define __DISPLAY_H__ + +#define RESX 240 +#define RESY 240 + +void display_init(void); +void display_set_window(uint16_t x, uint16_t y, uint16_t w, uint16_t h); +void display_update(void); +void display_orientation(int degrees); +void display_backlight(uint8_t val); + +void set_color_table(uint16_t colortable[16], uint16_t fgcolor, uint16_t bgcolor); +void display_bar(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint16_t c); +void display_bar_radius(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint16_t c, uint16_t b); +void display_blit(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const void *data, int datalen); +void display_image(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const void *data, int datalen); +void display_icon(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const void *data, int datalen, uint16_t fgcolor, uint16_t bgcolor); +void display_text(uint8_t x, uint8_t y, const uint8_t *text, int textlen, uint8_t font, uint16_t fgcolor, uint16_t bgcolor); +uint32_t display_text_width(const uint8_t *text, int textlen, uint8_t font); +void display_qrcode(uint8_t x, uint8_t y, const char *data, int datalen, int scale); +void display_loader(uint16_t progress, uint16_t fgcolor, uint16_t bgcolor, const uint8_t *icon, uint16_t iconfgcolor); +void display_raw(uint8_t reg, const uint8_t *data, int datalen); + +#endif diff --git a/extmod/modtrezorui/font_roboto_bold.c b/extmod/modtrezorui/font_roboto_bold.c new file mode 100644 index 0000000000..90c56587d6 --- /dev/null +++ b/extmod/modtrezorui/font_roboto_bold.c @@ -0,0 +1,199 @@ +#include "font_roboto_bold.h" + +// first two bytes are width and height of the glyph +// third, fourth and fifth bytes are advance, bearingX and bearingY of the horizontal metrics of the glyph +// rest is packed 4-bit glyph data + +/* */ const uint8_t Font_Roboto_Bold_20_glyph_32[] = { 0, 0, 5, 0, 0 }; +/* ! */ const uint8_t Font_Roboto_Bold_20_glyph_33[] = { 4, 14, 5, 1, 14, 239, 240, 239, 240, 223, 240, 223, 224, 207, 224, 191, 208, 191, 208, 175, 192, 175, 192, 0, 0, 0, 0, 143, 160, 255, 241, 143, 160 }; +/* " */ const uint8_t Font_Roboto_Bold_20_glyph_34[] = { 6, 5, 6, 0, 15, 143, 101, 249, 143, 101, 249, 143, 69, 247, 143, 37, 245, 143, 21, 244 }; +/* # */ const uint8_t Font_Roboto_Bold_20_glyph_35[] = { 12, 14, 12, 0, 14, 0, 0, 111, 80, 207, 0, 0, 0, 159, 32, 237, 0, 0, 0, 207, 1, 250, 0, 0, 0, 253, 4, 248, 0, 9, 255, 255, 255, 255, 249, 6, 189, 253, 190, 251, 182, 0, 8, 244, 13, 224, 0, 0, 11, 241, 15, 176, 0, 95, 255, 255, 255, 255, 208, 59, 191, 235, 223, 203, 128, 0, 79, 128, 159, 48, 0, 0, 111, 80, 207, 0, 0, 0, 159, 48, 237, 0, 0, 0, 191, 1, 251, 0, 0 }; +/* $ */ const uint8_t Font_Roboto_Bold_20_glyph_36[] = { 11, 19, 11, 0, 17, 0, 0, 1, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 15, 144, 0, 0, 1, 157, 255, 179, 0, 1, 239, 255, 255, 244, 0, 159, 250, 71, 255, 208, 12, 255, 16, 11, 255, 32, 191, 243, 0, 54, 97, 6, 255, 231, 16, 0, 0, 9, 255, 255, 145, 0, 0, 4, 207, 255, 227, 0, 0, 0, 42, 255, 224, 39, 115, 0, 11, 255, 52, 255, 160, 0, 159, 244, 14, 255, 132, 111, 255, 16, 95, 255, 255, 255, 112, 0, 58, 239, 251, 64, 0, 0, 2, 246, 0, 0, 0, 0, 47, 96, 0, 0 }; +/* % */ const uint8_t Font_Roboto_Bold_20_glyph_37[] = { 14, 14, 15, 1, 14, 7, 239, 177, 0, 0, 0, 0, 127, 219, 252, 0, 28, 64, 0, 207, 16, 207, 32, 159, 48, 0, 239, 0, 175, 67, 249, 0, 0, 207, 16, 207, 45, 225, 0, 0, 127, 219, 253, 127, 96, 0, 0, 8, 239, 180, 252, 0, 0, 0, 0, 0, 11, 243, 158, 233, 0, 0, 0, 95, 138, 252, 207, 160, 0, 0, 237, 31, 224, 14, 240, 0, 8, 244, 31, 192, 13, 241, 0, 47, 160, 15, 224, 14, 240, 0, 60, 16, 10, 252, 207, 160, 0, 0, 0, 1, 158, 233, 16 }; +/* & */ const uint8_t Font_Roboto_Bold_20_glyph_38[] = { 13, 14, 13, 0, 14, 0, 5, 207, 233, 16, 0, 0, 7, 255, 255, 252, 0, 0, 0, 255, 213, 159, 244, 0, 0, 31, 246, 0, 255, 80, 0, 0, 255, 160, 143, 241, 0, 0, 8, 255, 223, 245, 0, 0, 0, 31, 255, 227, 0, 0, 0, 29, 255, 254, 32, 109, 208, 13, 255, 143, 253, 25, 254, 4, 255, 144, 95, 252, 239, 160, 95, 249, 0, 95, 255, 244, 2, 255, 247, 71, 239, 254, 0, 8, 255, 255, 255, 255, 248, 0, 5, 191, 253, 165, 207, 246 }; +/* ' */ const uint8_t Font_Roboto_Bold_20_glyph_39[] = { 3, 5, 3, 0, 15, 159, 137, 247, 159, 105, 245, 159, 64 }; +/* ( */ const uint8_t Font_Roboto_Bold_20_glyph_40[] = { 6, 20, 7, 1, 16, 0, 1, 163, 0, 12, 246, 0, 175, 144, 4, 254, 0, 11, 247, 0, 47, 243, 0, 111, 224, 0, 159, 192, 0, 191, 176, 0, 207, 144, 0, 207, 144, 0, 191, 176, 0, 159, 192, 0, 111, 224, 0, 47, 243, 0, 11, 247, 0, 4, 254, 0, 0, 175, 144, 0, 12, 246, 0, 1, 163 }; +/* ) */ const uint8_t Font_Roboto_Bold_20_glyph_41[] = { 6, 20, 7, 0, 16, 74, 16, 0, 127, 209, 0, 10, 251, 0, 1, 239, 80, 0, 143, 192, 0, 63, 243, 0, 15, 247, 0, 12, 251, 0, 11, 253, 0, 10, 254, 0, 10, 254, 0, 11, 253, 0, 12, 251, 0, 15, 247, 0, 63, 243, 0, 143, 192, 0, 239, 80, 9, 251, 0, 111, 209, 0, 74, 16, 0 }; +/* * */ const uint8_t Font_Roboto_Bold_20_glyph_42[] = { 9, 9, 9, 0, 14, 0, 4, 248, 0, 0, 0, 63, 128, 0, 75, 83, 247, 57, 119, 255, 255, 255, 250, 0, 78, 255, 81, 0, 8, 251, 249, 0, 5, 252, 11, 246, 0, 61, 32, 46, 80, 0, 0, 0, 0, 0 }; +/* + */ const uint8_t Font_Roboto_Bold_20_glyph_43[] = { 11, 11, 11, 0, 12, 0, 0, 205, 160, 0, 0, 0, 14, 252, 0, 0, 0, 0, 239, 192, 0, 0, 0, 14, 252, 0, 0, 127, 255, 255, 255, 255, 71, 255, 255, 255, 255, 244, 56, 136, 255, 232, 136, 32, 0, 14, 252, 0, 0, 0, 0, 239, 192, 0, 0, 0, 14, 252, 0, 0, 0, 0, 120, 96, 0, 0 }; +/* , */ const uint8_t Font_Roboto_Bold_20_glyph_44[] = { 4, 7, 5, 0, 3, 3, 101, 9, 252, 9, 252, 10, 251, 13, 247, 79, 225, 60, 80 }; +/* - */ const uint8_t Font_Roboto_Bold_20_glyph_45[] = { 6, 3, 8, 1, 7, 239, 255, 249, 239, 255, 249, 68, 68, 66 }; +/* . */ const uint8_t Font_Roboto_Bold_20_glyph_46[] = { 4, 4, 6, 1, 4, 0, 0, 78, 210, 175, 247, 78, 210 }; +/* / */ const uint8_t Font_Roboto_Bold_20_glyph_47[] = { 9, 15, 7, -1, 14, 0, 0, 1, 255, 0, 0, 0, 111, 160, 0, 0, 12, 245, 0, 0, 1, 255, 0, 0, 0, 127, 160, 0, 0, 13, 244, 0, 0, 2, 254, 0, 0, 0, 143, 144, 0, 0, 13, 243, 0, 0, 3, 254, 0, 0, 0, 143, 128, 0, 0, 14, 243, 0, 0, 4, 253, 0, 0, 0, 159, 112, 0, 0, 14, 242, 0, 0, 0 }; +/* 0 */ const uint8_t Font_Roboto_Bold_20_glyph_48[] = { 11, 14, 11, 0, 14, 0, 42, 239, 233, 16, 0, 46, 255, 255, 254, 16, 11, 255, 149, 175, 250, 1, 255, 208, 0, 223, 240, 63, 249, 0, 9, 255, 52, 255, 128, 0, 143, 244, 95, 248, 0, 8, 255, 69, 255, 128, 0, 143, 244, 79, 248, 0, 8, 255, 67, 255, 144, 0, 159, 242, 15, 253, 0, 13, 255, 0, 175, 250, 89, 255, 160, 2, 239, 255, 255, 225, 0, 1, 158, 254, 145, 0 }; +/* 1 */ const uint8_t Font_Roboto_Bold_20_glyph_49[] = { 7, 14, 11, 1, 14, 0, 0, 90, 192, 74, 255, 253, 111, 255, 255, 214, 251, 111, 253, 16, 0, 255, 208, 0, 15, 253, 0, 0, 255, 208, 0, 15, 253, 0, 0, 255, 208, 0, 15, 253, 0, 0, 255, 208, 0, 15, 253, 0, 0, 255, 208, 0, 15, 253 }; +/* 2 */ const uint8_t Font_Roboto_Bold_20_glyph_50[] = { 11, 14, 11, 0, 14, 0, 58, 239, 234, 48, 0, 95, 255, 255, 255, 48, 31, 255, 117, 175, 252, 6, 255, 128, 0, 239, 240, 72, 130, 0, 13, 255, 0, 0, 0, 3, 255, 160, 0, 0, 1, 223, 242, 0, 0, 0, 207, 246, 0, 0, 0, 191, 248, 0, 0, 0, 191, 248, 0, 0, 0, 191, 249, 0, 0, 0, 191, 252, 68, 68, 66, 79, 255, 255, 255, 255, 116, 255, 255, 255, 255, 247 }; +/* 3 */ const uint8_t Font_Roboto_Bold_20_glyph_51[] = { 11, 14, 11, 0, 14, 0, 75, 239, 233, 32, 0, 143, 255, 255, 255, 48, 47, 254, 117, 175, 252, 4, 187, 80, 0, 239, 240, 0, 0, 0, 13, 255, 0, 0, 0, 7, 255, 144, 0, 6, 255, 255, 160, 0, 0, 111, 255, 250, 16, 0, 1, 52, 143, 252, 0, 0, 0, 0, 175, 242, 142, 229, 0, 10, 255, 53, 255, 230, 89, 255, 224, 10, 255, 255, 255, 245, 0, 6, 207, 254, 162, 0 }; +/* 4 */ const uint8_t Font_Roboto_Bold_20_glyph_52[] = { 11, 14, 11, 0, 14, 0, 0, 0, 223, 245, 0, 0, 0, 127, 255, 80, 0, 0, 47, 255, 245, 0, 0, 11, 255, 255, 80, 0, 5, 255, 159, 245, 0, 1, 239, 120, 255, 80, 0, 159, 208, 143, 245, 0, 63, 244, 8, 255, 80, 13, 250, 0, 143, 245, 6, 255, 255, 255, 255, 254, 111, 255, 255, 255, 255, 225, 68, 68, 74, 255, 132, 0, 0, 0, 143, 245, 0, 0, 0, 8, 255, 80 }; +/* 5 */ const uint8_t Font_Roboto_Bold_20_glyph_53[] = { 11, 14, 11, 0, 14, 1, 255, 255, 255, 255, 0, 63, 255, 255, 255, 240, 5, 255, 133, 85, 85, 0, 111, 242, 0, 0, 0, 8, 255, 0, 0, 0, 0, 175, 250, 239, 197, 0, 12, 255, 255, 255, 247, 0, 73, 164, 38, 255, 241, 0, 0, 0, 9, 255, 64, 0, 0, 0, 127, 246, 31, 251, 0, 10, 255, 64, 223, 249, 88, 255, 224, 3, 255, 255, 255, 245, 0, 1, 158, 254, 163, 0 }; +/* 6 */ const uint8_t Font_Roboto_Bold_20_glyph_54[] = { 11, 14, 11, 0, 14, 0, 0, 57, 223, 96, 0, 0, 159, 255, 246, 0, 0, 175, 255, 150, 32, 0, 79, 253, 32, 0, 0, 11, 255, 48, 0, 0, 0, 255, 215, 223, 215, 0, 47, 255, 255, 255, 249, 3, 255, 248, 71, 255, 242, 63, 249, 0, 8, 255, 98, 255, 144, 0, 95, 248, 15, 253, 0, 8, 255, 96, 143, 250, 87, 255, 241, 0, 207, 255, 255, 246, 0, 0, 125, 254, 179, 0 }; +/* 7 */ const uint8_t Font_Roboto_Bold_20_glyph_55[] = { 11, 14, 11, 0, 14, 111, 255, 255, 255, 255, 166, 255, 255, 255, 255, 249, 20, 68, 68, 74, 255, 48, 0, 0, 0, 239, 192, 0, 0, 0, 111, 245, 0, 0, 0, 13, 254, 0, 0, 0, 5, 255, 112, 0, 0, 0, 207, 241, 0, 0, 0, 79, 249, 0, 0, 0, 11, 255, 32, 0, 0, 3, 255, 176, 0, 0, 0, 175, 243, 0, 0, 0, 47, 252, 0, 0, 0, 9, 255, 80, 0, 0 }; +/* 8 */ const uint8_t Font_Roboto_Bold_20_glyph_56[] = { 11, 14, 11, 0, 14, 0, 42, 239, 234, 32, 0, 63, 255, 255, 255, 48, 11, 255, 165, 175, 251, 0, 255, 224, 0, 239, 240, 14, 254, 0, 14, 254, 0, 175, 246, 6, 255, 144, 1, 207, 255, 255, 192, 0, 10, 255, 255, 250, 0, 11, 255, 133, 143, 251, 3, 255, 160, 0, 175, 242, 79, 250, 0, 10, 255, 65, 255, 248, 88, 255, 241, 7, 255, 255, 255, 247, 0, 4, 190, 254, 179, 0 }; +/* 9 */ const uint8_t Font_Roboto_Bold_20_glyph_57[] = { 11, 14, 11, 0, 14, 0, 41, 239, 215, 0, 0, 46, 255, 255, 252, 0, 13, 255, 149, 191, 247, 3, 255, 176, 0, 239, 224, 95, 247, 0, 10, 255, 20, 255, 144, 0, 175, 243, 31, 255, 64, 78, 255, 48, 159, 255, 255, 255, 242, 0, 143, 255, 173, 255, 0, 0, 2, 17, 255, 192, 0, 0, 0, 191, 245, 0, 1, 105, 239, 251, 0, 0, 79, 255, 251, 0, 0, 4, 253, 164, 0, 0 }; +/* : */ const uint8_t Font_Roboto_Bold_20_glyph_58[] = { 4, 11, 6, 1, 11, 78, 210, 175, 247, 78, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 210, 175, 247, 78, 210 }; +/* ; */ const uint8_t Font_Roboto_Bold_20_glyph_59[] = { 5, 15, 5, 0, 11, 4, 237, 32, 175, 247, 4, 238, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 101, 0, 159, 192, 9, 252, 0, 175, 176, 13, 247, 4, 254, 16, 60, 80, 0 }; +/* < */ const uint8_t Font_Roboto_Bold_20_glyph_60[] = { 9, 9, 10, 0, 11, 0, 0, 0, 6, 192, 0, 3, 159, 255, 0, 108, 255, 255, 181, 255, 255, 199, 16, 127, 253, 48, 0, 5, 255, 255, 198, 16, 0, 108, 255, 255, 176, 0, 3, 159, 255, 0, 0, 0, 6, 192 }; +/* = */ const uint8_t Font_Roboto_Bold_20_glyph_61[] = { 10, 7, 11, 1, 9, 175, 255, 255, 255, 241, 175, 255, 255, 255, 241, 53, 85, 85, 85, 80, 0, 0, 0, 0, 0, 175, 255, 255, 255, 241, 175, 255, 255, 255, 241, 53, 85, 85, 85, 80 }; +/* > */ const uint8_t Font_Roboto_Bold_20_glyph_62[] = { 9, 9, 10, 1, 11, 183, 16, 0, 0, 13, 255, 164, 0, 0, 159, 255, 253, 113, 0, 21, 191, 255, 247, 0, 0, 44, 255, 160, 22, 191, 255, 247, 159, 255, 253, 113, 13, 255, 164, 0, 0, 183, 16, 0, 0, 0 }; +/* ? */ const uint8_t Font_Roboto_Bold_20_glyph_63[] = { 10, 14, 10, 0, 14, 0, 125, 254, 197, 0, 11, 255, 255, 255, 128, 79, 254, 103, 255, 240, 127, 245, 0, 175, 243, 0, 0, 0, 191, 242, 0, 0, 4, 255, 192, 0, 0, 79, 254, 32, 0, 1, 255, 226, 0, 0, 6, 255, 64, 0, 0, 8, 255, 0, 0, 0, 0, 0, 0, 0, 0, 6, 235, 0, 0, 0, 13, 255, 48, 0, 0, 6, 252, 0, 0 }; +/* @ */ const uint8_t Font_Roboto_Bold_20_glyph_64[] = { 18, 18, 18, 0, 14, 0, 0, 1, 124, 239, 236, 113, 0, 0, 0, 0, 95, 254, 185, 174, 255, 64, 0, 0, 7, 254, 80, 0, 0, 77, 245, 0, 0, 63, 210, 0, 0, 0, 1, 238, 16, 0, 223, 48, 3, 207, 233, 16, 95, 112, 4, 250, 0, 79, 253, 223, 160, 14, 192, 10, 244, 0, 239, 80, 111, 144, 11, 240, 13, 240, 5, 252, 0, 143, 112, 10, 241, 15, 224, 10, 247, 0, 159, 96, 10, 241, 31, 208, 13, 245, 0, 175, 64, 11, 240, 15, 208, 13, 245, 0, 207, 48, 14, 208, 15, 240, 11, 249, 4, 255, 48, 111, 112, 12, 243, 5, 255, 223, 239, 217, 253, 0, 7, 249, 0, 143, 232, 26, 255, 161, 0, 1, 239, 64, 0, 0, 0, 0, 0, 0, 0, 95, 248, 16, 0, 2, 0, 0, 0, 0, 4, 255, 253, 188, 239, 64, 0, 0, 0, 0, 23, 206, 254, 200, 16, 0, 0 }; +/* A */ const uint8_t Font_Roboto_Bold_20_glyph_65[] = { 14, 14, 13, 0, 14, 0, 0, 13, 255, 64, 0, 0, 0, 0, 63, 255, 160, 0, 0, 0, 0, 159, 255, 241, 0, 0, 0, 0, 239, 239, 246, 0, 0, 0, 5, 255, 111, 252, 0, 0, 0, 11, 255, 26, 255, 32, 0, 0, 31, 252, 5, 255, 128, 0, 0, 127, 246, 0, 255, 224, 0, 0, 223, 241, 0, 175, 244, 0, 3, 255, 255, 255, 255, 251, 0, 9, 255, 255, 255, 255, 255, 16, 15, 255, 102, 102, 107, 255, 112, 95, 251, 0, 0, 4, 255, 208, 207, 245, 0, 0, 0, 239, 243 }; +/* B */ const uint8_t Font_Roboto_Bold_20_glyph_66[] = { 11, 14, 13, 1, 14, 175, 255, 255, 236, 96, 10, 255, 255, 255, 255, 176, 175, 249, 102, 143, 255, 90, 255, 80, 0, 127, 249, 175, 245, 0, 5, 255, 138, 255, 80, 3, 223, 243, 175, 255, 255, 255, 245, 10, 255, 255, 255, 255, 160, 175, 246, 17, 41, 255, 154, 255, 80, 0, 15, 254, 175, 245, 0, 2, 255, 234, 255, 149, 87, 223, 250, 175, 255, 255, 255, 254, 42, 255, 255, 255, 217, 16 }; +/* C */ const uint8_t Font_Roboto_Bold_20_glyph_67[] = { 13, 14, 13, 0, 14, 0, 2, 141, 255, 198, 0, 0, 4, 255, 255, 255, 252, 0, 1, 255, 251, 120, 223, 250, 0, 159, 248, 0, 0, 239, 241, 14, 255, 16, 0, 9, 255, 80, 255, 208, 0, 0, 0, 0, 47, 253, 0, 0, 0, 0, 2, 255, 208, 0, 0, 0, 0, 31, 253, 0, 0, 0, 0, 0, 239, 240, 0, 0, 143, 245, 9, 255, 112, 0, 14, 255, 32, 47, 255, 167, 125, 255, 176, 0, 95, 255, 255, 255, 193, 0, 0, 41, 239, 252, 112, 0 }; +/* D */ const uint8_t Font_Roboto_Bold_20_glyph_68[] = { 12, 14, 13, 1, 14, 191, 255, 254, 181, 0, 0, 191, 255, 255, 255, 193, 0, 191, 248, 103, 223, 252, 0, 191, 243, 0, 11, 255, 96, 191, 243, 0, 2, 255, 192, 191, 243, 0, 0, 239, 240, 191, 243, 0, 0, 223, 241, 191, 243, 0, 0, 223, 241, 191, 243, 0, 0, 255, 240, 191, 243, 0, 3, 255, 192, 191, 243, 0, 12, 255, 96, 191, 247, 87, 223, 252, 0, 191, 255, 255, 255, 193, 0, 191, 255, 254, 181, 0, 0 }; +/* E */ const uint8_t Font_Roboto_Bold_20_glyph_69[] = { 10, 14, 11, 1, 14, 191, 255, 255, 255, 252, 191, 255, 255, 255, 252, 191, 248, 102, 102, 100, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 255, 255, 255, 208, 191, 255, 255, 255, 208, 191, 247, 68, 68, 48, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 247, 85, 85, 84, 191, 255, 255, 255, 252, 191, 255, 255, 255, 252 }; +/* F */ const uint8_t Font_Roboto_Bold_20_glyph_70[] = { 10, 14, 11, 1, 14, 191, 255, 255, 255, 248, 191, 255, 255, 255, 248, 191, 248, 102, 102, 99, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 255, 255, 255, 208, 191, 255, 255, 255, 208, 191, 247, 85, 85, 64, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0 }; +/* G */ const uint8_t Font_Roboto_Bold_20_glyph_71[] = { 12, 14, 14, 1, 14, 0, 7, 206, 253, 146, 0, 2, 223, 255, 255, 255, 64, 12, 255, 215, 106, 255, 225, 79, 253, 0, 0, 159, 246, 175, 245, 0, 0, 60, 199, 207, 242, 0, 0, 0, 0, 223, 241, 0, 0, 0, 0, 239, 241, 0, 239, 255, 251, 207, 242, 0, 239, 255, 251, 175, 246, 0, 34, 95, 251, 79, 253, 0, 0, 63, 251, 12, 255, 215, 103, 207, 251, 1, 207, 255, 255, 255, 245, 0, 6, 206, 254, 199, 16 }; +/* H */ const uint8_t Font_Roboto_Bold_20_glyph_72[] = { 12, 14, 14, 1, 14, 191, 243, 0, 0, 31, 253, 191, 243, 0, 0, 31, 253, 191, 243, 0, 0, 31, 253, 191, 243, 0, 0, 31, 253, 191, 243, 0, 0, 31, 253, 191, 243, 0, 0, 31, 253, 191, 255, 255, 255, 255, 253, 191, 255, 255, 255, 255, 253, 191, 247, 85, 85, 111, 253, 191, 243, 0, 0, 31, 253, 191, 243, 0, 0, 31, 253, 191, 243, 0, 0, 31, 253, 191, 243, 0, 0, 31, 253, 191, 243, 0, 0, 31, 253 }; +/* I */ const uint8_t Font_Roboto_Bold_20_glyph_73[] = { 4, 14, 6, 1, 14, 143, 246, 143, 246, 143, 246, 143, 246, 143, 246, 143, 246, 143, 246, 143, 246, 143, 246, 143, 246, 143, 246, 143, 246, 143, 246, 143, 246 }; +/* J */ const uint8_t Font_Roboto_Bold_20_glyph_74[] = { 10, 14, 11, 0, 14, 0, 0, 0, 31, 253, 0, 0, 0, 31, 253, 0, 0, 0, 31, 253, 0, 0, 0, 31, 253, 0, 0, 0, 31, 253, 0, 0, 0, 31, 253, 0, 0, 0, 31, 253, 0, 0, 0, 31, 253, 0, 0, 0, 31, 253, 70, 97, 0, 31, 253, 159, 246, 0, 79, 251, 95, 254, 119, 239, 246, 11, 255, 255, 255, 176, 0, 124, 255, 199, 0 }; +/* K */ const uint8_t Font_Roboto_Bold_20_glyph_75[] = { 12, 14, 13, 1, 14, 159, 245, 0, 2, 255, 247, 159, 245, 0, 29, 255, 160, 159, 245, 0, 191, 252, 0, 159, 245, 8, 255, 225, 0, 159, 245, 79, 255, 48, 0, 159, 247, 239, 246, 0, 0, 159, 255, 255, 241, 0, 0, 159, 255, 255, 250, 0, 0, 159, 255, 207, 255, 80, 0, 159, 252, 6, 255, 225, 0, 159, 245, 0, 207, 250, 0, 159, 245, 0, 47, 255, 80, 159, 245, 0, 7, 255, 225, 159, 245, 0, 0, 207, 250 }; +/* L */ const uint8_t Font_Roboto_Bold_20_glyph_76[] = { 10, 14, 11, 1, 14, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 247, 85, 85, 82, 191, 255, 255, 255, 246, 191, 255, 255, 255, 246 }; +/* M */ const uint8_t Font_Roboto_Bold_20_glyph_77[] = { 16, 14, 18, 1, 14, 191, 255, 64, 0, 0, 12, 255, 243, 191, 255, 160, 0, 0, 47, 255, 243, 191, 255, 240, 0, 0, 143, 255, 243, 191, 255, 245, 0, 0, 223, 255, 243, 191, 252, 251, 0, 3, 255, 191, 243, 191, 246, 255, 16, 9, 253, 143, 243, 191, 241, 255, 96, 14, 248, 143, 243, 191, 241, 175, 192, 79, 242, 159, 243, 191, 242, 79, 242, 175, 192, 175, 243, 191, 242, 14, 249, 255, 96, 175, 243, 191, 243, 8, 255, 255, 16, 191, 243, 191, 243, 3, 255, 250, 0, 191, 243, 191, 243, 0, 223, 244, 0, 191, 243, 191, 243, 0, 127, 224, 0, 191, 243 }; +/* N */ const uint8_t Font_Roboto_Bold_20_glyph_78[] = { 12, 14, 14, 1, 14, 223, 246, 0, 0, 63, 251, 223, 255, 16, 0, 63, 251, 223, 255, 160, 0, 63, 251, 223, 255, 244, 0, 63, 251, 223, 255, 253, 0, 63, 251, 223, 248, 255, 128, 63, 251, 223, 241, 223, 242, 63, 251, 223, 241, 63, 251, 63, 251, 223, 241, 9, 255, 143, 251, 223, 241, 1, 239, 255, 251, 223, 241, 0, 95, 255, 251, 223, 241, 0, 11, 255, 251, 223, 241, 0, 2, 255, 251, 223, 241, 0, 0, 127, 251 }; +/* O */ const uint8_t Font_Roboto_Bold_20_glyph_79[] = { 14, 14, 14, 0, 14, 0, 0, 124, 254, 199, 0, 0, 0, 45, 255, 255, 255, 210, 0, 0, 223, 253, 119, 223, 252, 0, 6, 255, 192, 0, 12, 255, 96, 12, 255, 64, 0, 3, 255, 176, 15, 255, 0, 0, 0, 255, 224, 15, 255, 0, 0, 0, 239, 240, 15, 255, 0, 0, 0, 239, 240, 15, 255, 0, 0, 0, 255, 224, 12, 255, 64, 0, 4, 255, 192, 6, 255, 192, 0, 12, 255, 96, 0, 223, 253, 119, 207, 253, 0, 0, 45, 255, 255, 255, 210, 0, 0, 0, 124, 255, 199, 0, 0 }; +/* P */ const uint8_t Font_Roboto_Bold_20_glyph_80[] = { 12, 14, 13, 1, 14, 191, 255, 255, 236, 112, 0, 191, 255, 255, 255, 252, 0, 191, 248, 102, 126, 255, 144, 191, 244, 0, 2, 255, 240, 191, 244, 0, 0, 207, 242, 191, 244, 0, 0, 239, 242, 191, 244, 0, 24, 255, 224, 191, 255, 255, 255, 255, 80, 191, 255, 255, 255, 229, 0, 191, 248, 101, 83, 0, 0, 191, 244, 0, 0, 0, 0, 191, 244, 0, 0, 0, 0, 191, 244, 0, 0, 0, 0, 191, 244, 0, 0, 0, 0 }; +/* Q */ const uint8_t Font_Roboto_Bold_20_glyph_81[] = { 14, 17, 14, 0, 14, 0, 0, 124, 254, 198, 0, 0, 0, 45, 255, 255, 255, 210, 0, 0, 223, 252, 119, 223, 252, 0, 6, 255, 176, 0, 12, 255, 80, 12, 255, 48, 0, 4, 255, 176, 15, 255, 0, 0, 0, 255, 224, 15, 254, 0, 0, 0, 255, 240, 15, 254, 0, 0, 0, 255, 240, 15, 255, 0, 0, 1, 255, 224, 12, 255, 64, 0, 4, 255, 176, 6, 255, 192, 0, 12, 255, 96, 0, 223, 252, 119, 207, 253, 0, 0, 45, 255, 255, 255, 225, 0, 0, 0, 124, 255, 255, 246, 0, 0, 0, 0, 0, 78, 255, 144, 0, 0, 0, 0, 2, 222, 32, 0, 0, 0, 0, 0, 1, 0 }; +/* R */ const uint8_t Font_Roboto_Bold_20_glyph_82[] = { 12, 14, 13, 1, 14, 159, 255, 255, 252, 112, 0, 159, 255, 255, 255, 252, 0, 159, 249, 102, 143, 255, 128, 159, 245, 0, 4, 255, 208, 159, 245, 0, 0, 255, 224, 159, 245, 0, 2, 255, 208, 159, 245, 0, 44, 255, 128, 159, 255, 255, 255, 252, 0, 159, 255, 255, 255, 176, 0, 159, 249, 103, 255, 224, 0, 159, 245, 0, 191, 247, 0, 159, 245, 0, 47, 255, 16, 159, 245, 0, 8, 255, 160, 159, 245, 0, 0, 239, 243 }; +/* S */ const uint8_t Font_Roboto_Bold_20_glyph_83[] = { 12, 14, 12, 0, 14, 0, 23, 207, 253, 146, 0, 2, 239, 255, 255, 255, 64, 11, 255, 198, 106, 255, 224, 15, 255, 0, 0, 191, 245, 15, 255, 64, 0, 19, 49, 8, 255, 251, 81, 0, 0, 0, 159, 255, 255, 162, 0, 0, 3, 175, 255, 255, 64, 0, 0, 0, 92, 255, 241, 55, 115, 0, 0, 191, 245, 95, 251, 0, 0, 159, 246, 14, 255, 182, 88, 255, 242, 3, 239, 255, 255, 255, 128, 0, 7, 206, 254, 180, 0 }; +/* T */ const uint8_t Font_Roboto_Bold_20_glyph_84[] = { 12, 14, 12, 0, 14, 159, 255, 255, 255, 255, 255, 159, 255, 255, 255, 255, 255, 54, 102, 159, 252, 102, 101, 0, 0, 95, 250, 0, 0, 0, 0, 95, 250, 0, 0, 0, 0, 95, 250, 0, 0, 0, 0, 95, 250, 0, 0, 0, 0, 95, 250, 0, 0, 0, 0, 95, 250, 0, 0, 0, 0, 95, 250, 0, 0, 0, 0, 95, 250, 0, 0, 0, 0, 95, 250, 0, 0, 0, 0, 95, 250, 0, 0, 0, 0, 95, 250, 0, 0 }; +/* U */ const uint8_t Font_Roboto_Bold_20_glyph_85[] = { 11, 14, 13, 1, 14, 255, 240, 0, 0, 255, 255, 255, 0, 0, 15, 255, 255, 240, 0, 0, 255, 255, 255, 0, 0, 15, 255, 255, 240, 0, 0, 255, 255, 255, 0, 0, 15, 255, 255, 240, 0, 0, 255, 255, 255, 0, 0, 15, 255, 255, 240, 0, 0, 255, 254, 255, 0, 0, 15, 254, 207, 245, 0, 5, 255, 198, 255, 248, 104, 255, 246, 10, 255, 255, 255, 249, 0, 5, 190, 254, 181, 0 }; +/* V */ const uint8_t Font_Roboto_Bold_20_glyph_86[] = { 13, 14, 13, 0, 14, 207, 246, 0, 0, 7, 255, 199, 255, 176, 0, 0, 207, 246, 31, 255, 0, 0, 31, 255, 16, 207, 245, 0, 5, 255, 176, 6, 255, 160, 0, 175, 246, 0, 31, 254, 0, 15, 255, 0, 0, 191, 244, 4, 255, 160, 0, 5, 255, 128, 159, 245, 0, 0, 15, 253, 14, 254, 0, 0, 0, 175, 245, 255, 144, 0, 0, 4, 255, 239, 244, 0, 0, 0, 14, 255, 254, 0, 0, 0, 0, 159, 255, 128, 0, 0, 0, 3, 255, 243, 0, 0 }; +/* W */ const uint8_t Font_Roboto_Bold_20_glyph_87[] = { 17, 14, 17, 0, 14, 207, 241, 0, 13, 254, 0, 1, 255, 201, 255, 64, 1, 255, 241, 0, 79, 249, 95, 247, 0, 79, 255, 80, 7, 255, 81, 255, 176, 8, 255, 249, 0, 175, 242, 14, 254, 0, 207, 255, 208, 13, 254, 0, 175, 241, 15, 249, 255, 0, 255, 160, 7, 255, 68, 255, 31, 244, 63, 247, 0, 63, 247, 127, 192, 207, 134, 255, 48, 0, 255, 171, 248, 8, 252, 175, 240, 0, 12, 253, 255, 80, 79, 253, 252, 0, 0, 143, 255, 241, 0, 255, 255, 144, 0, 5, 255, 253, 0, 12, 255, 245, 0, 0, 31, 255, 144, 0, 143, 255, 16, 0, 0, 223, 245, 0, 4, 255, 224, 0 }; +/* X */ const uint8_t Font_Roboto_Bold_20_glyph_88[] = { 13, 14, 13, 0, 14, 111, 254, 0, 0, 63, 255, 32, 207, 248, 0, 12, 255, 112, 3, 255, 241, 5, 255, 208, 0, 9, 255, 144, 239, 244, 0, 0, 30, 255, 175, 251, 0, 0, 0, 111, 255, 255, 32, 0, 0, 0, 207, 255, 128, 0, 0, 0, 13, 255, 249, 0, 0, 0, 7, 255, 255, 243, 0, 0, 1, 255, 249, 255, 192, 0, 0, 175, 249, 13, 255, 96, 0, 79, 255, 16, 79, 254, 16, 13, 255, 112, 0, 191, 249, 7, 255, 208, 0, 3, 255, 243 }; +/* Y */ const uint8_t Font_Roboto_Bold_20_glyph_89[] = { 13, 14, 12, 0, 14, 191, 247, 0, 0, 47, 255, 19, 255, 224, 0, 9, 255, 128, 10, 255, 96, 1, 255, 241, 0, 47, 253, 0, 143, 248, 0, 0, 175, 245, 14, 254, 0, 0, 2, 255, 199, 255, 112, 0, 0, 9, 255, 255, 224, 0, 0, 0, 31, 255, 246, 0, 0, 0, 0, 143, 253, 0, 0, 0, 0, 5, 255, 160, 0, 0, 0, 0, 95, 250, 0, 0, 0, 0, 5, 255, 160, 0, 0, 0, 0, 95, 250, 0, 0, 0, 0, 5, 255, 160, 0, 0 }; +/* Z */ const uint8_t Font_Roboto_Bold_20_glyph_90[] = { 12, 14, 12, 0, 14, 79, 255, 255, 255, 255, 246, 79, 255, 255, 255, 255, 245, 22, 102, 102, 106, 255, 192, 0, 0, 0, 30, 255, 32, 0, 0, 0, 191, 246, 0, 0, 0, 7, 255, 176, 0, 0, 0, 63, 254, 16, 0, 0, 0, 223, 244, 0, 0, 0, 9, 255, 144, 0, 0, 0, 79, 253, 0, 0, 0, 1, 239, 243, 0, 0, 0, 11, 255, 181, 85, 85, 83, 79, 255, 255, 255, 255, 248, 79, 255, 255, 255, 255, 248 }; +/* [ */ const uint8_t Font_Roboto_Bold_20_glyph_91[] = { 5, 20, 6, 1, 17, 223, 255, 109, 255, 246, 223, 242, 29, 255, 0, 223, 240, 13, 255, 0, 223, 240, 13, 255, 0, 223, 240, 13, 255, 0, 223, 240, 13, 255, 0, 223, 240, 13, 255, 0, 223, 240, 13, 255, 0, 223, 240, 13, 255, 33, 223, 255, 109, 255, 246 }; +/* \ */ const uint8_t Font_Roboto_Bold_20_glyph_92[] = { 9, 15, 8, 0, 14, 207, 241, 0, 0, 6, 255, 112, 0, 0, 15, 253, 0, 0, 0, 159, 244, 0, 0, 3, 255, 160, 0, 0, 13, 255, 16, 0, 0, 111, 247, 0, 0, 1, 255, 208, 0, 0, 10, 255, 48, 0, 0, 79, 250, 0, 0, 0, 223, 241, 0, 0, 7, 255, 96, 0, 0, 31, 253, 0, 0, 0, 175, 243, 0, 0, 4, 255, 144 }; +/* ] */ const uint8_t Font_Roboto_Bold_20_glyph_93[] = { 5, 20, 6, 0, 17, 239, 255, 94, 255, 245, 40, 255, 80, 127, 245, 7, 255, 80, 127, 245, 7, 255, 80, 127, 245, 7, 255, 80, 127, 245, 7, 255, 80, 127, 245, 7, 255, 80, 127, 245, 7, 255, 80, 127, 245, 7, 255, 82, 143, 245, 239, 255, 94, 255, 245 }; +/* ^ */ const uint8_t Font_Roboto_Bold_20_glyph_94[] = { 9, 7, 9, 0, 14, 0, 11, 251, 0, 0, 2, 255, 242, 0, 0, 159, 255, 144, 0, 15, 245, 255, 0, 6, 252, 12, 246, 0, 223, 96, 111, 208, 63, 240, 0, 255, 48 }; +/* _ */ const uint8_t Font_Roboto_Bold_20_glyph_95[] = { 9, 3, 9, 0, 0, 255, 255, 255, 255, 239, 255, 255, 255, 254, 51, 51, 51, 51, 32 }; +/* ` */ const uint8_t Font_Roboto_Bold_20_glyph_96[] = { 6, 3, 7, 0, 15, 46, 253, 0, 3, 255, 128, 0, 79, 243 }; +/* a */ const uint8_t Font_Roboto_Bold_20_glyph_97[] = { 11, 11, 11, 0, 11, 0, 75, 239, 216, 16, 0, 127, 255, 255, 253, 0, 15, 254, 50, 159, 246, 0, 0, 0, 3, 255, 144, 0, 108, 239, 255, 250, 0, 159, 254, 187, 255, 160, 47, 252, 0, 63, 250, 4, 255, 128, 3, 255, 160, 63, 253, 52, 223, 250, 0, 207, 255, 255, 255, 176, 0, 142, 252, 62, 254, 0 }; +/* b */ const uint8_t Font_Roboto_Bold_20_glyph_98[] = { 11, 15, 11, 0, 15, 31, 252, 0, 0, 0, 1, 255, 192, 0, 0, 0, 31, 252, 0, 0, 0, 1, 255, 192, 0, 0, 0, 31, 252, 126, 253, 80, 1, 255, 255, 255, 255, 80, 31, 255, 149, 159, 254, 1, 255, 208, 0, 191, 244, 31, 252, 0, 7, 255, 97, 255, 192, 0, 111, 247, 31, 252, 0, 6, 255, 97, 255, 208, 0, 175, 244, 31, 255, 149, 143, 254, 1, 255, 255, 255, 255, 96, 31, 249, 142, 253, 80, 0 }; +/* c */ const uint8_t Font_Roboto_Bold_20_glyph_99[] = { 10, 11, 10, 0, 11, 0, 59, 239, 216, 0, 4, 255, 255, 255, 176, 14, 255, 117, 207, 245, 95, 248, 0, 31, 249, 143, 245, 0, 2, 33, 159, 244, 0, 0, 0, 143, 245, 0, 0, 0, 95, 248, 0, 29, 216, 14, 255, 117, 191, 246, 4, 255, 255, 255, 176, 0, 59, 239, 215, 0 }; +/* d */ const uint8_t Font_Roboto_Bold_20_glyph_100[] = { 11, 15, 11, 0, 15, 0, 0, 0, 12, 255, 0, 0, 0, 0, 207, 240, 0, 0, 0, 12, 255, 0, 0, 0, 0, 207, 240, 0, 93, 253, 108, 255, 0, 95, 255, 255, 255, 240, 14, 255, 149, 175, 255, 4, 255, 176, 0, 223, 240, 111, 246, 0, 13, 255, 7, 255, 80, 0, 223, 240, 111, 246, 0, 13, 255, 3, 255, 160, 0, 223, 240, 14, 255, 133, 175, 255, 0, 95, 255, 255, 255, 240, 0, 93, 254, 137, 255, 0 }; +/* e */ const uint8_t Font_Roboto_Bold_20_glyph_101[] = { 11, 11, 11, 0, 11, 0, 7, 223, 235, 48, 0, 11, 255, 255, 255, 80, 7, 255, 165, 110, 254, 0, 239, 208, 0, 127, 243, 31, 255, 255, 255, 255, 83, 255, 254, 238, 238, 229, 47, 252, 0, 0, 0, 0, 239, 243, 0, 6, 32, 8, 255, 231, 89, 253, 0, 11, 255, 255, 255, 144, 0, 6, 207, 252, 80, 0 }; +/* f */ const uint8_t Font_Roboto_Bold_20_glyph_102[] = { 8, 15, 7, 0, 15, 0, 8, 223, 225, 0, 191, 255, 241, 2, 255, 230, 80, 3, 255, 144, 0, 207, 255, 255, 176, 207, 255, 255, 176, 4, 255, 161, 0, 3, 255, 144, 0, 3, 255, 144, 0, 3, 255, 144, 0, 3, 255, 144, 0, 3, 255, 144, 0, 3, 255, 144, 0, 3, 255, 144, 0, 3, 255, 144, 0 }; +/* g */ const uint8_t Font_Roboto_Bold_20_glyph_103[] = { 11, 15, 11, 0, 11, 0, 76, 254, 169, 255, 32, 95, 255, 255, 255, 242, 14, 255, 165, 159, 255, 36, 255, 176, 0, 191, 242, 127, 246, 0, 11, 255, 40, 255, 80, 0, 191, 242, 127, 246, 0, 11, 255, 36, 255, 176, 0, 191, 242, 14, 255, 149, 159, 255, 32, 95, 255, 255, 255, 242, 0, 76, 254, 139, 255, 16, 2, 0, 0, 239, 240, 4, 248, 68, 191, 250, 0, 159, 255, 255, 253, 16, 0, 92, 255, 216, 0, 0 }; +/* h */ const uint8_t Font_Roboto_Bold_20_glyph_104[] = { 11, 15, 11, 0, 15, 31, 251, 0, 0, 0, 1, 255, 176, 0, 0, 0, 31, 251, 0, 0, 0, 1, 255, 176, 0, 0, 0, 31, 251, 93, 254, 112, 1, 255, 239, 255, 255, 96, 31, 255, 149, 159, 253, 1, 255, 192, 0, 223, 240, 31, 251, 0, 12, 255, 1, 255, 176, 0, 207, 240, 31, 251, 0, 12, 255, 1, 255, 176, 0, 207, 240, 31, 251, 0, 12, 255, 1, 255, 176, 0, 207, 240, 31, 251, 0, 12, 255, 0 }; +/* i */ const uint8_t Font_Roboto_Bold_20_glyph_105[] = { 5, 15, 5, 0, 15, 8, 232, 0, 255, 240, 9, 250, 0, 0, 0, 14, 254, 0, 239, 224, 14, 254, 0, 239, 224, 14, 254, 0, 239, 224, 14, 254, 0, 239, 224, 14, 254, 0, 239, 224, 14, 254, 0 }; +/* j */ const uint8_t Font_Roboto_Bold_20_glyph_106[] = { 6, 19, 5, -1, 15, 0, 142, 128, 0, 255, 240, 0, 159, 160, 0, 0, 0, 0, 223, 240, 0, 223, 240, 0, 223, 240, 0, 223, 240, 0, 223, 240, 0, 223, 240, 0, 223, 240, 0, 223, 240, 0, 223, 240, 0, 223, 240, 0, 223, 240, 0, 239, 240, 88, 255, 192, 255, 255, 80, 239, 214, 0 }; +/* k */ const uint8_t Font_Roboto_Bold_20_glyph_107[] = { 10, 15, 11, 1, 15, 239, 224, 0, 0, 0, 239, 224, 0, 0, 0, 239, 224, 0, 0, 0, 239, 224, 0, 0, 0, 239, 224, 4, 255, 242, 239, 224, 46, 255, 64, 239, 224, 223, 247, 0, 239, 235, 255, 160, 0, 239, 255, 254, 0, 0, 239, 255, 255, 80, 0, 239, 254, 255, 225, 0, 239, 242, 143, 249, 0, 239, 224, 13, 255, 64, 239, 224, 4, 255, 208, 239, 224, 0, 175, 248 }; +/* l */ const uint8_t Font_Roboto_Bold_20_glyph_108[] = { 4, 15, 5, 1, 15, 207, 241, 207, 241, 207, 241, 207, 241, 207, 241, 207, 241, 207, 241, 207, 241, 207, 241, 207, 241, 207, 241, 207, 241, 207, 241, 207, 241, 207, 241 }; +/* m */ const uint8_t Font_Roboto_Bold_20_glyph_109[] = { 17, 11, 17, 0, 11, 31, 249, 92, 254, 112, 92, 254, 128, 1, 255, 239, 255, 255, 191, 255, 255, 128, 31, 255, 149, 159, 255, 181, 143, 254, 1, 255, 192, 0, 255, 240, 0, 223, 240, 31, 252, 0, 14, 254, 0, 12, 255, 17, 255, 192, 0, 239, 224, 0, 207, 241, 31, 252, 0, 14, 254, 0, 12, 255, 17, 255, 192, 0, 239, 224, 0, 207, 241, 31, 252, 0, 14, 254, 0, 12, 255, 17, 255, 192, 0, 239, 224, 0, 207, 241, 31, 252, 0, 14, 254, 0, 12, 255, 16 }; +/* n */ const uint8_t Font_Roboto_Bold_20_glyph_110[] = { 11, 11, 11, 0, 11, 31, 249, 109, 254, 128, 1, 255, 255, 255, 255, 96, 31, 255, 149, 143, 253, 1, 255, 192, 0, 223, 240, 31, 251, 0, 12, 255, 1, 255, 176, 0, 207, 240, 31, 251, 0, 12, 255, 1, 255, 176, 0, 207, 240, 31, 251, 0, 12, 255, 1, 255, 176, 0, 207, 240, 31, 251, 0, 12, 255, 0 }; +/* o */ const uint8_t Font_Roboto_Bold_20_glyph_111[] = { 11, 11, 11, 0, 11, 0, 25, 239, 233, 16, 0, 46, 255, 255, 254, 32, 13, 255, 149, 159, 253, 3, 255, 176, 0, 191, 243, 111, 246, 0, 6, 255, 104, 255, 80, 0, 95, 247, 127, 246, 0, 6, 255, 99, 255, 176, 0, 191, 243, 13, 255, 149, 159, 253, 0, 62, 255, 255, 254, 32, 0, 42, 239, 233, 32, 0 }; +/* p */ const uint8_t Font_Roboto_Bold_20_glyph_112[] = { 11, 15, 11, 0, 11, 31, 250, 142, 253, 80, 1, 255, 255, 255, 255, 80, 31, 255, 149, 159, 254, 1, 255, 192, 0, 191, 243, 31, 252, 0, 7, 255, 97, 255, 192, 0, 111, 247, 31, 252, 0, 7, 255, 97, 255, 192, 0, 191, 243, 31, 255, 149, 159, 254, 1, 255, 255, 255, 255, 80, 31, 252, 126, 253, 80, 1, 255, 192, 0, 0, 0, 31, 252, 0, 0, 0, 1, 255, 192, 0, 0, 0, 31, 252, 0, 0, 0, 0 }; +/* q */ const uint8_t Font_Roboto_Bold_20_glyph_113[] = { 11, 15, 11, 0, 11, 0, 93, 254, 136, 255, 0, 111, 255, 255, 255, 240, 14, 255, 149, 175, 255, 4, 255, 176, 0, 223, 240, 127, 246, 0, 13, 255, 7, 255, 80, 0, 223, 240, 111, 246, 0, 13, 255, 4, 255, 176, 0, 223, 240, 14, 255, 149, 159, 255, 0, 95, 255, 255, 255, 240, 0, 93, 254, 125, 255, 0, 0, 0, 0, 223, 240, 0, 0, 0, 13, 255, 0, 0, 0, 0, 223, 240, 0, 0, 0, 13, 255, 0 }; +/* r */ const uint8_t Font_Roboto_Bold_20_glyph_114[] = { 7, 11, 7, 0, 11, 31, 249, 126, 209, 255, 239, 254, 31, 255, 252, 177, 255, 226, 0, 31, 252, 0, 1, 255, 192, 0, 31, 252, 0, 1, 255, 192, 0, 31, 252, 0, 1, 255, 192, 0, 31, 252, 0, 0 }; +/* s */ const uint8_t Font_Roboto_Bold_20_glyph_115[] = { 10, 11, 10, 0, 11, 0, 92, 238, 198, 0, 9, 255, 255, 255, 160, 47, 251, 17, 207, 243, 63, 249, 0, 54, 98, 14, 255, 216, 64, 0, 2, 207, 255, 254, 64, 0, 3, 140, 255, 241, 73, 145, 0, 143, 245, 95, 249, 17, 175, 244, 11, 255, 255, 255, 192, 0, 124, 255, 198, 0 }; +/* t */ const uint8_t Font_Roboto_Bold_20_glyph_116[] = { 7, 14, 7, 0, 14, 3, 255, 160, 0, 63, 250, 0, 3, 255, 160, 12, 255, 255, 246, 207, 255, 255, 96, 79, 250, 16, 3, 255, 160, 0, 63, 250, 0, 3, 255, 160, 0, 63, 250, 0, 3, 255, 160, 0, 31, 254, 83, 0, 223, 255, 128, 2, 191, 246 }; +/* u */ const uint8_t Font_Roboto_Bold_20_glyph_117[] = { 11, 11, 11, 0, 11, 31, 252, 0, 12, 255, 1, 255, 192, 0, 207, 240, 31, 252, 0, 12, 255, 1, 255, 192, 0, 207, 240, 31, 252, 0, 12, 255, 1, 255, 192, 0, 207, 240, 31, 252, 0, 12, 255, 0, 255, 208, 0, 223, 240, 13, 255, 133, 159, 255, 0, 127, 255, 255, 255, 240, 0, 125, 253, 106, 255, 0 }; +/* v */ const uint8_t Font_Roboto_Bold_20_glyph_118[] = { 10, 11, 10, 0, 11, 207, 242, 0, 63, 251, 127, 246, 0, 127, 246, 47, 250, 0, 191, 241, 12, 254, 0, 255, 192, 7, 255, 52, 255, 96, 2, 255, 120, 255, 16, 0, 223, 188, 252, 0, 0, 143, 255, 247, 0, 0, 47, 255, 242, 0, 0, 13, 255, 192, 0, 0, 8, 255, 112, 0 }; +/* w */ const uint8_t Font_Roboto_Bold_20_glyph_119[] = { 15, 11, 15, 0, 11, 127, 243, 0, 191, 144, 4, 255, 99, 255, 96, 15, 254, 0, 143, 242, 15, 250, 3, 255, 242, 11, 254, 0, 191, 208, 143, 255, 112, 239, 160, 7, 255, 12, 252, 251, 31, 246, 0, 63, 244, 255, 63, 245, 255, 32, 0, 255, 207, 192, 223, 207, 224, 0, 11, 255, 247, 8, 255, 250, 0, 0, 143, 255, 48, 79, 255, 112, 0, 4, 255, 224, 0, 255, 243, 0, 0, 15, 249, 0, 10, 255, 0, 0 }; +/* x */ const uint8_t Font_Roboto_Bold_20_glyph_120[] = { 11, 11, 10, 0, 11, 111, 250, 0, 111, 249, 0, 223, 242, 14, 255, 16, 4, 255, 183, 255, 128, 0, 11, 255, 255, 224, 0, 0, 47, 255, 246, 0, 0, 0, 207, 255, 0, 0, 0, 79, 255, 248, 0, 0, 13, 255, 239, 241, 0, 6, 255, 149, 255, 160, 0, 239, 241, 12, 255, 48, 143, 248, 0, 79, 251, 0 }; +/* y */ const uint8_t Font_Roboto_Bold_20_glyph_121[] = { 10, 15, 10, 0, 11, 223, 243, 0, 47, 253, 127, 247, 0, 127, 247, 47, 252, 0, 207, 242, 12, 255, 17, 255, 192, 6, 255, 101, 255, 112, 1, 255, 170, 255, 16, 0, 191, 254, 252, 0, 0, 111, 255, 246, 0, 0, 31, 255, 241, 0, 0, 11, 255, 176, 0, 0, 6, 255, 96, 0, 0, 9, 255, 16, 0, 4, 127, 250, 0, 0, 13, 255, 242, 0, 0, 12, 252, 64, 0, 0 }; +/* z */ const uint8_t Font_Roboto_Bold_20_glyph_122[] = { 10, 11, 10, 0, 11, 47, 255, 255, 255, 245, 47, 255, 255, 255, 244, 4, 68, 75, 255, 176, 0, 0, 63, 254, 16, 0, 0, 223, 245, 0, 0, 9, 255, 144, 0, 0, 79, 253, 0, 0, 1, 239, 243, 0, 0, 11, 255, 180, 68, 66, 79, 255, 255, 255, 248, 79, 255, 255, 255, 248 }; +/* { */ const uint8_t Font_Roboto_Bold_20_glyph_123[] = { 7, 20, 7, 0, 16, 0, 0, 92, 16, 0, 143, 244, 0, 47, 247, 0, 7, 255, 0, 0, 159, 240, 0, 10, 254, 0, 0, 175, 224, 0, 11, 253, 0, 4, 255, 128, 5, 255, 192, 0, 95, 251, 0, 0, 79, 248, 0, 0, 191, 208, 0, 10, 254, 0, 0, 175, 224, 0, 9, 255, 0, 0, 127, 241, 0, 2, 255, 112, 0, 7, 255, 64, 0, 5, 193 }; +/* | */ const uint8_t Font_Roboto_Bold_20_glyph_124[] = { 3, 17, 5, 1, 14, 95, 101, 246, 95, 101, 246, 95, 101, 246, 95, 101, 246, 95, 101, 246, 95, 101, 246, 95, 101, 246, 95, 101, 246, 95, 96 }; +/* } */ const uint8_t Font_Roboto_Bold_20_glyph_125[] = { 7, 20, 7, 0, 16, 28, 80, 0, 4, 255, 112, 0, 7, 255, 32, 0, 31, 247, 0, 0, 255, 144, 0, 14, 249, 0, 0, 239, 144, 0, 13, 251, 0, 0, 143, 243, 0, 0, 207, 245, 0, 11, 255, 80, 8, 255, 64, 0, 223, 176, 0, 14, 249, 0, 0, 239, 144, 0, 15, 249, 0, 1, 255, 112, 0, 127, 242, 0, 79, 247, 0, 1, 197, 0, 0 }; +/* ~ */ const uint8_t Font_Roboto_Bold_20_glyph_126[] = { 11, 5, 13, 1, 8, 6, 239, 195, 0, 42, 149, 255, 255, 246, 9, 252, 207, 198, 207, 255, 255, 109, 227, 0, 143, 255, 160, 0, 0, 0, 20, 32, 0 }; + +const uint8_t * const Font_Roboto_Bold_20[126 + 1 - 32] = { + Font_Roboto_Bold_20_glyph_32, + Font_Roboto_Bold_20_glyph_33, + Font_Roboto_Bold_20_glyph_34, + Font_Roboto_Bold_20_glyph_35, + Font_Roboto_Bold_20_glyph_36, + Font_Roboto_Bold_20_glyph_37, + Font_Roboto_Bold_20_glyph_38, + Font_Roboto_Bold_20_glyph_39, + Font_Roboto_Bold_20_glyph_40, + Font_Roboto_Bold_20_glyph_41, + Font_Roboto_Bold_20_glyph_42, + Font_Roboto_Bold_20_glyph_43, + Font_Roboto_Bold_20_glyph_44, + Font_Roboto_Bold_20_glyph_45, + Font_Roboto_Bold_20_glyph_46, + Font_Roboto_Bold_20_glyph_47, + Font_Roboto_Bold_20_glyph_48, + Font_Roboto_Bold_20_glyph_49, + Font_Roboto_Bold_20_glyph_50, + Font_Roboto_Bold_20_glyph_51, + Font_Roboto_Bold_20_glyph_52, + Font_Roboto_Bold_20_glyph_53, + Font_Roboto_Bold_20_glyph_54, + Font_Roboto_Bold_20_glyph_55, + Font_Roboto_Bold_20_glyph_56, + Font_Roboto_Bold_20_glyph_57, + Font_Roboto_Bold_20_glyph_58, + Font_Roboto_Bold_20_glyph_59, + Font_Roboto_Bold_20_glyph_60, + Font_Roboto_Bold_20_glyph_61, + Font_Roboto_Bold_20_glyph_62, + Font_Roboto_Bold_20_glyph_63, + Font_Roboto_Bold_20_glyph_64, + Font_Roboto_Bold_20_glyph_65, + Font_Roboto_Bold_20_glyph_66, + Font_Roboto_Bold_20_glyph_67, + Font_Roboto_Bold_20_glyph_68, + Font_Roboto_Bold_20_glyph_69, + Font_Roboto_Bold_20_glyph_70, + Font_Roboto_Bold_20_glyph_71, + Font_Roboto_Bold_20_glyph_72, + Font_Roboto_Bold_20_glyph_73, + Font_Roboto_Bold_20_glyph_74, + Font_Roboto_Bold_20_glyph_75, + Font_Roboto_Bold_20_glyph_76, + Font_Roboto_Bold_20_glyph_77, + Font_Roboto_Bold_20_glyph_78, + Font_Roboto_Bold_20_glyph_79, + Font_Roboto_Bold_20_glyph_80, + Font_Roboto_Bold_20_glyph_81, + Font_Roboto_Bold_20_glyph_82, + Font_Roboto_Bold_20_glyph_83, + Font_Roboto_Bold_20_glyph_84, + Font_Roboto_Bold_20_glyph_85, + Font_Roboto_Bold_20_glyph_86, + Font_Roboto_Bold_20_glyph_87, + Font_Roboto_Bold_20_glyph_88, + Font_Roboto_Bold_20_glyph_89, + Font_Roboto_Bold_20_glyph_90, + Font_Roboto_Bold_20_glyph_91, + Font_Roboto_Bold_20_glyph_92, + Font_Roboto_Bold_20_glyph_93, + Font_Roboto_Bold_20_glyph_94, + Font_Roboto_Bold_20_glyph_95, + Font_Roboto_Bold_20_glyph_96, + Font_Roboto_Bold_20_glyph_97, + Font_Roboto_Bold_20_glyph_98, + Font_Roboto_Bold_20_glyph_99, + Font_Roboto_Bold_20_glyph_100, + Font_Roboto_Bold_20_glyph_101, + Font_Roboto_Bold_20_glyph_102, + Font_Roboto_Bold_20_glyph_103, + Font_Roboto_Bold_20_glyph_104, + Font_Roboto_Bold_20_glyph_105, + Font_Roboto_Bold_20_glyph_106, + Font_Roboto_Bold_20_glyph_107, + Font_Roboto_Bold_20_glyph_108, + Font_Roboto_Bold_20_glyph_109, + Font_Roboto_Bold_20_glyph_110, + Font_Roboto_Bold_20_glyph_111, + Font_Roboto_Bold_20_glyph_112, + Font_Roboto_Bold_20_glyph_113, + Font_Roboto_Bold_20_glyph_114, + Font_Roboto_Bold_20_glyph_115, + Font_Roboto_Bold_20_glyph_116, + Font_Roboto_Bold_20_glyph_117, + Font_Roboto_Bold_20_glyph_118, + Font_Roboto_Bold_20_glyph_119, + Font_Roboto_Bold_20_glyph_120, + Font_Roboto_Bold_20_glyph_121, + Font_Roboto_Bold_20_glyph_122, + Font_Roboto_Bold_20_glyph_123, + Font_Roboto_Bold_20_glyph_124, + Font_Roboto_Bold_20_glyph_125, + Font_Roboto_Bold_20_glyph_126, +}; diff --git a/extmod/modtrezorui/font_roboto_bold.h b/extmod/modtrezorui/font_roboto_bold.h new file mode 100644 index 0000000000..2afefd29ef --- /dev/null +++ b/extmod/modtrezorui/font_roboto_bold.h @@ -0,0 +1,3 @@ +#include + +const uint8_t * const Font_Roboto_Bold_20[126 + 1 - 32]; diff --git a/extmod/modtrezorui/font_roboto_regular.c b/extmod/modtrezorui/font_roboto_regular.c new file mode 100644 index 0000000000..e7345f3edf --- /dev/null +++ b/extmod/modtrezorui/font_roboto_regular.c @@ -0,0 +1,199 @@ +#include "font_roboto_regular.h" + +// first two bytes are width and height of the glyph +// third, fourth and fifth bytes are advance, bearingX and bearingY of the horizontal metrics of the glyph +// rest is packed 4-bit glyph data + +/* */ const uint8_t Font_Roboto_Regular_20_glyph_32[] = { 0, 0, 5, 0, 0 }; +/* ! */ const uint8_t Font_Roboto_Regular_20_glyph_33[] = { 3, 14, 5, 1, 14, 95, 133, 248, 95, 117, 247, 95, 116, 247, 79, 116, 246, 79, 99, 245, 0, 0, 0, 79, 132, 247 }; +/* " */ const uint8_t Font_Roboto_Regular_20_glyph_34[] = { 5, 5, 6, 1, 15, 171, 15, 90, 160, 245, 169, 15, 58, 128, 242, 167, 15, 16 }; +/* # */ const uint8_t Font_Roboto_Regular_20_glyph_35[] = { 12, 14, 12, 1, 14, 0, 0, 172, 0, 171, 0, 0, 0, 231, 0, 231, 0, 0, 2, 243, 3, 243, 0, 31, 255, 255, 255, 255, 241, 5, 92, 213, 92, 213, 80, 0, 12, 144, 12, 144, 0, 0, 15, 96, 15, 96, 0, 0, 47, 48, 63, 48, 0, 223, 255, 255, 255, 255, 80, 69, 190, 85, 190, 85, 16, 0, 187, 0, 186, 0, 0, 0, 216, 0, 232, 0, 0, 0, 245, 1, 245, 0, 0, 3, 243, 3, 242, 0, 0 }; +/* $ */ const uint8_t Font_Roboto_Regular_20_glyph_36[] = { 10, 19, 11, 1, 17, 0, 0, 17, 0, 0, 0, 0, 233, 0, 0, 0, 0, 233, 0, 0, 0, 125, 255, 178, 0, 10, 253, 155, 255, 32, 47, 192, 0, 111, 160, 95, 112, 0, 14, 224, 63, 160, 0, 6, 128, 13, 248, 16, 0, 0, 2, 223, 251, 80, 0, 0, 6, 207, 252, 16, 0, 0, 2, 191, 176, 85, 0, 0, 13, 241, 223, 0, 0, 11, 241, 159, 112, 0, 47, 224, 30, 252, 154, 255, 96, 1, 158, 255, 180, 0, 0, 0, 246, 0, 0, 0, 0, 213, 0, 0 }; +/* % */ const uint8_t Font_Roboto_Regular_20_glyph_37[] = { 13, 14, 15, 1, 14, 9, 238, 112, 0, 0, 0, 8, 228, 95, 96, 0, 0, 0, 215, 0, 155, 0, 28, 16, 15, 96, 8, 208, 11, 176, 0, 215, 0, 155, 6, 241, 0, 8, 228, 95, 97, 246, 0, 0, 9, 238, 128, 187, 0, 0, 0, 0, 0, 110, 41, 238, 112, 0, 0, 31, 89, 228, 111, 80, 0, 11, 176, 246, 0, 170, 0, 6, 225, 15, 64, 9, 192, 1, 245, 0, 246, 0, 170, 0, 90, 0, 9, 212, 95, 80, 0, 0, 0, 9, 238, 112 }; +/* & */ const uint8_t Font_Roboto_Regular_20_glyph_38[] = { 13, 14, 12, 0, 14, 0, 5, 207, 232, 0, 0, 0, 5, 254, 138, 250, 0, 0, 0, 191, 32, 11, 240, 0, 0, 12, 240, 0, 191, 0, 0, 0, 159, 96, 127, 128, 0, 0, 1, 239, 207, 144, 0, 0, 0, 9, 255, 96, 0, 0, 0, 10, 252, 252, 0, 7, 48, 8, 249, 6, 251, 3, 247, 0, 238, 0, 8, 249, 127, 64, 15, 208, 0, 10, 255, 224, 0, 207, 64, 0, 31, 248, 0, 3, 255, 168, 158, 254, 243, 0, 2, 174, 254, 163, 63, 225 }; +/* ' */ const uint8_t Font_Roboto_Regular_20_glyph_39[] = { 2, 5, 3, 1, 15, 247, 247, 246, 245, 244 }; +/* ( */ const uint8_t Font_Roboto_Regular_20_glyph_40[] = { 6, 21, 7, 1, 16, 0, 0, 131, 0, 9, 226, 0, 111, 64, 1, 234, 0, 7, 242, 0, 13, 208, 0, 47, 128, 0, 111, 80, 0, 159, 48, 0, 175, 32, 0, 191, 16, 0, 175, 32, 0, 159, 48, 0, 111, 80, 0, 63, 128, 0, 13, 208, 0, 7, 242, 0, 1, 234, 0, 0, 111, 64, 0, 9, 226, 0, 0, 131 }; +/* ) */ const uint8_t Font_Roboto_Regular_20_glyph_41[] = { 6, 21, 7, 0, 16, 102, 0, 0, 79, 112, 0, 7, 243, 0, 0, 220, 0, 0, 111, 80, 0, 15, 176, 0, 11, 240, 0, 8, 243, 0, 6, 246, 0, 5, 247, 0, 4, 248, 0, 5, 247, 0, 6, 246, 0, 8, 243, 0, 12, 240, 0, 15, 176, 0, 95, 80, 0, 204, 0, 6, 243, 0, 79, 112, 0, 102, 0, 0 }; +/* * */ const uint8_t Font_Roboto_Regular_20_glyph_42[] = { 9, 9, 9, 0, 14, 0, 6, 240, 0, 0, 0, 111, 0, 0, 72, 37, 240, 73, 7, 255, 239, 239, 226, 0, 79, 251, 32, 0, 8, 250, 225, 0, 4, 246, 14, 192, 0, 75, 0, 75, 0, 0, 0, 0, 0, 0 }; +/* + */ const uint8_t Font_Roboto_Regular_20_glyph_43[] = { 11, 12, 11, 0, 13, 0, 0, 2, 16, 0, 0, 0, 4, 248, 0, 0, 0, 0, 79, 128, 0, 0, 0, 4, 248, 0, 0, 0, 0, 79, 128, 0, 3, 255, 255, 255, 255, 248, 43, 187, 207, 219, 187, 80, 0, 4, 248, 0, 0, 0, 0, 79, 128, 0, 0, 0, 4, 248, 0, 0, 0, 0, 79, 128, 0, 0, 0, 0, 49, 0, 0 }; +/* , */ const uint8_t Font_Roboto_Regular_20_glyph_44[] = { 4, 6, 4, 0, 3, 1, 32, 12, 240, 12, 240, 15, 208, 95, 112, 91, 0 }; +/* - */ const uint8_t Font_Roboto_Regular_20_glyph_45[] = { 6, 2, 6, 0, 7, 175, 255, 242, 71, 119, 112 }; +/* . */ const uint8_t Font_Roboto_Regular_20_glyph_46[] = { 3, 3, 5, 1, 3, 1, 7, 248, 95, 96 }; +/* / */ const uint8_t Font_Roboto_Regular_20_glyph_47[] = { 8, 15, 8, 0, 14, 0, 0, 1, 247, 0, 0, 7, 241, 0, 0, 13, 160, 0, 0, 79, 64, 0, 0, 173, 0, 0, 1, 247, 0, 0, 7, 241, 0, 0, 13, 176, 0, 0, 79, 64, 0, 0, 174, 0, 0, 1, 248, 0, 0, 7, 241, 0, 0, 13, 176, 0, 0, 63, 80, 0, 0, 174, 0, 0, 0 }; +/* 0 */ const uint8_t Font_Roboto_Regular_20_glyph_48[] = { 10, 14, 11, 1, 14, 0, 141, 254, 162, 0, 12, 252, 138, 254, 16, 95, 160, 0, 111, 128, 175, 32, 0, 14, 208, 207, 0, 0, 12, 240, 223, 0, 0, 11, 241, 239, 0, 0, 11, 241, 239, 0, 0, 11, 241, 223, 0, 0, 11, 241, 207, 0, 0, 12, 240, 159, 48, 0, 15, 208, 79, 160, 0, 111, 128, 11, 251, 138, 254, 16, 0, 141, 254, 162, 0 }; +/* 1 */ const uint8_t Font_Roboto_Regular_20_glyph_49[] = { 7, 14, 11, 1, 14, 0, 1, 125, 32, 91, 255, 242, 95, 233, 207, 35, 80, 11, 242, 0, 0, 191, 32, 0, 11, 242, 0, 0, 191, 32, 0, 11, 242, 0, 0, 191, 32, 0, 11, 242, 0, 0, 191, 32, 0, 11, 242, 0, 0, 191, 32, 0, 11, 242 }; +/* 2 */ const uint8_t Font_Roboto_Regular_20_glyph_50[] = { 11, 14, 11, 0, 14, 0, 25, 239, 234, 32, 0, 46, 250, 139, 255, 32, 11, 245, 0, 7, 250, 0, 253, 0, 0, 15, 208, 6, 64, 0, 0, 251, 0, 0, 0, 0, 127, 80, 0, 0, 0, 47, 192, 0, 0, 0, 30, 226, 0, 0, 0, 29, 243, 0, 0, 0, 12, 244, 0, 0, 0, 11, 245, 0, 0, 0, 10, 245, 0, 0, 0, 9, 252, 119, 119, 119, 48, 223, 255, 255, 255, 248 }; +/* 3 */ const uint8_t Font_Roboto_Regular_20_glyph_51[] = { 10, 14, 11, 0, 14, 0, 25, 239, 217, 16, 2, 239, 168, 175, 225, 10, 245, 0, 7, 248, 13, 208, 0, 2, 250, 0, 0, 0, 4, 249, 0, 0, 0, 77, 225, 0, 3, 255, 253, 32, 0, 1, 120, 191, 193, 0, 0, 0, 6, 249, 0, 0, 0, 0, 253, 15, 192, 0, 0, 254, 12, 243, 0, 5, 250, 3, 255, 168, 175, 226, 0, 42, 239, 233, 16 }; +/* 4 */ const uint8_t Font_Roboto_Regular_20_glyph_52[] = { 11, 14, 11, 0, 14, 0, 0, 0, 127, 208, 0, 0, 0, 47, 253, 0, 0, 0, 12, 239, 208, 0, 0, 7, 245, 253, 0, 0, 2, 250, 15, 208, 0, 0, 222, 0, 253, 0, 0, 143, 64, 15, 208, 0, 63, 144, 0, 253, 0, 13, 208, 0, 15, 208, 6, 255, 255, 255, 255, 252, 55, 119, 119, 127, 231, 80, 0, 0, 0, 253, 0, 0, 0, 0, 15, 208, 0, 0, 0, 0, 253, 0 }; +/* 5 */ const uint8_t Font_Roboto_Regular_20_glyph_53[] = { 10, 14, 11, 1, 14, 5, 255, 255, 255, 240, 6, 252, 170, 170, 160, 8, 242, 0, 0, 0, 9, 241, 0, 0, 0, 11, 240, 0, 0, 0, 13, 234, 239, 214, 0, 14, 253, 171, 255, 112, 4, 96, 0, 63, 241, 0, 0, 0, 8, 245, 0, 0, 0, 6, 246, 111, 80, 0, 8, 245, 47, 192, 0, 30, 241, 8, 253, 137, 239, 112, 0, 108, 255, 197, 0 }; +/* 6 */ const uint8_t Font_Roboto_Regular_20_glyph_54[] = { 10, 14, 11, 1, 14, 0, 2, 157, 244, 0, 0, 127, 252, 146, 0, 5, 253, 32, 0, 0, 13, 241, 0, 0, 0, 79, 128, 0, 0, 0, 127, 106, 239, 197, 0, 175, 253, 137, 255, 80, 175, 160, 0, 47, 224, 191, 32, 0, 10, 243, 175, 48, 0, 8, 244, 111, 96, 0, 10, 242, 31, 209, 0, 47, 208, 6, 254, 153, 255, 64, 0, 76, 255, 179, 0 }; +/* 7 */ const uint8_t Font_Roboto_Regular_20_glyph_55[] = { 11, 14, 11, 0, 14, 79, 255, 255, 255, 255, 81, 119, 119, 119, 125, 242, 0, 0, 0, 1, 250, 0, 0, 0, 0, 127, 48, 0, 0, 0, 14, 192, 0, 0, 0, 6, 245, 0, 0, 0, 0, 237, 0, 0, 0, 0, 95, 96, 0, 0, 0, 13, 224, 0, 0, 0, 5, 248, 0, 0, 0, 0, 207, 16, 0, 0, 0, 79, 144, 0, 0, 0, 11, 242, 0, 0, 0, 3, 251, 0, 0, 0 }; +/* 8 */ const uint8_t Font_Roboto_Regular_20_glyph_56[] = { 10, 14, 11, 1, 14, 0, 141, 253, 145, 0, 13, 252, 138, 254, 32, 111, 160, 0, 111, 144, 143, 64, 0, 15, 192, 127, 96, 0, 47, 160, 30, 228, 2, 207, 48, 2, 223, 255, 244, 0, 10, 251, 138, 252, 16, 127, 112, 0, 79, 160, 223, 0, 0, 12, 240, 223, 0, 0, 12, 241, 175, 96, 0, 47, 224, 46, 250, 137, 255, 64, 1, 158, 254, 179, 0 }; +/* 9 */ const uint8_t Font_Roboto_Regular_20_glyph_57[] = { 10, 14, 11, 0, 14, 0, 25, 239, 215, 0, 1, 239, 184, 223, 160, 9, 246, 0, 11, 244, 14, 224, 0, 2, 250, 15, 192, 0, 0, 253, 14, 224, 0, 0, 238, 10, 246, 0, 7, 254, 2, 255, 168, 206, 253, 0, 43, 255, 178, 251, 0, 0, 0, 3, 248, 0, 0, 0, 10, 243, 0, 0, 0, 143, 176, 0, 8, 174, 252, 16, 0, 15, 235, 80, 0 }; +/* : */ const uint8_t Font_Roboto_Regular_20_glyph_58[] = { 3, 11, 5, 1, 11, 95, 103, 248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, 248, 95, 96 }; +/* ; */ const uint8_t Font_Roboto_Regular_20_glyph_59[] = { 4, 14, 4, 0, 11, 5, 246, 7, 248, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 32, 12, 240, 12, 240, 15, 208, 95, 112, 91, 0 }; +/* < */ const uint8_t Font_Roboto_Regular_20_glyph_60[] = { 9, 9, 10, 0, 11, 0, 0, 0, 7, 144, 0, 1, 126, 250, 0, 24, 255, 215, 17, 159, 251, 64, 0, 79, 228, 0, 0, 1, 159, 250, 64, 0, 0, 24, 255, 215, 16, 0, 1, 126, 250, 0, 0, 0, 7, 144 }; +/* = */ const uint8_t Font_Roboto_Regular_20_glyph_61[] = { 9, 6, 11, 1, 9, 143, 255, 255, 255, 164, 153, 153, 153, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 255, 255, 255, 164, 153, 153, 153, 149 }; +/* > */ const uint8_t Font_Roboto_Regular_20_glyph_62[] = { 9, 9, 10, 1, 11, 151, 16, 0, 0, 10, 255, 129, 0, 0, 5, 207, 250, 48, 0, 0, 41, 239, 195, 0, 0, 1, 207, 160, 0, 57, 255, 179, 6, 207, 250, 48, 10, 255, 129, 0, 0, 151, 0, 0, 0, 0 }; +/* ? */ const uint8_t Font_Roboto_Regular_20_glyph_63[] = { 9, 14, 9, 0, 14, 0, 108, 254, 162, 0, 159, 234, 191, 225, 31, 208, 0, 127, 130, 133, 0, 3, 250, 0, 0, 0, 95, 112, 0, 0, 30, 241, 0, 0, 29, 245, 0, 0, 12, 245, 0, 0, 4, 249, 0, 0, 0, 127, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 245, 0, 0, 0, 111, 80, 0 }; +/* @ */ const uint8_t Font_Roboto_Regular_20_glyph_64[] = { 17, 18, 18, 1, 14, 0, 0, 6, 206, 254, 199, 16, 0, 0, 0, 62, 249, 101, 105, 238, 48, 0, 0, 79, 160, 0, 0, 0, 143, 48, 0, 30, 144, 0, 0, 0, 0, 156, 0, 10, 208, 0, 43, 253, 128, 0, 228, 1, 245, 0, 46, 180, 111, 96, 9, 144, 111, 0, 11, 208, 2, 244, 0, 109, 9, 192, 2, 246, 0, 63, 48, 4, 224, 202, 0, 111, 32, 5, 241, 0, 79, 13, 144, 8, 240, 0, 111, 0, 5, 224, 201, 0, 159, 0, 8, 240, 0, 139, 11, 176, 8, 241, 1, 239, 0, 14, 96, 127, 0, 63, 199, 203, 247, 58, 208, 2, 245, 0, 126, 231, 8, 239, 161, 0, 10, 208, 0, 0, 0, 0, 0, 0, 0, 30, 193, 0, 0, 0, 0, 0, 0, 0, 45, 249, 84, 71, 194, 0, 0, 0, 0, 6, 190, 254, 200, 16, 0, 0 }; +/* A */ const uint8_t Font_Roboto_Regular_20_glyph_65[] = { 13, 14, 13, 0, 14, 0, 0, 8, 248, 0, 0, 0, 0, 0, 239, 224, 0, 0, 0, 0, 79, 223, 64, 0, 0, 0, 10, 242, 250, 0, 0, 0, 1, 251, 11, 241, 0, 0, 0, 127, 80, 95, 112, 0, 0, 13, 240, 0, 253, 0, 0, 3, 249, 0, 9, 243, 0, 0, 159, 64, 0, 79, 144, 0, 15, 255, 255, 255, 255, 0, 6, 251, 136, 136, 139, 246, 0, 207, 32, 0, 0, 47, 192, 47, 192, 0, 0, 0, 207, 40, 245, 0, 0, 0, 5, 248 }; +/* B */ const uint8_t Font_Roboto_Regular_20_glyph_66[] = { 11, 14, 12, 1, 14, 95, 255, 255, 234, 48, 5, 252, 136, 155, 255, 64, 95, 128, 0, 5, 252, 5, 248, 0, 0, 15, 224, 95, 128, 0, 1, 253, 5, 248, 0, 3, 207, 80, 95, 255, 255, 255, 80, 5, 252, 136, 137, 239, 64, 95, 128, 0, 1, 238, 5, 248, 0, 0, 10, 244, 95, 128, 0, 0, 175, 69, 248, 0, 0, 47, 241, 95, 200, 136, 175, 247, 5, 255, 255, 254, 180, 0 }; +/* C */ const uint8_t Font_Roboto_Regular_20_glyph_67[] = { 12, 14, 13, 1, 14, 0, 7, 223, 252, 96, 0, 2, 223, 201, 174, 251, 0, 12, 246, 0, 0, 191, 96, 95, 160, 0, 0, 47, 208, 175, 64, 0, 0, 10, 192, 207, 16, 0, 0, 0, 0, 223, 0, 0, 0, 0, 0, 223, 0, 0, 0, 0, 0, 207, 32, 0, 0, 0, 0, 175, 64, 0, 0, 9, 176, 95, 176, 0, 0, 31, 208, 13, 245, 0, 0, 175, 96, 2, 239, 200, 174, 250, 0, 0, 24, 223, 252, 96, 0 }; +/* D */ const uint8_t Font_Roboto_Regular_20_glyph_68[] = { 11, 14, 13, 1, 14, 95, 255, 254, 181, 0, 5, 252, 136, 174, 251, 16, 95, 128, 0, 8, 251, 5, 248, 0, 0, 10, 244, 95, 128, 0, 0, 63, 165, 248, 0, 0, 0, 253, 95, 128, 0, 0, 14, 229, 248, 0, 0, 0, 238, 95, 128, 0, 0, 15, 213, 248, 0, 0, 3, 250, 95, 128, 0, 0, 175, 69, 248, 0, 0, 143, 176, 95, 200, 138, 239, 177, 5, 255, 255, 235, 80, 0 }; +/* E */ const uint8_t Font_Roboto_Regular_20_glyph_69[] = { 10, 14, 11, 1, 14, 95, 255, 255, 255, 249, 95, 200, 136, 136, 133, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 255, 255, 255, 176, 95, 200, 136, 136, 80, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 200, 136, 136, 133, 95, 255, 255, 255, 251 }; +/* F */ const uint8_t Font_Roboto_Regular_20_glyph_70[] = { 10, 14, 11, 1, 14, 95, 255, 255, 255, 247, 95, 200, 136, 136, 131, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 255, 255, 255, 128, 95, 200, 136, 136, 64, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0 }; +/* G */ const uint8_t Font_Roboto_Regular_20_glyph_71[] = { 12, 14, 14, 1, 14, 0, 24, 223, 252, 112, 0, 2, 239, 201, 173, 252, 0, 13, 246, 0, 0, 175, 128, 95, 160, 0, 0, 15, 224, 159, 64, 0, 0, 4, 80, 207, 32, 0, 0, 0, 0, 207, 16, 0, 255, 255, 242, 207, 16, 0, 136, 141, 242, 191, 32, 0, 0, 11, 242, 143, 80, 0, 0, 11, 242, 63, 192, 0, 0, 11, 242, 11, 248, 0, 0, 46, 242, 1, 207, 217, 139, 255, 112, 0, 6, 206, 253, 163, 0 }; +/* H */ const uint8_t Font_Roboto_Regular_20_glyph_72[] = { 12, 14, 14, 1, 14, 95, 128, 0, 0, 5, 249, 95, 128, 0, 0, 5, 249, 95, 128, 0, 0, 5, 249, 95, 128, 0, 0, 5, 249, 95, 128, 0, 0, 5, 249, 95, 128, 0, 0, 5, 249, 95, 255, 255, 255, 255, 249, 95, 200, 136, 136, 138, 249, 95, 128, 0, 0, 5, 249, 95, 128, 0, 0, 5, 249, 95, 128, 0, 0, 5, 249, 95, 128, 0, 0, 5, 249, 95, 128, 0, 0, 5, 249, 95, 128, 0, 0, 5, 249 }; +/* I */ const uint8_t Font_Roboto_Regular_20_glyph_73[] = { 3, 14, 5, 1, 14, 63, 163, 250, 63, 163, 250, 63, 163, 250, 63, 163, 250, 63, 163, 250, 63, 163, 250, 63, 163, 250 }; +/* J */ const uint8_t Font_Roboto_Regular_20_glyph_74[] = { 10, 14, 11, 0, 14, 0, 0, 0, 6, 248, 0, 0, 0, 6, 248, 0, 0, 0, 6, 248, 0, 0, 0, 6, 248, 0, 0, 0, 6, 248, 0, 0, 0, 6, 248, 0, 0, 0, 6, 248, 0, 0, 0, 6, 248, 0, 0, 0, 6, 248, 2, 0, 0, 6, 247, 111, 112, 0, 8, 246, 63, 208, 0, 30, 242, 10, 254, 153, 239, 144, 0, 125, 255, 198, 0 }; +/* K */ const uint8_t Font_Roboto_Regular_20_glyph_75[] = { 12, 14, 13, 1, 14, 95, 128, 0, 0, 159, 160, 95, 128, 0, 7, 251, 0, 95, 128, 0, 95, 192, 0, 95, 128, 4, 253, 16, 0, 95, 128, 47, 226, 0, 0, 95, 129, 239, 48, 0, 0, 95, 157, 252, 0, 0, 0, 95, 253, 143, 128, 0, 0, 95, 225, 11, 244, 0, 0, 95, 128, 1, 238, 32, 0, 95, 128, 0, 79, 192, 0, 95, 128, 0, 8, 249, 0, 95, 128, 0, 0, 207, 96, 95, 128, 0, 0, 47, 243 }; +/* L */ const uint8_t Font_Roboto_Regular_20_glyph_76[] = { 10, 14, 11, 1, 14, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 200, 136, 136, 130, 95, 255, 255, 255, 244 }; +/* M */ const uint8_t Font_Roboto_Regular_20_glyph_77[] = { 15, 14, 17, 1, 14, 95, 244, 0, 0, 0, 0, 223, 197, 255, 176, 0, 0, 0, 63, 252, 95, 255, 16, 0, 0, 10, 255, 197, 251, 248, 0, 0, 1, 252, 236, 95, 110, 224, 0, 0, 127, 95, 197, 246, 143, 80, 0, 13, 224, 252, 95, 113, 251, 0, 4, 248, 15, 197, 247, 10, 242, 0, 175, 32, 252, 95, 128, 79, 128, 31, 176, 31, 197, 248, 0, 222, 8, 244, 1, 252, 95, 128, 7, 245, 237, 0, 31, 197, 248, 0, 31, 239, 112, 1, 252, 95, 128, 0, 159, 241, 0, 31, 197, 248, 0, 3, 250, 0, 1, 252 }; +/* N */ const uint8_t Font_Roboto_Regular_20_glyph_78[] = { 12, 14, 14, 1, 14, 143, 160, 0, 0, 7, 246, 143, 245, 0, 0, 7, 246, 143, 254, 16, 0, 7, 246, 143, 207, 160, 0, 7, 246, 143, 92, 245, 0, 7, 246, 143, 82, 254, 16, 7, 246, 143, 80, 127, 160, 7, 246, 143, 80, 12, 245, 7, 246, 143, 80, 2, 254, 23, 246, 143, 80, 0, 127, 167, 246, 143, 80, 0, 12, 252, 246, 143, 80, 0, 2, 255, 246, 143, 80, 0, 0, 127, 246, 143, 80, 0, 0, 13, 246 }; +/* O */ const uint8_t Font_Roboto_Regular_20_glyph_79[] = { 12, 14, 14, 1, 14, 0, 7, 223, 236, 80, 0, 1, 223, 218, 174, 250, 0, 11, 247, 0, 0, 175, 128, 79, 192, 0, 0, 14, 240, 159, 64, 0, 0, 8, 245, 191, 32, 0, 0, 5, 247, 223, 0, 0, 0, 4, 249, 223, 0, 0, 0, 4, 249, 191, 16, 0, 0, 5, 247, 159, 64, 0, 0, 8, 245, 79, 176, 0, 0, 14, 240, 11, 247, 0, 0, 175, 128, 1, 223, 218, 174, 251, 0, 0, 7, 223, 236, 96, 0 }; +/* P */ const uint8_t Font_Roboto_Regular_20_glyph_80[] = { 12, 14, 13, 1, 14, 47, 255, 255, 253, 145, 0, 47, 232, 136, 157, 254, 32, 47, 176, 0, 0, 143, 176, 47, 176, 0, 0, 15, 240, 47, 176, 0, 0, 13, 240, 47, 176, 0, 0, 31, 224, 47, 176, 0, 3, 207, 128, 47, 255, 255, 255, 249, 0, 47, 232, 136, 134, 32, 0, 47, 176, 0, 0, 0, 0, 47, 176, 0, 0, 0, 0, 47, 176, 0, 0, 0, 0, 47, 176, 0, 0, 0, 0, 47, 176, 0, 0, 0, 0 }; +/* Q */ const uint8_t Font_Roboto_Regular_20_glyph_81[] = { 12, 17, 14, 1, 14, 0, 7, 207, 236, 96, 0, 1, 207, 234, 174, 251, 0, 11, 248, 0, 0, 175, 128, 63, 192, 0, 0, 13, 241, 143, 80, 0, 0, 7, 246, 191, 48, 0, 0, 4, 248, 207, 16, 0, 0, 3, 249, 207, 16, 0, 0, 3, 250, 191, 32, 0, 0, 4, 248, 143, 80, 0, 0, 7, 246, 63, 176, 0, 0, 13, 241, 11, 248, 0, 0, 159, 144, 1, 207, 218, 174, 251, 0, 0, 7, 207, 238, 250, 0, 0, 0, 0, 0, 191, 210, 0, 0, 0, 0, 7, 227, 0, 0, 0, 0, 0, 0 }; +/* R */ const uint8_t Font_Roboto_Regular_20_glyph_82[] = { 11, 14, 12, 1, 14, 143, 255, 255, 234, 32, 8, 251, 136, 156, 255, 64, 143, 96, 0, 6, 253, 8, 246, 0, 0, 13, 241, 143, 96, 0, 0, 207, 40, 246, 0, 0, 31, 240, 143, 96, 0, 60, 248, 8, 255, 255, 255, 248, 0, 143, 184, 137, 251, 0, 8, 246, 0, 11, 244, 0, 143, 96, 0, 63, 208, 8, 246, 0, 0, 159, 96, 143, 96, 0, 1, 254, 24, 246, 0, 0, 7, 249 }; +/* S */ const uint8_t Font_Roboto_Regular_20_glyph_83[] = { 12, 14, 12, 0, 14, 0, 7, 207, 253, 112, 0, 0, 207, 217, 156, 253, 16, 7, 250, 0, 0, 127, 160, 10, 243, 0, 0, 14, 240, 9, 247, 0, 0, 3, 80, 2, 255, 146, 0, 0, 0, 0, 61, 255, 233, 48, 0, 0, 0, 73, 239, 250, 0, 0, 0, 0, 4, 207, 160, 5, 48, 0, 0, 14, 241, 15, 224, 0, 0, 12, 242, 10, 248, 0, 0, 63, 224, 1, 207, 218, 155, 255, 80, 0, 6, 206, 253, 146, 0 }; +/* T */ const uint8_t Font_Roboto_Regular_20_glyph_84[] = { 12, 14, 12, 0, 14, 143, 255, 255, 255, 255, 247, 72, 136, 143, 248, 136, 132, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0 }; +/* U */ const uint8_t Font_Roboto_Regular_20_glyph_85[] = { 11, 14, 13, 1, 14, 159, 48, 0, 0, 63, 169, 243, 0, 0, 3, 250, 159, 48, 0, 0, 63, 169, 243, 0, 0, 3, 250, 159, 48, 0, 0, 63, 169, 243, 0, 0, 3, 250, 159, 48, 0, 0, 63, 169, 243, 0, 0, 3, 250, 159, 48, 0, 0, 63, 169, 244, 0, 0, 3, 250, 127, 112, 0, 0, 111, 130, 254, 32, 0, 30, 242, 7, 255, 169, 175, 247, 0, 4, 190, 254, 180, 0 }; +/* V */ const uint8_t Font_Roboto_Regular_20_glyph_86[] = { 13, 14, 13, 0, 14, 111, 160, 0, 0, 0, 159, 96, 255, 0, 0, 0, 15, 241, 10, 245, 0, 0, 5, 250, 0, 79, 160, 0, 0, 175, 64, 0, 239, 0, 0, 15, 224, 0, 8, 246, 0, 6, 248, 0, 0, 47, 176, 0, 191, 32, 0, 0, 207, 16, 31, 192, 0, 0, 6, 246, 6, 246, 0, 0, 0, 15, 192, 207, 16, 0, 0, 0, 175, 79, 160, 0, 0, 0, 4, 254, 244, 0, 0, 0, 0, 14, 254, 0, 0, 0, 0, 0, 143, 128, 0, 0 }; +/* W */ const uint8_t Font_Roboto_Regular_20_glyph_87[] = { 18, 14, 18, 0, 14, 79, 144, 0, 0, 238, 0, 0, 10, 243, 15, 208, 0, 3, 255, 48, 0, 14, 224, 12, 241, 0, 8, 255, 112, 0, 47, 176, 8, 244, 0, 12, 221, 192, 0, 111, 112, 4, 248, 0, 31, 153, 240, 0, 159, 48, 1, 252, 0, 111, 68, 245, 0, 223, 0, 0, 223, 0, 175, 0, 249, 1, 251, 0, 0, 159, 48, 250, 0, 190, 4, 247, 0, 0, 95, 115, 246, 0, 111, 40, 243, 0, 0, 31, 184, 241, 0, 47, 124, 240, 0, 0, 13, 220, 192, 0, 13, 190, 176, 0, 0, 9, 255, 112, 0, 8, 255, 112, 0, 0, 5, 255, 48, 0, 4, 255, 48, 0, 0, 1, 254, 0, 0, 0, 255, 0, 0 }; +/* X */ const uint8_t Font_Roboto_Regular_20_glyph_88[] = { 13, 14, 13, 0, 14, 30, 242, 0, 0, 9, 249, 0, 95, 192, 0, 3, 254, 0, 0, 191, 96, 0, 207, 64, 0, 1, 254, 16, 111, 160, 0, 0, 6, 249, 31, 225, 0, 0, 0, 12, 252, 245, 0, 0, 0, 0, 47, 251, 0, 0, 0, 0, 3, 255, 192, 0, 0, 0, 0, 223, 191, 96, 0, 0, 0, 143, 128, 239, 16, 0, 0, 47, 224, 5, 251, 0, 0, 12, 245, 0, 11, 246, 0, 7, 251, 0, 0, 47, 225, 2, 255, 32, 0, 0, 143, 160 }; +/* Y */ const uint8_t Font_Roboto_Regular_20_glyph_89[] = { 12, 14, 12, 0, 14, 159, 128, 0, 0, 9, 248, 31, 241, 0, 0, 31, 225, 7, 249, 0, 0, 159, 96, 0, 223, 32, 2, 253, 0, 0, 95, 160, 10, 244, 0, 0, 12, 242, 63, 192, 0, 0, 3, 251, 191, 48, 0, 0, 0, 175, 250, 0, 0, 0, 0, 47, 241, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0 }; +/* Z */ const uint8_t Font_Roboto_Regular_20_glyph_90[] = { 12, 14, 12, 0, 14, 15, 255, 255, 255, 255, 224, 8, 136, 136, 136, 207, 176, 0, 0, 0, 1, 239, 32, 0, 0, 0, 11, 246, 0, 0, 0, 0, 127, 160, 0, 0, 0, 2, 254, 16, 0, 0, 0, 13, 244, 0, 0, 0, 0, 159, 128, 0, 0, 0, 4, 253, 0, 0, 0, 0, 30, 242, 0, 0, 0, 0, 175, 112, 0, 0, 0, 6, 251, 0, 0, 0, 0, 31, 250, 136, 136, 136, 129, 47, 255, 255, 255, 255, 243 }; +/* [ */ const uint8_t Font_Roboto_Regular_20_glyph_91[] = { 5, 19, 5, 1, 16, 159, 255, 25, 249, 112, 159, 64, 9, 244, 0, 159, 64, 9, 244, 0, 159, 64, 9, 244, 0, 159, 64, 9, 244, 0, 159, 64, 9, 244, 0, 159, 64, 9, 244, 0, 159, 64, 9, 244, 0, 159, 64, 9, 249, 112, 159, 255, 16 }; +/* \ */ const uint8_t Font_Roboto_Regular_20_glyph_92[] = { 9, 15, 8, 0, 14, 111, 64, 0, 0, 0, 251, 0, 0, 0, 9, 241, 0, 0, 0, 63, 112, 0, 0, 0, 222, 0, 0, 0, 6, 244, 0, 0, 0, 31, 160, 0, 0, 0, 175, 16, 0, 0, 3, 247, 0, 0, 0, 13, 208, 0, 0, 0, 127, 64, 0, 0, 1, 250, 0, 0, 0, 10, 241, 0, 0, 0, 79, 112, 0, 0, 0, 221, 0 }; +/* ] */ const uint8_t Font_Roboto_Regular_20_glyph_93[] = { 4, 19, 5, 0, 16, 239, 252, 120, 252, 0, 252, 0, 252, 0, 252, 0, 252, 0, 252, 0, 252, 0, 252, 0, 252, 0, 252, 0, 252, 0, 252, 0, 252, 0, 252, 0, 252, 0, 252, 120, 252, 239, 252 }; +/* ^ */ const uint8_t Font_Roboto_Regular_20_glyph_94[] = { 8, 7, 8, 0, 14, 0, 13, 208, 0, 0, 79, 243, 0, 0, 174, 234, 0, 1, 248, 159, 16, 8, 242, 47, 112, 14, 176, 12, 224, 95, 80, 5, 245 }; +/* _ */ const uint8_t Font_Roboto_Regular_20_glyph_95[] = { 9, 2, 9, 0, 0, 255, 255, 255, 255, 247, 119, 119, 119, 119 }; +/* ` */ const uint8_t Font_Roboto_Regular_20_glyph_96[] = { 5, 3, 6, 0, 15, 30, 242, 0, 63, 208, 0, 93, 64 }; +/* a */ const uint8_t Font_Roboto_Regular_20_glyph_97[] = { 9, 11, 11, 1, 11, 1, 158, 253, 145, 2, 239, 151, 175, 192, 126, 64, 0, 143, 64, 0, 0, 5, 247, 1, 157, 255, 255, 114, 254, 133, 72, 247, 175, 48, 0, 95, 125, 240, 0, 5, 247, 191, 64, 1, 223, 116, 255, 170, 254, 248, 4, 207, 232, 63, 176 }; +/* b */ const uint8_t Font_Roboto_Regular_20_glyph_98[] = { 10, 15, 11, 1, 15, 207, 0, 0, 0, 0, 207, 0, 0, 0, 0, 207, 0, 0, 0, 0, 207, 0, 0, 0, 0, 207, 59, 255, 178, 0, 207, 236, 155, 254, 32, 207, 128, 0, 111, 160, 207, 0, 0, 14, 240, 207, 0, 0, 11, 242, 207, 0, 0, 10, 242, 207, 0, 0, 11, 242, 207, 0, 0, 14, 240, 207, 128, 0, 111, 160, 207, 236, 155, 254, 32, 206, 43, 255, 178, 0 }; +/* c */ const uint8_t Font_Roboto_Regular_20_glyph_99[] = { 10, 11, 10, 0, 11, 0, 25, 239, 215, 0, 2, 239, 168, 207, 160, 11, 244, 0, 10, 244, 31, 176, 0, 3, 214, 79, 128, 0, 0, 0, 95, 112, 0, 0, 0, 79, 128, 0, 0, 0, 31, 176, 0, 1, 132, 11, 244, 0, 9, 244, 2, 239, 168, 207, 160, 0, 42, 239, 214, 0 }; +/* d */ const uint8_t Font_Roboto_Regular_20_glyph_100[] = { 10, 15, 11, 0, 15, 0, 0, 0, 1, 251, 0, 0, 0, 1, 251, 0, 0, 0, 1, 251, 0, 0, 0, 1, 251, 0, 43, 255, 180, 251, 1, 239, 184, 207, 251, 10, 246, 0, 8, 251, 15, 224, 0, 1, 251, 47, 176, 0, 1, 251, 63, 144, 0, 1, 251, 47, 176, 0, 1, 251, 15, 224, 0, 1, 251, 10, 246, 0, 8, 251, 1, 239, 184, 207, 251, 0, 43, 255, 178, 251 }; +/* e */ const uint8_t Font_Roboto_Regular_20_glyph_101[] = { 10, 11, 11, 1, 11, 0, 92, 254, 162, 0, 7, 252, 137, 255, 32, 63, 160, 0, 63, 160, 159, 32, 0, 13, 240, 207, 255, 255, 255, 240, 239, 119, 119, 119, 112, 223, 16, 0, 0, 0, 175, 80, 0, 0, 0, 79, 209, 0, 8, 96, 9, 254, 136, 207, 112, 0, 108, 255, 197, 0 }; +/* f */ const uint8_t Font_Roboto_Regular_20_glyph_102[] = { 7, 15, 7, 0, 15, 0, 5, 207, 208, 4, 254, 152, 0, 159, 64, 0, 11, 241, 0, 111, 255, 255, 82, 109, 247, 98, 0, 191, 16, 0, 11, 241, 0, 0, 191, 16, 0, 11, 241, 0, 0, 191, 16, 0, 11, 241, 0, 0, 191, 16, 0, 11, 241, 0, 0, 191, 16, 0 }; +/* g */ const uint8_t Font_Roboto_Regular_20_glyph_103[] = { 10, 15, 11, 0, 11, 0, 42, 255, 178, 236, 1, 239, 184, 207, 252, 9, 247, 0, 7, 252, 14, 224, 0, 1, 252, 31, 192, 0, 1, 252, 47, 160, 0, 1, 252, 31, 176, 0, 1, 252, 14, 224, 0, 1, 252, 9, 247, 0, 8, 252, 1, 239, 184, 207, 252, 0, 26, 255, 179, 252, 0, 0, 0, 2, 250, 2, 160, 0, 10, 246, 4, 254, 136, 207, 192, 0, 58, 239, 216, 0 }; +/* h */ const uint8_t Font_Roboto_Regular_20_glyph_104[] = { 9, 15, 11, 1, 15, 175, 32, 0, 0, 10, 242, 0, 0, 0, 175, 32, 0, 0, 10, 242, 0, 0, 0, 175, 56, 239, 196, 10, 254, 217, 175, 241, 175, 176, 0, 127, 122, 243, 0, 2, 249, 175, 32, 0, 47, 170, 242, 0, 2, 250, 175, 32, 0, 47, 170, 242, 0, 2, 250, 175, 32, 0, 47, 170, 242, 0, 2, 250, 175, 32, 0, 47, 160 }; +/* i */ const uint8_t Font_Roboto_Regular_20_glyph_105[] = { 3, 16, 5, 1, 16, 0, 6, 246, 95, 80, 0, 0, 6, 246, 111, 102, 246, 111, 102, 246, 111, 102, 246, 111, 102, 246, 111, 102, 246 }; +/* j */ const uint8_t Font_Roboto_Regular_20_glyph_106[] = { 5, 20, 5, -1, 16, 0, 0, 0, 7, 245, 0, 127, 64, 0, 0, 0, 0, 0, 7, 245, 0, 127, 80, 7, 245, 0, 127, 80, 7, 245, 0, 127, 80, 7, 245, 0, 127, 80, 7, 245, 0, 127, 80, 7, 245, 0, 127, 80, 8, 244, 89, 255, 23, 253, 64 }; +/* k */ const uint8_t Font_Roboto_Regular_20_glyph_107[] = { 10, 15, 10, 1, 15, 175, 48, 0, 0, 0, 175, 48, 0, 0, 0, 175, 48, 0, 0, 0, 175, 48, 0, 0, 0, 175, 48, 1, 239, 48, 175, 48, 12, 244, 0, 175, 48, 191, 96, 0, 175, 57, 248, 0, 0, 175, 143, 176, 0, 0, 175, 253, 243, 0, 0, 175, 113, 237, 0, 0, 175, 48, 95, 144, 0, 175, 48, 10, 245, 0, 175, 48, 1, 238, 16, 175, 48, 0, 95, 192 }; +/* l */ const uint8_t Font_Roboto_Regular_20_glyph_108[] = { 3, 15, 5, 1, 15, 127, 87, 245, 127, 87, 245, 127, 87, 245, 127, 87, 245, 127, 87, 245, 127, 87, 245, 127, 87, 245, 127, 80 }; +/* m */ const uint8_t Font_Roboto_Regular_20_glyph_109[] = { 16, 11, 18, 1, 11, 111, 88, 239, 214, 4, 207, 234, 16, 111, 237, 154, 255, 159, 185, 207, 192, 111, 176, 0, 79, 246, 0, 11, 243, 111, 96, 0, 15, 240, 0, 7, 245, 111, 96, 0, 14, 224, 0, 6, 246, 111, 96, 0, 14, 224, 0, 6, 246, 111, 96, 0, 14, 224, 0, 6, 246, 111, 96, 0, 14, 224, 0, 6, 246, 111, 96, 0, 14, 224, 0, 6, 246, 111, 96, 0, 14, 224, 0, 6, 246, 111, 96, 0, 14, 224, 0, 6, 246 }; +/* n */ const uint8_t Font_Roboto_Regular_20_glyph_110[] = { 9, 11, 11, 1, 11, 175, 40, 239, 196, 10, 253, 217, 175, 241, 175, 176, 0, 127, 122, 242, 0, 3, 249, 175, 32, 0, 47, 170, 242, 0, 2, 250, 175, 32, 0, 47, 170, 242, 0, 2, 250, 175, 32, 0, 47, 170, 242, 0, 2, 250, 175, 32, 0, 47, 160 }; +/* o */ const uint8_t Font_Roboto_Regular_20_glyph_111[] = { 11, 11, 11, 0, 11, 0, 24, 223, 232, 16, 0, 29, 251, 139, 253, 16, 9, 246, 0, 7, 250, 0, 253, 0, 0, 13, 240, 63, 160, 0, 0, 159, 52, 248, 0, 0, 8, 244, 63, 144, 0, 0, 175, 48, 253, 0, 0, 13, 240, 10, 246, 0, 6, 250, 0, 29, 250, 122, 253, 16, 0, 25, 239, 216, 16, 0 }; +/* p */ const uint8_t Font_Roboto_Regular_20_glyph_112[] = { 10, 15, 11, 1, 11, 191, 43, 255, 178, 0, 191, 235, 139, 255, 32, 191, 112, 0, 143, 160, 191, 16, 0, 14, 240, 191, 16, 0, 11, 242, 191, 16, 0, 10, 242, 191, 16, 0, 11, 242, 191, 16, 0, 14, 240, 191, 96, 0, 127, 160, 191, 250, 122, 254, 32, 191, 75, 255, 178, 0, 191, 16, 0, 0, 0, 191, 16, 0, 0, 0, 191, 16, 0, 0, 0, 191, 16, 0, 0, 0 }; +/* q */ const uint8_t Font_Roboto_Regular_20_glyph_113[] = { 10, 15, 11, 0, 11, 0, 43, 255, 179, 250, 2, 255, 168, 191, 250, 11, 246, 0, 7, 250, 15, 224, 0, 2, 250, 63, 160, 0, 2, 250, 79, 144, 0, 2, 250, 63, 160, 0, 2, 250, 15, 208, 0, 2, 250, 11, 245, 0, 7, 250, 2, 255, 167, 191, 250, 0, 43, 255, 181, 250, 0, 0, 0, 2, 250, 0, 0, 0, 2, 250, 0, 0, 0, 2, 250, 0, 0, 0, 2, 250 }; +/* r */ const uint8_t Font_Roboto_Regular_20_glyph_114[] = { 6, 11, 7, 1, 11, 143, 90, 248, 143, 239, 199, 143, 193, 0, 143, 64, 0, 143, 64, 0, 143, 64, 0, 143, 64, 0, 143, 64, 0, 143, 64, 0, 143, 64, 0, 143, 64, 0 }; +/* s */ const uint8_t Font_Roboto_Regular_20_glyph_115[] = { 10, 11, 10, 0, 11, 0, 59, 238, 196, 0, 5, 254, 136, 239, 96, 12, 241, 0, 31, 224, 13, 241, 0, 3, 64, 6, 254, 131, 0, 0, 0, 92, 255, 248, 0, 0, 0, 21, 191, 176, 23, 64, 0, 12, 241, 31, 208, 0, 13, 241, 7, 253, 136, 207, 144, 0, 92, 255, 198, 0 }; +/* t */ const uint8_t Font_Roboto_Regular_20_glyph_116[] = { 7, 14, 7, 0, 14, 0, 207, 0, 0, 12, 240, 0, 0, 207, 0, 11, 255, 255, 240, 70, 223, 102, 0, 12, 240, 0, 0, 207, 0, 0, 12, 240, 0, 0, 207, 0, 0, 12, 240, 0, 0, 207, 0, 0, 11, 241, 0, 0, 143, 201, 0, 1, 191, 224 }; +/* u */ const uint8_t Font_Roboto_Regular_20_glyph_117[] = { 9, 11, 11, 1, 11, 191, 32, 0, 47, 171, 242, 0, 2, 250, 191, 32, 0, 47, 171, 242, 0, 2, 250, 191, 32, 0, 47, 171, 242, 0, 2, 250, 191, 32, 0, 47, 170, 242, 0, 2, 250, 127, 112, 0, 159, 161, 255, 169, 223, 250, 3, 207, 234, 63, 160 }; +/* v */ const uint8_t Font_Roboto_Regular_20_glyph_118[] = { 10, 11, 10, 0, 11, 95, 112, 0, 8, 244, 15, 192, 0, 13, 224, 10, 241, 0, 47, 144, 4, 247, 0, 127, 64, 0, 236, 0, 206, 0, 0, 159, 17, 249, 0, 0, 79, 102, 243, 0, 0, 14, 187, 224, 0, 0, 8, 255, 128, 0, 0, 3, 255, 48, 0, 0, 0, 221, 0, 0 }; +/* w */ const uint8_t Font_Roboto_Regular_20_glyph_119[] = { 15, 11, 15, 0, 11, 127, 80, 0, 111, 80, 0, 111, 98, 249, 0, 11, 250, 0, 10, 242, 14, 208, 0, 255, 224, 0, 221, 0, 159, 16, 79, 127, 48, 31, 144, 5, 245, 9, 224, 248, 5, 244, 0, 31, 144, 233, 11, 208, 159, 0, 0, 205, 63, 64, 111, 45, 176, 0, 8, 249, 240, 1, 248, 247, 0, 0, 63, 250, 0, 12, 255, 32, 0, 0, 239, 96, 0, 127, 224, 0, 0, 10, 241, 0, 2, 249, 0, 0 }; +/* x */ const uint8_t Font_Roboto_Regular_20_glyph_120[] = { 10, 11, 10, 0, 11, 47, 208, 0, 31, 241, 8, 247, 0, 175, 96, 0, 223, 19, 252, 0, 0, 79, 156, 242, 0, 0, 10, 255, 128, 0, 0, 3, 255, 16, 0, 0, 11, 255, 144, 0, 0, 95, 155, 243, 0, 1, 238, 18, 253, 0, 10, 246, 0, 143, 128, 79, 192, 0, 13, 242 }; +/* y */ const uint8_t Font_Roboto_Regular_20_glyph_121[] = { 10, 15, 9, -1, 11, 13, 241, 0, 1, 252, 7, 247, 0, 6, 247, 2, 252, 0, 11, 242, 0, 207, 16, 15, 192, 0, 111, 96, 95, 96, 0, 31, 192, 175, 16, 0, 11, 241, 235, 0, 0, 5, 250, 246, 0, 0, 0, 255, 241, 0, 0, 0, 175, 176, 0, 0, 0, 95, 80, 0, 0, 0, 159, 0, 0, 0, 1, 250, 0, 0, 3, 174, 242, 0, 0, 5, 253, 64, 0, 0 }; +/* z */ const uint8_t Font_Roboto_Regular_20_glyph_122[] = { 10, 11, 10, 0, 11, 15, 255, 255, 255, 240, 8, 136, 136, 191, 192, 0, 0, 1, 239, 32, 0, 0, 11, 245, 0, 0, 0, 127, 160, 0, 0, 3, 254, 0, 0, 0, 13, 243, 0, 0, 0, 159, 128, 0, 0, 4, 252, 0, 0, 0, 14, 249, 119, 119, 113, 47, 255, 255, 255, 244 }; +/* { */ const uint8_t Font_Roboto_Regular_20_glyph_123[] = { 7, 20, 7, 0, 16, 0, 0, 42, 96, 0, 63, 211, 0, 12, 241, 0, 0, 251, 0, 0, 47, 144, 0, 3, 249, 0, 0, 63, 144, 0, 5, 247, 0, 2, 223, 32, 4, 255, 80, 0, 41, 252, 0, 0, 8, 245, 0, 0, 79, 128, 0, 3, 249, 0, 0, 63, 144, 0, 2, 249, 0, 0, 15, 192, 0, 0, 191, 32, 0, 2, 237, 48, 0, 2, 166 }; +/* | */ const uint8_t Font_Roboto_Regular_20_glyph_124[] = { 3, 17, 5, 1, 14, 79, 36, 242, 79, 36, 242, 79, 36, 242, 79, 36, 242, 79, 36, 242, 79, 36, 242, 79, 36, 242, 79, 36, 242, 79, 32 }; +/* } */ const uint8_t Font_Roboto_Regular_20_glyph_125[] = { 7, 20, 7, 0, 16, 122, 32, 0, 3, 222, 48, 0, 1, 252, 0, 0, 12, 240, 0, 0, 175, 32, 0, 10, 243, 0, 0, 159, 48, 0, 8, 245, 0, 0, 47, 194, 0, 0, 79, 244, 0, 12, 249, 16, 5, 247, 0, 0, 159, 48, 0, 10, 243, 0, 0, 175, 48, 0, 10, 242, 0, 0, 207, 0, 0, 47, 160, 0, 78, 226, 0, 6, 161, 0, 0 }; +/* ~ */ const uint8_t Font_Roboto_Regular_20_glyph_126[] = { 12, 4, 14, 1, 8, 3, 207, 215, 0, 0, 181, 30, 234, 223, 195, 8, 243, 111, 48, 7, 255, 255, 160, 35, 0, 0, 39, 133, 0 }; + +const uint8_t * const Font_Roboto_Regular_20[126 + 1 - 32] = { + Font_Roboto_Regular_20_glyph_32, + Font_Roboto_Regular_20_glyph_33, + Font_Roboto_Regular_20_glyph_34, + Font_Roboto_Regular_20_glyph_35, + Font_Roboto_Regular_20_glyph_36, + Font_Roboto_Regular_20_glyph_37, + Font_Roboto_Regular_20_glyph_38, + Font_Roboto_Regular_20_glyph_39, + Font_Roboto_Regular_20_glyph_40, + Font_Roboto_Regular_20_glyph_41, + Font_Roboto_Regular_20_glyph_42, + Font_Roboto_Regular_20_glyph_43, + Font_Roboto_Regular_20_glyph_44, + Font_Roboto_Regular_20_glyph_45, + Font_Roboto_Regular_20_glyph_46, + Font_Roboto_Regular_20_glyph_47, + Font_Roboto_Regular_20_glyph_48, + Font_Roboto_Regular_20_glyph_49, + Font_Roboto_Regular_20_glyph_50, + Font_Roboto_Regular_20_glyph_51, + Font_Roboto_Regular_20_glyph_52, + Font_Roboto_Regular_20_glyph_53, + Font_Roboto_Regular_20_glyph_54, + Font_Roboto_Regular_20_glyph_55, + Font_Roboto_Regular_20_glyph_56, + Font_Roboto_Regular_20_glyph_57, + Font_Roboto_Regular_20_glyph_58, + Font_Roboto_Regular_20_glyph_59, + Font_Roboto_Regular_20_glyph_60, + Font_Roboto_Regular_20_glyph_61, + Font_Roboto_Regular_20_glyph_62, + Font_Roboto_Regular_20_glyph_63, + Font_Roboto_Regular_20_glyph_64, + Font_Roboto_Regular_20_glyph_65, + Font_Roboto_Regular_20_glyph_66, + Font_Roboto_Regular_20_glyph_67, + Font_Roboto_Regular_20_glyph_68, + Font_Roboto_Regular_20_glyph_69, + Font_Roboto_Regular_20_glyph_70, + Font_Roboto_Regular_20_glyph_71, + Font_Roboto_Regular_20_glyph_72, + Font_Roboto_Regular_20_glyph_73, + Font_Roboto_Regular_20_glyph_74, + Font_Roboto_Regular_20_glyph_75, + Font_Roboto_Regular_20_glyph_76, + Font_Roboto_Regular_20_glyph_77, + Font_Roboto_Regular_20_glyph_78, + Font_Roboto_Regular_20_glyph_79, + Font_Roboto_Regular_20_glyph_80, + Font_Roboto_Regular_20_glyph_81, + Font_Roboto_Regular_20_glyph_82, + Font_Roboto_Regular_20_glyph_83, + Font_Roboto_Regular_20_glyph_84, + Font_Roboto_Regular_20_glyph_85, + Font_Roboto_Regular_20_glyph_86, + Font_Roboto_Regular_20_glyph_87, + Font_Roboto_Regular_20_glyph_88, + Font_Roboto_Regular_20_glyph_89, + Font_Roboto_Regular_20_glyph_90, + Font_Roboto_Regular_20_glyph_91, + Font_Roboto_Regular_20_glyph_92, + Font_Roboto_Regular_20_glyph_93, + Font_Roboto_Regular_20_glyph_94, + Font_Roboto_Regular_20_glyph_95, + Font_Roboto_Regular_20_glyph_96, + Font_Roboto_Regular_20_glyph_97, + Font_Roboto_Regular_20_glyph_98, + Font_Roboto_Regular_20_glyph_99, + Font_Roboto_Regular_20_glyph_100, + Font_Roboto_Regular_20_glyph_101, + Font_Roboto_Regular_20_glyph_102, + Font_Roboto_Regular_20_glyph_103, + Font_Roboto_Regular_20_glyph_104, + Font_Roboto_Regular_20_glyph_105, + Font_Roboto_Regular_20_glyph_106, + Font_Roboto_Regular_20_glyph_107, + Font_Roboto_Regular_20_glyph_108, + Font_Roboto_Regular_20_glyph_109, + Font_Roboto_Regular_20_glyph_110, + Font_Roboto_Regular_20_glyph_111, + Font_Roboto_Regular_20_glyph_112, + Font_Roboto_Regular_20_glyph_113, + Font_Roboto_Regular_20_glyph_114, + Font_Roboto_Regular_20_glyph_115, + Font_Roboto_Regular_20_glyph_116, + Font_Roboto_Regular_20_glyph_117, + Font_Roboto_Regular_20_glyph_118, + Font_Roboto_Regular_20_glyph_119, + Font_Roboto_Regular_20_glyph_120, + Font_Roboto_Regular_20_glyph_121, + Font_Roboto_Regular_20_glyph_122, + Font_Roboto_Regular_20_glyph_123, + Font_Roboto_Regular_20_glyph_124, + Font_Roboto_Regular_20_glyph_125, + Font_Roboto_Regular_20_glyph_126, +}; diff --git a/extmod/modtrezorui/font_roboto_regular.h b/extmod/modtrezorui/font_roboto_regular.h new file mode 100644 index 0000000000..27bee6ca4d --- /dev/null +++ b/extmod/modtrezorui/font_roboto_regular.h @@ -0,0 +1,3 @@ +#include + +const uint8_t * const Font_Roboto_Regular_20[126 + 1 - 32]; diff --git a/extmod/modtrezorui/font_robotomono_regular.c b/extmod/modtrezorui/font_robotomono_regular.c new file mode 100644 index 0000000000..60ab325ea0 --- /dev/null +++ b/extmod/modtrezorui/font_robotomono_regular.c @@ -0,0 +1,199 @@ +#include "font_robotomono_regular.h" + +// first two bytes are width and height of the glyph +// third, fourth and fifth bytes are advance, bearingX and bearingY of the horizontal metrics of the glyph +// rest is packed 4-bit glyph data + +/* */ const uint8_t Font_RobotoMono_Regular_20_glyph_32[] = { 0, 0, 12, 0, 0 }; +/* ! */ const uint8_t Font_RobotoMono_Regular_20_glyph_33[] = { 3, 15, 12, 4, 15, 31, 177, 251, 31, 177, 251, 31, 177, 251, 31, 177, 251, 31, 177, 251, 0, 0, 0, 1, 2, 253, 30, 192 }; +/* " */ const uint8_t Font_RobotoMono_Regular_20_glyph_34[] = { 6, 5, 12, 3, 15, 143, 0, 246, 142, 0, 246, 141, 0, 245, 140, 0, 244, 140, 0, 243 }; +/* # */ const uint8_t Font_RobotoMono_Regular_20_glyph_35[] = { 12, 15, 12, 0, 15, 0, 0, 47, 48, 63, 48, 0, 0, 111, 0, 111, 0, 0, 0, 156, 0, 156, 0, 0, 0, 201, 0, 201, 0, 10, 255, 255, 255, 255, 248, 5, 137, 249, 137, 249, 132, 0, 4, 241, 5, 241, 0, 0, 7, 224, 8, 224, 0, 0, 10, 176, 10, 176, 0, 56, 142, 200, 142, 200, 96, 111, 255, 255, 255, 255, 192, 0, 47, 48, 63, 48, 0, 0, 95, 0, 111, 0, 0, 0, 141, 0, 156, 0, 0, 0, 186, 0, 201, 0, 0 }; +/* $ */ const uint8_t Font_RobotoMono_Regular_20_glyph_36[] = { 10, 19, 12, 1, 17, 0, 0, 111, 16, 0, 0, 0, 111, 16, 0, 0, 5, 191, 130, 0, 0, 191, 255, 255, 64, 6, 251, 32, 111, 224, 12, 241, 0, 9, 245, 13, 240, 0, 5, 247, 11, 244, 0, 0, 33, 4, 255, 112, 0, 0, 0, 111, 255, 146, 0, 0, 2, 159, 255, 96, 0, 0, 0, 143, 243, 0, 0, 0, 7, 249, 95, 96, 0, 3, 250, 63, 160, 0, 5, 248, 12, 248, 16, 78, 242, 1, 191, 255, 254, 64, 0, 2, 191, 48, 0, 0, 0, 142, 0, 0 }; +/* % */ const uint8_t Font_RobotoMono_Regular_20_glyph_37[] = { 12, 15, 12, 0, 15, 7, 238, 128, 0, 0, 0, 63, 170, 245, 0, 0, 0, 141, 0, 201, 0, 162, 0, 140, 0, 186, 6, 224, 0, 111, 33, 232, 14, 96, 0, 30, 255, 225, 141, 0, 0, 1, 102, 17, 245, 0, 0, 0, 0, 9, 192, 0, 0, 0, 0, 47, 49, 102, 0, 0, 0, 186, 46, 255, 208, 0, 4, 242, 142, 19, 246, 0, 13, 144, 186, 0, 216, 0, 8, 16, 171, 0, 231, 0, 0, 0, 111, 154, 243, 0, 0, 0, 8, 238, 96 }; +/* & */ const uint8_t Font_RobotoMono_Regular_20_glyph_38[] = { 11, 15, 12, 1, 15, 0, 76, 254, 96, 0, 0, 47, 249, 207, 80, 0, 9, 245, 0, 235, 0, 0, 191, 32, 14, 192, 0, 8, 245, 6, 247, 0, 0, 47, 216, 250, 0, 0, 0, 143, 248, 0, 0, 0, 45, 255, 64, 0, 0, 30, 247, 254, 16, 111, 57, 246, 6, 251, 8, 242, 223, 0, 10, 247, 221, 14, 224, 0, 13, 255, 112, 175, 64, 0, 143, 241, 2, 255, 168, 207, 239, 160, 2, 174, 253, 112, 207, 80 }; +/* ' */ const uint8_t Font_RobotoMono_Regular_20_glyph_39[] = { 3, 5, 12, 4, 15, 47, 98, 245, 47, 66, 244, 47, 48 }; +/* ( */ const uint8_t Font_RobotoMono_Regular_20_glyph_40[] = { 6, 22, 12, 3, 17, 0, 0, 1, 0, 0, 200, 0, 11, 209, 0, 111, 48, 0, 250, 0, 7, 243, 0, 12, 224, 0, 31, 160, 0, 79, 112, 0, 111, 80, 0, 127, 80, 0, 127, 64, 0, 111, 80, 0, 95, 112, 0, 47, 144, 0, 14, 192, 0, 9, 241, 0, 2, 247, 0, 0, 174, 16, 0, 30, 160, 0, 3, 247, 0, 0, 35 }; +/* ) */ const uint8_t Font_RobotoMono_Regular_20_glyph_41[] = { 6, 22, 12, 3, 17, 32, 0, 0, 201, 0, 0, 63, 128, 0, 6, 243, 0, 0, 236, 0, 0, 127, 48, 0, 47, 144, 0, 14, 208, 0, 11, 241, 0, 9, 242, 0, 8, 243, 0, 8, 244, 0, 9, 243, 0, 10, 241, 0, 13, 224, 0, 15, 160, 0, 95, 80, 0, 190, 0, 3, 246, 0, 13, 192, 0, 173, 16, 0, 81, 0, 0 }; +/* * */ const uint8_t Font_RobotoMono_Regular_20_glyph_42[] = { 10, 10, 12, 1, 12, 0, 0, 159, 16, 0, 0, 0, 143, 0, 0, 1, 0, 127, 0, 1, 47, 180, 110, 6, 218, 42, 239, 255, 255, 233, 0, 3, 255, 146, 0, 0, 9, 234, 225, 0, 0, 111, 97, 251, 0, 1, 253, 0, 127, 112, 0, 67, 0, 8, 0 }; +/* + */ const uint8_t Font_RobotoMono_Regular_20_glyph_43[] = { 10, 11, 12, 1, 12, 0, 0, 239, 0, 0, 0, 0, 239, 0, 0, 0, 0, 239, 0, 0, 0, 0, 239, 0, 0, 0, 0, 239, 0, 0, 223, 255, 255, 255, 254, 104, 136, 255, 136, 135, 0, 0, 239, 0, 0, 0, 0, 239, 0, 0, 0, 0, 239, 0, 0, 0, 0, 239, 0, 0 }; +/* , */ const uint8_t Font_RobotoMono_Regular_20_glyph_44[] = { 4, 6, 12, 3, 2, 11, 244, 11, 244, 12, 243, 14, 224, 95, 96, 5, 0 }; +/* - */ const uint8_t Font_RobotoMono_Regular_20_glyph_45[] = { 8, 2, 12, 2, 8, 120, 136, 136, 132, 239, 255, 255, 249 }; +/* . */ const uint8_t Font_RobotoMono_Regular_20_glyph_46[] = { 4, 3, 12, 4, 3, 9, 195, 31, 250, 11, 245 }; +/* / */ const uint8_t Font_RobotoMono_Regular_20_glyph_47[] = { 9, 16, 12, 2, 15, 0, 0, 0, 205, 0, 0, 0, 47, 112, 0, 0, 8, 241, 0, 0, 0, 234, 0, 0, 0, 95, 64, 0, 0, 11, 224, 0, 0, 1, 248, 0, 0, 0, 127, 32, 0, 0, 13, 192, 0, 0, 3, 245, 0, 0, 0, 159, 0, 0, 0, 15, 144, 0, 0, 6, 243, 0, 0, 0, 205, 0, 0, 0, 47, 112, 0, 0, 3, 113, 0, 0, 0 }; +/* 0 */ const uint8_t Font_RobotoMono_Regular_20_glyph_48[] = { 10, 15, 12, 1, 15, 0, 75, 255, 196, 0, 5, 254, 153, 239, 80, 14, 225, 0, 30, 224, 79, 128, 0, 7, 245, 127, 80, 0, 6, 248, 143, 48, 0, 127, 249, 159, 48, 11, 250, 250, 159, 50, 223, 83, 250, 159, 159, 210, 3, 250, 143, 250, 0, 3, 249, 127, 128, 0, 4, 248, 79, 112, 0, 7, 245, 14, 225, 0, 29, 240, 5, 254, 153, 239, 80, 0, 75, 255, 196, 0 }; +/* 1 */ const uint8_t Font_RobotoMono_Regular_20_glyph_49[] = { 6, 15, 12, 2, 15, 0, 0, 36, 0, 92, 249, 159, 255, 249, 251, 84, 249, 16, 4, 249, 0, 4, 249, 0, 4, 249, 0, 4, 249, 0, 4, 249, 0, 4, 249, 0, 4, 249, 0, 4, 249, 0, 4, 249, 0, 4, 249, 0, 4, 249 }; +/* 2 */ const uint8_t Font_RobotoMono_Regular_20_glyph_50[] = { 11, 15, 12, 0, 15, 0, 25, 239, 232, 0, 0, 46, 250, 140, 253, 0, 11, 244, 0, 9, 247, 0, 252, 0, 0, 47, 176, 25, 96, 0, 1, 251, 0, 0, 0, 0, 95, 112, 0, 0, 0, 13, 241, 0, 0, 0, 9, 246, 0, 0, 0, 7, 250, 0, 0, 0, 4, 252, 0, 0, 0, 3, 253, 16, 0, 0, 1, 238, 32, 0, 0, 0, 223, 48, 0, 0, 0, 191, 200, 136, 136, 131, 14, 255, 255, 255, 255, 96 }; +/* 3 */ const uint8_t Font_RobotoMono_Regular_20_glyph_51[] = { 10, 15, 12, 0, 15, 0, 25, 239, 233, 16, 1, 239, 168, 191, 208, 10, 245, 0, 8, 247, 14, 224, 0, 2, 250, 0, 0, 0, 2, 250, 0, 0, 0, 9, 245, 0, 1, 137, 223, 128, 0, 3, 255, 254, 64, 0, 0, 0, 77, 244, 0, 0, 0, 2, 251, 1, 16, 0, 0, 238, 15, 208, 0, 0, 253, 12, 244, 0, 6, 249, 3, 255, 168, 191, 209, 0, 25, 239, 233, 16 }; +/* 4 */ const uint8_t Font_RobotoMono_Regular_20_glyph_52[] = { 11, 15, 12, 0, 15, 0, 0, 0, 63, 240, 0, 0, 0, 12, 255, 0, 0, 0, 6, 255, 240, 0, 0, 1, 251, 207, 0, 0, 0, 175, 44, 240, 0, 0, 79, 112, 207, 0, 0, 13, 208, 12, 240, 0, 7, 244, 0, 207, 0, 2, 250, 0, 12, 240, 0, 191, 16, 0, 207, 0, 63, 255, 255, 255, 255, 242, 136, 136, 136, 239, 136, 0, 0, 0, 12, 240, 0, 0, 0, 0, 207, 0, 0, 0, 0, 12, 240, 0 }; +/* 5 */ const uint8_t Font_RobotoMono_Regular_20_glyph_53[] = { 10, 15, 12, 1, 15, 0, 255, 255, 255, 245, 1, 252, 136, 136, 130, 2, 247, 0, 0, 0, 4, 246, 0, 0, 0, 5, 245, 0, 0, 0, 7, 245, 87, 97, 0, 8, 255, 255, 255, 80, 6, 214, 16, 111, 242, 0, 0, 0, 7, 248, 0, 0, 0, 2, 251, 0, 0, 0, 1, 251, 31, 176, 0, 3, 250, 12, 243, 0, 11, 245, 3, 255, 168, 223, 176, 0, 42, 239, 216, 0 }; +/* 6 */ const uint8_t Font_RobotoMono_Regular_20_glyph_54[] = { 10, 15, 12, 1, 15, 0, 1, 141, 245, 0, 0, 79, 252, 146, 0, 2, 254, 64, 0, 0, 10, 244, 0, 0, 0, 31, 176, 0, 0, 0, 79, 97, 103, 64, 0, 127, 159, 255, 252, 16, 159, 247, 17, 159, 176, 159, 112, 0, 13, 241, 159, 48, 0, 8, 244, 143, 80, 0, 7, 245, 79, 128, 0, 9, 243, 13, 242, 0, 47, 224, 3, 255, 153, 239, 64, 0, 59, 239, 179, 0 }; +/* 7 */ const uint8_t Font_RobotoMono_Regular_20_glyph_55[] = { 10, 15, 12, 1, 15, 239, 255, 255, 255, 251, 120, 136, 136, 138, 247, 0, 0, 0, 10, 241, 0, 0, 0, 31, 160, 0, 0, 0, 143, 48, 0, 0, 0, 236, 0, 0, 0, 6, 246, 0, 0, 0, 13, 224, 0, 0, 0, 79, 128, 0, 0, 0, 175, 32, 0, 0, 2, 251, 0, 0, 0, 8, 244, 0, 0, 0, 15, 208, 0, 0, 0, 111, 112, 0, 0, 0, 223, 16, 0, 0 }; +/* 8 */ const uint8_t Font_RobotoMono_Regular_20_glyph_56[] = { 10, 15, 12, 1, 15, 0, 42, 239, 214, 0, 2, 255, 168, 223, 144, 10, 245, 0, 13, 242, 14, 240, 0, 7, 246, 13, 240, 0, 7, 246, 9, 245, 0, 13, 241, 1, 207, 168, 223, 80, 0, 111, 255, 252, 16, 7, 250, 32, 94, 209, 15, 208, 0, 5, 247, 63, 144, 0, 1, 251, 63, 160, 0, 2, 251, 14, 242, 0, 9, 246, 5, 255, 152, 207, 192, 0, 59, 255, 216, 0 }; +/* 9 */ const uint8_t Font_RobotoMono_Regular_20_glyph_57[] = { 10, 15, 12, 1, 15, 0, 76, 254, 161, 0, 6, 254, 138, 254, 16, 15, 225, 0, 95, 160, 95, 112, 0, 12, 240, 143, 64, 0, 8, 244, 127, 64, 0, 6, 245, 95, 112, 0, 8, 246, 31, 225, 0, 63, 245, 8, 254, 138, 254, 244, 0, 109, 253, 120, 242, 0, 0, 0, 11, 224, 0, 0, 0, 63, 128, 0, 0, 3, 239, 16, 0, 73, 207, 228, 0, 0, 143, 200, 16, 0 }; +/* : */ const uint8_t Font_RobotoMono_Regular_20_glyph_58[] = { 4, 12, 12, 4, 12, 9, 195, 31, 250, 11, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 195, 31, 250, 11, 245 }; +/* ; */ const uint8_t Font_RobotoMono_Regular_20_glyph_59[] = { 4, 16, 12, 4, 12, 9, 195, 31, 250, 11, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 244, 11, 244, 12, 243, 14, 224, 95, 96, 5, 0 }; +/* < */ const uint8_t Font_RobotoMono_Regular_20_glyph_60[] = { 9, 10, 12, 1, 11, 0, 0, 0, 4, 176, 0, 0, 109, 255, 0, 23, 239, 233, 33, 159, 252, 96, 0, 95, 228, 0, 0, 1, 175, 250, 64, 0, 0, 25, 255, 215, 16, 0, 1, 126, 254, 0, 0, 0, 6, 192, 0, 0, 0, 0 }; +/* = */ const uint8_t Font_RobotoMono_Regular_20_glyph_61[] = { 10, 6, 12, 1, 10, 40, 136, 136, 136, 131, 95, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 136, 136, 136, 131, 95, 255, 255, 255, 246 }; +/* > */ const uint8_t Font_RobotoMono_Regular_20_glyph_62[] = { 10, 10, 12, 1, 11, 58, 48, 0, 0, 0, 79, 252, 80, 0, 0, 3, 159, 253, 112, 0, 0, 0, 91, 255, 145, 0, 0, 0, 61, 245, 0, 0, 91, 255, 161, 2, 142, 254, 129, 0, 63, 253, 96, 0, 0, 75, 64, 0, 0, 0, 0, 0, 0, 0, 0 }; +/* ? */ const uint8_t Font_RobotoMono_Regular_20_glyph_63[] = { 10, 15, 12, 1, 15, 0, 75, 255, 214, 0, 5, 254, 153, 223, 128, 14, 225, 0, 13, 241, 8, 96, 0, 9, 243, 0, 0, 0, 11, 242, 0, 0, 0, 47, 208, 0, 0, 1, 223, 80, 0, 0, 12, 248, 0, 0, 0, 159, 128, 0, 0, 0, 238, 0, 0, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 1, 254, 0, 0, 0, 1, 236, 0, 0 }; +/* @ */ const uint8_t Font_RobotoMono_Regular_20_glyph_64[] = { 12, 15, 12, 0, 15, 0, 0, 126, 253, 112, 0, 0, 29, 250, 138, 251, 0, 0, 189, 16, 0, 62, 96, 4, 241, 2, 116, 6, 208, 11, 128, 79, 255, 80, 241, 15, 48, 234, 27, 96, 211, 47, 4, 241, 11, 80, 196, 78, 7, 176, 13, 48, 196, 93, 9, 144, 14, 32, 226, 79, 9, 160, 31, 19, 224, 31, 38, 248, 222, 173, 144, 13, 128, 206, 86, 251, 0, 6, 245, 0, 0, 0, 0, 0, 191, 200, 139, 80, 0, 0, 6, 207, 251, 32, 0 }; +/* A */ const uint8_t Font_RobotoMono_Regular_20_glyph_65[] = { 12, 15, 12, 0, 15, 0, 0, 12, 240, 0, 0, 0, 0, 31, 245, 0, 0, 0, 0, 111, 250, 0, 0, 0, 0, 191, 206, 0, 0, 0, 0, 251, 111, 48, 0, 0, 4, 246, 47, 128, 0, 0, 9, 241, 13, 208, 0, 0, 14, 192, 8, 242, 0, 0, 63, 128, 4, 247, 0, 0, 143, 185, 153, 251, 0, 0, 223, 255, 255, 255, 16, 2, 249, 0, 0, 111, 80, 7, 244, 0, 0, 31, 160, 11, 240, 0, 0, 13, 224, 31, 176, 0, 0, 8, 244 }; +/* B */ const uint8_t Font_RobotoMono_Regular_20_glyph_66[] = { 10, 15, 12, 1, 15, 95, 255, 254, 198, 0, 95, 200, 137, 223, 160, 95, 128, 0, 12, 244, 95, 128, 0, 5, 247, 95, 128, 0, 6, 247, 95, 128, 0, 12, 242, 95, 200, 137, 239, 80, 95, 255, 255, 252, 48, 95, 128, 0, 77, 243, 95, 128, 0, 3, 251, 95, 128, 0, 0, 254, 95, 128, 0, 0, 253, 95, 128, 0, 9, 248, 95, 200, 136, 207, 192, 95, 255, 255, 215, 0 }; +/* C */ const uint8_t Font_RobotoMono_Regular_20_glyph_67[] = { 10, 15, 12, 1, 15, 0, 43, 255, 198, 0, 4, 254, 152, 223, 144, 14, 225, 0, 12, 244, 111, 96, 0, 3, 250, 191, 16, 0, 0, 169, 222, 0, 0, 0, 0, 253, 0, 0, 0, 0, 253, 0, 0, 0, 0, 253, 0, 0, 0, 0, 222, 0, 0, 0, 0, 191, 16, 0, 0, 152, 127, 96, 0, 3, 250, 14, 225, 0, 11, 243, 4, 254, 153, 223, 128, 0, 59, 255, 198, 0 }; +/* D */ const uint8_t Font_RobotoMono_Regular_20_glyph_68[] = { 11, 15, 12, 1, 15, 127, 255, 236, 96, 0, 7, 250, 137, 223, 209, 0, 127, 80, 0, 111, 192, 7, 245, 0, 0, 143, 96, 127, 80, 0, 1, 251, 7, 245, 0, 0, 13, 240, 127, 80, 0, 0, 191, 7, 245, 0, 0, 11, 241, 127, 80, 0, 0, 191, 7, 245, 0, 0, 13, 240, 127, 80, 0, 1, 251, 7, 245, 0, 0, 159, 96, 127, 80, 0, 111, 192, 7, 250, 137, 223, 209, 0, 127, 255, 252, 112, 0, 0 }; +/* E */ const uint8_t Font_RobotoMono_Regular_20_glyph_69[] = { 10, 15, 12, 1, 15, 63, 255, 255, 255, 246, 63, 200, 136, 136, 131, 63, 144, 0, 0, 0, 63, 144, 0, 0, 0, 63, 144, 0, 0, 0, 63, 144, 0, 0, 0, 63, 144, 0, 0, 0, 63, 255, 255, 255, 128, 63, 200, 136, 136, 64, 63, 144, 0, 0, 0, 63, 144, 0, 0, 0, 63, 144, 0, 0, 0, 63, 144, 0, 0, 0, 63, 200, 136, 136, 132, 63, 255, 255, 255, 248 }; +/* F */ const uint8_t Font_RobotoMono_Regular_20_glyph_70[] = { 10, 15, 12, 1, 15, 47, 255, 255, 255, 249, 47, 216, 136, 136, 132, 47, 176, 0, 0, 0, 47, 176, 0, 0, 0, 47, 176, 0, 0, 0, 47, 176, 0, 0, 0, 47, 176, 0, 0, 0, 47, 255, 255, 255, 144, 47, 216, 136, 136, 64, 47, 176, 0, 0, 0, 47, 176, 0, 0, 0, 47, 176, 0, 0, 0, 47, 176, 0, 0, 0, 47, 176, 0, 0, 0, 47, 176, 0, 0, 0 }; +/* G */ const uint8_t Font_RobotoMono_Regular_20_glyph_71[] = { 11, 15, 12, 0, 15, 0, 2, 191, 252, 96, 0, 4, 255, 169, 223, 160, 0, 238, 16, 0, 191, 80, 127, 96, 0, 3, 251, 11, 241, 0, 0, 6, 80, 237, 0, 0, 0, 0, 15, 192, 0, 0, 0, 0, 252, 0, 5, 136, 135, 15, 192, 0, 191, 255, 224, 238, 0, 0, 0, 222, 11, 241, 0, 0, 13, 224, 111, 112, 0, 0, 222, 0, 223, 48, 0, 31, 224, 2, 239, 168, 175, 245, 0, 1, 158, 253, 146, 0 }; +/* H */ const uint8_t Font_RobotoMono_Regular_20_glyph_72[] = { 10, 15, 12, 1, 15, 175, 16, 0, 1, 249, 175, 16, 0, 1, 249, 175, 16, 0, 1, 249, 175, 16, 0, 1, 249, 175, 16, 0, 1, 249, 175, 16, 0, 1, 249, 175, 16, 0, 1, 249, 175, 255, 255, 255, 249, 175, 136, 136, 136, 249, 175, 16, 0, 1, 249, 175, 16, 0, 1, 249, 175, 16, 0, 1, 249, 175, 16, 0, 1, 249, 175, 16, 0, 1, 249, 175, 16, 0, 1, 249 }; +/* I */ const uint8_t Font_RobotoMono_Regular_20_glyph_73[] = { 10, 15, 12, 1, 15, 79, 255, 255, 255, 244, 40, 136, 255, 136, 130, 0, 0, 254, 0, 0, 0, 0, 254, 0, 0, 0, 0, 254, 0, 0, 0, 0, 254, 0, 0, 0, 0, 254, 0, 0, 0, 0, 254, 0, 0, 0, 0, 254, 0, 0, 0, 0, 254, 0, 0, 0, 0, 254, 0, 0, 0, 0, 254, 0, 0, 0, 0, 254, 0, 0, 40, 136, 255, 136, 130, 79, 255, 255, 255, 244 }; +/* J */ const uint8_t Font_RobotoMono_Regular_20_glyph_74[] = { 11, 15, 12, 0, 15, 0, 0, 0, 0, 175, 48, 0, 0, 0, 10, 243, 0, 0, 0, 0, 175, 48, 0, 0, 0, 10, 243, 0, 0, 0, 0, 175, 48, 0, 0, 0, 10, 243, 0, 0, 0, 0, 175, 48, 0, 0, 0, 10, 243, 0, 0, 0, 0, 175, 48, 0, 0, 0, 10, 243, 6, 80, 0, 0, 175, 48, 239, 0, 0, 13, 240, 8, 248, 0, 6, 250, 0, 13, 252, 138, 254, 16, 0, 8, 223, 233, 16, 0 }; +/* K */ const uint8_t Font_RobotoMono_Regular_20_glyph_75[] = { 11, 15, 12, 1, 15, 95, 128, 0, 4, 253, 5, 248, 0, 2, 239, 32, 95, 128, 0, 207, 96, 5, 248, 0, 159, 144, 0, 95, 128, 95, 208, 0, 5, 248, 47, 242, 0, 0, 95, 156, 247, 0, 0, 5, 255, 255, 208, 0, 0, 95, 252, 175, 128, 0, 5, 253, 17, 255, 32, 0, 95, 128, 6, 252, 0, 5, 248, 0, 12, 246, 0, 95, 128, 0, 47, 225, 5, 248, 0, 0, 143, 160, 95, 128, 0, 0, 223, 64 }; +/* L */ const uint8_t Font_RobotoMono_Regular_20_glyph_76[] = { 10, 15, 12, 1, 15, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 233, 153, 153, 150, 31, 255, 255, 255, 251 }; +/* M */ const uint8_t Font_RobotoMono_Regular_20_glyph_77[] = { 10, 15, 12, 1, 15, 143, 208, 0, 10, 252, 143, 242, 0, 15, 252, 143, 247, 0, 95, 252, 143, 220, 0, 174, 236, 143, 159, 16, 248, 236, 143, 79, 101, 243, 252, 143, 45, 170, 224, 252, 143, 40, 255, 144, 252, 143, 52, 255, 64, 252, 143, 48, 238, 0, 252, 143, 48, 136, 0, 252, 143, 48, 0, 0, 252, 143, 48, 0, 0, 252, 143, 48, 0, 0, 252, 143, 48, 0, 0, 252 }; +/* N */ const uint8_t Font_RobotoMono_Regular_20_glyph_78[] = { 10, 15, 12, 1, 15, 159, 112, 0, 3, 249, 159, 224, 0, 3, 249, 159, 247, 0, 3, 249, 159, 254, 0, 3, 249, 159, 175, 112, 3, 249, 159, 78, 224, 3, 249, 159, 54, 246, 3, 249, 159, 48, 238, 3, 249, 159, 48, 127, 99, 249, 159, 48, 14, 228, 249, 159, 48, 7, 250, 249, 159, 48, 0, 239, 249, 159, 48, 0, 127, 249, 159, 48, 0, 14, 249, 159, 48, 0, 7, 249 }; +/* O */ const uint8_t Font_RobotoMono_Regular_20_glyph_79[] = { 10, 15, 12, 1, 15, 0, 43, 255, 178, 0, 4, 254, 153, 239, 48, 14, 225, 0, 30, 224, 111, 96, 0, 6, 245, 175, 16, 0, 1, 250, 222, 0, 0, 0, 237, 253, 0, 0, 0, 222, 253, 0, 0, 0, 223, 253, 0, 0, 0, 222, 222, 0, 0, 0, 237, 191, 16, 0, 1, 250, 111, 96, 0, 6, 246, 14, 225, 0, 30, 224, 4, 254, 153, 239, 64, 0, 43, 255, 179, 0 }; +/* P */ const uint8_t Font_RobotoMono_Regular_20_glyph_80[] = { 11, 15, 12, 1, 15, 47, 255, 255, 233, 16, 2, 253, 136, 139, 254, 32, 47, 160, 0, 6, 251, 2, 250, 0, 0, 13, 241, 47, 160, 0, 0, 175, 34, 250, 0, 0, 12, 241, 47, 160, 0, 5, 251, 2, 253, 136, 139, 254, 32, 47, 255, 255, 233, 16, 2, 250, 0, 0, 0, 0, 47, 160, 0, 0, 0, 2, 250, 0, 0, 0, 0, 47, 160, 0, 0, 0, 2, 250, 0, 0, 0, 0, 47, 160, 0, 0, 0, 0 }; +/* Q */ const uint8_t Font_RobotoMono_Regular_20_glyph_81[] = { 12, 18, 12, 0, 15, 0, 3, 191, 251, 48, 0, 0, 79, 233, 158, 244, 0, 1, 253, 16, 1, 223, 0, 7, 245, 0, 0, 95, 112, 12, 240, 0, 0, 15, 176, 15, 208, 0, 0, 13, 240, 15, 176, 0, 0, 11, 240, 31, 176, 0, 0, 11, 241, 15, 176, 0, 0, 11, 240, 15, 208, 0, 0, 13, 240, 12, 240, 0, 0, 15, 192, 7, 245, 0, 0, 95, 112, 1, 253, 16, 1, 223, 16, 0, 79, 233, 158, 245, 0, 0, 3, 191, 255, 247, 0, 0, 0, 0, 1, 223, 160, 0, 0, 0, 0, 11, 209, 0, 0, 0, 0, 0, 0 }; +/* R */ const uint8_t Font_RobotoMono_Regular_20_glyph_82[] = { 11, 15, 12, 1, 15, 63, 255, 255, 198, 0, 3, 252, 136, 158, 250, 0, 63, 144, 0, 12, 245, 3, 249, 0, 0, 63, 160, 63, 144, 0, 1, 251, 3, 249, 0, 0, 63, 160, 63, 144, 0, 12, 244, 3, 252, 136, 158, 249, 0, 63, 255, 255, 246, 0, 3, 249, 0, 95, 128, 0, 63, 144, 0, 238, 0, 3, 249, 0, 6, 247, 0, 63, 144, 0, 14, 224, 3, 249, 0, 0, 127, 96, 63, 144, 0, 1, 253, 0 }; +/* S */ const uint8_t Font_RobotoMono_Regular_20_glyph_83[] = { 11, 15, 12, 1, 15, 0, 75, 239, 215, 0, 0, 95, 249, 157, 252, 0, 31, 225, 0, 10, 247, 5, 248, 0, 0, 31, 208, 95, 144, 0, 0, 85, 1, 255, 96, 0, 0, 0, 4, 255, 215, 16, 0, 0, 2, 191, 255, 145, 0, 0, 0, 40, 239, 209, 0, 0, 0, 0, 175, 160, 70, 0, 0, 0, 255, 11, 244, 0, 0, 14, 240, 95, 209, 0, 5, 251, 0, 143, 233, 139, 254, 32, 0, 75, 239, 215, 16, 0 }; +/* T */ const uint8_t Font_RobotoMono_Regular_20_glyph_84[] = { 12, 15, 12, 0, 15, 79, 255, 255, 255, 255, 244, 40, 136, 142, 248, 136, 130, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0 }; +/* U */ const uint8_t Font_RobotoMono_Regular_20_glyph_85[] = { 10, 15, 12, 1, 15, 175, 16, 0, 2, 249, 175, 16, 0, 2, 250, 175, 16, 0, 2, 250, 175, 16, 0, 2, 250, 175, 16, 0, 2, 250, 175, 16, 0, 2, 250, 175, 16, 0, 2, 250, 175, 32, 0, 2, 250, 175, 32, 0, 2, 250, 175, 32, 0, 2, 250, 159, 48, 0, 3, 249, 111, 96, 0, 7, 246, 31, 225, 0, 30, 241, 5, 254, 153, 239, 80, 0, 75, 255, 179, 0 }; +/* V */ const uint8_t Font_RobotoMono_Regular_20_glyph_86[] = { 12, 15, 12, 0, 15, 47, 192, 0, 0, 13, 241, 13, 241, 0, 0, 47, 192, 9, 245, 0, 0, 111, 112, 4, 250, 0, 0, 191, 48, 0, 254, 0, 0, 254, 0, 0, 175, 48, 5, 249, 0, 0, 95, 128, 9, 244, 0, 0, 31, 208, 14, 240, 0, 0, 12, 241, 63, 176, 0, 0, 7, 246, 143, 96, 0, 0, 2, 251, 207, 16, 0, 0, 0, 223, 252, 0, 0, 0, 0, 159, 248, 0, 0, 0, 0, 79, 243, 0, 0, 0, 0, 15, 224, 0, 0 }; +/* W */ const uint8_t Font_RobotoMono_Regular_20_glyph_87[] = { 12, 15, 12, 0, 15, 63, 112, 11, 240, 3, 247, 31, 144, 14, 242, 5, 245, 15, 160, 31, 245, 6, 244, 14, 192, 63, 248, 8, 242, 12, 224, 111, 203, 10, 240, 10, 240, 157, 158, 11, 224, 8, 241, 186, 111, 29, 192, 6, 242, 232, 63, 63, 160, 4, 245, 245, 31, 127, 144, 3, 249, 243, 14, 207, 112, 1, 254, 240, 12, 255, 80, 0, 255, 208, 9, 255, 48, 0, 223, 176, 7, 255, 16, 0, 191, 128, 4, 255, 0, 0, 159, 96, 1, 253, 0 }; +/* X */ const uint8_t Font_RobotoMono_Regular_20_glyph_88[] = { 12, 15, 12, 0, 15, 12, 245, 0, 0, 47, 241, 3, 253, 0, 0, 175, 112, 0, 175, 96, 3, 254, 0, 0, 47, 224, 11, 245, 0, 0, 8, 248, 79, 192, 0, 0, 1, 239, 223, 64, 0, 0, 0, 127, 251, 0, 0, 0, 0, 31, 244, 0, 0, 0, 0, 127, 252, 0, 0, 0, 1, 253, 175, 80, 0, 0, 10, 245, 31, 208, 0, 0, 63, 208, 8, 246, 0, 0, 191, 64, 1, 254, 16, 5, 252, 0, 0, 143, 128, 13, 243, 0, 0, 14, 242 }; +/* Y */ const uint8_t Font_RobotoMono_Regular_20_glyph_89[] = { 12, 15, 12, 0, 15, 47, 208, 0, 0, 31, 224, 11, 245, 0, 0, 143, 112, 3, 252, 0, 0, 255, 16, 0, 207, 48, 7, 248, 0, 0, 79, 176, 14, 241, 0, 0, 13, 242, 95, 144, 0, 0, 5, 249, 223, 32, 0, 0, 0, 223, 250, 0, 0, 0, 0, 111, 243, 0, 0, 0, 0, 15, 192, 0, 0, 0, 0, 15, 192, 0, 0, 0, 0, 15, 192, 0, 0, 0, 0, 15, 176, 0, 0, 0, 0, 15, 176, 0, 0, 0, 0, 15, 176, 0, 0 }; +/* Z */ const uint8_t Font_RobotoMono_Regular_20_glyph_90[] = { 10, 15, 12, 1, 15, 207, 255, 255, 255, 244, 104, 136, 136, 143, 242, 0, 0, 0, 111, 144, 0, 0, 1, 238, 16, 0, 0, 9, 246, 0, 0, 0, 47, 208, 0, 0, 0, 191, 64, 0, 0, 5, 250, 0, 0, 0, 13, 242, 0, 0, 0, 127, 128, 0, 0, 1, 254, 0, 0, 0, 10, 245, 0, 0, 0, 63, 192, 0, 0, 0, 207, 168, 136, 136, 132, 223, 255, 255, 255, 248 }; +/* [ */ const uint8_t Font_RobotoMono_Regular_20_glyph_91[] = { 5, 20, 12, 4, 17, 104, 136, 13, 255, 240, 222, 0, 13, 224, 0, 222, 0, 13, 224, 0, 222, 0, 13, 224, 0, 222, 0, 13, 224, 0, 222, 0, 13, 224, 0, 222, 0, 13, 224, 0, 222, 0, 13, 224, 0, 222, 0, 13, 224, 0, 223, 136, 13, 255, 240 }; +/* \ */ const uint8_t Font_RobotoMono_Regular_20_glyph_92[] = { 8, 16, 12, 2, 15, 143, 16, 0, 0, 47, 112, 0, 0, 12, 208, 0, 0, 6, 243, 0, 0, 0, 249, 0, 0, 0, 175, 0, 0, 0, 79, 96, 0, 0, 13, 192, 0, 0, 7, 242, 0, 0, 1, 248, 0, 0, 0, 190, 0, 0, 0, 95, 64, 0, 0, 14, 160, 0, 0, 9, 241, 0, 0, 3, 247, 0, 0, 0, 117 }; +/* ] */ const uint8_t Font_RobotoMono_Regular_20_glyph_93[] = { 5, 20, 12, 3, 17, 8, 136, 96, 255, 253, 0, 14, 208, 0, 237, 0, 14, 208, 0, 237, 0, 14, 208, 0, 237, 0, 14, 208, 0, 237, 0, 14, 208, 0, 237, 0, 14, 208, 0, 237, 0, 14, 208, 0, 237, 0, 14, 208, 0, 237, 8, 143, 208, 255, 253 }; +/* ^ */ const uint8_t Font_RobotoMono_Regular_20_glyph_94[] = { 8, 8, 12, 2, 15, 0, 13, 208, 0, 0, 63, 243, 0, 0, 159, 249, 0, 0, 250, 191, 0, 6, 244, 79, 96, 12, 224, 14, 192, 47, 128, 8, 242, 143, 32, 2, 248 }; +/* _ */ const uint8_t Font_RobotoMono_Regular_20_glyph_95[] = { 10, 2, 12, 1, 1, 56, 136, 136, 136, 131, 127, 255, 255, 255, 247 }; +/* ` */ const uint8_t Font_RobotoMono_Regular_20_glyph_96[] = { 4, 3, 12, 4, 15, 127, 144, 7, 244, 0, 85 }; +/* a */ const uint8_t Font_RobotoMono_Regular_20_glyph_97[] = { 10, 11, 12, 1, 11, 0, 108, 254, 197, 0, 10, 252, 137, 239, 112, 46, 160, 0, 14, 240, 0, 0, 0, 10, 242, 0, 108, 239, 255, 242, 11, 254, 152, 141, 242, 79, 176, 0, 10, 242, 127, 96, 0, 10, 242, 95, 144, 0, 63, 242, 13, 251, 139, 255, 244, 1, 174, 252, 86, 214 }; +/* b */ const uint8_t Font_RobotoMono_Regular_20_glyph_98[] = { 10, 15, 12, 1, 15, 79, 128, 0, 0, 0, 79, 128, 0, 0, 0, 79, 128, 0, 0, 0, 79, 128, 0, 0, 0, 79, 135, 223, 214, 0, 79, 254, 153, 239, 128, 79, 225, 0, 30, 241, 79, 128, 0, 7, 246, 79, 128, 0, 4, 249, 79, 128, 0, 2, 250, 79, 128, 0, 4, 249, 79, 128, 0, 7, 246, 79, 225, 0, 30, 241, 79, 238, 152, 239, 112, 79, 103, 239, 214, 0 }; +/* c */ const uint8_t Font_RobotoMono_Regular_20_glyph_99[] = { 10, 11, 12, 1, 11, 0, 59, 239, 213, 0, 4, 255, 152, 223, 144, 14, 226, 0, 11, 243, 95, 128, 0, 4, 214, 143, 64, 0, 0, 0, 159, 48, 0, 0, 0, 143, 64, 0, 0, 0, 95, 128, 0, 2, 148, 14, 226, 0, 10, 243, 4, 254, 152, 223, 144, 0, 59, 239, 197, 0 }; +/* d */ const uint8_t Font_RobotoMono_Regular_20_glyph_100[] = { 10, 15, 12, 1, 15, 0, 0, 0, 8, 244, 0, 0, 0, 8, 244, 0, 0, 0, 8, 244, 0, 0, 0, 8, 244, 0, 93, 254, 136, 244, 7, 254, 153, 239, 244, 31, 226, 0, 29, 244, 111, 128, 0, 8, 244, 159, 64, 0, 8, 244, 175, 32, 0, 8, 244, 159, 64, 0, 8, 244, 111, 112, 0, 8, 244, 31, 226, 0, 29, 244, 6, 254, 153, 239, 244, 0, 93, 254, 135, 244 }; +/* e */ const uint8_t Font_RobotoMono_Regular_20_glyph_101[] = { 10, 11, 12, 1, 11, 0, 42, 239, 197, 0, 3, 255, 168, 223, 128, 14, 242, 0, 12, 242, 111, 112, 0, 5, 247, 159, 168, 136, 137, 249, 175, 255, 255, 255, 250, 175, 48, 0, 0, 0, 111, 128, 0, 0, 0, 31, 243, 0, 2, 162, 4, 255, 168, 175, 226, 0, 42, 239, 216, 16 }; +/* f */ const uint8_t Font_RobotoMono_Regular_20_glyph_102[] = { 11, 16, 12, 1, 16, 0, 0, 1, 103, 99, 0, 0, 7, 255, 255, 240, 0, 3, 253, 64, 19, 0, 0, 143, 80, 0, 0, 0, 9, 243, 0, 0, 8, 255, 255, 255, 255, 64, 72, 140, 249, 136, 130, 0, 0, 159, 48, 0, 0, 0, 9, 243, 0, 0, 0, 0, 159, 48, 0, 0, 0, 9, 243, 0, 0, 0, 0, 159, 48, 0, 0, 0, 9, 243, 0, 0, 0, 0, 159, 48, 0, 0, 0, 9, 243, 0, 0, 0, 0, 159, 48, 0, 0 }; +/* g */ const uint8_t Font_RobotoMono_Regular_20_glyph_103[] = { 10, 15, 12, 1, 11, 0, 109, 254, 134, 244, 7, 254, 153, 239, 244, 31, 226, 0, 29, 244, 111, 128, 0, 8, 244, 159, 64, 0, 8, 244, 159, 32, 0, 8, 244, 159, 64, 0, 8, 244, 111, 112, 0, 8, 244, 31, 226, 0, 29, 244, 6, 254, 153, 239, 244, 0, 93, 254, 136, 244, 0, 0, 0, 10, 242, 8, 64, 0, 47, 224, 11, 251, 138, 255, 64, 0, 124, 255, 179, 0 }; +/* h */ const uint8_t Font_RobotoMono_Regular_20_glyph_104[] = { 10, 15, 12, 1, 15, 79, 128, 0, 0, 0, 79, 128, 0, 0, 0, 79, 128, 0, 0, 0, 79, 128, 0, 0, 0, 79, 131, 207, 234, 16, 79, 191, 168, 223, 192, 79, 226, 0, 12, 243, 79, 128, 0, 7, 246, 79, 128, 0, 6, 246, 79, 128, 0, 6, 247, 79, 128, 0, 6, 247, 79, 128, 0, 6, 247, 79, 128, 0, 6, 247, 79, 128, 0, 6, 247, 79, 128, 0, 6, 247 }; +/* i */ const uint8_t Font_RobotoMono_Regular_20_glyph_105[] = { 10, 15, 12, 1, 15, 0, 0, 111, 64, 0, 0, 0, 143, 96, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 15, 255, 255, 96, 0, 8, 136, 191, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 8, 136, 191, 184, 134, 15, 255, 255, 255, 253 }; +/* j */ const uint8_t Font_RobotoMono_Regular_20_glyph_106[] = { 7, 19, 12, 2, 15, 0, 0, 158, 32, 0, 10, 243, 0, 0, 1, 0, 0, 0, 0, 31, 255, 255, 64, 136, 140, 244, 0, 0, 143, 64, 0, 8, 244, 0, 0, 143, 64, 0, 8, 244, 0, 0, 143, 64, 0, 8, 244, 0, 0, 143, 64, 0, 8, 244, 0, 0, 143, 48, 0, 9, 243, 0, 1, 239, 7, 137, 239, 112, 223, 252, 96, 0 }; +/* k */ const uint8_t Font_RobotoMono_Regular_20_glyph_107[] = { 11, 15, 12, 1, 15, 79, 128, 0, 0, 0, 4, 248, 0, 0, 0, 0, 79, 128, 0, 0, 0, 4, 248, 0, 0, 0, 0, 79, 128, 0, 79, 209, 4, 248, 0, 79, 225, 0, 79, 128, 63, 226, 0, 4, 248, 63, 243, 0, 0, 79, 174, 245, 0, 0, 4, 255, 255, 192, 0, 0, 79, 244, 191, 128, 0, 4, 248, 1, 223, 80, 0, 79, 128, 3, 255, 32, 4, 248, 0, 6, 253, 0, 79, 128, 0, 10, 250, 0 }; +/* l */ const uint8_t Font_RobotoMono_Regular_20_glyph_108[] = { 10, 15, 12, 1, 15, 15, 255, 255, 96, 0, 8, 136, 191, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 8, 136, 191, 184, 134, 15, 255, 255, 255, 253 }; +/* m */ const uint8_t Font_RobotoMono_Regular_20_glyph_109[] = { 12, 11, 12, 0, 11, 31, 154, 253, 58, 253, 48, 31, 249, 175, 251, 159, 208, 31, 160, 14, 224, 10, 240, 31, 160, 13, 208, 9, 241, 31, 160, 13, 208, 9, 241, 31, 160, 13, 208, 9, 241, 31, 160, 13, 208, 9, 241, 31, 160, 13, 208, 9, 241, 31, 160, 13, 208, 9, 241, 31, 160, 13, 208, 9, 241, 31, 160, 13, 208, 9, 241 }; +/* n */ const uint8_t Font_RobotoMono_Regular_20_glyph_110[] = { 10, 11, 12, 1, 11, 79, 84, 207, 233, 16, 79, 191, 152, 207, 176, 79, 226, 0, 12, 242, 79, 128, 0, 7, 245, 79, 128, 0, 6, 246, 79, 128, 0, 6, 246, 79, 128, 0, 6, 246, 79, 128, 0, 6, 246, 79, 128, 0, 6, 246, 79, 128, 0, 6, 246, 79, 128, 0, 6, 246 }; +/* o */ const uint8_t Font_RobotoMono_Regular_20_glyph_111[] = { 10, 11, 12, 1, 11, 0, 75, 255, 180, 0, 6, 254, 153, 239, 96, 47, 209, 0, 30, 242, 143, 96, 0, 6, 248, 191, 16, 0, 2, 251, 207, 0, 0, 0, 252, 191, 16, 0, 1, 251, 143, 80, 0, 5, 248, 47, 209, 0, 29, 242, 7, 254, 153, 239, 96, 0, 76, 255, 196, 0 }; +/* p */ const uint8_t Font_RobotoMono_Regular_20_glyph_112[] = { 10, 15, 12, 1, 11, 95, 104, 239, 214, 0, 95, 254, 137, 239, 112, 95, 192, 0, 46, 241, 95, 128, 0, 8, 246, 95, 128, 0, 4, 248, 95, 128, 0, 3, 249, 95, 128, 0, 4, 248, 95, 128, 0, 8, 245, 95, 208, 0, 46, 241, 95, 253, 137, 239, 112, 95, 136, 239, 214, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0 }; +/* q */ const uint8_t Font_RobotoMono_Regular_20_glyph_113[] = { 10, 15, 12, 1, 11, 0, 109, 254, 135, 244, 7, 254, 153, 239, 244, 31, 226, 0, 29, 244, 111, 128, 0, 8, 244, 159, 64, 0, 8, 244, 159, 48, 0, 8, 244, 159, 64, 0, 8, 244, 111, 128, 0, 8, 244, 31, 226, 0, 29, 244, 7, 254, 152, 239, 244, 0, 93, 254, 137, 244, 0, 0, 0, 8, 244, 0, 0, 0, 8, 244, 0, 0, 0, 8, 244, 0, 0, 0, 8, 244 }; +/* r */ const uint8_t Font_RobotoMono_Regular_20_glyph_114[] = { 8, 11, 12, 3, 11, 207, 7, 223, 245, 207, 206, 152, 163, 207, 192, 0, 0, 207, 48, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0 }; +/* s */ const uint8_t Font_RobotoMono_Regular_20_glyph_115[] = { 10, 11, 12, 1, 11, 0, 59, 255, 215, 0, 5, 254, 152, 223, 192, 13, 241, 0, 11, 244, 13, 240, 0, 1, 65, 6, 254, 131, 0, 0, 0, 75, 255, 250, 32, 0, 0, 4, 159, 242, 40, 64, 0, 6, 247, 31, 209, 0, 7, 246, 7, 254, 152, 191, 209, 0, 91, 255, 216, 16 }; +/* t */ const uint8_t Font_RobotoMono_Regular_20_glyph_116[] = { 10, 14, 12, 1, 14, 0, 6, 112, 0, 0, 0, 13, 240, 0, 0, 0, 13, 240, 0, 0, 159, 255, 255, 255, 240, 72, 142, 248, 136, 128, 0, 13, 240, 0, 0, 0, 13, 240, 0, 0, 0, 13, 240, 0, 0, 0, 13, 240, 0, 0, 0, 13, 240, 0, 0, 0, 13, 240, 0, 0, 0, 11, 243, 0, 0, 0, 5, 254, 152, 162, 0, 0, 109, 255, 195 }; +/* u */ const uint8_t Font_RobotoMono_Regular_20_glyph_117[] = { 10, 11, 12, 1, 11, 63, 144, 0, 8, 244, 63, 144, 0, 8, 244, 63, 144, 0, 8, 244, 63, 144, 0, 8, 244, 63, 144, 0, 8, 244, 63, 144, 0, 8, 244, 63, 144, 0, 8, 244, 47, 160, 0, 8, 244, 15, 224, 0, 30, 244, 8, 253, 137, 238, 244, 0, 142, 253, 118, 244 }; +/* v */ const uint8_t Font_RobotoMono_Regular_20_glyph_118[] = { 11, 11, 12, 0, 11, 13, 240, 0, 0, 31, 192, 127, 80, 0, 6, 246, 1, 251, 0, 0, 191, 0, 10, 241, 0, 31, 144, 0, 79, 112, 7, 243, 0, 0, 221, 0, 221, 0, 0, 7, 242, 47, 112, 0, 0, 31, 136, 241, 0, 0, 0, 190, 218, 0, 0, 0, 4, 255, 64, 0, 0, 0, 14, 224, 0, 0 }; +/* w */ const uint8_t Font_RobotoMono_Regular_20_glyph_119[] = { 12, 11, 12, 0, 11, 111, 32, 10, 176, 0, 248, 63, 80, 14, 240, 3, 245, 15, 128, 47, 243, 6, 241, 13, 160, 94, 215, 8, 224, 9, 208, 155, 171, 11, 176, 6, 240, 215, 110, 14, 128, 3, 244, 243, 47, 63, 64, 0, 250, 240, 14, 159, 16, 0, 207, 176, 10, 238, 0, 0, 159, 128, 6, 251, 0, 0, 111, 64, 2, 247, 0 }; +/* x */ const uint8_t Font_RobotoMono_Regular_20_glyph_120[] = { 11, 11, 12, 1, 11, 127, 144, 0, 7, 250, 0, 191, 80, 3, 253, 0, 1, 238, 16, 223, 48, 0, 4, 252, 175, 112, 0, 0, 9, 255, 192, 0, 0, 0, 31, 244, 0, 0, 0, 10, 255, 192, 0, 0, 5, 250, 111, 128, 0, 2, 254, 0, 191, 64, 0, 207, 48, 1, 238, 16, 143, 128, 0, 5, 251, 0 }; +/* y */ const uint8_t Font_RobotoMono_Regular_20_glyph_121[] = { 12, 15, 12, 0, 11, 31, 224, 0, 0, 14, 241, 10, 245, 0, 0, 79, 160, 3, 251, 0, 0, 191, 48, 0, 207, 32, 1, 252, 0, 0, 95, 144, 7, 245, 0, 0, 13, 240, 13, 224, 0, 0, 7, 246, 79, 112, 0, 0, 0, 252, 175, 16, 0, 0, 0, 143, 249, 0, 0, 0, 0, 31, 242, 0, 0, 0, 0, 14, 176, 0, 0, 0, 0, 127, 64, 0, 0, 0, 2, 253, 0, 0, 0, 3, 174, 243, 0, 0, 0, 7, 253, 64, 0, 0, 0 }; +/* z */ const uint8_t Font_RobotoMono_Regular_20_glyph_122[] = { 10, 11, 12, 1, 11, 95, 255, 255, 255, 244, 40, 136, 136, 175, 241, 0, 0, 0, 223, 80, 0, 0, 10, 248, 0, 0, 0, 127, 176, 0, 0, 3, 254, 16, 0, 0, 30, 243, 0, 0, 0, 207, 96, 0, 0, 8, 250, 0, 0, 0, 79, 248, 136, 136, 132, 127, 255, 255, 255, 249 }; +/* { */ const uint8_t Font_RobotoMono_Regular_20_glyph_123[] = { 7, 20, 12, 3, 16, 0, 0, 4, 64, 0, 12, 250, 0, 8, 248, 0, 0, 238, 0, 0, 31, 176, 0, 1, 251, 0, 0, 47, 160, 0, 3, 249, 0, 0, 159, 80, 7, 207, 144, 0, 223, 210, 0, 0, 78, 225, 0, 0, 95, 128, 0, 2, 250, 0, 0, 47, 176, 0, 1, 251, 0, 0, 15, 208, 0, 0, 191, 48, 0, 3, 254, 96, 0, 4, 201 }; +/* | */ const uint8_t Font_RobotoMono_Regular_20_glyph_124[] = { 2, 19, 12, 5, 15, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187 }; +/* } */ const uint8_t Font_RobotoMono_Regular_20_glyph_125[] = { 7, 20, 12, 3, 16, 68, 0, 0, 12, 251, 0, 0, 9, 246, 0, 0, 15, 192, 0, 0, 223, 0, 0, 12, 240, 0, 0, 207, 0, 0, 11, 242, 0, 0, 111, 128, 0, 0, 175, 182, 0, 3, 239, 192, 2, 253, 48, 0, 159, 64, 0, 11, 241, 0, 0, 207, 0, 0, 12, 240, 0, 0, 238, 0, 0, 95, 144, 0, 127, 242, 0, 10, 195, 0, 0 }; +/* ~ */ const uint8_t Font_RobotoMono_Regular_20_glyph_126[] = { 12, 4, 12, 0, 8, 3, 223, 197, 0, 0, 115, 30, 216, 223, 144, 1, 245, 111, 16, 9, 253, 141, 224, 54, 0, 0, 93, 252, 32 }; + +const uint8_t * const Font_RobotoMono_Regular_20[126 + 1 - 32] = { + Font_RobotoMono_Regular_20_glyph_32, + Font_RobotoMono_Regular_20_glyph_33, + Font_RobotoMono_Regular_20_glyph_34, + Font_RobotoMono_Regular_20_glyph_35, + Font_RobotoMono_Regular_20_glyph_36, + Font_RobotoMono_Regular_20_glyph_37, + Font_RobotoMono_Regular_20_glyph_38, + Font_RobotoMono_Regular_20_glyph_39, + Font_RobotoMono_Regular_20_glyph_40, + Font_RobotoMono_Regular_20_glyph_41, + Font_RobotoMono_Regular_20_glyph_42, + Font_RobotoMono_Regular_20_glyph_43, + Font_RobotoMono_Regular_20_glyph_44, + Font_RobotoMono_Regular_20_glyph_45, + Font_RobotoMono_Regular_20_glyph_46, + Font_RobotoMono_Regular_20_glyph_47, + Font_RobotoMono_Regular_20_glyph_48, + Font_RobotoMono_Regular_20_glyph_49, + Font_RobotoMono_Regular_20_glyph_50, + Font_RobotoMono_Regular_20_glyph_51, + Font_RobotoMono_Regular_20_glyph_52, + Font_RobotoMono_Regular_20_glyph_53, + Font_RobotoMono_Regular_20_glyph_54, + Font_RobotoMono_Regular_20_glyph_55, + Font_RobotoMono_Regular_20_glyph_56, + Font_RobotoMono_Regular_20_glyph_57, + Font_RobotoMono_Regular_20_glyph_58, + Font_RobotoMono_Regular_20_glyph_59, + Font_RobotoMono_Regular_20_glyph_60, + Font_RobotoMono_Regular_20_glyph_61, + Font_RobotoMono_Regular_20_glyph_62, + Font_RobotoMono_Regular_20_glyph_63, + Font_RobotoMono_Regular_20_glyph_64, + Font_RobotoMono_Regular_20_glyph_65, + Font_RobotoMono_Regular_20_glyph_66, + Font_RobotoMono_Regular_20_glyph_67, + Font_RobotoMono_Regular_20_glyph_68, + Font_RobotoMono_Regular_20_glyph_69, + Font_RobotoMono_Regular_20_glyph_70, + Font_RobotoMono_Regular_20_glyph_71, + Font_RobotoMono_Regular_20_glyph_72, + Font_RobotoMono_Regular_20_glyph_73, + Font_RobotoMono_Regular_20_glyph_74, + Font_RobotoMono_Regular_20_glyph_75, + Font_RobotoMono_Regular_20_glyph_76, + Font_RobotoMono_Regular_20_glyph_77, + Font_RobotoMono_Regular_20_glyph_78, + Font_RobotoMono_Regular_20_glyph_79, + Font_RobotoMono_Regular_20_glyph_80, + Font_RobotoMono_Regular_20_glyph_81, + Font_RobotoMono_Regular_20_glyph_82, + Font_RobotoMono_Regular_20_glyph_83, + Font_RobotoMono_Regular_20_glyph_84, + Font_RobotoMono_Regular_20_glyph_85, + Font_RobotoMono_Regular_20_glyph_86, + Font_RobotoMono_Regular_20_glyph_87, + Font_RobotoMono_Regular_20_glyph_88, + Font_RobotoMono_Regular_20_glyph_89, + Font_RobotoMono_Regular_20_glyph_90, + Font_RobotoMono_Regular_20_glyph_91, + Font_RobotoMono_Regular_20_glyph_92, + Font_RobotoMono_Regular_20_glyph_93, + Font_RobotoMono_Regular_20_glyph_94, + Font_RobotoMono_Regular_20_glyph_95, + Font_RobotoMono_Regular_20_glyph_96, + Font_RobotoMono_Regular_20_glyph_97, + Font_RobotoMono_Regular_20_glyph_98, + Font_RobotoMono_Regular_20_glyph_99, + Font_RobotoMono_Regular_20_glyph_100, + Font_RobotoMono_Regular_20_glyph_101, + Font_RobotoMono_Regular_20_glyph_102, + Font_RobotoMono_Regular_20_glyph_103, + Font_RobotoMono_Regular_20_glyph_104, + Font_RobotoMono_Regular_20_glyph_105, + Font_RobotoMono_Regular_20_glyph_106, + Font_RobotoMono_Regular_20_glyph_107, + Font_RobotoMono_Regular_20_glyph_108, + Font_RobotoMono_Regular_20_glyph_109, + Font_RobotoMono_Regular_20_glyph_110, + Font_RobotoMono_Regular_20_glyph_111, + Font_RobotoMono_Regular_20_glyph_112, + Font_RobotoMono_Regular_20_glyph_113, + Font_RobotoMono_Regular_20_glyph_114, + Font_RobotoMono_Regular_20_glyph_115, + Font_RobotoMono_Regular_20_glyph_116, + Font_RobotoMono_Regular_20_glyph_117, + Font_RobotoMono_Regular_20_glyph_118, + Font_RobotoMono_Regular_20_glyph_119, + Font_RobotoMono_Regular_20_glyph_120, + Font_RobotoMono_Regular_20_glyph_121, + Font_RobotoMono_Regular_20_glyph_122, + Font_RobotoMono_Regular_20_glyph_123, + Font_RobotoMono_Regular_20_glyph_124, + Font_RobotoMono_Regular_20_glyph_125, + Font_RobotoMono_Regular_20_glyph_126, +}; diff --git a/extmod/modtrezorui/font_robotomono_regular.h b/extmod/modtrezorui/font_robotomono_regular.h new file mode 100644 index 0000000000..af28ef1ac9 --- /dev/null +++ b/extmod/modtrezorui/font_robotomono_regular.h @@ -0,0 +1,3 @@ +#include + +const uint8_t * const Font_RobotoMono_Regular_20[126 + 1 - 32]; diff --git a/extmod/modtrezorui/modtrezorui-inflate.h b/extmod/modtrezorui/inflate.c similarity index 98% rename from extmod/modtrezorui/modtrezorui-inflate.h rename to extmod/modtrezorui/inflate.c index 4d6a4b2e79..5e1f338996 100644 --- a/extmod/modtrezorui/modtrezorui-inflate.h +++ b/extmod/modtrezorui/inflate.c @@ -34,7 +34,7 @@ * any source distribution. */ -#include +#include "inflate.h" // maximum possible window size (in bits) used during compression/deflate #define SINF_WBITS 10 @@ -394,7 +394,7 @@ static int sinf_inflate_dynamic_block(SINF_DATA *d) * ---------------------- */ /* inflate stream from source */ -static int sinf_inflate(const uint8_t *data, void (*write_callback)(uint8_t byte, uint32_t pos, void *userdata), void *userdata) +int sinf_inflate(const uint8_t *data, void (*write_callback)(uint8_t byte, uint32_t pos, void *userdata), void *userdata) { SINF_DATA d; int bfinal; diff --git a/extmod/modtrezorui/inflate.h b/extmod/modtrezorui/inflate.h new file mode 100644 index 0000000000..2884f14f16 --- /dev/null +++ b/extmod/modtrezorui/inflate.h @@ -0,0 +1,8 @@ +#ifndef __INFLATE_H__ +#define __INFLATE_H__ + +#include + +int sinf_inflate(const uint8_t *data, void (*write_callback)(uint8_t byte, uint32_t pos, void *userdata), void *userdata); + +#endif diff --git a/extmod/modtrezorui/modtrezorui-loader.h b/extmod/modtrezorui/loader.h similarity index 100% rename from extmod/modtrezorui/modtrezorui-loader.h rename to extmod/modtrezorui/loader.h diff --git a/extmod/modtrezorui/modtrezorui-display.h b/extmod/modtrezorui/modtrezorui-display.h index 16df7b113e..14ece88f5e 100644 --- a/extmod/modtrezorui/modtrezorui-display.h +++ b/extmod/modtrezorui/modtrezorui-display.h @@ -5,279 +5,9 @@ * see LICENSE.md file for details */ -#include "modtrezorui-inflate.h" -#include "modtrezorui-font_robotomono_regular.h" -#include "modtrezorui-font_roboto_regular.h" -#include "modtrezorui-font_roboto_bold.h" +#include "inflate.h" -#include "trezor-qrenc/qr_encode.h" - -// common display functions - -static void DATAS(const void *bytes, int len) { - const uint8_t *c = (const uint8_t *)bytes; - while (len-- > 0) { - DATA(*c); - c++; - } -} - -static void set_color_table(uint16_t colortable[16], uint16_t fgcolor, uint16_t bgcolor) -{ - uint8_t cr, cg, cb; - for (int i = 0; i < 16; i++) { - cr = (((fgcolor & 0xF800) >> 11) * i + ((bgcolor & 0xF800) >> 11) * (15 - i)) / 15; - cg = (((fgcolor & 0x07E0) >> 5) * i + ((bgcolor & 0x07E0) >> 5) * (15 - i)) / 15; - cb = ((fgcolor & 0x001F) * i + (bgcolor & 0x001F) * (15 - i)) / 15; - colortable[i] = (cr << 11) | (cg << 5) | cb; - } -} - -static void display_bar(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint16_t c) { - display_set_window(x, y, w, h); - for (int i = 0; i < w * h; i++) { - DATA(c >> 8); - DATA(c & 0xFF); - } - display_update(); -} - -#define CORNER_RADIUS 16 - -static const uint8_t cornertable[CORNER_RADIUS*CORNER_RADIUS] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 9, 12, 14, 15, - 0, 0, 0, 0, 0, 0, 0, 0, 3, 9, 15, 15, 15, 15, 15, 15, - 0, 0, 0, 0, 0, 0, 0, 8, 15, 15, 15, 15, 15, 15, 15, 15, - 0, 0, 0, 0, 0, 3, 12, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 0, 0, 0, 0, 3, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 0, 0, 0, 3, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 0, 0, 0, 12, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 0, 0, 8, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 0, 3, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 0, 9, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 1, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 5, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 9, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 12, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, -}; - - -static void display_bar_radius(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint16_t c, uint16_t b) { - uint16_t colortable[16]; - set_color_table(colortable, c, b); - display_set_window(x, y, w, h); - for (int y = 0; y < h; y++) { - for (int x = 0; x < w; x++) { - if (x < CORNER_RADIUS && y < CORNER_RADIUS) { - uint8_t c = cornertable[x + y * CORNER_RADIUS]; - DATA(colortable[c] >> 8); - DATA(colortable[c] & 0xFF); - } else - if (x < CORNER_RADIUS && y >= h - CORNER_RADIUS) { - uint8_t c = cornertable[x + (h - 1 - y) * CORNER_RADIUS]; - DATA(colortable[c] >> 8); - DATA(colortable[c] & 0xFF); - } else - if (x >= w - CORNER_RADIUS && y < CORNER_RADIUS) { - uint8_t c = cornertable[(w - 1 - x) + y * CORNER_RADIUS]; - DATA(colortable[c] >> 8); - DATA(colortable[c] & 0xFF); - } else - if (x >= w - CORNER_RADIUS && y >= h - CORNER_RADIUS) { - uint8_t c = cornertable[(w - 1 - x) + (h - 1 - y) * CORNER_RADIUS]; - DATA(colortable[c] >> 8); - DATA(colortable[c] & 0xFF); - } else { - DATA(c >> 8); - DATA(c & 0xFF); - } - } - } - display_update(); -} - -static void display_blit(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const void *data, int datalen) { - display_set_window(x, y, w, h); - DATAS(data, datalen); - display_update(); -} - -static void inflate_callback_image(uint8_t byte, uint32_t pos, void *userdata) -{ - DATA(byte); -} - -static void display_image(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const void *data, int datalen) { - display_set_window(x, y, w, h); - sinf_inflate(data, inflate_callback_image, NULL); - display_update(); -} - -static void inflate_callback_icon(uint8_t byte, uint32_t pos, void *userdata) -{ - uint16_t *colortable = (uint16_t *)userdata; - DATA(colortable[byte >> 4] >> 8); - DATA(colortable[byte >> 4] & 0xFF); - DATA(colortable[byte & 0x0F] >> 8); - DATA(colortable[byte & 0x0F] & 0xFF); -} - -static void display_icon(uint8_t x, uint8_t y, uint8_t w, uint8_t h, const void *data, int datalen, uint16_t fgcolor, uint16_t bgcolor) { - display_set_window(x, y, w, h); - uint16_t colortable[16]; - set_color_table(colortable, fgcolor, bgcolor); - sinf_inflate(data, inflate_callback_icon, colortable); - display_update(); -} - -static const uint8_t *get_glyph(uint8_t font, uint8_t c) { - if (c >= ' ' && c <= '~') { - // do nothing - valid ASCII - } else - // UTF-8 handling: https://en.wikipedia.org/wiki/UTF-8#Description - if (c >= 0xC0) { - // bytes 11xxxxxx are first byte of UTF-8 characters - c = '_'; - } else { - // bytes 10xxxxxx are successive UTF-8 characters - return 0; - } - switch (font) { - case 0: - return Font_RobotoMono_Regular_20[c - ' ']; - case 1: - return Font_Roboto_Regular_20[c - ' ']; - case 2: - return Font_Roboto_Bold_20[c - ' ']; - } - return 0; -} - -// first two bytes are width and height of the glyph -// third, fourth and fifth bytes are advance, bearingX and bearingY of the horizontal metrics of the glyph -// rest is packed 4-bit glyph data -static void display_text(uint8_t x, uint8_t y, const uint8_t *text, int textlen, uint8_t font, uint16_t fgcolor, uint16_t bgcolor) { - uint32_t px = x; - uint16_t colortable[16]; - set_color_table(colortable, fgcolor, bgcolor); - - // render glyphs - for (int i = 0; i < textlen; i++) { - const uint8_t *g = get_glyph(font, text[i]); - if (!g) continue; - // g[0], g[1] = width, height - // g[2] = advance - // g[3], g[4] = bearingX, bearingY - if (g[0] && g[1]) { - display_set_window(px + (int8_t)(g[3]), y - (int8_t)(g[4]), g[0], g[1]); - for (int j = 0; j < g[0] * g[1]; j++) { - uint8_t c; - if (j % 2 == 0) { - c = g[5 + j/2] >> 4; - } else { - c = g[5 + j/2] & 0x0F; - } - DATA(colortable[c] >> 8); - DATA(colortable[c] & 0xFF); - } - display_update(); - } - px += g[2]; - } -} - -// compute the width of the text (in pixels) -static uint32_t display_text_width(const uint8_t *text, int textlen, uint8_t font) { - uint32_t w = 0; - for (int i = 0; i < textlen; i++) { - const uint8_t *g = get_glyph(font, text[i]); - if (!g) continue; - w += g[2]; - } - return w; -} - -static void display_qrcode(uint8_t x, uint8_t y, const char *data, int datalen, int scale) { - uint8_t bitdata[QR_MAX_BITDATA]; - int side = qr_encode(QR_LEVEL_M, 0, data, datalen, bitdata); - display_set_window(x, y, side * scale, side * scale); - for (int i = 0; i < side * scale; i++) { - for (int j = 0; j < side; j++) { - int a = j * side + (i / scale); - if (bitdata[a / 8] & (1 << (7 - a % 8))) { - for (a = 0; a < scale * 2; a++) { DATA(0x00); } - } else { - for (a = 0; a < scale * 2; a++) { DATA(0xFF); } - } - } - } - display_update(); -} - -#include "modtrezorui-loader.h" - -static void display_loader(uint16_t progress, uint16_t fgcolor, uint16_t bgcolor, const uint8_t *icon, uint16_t iconfgcolor) -{ - uint16_t colortable[16], iconcolortable[16]; - set_color_table(colortable, fgcolor, bgcolor); - if (icon) { - set_color_table(iconcolortable, iconfgcolor, bgcolor); - } - display_set_window(RESX / 2 - img_loader_size, RESY * 2 / 5 - img_loader_size, img_loader_size * 2, img_loader_size * 2); - for (int y = 0; y < img_loader_size * 2; y++) { - for (int x = 0; x < img_loader_size * 2; x++) { - int mx = x, my = y; - uint16_t a; - if ((mx >= img_loader_size) && (my >= img_loader_size)) { - mx = img_loader_size * 2 - 1 - x; - my = img_loader_size * 2 - 1 - y; - a = 499 - (img_loader[my][mx] >> 8); - } else - if (mx >= img_loader_size) { - mx = img_loader_size * 2 - 1 - x; - a = img_loader[my][mx] >> 8; - } else - if (my >= img_loader_size) { - my = img_loader_size * 2 - 1 - y; - a = 500 + (img_loader[my][mx] >> 8); - } else { - a = 999 - (img_loader[my][mx] >> 8); - } - // inside of circle - draw glyph - if (icon && mx + my > (48 * 2) && mx >= img_loader_size - 48 && my >= img_loader_size - 48) { - int i = (x - (img_loader_size - 48)) + (y - (img_loader_size - 48)) * 96; - uint8_t c; - if (i % 2) { - c = icon[i / 2] & 0x0F; - } else { - c = (icon[i / 2] & 0xF0) >> 4; - } - DATA(iconcolortable[c] >> 8); - DATA(iconcolortable[c] & 0xFF); - } else { - uint8_t c; - if (progress > a) { - c = (img_loader[my][mx] & 0x00F0) >> 4; - } else { - c = img_loader[my][mx] & 0x000F; - } - DATA(colortable[c] >> 8); - DATA(colortable[c] & 0xFF); - } - } - } - display_update(); -} - -static void display_raw(uint8_t reg, const uint8_t *data, int datalen) -{ - if (reg) { - CMD(reg); - } - DATAS(data, datalen); -} +#include "display.h" typedef struct _mp_obj_Display_t { mp_obj_base_t base; diff --git a/extmod/modtrezorui/modtrezorui-font_roboto_bold.h b/extmod/modtrezorui/modtrezorui-font_roboto_bold.h deleted file mode 100644 index 8a3ee97ccf..0000000000 --- a/extmod/modtrezorui/modtrezorui-font_roboto_bold.h +++ /dev/null @@ -1,197 +0,0 @@ -// first two bytes are width and height of the glyph -// third, fourth and fifth bytes are advance, bearingX and bearingY of the horizontal metrics of the glyph -// rest is packed 4-bit glyph data - -/* */ static const uint8_t Font_Roboto_Bold_20_glyph_32[] = { 0, 0, 5, 0, 0 }; -/* ! */ static const uint8_t Font_Roboto_Bold_20_glyph_33[] = { 4, 14, 5, 1, 14, 239, 240, 239, 240, 223, 240, 223, 224, 207, 224, 191, 208, 191, 208, 175, 192, 175, 192, 0, 0, 0, 0, 143, 160, 255, 241, 143, 160 }; -/* " */ static const uint8_t Font_Roboto_Bold_20_glyph_34[] = { 6, 5, 6, 0, 15, 143, 101, 249, 143, 101, 249, 143, 69, 247, 143, 37, 245, 143, 21, 244 }; -/* # */ static const uint8_t Font_Roboto_Bold_20_glyph_35[] = { 12, 14, 12, 0, 14, 0, 0, 111, 80, 207, 0, 0, 0, 159, 32, 237, 0, 0, 0, 207, 1, 250, 0, 0, 0, 253, 4, 248, 0, 9, 255, 255, 255, 255, 249, 6, 189, 253, 190, 251, 182, 0, 8, 244, 13, 224, 0, 0, 11, 241, 15, 176, 0, 95, 255, 255, 255, 255, 208, 59, 191, 235, 223, 203, 128, 0, 79, 128, 159, 48, 0, 0, 111, 80, 207, 0, 0, 0, 159, 48, 237, 0, 0, 0, 191, 1, 251, 0, 0 }; -/* $ */ static const uint8_t Font_Roboto_Bold_20_glyph_36[] = { 11, 19, 11, 0, 17, 0, 0, 1, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 15, 144, 0, 0, 1, 157, 255, 179, 0, 1, 239, 255, 255, 244, 0, 159, 250, 71, 255, 208, 12, 255, 16, 11, 255, 32, 191, 243, 0, 54, 97, 6, 255, 231, 16, 0, 0, 9, 255, 255, 145, 0, 0, 4, 207, 255, 227, 0, 0, 0, 42, 255, 224, 39, 115, 0, 11, 255, 52, 255, 160, 0, 159, 244, 14, 255, 132, 111, 255, 16, 95, 255, 255, 255, 112, 0, 58, 239, 251, 64, 0, 0, 2, 246, 0, 0, 0, 0, 47, 96, 0, 0 }; -/* % */ static const uint8_t Font_Roboto_Bold_20_glyph_37[] = { 14, 14, 15, 1, 14, 7, 239, 177, 0, 0, 0, 0, 127, 219, 252, 0, 28, 64, 0, 207, 16, 207, 32, 159, 48, 0, 239, 0, 175, 67, 249, 0, 0, 207, 16, 207, 45, 225, 0, 0, 127, 219, 253, 127, 96, 0, 0, 8, 239, 180, 252, 0, 0, 0, 0, 0, 11, 243, 158, 233, 0, 0, 0, 95, 138, 252, 207, 160, 0, 0, 237, 31, 224, 14, 240, 0, 8, 244, 31, 192, 13, 241, 0, 47, 160, 15, 224, 14, 240, 0, 60, 16, 10, 252, 207, 160, 0, 0, 0, 1, 158, 233, 16 }; -/* & */ static const uint8_t Font_Roboto_Bold_20_glyph_38[] = { 13, 14, 13, 0, 14, 0, 5, 207, 233, 16, 0, 0, 7, 255, 255, 252, 0, 0, 0, 255, 213, 159, 244, 0, 0, 31, 246, 0, 255, 80, 0, 0, 255, 160, 143, 241, 0, 0, 8, 255, 223, 245, 0, 0, 0, 31, 255, 227, 0, 0, 0, 29, 255, 254, 32, 109, 208, 13, 255, 143, 253, 25, 254, 4, 255, 144, 95, 252, 239, 160, 95, 249, 0, 95, 255, 244, 2, 255, 247, 71, 239, 254, 0, 8, 255, 255, 255, 255, 248, 0, 5, 191, 253, 165, 207, 246 }; -/* ' */ static const uint8_t Font_Roboto_Bold_20_glyph_39[] = { 3, 5, 3, 0, 15, 159, 137, 247, 159, 105, 245, 159, 64 }; -/* ( */ static const uint8_t Font_Roboto_Bold_20_glyph_40[] = { 6, 20, 7, 1, 16, 0, 1, 163, 0, 12, 246, 0, 175, 144, 4, 254, 0, 11, 247, 0, 47, 243, 0, 111, 224, 0, 159, 192, 0, 191, 176, 0, 207, 144, 0, 207, 144, 0, 191, 176, 0, 159, 192, 0, 111, 224, 0, 47, 243, 0, 11, 247, 0, 4, 254, 0, 0, 175, 144, 0, 12, 246, 0, 1, 163 }; -/* ) */ static const uint8_t Font_Roboto_Bold_20_glyph_41[] = { 6, 20, 7, 0, 16, 74, 16, 0, 127, 209, 0, 10, 251, 0, 1, 239, 80, 0, 143, 192, 0, 63, 243, 0, 15, 247, 0, 12, 251, 0, 11, 253, 0, 10, 254, 0, 10, 254, 0, 11, 253, 0, 12, 251, 0, 15, 247, 0, 63, 243, 0, 143, 192, 0, 239, 80, 9, 251, 0, 111, 209, 0, 74, 16, 0 }; -/* * */ static const uint8_t Font_Roboto_Bold_20_glyph_42[] = { 9, 9, 9, 0, 14, 0, 4, 248, 0, 0, 0, 63, 128, 0, 75, 83, 247, 57, 119, 255, 255, 255, 250, 0, 78, 255, 81, 0, 8, 251, 249, 0, 5, 252, 11, 246, 0, 61, 32, 46, 80, 0, 0, 0, 0, 0 }; -/* + */ static const uint8_t Font_Roboto_Bold_20_glyph_43[] = { 11, 11, 11, 0, 12, 0, 0, 205, 160, 0, 0, 0, 14, 252, 0, 0, 0, 0, 239, 192, 0, 0, 0, 14, 252, 0, 0, 127, 255, 255, 255, 255, 71, 255, 255, 255, 255, 244, 56, 136, 255, 232, 136, 32, 0, 14, 252, 0, 0, 0, 0, 239, 192, 0, 0, 0, 14, 252, 0, 0, 0, 0, 120, 96, 0, 0 }; -/* , */ static const uint8_t Font_Roboto_Bold_20_glyph_44[] = { 4, 7, 5, 0, 3, 3, 101, 9, 252, 9, 252, 10, 251, 13, 247, 79, 225, 60, 80 }; -/* - */ static const uint8_t Font_Roboto_Bold_20_glyph_45[] = { 6, 3, 8, 1, 7, 239, 255, 249, 239, 255, 249, 68, 68, 66 }; -/* . */ static const uint8_t Font_Roboto_Bold_20_glyph_46[] = { 4, 4, 6, 1, 4, 0, 0, 78, 210, 175, 247, 78, 210 }; -/* / */ static const uint8_t Font_Roboto_Bold_20_glyph_47[] = { 9, 15, 7, -1, 14, 0, 0, 1, 255, 0, 0, 0, 111, 160, 0, 0, 12, 245, 0, 0, 1, 255, 0, 0, 0, 127, 160, 0, 0, 13, 244, 0, 0, 2, 254, 0, 0, 0, 143, 144, 0, 0, 13, 243, 0, 0, 3, 254, 0, 0, 0, 143, 128, 0, 0, 14, 243, 0, 0, 4, 253, 0, 0, 0, 159, 112, 0, 0, 14, 242, 0, 0, 0 }; -/* 0 */ static const uint8_t Font_Roboto_Bold_20_glyph_48[] = { 11, 14, 11, 0, 14, 0, 42, 239, 233, 16, 0, 46, 255, 255, 254, 16, 11, 255, 149, 175, 250, 1, 255, 208, 0, 223, 240, 63, 249, 0, 9, 255, 52, 255, 128, 0, 143, 244, 95, 248, 0, 8, 255, 69, 255, 128, 0, 143, 244, 79, 248, 0, 8, 255, 67, 255, 144, 0, 159, 242, 15, 253, 0, 13, 255, 0, 175, 250, 89, 255, 160, 2, 239, 255, 255, 225, 0, 1, 158, 254, 145, 0 }; -/* 1 */ static const uint8_t Font_Roboto_Bold_20_glyph_49[] = { 7, 14, 11, 1, 14, 0, 0, 90, 192, 74, 255, 253, 111, 255, 255, 214, 251, 111, 253, 16, 0, 255, 208, 0, 15, 253, 0, 0, 255, 208, 0, 15, 253, 0, 0, 255, 208, 0, 15, 253, 0, 0, 255, 208, 0, 15, 253, 0, 0, 255, 208, 0, 15, 253 }; -/* 2 */ static const uint8_t Font_Roboto_Bold_20_glyph_50[] = { 11, 14, 11, 0, 14, 0, 58, 239, 234, 48, 0, 95, 255, 255, 255, 48, 31, 255, 117, 175, 252, 6, 255, 128, 0, 239, 240, 72, 130, 0, 13, 255, 0, 0, 0, 3, 255, 160, 0, 0, 1, 223, 242, 0, 0, 0, 207, 246, 0, 0, 0, 191, 248, 0, 0, 0, 191, 248, 0, 0, 0, 191, 249, 0, 0, 0, 191, 252, 68, 68, 66, 79, 255, 255, 255, 255, 116, 255, 255, 255, 255, 247 }; -/* 3 */ static const uint8_t Font_Roboto_Bold_20_glyph_51[] = { 11, 14, 11, 0, 14, 0, 75, 239, 233, 32, 0, 143, 255, 255, 255, 48, 47, 254, 117, 175, 252, 4, 187, 80, 0, 239, 240, 0, 0, 0, 13, 255, 0, 0, 0, 7, 255, 144, 0, 6, 255, 255, 160, 0, 0, 111, 255, 250, 16, 0, 1, 52, 143, 252, 0, 0, 0, 0, 175, 242, 142, 229, 0, 10, 255, 53, 255, 230, 89, 255, 224, 10, 255, 255, 255, 245, 0, 6, 207, 254, 162, 0 }; -/* 4 */ static const uint8_t Font_Roboto_Bold_20_glyph_52[] = { 11, 14, 11, 0, 14, 0, 0, 0, 223, 245, 0, 0, 0, 127, 255, 80, 0, 0, 47, 255, 245, 0, 0, 11, 255, 255, 80, 0, 5, 255, 159, 245, 0, 1, 239, 120, 255, 80, 0, 159, 208, 143, 245, 0, 63, 244, 8, 255, 80, 13, 250, 0, 143, 245, 6, 255, 255, 255, 255, 254, 111, 255, 255, 255, 255, 225, 68, 68, 74, 255, 132, 0, 0, 0, 143, 245, 0, 0, 0, 8, 255, 80 }; -/* 5 */ static const uint8_t Font_Roboto_Bold_20_glyph_53[] = { 11, 14, 11, 0, 14, 1, 255, 255, 255, 255, 0, 63, 255, 255, 255, 240, 5, 255, 133, 85, 85, 0, 111, 242, 0, 0, 0, 8, 255, 0, 0, 0, 0, 175, 250, 239, 197, 0, 12, 255, 255, 255, 247, 0, 73, 164, 38, 255, 241, 0, 0, 0, 9, 255, 64, 0, 0, 0, 127, 246, 31, 251, 0, 10, 255, 64, 223, 249, 88, 255, 224, 3, 255, 255, 255, 245, 0, 1, 158, 254, 163, 0 }; -/* 6 */ static const uint8_t Font_Roboto_Bold_20_glyph_54[] = { 11, 14, 11, 0, 14, 0, 0, 57, 223, 96, 0, 0, 159, 255, 246, 0, 0, 175, 255, 150, 32, 0, 79, 253, 32, 0, 0, 11, 255, 48, 0, 0, 0, 255, 215, 223, 215, 0, 47, 255, 255, 255, 249, 3, 255, 248, 71, 255, 242, 63, 249, 0, 8, 255, 98, 255, 144, 0, 95, 248, 15, 253, 0, 8, 255, 96, 143, 250, 87, 255, 241, 0, 207, 255, 255, 246, 0, 0, 125, 254, 179, 0 }; -/* 7 */ static const uint8_t Font_Roboto_Bold_20_glyph_55[] = { 11, 14, 11, 0, 14, 111, 255, 255, 255, 255, 166, 255, 255, 255, 255, 249, 20, 68, 68, 74, 255, 48, 0, 0, 0, 239, 192, 0, 0, 0, 111, 245, 0, 0, 0, 13, 254, 0, 0, 0, 5, 255, 112, 0, 0, 0, 207, 241, 0, 0, 0, 79, 249, 0, 0, 0, 11, 255, 32, 0, 0, 3, 255, 176, 0, 0, 0, 175, 243, 0, 0, 0, 47, 252, 0, 0, 0, 9, 255, 80, 0, 0 }; -/* 8 */ static const uint8_t Font_Roboto_Bold_20_glyph_56[] = { 11, 14, 11, 0, 14, 0, 42, 239, 234, 32, 0, 63, 255, 255, 255, 48, 11, 255, 165, 175, 251, 0, 255, 224, 0, 239, 240, 14, 254, 0, 14, 254, 0, 175, 246, 6, 255, 144, 1, 207, 255, 255, 192, 0, 10, 255, 255, 250, 0, 11, 255, 133, 143, 251, 3, 255, 160, 0, 175, 242, 79, 250, 0, 10, 255, 65, 255, 248, 88, 255, 241, 7, 255, 255, 255, 247, 0, 4, 190, 254, 179, 0 }; -/* 9 */ static const uint8_t Font_Roboto_Bold_20_glyph_57[] = { 11, 14, 11, 0, 14, 0, 41, 239, 215, 0, 0, 46, 255, 255, 252, 0, 13, 255, 149, 191, 247, 3, 255, 176, 0, 239, 224, 95, 247, 0, 10, 255, 20, 255, 144, 0, 175, 243, 31, 255, 64, 78, 255, 48, 159, 255, 255, 255, 242, 0, 143, 255, 173, 255, 0, 0, 2, 17, 255, 192, 0, 0, 0, 191, 245, 0, 1, 105, 239, 251, 0, 0, 79, 255, 251, 0, 0, 4, 253, 164, 0, 0 }; -/* : */ static const uint8_t Font_Roboto_Bold_20_glyph_58[] = { 4, 11, 6, 1, 11, 78, 210, 175, 247, 78, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 210, 175, 247, 78, 210 }; -/* ; */ static const uint8_t Font_Roboto_Bold_20_glyph_59[] = { 5, 15, 5, 0, 11, 4, 237, 32, 175, 247, 4, 238, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 101, 0, 159, 192, 9, 252, 0, 175, 176, 13, 247, 4, 254, 16, 60, 80, 0 }; -/* < */ static const uint8_t Font_Roboto_Bold_20_glyph_60[] = { 9, 9, 10, 0, 11, 0, 0, 0, 6, 192, 0, 3, 159, 255, 0, 108, 255, 255, 181, 255, 255, 199, 16, 127, 253, 48, 0, 5, 255, 255, 198, 16, 0, 108, 255, 255, 176, 0, 3, 159, 255, 0, 0, 0, 6, 192 }; -/* = */ static const uint8_t Font_Roboto_Bold_20_glyph_61[] = { 10, 7, 11, 1, 9, 175, 255, 255, 255, 241, 175, 255, 255, 255, 241, 53, 85, 85, 85, 80, 0, 0, 0, 0, 0, 175, 255, 255, 255, 241, 175, 255, 255, 255, 241, 53, 85, 85, 85, 80 }; -/* > */ static const uint8_t Font_Roboto_Bold_20_glyph_62[] = { 9, 9, 10, 1, 11, 183, 16, 0, 0, 13, 255, 164, 0, 0, 159, 255, 253, 113, 0, 21, 191, 255, 247, 0, 0, 44, 255, 160, 22, 191, 255, 247, 159, 255, 253, 113, 13, 255, 164, 0, 0, 183, 16, 0, 0, 0 }; -/* ? */ static const uint8_t Font_Roboto_Bold_20_glyph_63[] = { 10, 14, 10, 0, 14, 0, 125, 254, 197, 0, 11, 255, 255, 255, 128, 79, 254, 103, 255, 240, 127, 245, 0, 175, 243, 0, 0, 0, 191, 242, 0, 0, 4, 255, 192, 0, 0, 79, 254, 32, 0, 1, 255, 226, 0, 0, 6, 255, 64, 0, 0, 8, 255, 0, 0, 0, 0, 0, 0, 0, 0, 6, 235, 0, 0, 0, 13, 255, 48, 0, 0, 6, 252, 0, 0 }; -/* @ */ static const uint8_t Font_Roboto_Bold_20_glyph_64[] = { 18, 18, 18, 0, 14, 0, 0, 1, 124, 239, 236, 113, 0, 0, 0, 0, 95, 254, 185, 174, 255, 64, 0, 0, 7, 254, 80, 0, 0, 77, 245, 0, 0, 63, 210, 0, 0, 0, 1, 238, 16, 0, 223, 48, 3, 207, 233, 16, 95, 112, 4, 250, 0, 79, 253, 223, 160, 14, 192, 10, 244, 0, 239, 80, 111, 144, 11, 240, 13, 240, 5, 252, 0, 143, 112, 10, 241, 15, 224, 10, 247, 0, 159, 96, 10, 241, 31, 208, 13, 245, 0, 175, 64, 11, 240, 15, 208, 13, 245, 0, 207, 48, 14, 208, 15, 240, 11, 249, 4, 255, 48, 111, 112, 12, 243, 5, 255, 223, 239, 217, 253, 0, 7, 249, 0, 143, 232, 26, 255, 161, 0, 1, 239, 64, 0, 0, 0, 0, 0, 0, 0, 95, 248, 16, 0, 2, 0, 0, 0, 0, 4, 255, 253, 188, 239, 64, 0, 0, 0, 0, 23, 206, 254, 200, 16, 0, 0 }; -/* A */ static const uint8_t Font_Roboto_Bold_20_glyph_65[] = { 14, 14, 13, 0, 14, 0, 0, 13, 255, 64, 0, 0, 0, 0, 63, 255, 160, 0, 0, 0, 0, 159, 255, 241, 0, 0, 0, 0, 239, 239, 246, 0, 0, 0, 5, 255, 111, 252, 0, 0, 0, 11, 255, 26, 255, 32, 0, 0, 31, 252, 5, 255, 128, 0, 0, 127, 246, 0, 255, 224, 0, 0, 223, 241, 0, 175, 244, 0, 3, 255, 255, 255, 255, 251, 0, 9, 255, 255, 255, 255, 255, 16, 15, 255, 102, 102, 107, 255, 112, 95, 251, 0, 0, 4, 255, 208, 207, 245, 0, 0, 0, 239, 243 }; -/* B */ static const uint8_t Font_Roboto_Bold_20_glyph_66[] = { 11, 14, 13, 1, 14, 175, 255, 255, 236, 96, 10, 255, 255, 255, 255, 176, 175, 249, 102, 143, 255, 90, 255, 80, 0, 127, 249, 175, 245, 0, 5, 255, 138, 255, 80, 3, 223, 243, 175, 255, 255, 255, 245, 10, 255, 255, 255, 255, 160, 175, 246, 17, 41, 255, 154, 255, 80, 0, 15, 254, 175, 245, 0, 2, 255, 234, 255, 149, 87, 223, 250, 175, 255, 255, 255, 254, 42, 255, 255, 255, 217, 16 }; -/* C */ static const uint8_t Font_Roboto_Bold_20_glyph_67[] = { 13, 14, 13, 0, 14, 0, 2, 141, 255, 198, 0, 0, 4, 255, 255, 255, 252, 0, 1, 255, 251, 120, 223, 250, 0, 159, 248, 0, 0, 239, 241, 14, 255, 16, 0, 9, 255, 80, 255, 208, 0, 0, 0, 0, 47, 253, 0, 0, 0, 0, 2, 255, 208, 0, 0, 0, 0, 31, 253, 0, 0, 0, 0, 0, 239, 240, 0, 0, 143, 245, 9, 255, 112, 0, 14, 255, 32, 47, 255, 167, 125, 255, 176, 0, 95, 255, 255, 255, 193, 0, 0, 41, 239, 252, 112, 0 }; -/* D */ static const uint8_t Font_Roboto_Bold_20_glyph_68[] = { 12, 14, 13, 1, 14, 191, 255, 254, 181, 0, 0, 191, 255, 255, 255, 193, 0, 191, 248, 103, 223, 252, 0, 191, 243, 0, 11, 255, 96, 191, 243, 0, 2, 255, 192, 191, 243, 0, 0, 239, 240, 191, 243, 0, 0, 223, 241, 191, 243, 0, 0, 223, 241, 191, 243, 0, 0, 255, 240, 191, 243, 0, 3, 255, 192, 191, 243, 0, 12, 255, 96, 191, 247, 87, 223, 252, 0, 191, 255, 255, 255, 193, 0, 191, 255, 254, 181, 0, 0 }; -/* E */ static const uint8_t Font_Roboto_Bold_20_glyph_69[] = { 10, 14, 11, 1, 14, 191, 255, 255, 255, 252, 191, 255, 255, 255, 252, 191, 248, 102, 102, 100, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 255, 255, 255, 208, 191, 255, 255, 255, 208, 191, 247, 68, 68, 48, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 247, 85, 85, 84, 191, 255, 255, 255, 252, 191, 255, 255, 255, 252 }; -/* F */ static const uint8_t Font_Roboto_Bold_20_glyph_70[] = { 10, 14, 11, 1, 14, 191, 255, 255, 255, 248, 191, 255, 255, 255, 248, 191, 248, 102, 102, 99, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 255, 255, 255, 208, 191, 255, 255, 255, 208, 191, 247, 85, 85, 64, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0 }; -/* G */ static const uint8_t Font_Roboto_Bold_20_glyph_71[] = { 12, 14, 14, 1, 14, 0, 7, 206, 253, 146, 0, 2, 223, 255, 255, 255, 64, 12, 255, 215, 106, 255, 225, 79, 253, 0, 0, 159, 246, 175, 245, 0, 0, 60, 199, 207, 242, 0, 0, 0, 0, 223, 241, 0, 0, 0, 0, 239, 241, 0, 239, 255, 251, 207, 242, 0, 239, 255, 251, 175, 246, 0, 34, 95, 251, 79, 253, 0, 0, 63, 251, 12, 255, 215, 103, 207, 251, 1, 207, 255, 255, 255, 245, 0, 6, 206, 254, 199, 16 }; -/* H */ static const uint8_t Font_Roboto_Bold_20_glyph_72[] = { 12, 14, 14, 1, 14, 191, 243, 0, 0, 31, 253, 191, 243, 0, 0, 31, 253, 191, 243, 0, 0, 31, 253, 191, 243, 0, 0, 31, 253, 191, 243, 0, 0, 31, 253, 191, 243, 0, 0, 31, 253, 191, 255, 255, 255, 255, 253, 191, 255, 255, 255, 255, 253, 191, 247, 85, 85, 111, 253, 191, 243, 0, 0, 31, 253, 191, 243, 0, 0, 31, 253, 191, 243, 0, 0, 31, 253, 191, 243, 0, 0, 31, 253, 191, 243, 0, 0, 31, 253 }; -/* I */ static const uint8_t Font_Roboto_Bold_20_glyph_73[] = { 4, 14, 6, 1, 14, 143, 246, 143, 246, 143, 246, 143, 246, 143, 246, 143, 246, 143, 246, 143, 246, 143, 246, 143, 246, 143, 246, 143, 246, 143, 246, 143, 246 }; -/* J */ static const uint8_t Font_Roboto_Bold_20_glyph_74[] = { 10, 14, 11, 0, 14, 0, 0, 0, 31, 253, 0, 0, 0, 31, 253, 0, 0, 0, 31, 253, 0, 0, 0, 31, 253, 0, 0, 0, 31, 253, 0, 0, 0, 31, 253, 0, 0, 0, 31, 253, 0, 0, 0, 31, 253, 0, 0, 0, 31, 253, 70, 97, 0, 31, 253, 159, 246, 0, 79, 251, 95, 254, 119, 239, 246, 11, 255, 255, 255, 176, 0, 124, 255, 199, 0 }; -/* K */ static const uint8_t Font_Roboto_Bold_20_glyph_75[] = { 12, 14, 13, 1, 14, 159, 245, 0, 2, 255, 247, 159, 245, 0, 29, 255, 160, 159, 245, 0, 191, 252, 0, 159, 245, 8, 255, 225, 0, 159, 245, 79, 255, 48, 0, 159, 247, 239, 246, 0, 0, 159, 255, 255, 241, 0, 0, 159, 255, 255, 250, 0, 0, 159, 255, 207, 255, 80, 0, 159, 252, 6, 255, 225, 0, 159, 245, 0, 207, 250, 0, 159, 245, 0, 47, 255, 80, 159, 245, 0, 7, 255, 225, 159, 245, 0, 0, 207, 250 }; -/* L */ static const uint8_t Font_Roboto_Bold_20_glyph_76[] = { 10, 14, 11, 1, 14, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 243, 0, 0, 0, 191, 247, 85, 85, 82, 191, 255, 255, 255, 246, 191, 255, 255, 255, 246 }; -/* M */ static const uint8_t Font_Roboto_Bold_20_glyph_77[] = { 16, 14, 18, 1, 14, 191, 255, 64, 0, 0, 12, 255, 243, 191, 255, 160, 0, 0, 47, 255, 243, 191, 255, 240, 0, 0, 143, 255, 243, 191, 255, 245, 0, 0, 223, 255, 243, 191, 252, 251, 0, 3, 255, 191, 243, 191, 246, 255, 16, 9, 253, 143, 243, 191, 241, 255, 96, 14, 248, 143, 243, 191, 241, 175, 192, 79, 242, 159, 243, 191, 242, 79, 242, 175, 192, 175, 243, 191, 242, 14, 249, 255, 96, 175, 243, 191, 243, 8, 255, 255, 16, 191, 243, 191, 243, 3, 255, 250, 0, 191, 243, 191, 243, 0, 223, 244, 0, 191, 243, 191, 243, 0, 127, 224, 0, 191, 243 }; -/* N */ static const uint8_t Font_Roboto_Bold_20_glyph_78[] = { 12, 14, 14, 1, 14, 223, 246, 0, 0, 63, 251, 223, 255, 16, 0, 63, 251, 223, 255, 160, 0, 63, 251, 223, 255, 244, 0, 63, 251, 223, 255, 253, 0, 63, 251, 223, 248, 255, 128, 63, 251, 223, 241, 223, 242, 63, 251, 223, 241, 63, 251, 63, 251, 223, 241, 9, 255, 143, 251, 223, 241, 1, 239, 255, 251, 223, 241, 0, 95, 255, 251, 223, 241, 0, 11, 255, 251, 223, 241, 0, 2, 255, 251, 223, 241, 0, 0, 127, 251 }; -/* O */ static const uint8_t Font_Roboto_Bold_20_glyph_79[] = { 14, 14, 14, 0, 14, 0, 0, 124, 254, 199, 0, 0, 0, 45, 255, 255, 255, 210, 0, 0, 223, 253, 119, 223, 252, 0, 6, 255, 192, 0, 12, 255, 96, 12, 255, 64, 0, 3, 255, 176, 15, 255, 0, 0, 0, 255, 224, 15, 255, 0, 0, 0, 239, 240, 15, 255, 0, 0, 0, 239, 240, 15, 255, 0, 0, 0, 255, 224, 12, 255, 64, 0, 4, 255, 192, 6, 255, 192, 0, 12, 255, 96, 0, 223, 253, 119, 207, 253, 0, 0, 45, 255, 255, 255, 210, 0, 0, 0, 124, 255, 199, 0, 0 }; -/* P */ static const uint8_t Font_Roboto_Bold_20_glyph_80[] = { 12, 14, 13, 1, 14, 191, 255, 255, 236, 112, 0, 191, 255, 255, 255, 252, 0, 191, 248, 102, 126, 255, 144, 191, 244, 0, 2, 255, 240, 191, 244, 0, 0, 207, 242, 191, 244, 0, 0, 239, 242, 191, 244, 0, 24, 255, 224, 191, 255, 255, 255, 255, 80, 191, 255, 255, 255, 229, 0, 191, 248, 101, 83, 0, 0, 191, 244, 0, 0, 0, 0, 191, 244, 0, 0, 0, 0, 191, 244, 0, 0, 0, 0, 191, 244, 0, 0, 0, 0 }; -/* Q */ static const uint8_t Font_Roboto_Bold_20_glyph_81[] = { 14, 17, 14, 0, 14, 0, 0, 124, 254, 198, 0, 0, 0, 45, 255, 255, 255, 210, 0, 0, 223, 252, 119, 223, 252, 0, 6, 255, 176, 0, 12, 255, 80, 12, 255, 48, 0, 4, 255, 176, 15, 255, 0, 0, 0, 255, 224, 15, 254, 0, 0, 0, 255, 240, 15, 254, 0, 0, 0, 255, 240, 15, 255, 0, 0, 1, 255, 224, 12, 255, 64, 0, 4, 255, 176, 6, 255, 192, 0, 12, 255, 96, 0, 223, 252, 119, 207, 253, 0, 0, 45, 255, 255, 255, 225, 0, 0, 0, 124, 255, 255, 246, 0, 0, 0, 0, 0, 78, 255, 144, 0, 0, 0, 0, 2, 222, 32, 0, 0, 0, 0, 0, 1, 0 }; -/* R */ static const uint8_t Font_Roboto_Bold_20_glyph_82[] = { 12, 14, 13, 1, 14, 159, 255, 255, 252, 112, 0, 159, 255, 255, 255, 252, 0, 159, 249, 102, 143, 255, 128, 159, 245, 0, 4, 255, 208, 159, 245, 0, 0, 255, 224, 159, 245, 0, 2, 255, 208, 159, 245, 0, 44, 255, 128, 159, 255, 255, 255, 252, 0, 159, 255, 255, 255, 176, 0, 159, 249, 103, 255, 224, 0, 159, 245, 0, 191, 247, 0, 159, 245, 0, 47, 255, 16, 159, 245, 0, 8, 255, 160, 159, 245, 0, 0, 239, 243 }; -/* S */ static const uint8_t Font_Roboto_Bold_20_glyph_83[] = { 12, 14, 12, 0, 14, 0, 23, 207, 253, 146, 0, 2, 239, 255, 255, 255, 64, 11, 255, 198, 106, 255, 224, 15, 255, 0, 0, 191, 245, 15, 255, 64, 0, 19, 49, 8, 255, 251, 81, 0, 0, 0, 159, 255, 255, 162, 0, 0, 3, 175, 255, 255, 64, 0, 0, 0, 92, 255, 241, 55, 115, 0, 0, 191, 245, 95, 251, 0, 0, 159, 246, 14, 255, 182, 88, 255, 242, 3, 239, 255, 255, 255, 128, 0, 7, 206, 254, 180, 0 }; -/* T */ static const uint8_t Font_Roboto_Bold_20_glyph_84[] = { 12, 14, 12, 0, 14, 159, 255, 255, 255, 255, 255, 159, 255, 255, 255, 255, 255, 54, 102, 159, 252, 102, 101, 0, 0, 95, 250, 0, 0, 0, 0, 95, 250, 0, 0, 0, 0, 95, 250, 0, 0, 0, 0, 95, 250, 0, 0, 0, 0, 95, 250, 0, 0, 0, 0, 95, 250, 0, 0, 0, 0, 95, 250, 0, 0, 0, 0, 95, 250, 0, 0, 0, 0, 95, 250, 0, 0, 0, 0, 95, 250, 0, 0, 0, 0, 95, 250, 0, 0 }; -/* U */ static const uint8_t Font_Roboto_Bold_20_glyph_85[] = { 11, 14, 13, 1, 14, 255, 240, 0, 0, 255, 255, 255, 0, 0, 15, 255, 255, 240, 0, 0, 255, 255, 255, 0, 0, 15, 255, 255, 240, 0, 0, 255, 255, 255, 0, 0, 15, 255, 255, 240, 0, 0, 255, 255, 255, 0, 0, 15, 255, 255, 240, 0, 0, 255, 254, 255, 0, 0, 15, 254, 207, 245, 0, 5, 255, 198, 255, 248, 104, 255, 246, 10, 255, 255, 255, 249, 0, 5, 190, 254, 181, 0 }; -/* V */ static const uint8_t Font_Roboto_Bold_20_glyph_86[] = { 13, 14, 13, 0, 14, 207, 246, 0, 0, 7, 255, 199, 255, 176, 0, 0, 207, 246, 31, 255, 0, 0, 31, 255, 16, 207, 245, 0, 5, 255, 176, 6, 255, 160, 0, 175, 246, 0, 31, 254, 0, 15, 255, 0, 0, 191, 244, 4, 255, 160, 0, 5, 255, 128, 159, 245, 0, 0, 15, 253, 14, 254, 0, 0, 0, 175, 245, 255, 144, 0, 0, 4, 255, 239, 244, 0, 0, 0, 14, 255, 254, 0, 0, 0, 0, 159, 255, 128, 0, 0, 0, 3, 255, 243, 0, 0 }; -/* W */ static const uint8_t Font_Roboto_Bold_20_glyph_87[] = { 17, 14, 17, 0, 14, 207, 241, 0, 13, 254, 0, 1, 255, 201, 255, 64, 1, 255, 241, 0, 79, 249, 95, 247, 0, 79, 255, 80, 7, 255, 81, 255, 176, 8, 255, 249, 0, 175, 242, 14, 254, 0, 207, 255, 208, 13, 254, 0, 175, 241, 15, 249, 255, 0, 255, 160, 7, 255, 68, 255, 31, 244, 63, 247, 0, 63, 247, 127, 192, 207, 134, 255, 48, 0, 255, 171, 248, 8, 252, 175, 240, 0, 12, 253, 255, 80, 79, 253, 252, 0, 0, 143, 255, 241, 0, 255, 255, 144, 0, 5, 255, 253, 0, 12, 255, 245, 0, 0, 31, 255, 144, 0, 143, 255, 16, 0, 0, 223, 245, 0, 4, 255, 224, 0 }; -/* X */ static const uint8_t Font_Roboto_Bold_20_glyph_88[] = { 13, 14, 13, 0, 14, 111, 254, 0, 0, 63, 255, 32, 207, 248, 0, 12, 255, 112, 3, 255, 241, 5, 255, 208, 0, 9, 255, 144, 239, 244, 0, 0, 30, 255, 175, 251, 0, 0, 0, 111, 255, 255, 32, 0, 0, 0, 207, 255, 128, 0, 0, 0, 13, 255, 249, 0, 0, 0, 7, 255, 255, 243, 0, 0, 1, 255, 249, 255, 192, 0, 0, 175, 249, 13, 255, 96, 0, 79, 255, 16, 79, 254, 16, 13, 255, 112, 0, 191, 249, 7, 255, 208, 0, 3, 255, 243 }; -/* Y */ static const uint8_t Font_Roboto_Bold_20_glyph_89[] = { 13, 14, 12, 0, 14, 191, 247, 0, 0, 47, 255, 19, 255, 224, 0, 9, 255, 128, 10, 255, 96, 1, 255, 241, 0, 47, 253, 0, 143, 248, 0, 0, 175, 245, 14, 254, 0, 0, 2, 255, 199, 255, 112, 0, 0, 9, 255, 255, 224, 0, 0, 0, 31, 255, 246, 0, 0, 0, 0, 143, 253, 0, 0, 0, 0, 5, 255, 160, 0, 0, 0, 0, 95, 250, 0, 0, 0, 0, 5, 255, 160, 0, 0, 0, 0, 95, 250, 0, 0, 0, 0, 5, 255, 160, 0, 0 }; -/* Z */ static const uint8_t Font_Roboto_Bold_20_glyph_90[] = { 12, 14, 12, 0, 14, 79, 255, 255, 255, 255, 246, 79, 255, 255, 255, 255, 245, 22, 102, 102, 106, 255, 192, 0, 0, 0, 30, 255, 32, 0, 0, 0, 191, 246, 0, 0, 0, 7, 255, 176, 0, 0, 0, 63, 254, 16, 0, 0, 0, 223, 244, 0, 0, 0, 9, 255, 144, 0, 0, 0, 79, 253, 0, 0, 0, 1, 239, 243, 0, 0, 0, 11, 255, 181, 85, 85, 83, 79, 255, 255, 255, 255, 248, 79, 255, 255, 255, 255, 248 }; -/* [ */ static const uint8_t Font_Roboto_Bold_20_glyph_91[] = { 5, 20, 6, 1, 17, 223, 255, 109, 255, 246, 223, 242, 29, 255, 0, 223, 240, 13, 255, 0, 223, 240, 13, 255, 0, 223, 240, 13, 255, 0, 223, 240, 13, 255, 0, 223, 240, 13, 255, 0, 223, 240, 13, 255, 0, 223, 240, 13, 255, 33, 223, 255, 109, 255, 246 }; -/* \ */ static const uint8_t Font_Roboto_Bold_20_glyph_92[] = { 9, 15, 8, 0, 14, 207, 241, 0, 0, 6, 255, 112, 0, 0, 15, 253, 0, 0, 0, 159, 244, 0, 0, 3, 255, 160, 0, 0, 13, 255, 16, 0, 0, 111, 247, 0, 0, 1, 255, 208, 0, 0, 10, 255, 48, 0, 0, 79, 250, 0, 0, 0, 223, 241, 0, 0, 7, 255, 96, 0, 0, 31, 253, 0, 0, 0, 175, 243, 0, 0, 4, 255, 144 }; -/* ] */ static const uint8_t Font_Roboto_Bold_20_glyph_93[] = { 5, 20, 6, 0, 17, 239, 255, 94, 255, 245, 40, 255, 80, 127, 245, 7, 255, 80, 127, 245, 7, 255, 80, 127, 245, 7, 255, 80, 127, 245, 7, 255, 80, 127, 245, 7, 255, 80, 127, 245, 7, 255, 80, 127, 245, 7, 255, 82, 143, 245, 239, 255, 94, 255, 245 }; -/* ^ */ static const uint8_t Font_Roboto_Bold_20_glyph_94[] = { 9, 7, 9, 0, 14, 0, 11, 251, 0, 0, 2, 255, 242, 0, 0, 159, 255, 144, 0, 15, 245, 255, 0, 6, 252, 12, 246, 0, 223, 96, 111, 208, 63, 240, 0, 255, 48 }; -/* _ */ static const uint8_t Font_Roboto_Bold_20_glyph_95[] = { 9, 3, 9, 0, 0, 255, 255, 255, 255, 239, 255, 255, 255, 254, 51, 51, 51, 51, 32 }; -/* ` */ static const uint8_t Font_Roboto_Bold_20_glyph_96[] = { 6, 3, 7, 0, 15, 46, 253, 0, 3, 255, 128, 0, 79, 243 }; -/* a */ static const uint8_t Font_Roboto_Bold_20_glyph_97[] = { 11, 11, 11, 0, 11, 0, 75, 239, 216, 16, 0, 127, 255, 255, 253, 0, 15, 254, 50, 159, 246, 0, 0, 0, 3, 255, 144, 0, 108, 239, 255, 250, 0, 159, 254, 187, 255, 160, 47, 252, 0, 63, 250, 4, 255, 128, 3, 255, 160, 63, 253, 52, 223, 250, 0, 207, 255, 255, 255, 176, 0, 142, 252, 62, 254, 0 }; -/* b */ static const uint8_t Font_Roboto_Bold_20_glyph_98[] = { 11, 15, 11, 0, 15, 31, 252, 0, 0, 0, 1, 255, 192, 0, 0, 0, 31, 252, 0, 0, 0, 1, 255, 192, 0, 0, 0, 31, 252, 126, 253, 80, 1, 255, 255, 255, 255, 80, 31, 255, 149, 159, 254, 1, 255, 208, 0, 191, 244, 31, 252, 0, 7, 255, 97, 255, 192, 0, 111, 247, 31, 252, 0, 6, 255, 97, 255, 208, 0, 175, 244, 31, 255, 149, 143, 254, 1, 255, 255, 255, 255, 96, 31, 249, 142, 253, 80, 0 }; -/* c */ static const uint8_t Font_Roboto_Bold_20_glyph_99[] = { 10, 11, 10, 0, 11, 0, 59, 239, 216, 0, 4, 255, 255, 255, 176, 14, 255, 117, 207, 245, 95, 248, 0, 31, 249, 143, 245, 0, 2, 33, 159, 244, 0, 0, 0, 143, 245, 0, 0, 0, 95, 248, 0, 29, 216, 14, 255, 117, 191, 246, 4, 255, 255, 255, 176, 0, 59, 239, 215, 0 }; -/* d */ static const uint8_t Font_Roboto_Bold_20_glyph_100[] = { 11, 15, 11, 0, 15, 0, 0, 0, 12, 255, 0, 0, 0, 0, 207, 240, 0, 0, 0, 12, 255, 0, 0, 0, 0, 207, 240, 0, 93, 253, 108, 255, 0, 95, 255, 255, 255, 240, 14, 255, 149, 175, 255, 4, 255, 176, 0, 223, 240, 111, 246, 0, 13, 255, 7, 255, 80, 0, 223, 240, 111, 246, 0, 13, 255, 3, 255, 160, 0, 223, 240, 14, 255, 133, 175, 255, 0, 95, 255, 255, 255, 240, 0, 93, 254, 137, 255, 0 }; -/* e */ static const uint8_t Font_Roboto_Bold_20_glyph_101[] = { 11, 11, 11, 0, 11, 0, 7, 223, 235, 48, 0, 11, 255, 255, 255, 80, 7, 255, 165, 110, 254, 0, 239, 208, 0, 127, 243, 31, 255, 255, 255, 255, 83, 255, 254, 238, 238, 229, 47, 252, 0, 0, 0, 0, 239, 243, 0, 6, 32, 8, 255, 231, 89, 253, 0, 11, 255, 255, 255, 144, 0, 6, 207, 252, 80, 0 }; -/* f */ static const uint8_t Font_Roboto_Bold_20_glyph_102[] = { 8, 15, 7, 0, 15, 0, 8, 223, 225, 0, 191, 255, 241, 2, 255, 230, 80, 3, 255, 144, 0, 207, 255, 255, 176, 207, 255, 255, 176, 4, 255, 161, 0, 3, 255, 144, 0, 3, 255, 144, 0, 3, 255, 144, 0, 3, 255, 144, 0, 3, 255, 144, 0, 3, 255, 144, 0, 3, 255, 144, 0, 3, 255, 144, 0 }; -/* g */ static const uint8_t Font_Roboto_Bold_20_glyph_103[] = { 11, 15, 11, 0, 11, 0, 76, 254, 169, 255, 32, 95, 255, 255, 255, 242, 14, 255, 165, 159, 255, 36, 255, 176, 0, 191, 242, 127, 246, 0, 11, 255, 40, 255, 80, 0, 191, 242, 127, 246, 0, 11, 255, 36, 255, 176, 0, 191, 242, 14, 255, 149, 159, 255, 32, 95, 255, 255, 255, 242, 0, 76, 254, 139, 255, 16, 2, 0, 0, 239, 240, 4, 248, 68, 191, 250, 0, 159, 255, 255, 253, 16, 0, 92, 255, 216, 0, 0 }; -/* h */ static const uint8_t Font_Roboto_Bold_20_glyph_104[] = { 11, 15, 11, 0, 15, 31, 251, 0, 0, 0, 1, 255, 176, 0, 0, 0, 31, 251, 0, 0, 0, 1, 255, 176, 0, 0, 0, 31, 251, 93, 254, 112, 1, 255, 239, 255, 255, 96, 31, 255, 149, 159, 253, 1, 255, 192, 0, 223, 240, 31, 251, 0, 12, 255, 1, 255, 176, 0, 207, 240, 31, 251, 0, 12, 255, 1, 255, 176, 0, 207, 240, 31, 251, 0, 12, 255, 1, 255, 176, 0, 207, 240, 31, 251, 0, 12, 255, 0 }; -/* i */ static const uint8_t Font_Roboto_Bold_20_glyph_105[] = { 5, 15, 5, 0, 15, 8, 232, 0, 255, 240, 9, 250, 0, 0, 0, 14, 254, 0, 239, 224, 14, 254, 0, 239, 224, 14, 254, 0, 239, 224, 14, 254, 0, 239, 224, 14, 254, 0, 239, 224, 14, 254, 0 }; -/* j */ static const uint8_t Font_Roboto_Bold_20_glyph_106[] = { 6, 19, 5, -1, 15, 0, 142, 128, 0, 255, 240, 0, 159, 160, 0, 0, 0, 0, 223, 240, 0, 223, 240, 0, 223, 240, 0, 223, 240, 0, 223, 240, 0, 223, 240, 0, 223, 240, 0, 223, 240, 0, 223, 240, 0, 223, 240, 0, 223, 240, 0, 239, 240, 88, 255, 192, 255, 255, 80, 239, 214, 0 }; -/* k */ static const uint8_t Font_Roboto_Bold_20_glyph_107[] = { 10, 15, 11, 1, 15, 239, 224, 0, 0, 0, 239, 224, 0, 0, 0, 239, 224, 0, 0, 0, 239, 224, 0, 0, 0, 239, 224, 4, 255, 242, 239, 224, 46, 255, 64, 239, 224, 223, 247, 0, 239, 235, 255, 160, 0, 239, 255, 254, 0, 0, 239, 255, 255, 80, 0, 239, 254, 255, 225, 0, 239, 242, 143, 249, 0, 239, 224, 13, 255, 64, 239, 224, 4, 255, 208, 239, 224, 0, 175, 248 }; -/* l */ static const uint8_t Font_Roboto_Bold_20_glyph_108[] = { 4, 15, 5, 1, 15, 207, 241, 207, 241, 207, 241, 207, 241, 207, 241, 207, 241, 207, 241, 207, 241, 207, 241, 207, 241, 207, 241, 207, 241, 207, 241, 207, 241, 207, 241 }; -/* m */ static const uint8_t Font_Roboto_Bold_20_glyph_109[] = { 17, 11, 17, 0, 11, 31, 249, 92, 254, 112, 92, 254, 128, 1, 255, 239, 255, 255, 191, 255, 255, 128, 31, 255, 149, 159, 255, 181, 143, 254, 1, 255, 192, 0, 255, 240, 0, 223, 240, 31, 252, 0, 14, 254, 0, 12, 255, 17, 255, 192, 0, 239, 224, 0, 207, 241, 31, 252, 0, 14, 254, 0, 12, 255, 17, 255, 192, 0, 239, 224, 0, 207, 241, 31, 252, 0, 14, 254, 0, 12, 255, 17, 255, 192, 0, 239, 224, 0, 207, 241, 31, 252, 0, 14, 254, 0, 12, 255, 16 }; -/* n */ static const uint8_t Font_Roboto_Bold_20_glyph_110[] = { 11, 11, 11, 0, 11, 31, 249, 109, 254, 128, 1, 255, 255, 255, 255, 96, 31, 255, 149, 143, 253, 1, 255, 192, 0, 223, 240, 31, 251, 0, 12, 255, 1, 255, 176, 0, 207, 240, 31, 251, 0, 12, 255, 1, 255, 176, 0, 207, 240, 31, 251, 0, 12, 255, 1, 255, 176, 0, 207, 240, 31, 251, 0, 12, 255, 0 }; -/* o */ static const uint8_t Font_Roboto_Bold_20_glyph_111[] = { 11, 11, 11, 0, 11, 0, 25, 239, 233, 16, 0, 46, 255, 255, 254, 32, 13, 255, 149, 159, 253, 3, 255, 176, 0, 191, 243, 111, 246, 0, 6, 255, 104, 255, 80, 0, 95, 247, 127, 246, 0, 6, 255, 99, 255, 176, 0, 191, 243, 13, 255, 149, 159, 253, 0, 62, 255, 255, 254, 32, 0, 42, 239, 233, 32, 0 }; -/* p */ static const uint8_t Font_Roboto_Bold_20_glyph_112[] = { 11, 15, 11, 0, 11, 31, 250, 142, 253, 80, 1, 255, 255, 255, 255, 80, 31, 255, 149, 159, 254, 1, 255, 192, 0, 191, 243, 31, 252, 0, 7, 255, 97, 255, 192, 0, 111, 247, 31, 252, 0, 7, 255, 97, 255, 192, 0, 191, 243, 31, 255, 149, 159, 254, 1, 255, 255, 255, 255, 80, 31, 252, 126, 253, 80, 1, 255, 192, 0, 0, 0, 31, 252, 0, 0, 0, 1, 255, 192, 0, 0, 0, 31, 252, 0, 0, 0, 0 }; -/* q */ static const uint8_t Font_Roboto_Bold_20_glyph_113[] = { 11, 15, 11, 0, 11, 0, 93, 254, 136, 255, 0, 111, 255, 255, 255, 240, 14, 255, 149, 175, 255, 4, 255, 176, 0, 223, 240, 127, 246, 0, 13, 255, 7, 255, 80, 0, 223, 240, 111, 246, 0, 13, 255, 4, 255, 176, 0, 223, 240, 14, 255, 149, 159, 255, 0, 95, 255, 255, 255, 240, 0, 93, 254, 125, 255, 0, 0, 0, 0, 223, 240, 0, 0, 0, 13, 255, 0, 0, 0, 0, 223, 240, 0, 0, 0, 13, 255, 0 }; -/* r */ static const uint8_t Font_Roboto_Bold_20_glyph_114[] = { 7, 11, 7, 0, 11, 31, 249, 126, 209, 255, 239, 254, 31, 255, 252, 177, 255, 226, 0, 31, 252, 0, 1, 255, 192, 0, 31, 252, 0, 1, 255, 192, 0, 31, 252, 0, 1, 255, 192, 0, 31, 252, 0, 0 }; -/* s */ static const uint8_t Font_Roboto_Bold_20_glyph_115[] = { 10, 11, 10, 0, 11, 0, 92, 238, 198, 0, 9, 255, 255, 255, 160, 47, 251, 17, 207, 243, 63, 249, 0, 54, 98, 14, 255, 216, 64, 0, 2, 207, 255, 254, 64, 0, 3, 140, 255, 241, 73, 145, 0, 143, 245, 95, 249, 17, 175, 244, 11, 255, 255, 255, 192, 0, 124, 255, 198, 0 }; -/* t */ static const uint8_t Font_Roboto_Bold_20_glyph_116[] = { 7, 14, 7, 0, 14, 3, 255, 160, 0, 63, 250, 0, 3, 255, 160, 12, 255, 255, 246, 207, 255, 255, 96, 79, 250, 16, 3, 255, 160, 0, 63, 250, 0, 3, 255, 160, 0, 63, 250, 0, 3, 255, 160, 0, 31, 254, 83, 0, 223, 255, 128, 2, 191, 246 }; -/* u */ static const uint8_t Font_Roboto_Bold_20_glyph_117[] = { 11, 11, 11, 0, 11, 31, 252, 0, 12, 255, 1, 255, 192, 0, 207, 240, 31, 252, 0, 12, 255, 1, 255, 192, 0, 207, 240, 31, 252, 0, 12, 255, 1, 255, 192, 0, 207, 240, 31, 252, 0, 12, 255, 0, 255, 208, 0, 223, 240, 13, 255, 133, 159, 255, 0, 127, 255, 255, 255, 240, 0, 125, 253, 106, 255, 0 }; -/* v */ static const uint8_t Font_Roboto_Bold_20_glyph_118[] = { 10, 11, 10, 0, 11, 207, 242, 0, 63, 251, 127, 246, 0, 127, 246, 47, 250, 0, 191, 241, 12, 254, 0, 255, 192, 7, 255, 52, 255, 96, 2, 255, 120, 255, 16, 0, 223, 188, 252, 0, 0, 143, 255, 247, 0, 0, 47, 255, 242, 0, 0, 13, 255, 192, 0, 0, 8, 255, 112, 0 }; -/* w */ static const uint8_t Font_Roboto_Bold_20_glyph_119[] = { 15, 11, 15, 0, 11, 127, 243, 0, 191, 144, 4, 255, 99, 255, 96, 15, 254, 0, 143, 242, 15, 250, 3, 255, 242, 11, 254, 0, 191, 208, 143, 255, 112, 239, 160, 7, 255, 12, 252, 251, 31, 246, 0, 63, 244, 255, 63, 245, 255, 32, 0, 255, 207, 192, 223, 207, 224, 0, 11, 255, 247, 8, 255, 250, 0, 0, 143, 255, 48, 79, 255, 112, 0, 4, 255, 224, 0, 255, 243, 0, 0, 15, 249, 0, 10, 255, 0, 0 }; -/* x */ static const uint8_t Font_Roboto_Bold_20_glyph_120[] = { 11, 11, 10, 0, 11, 111, 250, 0, 111, 249, 0, 223, 242, 14, 255, 16, 4, 255, 183, 255, 128, 0, 11, 255, 255, 224, 0, 0, 47, 255, 246, 0, 0, 0, 207, 255, 0, 0, 0, 79, 255, 248, 0, 0, 13, 255, 239, 241, 0, 6, 255, 149, 255, 160, 0, 239, 241, 12, 255, 48, 143, 248, 0, 79, 251, 0 }; -/* y */ static const uint8_t Font_Roboto_Bold_20_glyph_121[] = { 10, 15, 10, 0, 11, 223, 243, 0, 47, 253, 127, 247, 0, 127, 247, 47, 252, 0, 207, 242, 12, 255, 17, 255, 192, 6, 255, 101, 255, 112, 1, 255, 170, 255, 16, 0, 191, 254, 252, 0, 0, 111, 255, 246, 0, 0, 31, 255, 241, 0, 0, 11, 255, 176, 0, 0, 6, 255, 96, 0, 0, 9, 255, 16, 0, 4, 127, 250, 0, 0, 13, 255, 242, 0, 0, 12, 252, 64, 0, 0 }; -/* z */ static const uint8_t Font_Roboto_Bold_20_glyph_122[] = { 10, 11, 10, 0, 11, 47, 255, 255, 255, 245, 47, 255, 255, 255, 244, 4, 68, 75, 255, 176, 0, 0, 63, 254, 16, 0, 0, 223, 245, 0, 0, 9, 255, 144, 0, 0, 79, 253, 0, 0, 1, 239, 243, 0, 0, 11, 255, 180, 68, 66, 79, 255, 255, 255, 248, 79, 255, 255, 255, 248 }; -/* { */ static const uint8_t Font_Roboto_Bold_20_glyph_123[] = { 7, 20, 7, 0, 16, 0, 0, 92, 16, 0, 143, 244, 0, 47, 247, 0, 7, 255, 0, 0, 159, 240, 0, 10, 254, 0, 0, 175, 224, 0, 11, 253, 0, 4, 255, 128, 5, 255, 192, 0, 95, 251, 0, 0, 79, 248, 0, 0, 191, 208, 0, 10, 254, 0, 0, 175, 224, 0, 9, 255, 0, 0, 127, 241, 0, 2, 255, 112, 0, 7, 255, 64, 0, 5, 193 }; -/* | */ static const uint8_t Font_Roboto_Bold_20_glyph_124[] = { 3, 17, 5, 1, 14, 95, 101, 246, 95, 101, 246, 95, 101, 246, 95, 101, 246, 95, 101, 246, 95, 101, 246, 95, 101, 246, 95, 101, 246, 95, 96 }; -/* } */ static const uint8_t Font_Roboto_Bold_20_glyph_125[] = { 7, 20, 7, 0, 16, 28, 80, 0, 4, 255, 112, 0, 7, 255, 32, 0, 31, 247, 0, 0, 255, 144, 0, 14, 249, 0, 0, 239, 144, 0, 13, 251, 0, 0, 143, 243, 0, 0, 207, 245, 0, 11, 255, 80, 8, 255, 64, 0, 223, 176, 0, 14, 249, 0, 0, 239, 144, 0, 15, 249, 0, 1, 255, 112, 0, 127, 242, 0, 79, 247, 0, 1, 197, 0, 0 }; -/* ~ */ static const uint8_t Font_Roboto_Bold_20_glyph_126[] = { 11, 5, 13, 1, 8, 6, 239, 195, 0, 42, 149, 255, 255, 246, 9, 252, 207, 198, 207, 255, 255, 109, 227, 0, 143, 255, 160, 0, 0, 0, 20, 32, 0 }; - -const uint8_t * const Font_Roboto_Bold_20[126 + 1 - 32] = { - Font_Roboto_Bold_20_glyph_32, - Font_Roboto_Bold_20_glyph_33, - Font_Roboto_Bold_20_glyph_34, - Font_Roboto_Bold_20_glyph_35, - Font_Roboto_Bold_20_glyph_36, - Font_Roboto_Bold_20_glyph_37, - Font_Roboto_Bold_20_glyph_38, - Font_Roboto_Bold_20_glyph_39, - Font_Roboto_Bold_20_glyph_40, - Font_Roboto_Bold_20_glyph_41, - Font_Roboto_Bold_20_glyph_42, - Font_Roboto_Bold_20_glyph_43, - Font_Roboto_Bold_20_glyph_44, - Font_Roboto_Bold_20_glyph_45, - Font_Roboto_Bold_20_glyph_46, - Font_Roboto_Bold_20_glyph_47, - Font_Roboto_Bold_20_glyph_48, - Font_Roboto_Bold_20_glyph_49, - Font_Roboto_Bold_20_glyph_50, - Font_Roboto_Bold_20_glyph_51, - Font_Roboto_Bold_20_glyph_52, - Font_Roboto_Bold_20_glyph_53, - Font_Roboto_Bold_20_glyph_54, - Font_Roboto_Bold_20_glyph_55, - Font_Roboto_Bold_20_glyph_56, - Font_Roboto_Bold_20_glyph_57, - Font_Roboto_Bold_20_glyph_58, - Font_Roboto_Bold_20_glyph_59, - Font_Roboto_Bold_20_glyph_60, - Font_Roboto_Bold_20_glyph_61, - Font_Roboto_Bold_20_glyph_62, - Font_Roboto_Bold_20_glyph_63, - Font_Roboto_Bold_20_glyph_64, - Font_Roboto_Bold_20_glyph_65, - Font_Roboto_Bold_20_glyph_66, - Font_Roboto_Bold_20_glyph_67, - Font_Roboto_Bold_20_glyph_68, - Font_Roboto_Bold_20_glyph_69, - Font_Roboto_Bold_20_glyph_70, - Font_Roboto_Bold_20_glyph_71, - Font_Roboto_Bold_20_glyph_72, - Font_Roboto_Bold_20_glyph_73, - Font_Roboto_Bold_20_glyph_74, - Font_Roboto_Bold_20_glyph_75, - Font_Roboto_Bold_20_glyph_76, - Font_Roboto_Bold_20_glyph_77, - Font_Roboto_Bold_20_glyph_78, - Font_Roboto_Bold_20_glyph_79, - Font_Roboto_Bold_20_glyph_80, - Font_Roboto_Bold_20_glyph_81, - Font_Roboto_Bold_20_glyph_82, - Font_Roboto_Bold_20_glyph_83, - Font_Roboto_Bold_20_glyph_84, - Font_Roboto_Bold_20_glyph_85, - Font_Roboto_Bold_20_glyph_86, - Font_Roboto_Bold_20_glyph_87, - Font_Roboto_Bold_20_glyph_88, - Font_Roboto_Bold_20_glyph_89, - Font_Roboto_Bold_20_glyph_90, - Font_Roboto_Bold_20_glyph_91, - Font_Roboto_Bold_20_glyph_92, - Font_Roboto_Bold_20_glyph_93, - Font_Roboto_Bold_20_glyph_94, - Font_Roboto_Bold_20_glyph_95, - Font_Roboto_Bold_20_glyph_96, - Font_Roboto_Bold_20_glyph_97, - Font_Roboto_Bold_20_glyph_98, - Font_Roboto_Bold_20_glyph_99, - Font_Roboto_Bold_20_glyph_100, - Font_Roboto_Bold_20_glyph_101, - Font_Roboto_Bold_20_glyph_102, - Font_Roboto_Bold_20_glyph_103, - Font_Roboto_Bold_20_glyph_104, - Font_Roboto_Bold_20_glyph_105, - Font_Roboto_Bold_20_glyph_106, - Font_Roboto_Bold_20_glyph_107, - Font_Roboto_Bold_20_glyph_108, - Font_Roboto_Bold_20_glyph_109, - Font_Roboto_Bold_20_glyph_110, - Font_Roboto_Bold_20_glyph_111, - Font_Roboto_Bold_20_glyph_112, - Font_Roboto_Bold_20_glyph_113, - Font_Roboto_Bold_20_glyph_114, - Font_Roboto_Bold_20_glyph_115, - Font_Roboto_Bold_20_glyph_116, - Font_Roboto_Bold_20_glyph_117, - Font_Roboto_Bold_20_glyph_118, - Font_Roboto_Bold_20_glyph_119, - Font_Roboto_Bold_20_glyph_120, - Font_Roboto_Bold_20_glyph_121, - Font_Roboto_Bold_20_glyph_122, - Font_Roboto_Bold_20_glyph_123, - Font_Roboto_Bold_20_glyph_124, - Font_Roboto_Bold_20_glyph_125, - Font_Roboto_Bold_20_glyph_126, -}; diff --git a/extmod/modtrezorui/modtrezorui-font_roboto_regular.h b/extmod/modtrezorui/modtrezorui-font_roboto_regular.h deleted file mode 100644 index 0aae2f9f16..0000000000 --- a/extmod/modtrezorui/modtrezorui-font_roboto_regular.h +++ /dev/null @@ -1,197 +0,0 @@ -// first two bytes are width and height of the glyph -// third, fourth and fifth bytes are advance, bearingX and bearingY of the horizontal metrics of the glyph -// rest is packed 4-bit glyph data - -/* */ static const uint8_t Font_Roboto_Regular_20_glyph_32[] = { 0, 0, 5, 0, 0 }; -/* ! */ static const uint8_t Font_Roboto_Regular_20_glyph_33[] = { 3, 14, 5, 1, 14, 95, 133, 248, 95, 117, 247, 95, 116, 247, 79, 116, 246, 79, 99, 245, 0, 0, 0, 79, 132, 247 }; -/* " */ static const uint8_t Font_Roboto_Regular_20_glyph_34[] = { 5, 5, 6, 1, 15, 171, 15, 90, 160, 245, 169, 15, 58, 128, 242, 167, 15, 16 }; -/* # */ static const uint8_t Font_Roboto_Regular_20_glyph_35[] = { 12, 14, 12, 1, 14, 0, 0, 172, 0, 171, 0, 0, 0, 231, 0, 231, 0, 0, 2, 243, 3, 243, 0, 31, 255, 255, 255, 255, 241, 5, 92, 213, 92, 213, 80, 0, 12, 144, 12, 144, 0, 0, 15, 96, 15, 96, 0, 0, 47, 48, 63, 48, 0, 223, 255, 255, 255, 255, 80, 69, 190, 85, 190, 85, 16, 0, 187, 0, 186, 0, 0, 0, 216, 0, 232, 0, 0, 0, 245, 1, 245, 0, 0, 3, 243, 3, 242, 0, 0 }; -/* $ */ static const uint8_t Font_Roboto_Regular_20_glyph_36[] = { 10, 19, 11, 1, 17, 0, 0, 17, 0, 0, 0, 0, 233, 0, 0, 0, 0, 233, 0, 0, 0, 125, 255, 178, 0, 10, 253, 155, 255, 32, 47, 192, 0, 111, 160, 95, 112, 0, 14, 224, 63, 160, 0, 6, 128, 13, 248, 16, 0, 0, 2, 223, 251, 80, 0, 0, 6, 207, 252, 16, 0, 0, 2, 191, 176, 85, 0, 0, 13, 241, 223, 0, 0, 11, 241, 159, 112, 0, 47, 224, 30, 252, 154, 255, 96, 1, 158, 255, 180, 0, 0, 0, 246, 0, 0, 0, 0, 213, 0, 0 }; -/* % */ static const uint8_t Font_Roboto_Regular_20_glyph_37[] = { 13, 14, 15, 1, 14, 9, 238, 112, 0, 0, 0, 8, 228, 95, 96, 0, 0, 0, 215, 0, 155, 0, 28, 16, 15, 96, 8, 208, 11, 176, 0, 215, 0, 155, 6, 241, 0, 8, 228, 95, 97, 246, 0, 0, 9, 238, 128, 187, 0, 0, 0, 0, 0, 110, 41, 238, 112, 0, 0, 31, 89, 228, 111, 80, 0, 11, 176, 246, 0, 170, 0, 6, 225, 15, 64, 9, 192, 1, 245, 0, 246, 0, 170, 0, 90, 0, 9, 212, 95, 80, 0, 0, 0, 9, 238, 112 }; -/* & */ static const uint8_t Font_Roboto_Regular_20_glyph_38[] = { 13, 14, 12, 0, 14, 0, 5, 207, 232, 0, 0, 0, 5, 254, 138, 250, 0, 0, 0, 191, 32, 11, 240, 0, 0, 12, 240, 0, 191, 0, 0, 0, 159, 96, 127, 128, 0, 0, 1, 239, 207, 144, 0, 0, 0, 9, 255, 96, 0, 0, 0, 10, 252, 252, 0, 7, 48, 8, 249, 6, 251, 3, 247, 0, 238, 0, 8, 249, 127, 64, 15, 208, 0, 10, 255, 224, 0, 207, 64, 0, 31, 248, 0, 3, 255, 168, 158, 254, 243, 0, 2, 174, 254, 163, 63, 225 }; -/* ' */ static const uint8_t Font_Roboto_Regular_20_glyph_39[] = { 2, 5, 3, 1, 15, 247, 247, 246, 245, 244 }; -/* ( */ static const uint8_t Font_Roboto_Regular_20_glyph_40[] = { 6, 21, 7, 1, 16, 0, 0, 131, 0, 9, 226, 0, 111, 64, 1, 234, 0, 7, 242, 0, 13, 208, 0, 47, 128, 0, 111, 80, 0, 159, 48, 0, 175, 32, 0, 191, 16, 0, 175, 32, 0, 159, 48, 0, 111, 80, 0, 63, 128, 0, 13, 208, 0, 7, 242, 0, 1, 234, 0, 0, 111, 64, 0, 9, 226, 0, 0, 131 }; -/* ) */ static const uint8_t Font_Roboto_Regular_20_glyph_41[] = { 6, 21, 7, 0, 16, 102, 0, 0, 79, 112, 0, 7, 243, 0, 0, 220, 0, 0, 111, 80, 0, 15, 176, 0, 11, 240, 0, 8, 243, 0, 6, 246, 0, 5, 247, 0, 4, 248, 0, 5, 247, 0, 6, 246, 0, 8, 243, 0, 12, 240, 0, 15, 176, 0, 95, 80, 0, 204, 0, 6, 243, 0, 79, 112, 0, 102, 0, 0 }; -/* * */ static const uint8_t Font_Roboto_Regular_20_glyph_42[] = { 9, 9, 9, 0, 14, 0, 6, 240, 0, 0, 0, 111, 0, 0, 72, 37, 240, 73, 7, 255, 239, 239, 226, 0, 79, 251, 32, 0, 8, 250, 225, 0, 4, 246, 14, 192, 0, 75, 0, 75, 0, 0, 0, 0, 0, 0 }; -/* + */ static const uint8_t Font_Roboto_Regular_20_glyph_43[] = { 11, 12, 11, 0, 13, 0, 0, 2, 16, 0, 0, 0, 4, 248, 0, 0, 0, 0, 79, 128, 0, 0, 0, 4, 248, 0, 0, 0, 0, 79, 128, 0, 3, 255, 255, 255, 255, 248, 43, 187, 207, 219, 187, 80, 0, 4, 248, 0, 0, 0, 0, 79, 128, 0, 0, 0, 4, 248, 0, 0, 0, 0, 79, 128, 0, 0, 0, 0, 49, 0, 0 }; -/* , */ static const uint8_t Font_Roboto_Regular_20_glyph_44[] = { 4, 6, 4, 0, 3, 1, 32, 12, 240, 12, 240, 15, 208, 95, 112, 91, 0 }; -/* - */ static const uint8_t Font_Roboto_Regular_20_glyph_45[] = { 6, 2, 6, 0, 7, 175, 255, 242, 71, 119, 112 }; -/* . */ static const uint8_t Font_Roboto_Regular_20_glyph_46[] = { 3, 3, 5, 1, 3, 1, 7, 248, 95, 96 }; -/* / */ static const uint8_t Font_Roboto_Regular_20_glyph_47[] = { 8, 15, 8, 0, 14, 0, 0, 1, 247, 0, 0, 7, 241, 0, 0, 13, 160, 0, 0, 79, 64, 0, 0, 173, 0, 0, 1, 247, 0, 0, 7, 241, 0, 0, 13, 176, 0, 0, 79, 64, 0, 0, 174, 0, 0, 1, 248, 0, 0, 7, 241, 0, 0, 13, 176, 0, 0, 63, 80, 0, 0, 174, 0, 0, 0 }; -/* 0 */ static const uint8_t Font_Roboto_Regular_20_glyph_48[] = { 10, 14, 11, 1, 14, 0, 141, 254, 162, 0, 12, 252, 138, 254, 16, 95, 160, 0, 111, 128, 175, 32, 0, 14, 208, 207, 0, 0, 12, 240, 223, 0, 0, 11, 241, 239, 0, 0, 11, 241, 239, 0, 0, 11, 241, 223, 0, 0, 11, 241, 207, 0, 0, 12, 240, 159, 48, 0, 15, 208, 79, 160, 0, 111, 128, 11, 251, 138, 254, 16, 0, 141, 254, 162, 0 }; -/* 1 */ static const uint8_t Font_Roboto_Regular_20_glyph_49[] = { 7, 14, 11, 1, 14, 0, 1, 125, 32, 91, 255, 242, 95, 233, 207, 35, 80, 11, 242, 0, 0, 191, 32, 0, 11, 242, 0, 0, 191, 32, 0, 11, 242, 0, 0, 191, 32, 0, 11, 242, 0, 0, 191, 32, 0, 11, 242, 0, 0, 191, 32, 0, 11, 242 }; -/* 2 */ static const uint8_t Font_Roboto_Regular_20_glyph_50[] = { 11, 14, 11, 0, 14, 0, 25, 239, 234, 32, 0, 46, 250, 139, 255, 32, 11, 245, 0, 7, 250, 0, 253, 0, 0, 15, 208, 6, 64, 0, 0, 251, 0, 0, 0, 0, 127, 80, 0, 0, 0, 47, 192, 0, 0, 0, 30, 226, 0, 0, 0, 29, 243, 0, 0, 0, 12, 244, 0, 0, 0, 11, 245, 0, 0, 0, 10, 245, 0, 0, 0, 9, 252, 119, 119, 119, 48, 223, 255, 255, 255, 248 }; -/* 3 */ static const uint8_t Font_Roboto_Regular_20_glyph_51[] = { 10, 14, 11, 0, 14, 0, 25, 239, 217, 16, 2, 239, 168, 175, 225, 10, 245, 0, 7, 248, 13, 208, 0, 2, 250, 0, 0, 0, 4, 249, 0, 0, 0, 77, 225, 0, 3, 255, 253, 32, 0, 1, 120, 191, 193, 0, 0, 0, 6, 249, 0, 0, 0, 0, 253, 15, 192, 0, 0, 254, 12, 243, 0, 5, 250, 3, 255, 168, 175, 226, 0, 42, 239, 233, 16 }; -/* 4 */ static const uint8_t Font_Roboto_Regular_20_glyph_52[] = { 11, 14, 11, 0, 14, 0, 0, 0, 127, 208, 0, 0, 0, 47, 253, 0, 0, 0, 12, 239, 208, 0, 0, 7, 245, 253, 0, 0, 2, 250, 15, 208, 0, 0, 222, 0, 253, 0, 0, 143, 64, 15, 208, 0, 63, 144, 0, 253, 0, 13, 208, 0, 15, 208, 6, 255, 255, 255, 255, 252, 55, 119, 119, 127, 231, 80, 0, 0, 0, 253, 0, 0, 0, 0, 15, 208, 0, 0, 0, 0, 253, 0 }; -/* 5 */ static const uint8_t Font_Roboto_Regular_20_glyph_53[] = { 10, 14, 11, 1, 14, 5, 255, 255, 255, 240, 6, 252, 170, 170, 160, 8, 242, 0, 0, 0, 9, 241, 0, 0, 0, 11, 240, 0, 0, 0, 13, 234, 239, 214, 0, 14, 253, 171, 255, 112, 4, 96, 0, 63, 241, 0, 0, 0, 8, 245, 0, 0, 0, 6, 246, 111, 80, 0, 8, 245, 47, 192, 0, 30, 241, 8, 253, 137, 239, 112, 0, 108, 255, 197, 0 }; -/* 6 */ static const uint8_t Font_Roboto_Regular_20_glyph_54[] = { 10, 14, 11, 1, 14, 0, 2, 157, 244, 0, 0, 127, 252, 146, 0, 5, 253, 32, 0, 0, 13, 241, 0, 0, 0, 79, 128, 0, 0, 0, 127, 106, 239, 197, 0, 175, 253, 137, 255, 80, 175, 160, 0, 47, 224, 191, 32, 0, 10, 243, 175, 48, 0, 8, 244, 111, 96, 0, 10, 242, 31, 209, 0, 47, 208, 6, 254, 153, 255, 64, 0, 76, 255, 179, 0 }; -/* 7 */ static const uint8_t Font_Roboto_Regular_20_glyph_55[] = { 11, 14, 11, 0, 14, 79, 255, 255, 255, 255, 81, 119, 119, 119, 125, 242, 0, 0, 0, 1, 250, 0, 0, 0, 0, 127, 48, 0, 0, 0, 14, 192, 0, 0, 0, 6, 245, 0, 0, 0, 0, 237, 0, 0, 0, 0, 95, 96, 0, 0, 0, 13, 224, 0, 0, 0, 5, 248, 0, 0, 0, 0, 207, 16, 0, 0, 0, 79, 144, 0, 0, 0, 11, 242, 0, 0, 0, 3, 251, 0, 0, 0 }; -/* 8 */ static const uint8_t Font_Roboto_Regular_20_glyph_56[] = { 10, 14, 11, 1, 14, 0, 141, 253, 145, 0, 13, 252, 138, 254, 32, 111, 160, 0, 111, 144, 143, 64, 0, 15, 192, 127, 96, 0, 47, 160, 30, 228, 2, 207, 48, 2, 223, 255, 244, 0, 10, 251, 138, 252, 16, 127, 112, 0, 79, 160, 223, 0, 0, 12, 240, 223, 0, 0, 12, 241, 175, 96, 0, 47, 224, 46, 250, 137, 255, 64, 1, 158, 254, 179, 0 }; -/* 9 */ static const uint8_t Font_Roboto_Regular_20_glyph_57[] = { 10, 14, 11, 0, 14, 0, 25, 239, 215, 0, 1, 239, 184, 223, 160, 9, 246, 0, 11, 244, 14, 224, 0, 2, 250, 15, 192, 0, 0, 253, 14, 224, 0, 0, 238, 10, 246, 0, 7, 254, 2, 255, 168, 206, 253, 0, 43, 255, 178, 251, 0, 0, 0, 3, 248, 0, 0, 0, 10, 243, 0, 0, 0, 143, 176, 0, 8, 174, 252, 16, 0, 15, 235, 80, 0 }; -/* : */ static const uint8_t Font_Roboto_Regular_20_glyph_58[] = { 3, 11, 5, 1, 11, 95, 103, 248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, 248, 95, 96 }; -/* ; */ static const uint8_t Font_Roboto_Regular_20_glyph_59[] = { 4, 14, 4, 0, 11, 5, 246, 7, 248, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 32, 12, 240, 12, 240, 15, 208, 95, 112, 91, 0 }; -/* < */ static const uint8_t Font_Roboto_Regular_20_glyph_60[] = { 9, 9, 10, 0, 11, 0, 0, 0, 7, 144, 0, 1, 126, 250, 0, 24, 255, 215, 17, 159, 251, 64, 0, 79, 228, 0, 0, 1, 159, 250, 64, 0, 0, 24, 255, 215, 16, 0, 1, 126, 250, 0, 0, 0, 7, 144 }; -/* = */ static const uint8_t Font_Roboto_Regular_20_glyph_61[] = { 9, 6, 11, 1, 9, 143, 255, 255, 255, 164, 153, 153, 153, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 255, 255, 255, 164, 153, 153, 153, 149 }; -/* > */ static const uint8_t Font_Roboto_Regular_20_glyph_62[] = { 9, 9, 10, 1, 11, 151, 16, 0, 0, 10, 255, 129, 0, 0, 5, 207, 250, 48, 0, 0, 41, 239, 195, 0, 0, 1, 207, 160, 0, 57, 255, 179, 6, 207, 250, 48, 10, 255, 129, 0, 0, 151, 0, 0, 0, 0 }; -/* ? */ static const uint8_t Font_Roboto_Regular_20_glyph_63[] = { 9, 14, 9, 0, 14, 0, 108, 254, 162, 0, 159, 234, 191, 225, 31, 208, 0, 127, 130, 133, 0, 3, 250, 0, 0, 0, 95, 112, 0, 0, 30, 241, 0, 0, 29, 245, 0, 0, 12, 245, 0, 0, 4, 249, 0, 0, 0, 127, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 245, 0, 0, 0, 111, 80, 0 }; -/* @ */ static const uint8_t Font_Roboto_Regular_20_glyph_64[] = { 17, 18, 18, 1, 14, 0, 0, 6, 206, 254, 199, 16, 0, 0, 0, 62, 249, 101, 105, 238, 48, 0, 0, 79, 160, 0, 0, 0, 143, 48, 0, 30, 144, 0, 0, 0, 0, 156, 0, 10, 208, 0, 43, 253, 128, 0, 228, 1, 245, 0, 46, 180, 111, 96, 9, 144, 111, 0, 11, 208, 2, 244, 0, 109, 9, 192, 2, 246, 0, 63, 48, 4, 224, 202, 0, 111, 32, 5, 241, 0, 79, 13, 144, 8, 240, 0, 111, 0, 5, 224, 201, 0, 159, 0, 8, 240, 0, 139, 11, 176, 8, 241, 1, 239, 0, 14, 96, 127, 0, 63, 199, 203, 247, 58, 208, 2, 245, 0, 126, 231, 8, 239, 161, 0, 10, 208, 0, 0, 0, 0, 0, 0, 0, 30, 193, 0, 0, 0, 0, 0, 0, 0, 45, 249, 84, 71, 194, 0, 0, 0, 0, 6, 190, 254, 200, 16, 0, 0 }; -/* A */ static const uint8_t Font_Roboto_Regular_20_glyph_65[] = { 13, 14, 13, 0, 14, 0, 0, 8, 248, 0, 0, 0, 0, 0, 239, 224, 0, 0, 0, 0, 79, 223, 64, 0, 0, 0, 10, 242, 250, 0, 0, 0, 1, 251, 11, 241, 0, 0, 0, 127, 80, 95, 112, 0, 0, 13, 240, 0, 253, 0, 0, 3, 249, 0, 9, 243, 0, 0, 159, 64, 0, 79, 144, 0, 15, 255, 255, 255, 255, 0, 6, 251, 136, 136, 139, 246, 0, 207, 32, 0, 0, 47, 192, 47, 192, 0, 0, 0, 207, 40, 245, 0, 0, 0, 5, 248 }; -/* B */ static const uint8_t Font_Roboto_Regular_20_glyph_66[] = { 11, 14, 12, 1, 14, 95, 255, 255, 234, 48, 5, 252, 136, 155, 255, 64, 95, 128, 0, 5, 252, 5, 248, 0, 0, 15, 224, 95, 128, 0, 1, 253, 5, 248, 0, 3, 207, 80, 95, 255, 255, 255, 80, 5, 252, 136, 137, 239, 64, 95, 128, 0, 1, 238, 5, 248, 0, 0, 10, 244, 95, 128, 0, 0, 175, 69, 248, 0, 0, 47, 241, 95, 200, 136, 175, 247, 5, 255, 255, 254, 180, 0 }; -/* C */ static const uint8_t Font_Roboto_Regular_20_glyph_67[] = { 12, 14, 13, 1, 14, 0, 7, 223, 252, 96, 0, 2, 223, 201, 174, 251, 0, 12, 246, 0, 0, 191, 96, 95, 160, 0, 0, 47, 208, 175, 64, 0, 0, 10, 192, 207, 16, 0, 0, 0, 0, 223, 0, 0, 0, 0, 0, 223, 0, 0, 0, 0, 0, 207, 32, 0, 0, 0, 0, 175, 64, 0, 0, 9, 176, 95, 176, 0, 0, 31, 208, 13, 245, 0, 0, 175, 96, 2, 239, 200, 174, 250, 0, 0, 24, 223, 252, 96, 0 }; -/* D */ static const uint8_t Font_Roboto_Regular_20_glyph_68[] = { 11, 14, 13, 1, 14, 95, 255, 254, 181, 0, 5, 252, 136, 174, 251, 16, 95, 128, 0, 8, 251, 5, 248, 0, 0, 10, 244, 95, 128, 0, 0, 63, 165, 248, 0, 0, 0, 253, 95, 128, 0, 0, 14, 229, 248, 0, 0, 0, 238, 95, 128, 0, 0, 15, 213, 248, 0, 0, 3, 250, 95, 128, 0, 0, 175, 69, 248, 0, 0, 143, 176, 95, 200, 138, 239, 177, 5, 255, 255, 235, 80, 0 }; -/* E */ static const uint8_t Font_Roboto_Regular_20_glyph_69[] = { 10, 14, 11, 1, 14, 95, 255, 255, 255, 249, 95, 200, 136, 136, 133, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 255, 255, 255, 176, 95, 200, 136, 136, 80, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 200, 136, 136, 133, 95, 255, 255, 255, 251 }; -/* F */ static const uint8_t Font_Roboto_Regular_20_glyph_70[] = { 10, 14, 11, 1, 14, 95, 255, 255, 255, 247, 95, 200, 136, 136, 131, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 255, 255, 255, 128, 95, 200, 136, 136, 64, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0 }; -/* G */ static const uint8_t Font_Roboto_Regular_20_glyph_71[] = { 12, 14, 14, 1, 14, 0, 24, 223, 252, 112, 0, 2, 239, 201, 173, 252, 0, 13, 246, 0, 0, 175, 128, 95, 160, 0, 0, 15, 224, 159, 64, 0, 0, 4, 80, 207, 32, 0, 0, 0, 0, 207, 16, 0, 255, 255, 242, 207, 16, 0, 136, 141, 242, 191, 32, 0, 0, 11, 242, 143, 80, 0, 0, 11, 242, 63, 192, 0, 0, 11, 242, 11, 248, 0, 0, 46, 242, 1, 207, 217, 139, 255, 112, 0, 6, 206, 253, 163, 0 }; -/* H */ static const uint8_t Font_Roboto_Regular_20_glyph_72[] = { 12, 14, 14, 1, 14, 95, 128, 0, 0, 5, 249, 95, 128, 0, 0, 5, 249, 95, 128, 0, 0, 5, 249, 95, 128, 0, 0, 5, 249, 95, 128, 0, 0, 5, 249, 95, 128, 0, 0, 5, 249, 95, 255, 255, 255, 255, 249, 95, 200, 136, 136, 138, 249, 95, 128, 0, 0, 5, 249, 95, 128, 0, 0, 5, 249, 95, 128, 0, 0, 5, 249, 95, 128, 0, 0, 5, 249, 95, 128, 0, 0, 5, 249, 95, 128, 0, 0, 5, 249 }; -/* I */ static const uint8_t Font_Roboto_Regular_20_glyph_73[] = { 3, 14, 5, 1, 14, 63, 163, 250, 63, 163, 250, 63, 163, 250, 63, 163, 250, 63, 163, 250, 63, 163, 250, 63, 163, 250 }; -/* J */ static const uint8_t Font_Roboto_Regular_20_glyph_74[] = { 10, 14, 11, 0, 14, 0, 0, 0, 6, 248, 0, 0, 0, 6, 248, 0, 0, 0, 6, 248, 0, 0, 0, 6, 248, 0, 0, 0, 6, 248, 0, 0, 0, 6, 248, 0, 0, 0, 6, 248, 0, 0, 0, 6, 248, 0, 0, 0, 6, 248, 2, 0, 0, 6, 247, 111, 112, 0, 8, 246, 63, 208, 0, 30, 242, 10, 254, 153, 239, 144, 0, 125, 255, 198, 0 }; -/* K */ static const uint8_t Font_Roboto_Regular_20_glyph_75[] = { 12, 14, 13, 1, 14, 95, 128, 0, 0, 159, 160, 95, 128, 0, 7, 251, 0, 95, 128, 0, 95, 192, 0, 95, 128, 4, 253, 16, 0, 95, 128, 47, 226, 0, 0, 95, 129, 239, 48, 0, 0, 95, 157, 252, 0, 0, 0, 95, 253, 143, 128, 0, 0, 95, 225, 11, 244, 0, 0, 95, 128, 1, 238, 32, 0, 95, 128, 0, 79, 192, 0, 95, 128, 0, 8, 249, 0, 95, 128, 0, 0, 207, 96, 95, 128, 0, 0, 47, 243 }; -/* L */ static const uint8_t Font_Roboto_Regular_20_glyph_76[] = { 10, 14, 11, 1, 14, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 200, 136, 136, 130, 95, 255, 255, 255, 244 }; -/* M */ static const uint8_t Font_Roboto_Regular_20_glyph_77[] = { 15, 14, 17, 1, 14, 95, 244, 0, 0, 0, 0, 223, 197, 255, 176, 0, 0, 0, 63, 252, 95, 255, 16, 0, 0, 10, 255, 197, 251, 248, 0, 0, 1, 252, 236, 95, 110, 224, 0, 0, 127, 95, 197, 246, 143, 80, 0, 13, 224, 252, 95, 113, 251, 0, 4, 248, 15, 197, 247, 10, 242, 0, 175, 32, 252, 95, 128, 79, 128, 31, 176, 31, 197, 248, 0, 222, 8, 244, 1, 252, 95, 128, 7, 245, 237, 0, 31, 197, 248, 0, 31, 239, 112, 1, 252, 95, 128, 0, 159, 241, 0, 31, 197, 248, 0, 3, 250, 0, 1, 252 }; -/* N */ static const uint8_t Font_Roboto_Regular_20_glyph_78[] = { 12, 14, 14, 1, 14, 143, 160, 0, 0, 7, 246, 143, 245, 0, 0, 7, 246, 143, 254, 16, 0, 7, 246, 143, 207, 160, 0, 7, 246, 143, 92, 245, 0, 7, 246, 143, 82, 254, 16, 7, 246, 143, 80, 127, 160, 7, 246, 143, 80, 12, 245, 7, 246, 143, 80, 2, 254, 23, 246, 143, 80, 0, 127, 167, 246, 143, 80, 0, 12, 252, 246, 143, 80, 0, 2, 255, 246, 143, 80, 0, 0, 127, 246, 143, 80, 0, 0, 13, 246 }; -/* O */ static const uint8_t Font_Roboto_Regular_20_glyph_79[] = { 12, 14, 14, 1, 14, 0, 7, 223, 236, 80, 0, 1, 223, 218, 174, 250, 0, 11, 247, 0, 0, 175, 128, 79, 192, 0, 0, 14, 240, 159, 64, 0, 0, 8, 245, 191, 32, 0, 0, 5, 247, 223, 0, 0, 0, 4, 249, 223, 0, 0, 0, 4, 249, 191, 16, 0, 0, 5, 247, 159, 64, 0, 0, 8, 245, 79, 176, 0, 0, 14, 240, 11, 247, 0, 0, 175, 128, 1, 223, 218, 174, 251, 0, 0, 7, 223, 236, 96, 0 }; -/* P */ static const uint8_t Font_Roboto_Regular_20_glyph_80[] = { 12, 14, 13, 1, 14, 47, 255, 255, 253, 145, 0, 47, 232, 136, 157, 254, 32, 47, 176, 0, 0, 143, 176, 47, 176, 0, 0, 15, 240, 47, 176, 0, 0, 13, 240, 47, 176, 0, 0, 31, 224, 47, 176, 0, 3, 207, 128, 47, 255, 255, 255, 249, 0, 47, 232, 136, 134, 32, 0, 47, 176, 0, 0, 0, 0, 47, 176, 0, 0, 0, 0, 47, 176, 0, 0, 0, 0, 47, 176, 0, 0, 0, 0, 47, 176, 0, 0, 0, 0 }; -/* Q */ static const uint8_t Font_Roboto_Regular_20_glyph_81[] = { 12, 17, 14, 1, 14, 0, 7, 207, 236, 96, 0, 1, 207, 234, 174, 251, 0, 11, 248, 0, 0, 175, 128, 63, 192, 0, 0, 13, 241, 143, 80, 0, 0, 7, 246, 191, 48, 0, 0, 4, 248, 207, 16, 0, 0, 3, 249, 207, 16, 0, 0, 3, 250, 191, 32, 0, 0, 4, 248, 143, 80, 0, 0, 7, 246, 63, 176, 0, 0, 13, 241, 11, 248, 0, 0, 159, 144, 1, 207, 218, 174, 251, 0, 0, 7, 207, 238, 250, 0, 0, 0, 0, 0, 191, 210, 0, 0, 0, 0, 7, 227, 0, 0, 0, 0, 0, 0 }; -/* R */ static const uint8_t Font_Roboto_Regular_20_glyph_82[] = { 11, 14, 12, 1, 14, 143, 255, 255, 234, 32, 8, 251, 136, 156, 255, 64, 143, 96, 0, 6, 253, 8, 246, 0, 0, 13, 241, 143, 96, 0, 0, 207, 40, 246, 0, 0, 31, 240, 143, 96, 0, 60, 248, 8, 255, 255, 255, 248, 0, 143, 184, 137, 251, 0, 8, 246, 0, 11, 244, 0, 143, 96, 0, 63, 208, 8, 246, 0, 0, 159, 96, 143, 96, 0, 1, 254, 24, 246, 0, 0, 7, 249 }; -/* S */ static const uint8_t Font_Roboto_Regular_20_glyph_83[] = { 12, 14, 12, 0, 14, 0, 7, 207, 253, 112, 0, 0, 207, 217, 156, 253, 16, 7, 250, 0, 0, 127, 160, 10, 243, 0, 0, 14, 240, 9, 247, 0, 0, 3, 80, 2, 255, 146, 0, 0, 0, 0, 61, 255, 233, 48, 0, 0, 0, 73, 239, 250, 0, 0, 0, 0, 4, 207, 160, 5, 48, 0, 0, 14, 241, 15, 224, 0, 0, 12, 242, 10, 248, 0, 0, 63, 224, 1, 207, 218, 155, 255, 80, 0, 6, 206, 253, 146, 0 }; -/* T */ static const uint8_t Font_Roboto_Regular_20_glyph_84[] = { 12, 14, 12, 0, 14, 143, 255, 255, 255, 255, 247, 72, 136, 143, 248, 136, 132, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0 }; -/* U */ static const uint8_t Font_Roboto_Regular_20_glyph_85[] = { 11, 14, 13, 1, 14, 159, 48, 0, 0, 63, 169, 243, 0, 0, 3, 250, 159, 48, 0, 0, 63, 169, 243, 0, 0, 3, 250, 159, 48, 0, 0, 63, 169, 243, 0, 0, 3, 250, 159, 48, 0, 0, 63, 169, 243, 0, 0, 3, 250, 159, 48, 0, 0, 63, 169, 244, 0, 0, 3, 250, 127, 112, 0, 0, 111, 130, 254, 32, 0, 30, 242, 7, 255, 169, 175, 247, 0, 4, 190, 254, 180, 0 }; -/* V */ static const uint8_t Font_Roboto_Regular_20_glyph_86[] = { 13, 14, 13, 0, 14, 111, 160, 0, 0, 0, 159, 96, 255, 0, 0, 0, 15, 241, 10, 245, 0, 0, 5, 250, 0, 79, 160, 0, 0, 175, 64, 0, 239, 0, 0, 15, 224, 0, 8, 246, 0, 6, 248, 0, 0, 47, 176, 0, 191, 32, 0, 0, 207, 16, 31, 192, 0, 0, 6, 246, 6, 246, 0, 0, 0, 15, 192, 207, 16, 0, 0, 0, 175, 79, 160, 0, 0, 0, 4, 254, 244, 0, 0, 0, 0, 14, 254, 0, 0, 0, 0, 0, 143, 128, 0, 0 }; -/* W */ static const uint8_t Font_Roboto_Regular_20_glyph_87[] = { 18, 14, 18, 0, 14, 79, 144, 0, 0, 238, 0, 0, 10, 243, 15, 208, 0, 3, 255, 48, 0, 14, 224, 12, 241, 0, 8, 255, 112, 0, 47, 176, 8, 244, 0, 12, 221, 192, 0, 111, 112, 4, 248, 0, 31, 153, 240, 0, 159, 48, 1, 252, 0, 111, 68, 245, 0, 223, 0, 0, 223, 0, 175, 0, 249, 1, 251, 0, 0, 159, 48, 250, 0, 190, 4, 247, 0, 0, 95, 115, 246, 0, 111, 40, 243, 0, 0, 31, 184, 241, 0, 47, 124, 240, 0, 0, 13, 220, 192, 0, 13, 190, 176, 0, 0, 9, 255, 112, 0, 8, 255, 112, 0, 0, 5, 255, 48, 0, 4, 255, 48, 0, 0, 1, 254, 0, 0, 0, 255, 0, 0 }; -/* X */ static const uint8_t Font_Roboto_Regular_20_glyph_88[] = { 13, 14, 13, 0, 14, 30, 242, 0, 0, 9, 249, 0, 95, 192, 0, 3, 254, 0, 0, 191, 96, 0, 207, 64, 0, 1, 254, 16, 111, 160, 0, 0, 6, 249, 31, 225, 0, 0, 0, 12, 252, 245, 0, 0, 0, 0, 47, 251, 0, 0, 0, 0, 3, 255, 192, 0, 0, 0, 0, 223, 191, 96, 0, 0, 0, 143, 128, 239, 16, 0, 0, 47, 224, 5, 251, 0, 0, 12, 245, 0, 11, 246, 0, 7, 251, 0, 0, 47, 225, 2, 255, 32, 0, 0, 143, 160 }; -/* Y */ static const uint8_t Font_Roboto_Regular_20_glyph_89[] = { 12, 14, 12, 0, 14, 159, 128, 0, 0, 9, 248, 31, 241, 0, 0, 31, 225, 7, 249, 0, 0, 159, 96, 0, 223, 32, 2, 253, 0, 0, 95, 160, 10, 244, 0, 0, 12, 242, 63, 192, 0, 0, 3, 251, 191, 48, 0, 0, 0, 175, 250, 0, 0, 0, 0, 47, 241, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0, 0, 0, 15, 224, 0, 0 }; -/* Z */ static const uint8_t Font_Roboto_Regular_20_glyph_90[] = { 12, 14, 12, 0, 14, 15, 255, 255, 255, 255, 224, 8, 136, 136, 136, 207, 176, 0, 0, 0, 1, 239, 32, 0, 0, 0, 11, 246, 0, 0, 0, 0, 127, 160, 0, 0, 0, 2, 254, 16, 0, 0, 0, 13, 244, 0, 0, 0, 0, 159, 128, 0, 0, 0, 4, 253, 0, 0, 0, 0, 30, 242, 0, 0, 0, 0, 175, 112, 0, 0, 0, 6, 251, 0, 0, 0, 0, 31, 250, 136, 136, 136, 129, 47, 255, 255, 255, 255, 243 }; -/* [ */ static const uint8_t Font_Roboto_Regular_20_glyph_91[] = { 5, 19, 5, 1, 16, 159, 255, 25, 249, 112, 159, 64, 9, 244, 0, 159, 64, 9, 244, 0, 159, 64, 9, 244, 0, 159, 64, 9, 244, 0, 159, 64, 9, 244, 0, 159, 64, 9, 244, 0, 159, 64, 9, 244, 0, 159, 64, 9, 249, 112, 159, 255, 16 }; -/* \ */ static const uint8_t Font_Roboto_Regular_20_glyph_92[] = { 9, 15, 8, 0, 14, 111, 64, 0, 0, 0, 251, 0, 0, 0, 9, 241, 0, 0, 0, 63, 112, 0, 0, 0, 222, 0, 0, 0, 6, 244, 0, 0, 0, 31, 160, 0, 0, 0, 175, 16, 0, 0, 3, 247, 0, 0, 0, 13, 208, 0, 0, 0, 127, 64, 0, 0, 1, 250, 0, 0, 0, 10, 241, 0, 0, 0, 79, 112, 0, 0, 0, 221, 0 }; -/* ] */ static const uint8_t Font_Roboto_Regular_20_glyph_93[] = { 4, 19, 5, 0, 16, 239, 252, 120, 252, 0, 252, 0, 252, 0, 252, 0, 252, 0, 252, 0, 252, 0, 252, 0, 252, 0, 252, 0, 252, 0, 252, 0, 252, 0, 252, 0, 252, 0, 252, 120, 252, 239, 252 }; -/* ^ */ static const uint8_t Font_Roboto_Regular_20_glyph_94[] = { 8, 7, 8, 0, 14, 0, 13, 208, 0, 0, 79, 243, 0, 0, 174, 234, 0, 1, 248, 159, 16, 8, 242, 47, 112, 14, 176, 12, 224, 95, 80, 5, 245 }; -/* _ */ static const uint8_t Font_Roboto_Regular_20_glyph_95[] = { 9, 2, 9, 0, 0, 255, 255, 255, 255, 247, 119, 119, 119, 119 }; -/* ` */ static const uint8_t Font_Roboto_Regular_20_glyph_96[] = { 5, 3, 6, 0, 15, 30, 242, 0, 63, 208, 0, 93, 64 }; -/* a */ static const uint8_t Font_Roboto_Regular_20_glyph_97[] = { 9, 11, 11, 1, 11, 1, 158, 253, 145, 2, 239, 151, 175, 192, 126, 64, 0, 143, 64, 0, 0, 5, 247, 1, 157, 255, 255, 114, 254, 133, 72, 247, 175, 48, 0, 95, 125, 240, 0, 5, 247, 191, 64, 1, 223, 116, 255, 170, 254, 248, 4, 207, 232, 63, 176 }; -/* b */ static const uint8_t Font_Roboto_Regular_20_glyph_98[] = { 10, 15, 11, 1, 15, 207, 0, 0, 0, 0, 207, 0, 0, 0, 0, 207, 0, 0, 0, 0, 207, 0, 0, 0, 0, 207, 59, 255, 178, 0, 207, 236, 155, 254, 32, 207, 128, 0, 111, 160, 207, 0, 0, 14, 240, 207, 0, 0, 11, 242, 207, 0, 0, 10, 242, 207, 0, 0, 11, 242, 207, 0, 0, 14, 240, 207, 128, 0, 111, 160, 207, 236, 155, 254, 32, 206, 43, 255, 178, 0 }; -/* c */ static const uint8_t Font_Roboto_Regular_20_glyph_99[] = { 10, 11, 10, 0, 11, 0, 25, 239, 215, 0, 2, 239, 168, 207, 160, 11, 244, 0, 10, 244, 31, 176, 0, 3, 214, 79, 128, 0, 0, 0, 95, 112, 0, 0, 0, 79, 128, 0, 0, 0, 31, 176, 0, 1, 132, 11, 244, 0, 9, 244, 2, 239, 168, 207, 160, 0, 42, 239, 214, 0 }; -/* d */ static const uint8_t Font_Roboto_Regular_20_glyph_100[] = { 10, 15, 11, 0, 15, 0, 0, 0, 1, 251, 0, 0, 0, 1, 251, 0, 0, 0, 1, 251, 0, 0, 0, 1, 251, 0, 43, 255, 180, 251, 1, 239, 184, 207, 251, 10, 246, 0, 8, 251, 15, 224, 0, 1, 251, 47, 176, 0, 1, 251, 63, 144, 0, 1, 251, 47, 176, 0, 1, 251, 15, 224, 0, 1, 251, 10, 246, 0, 8, 251, 1, 239, 184, 207, 251, 0, 43, 255, 178, 251 }; -/* e */ static const uint8_t Font_Roboto_Regular_20_glyph_101[] = { 10, 11, 11, 1, 11, 0, 92, 254, 162, 0, 7, 252, 137, 255, 32, 63, 160, 0, 63, 160, 159, 32, 0, 13, 240, 207, 255, 255, 255, 240, 239, 119, 119, 119, 112, 223, 16, 0, 0, 0, 175, 80, 0, 0, 0, 79, 209, 0, 8, 96, 9, 254, 136, 207, 112, 0, 108, 255, 197, 0 }; -/* f */ static const uint8_t Font_Roboto_Regular_20_glyph_102[] = { 7, 15, 7, 0, 15, 0, 5, 207, 208, 4, 254, 152, 0, 159, 64, 0, 11, 241, 0, 111, 255, 255, 82, 109, 247, 98, 0, 191, 16, 0, 11, 241, 0, 0, 191, 16, 0, 11, 241, 0, 0, 191, 16, 0, 11, 241, 0, 0, 191, 16, 0, 11, 241, 0, 0, 191, 16, 0 }; -/* g */ static const uint8_t Font_Roboto_Regular_20_glyph_103[] = { 10, 15, 11, 0, 11, 0, 42, 255, 178, 236, 1, 239, 184, 207, 252, 9, 247, 0, 7, 252, 14, 224, 0, 1, 252, 31, 192, 0, 1, 252, 47, 160, 0, 1, 252, 31, 176, 0, 1, 252, 14, 224, 0, 1, 252, 9, 247, 0, 8, 252, 1, 239, 184, 207, 252, 0, 26, 255, 179, 252, 0, 0, 0, 2, 250, 2, 160, 0, 10, 246, 4, 254, 136, 207, 192, 0, 58, 239, 216, 0 }; -/* h */ static const uint8_t Font_Roboto_Regular_20_glyph_104[] = { 9, 15, 11, 1, 15, 175, 32, 0, 0, 10, 242, 0, 0, 0, 175, 32, 0, 0, 10, 242, 0, 0, 0, 175, 56, 239, 196, 10, 254, 217, 175, 241, 175, 176, 0, 127, 122, 243, 0, 2, 249, 175, 32, 0, 47, 170, 242, 0, 2, 250, 175, 32, 0, 47, 170, 242, 0, 2, 250, 175, 32, 0, 47, 170, 242, 0, 2, 250, 175, 32, 0, 47, 160 }; -/* i */ static const uint8_t Font_Roboto_Regular_20_glyph_105[] = { 3, 16, 5, 1, 16, 0, 6, 246, 95, 80, 0, 0, 6, 246, 111, 102, 246, 111, 102, 246, 111, 102, 246, 111, 102, 246, 111, 102, 246 }; -/* j */ static const uint8_t Font_Roboto_Regular_20_glyph_106[] = { 5, 20, 5, -1, 16, 0, 0, 0, 7, 245, 0, 127, 64, 0, 0, 0, 0, 0, 7, 245, 0, 127, 80, 7, 245, 0, 127, 80, 7, 245, 0, 127, 80, 7, 245, 0, 127, 80, 7, 245, 0, 127, 80, 7, 245, 0, 127, 80, 8, 244, 89, 255, 23, 253, 64 }; -/* k */ static const uint8_t Font_Roboto_Regular_20_glyph_107[] = { 10, 15, 10, 1, 15, 175, 48, 0, 0, 0, 175, 48, 0, 0, 0, 175, 48, 0, 0, 0, 175, 48, 0, 0, 0, 175, 48, 1, 239, 48, 175, 48, 12, 244, 0, 175, 48, 191, 96, 0, 175, 57, 248, 0, 0, 175, 143, 176, 0, 0, 175, 253, 243, 0, 0, 175, 113, 237, 0, 0, 175, 48, 95, 144, 0, 175, 48, 10, 245, 0, 175, 48, 1, 238, 16, 175, 48, 0, 95, 192 }; -/* l */ static const uint8_t Font_Roboto_Regular_20_glyph_108[] = { 3, 15, 5, 1, 15, 127, 87, 245, 127, 87, 245, 127, 87, 245, 127, 87, 245, 127, 87, 245, 127, 87, 245, 127, 87, 245, 127, 80 }; -/* m */ static const uint8_t Font_Roboto_Regular_20_glyph_109[] = { 16, 11, 18, 1, 11, 111, 88, 239, 214, 4, 207, 234, 16, 111, 237, 154, 255, 159, 185, 207, 192, 111, 176, 0, 79, 246, 0, 11, 243, 111, 96, 0, 15, 240, 0, 7, 245, 111, 96, 0, 14, 224, 0, 6, 246, 111, 96, 0, 14, 224, 0, 6, 246, 111, 96, 0, 14, 224, 0, 6, 246, 111, 96, 0, 14, 224, 0, 6, 246, 111, 96, 0, 14, 224, 0, 6, 246, 111, 96, 0, 14, 224, 0, 6, 246, 111, 96, 0, 14, 224, 0, 6, 246 }; -/* n */ static const uint8_t Font_Roboto_Regular_20_glyph_110[] = { 9, 11, 11, 1, 11, 175, 40, 239, 196, 10, 253, 217, 175, 241, 175, 176, 0, 127, 122, 242, 0, 3, 249, 175, 32, 0, 47, 170, 242, 0, 2, 250, 175, 32, 0, 47, 170, 242, 0, 2, 250, 175, 32, 0, 47, 170, 242, 0, 2, 250, 175, 32, 0, 47, 160 }; -/* o */ static const uint8_t Font_Roboto_Regular_20_glyph_111[] = { 11, 11, 11, 0, 11, 0, 24, 223, 232, 16, 0, 29, 251, 139, 253, 16, 9, 246, 0, 7, 250, 0, 253, 0, 0, 13, 240, 63, 160, 0, 0, 159, 52, 248, 0, 0, 8, 244, 63, 144, 0, 0, 175, 48, 253, 0, 0, 13, 240, 10, 246, 0, 6, 250, 0, 29, 250, 122, 253, 16, 0, 25, 239, 216, 16, 0 }; -/* p */ static const uint8_t Font_Roboto_Regular_20_glyph_112[] = { 10, 15, 11, 1, 11, 191, 43, 255, 178, 0, 191, 235, 139, 255, 32, 191, 112, 0, 143, 160, 191, 16, 0, 14, 240, 191, 16, 0, 11, 242, 191, 16, 0, 10, 242, 191, 16, 0, 11, 242, 191, 16, 0, 14, 240, 191, 96, 0, 127, 160, 191, 250, 122, 254, 32, 191, 75, 255, 178, 0, 191, 16, 0, 0, 0, 191, 16, 0, 0, 0, 191, 16, 0, 0, 0, 191, 16, 0, 0, 0 }; -/* q */ static const uint8_t Font_Roboto_Regular_20_glyph_113[] = { 10, 15, 11, 0, 11, 0, 43, 255, 179, 250, 2, 255, 168, 191, 250, 11, 246, 0, 7, 250, 15, 224, 0, 2, 250, 63, 160, 0, 2, 250, 79, 144, 0, 2, 250, 63, 160, 0, 2, 250, 15, 208, 0, 2, 250, 11, 245, 0, 7, 250, 2, 255, 167, 191, 250, 0, 43, 255, 181, 250, 0, 0, 0, 2, 250, 0, 0, 0, 2, 250, 0, 0, 0, 2, 250, 0, 0, 0, 2, 250 }; -/* r */ static const uint8_t Font_Roboto_Regular_20_glyph_114[] = { 6, 11, 7, 1, 11, 143, 90, 248, 143, 239, 199, 143, 193, 0, 143, 64, 0, 143, 64, 0, 143, 64, 0, 143, 64, 0, 143, 64, 0, 143, 64, 0, 143, 64, 0, 143, 64, 0 }; -/* s */ static const uint8_t Font_Roboto_Regular_20_glyph_115[] = { 10, 11, 10, 0, 11, 0, 59, 238, 196, 0, 5, 254, 136, 239, 96, 12, 241, 0, 31, 224, 13, 241, 0, 3, 64, 6, 254, 131, 0, 0, 0, 92, 255, 248, 0, 0, 0, 21, 191, 176, 23, 64, 0, 12, 241, 31, 208, 0, 13, 241, 7, 253, 136, 207, 144, 0, 92, 255, 198, 0 }; -/* t */ static const uint8_t Font_Roboto_Regular_20_glyph_116[] = { 7, 14, 7, 0, 14, 0, 207, 0, 0, 12, 240, 0, 0, 207, 0, 11, 255, 255, 240, 70, 223, 102, 0, 12, 240, 0, 0, 207, 0, 0, 12, 240, 0, 0, 207, 0, 0, 12, 240, 0, 0, 207, 0, 0, 11, 241, 0, 0, 143, 201, 0, 1, 191, 224 }; -/* u */ static const uint8_t Font_Roboto_Regular_20_glyph_117[] = { 9, 11, 11, 1, 11, 191, 32, 0, 47, 171, 242, 0, 2, 250, 191, 32, 0, 47, 171, 242, 0, 2, 250, 191, 32, 0, 47, 171, 242, 0, 2, 250, 191, 32, 0, 47, 170, 242, 0, 2, 250, 127, 112, 0, 159, 161, 255, 169, 223, 250, 3, 207, 234, 63, 160 }; -/* v */ static const uint8_t Font_Roboto_Regular_20_glyph_118[] = { 10, 11, 10, 0, 11, 95, 112, 0, 8, 244, 15, 192, 0, 13, 224, 10, 241, 0, 47, 144, 4, 247, 0, 127, 64, 0, 236, 0, 206, 0, 0, 159, 17, 249, 0, 0, 79, 102, 243, 0, 0, 14, 187, 224, 0, 0, 8, 255, 128, 0, 0, 3, 255, 48, 0, 0, 0, 221, 0, 0 }; -/* w */ static const uint8_t Font_Roboto_Regular_20_glyph_119[] = { 15, 11, 15, 0, 11, 127, 80, 0, 111, 80, 0, 111, 98, 249, 0, 11, 250, 0, 10, 242, 14, 208, 0, 255, 224, 0, 221, 0, 159, 16, 79, 127, 48, 31, 144, 5, 245, 9, 224, 248, 5, 244, 0, 31, 144, 233, 11, 208, 159, 0, 0, 205, 63, 64, 111, 45, 176, 0, 8, 249, 240, 1, 248, 247, 0, 0, 63, 250, 0, 12, 255, 32, 0, 0, 239, 96, 0, 127, 224, 0, 0, 10, 241, 0, 2, 249, 0, 0 }; -/* x */ static const uint8_t Font_Roboto_Regular_20_glyph_120[] = { 10, 11, 10, 0, 11, 47, 208, 0, 31, 241, 8, 247, 0, 175, 96, 0, 223, 19, 252, 0, 0, 79, 156, 242, 0, 0, 10, 255, 128, 0, 0, 3, 255, 16, 0, 0, 11, 255, 144, 0, 0, 95, 155, 243, 0, 1, 238, 18, 253, 0, 10, 246, 0, 143, 128, 79, 192, 0, 13, 242 }; -/* y */ static const uint8_t Font_Roboto_Regular_20_glyph_121[] = { 10, 15, 9, -1, 11, 13, 241, 0, 1, 252, 7, 247, 0, 6, 247, 2, 252, 0, 11, 242, 0, 207, 16, 15, 192, 0, 111, 96, 95, 96, 0, 31, 192, 175, 16, 0, 11, 241, 235, 0, 0, 5, 250, 246, 0, 0, 0, 255, 241, 0, 0, 0, 175, 176, 0, 0, 0, 95, 80, 0, 0, 0, 159, 0, 0, 0, 1, 250, 0, 0, 3, 174, 242, 0, 0, 5, 253, 64, 0, 0 }; -/* z */ static const uint8_t Font_Roboto_Regular_20_glyph_122[] = { 10, 11, 10, 0, 11, 15, 255, 255, 255, 240, 8, 136, 136, 191, 192, 0, 0, 1, 239, 32, 0, 0, 11, 245, 0, 0, 0, 127, 160, 0, 0, 3, 254, 0, 0, 0, 13, 243, 0, 0, 0, 159, 128, 0, 0, 4, 252, 0, 0, 0, 14, 249, 119, 119, 113, 47, 255, 255, 255, 244 }; -/* { */ static const uint8_t Font_Roboto_Regular_20_glyph_123[] = { 7, 20, 7, 0, 16, 0, 0, 42, 96, 0, 63, 211, 0, 12, 241, 0, 0, 251, 0, 0, 47, 144, 0, 3, 249, 0, 0, 63, 144, 0, 5, 247, 0, 2, 223, 32, 4, 255, 80, 0, 41, 252, 0, 0, 8, 245, 0, 0, 79, 128, 0, 3, 249, 0, 0, 63, 144, 0, 2, 249, 0, 0, 15, 192, 0, 0, 191, 32, 0, 2, 237, 48, 0, 2, 166 }; -/* | */ static const uint8_t Font_Roboto_Regular_20_glyph_124[] = { 3, 17, 5, 1, 14, 79, 36, 242, 79, 36, 242, 79, 36, 242, 79, 36, 242, 79, 36, 242, 79, 36, 242, 79, 36, 242, 79, 36, 242, 79, 32 }; -/* } */ static const uint8_t Font_Roboto_Regular_20_glyph_125[] = { 7, 20, 7, 0, 16, 122, 32, 0, 3, 222, 48, 0, 1, 252, 0, 0, 12, 240, 0, 0, 175, 32, 0, 10, 243, 0, 0, 159, 48, 0, 8, 245, 0, 0, 47, 194, 0, 0, 79, 244, 0, 12, 249, 16, 5, 247, 0, 0, 159, 48, 0, 10, 243, 0, 0, 175, 48, 0, 10, 242, 0, 0, 207, 0, 0, 47, 160, 0, 78, 226, 0, 6, 161, 0, 0 }; -/* ~ */ static const uint8_t Font_Roboto_Regular_20_glyph_126[] = { 12, 4, 14, 1, 8, 3, 207, 215, 0, 0, 181, 30, 234, 223, 195, 8, 243, 111, 48, 7, 255, 255, 160, 35, 0, 0, 39, 133, 0 }; - -const uint8_t * const Font_Roboto_Regular_20[126 + 1 - 32] = { - Font_Roboto_Regular_20_glyph_32, - Font_Roboto_Regular_20_glyph_33, - Font_Roboto_Regular_20_glyph_34, - Font_Roboto_Regular_20_glyph_35, - Font_Roboto_Regular_20_glyph_36, - Font_Roboto_Regular_20_glyph_37, - Font_Roboto_Regular_20_glyph_38, - Font_Roboto_Regular_20_glyph_39, - Font_Roboto_Regular_20_glyph_40, - Font_Roboto_Regular_20_glyph_41, - Font_Roboto_Regular_20_glyph_42, - Font_Roboto_Regular_20_glyph_43, - Font_Roboto_Regular_20_glyph_44, - Font_Roboto_Regular_20_glyph_45, - Font_Roboto_Regular_20_glyph_46, - Font_Roboto_Regular_20_glyph_47, - Font_Roboto_Regular_20_glyph_48, - Font_Roboto_Regular_20_glyph_49, - Font_Roboto_Regular_20_glyph_50, - Font_Roboto_Regular_20_glyph_51, - Font_Roboto_Regular_20_glyph_52, - Font_Roboto_Regular_20_glyph_53, - Font_Roboto_Regular_20_glyph_54, - Font_Roboto_Regular_20_glyph_55, - Font_Roboto_Regular_20_glyph_56, - Font_Roboto_Regular_20_glyph_57, - Font_Roboto_Regular_20_glyph_58, - Font_Roboto_Regular_20_glyph_59, - Font_Roboto_Regular_20_glyph_60, - Font_Roboto_Regular_20_glyph_61, - Font_Roboto_Regular_20_glyph_62, - Font_Roboto_Regular_20_glyph_63, - Font_Roboto_Regular_20_glyph_64, - Font_Roboto_Regular_20_glyph_65, - Font_Roboto_Regular_20_glyph_66, - Font_Roboto_Regular_20_glyph_67, - Font_Roboto_Regular_20_glyph_68, - Font_Roboto_Regular_20_glyph_69, - Font_Roboto_Regular_20_glyph_70, - Font_Roboto_Regular_20_glyph_71, - Font_Roboto_Regular_20_glyph_72, - Font_Roboto_Regular_20_glyph_73, - Font_Roboto_Regular_20_glyph_74, - Font_Roboto_Regular_20_glyph_75, - Font_Roboto_Regular_20_glyph_76, - Font_Roboto_Regular_20_glyph_77, - Font_Roboto_Regular_20_glyph_78, - Font_Roboto_Regular_20_glyph_79, - Font_Roboto_Regular_20_glyph_80, - Font_Roboto_Regular_20_glyph_81, - Font_Roboto_Regular_20_glyph_82, - Font_Roboto_Regular_20_glyph_83, - Font_Roboto_Regular_20_glyph_84, - Font_Roboto_Regular_20_glyph_85, - Font_Roboto_Regular_20_glyph_86, - Font_Roboto_Regular_20_glyph_87, - Font_Roboto_Regular_20_glyph_88, - Font_Roboto_Regular_20_glyph_89, - Font_Roboto_Regular_20_glyph_90, - Font_Roboto_Regular_20_glyph_91, - Font_Roboto_Regular_20_glyph_92, - Font_Roboto_Regular_20_glyph_93, - Font_Roboto_Regular_20_glyph_94, - Font_Roboto_Regular_20_glyph_95, - Font_Roboto_Regular_20_glyph_96, - Font_Roboto_Regular_20_glyph_97, - Font_Roboto_Regular_20_glyph_98, - Font_Roboto_Regular_20_glyph_99, - Font_Roboto_Regular_20_glyph_100, - Font_Roboto_Regular_20_glyph_101, - Font_Roboto_Regular_20_glyph_102, - Font_Roboto_Regular_20_glyph_103, - Font_Roboto_Regular_20_glyph_104, - Font_Roboto_Regular_20_glyph_105, - Font_Roboto_Regular_20_glyph_106, - Font_Roboto_Regular_20_glyph_107, - Font_Roboto_Regular_20_glyph_108, - Font_Roboto_Regular_20_glyph_109, - Font_Roboto_Regular_20_glyph_110, - Font_Roboto_Regular_20_glyph_111, - Font_Roboto_Regular_20_glyph_112, - Font_Roboto_Regular_20_glyph_113, - Font_Roboto_Regular_20_glyph_114, - Font_Roboto_Regular_20_glyph_115, - Font_Roboto_Regular_20_glyph_116, - Font_Roboto_Regular_20_glyph_117, - Font_Roboto_Regular_20_glyph_118, - Font_Roboto_Regular_20_glyph_119, - Font_Roboto_Regular_20_glyph_120, - Font_Roboto_Regular_20_glyph_121, - Font_Roboto_Regular_20_glyph_122, - Font_Roboto_Regular_20_glyph_123, - Font_Roboto_Regular_20_glyph_124, - Font_Roboto_Regular_20_glyph_125, - Font_Roboto_Regular_20_glyph_126, -}; diff --git a/extmod/modtrezorui/modtrezorui-font_robotomono_regular.h b/extmod/modtrezorui/modtrezorui-font_robotomono_regular.h deleted file mode 100644 index 4c9a93da1a..0000000000 --- a/extmod/modtrezorui/modtrezorui-font_robotomono_regular.h +++ /dev/null @@ -1,197 +0,0 @@ -// first two bytes are width and height of the glyph -// third, fourth and fifth bytes are advance, bearingX and bearingY of the horizontal metrics of the glyph -// rest is packed 4-bit glyph data - -/* */ static const uint8_t Font_RobotoMono_Regular_20_glyph_32[] = { 0, 0, 12, 0, 0 }; -/* ! */ static const uint8_t Font_RobotoMono_Regular_20_glyph_33[] = { 3, 15, 12, 4, 15, 31, 177, 251, 31, 177, 251, 31, 177, 251, 31, 177, 251, 31, 177, 251, 0, 0, 0, 1, 2, 253, 30, 192 }; -/* " */ static const uint8_t Font_RobotoMono_Regular_20_glyph_34[] = { 6, 5, 12, 3, 15, 143, 0, 246, 142, 0, 246, 141, 0, 245, 140, 0, 244, 140, 0, 243 }; -/* # */ static const uint8_t Font_RobotoMono_Regular_20_glyph_35[] = { 12, 15, 12, 0, 15, 0, 0, 47, 48, 63, 48, 0, 0, 111, 0, 111, 0, 0, 0, 156, 0, 156, 0, 0, 0, 201, 0, 201, 0, 10, 255, 255, 255, 255, 248, 5, 137, 249, 137, 249, 132, 0, 4, 241, 5, 241, 0, 0, 7, 224, 8, 224, 0, 0, 10, 176, 10, 176, 0, 56, 142, 200, 142, 200, 96, 111, 255, 255, 255, 255, 192, 0, 47, 48, 63, 48, 0, 0, 95, 0, 111, 0, 0, 0, 141, 0, 156, 0, 0, 0, 186, 0, 201, 0, 0 }; -/* $ */ static const uint8_t Font_RobotoMono_Regular_20_glyph_36[] = { 10, 19, 12, 1, 17, 0, 0, 111, 16, 0, 0, 0, 111, 16, 0, 0, 5, 191, 130, 0, 0, 191, 255, 255, 64, 6, 251, 32, 111, 224, 12, 241, 0, 9, 245, 13, 240, 0, 5, 247, 11, 244, 0, 0, 33, 4, 255, 112, 0, 0, 0, 111, 255, 146, 0, 0, 2, 159, 255, 96, 0, 0, 0, 143, 243, 0, 0, 0, 7, 249, 95, 96, 0, 3, 250, 63, 160, 0, 5, 248, 12, 248, 16, 78, 242, 1, 191, 255, 254, 64, 0, 2, 191, 48, 0, 0, 0, 142, 0, 0 }; -/* % */ static const uint8_t Font_RobotoMono_Regular_20_glyph_37[] = { 12, 15, 12, 0, 15, 7, 238, 128, 0, 0, 0, 63, 170, 245, 0, 0, 0, 141, 0, 201, 0, 162, 0, 140, 0, 186, 6, 224, 0, 111, 33, 232, 14, 96, 0, 30, 255, 225, 141, 0, 0, 1, 102, 17, 245, 0, 0, 0, 0, 9, 192, 0, 0, 0, 0, 47, 49, 102, 0, 0, 0, 186, 46, 255, 208, 0, 4, 242, 142, 19, 246, 0, 13, 144, 186, 0, 216, 0, 8, 16, 171, 0, 231, 0, 0, 0, 111, 154, 243, 0, 0, 0, 8, 238, 96 }; -/* & */ static const uint8_t Font_RobotoMono_Regular_20_glyph_38[] = { 11, 15, 12, 1, 15, 0, 76, 254, 96, 0, 0, 47, 249, 207, 80, 0, 9, 245, 0, 235, 0, 0, 191, 32, 14, 192, 0, 8, 245, 6, 247, 0, 0, 47, 216, 250, 0, 0, 0, 143, 248, 0, 0, 0, 45, 255, 64, 0, 0, 30, 247, 254, 16, 111, 57, 246, 6, 251, 8, 242, 223, 0, 10, 247, 221, 14, 224, 0, 13, 255, 112, 175, 64, 0, 143, 241, 2, 255, 168, 207, 239, 160, 2, 174, 253, 112, 207, 80 }; -/* ' */ static const uint8_t Font_RobotoMono_Regular_20_glyph_39[] = { 3, 5, 12, 4, 15, 47, 98, 245, 47, 66, 244, 47, 48 }; -/* ( */ static const uint8_t Font_RobotoMono_Regular_20_glyph_40[] = { 6, 22, 12, 3, 17, 0, 0, 1, 0, 0, 200, 0, 11, 209, 0, 111, 48, 0, 250, 0, 7, 243, 0, 12, 224, 0, 31, 160, 0, 79, 112, 0, 111, 80, 0, 127, 80, 0, 127, 64, 0, 111, 80, 0, 95, 112, 0, 47, 144, 0, 14, 192, 0, 9, 241, 0, 2, 247, 0, 0, 174, 16, 0, 30, 160, 0, 3, 247, 0, 0, 35 }; -/* ) */ static const uint8_t Font_RobotoMono_Regular_20_glyph_41[] = { 6, 22, 12, 3, 17, 32, 0, 0, 201, 0, 0, 63, 128, 0, 6, 243, 0, 0, 236, 0, 0, 127, 48, 0, 47, 144, 0, 14, 208, 0, 11, 241, 0, 9, 242, 0, 8, 243, 0, 8, 244, 0, 9, 243, 0, 10, 241, 0, 13, 224, 0, 15, 160, 0, 95, 80, 0, 190, 0, 3, 246, 0, 13, 192, 0, 173, 16, 0, 81, 0, 0 }; -/* * */ static const uint8_t Font_RobotoMono_Regular_20_glyph_42[] = { 10, 10, 12, 1, 12, 0, 0, 159, 16, 0, 0, 0, 143, 0, 0, 1, 0, 127, 0, 1, 47, 180, 110, 6, 218, 42, 239, 255, 255, 233, 0, 3, 255, 146, 0, 0, 9, 234, 225, 0, 0, 111, 97, 251, 0, 1, 253, 0, 127, 112, 0, 67, 0, 8, 0 }; -/* + */ static const uint8_t Font_RobotoMono_Regular_20_glyph_43[] = { 10, 11, 12, 1, 12, 0, 0, 239, 0, 0, 0, 0, 239, 0, 0, 0, 0, 239, 0, 0, 0, 0, 239, 0, 0, 0, 0, 239, 0, 0, 223, 255, 255, 255, 254, 104, 136, 255, 136, 135, 0, 0, 239, 0, 0, 0, 0, 239, 0, 0, 0, 0, 239, 0, 0, 0, 0, 239, 0, 0 }; -/* , */ static const uint8_t Font_RobotoMono_Regular_20_glyph_44[] = { 4, 6, 12, 3, 2, 11, 244, 11, 244, 12, 243, 14, 224, 95, 96, 5, 0 }; -/* - */ static const uint8_t Font_RobotoMono_Regular_20_glyph_45[] = { 8, 2, 12, 2, 8, 120, 136, 136, 132, 239, 255, 255, 249 }; -/* . */ static const uint8_t Font_RobotoMono_Regular_20_glyph_46[] = { 4, 3, 12, 4, 3, 9, 195, 31, 250, 11, 245 }; -/* / */ static const uint8_t Font_RobotoMono_Regular_20_glyph_47[] = { 9, 16, 12, 2, 15, 0, 0, 0, 205, 0, 0, 0, 47, 112, 0, 0, 8, 241, 0, 0, 0, 234, 0, 0, 0, 95, 64, 0, 0, 11, 224, 0, 0, 1, 248, 0, 0, 0, 127, 32, 0, 0, 13, 192, 0, 0, 3, 245, 0, 0, 0, 159, 0, 0, 0, 15, 144, 0, 0, 6, 243, 0, 0, 0, 205, 0, 0, 0, 47, 112, 0, 0, 3, 113, 0, 0, 0 }; -/* 0 */ static const uint8_t Font_RobotoMono_Regular_20_glyph_48[] = { 10, 15, 12, 1, 15, 0, 75, 255, 196, 0, 5, 254, 153, 239, 80, 14, 225, 0, 30, 224, 79, 128, 0, 7, 245, 127, 80, 0, 6, 248, 143, 48, 0, 127, 249, 159, 48, 11, 250, 250, 159, 50, 223, 83, 250, 159, 159, 210, 3, 250, 143, 250, 0, 3, 249, 127, 128, 0, 4, 248, 79, 112, 0, 7, 245, 14, 225, 0, 29, 240, 5, 254, 153, 239, 80, 0, 75, 255, 196, 0 }; -/* 1 */ static const uint8_t Font_RobotoMono_Regular_20_glyph_49[] = { 6, 15, 12, 2, 15, 0, 0, 36, 0, 92, 249, 159, 255, 249, 251, 84, 249, 16, 4, 249, 0, 4, 249, 0, 4, 249, 0, 4, 249, 0, 4, 249, 0, 4, 249, 0, 4, 249, 0, 4, 249, 0, 4, 249, 0, 4, 249, 0, 4, 249 }; -/* 2 */ static const uint8_t Font_RobotoMono_Regular_20_glyph_50[] = { 11, 15, 12, 0, 15, 0, 25, 239, 232, 0, 0, 46, 250, 140, 253, 0, 11, 244, 0, 9, 247, 0, 252, 0, 0, 47, 176, 25, 96, 0, 1, 251, 0, 0, 0, 0, 95, 112, 0, 0, 0, 13, 241, 0, 0, 0, 9, 246, 0, 0, 0, 7, 250, 0, 0, 0, 4, 252, 0, 0, 0, 3, 253, 16, 0, 0, 1, 238, 32, 0, 0, 0, 223, 48, 0, 0, 0, 191, 200, 136, 136, 131, 14, 255, 255, 255, 255, 96 }; -/* 3 */ static const uint8_t Font_RobotoMono_Regular_20_glyph_51[] = { 10, 15, 12, 0, 15, 0, 25, 239, 233, 16, 1, 239, 168, 191, 208, 10, 245, 0, 8, 247, 14, 224, 0, 2, 250, 0, 0, 0, 2, 250, 0, 0, 0, 9, 245, 0, 1, 137, 223, 128, 0, 3, 255, 254, 64, 0, 0, 0, 77, 244, 0, 0, 0, 2, 251, 1, 16, 0, 0, 238, 15, 208, 0, 0, 253, 12, 244, 0, 6, 249, 3, 255, 168, 191, 209, 0, 25, 239, 233, 16 }; -/* 4 */ static const uint8_t Font_RobotoMono_Regular_20_glyph_52[] = { 11, 15, 12, 0, 15, 0, 0, 0, 63, 240, 0, 0, 0, 12, 255, 0, 0, 0, 6, 255, 240, 0, 0, 1, 251, 207, 0, 0, 0, 175, 44, 240, 0, 0, 79, 112, 207, 0, 0, 13, 208, 12, 240, 0, 7, 244, 0, 207, 0, 2, 250, 0, 12, 240, 0, 191, 16, 0, 207, 0, 63, 255, 255, 255, 255, 242, 136, 136, 136, 239, 136, 0, 0, 0, 12, 240, 0, 0, 0, 0, 207, 0, 0, 0, 0, 12, 240, 0 }; -/* 5 */ static const uint8_t Font_RobotoMono_Regular_20_glyph_53[] = { 10, 15, 12, 1, 15, 0, 255, 255, 255, 245, 1, 252, 136, 136, 130, 2, 247, 0, 0, 0, 4, 246, 0, 0, 0, 5, 245, 0, 0, 0, 7, 245, 87, 97, 0, 8, 255, 255, 255, 80, 6, 214, 16, 111, 242, 0, 0, 0, 7, 248, 0, 0, 0, 2, 251, 0, 0, 0, 1, 251, 31, 176, 0, 3, 250, 12, 243, 0, 11, 245, 3, 255, 168, 223, 176, 0, 42, 239, 216, 0 }; -/* 6 */ static const uint8_t Font_RobotoMono_Regular_20_glyph_54[] = { 10, 15, 12, 1, 15, 0, 1, 141, 245, 0, 0, 79, 252, 146, 0, 2, 254, 64, 0, 0, 10, 244, 0, 0, 0, 31, 176, 0, 0, 0, 79, 97, 103, 64, 0, 127, 159, 255, 252, 16, 159, 247, 17, 159, 176, 159, 112, 0, 13, 241, 159, 48, 0, 8, 244, 143, 80, 0, 7, 245, 79, 128, 0, 9, 243, 13, 242, 0, 47, 224, 3, 255, 153, 239, 64, 0, 59, 239, 179, 0 }; -/* 7 */ static const uint8_t Font_RobotoMono_Regular_20_glyph_55[] = { 10, 15, 12, 1, 15, 239, 255, 255, 255, 251, 120, 136, 136, 138, 247, 0, 0, 0, 10, 241, 0, 0, 0, 31, 160, 0, 0, 0, 143, 48, 0, 0, 0, 236, 0, 0, 0, 6, 246, 0, 0, 0, 13, 224, 0, 0, 0, 79, 128, 0, 0, 0, 175, 32, 0, 0, 2, 251, 0, 0, 0, 8, 244, 0, 0, 0, 15, 208, 0, 0, 0, 111, 112, 0, 0, 0, 223, 16, 0, 0 }; -/* 8 */ static const uint8_t Font_RobotoMono_Regular_20_glyph_56[] = { 10, 15, 12, 1, 15, 0, 42, 239, 214, 0, 2, 255, 168, 223, 144, 10, 245, 0, 13, 242, 14, 240, 0, 7, 246, 13, 240, 0, 7, 246, 9, 245, 0, 13, 241, 1, 207, 168, 223, 80, 0, 111, 255, 252, 16, 7, 250, 32, 94, 209, 15, 208, 0, 5, 247, 63, 144, 0, 1, 251, 63, 160, 0, 2, 251, 14, 242, 0, 9, 246, 5, 255, 152, 207, 192, 0, 59, 255, 216, 0 }; -/* 9 */ static const uint8_t Font_RobotoMono_Regular_20_glyph_57[] = { 10, 15, 12, 1, 15, 0, 76, 254, 161, 0, 6, 254, 138, 254, 16, 15, 225, 0, 95, 160, 95, 112, 0, 12, 240, 143, 64, 0, 8, 244, 127, 64, 0, 6, 245, 95, 112, 0, 8, 246, 31, 225, 0, 63, 245, 8, 254, 138, 254, 244, 0, 109, 253, 120, 242, 0, 0, 0, 11, 224, 0, 0, 0, 63, 128, 0, 0, 3, 239, 16, 0, 73, 207, 228, 0, 0, 143, 200, 16, 0 }; -/* : */ static const uint8_t Font_RobotoMono_Regular_20_glyph_58[] = { 4, 12, 12, 4, 12, 9, 195, 31, 250, 11, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 195, 31, 250, 11, 245 }; -/* ; */ static const uint8_t Font_RobotoMono_Regular_20_glyph_59[] = { 4, 16, 12, 4, 12, 9, 195, 31, 250, 11, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 244, 11, 244, 12, 243, 14, 224, 95, 96, 5, 0 }; -/* < */ static const uint8_t Font_RobotoMono_Regular_20_glyph_60[] = { 9, 10, 12, 1, 11, 0, 0, 0, 4, 176, 0, 0, 109, 255, 0, 23, 239, 233, 33, 159, 252, 96, 0, 95, 228, 0, 0, 1, 175, 250, 64, 0, 0, 25, 255, 215, 16, 0, 1, 126, 254, 0, 0, 0, 6, 192, 0, 0, 0, 0 }; -/* = */ static const uint8_t Font_RobotoMono_Regular_20_glyph_61[] = { 10, 6, 12, 1, 10, 40, 136, 136, 136, 131, 95, 255, 255, 255, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 136, 136, 136, 131, 95, 255, 255, 255, 246 }; -/* > */ static const uint8_t Font_RobotoMono_Regular_20_glyph_62[] = { 10, 10, 12, 1, 11, 58, 48, 0, 0, 0, 79, 252, 80, 0, 0, 3, 159, 253, 112, 0, 0, 0, 91, 255, 145, 0, 0, 0, 61, 245, 0, 0, 91, 255, 161, 2, 142, 254, 129, 0, 63, 253, 96, 0, 0, 75, 64, 0, 0, 0, 0, 0, 0, 0, 0 }; -/* ? */ static const uint8_t Font_RobotoMono_Regular_20_glyph_63[] = { 10, 15, 12, 1, 15, 0, 75, 255, 214, 0, 5, 254, 153, 223, 128, 14, 225, 0, 13, 241, 8, 96, 0, 9, 243, 0, 0, 0, 11, 242, 0, 0, 0, 47, 208, 0, 0, 1, 223, 80, 0, 0, 12, 248, 0, 0, 0, 159, 128, 0, 0, 0, 238, 0, 0, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 1, 254, 0, 0, 0, 1, 236, 0, 0 }; -/* @ */ static const uint8_t Font_RobotoMono_Regular_20_glyph_64[] = { 12, 15, 12, 0, 15, 0, 0, 126, 253, 112, 0, 0, 29, 250, 138, 251, 0, 0, 189, 16, 0, 62, 96, 4, 241, 2, 116, 6, 208, 11, 128, 79, 255, 80, 241, 15, 48, 234, 27, 96, 211, 47, 4, 241, 11, 80, 196, 78, 7, 176, 13, 48, 196, 93, 9, 144, 14, 32, 226, 79, 9, 160, 31, 19, 224, 31, 38, 248, 222, 173, 144, 13, 128, 206, 86, 251, 0, 6, 245, 0, 0, 0, 0, 0, 191, 200, 139, 80, 0, 0, 6, 207, 251, 32, 0 }; -/* A */ static const uint8_t Font_RobotoMono_Regular_20_glyph_65[] = { 12, 15, 12, 0, 15, 0, 0, 12, 240, 0, 0, 0, 0, 31, 245, 0, 0, 0, 0, 111, 250, 0, 0, 0, 0, 191, 206, 0, 0, 0, 0, 251, 111, 48, 0, 0, 4, 246, 47, 128, 0, 0, 9, 241, 13, 208, 0, 0, 14, 192, 8, 242, 0, 0, 63, 128, 4, 247, 0, 0, 143, 185, 153, 251, 0, 0, 223, 255, 255, 255, 16, 2, 249, 0, 0, 111, 80, 7, 244, 0, 0, 31, 160, 11, 240, 0, 0, 13, 224, 31, 176, 0, 0, 8, 244 }; -/* B */ static const uint8_t Font_RobotoMono_Regular_20_glyph_66[] = { 10, 15, 12, 1, 15, 95, 255, 254, 198, 0, 95, 200, 137, 223, 160, 95, 128, 0, 12, 244, 95, 128, 0, 5, 247, 95, 128, 0, 6, 247, 95, 128, 0, 12, 242, 95, 200, 137, 239, 80, 95, 255, 255, 252, 48, 95, 128, 0, 77, 243, 95, 128, 0, 3, 251, 95, 128, 0, 0, 254, 95, 128, 0, 0, 253, 95, 128, 0, 9, 248, 95, 200, 136, 207, 192, 95, 255, 255, 215, 0 }; -/* C */ static const uint8_t Font_RobotoMono_Regular_20_glyph_67[] = { 10, 15, 12, 1, 15, 0, 43, 255, 198, 0, 4, 254, 152, 223, 144, 14, 225, 0, 12, 244, 111, 96, 0, 3, 250, 191, 16, 0, 0, 169, 222, 0, 0, 0, 0, 253, 0, 0, 0, 0, 253, 0, 0, 0, 0, 253, 0, 0, 0, 0, 222, 0, 0, 0, 0, 191, 16, 0, 0, 152, 127, 96, 0, 3, 250, 14, 225, 0, 11, 243, 4, 254, 153, 223, 128, 0, 59, 255, 198, 0 }; -/* D */ static const uint8_t Font_RobotoMono_Regular_20_glyph_68[] = { 11, 15, 12, 1, 15, 127, 255, 236, 96, 0, 7, 250, 137, 223, 209, 0, 127, 80, 0, 111, 192, 7, 245, 0, 0, 143, 96, 127, 80, 0, 1, 251, 7, 245, 0, 0, 13, 240, 127, 80, 0, 0, 191, 7, 245, 0, 0, 11, 241, 127, 80, 0, 0, 191, 7, 245, 0, 0, 13, 240, 127, 80, 0, 1, 251, 7, 245, 0, 0, 159, 96, 127, 80, 0, 111, 192, 7, 250, 137, 223, 209, 0, 127, 255, 252, 112, 0, 0 }; -/* E */ static const uint8_t Font_RobotoMono_Regular_20_glyph_69[] = { 10, 15, 12, 1, 15, 63, 255, 255, 255, 246, 63, 200, 136, 136, 131, 63, 144, 0, 0, 0, 63, 144, 0, 0, 0, 63, 144, 0, 0, 0, 63, 144, 0, 0, 0, 63, 144, 0, 0, 0, 63, 255, 255, 255, 128, 63, 200, 136, 136, 64, 63, 144, 0, 0, 0, 63, 144, 0, 0, 0, 63, 144, 0, 0, 0, 63, 144, 0, 0, 0, 63, 200, 136, 136, 132, 63, 255, 255, 255, 248 }; -/* F */ static const uint8_t Font_RobotoMono_Regular_20_glyph_70[] = { 10, 15, 12, 1, 15, 47, 255, 255, 255, 249, 47, 216, 136, 136, 132, 47, 176, 0, 0, 0, 47, 176, 0, 0, 0, 47, 176, 0, 0, 0, 47, 176, 0, 0, 0, 47, 176, 0, 0, 0, 47, 255, 255, 255, 144, 47, 216, 136, 136, 64, 47, 176, 0, 0, 0, 47, 176, 0, 0, 0, 47, 176, 0, 0, 0, 47, 176, 0, 0, 0, 47, 176, 0, 0, 0, 47, 176, 0, 0, 0 }; -/* G */ static const uint8_t Font_RobotoMono_Regular_20_glyph_71[] = { 11, 15, 12, 0, 15, 0, 2, 191, 252, 96, 0, 4, 255, 169, 223, 160, 0, 238, 16, 0, 191, 80, 127, 96, 0, 3, 251, 11, 241, 0, 0, 6, 80, 237, 0, 0, 0, 0, 15, 192, 0, 0, 0, 0, 252, 0, 5, 136, 135, 15, 192, 0, 191, 255, 224, 238, 0, 0, 0, 222, 11, 241, 0, 0, 13, 224, 111, 112, 0, 0, 222, 0, 223, 48, 0, 31, 224, 2, 239, 168, 175, 245, 0, 1, 158, 253, 146, 0 }; -/* H */ static const uint8_t Font_RobotoMono_Regular_20_glyph_72[] = { 10, 15, 12, 1, 15, 175, 16, 0, 1, 249, 175, 16, 0, 1, 249, 175, 16, 0, 1, 249, 175, 16, 0, 1, 249, 175, 16, 0, 1, 249, 175, 16, 0, 1, 249, 175, 16, 0, 1, 249, 175, 255, 255, 255, 249, 175, 136, 136, 136, 249, 175, 16, 0, 1, 249, 175, 16, 0, 1, 249, 175, 16, 0, 1, 249, 175, 16, 0, 1, 249, 175, 16, 0, 1, 249, 175, 16, 0, 1, 249 }; -/* I */ static const uint8_t Font_RobotoMono_Regular_20_glyph_73[] = { 10, 15, 12, 1, 15, 79, 255, 255, 255, 244, 40, 136, 255, 136, 130, 0, 0, 254, 0, 0, 0, 0, 254, 0, 0, 0, 0, 254, 0, 0, 0, 0, 254, 0, 0, 0, 0, 254, 0, 0, 0, 0, 254, 0, 0, 0, 0, 254, 0, 0, 0, 0, 254, 0, 0, 0, 0, 254, 0, 0, 0, 0, 254, 0, 0, 0, 0, 254, 0, 0, 40, 136, 255, 136, 130, 79, 255, 255, 255, 244 }; -/* J */ static const uint8_t Font_RobotoMono_Regular_20_glyph_74[] = { 11, 15, 12, 0, 15, 0, 0, 0, 0, 175, 48, 0, 0, 0, 10, 243, 0, 0, 0, 0, 175, 48, 0, 0, 0, 10, 243, 0, 0, 0, 0, 175, 48, 0, 0, 0, 10, 243, 0, 0, 0, 0, 175, 48, 0, 0, 0, 10, 243, 0, 0, 0, 0, 175, 48, 0, 0, 0, 10, 243, 6, 80, 0, 0, 175, 48, 239, 0, 0, 13, 240, 8, 248, 0, 6, 250, 0, 13, 252, 138, 254, 16, 0, 8, 223, 233, 16, 0 }; -/* K */ static const uint8_t Font_RobotoMono_Regular_20_glyph_75[] = { 11, 15, 12, 1, 15, 95, 128, 0, 4, 253, 5, 248, 0, 2, 239, 32, 95, 128, 0, 207, 96, 5, 248, 0, 159, 144, 0, 95, 128, 95, 208, 0, 5, 248, 47, 242, 0, 0, 95, 156, 247, 0, 0, 5, 255, 255, 208, 0, 0, 95, 252, 175, 128, 0, 5, 253, 17, 255, 32, 0, 95, 128, 6, 252, 0, 5, 248, 0, 12, 246, 0, 95, 128, 0, 47, 225, 5, 248, 0, 0, 143, 160, 95, 128, 0, 0, 223, 64 }; -/* L */ static const uint8_t Font_RobotoMono_Regular_20_glyph_76[] = { 10, 15, 12, 1, 15, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 176, 0, 0, 0, 31, 233, 153, 153, 150, 31, 255, 255, 255, 251 }; -/* M */ static const uint8_t Font_RobotoMono_Regular_20_glyph_77[] = { 10, 15, 12, 1, 15, 143, 208, 0, 10, 252, 143, 242, 0, 15, 252, 143, 247, 0, 95, 252, 143, 220, 0, 174, 236, 143, 159, 16, 248, 236, 143, 79, 101, 243, 252, 143, 45, 170, 224, 252, 143, 40, 255, 144, 252, 143, 52, 255, 64, 252, 143, 48, 238, 0, 252, 143, 48, 136, 0, 252, 143, 48, 0, 0, 252, 143, 48, 0, 0, 252, 143, 48, 0, 0, 252, 143, 48, 0, 0, 252 }; -/* N */ static const uint8_t Font_RobotoMono_Regular_20_glyph_78[] = { 10, 15, 12, 1, 15, 159, 112, 0, 3, 249, 159, 224, 0, 3, 249, 159, 247, 0, 3, 249, 159, 254, 0, 3, 249, 159, 175, 112, 3, 249, 159, 78, 224, 3, 249, 159, 54, 246, 3, 249, 159, 48, 238, 3, 249, 159, 48, 127, 99, 249, 159, 48, 14, 228, 249, 159, 48, 7, 250, 249, 159, 48, 0, 239, 249, 159, 48, 0, 127, 249, 159, 48, 0, 14, 249, 159, 48, 0, 7, 249 }; -/* O */ static const uint8_t Font_RobotoMono_Regular_20_glyph_79[] = { 10, 15, 12, 1, 15, 0, 43, 255, 178, 0, 4, 254, 153, 239, 48, 14, 225, 0, 30, 224, 111, 96, 0, 6, 245, 175, 16, 0, 1, 250, 222, 0, 0, 0, 237, 253, 0, 0, 0, 222, 253, 0, 0, 0, 223, 253, 0, 0, 0, 222, 222, 0, 0, 0, 237, 191, 16, 0, 1, 250, 111, 96, 0, 6, 246, 14, 225, 0, 30, 224, 4, 254, 153, 239, 64, 0, 43, 255, 179, 0 }; -/* P */ static const uint8_t Font_RobotoMono_Regular_20_glyph_80[] = { 11, 15, 12, 1, 15, 47, 255, 255, 233, 16, 2, 253, 136, 139, 254, 32, 47, 160, 0, 6, 251, 2, 250, 0, 0, 13, 241, 47, 160, 0, 0, 175, 34, 250, 0, 0, 12, 241, 47, 160, 0, 5, 251, 2, 253, 136, 139, 254, 32, 47, 255, 255, 233, 16, 2, 250, 0, 0, 0, 0, 47, 160, 0, 0, 0, 2, 250, 0, 0, 0, 0, 47, 160, 0, 0, 0, 2, 250, 0, 0, 0, 0, 47, 160, 0, 0, 0, 0 }; -/* Q */ static const uint8_t Font_RobotoMono_Regular_20_glyph_81[] = { 12, 18, 12, 0, 15, 0, 3, 191, 251, 48, 0, 0, 79, 233, 158, 244, 0, 1, 253, 16, 1, 223, 0, 7, 245, 0, 0, 95, 112, 12, 240, 0, 0, 15, 176, 15, 208, 0, 0, 13, 240, 15, 176, 0, 0, 11, 240, 31, 176, 0, 0, 11, 241, 15, 176, 0, 0, 11, 240, 15, 208, 0, 0, 13, 240, 12, 240, 0, 0, 15, 192, 7, 245, 0, 0, 95, 112, 1, 253, 16, 1, 223, 16, 0, 79, 233, 158, 245, 0, 0, 3, 191, 255, 247, 0, 0, 0, 0, 1, 223, 160, 0, 0, 0, 0, 11, 209, 0, 0, 0, 0, 0, 0 }; -/* R */ static const uint8_t Font_RobotoMono_Regular_20_glyph_82[] = { 11, 15, 12, 1, 15, 63, 255, 255, 198, 0, 3, 252, 136, 158, 250, 0, 63, 144, 0, 12, 245, 3, 249, 0, 0, 63, 160, 63, 144, 0, 1, 251, 3, 249, 0, 0, 63, 160, 63, 144, 0, 12, 244, 3, 252, 136, 158, 249, 0, 63, 255, 255, 246, 0, 3, 249, 0, 95, 128, 0, 63, 144, 0, 238, 0, 3, 249, 0, 6, 247, 0, 63, 144, 0, 14, 224, 3, 249, 0, 0, 127, 96, 63, 144, 0, 1, 253, 0 }; -/* S */ static const uint8_t Font_RobotoMono_Regular_20_glyph_83[] = { 11, 15, 12, 1, 15, 0, 75, 239, 215, 0, 0, 95, 249, 157, 252, 0, 31, 225, 0, 10, 247, 5, 248, 0, 0, 31, 208, 95, 144, 0, 0, 85, 1, 255, 96, 0, 0, 0, 4, 255, 215, 16, 0, 0, 2, 191, 255, 145, 0, 0, 0, 40, 239, 209, 0, 0, 0, 0, 175, 160, 70, 0, 0, 0, 255, 11, 244, 0, 0, 14, 240, 95, 209, 0, 5, 251, 0, 143, 233, 139, 254, 32, 0, 75, 239, 215, 16, 0 }; -/* T */ static const uint8_t Font_RobotoMono_Regular_20_glyph_84[] = { 12, 15, 12, 0, 15, 79, 255, 255, 255, 255, 244, 40, 136, 142, 248, 136, 130, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0, 0, 0, 13, 224, 0, 0 }; -/* U */ static const uint8_t Font_RobotoMono_Regular_20_glyph_85[] = { 10, 15, 12, 1, 15, 175, 16, 0, 2, 249, 175, 16, 0, 2, 250, 175, 16, 0, 2, 250, 175, 16, 0, 2, 250, 175, 16, 0, 2, 250, 175, 16, 0, 2, 250, 175, 16, 0, 2, 250, 175, 32, 0, 2, 250, 175, 32, 0, 2, 250, 175, 32, 0, 2, 250, 159, 48, 0, 3, 249, 111, 96, 0, 7, 246, 31, 225, 0, 30, 241, 5, 254, 153, 239, 80, 0, 75, 255, 179, 0 }; -/* V */ static const uint8_t Font_RobotoMono_Regular_20_glyph_86[] = { 12, 15, 12, 0, 15, 47, 192, 0, 0, 13, 241, 13, 241, 0, 0, 47, 192, 9, 245, 0, 0, 111, 112, 4, 250, 0, 0, 191, 48, 0, 254, 0, 0, 254, 0, 0, 175, 48, 5, 249, 0, 0, 95, 128, 9, 244, 0, 0, 31, 208, 14, 240, 0, 0, 12, 241, 63, 176, 0, 0, 7, 246, 143, 96, 0, 0, 2, 251, 207, 16, 0, 0, 0, 223, 252, 0, 0, 0, 0, 159, 248, 0, 0, 0, 0, 79, 243, 0, 0, 0, 0, 15, 224, 0, 0 }; -/* W */ static const uint8_t Font_RobotoMono_Regular_20_glyph_87[] = { 12, 15, 12, 0, 15, 63, 112, 11, 240, 3, 247, 31, 144, 14, 242, 5, 245, 15, 160, 31, 245, 6, 244, 14, 192, 63, 248, 8, 242, 12, 224, 111, 203, 10, 240, 10, 240, 157, 158, 11, 224, 8, 241, 186, 111, 29, 192, 6, 242, 232, 63, 63, 160, 4, 245, 245, 31, 127, 144, 3, 249, 243, 14, 207, 112, 1, 254, 240, 12, 255, 80, 0, 255, 208, 9, 255, 48, 0, 223, 176, 7, 255, 16, 0, 191, 128, 4, 255, 0, 0, 159, 96, 1, 253, 0 }; -/* X */ static const uint8_t Font_RobotoMono_Regular_20_glyph_88[] = { 12, 15, 12, 0, 15, 12, 245, 0, 0, 47, 241, 3, 253, 0, 0, 175, 112, 0, 175, 96, 3, 254, 0, 0, 47, 224, 11, 245, 0, 0, 8, 248, 79, 192, 0, 0, 1, 239, 223, 64, 0, 0, 0, 127, 251, 0, 0, 0, 0, 31, 244, 0, 0, 0, 0, 127, 252, 0, 0, 0, 1, 253, 175, 80, 0, 0, 10, 245, 31, 208, 0, 0, 63, 208, 8, 246, 0, 0, 191, 64, 1, 254, 16, 5, 252, 0, 0, 143, 128, 13, 243, 0, 0, 14, 242 }; -/* Y */ static const uint8_t Font_RobotoMono_Regular_20_glyph_89[] = { 12, 15, 12, 0, 15, 47, 208, 0, 0, 31, 224, 11, 245, 0, 0, 143, 112, 3, 252, 0, 0, 255, 16, 0, 207, 48, 7, 248, 0, 0, 79, 176, 14, 241, 0, 0, 13, 242, 95, 144, 0, 0, 5, 249, 223, 32, 0, 0, 0, 223, 250, 0, 0, 0, 0, 111, 243, 0, 0, 0, 0, 15, 192, 0, 0, 0, 0, 15, 192, 0, 0, 0, 0, 15, 192, 0, 0, 0, 0, 15, 176, 0, 0, 0, 0, 15, 176, 0, 0, 0, 0, 15, 176, 0, 0 }; -/* Z */ static const uint8_t Font_RobotoMono_Regular_20_glyph_90[] = { 10, 15, 12, 1, 15, 207, 255, 255, 255, 244, 104, 136, 136, 143, 242, 0, 0, 0, 111, 144, 0, 0, 1, 238, 16, 0, 0, 9, 246, 0, 0, 0, 47, 208, 0, 0, 0, 191, 64, 0, 0, 5, 250, 0, 0, 0, 13, 242, 0, 0, 0, 127, 128, 0, 0, 1, 254, 0, 0, 0, 10, 245, 0, 0, 0, 63, 192, 0, 0, 0, 207, 168, 136, 136, 132, 223, 255, 255, 255, 248 }; -/* [ */ static const uint8_t Font_RobotoMono_Regular_20_glyph_91[] = { 5, 20, 12, 4, 17, 104, 136, 13, 255, 240, 222, 0, 13, 224, 0, 222, 0, 13, 224, 0, 222, 0, 13, 224, 0, 222, 0, 13, 224, 0, 222, 0, 13, 224, 0, 222, 0, 13, 224, 0, 222, 0, 13, 224, 0, 222, 0, 13, 224, 0, 223, 136, 13, 255, 240 }; -/* \ */ static const uint8_t Font_RobotoMono_Regular_20_glyph_92[] = { 8, 16, 12, 2, 15, 143, 16, 0, 0, 47, 112, 0, 0, 12, 208, 0, 0, 6, 243, 0, 0, 0, 249, 0, 0, 0, 175, 0, 0, 0, 79, 96, 0, 0, 13, 192, 0, 0, 7, 242, 0, 0, 1, 248, 0, 0, 0, 190, 0, 0, 0, 95, 64, 0, 0, 14, 160, 0, 0, 9, 241, 0, 0, 3, 247, 0, 0, 0, 117 }; -/* ] */ static const uint8_t Font_RobotoMono_Regular_20_glyph_93[] = { 5, 20, 12, 3, 17, 8, 136, 96, 255, 253, 0, 14, 208, 0, 237, 0, 14, 208, 0, 237, 0, 14, 208, 0, 237, 0, 14, 208, 0, 237, 0, 14, 208, 0, 237, 0, 14, 208, 0, 237, 0, 14, 208, 0, 237, 0, 14, 208, 0, 237, 8, 143, 208, 255, 253 }; -/* ^ */ static const uint8_t Font_RobotoMono_Regular_20_glyph_94[] = { 8, 8, 12, 2, 15, 0, 13, 208, 0, 0, 63, 243, 0, 0, 159, 249, 0, 0, 250, 191, 0, 6, 244, 79, 96, 12, 224, 14, 192, 47, 128, 8, 242, 143, 32, 2, 248 }; -/* _ */ static const uint8_t Font_RobotoMono_Regular_20_glyph_95[] = { 10, 2, 12, 1, 1, 56, 136, 136, 136, 131, 127, 255, 255, 255, 247 }; -/* ` */ static const uint8_t Font_RobotoMono_Regular_20_glyph_96[] = { 4, 3, 12, 4, 15, 127, 144, 7, 244, 0, 85 }; -/* a */ static const uint8_t Font_RobotoMono_Regular_20_glyph_97[] = { 10, 11, 12, 1, 11, 0, 108, 254, 197, 0, 10, 252, 137, 239, 112, 46, 160, 0, 14, 240, 0, 0, 0, 10, 242, 0, 108, 239, 255, 242, 11, 254, 152, 141, 242, 79, 176, 0, 10, 242, 127, 96, 0, 10, 242, 95, 144, 0, 63, 242, 13, 251, 139, 255, 244, 1, 174, 252, 86, 214 }; -/* b */ static const uint8_t Font_RobotoMono_Regular_20_glyph_98[] = { 10, 15, 12, 1, 15, 79, 128, 0, 0, 0, 79, 128, 0, 0, 0, 79, 128, 0, 0, 0, 79, 128, 0, 0, 0, 79, 135, 223, 214, 0, 79, 254, 153, 239, 128, 79, 225, 0, 30, 241, 79, 128, 0, 7, 246, 79, 128, 0, 4, 249, 79, 128, 0, 2, 250, 79, 128, 0, 4, 249, 79, 128, 0, 7, 246, 79, 225, 0, 30, 241, 79, 238, 152, 239, 112, 79, 103, 239, 214, 0 }; -/* c */ static const uint8_t Font_RobotoMono_Regular_20_glyph_99[] = { 10, 11, 12, 1, 11, 0, 59, 239, 213, 0, 4, 255, 152, 223, 144, 14, 226, 0, 11, 243, 95, 128, 0, 4, 214, 143, 64, 0, 0, 0, 159, 48, 0, 0, 0, 143, 64, 0, 0, 0, 95, 128, 0, 2, 148, 14, 226, 0, 10, 243, 4, 254, 152, 223, 144, 0, 59, 239, 197, 0 }; -/* d */ static const uint8_t Font_RobotoMono_Regular_20_glyph_100[] = { 10, 15, 12, 1, 15, 0, 0, 0, 8, 244, 0, 0, 0, 8, 244, 0, 0, 0, 8, 244, 0, 0, 0, 8, 244, 0, 93, 254, 136, 244, 7, 254, 153, 239, 244, 31, 226, 0, 29, 244, 111, 128, 0, 8, 244, 159, 64, 0, 8, 244, 175, 32, 0, 8, 244, 159, 64, 0, 8, 244, 111, 112, 0, 8, 244, 31, 226, 0, 29, 244, 6, 254, 153, 239, 244, 0, 93, 254, 135, 244 }; -/* e */ static const uint8_t Font_RobotoMono_Regular_20_glyph_101[] = { 10, 11, 12, 1, 11, 0, 42, 239, 197, 0, 3, 255, 168, 223, 128, 14, 242, 0, 12, 242, 111, 112, 0, 5, 247, 159, 168, 136, 137, 249, 175, 255, 255, 255, 250, 175, 48, 0, 0, 0, 111, 128, 0, 0, 0, 31, 243, 0, 2, 162, 4, 255, 168, 175, 226, 0, 42, 239, 216, 16 }; -/* f */ static const uint8_t Font_RobotoMono_Regular_20_glyph_102[] = { 11, 16, 12, 1, 16, 0, 0, 1, 103, 99, 0, 0, 7, 255, 255, 240, 0, 3, 253, 64, 19, 0, 0, 143, 80, 0, 0, 0, 9, 243, 0, 0, 8, 255, 255, 255, 255, 64, 72, 140, 249, 136, 130, 0, 0, 159, 48, 0, 0, 0, 9, 243, 0, 0, 0, 0, 159, 48, 0, 0, 0, 9, 243, 0, 0, 0, 0, 159, 48, 0, 0, 0, 9, 243, 0, 0, 0, 0, 159, 48, 0, 0, 0, 9, 243, 0, 0, 0, 0, 159, 48, 0, 0 }; -/* g */ static const uint8_t Font_RobotoMono_Regular_20_glyph_103[] = { 10, 15, 12, 1, 11, 0, 109, 254, 134, 244, 7, 254, 153, 239, 244, 31, 226, 0, 29, 244, 111, 128, 0, 8, 244, 159, 64, 0, 8, 244, 159, 32, 0, 8, 244, 159, 64, 0, 8, 244, 111, 112, 0, 8, 244, 31, 226, 0, 29, 244, 6, 254, 153, 239, 244, 0, 93, 254, 136, 244, 0, 0, 0, 10, 242, 8, 64, 0, 47, 224, 11, 251, 138, 255, 64, 0, 124, 255, 179, 0 }; -/* h */ static const uint8_t Font_RobotoMono_Regular_20_glyph_104[] = { 10, 15, 12, 1, 15, 79, 128, 0, 0, 0, 79, 128, 0, 0, 0, 79, 128, 0, 0, 0, 79, 128, 0, 0, 0, 79, 131, 207, 234, 16, 79, 191, 168, 223, 192, 79, 226, 0, 12, 243, 79, 128, 0, 7, 246, 79, 128, 0, 6, 246, 79, 128, 0, 6, 247, 79, 128, 0, 6, 247, 79, 128, 0, 6, 247, 79, 128, 0, 6, 247, 79, 128, 0, 6, 247, 79, 128, 0, 6, 247 }; -/* i */ static const uint8_t Font_RobotoMono_Regular_20_glyph_105[] = { 10, 15, 12, 1, 15, 0, 0, 111, 64, 0, 0, 0, 143, 96, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 15, 255, 255, 96, 0, 8, 136, 191, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 8, 136, 191, 184, 134, 15, 255, 255, 255, 253 }; -/* j */ static const uint8_t Font_RobotoMono_Regular_20_glyph_106[] = { 7, 19, 12, 2, 15, 0, 0, 158, 32, 0, 10, 243, 0, 0, 1, 0, 0, 0, 0, 31, 255, 255, 64, 136, 140, 244, 0, 0, 143, 64, 0, 8, 244, 0, 0, 143, 64, 0, 8, 244, 0, 0, 143, 64, 0, 8, 244, 0, 0, 143, 64, 0, 8, 244, 0, 0, 143, 48, 0, 9, 243, 0, 1, 239, 7, 137, 239, 112, 223, 252, 96, 0 }; -/* k */ static const uint8_t Font_RobotoMono_Regular_20_glyph_107[] = { 11, 15, 12, 1, 15, 79, 128, 0, 0, 0, 4, 248, 0, 0, 0, 0, 79, 128, 0, 0, 0, 4, 248, 0, 0, 0, 0, 79, 128, 0, 79, 209, 4, 248, 0, 79, 225, 0, 79, 128, 63, 226, 0, 4, 248, 63, 243, 0, 0, 79, 174, 245, 0, 0, 4, 255, 255, 192, 0, 0, 79, 244, 191, 128, 0, 4, 248, 1, 223, 80, 0, 79, 128, 3, 255, 32, 4, 248, 0, 6, 253, 0, 79, 128, 0, 10, 250, 0 }; -/* l */ static const uint8_t Font_RobotoMono_Regular_20_glyph_108[] = { 10, 15, 12, 1, 15, 15, 255, 255, 96, 0, 8, 136, 191, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 0, 0, 111, 96, 0, 8, 136, 191, 184, 134, 15, 255, 255, 255, 253 }; -/* m */ static const uint8_t Font_RobotoMono_Regular_20_glyph_109[] = { 12, 11, 12, 0, 11, 31, 154, 253, 58, 253, 48, 31, 249, 175, 251, 159, 208, 31, 160, 14, 224, 10, 240, 31, 160, 13, 208, 9, 241, 31, 160, 13, 208, 9, 241, 31, 160, 13, 208, 9, 241, 31, 160, 13, 208, 9, 241, 31, 160, 13, 208, 9, 241, 31, 160, 13, 208, 9, 241, 31, 160, 13, 208, 9, 241, 31, 160, 13, 208, 9, 241 }; -/* n */ static const uint8_t Font_RobotoMono_Regular_20_glyph_110[] = { 10, 11, 12, 1, 11, 79, 84, 207, 233, 16, 79, 191, 152, 207, 176, 79, 226, 0, 12, 242, 79, 128, 0, 7, 245, 79, 128, 0, 6, 246, 79, 128, 0, 6, 246, 79, 128, 0, 6, 246, 79, 128, 0, 6, 246, 79, 128, 0, 6, 246, 79, 128, 0, 6, 246, 79, 128, 0, 6, 246 }; -/* o */ static const uint8_t Font_RobotoMono_Regular_20_glyph_111[] = { 10, 11, 12, 1, 11, 0, 75, 255, 180, 0, 6, 254, 153, 239, 96, 47, 209, 0, 30, 242, 143, 96, 0, 6, 248, 191, 16, 0, 2, 251, 207, 0, 0, 0, 252, 191, 16, 0, 1, 251, 143, 80, 0, 5, 248, 47, 209, 0, 29, 242, 7, 254, 153, 239, 96, 0, 76, 255, 196, 0 }; -/* p */ static const uint8_t Font_RobotoMono_Regular_20_glyph_112[] = { 10, 15, 12, 1, 11, 95, 104, 239, 214, 0, 95, 254, 137, 239, 112, 95, 192, 0, 46, 241, 95, 128, 0, 8, 246, 95, 128, 0, 4, 248, 95, 128, 0, 3, 249, 95, 128, 0, 4, 248, 95, 128, 0, 8, 245, 95, 208, 0, 46, 241, 95, 253, 137, 239, 112, 95, 136, 239, 214, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0, 95, 128, 0, 0, 0 }; -/* q */ static const uint8_t Font_RobotoMono_Regular_20_glyph_113[] = { 10, 15, 12, 1, 11, 0, 109, 254, 135, 244, 7, 254, 153, 239, 244, 31, 226, 0, 29, 244, 111, 128, 0, 8, 244, 159, 64, 0, 8, 244, 159, 48, 0, 8, 244, 159, 64, 0, 8, 244, 111, 128, 0, 8, 244, 31, 226, 0, 29, 244, 7, 254, 152, 239, 244, 0, 93, 254, 137, 244, 0, 0, 0, 8, 244, 0, 0, 0, 8, 244, 0, 0, 0, 8, 244, 0, 0, 0, 8, 244 }; -/* r */ static const uint8_t Font_RobotoMono_Regular_20_glyph_114[] = { 8, 11, 12, 3, 11, 207, 7, 223, 245, 207, 206, 152, 163, 207, 192, 0, 0, 207, 48, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0 }; -/* s */ static const uint8_t Font_RobotoMono_Regular_20_glyph_115[] = { 10, 11, 12, 1, 11, 0, 59, 255, 215, 0, 5, 254, 152, 223, 192, 13, 241, 0, 11, 244, 13, 240, 0, 1, 65, 6, 254, 131, 0, 0, 0, 75, 255, 250, 32, 0, 0, 4, 159, 242, 40, 64, 0, 6, 247, 31, 209, 0, 7, 246, 7, 254, 152, 191, 209, 0, 91, 255, 216, 16 }; -/* t */ static const uint8_t Font_RobotoMono_Regular_20_glyph_116[] = { 10, 14, 12, 1, 14, 0, 6, 112, 0, 0, 0, 13, 240, 0, 0, 0, 13, 240, 0, 0, 159, 255, 255, 255, 240, 72, 142, 248, 136, 128, 0, 13, 240, 0, 0, 0, 13, 240, 0, 0, 0, 13, 240, 0, 0, 0, 13, 240, 0, 0, 0, 13, 240, 0, 0, 0, 13, 240, 0, 0, 0, 11, 243, 0, 0, 0, 5, 254, 152, 162, 0, 0, 109, 255, 195 }; -/* u */ static const uint8_t Font_RobotoMono_Regular_20_glyph_117[] = { 10, 11, 12, 1, 11, 63, 144, 0, 8, 244, 63, 144, 0, 8, 244, 63, 144, 0, 8, 244, 63, 144, 0, 8, 244, 63, 144, 0, 8, 244, 63, 144, 0, 8, 244, 63, 144, 0, 8, 244, 47, 160, 0, 8, 244, 15, 224, 0, 30, 244, 8, 253, 137, 238, 244, 0, 142, 253, 118, 244 }; -/* v */ static const uint8_t Font_RobotoMono_Regular_20_glyph_118[] = { 11, 11, 12, 0, 11, 13, 240, 0, 0, 31, 192, 127, 80, 0, 6, 246, 1, 251, 0, 0, 191, 0, 10, 241, 0, 31, 144, 0, 79, 112, 7, 243, 0, 0, 221, 0, 221, 0, 0, 7, 242, 47, 112, 0, 0, 31, 136, 241, 0, 0, 0, 190, 218, 0, 0, 0, 4, 255, 64, 0, 0, 0, 14, 224, 0, 0 }; -/* w */ static const uint8_t Font_RobotoMono_Regular_20_glyph_119[] = { 12, 11, 12, 0, 11, 111, 32, 10, 176, 0, 248, 63, 80, 14, 240, 3, 245, 15, 128, 47, 243, 6, 241, 13, 160, 94, 215, 8, 224, 9, 208, 155, 171, 11, 176, 6, 240, 215, 110, 14, 128, 3, 244, 243, 47, 63, 64, 0, 250, 240, 14, 159, 16, 0, 207, 176, 10, 238, 0, 0, 159, 128, 6, 251, 0, 0, 111, 64, 2, 247, 0 }; -/* x */ static const uint8_t Font_RobotoMono_Regular_20_glyph_120[] = { 11, 11, 12, 1, 11, 127, 144, 0, 7, 250, 0, 191, 80, 3, 253, 0, 1, 238, 16, 223, 48, 0, 4, 252, 175, 112, 0, 0, 9, 255, 192, 0, 0, 0, 31, 244, 0, 0, 0, 10, 255, 192, 0, 0, 5, 250, 111, 128, 0, 2, 254, 0, 191, 64, 0, 207, 48, 1, 238, 16, 143, 128, 0, 5, 251, 0 }; -/* y */ static const uint8_t Font_RobotoMono_Regular_20_glyph_121[] = { 12, 15, 12, 0, 11, 31, 224, 0, 0, 14, 241, 10, 245, 0, 0, 79, 160, 3, 251, 0, 0, 191, 48, 0, 207, 32, 1, 252, 0, 0, 95, 144, 7, 245, 0, 0, 13, 240, 13, 224, 0, 0, 7, 246, 79, 112, 0, 0, 0, 252, 175, 16, 0, 0, 0, 143, 249, 0, 0, 0, 0, 31, 242, 0, 0, 0, 0, 14, 176, 0, 0, 0, 0, 127, 64, 0, 0, 0, 2, 253, 0, 0, 0, 3, 174, 243, 0, 0, 0, 7, 253, 64, 0, 0, 0 }; -/* z */ static const uint8_t Font_RobotoMono_Regular_20_glyph_122[] = { 10, 11, 12, 1, 11, 95, 255, 255, 255, 244, 40, 136, 136, 175, 241, 0, 0, 0, 223, 80, 0, 0, 10, 248, 0, 0, 0, 127, 176, 0, 0, 3, 254, 16, 0, 0, 30, 243, 0, 0, 0, 207, 96, 0, 0, 8, 250, 0, 0, 0, 79, 248, 136, 136, 132, 127, 255, 255, 255, 249 }; -/* { */ static const uint8_t Font_RobotoMono_Regular_20_glyph_123[] = { 7, 20, 12, 3, 16, 0, 0, 4, 64, 0, 12, 250, 0, 8, 248, 0, 0, 238, 0, 0, 31, 176, 0, 1, 251, 0, 0, 47, 160, 0, 3, 249, 0, 0, 159, 80, 7, 207, 144, 0, 223, 210, 0, 0, 78, 225, 0, 0, 95, 128, 0, 2, 250, 0, 0, 47, 176, 0, 1, 251, 0, 0, 15, 208, 0, 0, 191, 48, 0, 3, 254, 96, 0, 4, 201 }; -/* | */ static const uint8_t Font_RobotoMono_Regular_20_glyph_124[] = { 2, 19, 12, 5, 15, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187 }; -/* } */ static const uint8_t Font_RobotoMono_Regular_20_glyph_125[] = { 7, 20, 12, 3, 16, 68, 0, 0, 12, 251, 0, 0, 9, 246, 0, 0, 15, 192, 0, 0, 223, 0, 0, 12, 240, 0, 0, 207, 0, 0, 11, 242, 0, 0, 111, 128, 0, 0, 175, 182, 0, 3, 239, 192, 2, 253, 48, 0, 159, 64, 0, 11, 241, 0, 0, 207, 0, 0, 12, 240, 0, 0, 238, 0, 0, 95, 144, 0, 127, 242, 0, 10, 195, 0, 0 }; -/* ~ */ static const uint8_t Font_RobotoMono_Regular_20_glyph_126[] = { 12, 4, 12, 0, 8, 3, 223, 197, 0, 0, 115, 30, 216, 223, 144, 1, 245, 111, 16, 9, 253, 141, 224, 54, 0, 0, 93, 252, 32 }; - -const uint8_t * const Font_RobotoMono_Regular_20[126 + 1 - 32] = { - Font_RobotoMono_Regular_20_glyph_32, - Font_RobotoMono_Regular_20_glyph_33, - Font_RobotoMono_Regular_20_glyph_34, - Font_RobotoMono_Regular_20_glyph_35, - Font_RobotoMono_Regular_20_glyph_36, - Font_RobotoMono_Regular_20_glyph_37, - Font_RobotoMono_Regular_20_glyph_38, - Font_RobotoMono_Regular_20_glyph_39, - Font_RobotoMono_Regular_20_glyph_40, - Font_RobotoMono_Regular_20_glyph_41, - Font_RobotoMono_Regular_20_glyph_42, - Font_RobotoMono_Regular_20_glyph_43, - Font_RobotoMono_Regular_20_glyph_44, - Font_RobotoMono_Regular_20_glyph_45, - Font_RobotoMono_Regular_20_glyph_46, - Font_RobotoMono_Regular_20_glyph_47, - Font_RobotoMono_Regular_20_glyph_48, - Font_RobotoMono_Regular_20_glyph_49, - Font_RobotoMono_Regular_20_glyph_50, - Font_RobotoMono_Regular_20_glyph_51, - Font_RobotoMono_Regular_20_glyph_52, - Font_RobotoMono_Regular_20_glyph_53, - Font_RobotoMono_Regular_20_glyph_54, - Font_RobotoMono_Regular_20_glyph_55, - Font_RobotoMono_Regular_20_glyph_56, - Font_RobotoMono_Regular_20_glyph_57, - Font_RobotoMono_Regular_20_glyph_58, - Font_RobotoMono_Regular_20_glyph_59, - Font_RobotoMono_Regular_20_glyph_60, - Font_RobotoMono_Regular_20_glyph_61, - Font_RobotoMono_Regular_20_glyph_62, - Font_RobotoMono_Regular_20_glyph_63, - Font_RobotoMono_Regular_20_glyph_64, - Font_RobotoMono_Regular_20_glyph_65, - Font_RobotoMono_Regular_20_glyph_66, - Font_RobotoMono_Regular_20_glyph_67, - Font_RobotoMono_Regular_20_glyph_68, - Font_RobotoMono_Regular_20_glyph_69, - Font_RobotoMono_Regular_20_glyph_70, - Font_RobotoMono_Regular_20_glyph_71, - Font_RobotoMono_Regular_20_glyph_72, - Font_RobotoMono_Regular_20_glyph_73, - Font_RobotoMono_Regular_20_glyph_74, - Font_RobotoMono_Regular_20_glyph_75, - Font_RobotoMono_Regular_20_glyph_76, - Font_RobotoMono_Regular_20_glyph_77, - Font_RobotoMono_Regular_20_glyph_78, - Font_RobotoMono_Regular_20_glyph_79, - Font_RobotoMono_Regular_20_glyph_80, - Font_RobotoMono_Regular_20_glyph_81, - Font_RobotoMono_Regular_20_glyph_82, - Font_RobotoMono_Regular_20_glyph_83, - Font_RobotoMono_Regular_20_glyph_84, - Font_RobotoMono_Regular_20_glyph_85, - Font_RobotoMono_Regular_20_glyph_86, - Font_RobotoMono_Regular_20_glyph_87, - Font_RobotoMono_Regular_20_glyph_88, - Font_RobotoMono_Regular_20_glyph_89, - Font_RobotoMono_Regular_20_glyph_90, - Font_RobotoMono_Regular_20_glyph_91, - Font_RobotoMono_Regular_20_glyph_92, - Font_RobotoMono_Regular_20_glyph_93, - Font_RobotoMono_Regular_20_glyph_94, - Font_RobotoMono_Regular_20_glyph_95, - Font_RobotoMono_Regular_20_glyph_96, - Font_RobotoMono_Regular_20_glyph_97, - Font_RobotoMono_Regular_20_glyph_98, - Font_RobotoMono_Regular_20_glyph_99, - Font_RobotoMono_Regular_20_glyph_100, - Font_RobotoMono_Regular_20_glyph_101, - Font_RobotoMono_Regular_20_glyph_102, - Font_RobotoMono_Regular_20_glyph_103, - Font_RobotoMono_Regular_20_glyph_104, - Font_RobotoMono_Regular_20_glyph_105, - Font_RobotoMono_Regular_20_glyph_106, - Font_RobotoMono_Regular_20_glyph_107, - Font_RobotoMono_Regular_20_glyph_108, - Font_RobotoMono_Regular_20_glyph_109, - Font_RobotoMono_Regular_20_glyph_110, - Font_RobotoMono_Regular_20_glyph_111, - Font_RobotoMono_Regular_20_glyph_112, - Font_RobotoMono_Regular_20_glyph_113, - Font_RobotoMono_Regular_20_glyph_114, - Font_RobotoMono_Regular_20_glyph_115, - Font_RobotoMono_Regular_20_glyph_116, - Font_RobotoMono_Regular_20_glyph_117, - Font_RobotoMono_Regular_20_glyph_118, - Font_RobotoMono_Regular_20_glyph_119, - Font_RobotoMono_Regular_20_glyph_120, - Font_RobotoMono_Regular_20_glyph_121, - Font_RobotoMono_Regular_20_glyph_122, - Font_RobotoMono_Regular_20_glyph_123, - Font_RobotoMono_Regular_20_glyph_124, - Font_RobotoMono_Regular_20_glyph_125, - Font_RobotoMono_Regular_20_glyph_126, -}; diff --git a/extmod/modtrezorui/modtrezorui.c b/extmod/modtrezorui/modtrezorui.c index c1fafc2845..8cf4f78dbf 100644 --- a/extmod/modtrezorui/modtrezorui.c +++ b/extmod/modtrezorui/modtrezorui.c @@ -15,17 +15,6 @@ #if MICROPY_PY_TREZORUI -#define RESX 240 -#define RESY 240 - -#if defined STM32_HAL_H -#include "modtrezorui-stmhal.h" -#elif defined UNIX -#include "modtrezorui-unix.h" -#else -#error Unsupported port. Only STMHAL and UNIX ports are supported. -#endif - #include "modtrezorui-display.h" STATIC const mp_rom_map_elem_t mp_module_TrezorUi_globals_table[] = { diff --git a/vendor/micropython b/vendor/micropython index d7cf470160..fcbbda764a 160000 --- a/vendor/micropython +++ b/vendor/micropython @@ -1 +1 @@ -Subproject commit d7cf4701602f996acc5ff3eb5aafe549d1cfdaaa +Subproject commit fcbbda764a68dc2c7453bfce9dc793c636cf8cf6