From 12dbbd894264dba1fefd350bfef596c74782c0d2 Mon Sep 17 00:00:00 2001 From: Mikkeli Matlock Date: Sun, 15 Feb 2026 18:13:53 +0900 Subject: [PATCH] custom fonts and further UI reworks --- .claude/settings.local.json | 6 +- PLAN.md | 211 --- README.md | 3 + components/dashboard_ui/CMakeLists.txt | 2 +- components/dashboard_ui/dashboard_ui.c | 256 ++- components/dashboard_ui/dashboard_ui.h | 5 +- components/user_app/user_app.cpp | 35 +- components/user_fonts/CMakeLists.txt | 11 + components/user_fonts/DSEG14C_BI_32px.c | 270 +++ components/user_fonts/DSEG14C_BI_40px.c | 329 ++++ components/user_fonts/DSEG14C_BI_50px.c | 417 +++++ .../user_fonts/InziuIosevka_Slab_CC_12px.c | 924 ++++++++++ .../user_fonts/InziuIosevka_Slab_CC_16px.c | 1036 +++++++++++ .../user_fonts/InziuIosevka_Slab_CC_20px.c | 1136 ++++++++++++ .../user_fonts/InziuIosevka_Slab_CC_24px.c | 1289 +++++++++++++ .../user_fonts/InziuIosevka_Slab_CC_32px.c | 1641 +++++++++++++++++ components/user_fonts/user_fonts.h | 26 + 17 files changed, 7286 insertions(+), 311 deletions(-) delete mode 100644 PLAN.md create mode 100644 components/user_fonts/CMakeLists.txt create mode 100644 components/user_fonts/DSEG14C_BI_32px.c create mode 100644 components/user_fonts/DSEG14C_BI_40px.c create mode 100644 components/user_fonts/DSEG14C_BI_50px.c create mode 100644 components/user_fonts/InziuIosevka_Slab_CC_12px.c create mode 100644 components/user_fonts/InziuIosevka_Slab_CC_16px.c create mode 100644 components/user_fonts/InziuIosevka_Slab_CC_20px.c create mode 100644 components/user_fonts/InziuIosevka_Slab_CC_24px.c create mode 100644 components/user_fonts/InziuIosevka_Slab_CC_32px.c create mode 100644 components/user_fonts/user_fonts.h diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 21f737e..c5ab263 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -1,7 +1,11 @@ { "permissions": { "allow": [ - "Bash(echo:*)" + "Bash(echo:*)", + "Bash(idf.py build:*)", + "Bash(for f in DSEG14C_BI_50px.c InziuIosevka_Slab_CC_12px.c InziuIosevka_Slab_CC_16px.c InziuIosevka_Slab_CC_20px.c InziuIosevka_Slab_CC_24px.c InziuIosevka_Slab_CC_32px.c)", + "Bash(do sed -i '/\\\\.static_bitmap = 0,/d' \"$f\")", + "Bash(done)" ] }, "outputStyle": "iseri", diff --git a/PLAN.md b/PLAN.md deleted file mode 100644 index b798753..0000000 --- a/PLAN.md +++ /dev/null @@ -1,211 +0,0 @@ -# Pi Dashboard — ESP32-S3 RLCD 4.2" Project Plan - -## Goal - -WebSocket client on the ESP32-S3 RLCD board that receives system status from a -Raspberry Pi home server over LAN and renders a monitoring dashboard via LVGL. - ---- - -## New project location - -Create a new ESP-IDF project directory **outside** the Examples folder, e.g.: - -``` -J:\dev\arduino\ESP32-S3-RLCD-4.2-main\Projects\pi_dashboard\ -``` - ---- - -## Files to copy from the factory example - -Source root: `Example\ESP-IDF\10_FactoryProgram\` - -### Must copy (build skeleton) - -| File / Dir | Why | -|---|---| -| `CMakeLists.txt` | Project root cmake — edit project name, strip `EXTRA_COMPONENT_DIRS` if not using ExternLib | -| `partitions.csv` | Partition table (8MB app partition, NVS, PHY) | -| `sdkconfig.defaults` | Base config — **strip BT lines**, keep SPIRAM/flash/LVGL settings | -| `main/CMakeLists.txt` | Main component registration | -| `main/idf_component.yml` | Managed component deps — keep `lvgl/lvgl: ^8.4.0`, drop `avi_player` and `esp_new_jpeg`, **add `espressif/esp_websocket_client`** | - -### Must copy (display driver) - -| File | From | Why | -|---|---|---| -| `display_bsp.h` | `components/port_bsp/` | DisplayPort class — RLCD SPI driver with LUT pixel mapping | -| `display_bsp.cpp` | `components/port_bsp/` | Full implementation: SPI init, reset, command sequences, SetPixel, Display | - -These two files are the entire RLCD hardware abstraction. No other display code -exists. Copy them into a `components/display_bsp/` component in the new project. - -### Must copy (LVGL port) - -| File | From | Why | -|---|---|---| -| `lvgl_bsp.h` | `components/app_bsp/` | Lvgl_PortInit, Lvgl_lock/unlock declarations | -| `lvgl_bsp.cpp` | `components/app_bsp/` | LVGL display driver registration, double-buffered PSRAM, tick timer, port task on Core 0 | - -Copy into a `components/lvgl_port/` component. This file is self-contained — its -only dependency is `lvgl.h` and FreeRTOS. - -### Copy as reference (WiFi STA) - -| File | From | Why | -|---|---|---| -| `esp_wifi_bsp.h` | `Example/ESP-IDF/02_WIFI_STA/components/esp_wifi_bsp/` | Cleaner than the factory version — no scan-and-destroy, no BLE entanglement | -| `esp_wifi_bsp.c` | same | Simple STA init + connect + reconnect skeleton | - -The `02_WIFI_STA` example is a better starting point than the factory program's -wifi code. The factory version tears down WiFi for BLE scanning — useless for a -persistent connection. You will need to modify the STA code to: -- Make SSID/password configurable (NVS or Kconfig) -- Add auto-reconnect on disconnect -- Signal connection readiness via event group so the WebSocket task knows when to start - -### Do NOT copy - -| Component | Why not | -|---|---| -| `components/port_bsp/` (everything except display_bsp) | I2C bus, buttons, SD card, ADC, codec — none needed for a dashboard | -| `components/ExternLib/` (SensorLib, codec_board) | Sensor drivers and audio codec — irrelevant | -| `components/app_bsp/ble_scan_bsp.c` | BLE scanning — not needed, and conflicts with persistent WiFi | -| `components/app_bsp/esp_wifi_bsp.c` | Factory version destroys WiFi for BLE — use 02_WIFI_STA instead | -| `components/ui_bsp/` | NXP GUI Guider generated UI — you will design your own dashboard layout | -| `components/user_app/` | Factory test logic — all replaced by your WebSocket + dashboard code | -| `managed_components/` | Auto-downloaded by ESP-IDF component manager from `idf_component.yml` — never copy these | -| `build/` | Build artifacts — never copy | - ---- - -## New project structure - -``` -pi_dashboard/ - CMakeLists.txt # from factory, edited - partitions.csv # from factory, as-is - sdkconfig.defaults # from factory, stripped (no BT) - main/ - CMakeLists.txt # register main.cpp - idf_component.yml # lvgl ^8.4.0, esp_websocket_client - main.cpp # app_main: wifi init, display init, lvgl init, ws connect, task spawn - components/ - display_bsp/ - CMakeLists.txt # new: register display_bsp.cpp, REQUIRES driver esp_lcd - display_bsp.h # from port_bsp, as-is - display_bsp.cpp # from port_bsp, as-is - lvgl_port/ - CMakeLists.txt # new: register lvgl_bsp.cpp, REQUIRES lvgl__lvgl esp_timer - lvgl_bsp.h # from app_bsp, as-is - lvgl_bsp.cpp # from app_bsp, as-is - wifi_sta/ - CMakeLists.txt # new: register wifi_sta.c, REQUIRES esp_wifi esp_event nvs_flash - wifi_sta.h # based on 02_WIFI_STA, extended with reconnect + event group - wifi_sta.c # based on 02_WIFI_STA, extended - ws_client/ - CMakeLists.txt # new: register ws_client.cpp, REQUIRES esp_websocket_client - ws_client.h # WebSocket connect/disconnect, message callback registration - ws_client.cpp # esp_websocket_client wrapper, reconnect logic, JSON parse - dashboard_ui/ - CMakeLists.txt # new: register dashboard_ui.cpp, REQUIRES lvgl__lvgl - dashboard_ui.h # UI layout: create/update functions for dashboard widgets - dashboard_ui.cpp # LVGL widget creation, label/bar/table updates from parsed data -``` - ---- - -## sdkconfig.defaults (modified for this project) - -Strip from the factory version: -- `CONFIG_BT_ENABLED=y` and all BT lines (saves ~300KB flash + significant RAM) -- `CONFIG_BT_BLE_*` lines - -Keep: -- `CONFIG_IDF_TARGET="esp32s3"` -- `CONFIG_ESPTOOLPY_FLASHMODE_QIO=y` -- `CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y` -- `CONFIG_PARTITION_TABLE_CUSTOM=y` -- `CONFIG_SPIRAM=y` / `CONFIG_SPIRAM_MODE_OCT=y` / `CONFIG_SPIRAM_SPEED_80M=y` -- `CONFIG_FREERTOS_HZ=1000` -- `CONFIG_LV_MEM_SIZE_KILOBYTES=64` -- `CONFIG_LV_DISP_DEF_REFR_PERIOD=1` - -Add: -- `CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y` - ---- - -## Runtime architecture - -``` -Core 0 Core 1 ------- ------ -WiFi driver (system) main task (app_main, exits after init) -LVGL port task (priority 5) WebSocket event task (priority 3) - - lv_timer_handler loop - receives WS messages - - holds/releases lvgl_mux - parses JSON - - acquires lvgl_mux - - updates dashboard widgets - - releases lvgl_mux -``` - -### Boot sequence (app_main) - -1. `wifi_sta_init()` — start WiFi STA, wait for IP -2. `RlcdPort.RLCD_Init()` — init display over SPI -3. `Lvgl_PortInit(400, 300, flush_cb)` — init LVGL with double-buffered PSRAM -4. Create initial dashboard UI (under LVGL lock) -5. `ws_client_start("ws://:")` — connect WebSocket, register message handler -6. app_main returns, FreeRTOS tasks take over - -### Data flow - -``` -Pi server --[WebSocket JSON]--> ESP32 ws_client - --> parse message - --> Lvgl_lock() - --> update lv_label / lv_bar / lv_table widgets - --> Lvgl_unlock() - --> LVGL port task flushes on next cycle - --> flush_cb converts 16-bit to 1-bit, pushes to RLCD -``` - ---- - -## Pi side (not part of this ESP-IDF project, but for context) - -A simple Python WebSocket server that: -- Collects system stats (psutil or /proc reads) -- Serializes to JSON -- Pushes to connected clients every N seconds - -Example payload: -```json -{ - "cpu_pct": 23, - "mem_pct": 61, - "mem_used_mb": 1952, - "disk_pct": 44, - "cpu_temp": 52, - "uptime_hrs": 342, - "services": [ - {"name": "docker", "status": "running"}, - {"name": "pihole", "status": "running"}, - {"name": "nginx", "status": "stopped"} - ], - "net_rx_kbps": 1240, - "net_tx_kbps": 320 -} -``` - ---- - -## Key decisions still open - -1. **WiFi credentials** — hardcode for now, or Kconfig menuconfig, or NVS provisioning? -2. **Dashboard layout** — what stats matter most? Single screen or multiple pages? -3. **Update frequency** — how often should the Pi push? 2s? 5s? On-change? -4. **Pi server location** — fixed IP or mDNS discovery? -5. **Error states** — what to show when WiFi drops or Pi goes offline? diff --git a/README.md b/README.md index 4fa9cf3..8ab60ec 100644 --- a/README.md +++ b/README.md @@ -14,10 +14,13 @@ Raspberry Pi system monitor running on a Waveshare ESP32-S3 RLCD 4.2" board. Con Pi (server) ESP32-S3 (client) stats_server.py --WS/JSON--> ws_client --> dashboard_ui (LVGL) + local sensors (SHTC3) + + RTC clock (PCF85063) ``` The Pi runs a WebSocket server that pushes system stats (CPU, memory, disk, temperature, network, services) as JSON every 2 seconds. The ESP32 parses the JSON and updates LVGL widgets. A data staleness watchdog forces reconnection if the server goes silent. +The display uses a two-column layout: left half shows Pi stats (CPU/RAM/DISK bars, CPU temp) and a services table; right half shows a large HH:MM:SS clock (montserrat_36), date with day-of-week, and local sensor readings (room temp, humidity). The services table auto-scrolls when more than 4 services are present. The clock updates every second from the on-board RTC, which syncs from the Pi's time when drift exceeds 60 seconds. + ## Configuration Edit `components/esp_wifi_bsp/wifi_config.h`: diff --git a/components/dashboard_ui/CMakeLists.txt b/components/dashboard_ui/CMakeLists.txt index cff71a5..a31ba83 100644 --- a/components/dashboard_ui/CMakeLists.txt +++ b/components/dashboard_ui/CMakeLists.txt @@ -1,4 +1,4 @@ idf_component_register( SRCS "dashboard_ui.c" - REQUIRES lvgl__lvgl ws_client + REQUIRES lvgl__lvgl ws_client user_fonts INCLUDE_DIRS "./") diff --git a/components/dashboard_ui/dashboard_ui.c b/components/dashboard_ui/dashboard_ui.c index c094876..c5a7e8a 100644 --- a/components/dashboard_ui/dashboard_ui.c +++ b/components/dashboard_ui/dashboard_ui.c @@ -1,23 +1,31 @@ #include "dashboard_ui.h" +#include "user_fonts.h" #include #include /* ---------- Layout constants ---------- */ -#define SCREEN_W 400 -#define SCREEN_H 300 -#define TOP_BAR_H 24 -#define STATS_H 80 -#define MID_H 140 -#define BOT_H 32 +#define SCREEN_W 400 +#define SCREEN_H 300 +#define TOP_BAR_H 24 +#define TIME_BAR_H 50 +#define BOT_H 24 +#define MAIN_Y (TOP_BAR_H + TIME_BAR_H) /* 74 */ +#define MAIN_H (SCREEN_H - MAIN_Y - BOT_H) /* 202 */ +#define LEFT_COL_W 200 +#define RIGHT_COL_X 200 /* ---------- Static widget handles ---------- */ /* Top bar */ static lv_obj_t *lbl_ip; static lv_obj_t *lbl_batt; -static lv_obj_t *lbl_time; +static lv_obj_t *bar_batt_top; static lv_obj_t *lbl_ws; +/* Time bar */ +static lv_obj_t *lbl_clock; +static lv_obj_t *lbl_date; + /* Pi stats bars + labels */ static lv_obj_t *bar_cpu; static lv_obj_t *lbl_cpu_val; @@ -29,19 +37,24 @@ static lv_obj_t *lbl_cpu_temp; /* Services table */ static lv_obj_t *tbl_services; +static int s_service_count; /* Local sensors */ static lv_obj_t *lbl_room_temp; static lv_obj_t *lbl_room_humi; -static lv_obj_t *lbl_local_batt; static lv_obj_t *lbl_uptime; /* Network */ static lv_obj_t *lbl_net; -/* ---------- Style ---------- */ +/* Auto-scroll timer */ +static lv_timer_t *s_scroll_timer; + +/* ---------- Styles ---------- */ static lv_style_t style_bar_bg; static lv_style_t style_bar_ind; +static lv_style_t style_bar_batt_bg; +static lv_style_t style_bar_batt_ind; static void init_styles(void) { @@ -58,6 +71,19 @@ static void init_styles(void) lv_style_set_bg_color(&style_bar_ind, lv_color_black()); lv_style_set_bg_opa(&style_bar_ind, LV_OPA_COVER); lv_style_set_radius(&style_bar_ind, 0); + + /* Battery bar on black top bar: inverted colors */ + lv_style_init(&style_bar_batt_bg); + lv_style_set_bg_color(&style_bar_batt_bg, lv_color_black()); + lv_style_set_bg_opa(&style_bar_batt_bg, LV_OPA_COVER); + lv_style_set_border_color(&style_bar_batt_bg, lv_color_white()); + lv_style_set_border_width(&style_bar_batt_bg, 1); + lv_style_set_radius(&style_bar_batt_bg, 0); + + lv_style_init(&style_bar_batt_ind); + lv_style_set_bg_color(&style_bar_batt_ind, lv_color_white()); + lv_style_set_bg_opa(&style_bar_batt_ind, LV_OPA_COVER); + lv_style_set_radius(&style_bar_batt_ind, 0); } static lv_obj_t *create_bar(lv_obj_t *parent, int x, int y, int w, int h) @@ -82,7 +108,29 @@ static lv_obj_t *create_label(lv_obj_t *parent, int x, int y, const lv_font_t *f return lbl; } -/* ---------- Create UI ---------- */ +/* ---------- Auto-scroll callback ---------- */ + +static void scroll_timer_cb(lv_timer_t *timer) +{ + (void)timer; + if (s_service_count <= 4) { + lv_obj_scroll_to_y(tbl_services, 0, LV_ANIM_OFF); + return; + } + + lv_coord_t cur_y = lv_obj_get_scroll_y(tbl_services); + /* Each row is ~16px (12px font + 2px pad top + 2px pad bot) */ + lv_coord_t row_h = 16; + lv_coord_t max_scroll = (s_service_count - 4) * row_h; + + if (cur_y >= max_scroll) { + lv_obj_scroll_to_y(tbl_services, 0, LV_ANIM_ON); + } else { + lv_obj_scroll_to_y(tbl_services, cur_y + row_h, LV_ANIM_ON); + } +} + +/* ---------- Create UI sections ---------- */ static void create_top_bar(lv_obj_t *parent) { @@ -96,97 +144,134 @@ static void create_top_bar(lv_obj_t *parent) lv_obj_set_style_pad_all(bar_cont, 2, 0); lv_obj_clear_flag(bar_cont, LV_OBJ_FLAG_SCROLLABLE); + /* IP address — left */ lbl_ip = lv_label_create(bar_cont); lv_obj_set_style_text_color(lbl_ip, lv_color_white(), 0); - lv_obj_set_style_text_font(lbl_ip, &lv_font_montserrat_12, 0); + lv_obj_set_style_text_font(lbl_ip, &InziuIosevka_Slab_CC_12px, 0); lv_obj_align(lbl_ip, LV_ALIGN_LEFT_MID, 2, 0); lv_label_set_text(lbl_ip, "N/A"); - lbl_batt = lv_label_create(bar_cont); - lv_obj_set_style_text_color(lbl_batt, lv_color_white(), 0); - lv_obj_set_style_text_font(lbl_batt, &lv_font_montserrat_12, 0); - lv_obj_align(lbl_batt, LV_ALIGN_LEFT_MID, 120, 0); - lv_label_set_text(lbl_batt, "Batt:--%"); - - lbl_time = lv_label_create(bar_cont); - lv_obj_set_style_text_color(lbl_time, lv_color_white(), 0); - lv_obj_set_style_text_font(lbl_time, &lv_font_montserrat_12, 0); - lv_obj_align(lbl_time, LV_ALIGN_LEFT_MID, 220, 0); - lv_label_set_text(lbl_time, "--:--"); - + /* WS status — center-left */ lbl_ws = lv_label_create(bar_cont); lv_obj_set_style_text_color(lbl_ws, lv_color_white(), 0); - lv_obj_set_style_text_font(lbl_ws, &lv_font_montserrat_12, 0); - lv_obj_align(lbl_ws, LV_ALIGN_RIGHT_MID, -2, 0); + lv_obj_set_style_text_font(lbl_ws, &InziuIosevka_Slab_CC_12px, 0); + lv_obj_align(lbl_ws, LV_ALIGN_LEFT_MID, 140, 0); lv_label_set_text(lbl_ws, "WS:---"); + + /* Battery bar (24x10) — right */ + bar_batt_top = lv_bar_create(bar_cont); + lv_obj_set_size(bar_batt_top, 24, 10); + lv_obj_align(bar_batt_top, LV_ALIGN_RIGHT_MID, -40, 0); + lv_bar_set_range(bar_batt_top, 0, 100); + lv_bar_set_value(bar_batt_top, 0, LV_ANIM_OFF); + lv_obj_add_style(bar_batt_top, &style_bar_batt_bg, LV_PART_MAIN); + lv_obj_add_style(bar_batt_top, &style_bar_batt_ind, LV_PART_INDICATOR); + + /* Battery text — right of bar */ + lbl_batt = lv_label_create(bar_cont); + lv_obj_set_style_text_color(lbl_batt, lv_color_white(), 0); + lv_obj_set_style_text_font(lbl_batt, &InziuIosevka_Slab_CC_12px, 0); + lv_obj_align(lbl_batt, LV_ALIGN_RIGHT_MID, -2, 0); + lv_label_set_text(lbl_batt, "--%"); } -static void create_stats_section(lv_obj_t *parent) +static void create_time_bar(lv_obj_t *parent) { - int y0 = TOP_BAR_H + 2; - int col_w = 80; - int bar_w = 50; - int bar_h = 40; + lv_obj_t *bar_cont = lv_obj_create(parent); + lv_obj_set_pos(bar_cont, 0, TOP_BAR_H); + lv_obj_set_size(bar_cont, SCREEN_W, TIME_BAR_H); + lv_obj_set_style_bg_color(bar_cont, lv_color_white(), 0); + lv_obj_set_style_bg_opa(bar_cont, LV_OPA_COVER, 0); + lv_obj_set_style_border_color(bar_cont, lv_color_black(), 0); + lv_obj_set_style_border_width(bar_cont, 1, 0); + lv_obj_set_style_border_side(bar_cont, LV_BORDER_SIDE_BOTTOM, 0); + lv_obj_set_style_radius(bar_cont, 0, 0); + lv_obj_set_style_pad_all(bar_cont, 0, 0); + lv_obj_clear_flag(bar_cont, LV_OBJ_FLAG_SCROLLABLE); - /* Section header */ - create_label(parent, 4, y0, &lv_font_montserrat_12, "PI SERVER STATS"); + /* Clock HH:MM:SS — left */ + lbl_clock = lv_label_create(bar_cont); + lv_obj_set_style_text_font(lbl_clock, &DSEG14C_BI_32px, 0); + lv_obj_set_style_text_color(lbl_clock, lv_color_black(), 0); + lv_obj_align(lbl_clock, LV_ALIGN_LEFT_MID, 10, 0); + lv_label_set_text(lbl_clock, "--:--:--"); - y0 += 14; - - /* CPU */ - create_label(parent, 10, y0, &lv_font_montserrat_12, "CPU"); - bar_cpu = create_bar(parent, 10, y0 + 14, bar_w, bar_h); - lbl_cpu_val = create_label(parent, 10, y0 + 56, &lv_font_montserrat_14, "--%"); - - /* RAM */ - create_label(parent, 10 + col_w, y0, &lv_font_montserrat_12, "RAM"); - bar_ram = create_bar(parent, 10 + col_w, y0 + 14, bar_w, bar_h); - lbl_ram_val = create_label(parent, 10 + col_w, y0 + 56, &lv_font_montserrat_14, "--%"); - - /* DISK */ - create_label(parent, 10 + col_w * 2, y0, &lv_font_montserrat_12, "DISK"); - bar_disk = create_bar(parent, 10 + col_w * 2, y0 + 14, bar_w, bar_h); - lbl_disk_val = create_label(parent, 10 + col_w * 2, y0 + 56, &lv_font_montserrat_14, "--%"); - - /* CPU TEMP - no bar, just big value */ - create_label(parent, 10 + col_w * 3, y0, &lv_font_montserrat_12, "TEMP"); - lbl_cpu_temp = create_label(parent, 10 + col_w * 3, y0 + 24, &lv_font_montserrat_20, "--C"); + /* Date YYYY/MM/DD DAY — right */ + lbl_date = lv_label_create(bar_cont); + lv_obj_set_style_text_font(lbl_date, &InziuIosevka_Slab_CC_20px, 0); + lv_obj_set_style_text_color(lbl_date, lv_color_black(), 0); + lv_obj_align(lbl_date, LV_ALIGN_RIGHT_MID, -10, 0); + lv_label_set_text(lbl_date, "----/--/-- ---"); } -static void create_mid_section(lv_obj_t *parent) +static void create_main_section(lv_obj_t *parent) { - int y0 = TOP_BAR_H + STATS_H + 4; - - /* --- Left column: Services --- */ - create_label(parent, 4, y0, &lv_font_montserrat_12, "SERVICES"); + /* === Left column: Services === */ + create_label(parent, 4, MAIN_Y + 2, &InziuIosevka_Slab_CC_12px, "SERVICES"); tbl_services = lv_table_create(parent); - lv_obj_set_pos(tbl_services, 4, y0 + 14); - lv_obj_set_size(tbl_services, 195, 110); + lv_obj_set_pos(tbl_services, 4, MAIN_Y + 16); + lv_obj_set_size(tbl_services, 190, 180); lv_table_set_col_cnt(tbl_services, 2); lv_table_set_col_width(tbl_services, 0, 110); - lv_table_set_col_width(tbl_services, 1, 70); - lv_obj_set_style_text_font(tbl_services, &lv_font_montserrat_12, 0); + lv_table_set_col_width(tbl_services, 1, 65); + lv_obj_set_style_text_font(tbl_services, &InziuIosevka_Slab_CC_12px, 0); lv_obj_set_style_border_color(tbl_services, lv_color_black(), 0); lv_obj_set_style_border_width(tbl_services, 1, 0); lv_obj_set_style_pad_ver(tbl_services, 2, LV_PART_ITEMS); lv_obj_set_style_pad_hor(tbl_services, 4, LV_PART_ITEMS); - lv_obj_clear_flag(tbl_services, LV_OBJ_FLAG_SCROLLABLE); + lv_obj_add_flag(tbl_services, LV_OBJ_FLAG_SCROLLABLE); - /* Pre-fill with empty rows */ for (int i = 0; i < WS_MAX_SERVICES; i++) { lv_table_set_cell_value(tbl_services, i, 0, "---"); lv_table_set_cell_value(tbl_services, i, 1, "---"); } - /* --- Right column: Local sensors --- */ - int rx = 205; - create_label(parent, rx, y0, &lv_font_montserrat_12, "LOCAL SENSORS"); + /* Auto-scroll timer: 3 second period */ + s_scroll_timer = lv_timer_create(scroll_timer_cb, 3000, NULL); - lbl_room_temp = create_label(parent, rx, y0 + 18, &lv_font_montserrat_14, "Room: --.-C"); - lbl_room_humi = create_label(parent, rx, y0 + 38, &lv_font_montserrat_14, "Humi: --%"); - lbl_local_batt = create_label(parent, rx, y0 + 58, &lv_font_montserrat_14, "Batt: --%"); - lbl_uptime = create_label(parent, rx, y0 + 78, &lv_font_montserrat_14, "Uptime: --h"); + /* === Right column: Pi Vitals + Local Sensors === */ + int rx = RIGHT_COL_X; + int row_h = 18; /* vertical spacing per stat row */ + int lbl_w = 36; /* width reserved for "CPU " etc */ + int bar_w = 82; + int bar_h = 12; + int val_x = rx + 4 + lbl_w + bar_w + 4; /* value label after bar */ + int temp_x = rx + 156; /* TEMP column, right of value labels */ + + /* Pi Vitals header */ + create_label(parent, rx + 4, MAIN_Y + 2, &InziuIosevka_Slab_CC_12px, "PI VITALS"); + + int ry = MAIN_Y + 18; + + /* CPU [========] 12% TEMP */ + create_label(parent, rx + 4, ry, &InziuIosevka_Slab_CC_12px, "CPU"); + bar_cpu = create_bar(parent, rx + 4 + lbl_w, ry, bar_w, bar_h); + lbl_cpu_val = create_label(parent, val_x, ry, &InziuIosevka_Slab_CC_12px, "--%"); + create_label(parent, temp_x, ry, &InziuIosevka_Slab_CC_12px, "TEMP"); + + /* RAM [========] 58% 45 C */ + ry += row_h; + create_label(parent, rx + 4, ry, &InziuIosevka_Slab_CC_12px, "RAM"); + bar_ram = create_bar(parent, rx + 4 + lbl_w, ry, bar_w, bar_h); + lbl_ram_val = create_label(parent, val_x, ry, &InziuIosevka_Slab_CC_12px, "--%"); + lbl_cpu_temp = create_label(parent, temp_x, ry, &InziuIosevka_Slab_CC_20px, "-- C"); + + /* DISK [========] 44% */ + ry += row_h; + create_label(parent, rx + 4, ry, &InziuIosevka_Slab_CC_12px, "DISK"); + bar_disk = create_bar(parent, rx + 4 + lbl_w, ry, bar_w, bar_h); + lbl_disk_val = create_label(parent, val_x, ry, &InziuIosevka_Slab_CC_12px, "--%"); + + /* uptime */ + ry += row_h; + lbl_uptime = create_label(parent, rx + 4, ry, &InziuIosevka_Slab_CC_12px, "Uptime: --h"); + + /* === Local Sensors (below pi vitals) === */ + int sy = ry + row_h + 4; + create_label(parent, rx + 4, sy, &InziuIosevka_Slab_CC_12px, "LOCAL SENSORS"); + lbl_room_temp = create_label(parent, rx + 4, sy + 16, &InziuIosevka_Slab_CC_16px, "Room: --.-C"); + lbl_room_humi = create_label(parent, rx + 4, sy + 42, &InziuIosevka_Slab_CC_16px, "Humi: --%"); } static void create_bottom_bar(lv_obj_t *parent) @@ -206,7 +291,7 @@ static void create_bottom_bar(lv_obj_t *parent) lv_obj_clear_flag(bot_cont, LV_OBJ_FLAG_SCROLLABLE); lbl_net = lv_label_create(bot_cont); - lv_obj_set_style_text_font(lbl_net, &lv_font_montserrat_12, 0); + lv_obj_set_style_text_font(lbl_net, &InziuIosevka_Slab_CC_12px, 0); lv_obj_set_style_text_color(lbl_net, lv_color_black(), 0); lv_obj_align(lbl_net, LV_ALIGN_LEFT_MID, 0, 0); lv_label_set_text(lbl_net, "NETWORK RX: ---- kbps TX: ---- kbps"); @@ -222,8 +307,8 @@ void dashboard_ui_create(void) lv_obj_clear_flag(scr, LV_OBJ_FLAG_SCROLLABLE); create_top_bar(scr); - create_stats_section(scr); - create_mid_section(scr); + create_time_bar(scr); + create_main_section(scr); create_bottom_bar(scr); } @@ -249,10 +334,11 @@ void dashboard_ui_update_stats(const pi_stats_t *stats) lv_label_set_text(lbl_disk_val, buf); /* CPU temp */ - snprintf(buf, sizeof(buf), "%.0fC", stats->cpu_temp); + snprintf(buf, sizeof(buf), "%.0f C", stats->cpu_temp); lv_label_set_text(lbl_cpu_temp, buf); /* Services table */ + s_service_count = stats->service_count; for (int i = 0; i < stats->service_count && i < WS_MAX_SERVICES; i++) { lv_table_set_cell_value(tbl_services, i, 0, stats->services[i].name); lv_table_set_cell_value(tbl_services, i, 1, @@ -285,19 +371,23 @@ void dashboard_ui_update_local(float temp, float humidity, uint8_t battery) snprintf(buf, sizeof(buf), "Humi: %.0f%%", humidity); lv_label_set_text(lbl_room_humi, buf); - snprintf(buf, sizeof(buf), "Batt: %d%%", battery); - lv_label_set_text(lbl_local_batt, buf); - - /* Also update top bar battery */ - snprintf(buf, sizeof(buf), "Batt:%d%%", battery); + /* Update top bar battery text + bar */ + snprintf(buf, sizeof(buf), "%d%%", battery); lv_label_set_text(lbl_batt, buf); + lv_bar_set_value(bar_batt_top, battery, LV_ANIM_OFF); } -void dashboard_ui_update_time(int h, int m, int s) +void dashboard_ui_update_time(int h, int m, int s, int year, int month, int day, int weekday) { - char buf[16]; - snprintf(buf, sizeof(buf), "%02d:%02d", h, m); - lv_label_set_text(lbl_time, buf); + static const char *day_names[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; + + char buf[32]; + snprintf(buf, sizeof(buf), "%02d:%02d:%02d", h, m, s); + lv_label_set_text(lbl_clock, buf); + + const char *wd = (weekday >= 0 && weekday <= 6) ? day_names[weekday] : "---"; + snprintf(buf, sizeof(buf), "%04d/%02d/%02d %s", year, month, day, wd); + lv_label_set_text(lbl_date, buf); } void dashboard_ui_update_connection(ws_state_t ws_state, bool wifi_connected, const char *ip_str) diff --git a/components/dashboard_ui/dashboard_ui.h b/components/dashboard_ui/dashboard_ui.h index 3771cda..bcadc54 100644 --- a/components/dashboard_ui/dashboard_ui.h +++ b/components/dashboard_ui/dashboard_ui.h @@ -24,9 +24,10 @@ void dashboard_ui_update_stats(const pi_stats_t *stats); void dashboard_ui_update_local(float temp, float humidity, uint8_t battery); /** - * Update time display. LVGL lock must be held by caller. + * Update clock and date display. LVGL lock must be held by caller. + * weekday: 0=Sun, 1=Mon, ..., 6=Sat */ -void dashboard_ui_update_time(int h, int m, int s); +void dashboard_ui_update_time(int h, int m, int s, int year, int month, int day, int weekday); /** * Update connection status indicators. LVGL lock must be held by caller. diff --git a/components/user_app/user_app.cpp b/components/user_app/user_app.cpp index 3e6f3b7..3110596 100644 --- a/components/user_app/user_app.cpp +++ b/components/user_app/user_app.cpp @@ -174,28 +174,37 @@ static void sensor_task(void *arg) { float temp = 0, humidity = 0; rtcTimeStruct_t rtc_time = {}; + int sensor_divider = 0; for (;;) { - /* Read SHTC3 */ - s_shtc3->Shtc3_Wakeup(); - vTaskDelay(pdMS_TO_TICKS(20)); - s_shtc3->Shtc3_ReadTempHumi(&temp, &humidity); - s_shtc3->Shtc3_Sleep(); - - /* Read RTC */ + /* Read RTC every second */ Rtc_GetTime(&rtc_time); - /* Read battery */ - uint8_t batt = Adc_GetBatteryLevel(); + /* Read SHTC3 + battery every 5 seconds */ + if (sensor_divider == 0) { + s_shtc3->Shtc3_Wakeup(); + vTaskDelay(pdMS_TO_TICKS(20)); + s_shtc3->Shtc3_ReadTempHumi(&temp, &humidity); + s_shtc3->Shtc3_Sleep(); - /* Update UI under LVGL lock */ + uint8_t batt = Adc_GetBatteryLevel(); + + if (Lvgl_lock(100)) { + dashboard_ui_update_local(temp, humidity, batt); + Lvgl_unlock(); + } + } + sensor_divider = (sensor_divider + 1) % 5; + + /* Update clock every second */ if (Lvgl_lock(100)) { - dashboard_ui_update_local(temp, humidity, batt); - dashboard_ui_update_time(rtc_time.hour, rtc_time.minute, rtc_time.second); + dashboard_ui_update_time(rtc_time.hour, rtc_time.minute, rtc_time.second, + rtc_time.year, rtc_time.month, rtc_time.day, + rtc_time.week); Lvgl_unlock(); } - vTaskDelay(pdMS_TO_TICKS(5000)); + vTaskDelay(pdMS_TO_TICKS(1000)); } } diff --git a/components/user_fonts/CMakeLists.txt b/components/user_fonts/CMakeLists.txt new file mode 100644 index 0000000..b1842b9 --- /dev/null +++ b/components/user_fonts/CMakeLists.txt @@ -0,0 +1,11 @@ +idf_component_register( + SRCS "DSEG14C_BI_32px.c" + "DSEG14C_BI_40px.c" + "DSEG14C_BI_50px.c" + "InziuIosevka_Slab_CC_12px.c" + "InziuIosevka_Slab_CC_16px.c" + "InziuIosevka_Slab_CC_20px.c" + "InziuIosevka_Slab_CC_24px.c" + "InziuIosevka_Slab_CC_32px.c" + REQUIRES lvgl__lvgl + INCLUDE_DIRS "./") diff --git a/components/user_fonts/DSEG14C_BI_32px.c b/components/user_fonts/DSEG14C_BI_32px.c new file mode 100644 index 0000000..d7a5812 --- /dev/null +++ b/components/user_fonts/DSEG14C_BI_32px.c @@ -0,0 +1,270 @@ +/******************************************************************************* + * Size: 32 px + * Bpp: 1 + * Opts: --bpp 1 --size 32 --no-compress --stride 1 --align 1 --font DSEG14Classic-BoldItalic.ttf --symbols 0123456789:;,. --format lvgl -o DSEG14C_BI_32px.c + ******************************************************************************/ + +#ifdef __has_include + #if __has_include("lvgl.h") + #ifndef LV_LVGL_H_INCLUDE_SIMPLE + #define LV_LVGL_H_INCLUDE_SIMPLE + #endif + #endif +#endif + +#ifdef LV_LVGL_H_INCLUDE_SIMPLE + #include "lvgl.h" +#else + #include "lvgl/lvgl.h" +#endif + + + +#ifndef DSEG14C_BI_32PX +#define DSEG14C_BI_32PX 1 +#endif + +#if DSEG14C_BI_32PX + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { + /* U+002C "," */ + 0x2f, 0xff, 0xf6, 0x80, + + /* U+002E "." */ + 0xee, 0xfe, + + /* U+0030 "0" */ + 0xf, 0xff, 0xf0, 0x3f, 0xff, 0xc3, 0x7f, 0xfe, + 0xce, 0xff, 0xf7, 0x3c, 0x0, 0x3c, 0xf0, 0x2, + 0xf3, 0xc0, 0x1b, 0xcf, 0x0, 0xef, 0x3c, 0x3, + 0xbc, 0xf0, 0xe, 0xf3, 0xc0, 0x3f, 0x8f, 0x0, + 0xde, 0x78, 0x3, 0x79, 0xe0, 0x1, 0xe7, 0x0, + 0x3, 0x98, 0x0, 0x6, 0x60, 0x0, 0x19, 0xc0, + 0x0, 0xe7, 0x80, 0x7, 0x9e, 0xc0, 0x1e, 0x7b, + 0x0, 0x79, 0xfc, 0x3, 0xc7, 0xf0, 0xf, 0x3f, + 0xc0, 0x3c, 0xf7, 0x0, 0xf3, 0xd8, 0x3, 0xcf, + 0x40, 0xf, 0x3c, 0x0, 0x3c, 0xef, 0xff, 0x73, + 0x7f, 0xfe, 0xc3, 0xff, 0xfc, 0xf, 0xff, 0xf0, + + /* U+0031 "1" */ + 0x0, 0x31, 0xcf, 0x3c, 0xf3, 0xcf, 0x3d, 0xe7, + 0x9e, 0x78, 0xe1, 0x8e, 0x79, 0xe7, 0x9e, 0xf3, + 0xcf, 0x3c, 0xf3, 0xcf, 0x1c, 0x20, + + /* U+0032 "2" */ + 0xf, 0xff, 0xf0, 0x3f, 0xff, 0xc0, 0x7f, 0xfe, + 0xc0, 0xff, 0xf7, 0x0, 0x0, 0x3c, 0x0, 0x0, + 0xf0, 0x0, 0x3, 0xc0, 0x0, 0xf, 0x0, 0x0, + 0x3c, 0x0, 0x0, 0xf0, 0x0, 0x7, 0x80, 0x0, + 0x1e, 0x0, 0x0, 0x78, 0x0, 0x1, 0xe0, 0x7c, + 0xfb, 0x83, 0xf3, 0xf6, 0x6f, 0xcf, 0xc1, 0xdf, + 0x3e, 0x7, 0x80, 0x0, 0x1e, 0x0, 0x0, 0x78, + 0x0, 0x1, 0xe0, 0x0, 0x7, 0x80, 0x0, 0x3e, + 0x0, 0x0, 0xf0, 0x0, 0x3, 0xc0, 0x0, 0xf, + 0x0, 0x0, 0x3c, 0x0, 0x0, 0xef, 0xff, 0x3, + 0x7f, 0xfe, 0x3, 0xff, 0xfc, 0xf, 0xff, 0xf0, + + /* U+0033 "3" */ + 0x1f, 0xff, 0xe0, 0xff, 0xff, 0x3, 0xff, 0xf6, + 0xf, 0xff, 0x70, 0x0, 0x7, 0x80, 0x0, 0x3c, + 0x0, 0x1, 0xe0, 0x0, 0xf, 0x0, 0x0, 0x78, + 0x0, 0x3, 0xc0, 0x0, 0x3c, 0x0, 0x1, 0xe0, + 0x0, 0xf, 0x0, 0x0, 0x78, 0x3e, 0x7d, 0xc3, + 0xf3, 0xf6, 0x1f, 0x9f, 0xb0, 0x7c, 0xfb, 0x80, + 0x0, 0x3c, 0x0, 0x1, 0xe0, 0x0, 0xf, 0x0, + 0x0, 0xf0, 0x0, 0x7, 0x80, 0x0, 0x3c, 0x0, + 0x1, 0xe0, 0x0, 0xf, 0x0, 0x0, 0x78, 0x0, + 0x3, 0xc1, 0xff, 0xee, 0x1f, 0xff, 0xb1, 0xff, + 0xfe, 0xf, 0xff, 0xf0, + + /* U+0034 "4" */ + 0x20, 0x0, 0x3, 0x0, 0x0, 0xdc, 0x0, 0xe, + 0xf0, 0x0, 0xf7, 0x80, 0x7, 0xbc, 0x0, 0x3d, + 0xe0, 0x1, 0xef, 0x0, 0xf, 0x78, 0x0, 0x7b, + 0xc0, 0x7, 0x9e, 0x0, 0x3d, 0xe0, 0x1, 0xef, + 0x0, 0xf, 0x77, 0xcf, 0xbb, 0x7e, 0x7e, 0xc3, + 0xf3, 0xf6, 0xf, 0x9f, 0x70, 0x0, 0x7, 0x80, + 0x0, 0x3c, 0x0, 0x1, 0xe0, 0x0, 0x1e, 0x0, + 0x0, 0xf0, 0x0, 0x7, 0x80, 0x0, 0x3c, 0x0, + 0x1, 0xe0, 0x0, 0xf, 0x0, 0x0, 0x78, 0x0, + 0x1, 0xc0, 0x0, 0x6, 0x0, 0x0, 0x0, + + /* U+0035 "5" */ + 0x1f, 0xff, 0xe1, 0xff, 0xfe, 0x6f, 0xff, 0xc7, + 0x7f, 0xf8, 0x78, 0x0, 0x7, 0x80, 0x0, 0x78, + 0x0, 0x7, 0x80, 0x0, 0x78, 0x0, 0x7, 0x80, + 0x0, 0x78, 0x0, 0x7, 0x80, 0x0, 0xf0, 0x0, + 0xf, 0x0, 0x0, 0xef, 0x9f, 0xd, 0xf9, 0xf8, + 0x1f, 0x9f, 0xb0, 0xf9, 0xf7, 0x0, 0x0, 0xf0, + 0x0, 0xf, 0x0, 0x0, 0xf0, 0x0, 0x1e, 0x0, + 0x1, 0xe0, 0x0, 0x1e, 0x0, 0x1, 0xe0, 0x0, + 0x1e, 0x0, 0x1, 0xe0, 0x0, 0x1e, 0x1f, 0xfe, + 0xe3, 0xff, 0xf6, 0x7f, 0xff, 0x87, 0xff, 0xf8, + + /* U+0036 "6" */ + 0xf, 0xff, 0xf0, 0x7f, 0xff, 0x8d, 0xff, 0xf8, + 0x77, 0xff, 0x83, 0xc0, 0x0, 0x1e, 0x0, 0x0, + 0xf0, 0x0, 0x7, 0x80, 0x0, 0x3c, 0x0, 0x1, + 0xe0, 0x0, 0xf, 0x0, 0x0, 0x78, 0x0, 0x7, + 0x80, 0x0, 0x3c, 0x0, 0x1, 0xdf, 0x3e, 0xd, + 0xf9, 0xf8, 0x6f, 0xcf, 0xdb, 0xbe, 0x7d, 0xde, + 0x0, 0x1e, 0xf0, 0x0, 0xf7, 0x80, 0x7, 0xbc, + 0x0, 0x79, 0xe0, 0x3, 0xdf, 0x0, 0x1e, 0xf0, + 0x0, 0xf7, 0x80, 0x7, 0xbc, 0x0, 0x3d, 0xe0, + 0x1, 0xee, 0xff, 0xf7, 0x6f, 0xff, 0xd8, 0xff, + 0xff, 0x7, 0xff, 0xf8, + + /* U+0037 "7" */ + 0x1f, 0xff, 0xe0, 0xff, 0xff, 0x1b, 0xff, 0xf6, + 0xef, 0xff, 0x77, 0x80, 0x7, 0xbc, 0x0, 0x3d, + 0xe0, 0x1, 0xef, 0x0, 0xf, 0x78, 0x0, 0x7b, + 0xc0, 0x3, 0xde, 0x0, 0x3c, 0xf0, 0x1, 0xef, + 0x0, 0xf, 0x78, 0x0, 0x7b, 0x80, 0x1, 0xd8, + 0x0, 0x6, 0x0, 0x0, 0x30, 0x0, 0x3, 0x80, + 0x0, 0x3c, 0x0, 0x1, 0xe0, 0x0, 0xf, 0x0, + 0x0, 0x70, 0x0, 0x7, 0x80, 0x0, 0x3c, 0x0, + 0x1, 0xe0, 0x0, 0xf, 0x0, 0x0, 0x78, 0x0, + 0x3, 0xc0, 0x0, 0xe, 0x0, 0x0, 0x30, 0x0, + 0x0, 0x0, + + /* U+0038 "8" */ + 0xf, 0xff, 0xf0, 0x3f, 0xff, 0xc3, 0x7f, 0xfe, + 0xce, 0xff, 0xf7, 0x3c, 0x0, 0x3c, 0xf0, 0x0, + 0xf3, 0xc0, 0x3, 0xcf, 0x0, 0xf, 0x3c, 0x0, + 0x3c, 0xf0, 0x0, 0xf3, 0xc0, 0x7, 0x8f, 0x0, + 0x1e, 0x78, 0x0, 0x79, 0xe0, 0x1, 0xe7, 0x7c, + 0xfb, 0x9b, 0xf3, 0xf6, 0x6f, 0xcf, 0xd9, 0xdf, + 0x3e, 0xe7, 0x80, 0x7, 0x9e, 0x0, 0x1e, 0x78, + 0x0, 0x79, 0xe0, 0x3, 0xc7, 0x80, 0xf, 0x3e, + 0x0, 0x3c, 0xf0, 0x0, 0xf3, 0xc0, 0x3, 0xcf, + 0x0, 0xf, 0x3c, 0x0, 0x3c, 0xef, 0xff, 0x73, + 0x7f, 0xfe, 0xc3, 0xff, 0xfc, 0xf, 0xff, 0xf0, + + /* U+0039 "9" */ + 0x1f, 0xff, 0xe0, 0xff, 0xff, 0x1b, 0xff, 0xf6, + 0xef, 0xff, 0x77, 0x80, 0x7, 0xbc, 0x0, 0x3d, + 0xe0, 0x1, 0xef, 0x0, 0xf, 0x78, 0x0, 0x7b, + 0xc0, 0x3, 0xde, 0x0, 0x3c, 0xf0, 0x1, 0xef, + 0x0, 0xf, 0x78, 0x0, 0x7b, 0xbe, 0x7d, 0xdb, + 0xf3, 0xf6, 0x1f, 0x9f, 0xb0, 0x7c, 0xfb, 0x80, + 0x0, 0x3c, 0x0, 0x1, 0xe0, 0x0, 0xf, 0x0, + 0x0, 0xf0, 0x0, 0x7, 0x80, 0x0, 0x3c, 0x0, + 0x1, 0xe0, 0x0, 0xf, 0x0, 0x0, 0x78, 0x0, + 0x3, 0xc1, 0xff, 0xee, 0x1f, 0xff, 0xb1, 0xff, + 0xfe, 0xf, 0xff, 0xf0, + + /* U+003A ":" */ + 0x73, 0xde, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x73, 0xde, 0xe0 +}; + + +/*--------------------- + * GLYPH DESCRIPTION + *--------------------*/ + +static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { + {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, + {.bitmap_index = 0, .adv_w = 418, .box_w = 3, .box_h = 9, .ofs_x = 7, .ofs_y = 5}, + {.bitmap_index = 4, .adv_w = 0, .box_w = 4, .box_h = 4, .ofs_x = -3, .ofs_y = 0}, + {.bitmap_index = 6, .adv_w = 418, .box_w = 22, .box_h = 32, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 94, .adv_w = 418, .box_w = 6, .box_h = 29, .ofs_x = 18, .ofs_y = 2}, + {.bitmap_index = 116, .adv_w = 418, .box_w = 22, .box_h = 32, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 204, .adv_w = 418, .box_w = 21, .box_h = 32, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 288, .adv_w = 418, .box_w = 21, .box_h = 30, .ofs_x = 3, .ofs_y = 1}, + {.bitmap_index = 367, .adv_w = 418, .box_w = 20, .box_h = 32, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 447, .adv_w = 418, .box_w = 21, .box_h = 32, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 531, .adv_w = 418, .box_w = 21, .box_h = 31, .ofs_x = 3, .ofs_y = 1}, + {.bitmap_index = 613, .adv_w = 418, .box_w = 22, .box_h = 32, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 701, .adv_w = 418, .box_w = 21, .box_h = 32, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 785, .adv_w = 102, .box_w = 5, .box_h = 17, .ofs_x = 1, .ofs_y = 7} +}; + +/*--------------------- + * CHARACTER MAPPING + *--------------------*/ + +static const uint8_t glyph_id_ofs_list_0[] = { + 0, 0, 1, 0, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12 +}; + +/*Collect the unicode lists and glyph_id offsets*/ +static const lv_font_fmt_txt_cmap_t cmaps[] = +{ + { + .range_start = 44, .range_length = 15, .glyph_id_start = 1, + .unicode_list = NULL, .glyph_id_ofs_list = glyph_id_ofs_list_0, .list_length = 15, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_FULL + } +}; + + + +/*-------------------- + * ALL CUSTOM DATA + *--------------------*/ + +#if LVGL_VERSION_MAJOR == 8 +/*Store all the custom data of the font*/ +static lv_font_fmt_txt_glyph_cache_t cache; +#endif + +#if LVGL_VERSION_MAJOR >= 8 +static const lv_font_fmt_txt_dsc_t font_dsc = { +#else +static lv_font_fmt_txt_dsc_t font_dsc = { +#endif + .glyph_bitmap = glyph_bitmap, + .glyph_dsc = glyph_dsc, + .cmaps = cmaps, + .kern_dsc = NULL, + .kern_scale = 0, + .cmap_num = 1, + .bpp = 1, + .kern_classes = 0, + .bitmap_format = 0, +#if LVGL_VERSION_MAJOR == 8 + .cache = &cache +#endif + +}; + +extern const lv_font_t lv_font_montserrat_12; + + +/*----------------- + * PUBLIC FONT + *----------------*/ + +/*Initialize a public general font descriptor*/ +#if LVGL_VERSION_MAJOR >= 8 +const lv_font_t DSEG14C_BI_32px = { +#else +lv_font_t DSEG14C_BI_32px = { +#endif + .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ + .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ + .line_height = 32, /*The maximum line height required by the font*/ + .base_line = 0, /*Baseline measured from the bottom of the line*/ +#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0) + .subpx = LV_FONT_SUBPX_NONE, +#endif +#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8 + .underline_position = -4, + .underline_thickness = 2, +#endif + .dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ +#if LV_VERSION_CHECK(8, 2, 0) || LVGL_VERSION_MAJOR >= 9 + .fallback = &lv_font_montserrat_12, +#endif + .user_data = NULL, +}; + + + +#endif /*#if DSEG14C_BI_32PX*/ diff --git a/components/user_fonts/DSEG14C_BI_40px.c b/components/user_fonts/DSEG14C_BI_40px.c new file mode 100644 index 0000000..a23597c --- /dev/null +++ b/components/user_fonts/DSEG14C_BI_40px.c @@ -0,0 +1,329 @@ +/******************************************************************************* + * Size: 40 px + * Bpp: 1 + * Opts: --bpp 1 --size 40 --no-compress --stride 1 --align 1 --font DSEG14Classic-BoldItalic.ttf --symbols 0123456789:;., --format lvgl -o DSEG14C_BI_40px.c + ******************************************************************************/ + +#ifdef __has_include + #if __has_include("lvgl.h") + #ifndef LV_LVGL_H_INCLUDE_SIMPLE + #define LV_LVGL_H_INCLUDE_SIMPLE + #endif + #endif +#endif + +#ifdef LV_LVGL_H_INCLUDE_SIMPLE + #include "lvgl.h" +#else + #include "lvgl/lvgl.h" +#endif + + + +#ifndef DSEG14C_BI_40PX +#define DSEG14C_BI_40PX 1 +#endif + +#if DSEG14C_BI_40PX + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { + /* U+002C "," */ + 0x19, 0xce, 0xe7, 0x39, 0xce, 0x63, 0x10, + + /* U+002E "." */ + 0x77, 0xff, 0xf7, 0x0, + + /* U+0030 "0" */ + 0x3, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0xfc, 0x9, + 0xff, 0xff, 0xb1, 0xdf, 0xff, 0xf7, 0x1e, 0xff, + 0xfe, 0xf1, 0xf0, 0x0, 0x1f, 0x1f, 0x0, 0xd, + 0xf1, 0xf0, 0x0, 0xdf, 0x1f, 0x0, 0x1d, 0xf1, + 0xf0, 0x3, 0xdf, 0x1f, 0x0, 0x3d, 0xf1, 0xf0, + 0x3, 0xfe, 0x1f, 0x0, 0x3f, 0xe1, 0xe0, 0x3, + 0xfe, 0x3e, 0x0, 0x3b, 0xe3, 0xe0, 0x3, 0x3e, + 0x3e, 0x0, 0x33, 0xe3, 0xe0, 0x0, 0x3e, 0x3c, + 0x0, 0x1, 0xe3, 0x0, 0x0, 0xe, 0x30, 0x0, + 0x0, 0xe3, 0x80, 0x0, 0x1e, 0x3c, 0x0, 0x3, + 0xc3, 0xe6, 0x0, 0x7c, 0x3e, 0xe0, 0x7, 0xc7, + 0xce, 0x0, 0x7c, 0x7d, 0xe0, 0x7, 0xc7, 0xdc, + 0x0, 0x7c, 0x7d, 0xc0, 0x7, 0xc7, 0xdc, 0x0, + 0x7c, 0x7d, 0xc0, 0x7, 0xc7, 0xdc, 0x0, 0x7c, + 0x7d, 0x80, 0x7, 0xc7, 0xd0, 0x0, 0x7c, 0x7c, + 0x0, 0xf, 0x87, 0xbf, 0xff, 0x78, 0x67, 0xff, + 0xfb, 0x85, 0xff, 0xff, 0xd8, 0x3f, 0xff, 0xfe, + 0x1, 0xff, 0xff, 0xc0, + + /* U+0031 "1" */ + 0x0, 0x3, 0x7, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, + 0x1f, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, + 0x1e, 0xe, 0x0, 0xe, 0x3e, 0x7c, 0x7c, 0x7c, + 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, + 0xf8, 0x78, 0x38, 0x18, 0x0, + + /* U+0032 "2" */ + 0x3, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0xfc, 0x1, + 0xff, 0xff, 0x80, 0x1f, 0xff, 0xf3, 0x0, 0xff, + 0xfe, 0x70, 0x0, 0x0, 0xf, 0x0, 0x0, 0x1, + 0xf0, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1, 0xf0, + 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1, 0xf0, 0x0, + 0x0, 0x3e, 0x0, 0x0, 0x3, 0xe0, 0x0, 0x0, + 0x3e, 0x0, 0x0, 0x3, 0xe0, 0x0, 0x0, 0x3e, + 0x0, 0x0, 0x3, 0xe0, 0x0, 0x0, 0x3e, 0x1, + 0xf8, 0xfd, 0xe0, 0x3f, 0x9f, 0xee, 0x7, 0xfd, + 0xff, 0x3, 0xbf, 0x9f, 0xe0, 0x3d, 0xf8, 0xfc, + 0x3, 0xe0, 0x0, 0x0, 0x3e, 0x0, 0x0, 0x3, + 0xc0, 0x0, 0x0, 0x7c, 0x0, 0x0, 0x7, 0xc0, + 0x0, 0x0, 0x7c, 0x0, 0x0, 0x7, 0xc0, 0x0, + 0x0, 0x7c, 0x0, 0x0, 0x7, 0xc0, 0x0, 0x0, + 0x7c, 0x0, 0x0, 0x7, 0xc0, 0x0, 0x0, 0x7c, + 0x0, 0x0, 0x7, 0xbf, 0xff, 0x0, 0x77, 0xff, + 0xf8, 0x5, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0xfe, + 0x1, 0xff, 0xff, 0xc0, + + /* U+0033 "3" */ + 0xf, 0xff, 0xff, 0x3, 0xff, 0xff, 0xc0, 0x7f, + 0xff, 0xe0, 0x1f, 0xff, 0xf3, 0x3, 0xff, 0xf9, + 0xc0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0x7c, 0x0, + 0x0, 0x1f, 0x0, 0x0, 0x7, 0xc0, 0x0, 0x1, + 0xf0, 0x0, 0x0, 0x7c, 0x0, 0x0, 0x3e, 0x0, + 0x0, 0xf, 0x80, 0x0, 0x3, 0xe0, 0x0, 0x0, + 0xf8, 0x0, 0x0, 0x3e, 0x0, 0x0, 0xf, 0x80, + 0x0, 0x3, 0xe0, 0x7e, 0x3f, 0x78, 0x3f, 0x9f, + 0xee, 0x1f, 0xf7, 0xfc, 0x3, 0xf9, 0xfe, 0xe0, + 0x7e, 0x3f, 0xf8, 0x0, 0x0, 0x7c, 0x0, 0x0, + 0x1f, 0x0, 0x0, 0x7, 0xc0, 0x0, 0x1, 0xf0, + 0x0, 0x0, 0x7c, 0x0, 0x0, 0x1f, 0x0, 0x0, + 0x7, 0xc0, 0x0, 0x1, 0xf0, 0x0, 0x0, 0x7c, + 0x0, 0x0, 0x1f, 0x0, 0x0, 0x7, 0xc0, 0x0, + 0x3, 0xe0, 0x3f, 0xff, 0x78, 0x1f, 0xff, 0xee, + 0x1f, 0xff, 0xfd, 0x8f, 0xff, 0xff, 0x81, 0xff, + 0xff, 0xc0, + + /* U+0034 "4" */ + 0x0, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x37, 0x80, + 0x0, 0x1d, 0xf0, 0x0, 0xf, 0x7c, 0x0, 0x7, + 0xdf, 0x0, 0x1, 0xf7, 0xc0, 0x0, 0x7d, 0xf0, + 0x0, 0x1f, 0x7c, 0x0, 0x7, 0xdf, 0x0, 0x3, + 0xe7, 0xc0, 0x0, 0xf9, 0xf0, 0x0, 0x3e, 0xf8, + 0x0, 0xf, 0xbe, 0x0, 0x3, 0xef, 0x80, 0x0, + 0xfb, 0xe0, 0x0, 0x3e, 0xf7, 0xe3, 0xf7, 0xbb, + 0xf9, 0xfe, 0xe1, 0xff, 0x7f, 0xc0, 0x3f, 0x9f, + 0xee, 0x7, 0xe3, 0xf7, 0x80, 0x0, 0x7, 0xc0, + 0x0, 0x1, 0xf0, 0x0, 0x0, 0x7c, 0x0, 0x0, + 0x1f, 0x0, 0x0, 0x7, 0xc0, 0x0, 0x1, 0xf0, + 0x0, 0x0, 0x7c, 0x0, 0x0, 0x1f, 0x0, 0x0, + 0x7, 0xc0, 0x0, 0x1, 0xf0, 0x0, 0x0, 0x7c, + 0x0, 0x0, 0x3e, 0x0, 0x0, 0x7, 0x80, 0x0, + 0x0, 0xe0, 0x0, 0x0, 0x18, 0x0, 0x0, 0x0, + 0x0, + + /* U+0035 "5" */ + 0xf, 0xff, 0xff, 0x7, 0xff, 0xff, 0x89, 0xff, + 0xff, 0x8e, 0xff, 0xff, 0x87, 0xbf, 0xff, 0x83, + 0xe0, 0x0, 0x1, 0xf0, 0x0, 0x0, 0xf8, 0x0, + 0x0, 0x7c, 0x0, 0x0, 0x3e, 0x0, 0x0, 0x1f, + 0x0, 0x0, 0xf, 0x80, 0x0, 0x7, 0xc0, 0x0, + 0x3, 0xe0, 0x0, 0x3, 0xe0, 0x0, 0x1, 0xf0, + 0x0, 0x0, 0xf8, 0x0, 0x0, 0x7c, 0x0, 0x0, + 0x3d, 0xf8, 0xfc, 0x1d, 0xfc, 0xff, 0x1, 0xff, + 0x7f, 0xc0, 0x7f, 0x3f, 0xdc, 0x1f, 0x8f, 0xfe, + 0x0, 0x0, 0x3e, 0x0, 0x0, 0x1f, 0x0, 0x0, + 0xf, 0x80, 0x0, 0x7, 0xc0, 0x0, 0x3, 0xe0, + 0x0, 0x1, 0xf0, 0x0, 0x0, 0xf8, 0x0, 0x0, + 0x7c, 0x0, 0x0, 0x3e, 0x0, 0x0, 0x1f, 0x0, + 0x0, 0xf, 0x80, 0x0, 0xf, 0x81, 0xff, 0xfb, + 0xc1, 0xff, 0xfe, 0xe3, 0xff, 0xff, 0xb3, 0xff, + 0xff, 0xe0, 0xff, 0xff, 0xe0, + + /* U+0036 "6" */ + 0x3, 0xff, 0xff, 0xc0, 0x7f, 0xff, 0xf8, 0x27, + 0xff, 0xfe, 0xe, 0xff, 0xff, 0x81, 0xef, 0xff, + 0xe0, 0x3e, 0x0, 0x0, 0x7, 0xc0, 0x0, 0x0, + 0xf8, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x3, 0xe0, + 0x0, 0x0, 0x7c, 0x0, 0x0, 0xf, 0x80, 0x0, + 0x1, 0xf0, 0x0, 0x0, 0x3e, 0x0, 0x0, 0xf, + 0x80, 0x0, 0x1, 0xf0, 0x0, 0x0, 0x3e, 0x0, + 0x0, 0x7, 0xc0, 0x0, 0x0, 0xf7, 0xe3, 0xf0, + 0x1d, 0xfc, 0xff, 0x0, 0x7f, 0xdf, 0xf0, 0x77, + 0xf3, 0xff, 0xcf, 0x7e, 0x3f, 0xf9, 0xf0, 0x0, + 0x3e, 0x3e, 0x0, 0x7, 0xc7, 0x80, 0x0, 0xf9, + 0xf0, 0x0, 0x1f, 0x3e, 0x0, 0x3, 0xe7, 0xc0, + 0x0, 0x7c, 0xf8, 0x0, 0xf, 0x9f, 0x0, 0x1, + 0xf3, 0xe0, 0x0, 0x3e, 0x7c, 0x0, 0x7, 0xcf, + 0x80, 0x0, 0xf9, 0xf0, 0x0, 0x3e, 0x3d, 0xff, + 0xfb, 0xc7, 0x7f, 0xff, 0xb8, 0xbf, 0xff, 0xfb, + 0xf, 0xff, 0xff, 0x80, 0xff, 0xff, 0xe0, + + /* U+0037 "7" */ + 0xf, 0xff, 0xff, 0x3, 0xff, 0xff, 0xc2, 0x7f, + 0xff, 0xed, 0xdf, 0xff, 0xf7, 0x7b, 0xff, 0xfb, + 0xdf, 0x0, 0x1, 0xf7, 0xc0, 0x0, 0x7d, 0xf0, + 0x0, 0x1f, 0x7c, 0x0, 0x7, 0xdf, 0x0, 0x1, + 0xf7, 0xc0, 0x0, 0x7d, 0xf0, 0x0, 0x3e, 0x7c, + 0x0, 0xf, 0x9e, 0x0, 0x3, 0xef, 0x80, 0x0, + 0xfb, 0xe0, 0x0, 0x3e, 0xf8, 0x0, 0xf, 0xbe, + 0x0, 0x3, 0xee, 0x0, 0x0, 0x7b, 0x0, 0x0, + 0xe, 0x0, 0x0, 0x3, 0x80, 0x0, 0x1, 0xe0, + 0x0, 0x0, 0xf0, 0x0, 0x0, 0x7c, 0x0, 0x0, + 0x1f, 0x0, 0x0, 0x7, 0xc0, 0x0, 0x1, 0xf0, + 0x0, 0x0, 0x7c, 0x0, 0x0, 0x1f, 0x0, 0x0, + 0x7, 0xc0, 0x0, 0x1, 0xf0, 0x0, 0x0, 0x7c, + 0x0, 0x0, 0x1f, 0x0, 0x0, 0x7, 0xc0, 0x0, + 0x3, 0xe0, 0x0, 0x0, 0x78, 0x0, 0x0, 0xe, + 0x0, 0x0, 0x1, 0x80, + + /* U+0038 "8" */ + 0x3, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0xfc, 0x9, + 0xff, 0xff, 0x81, 0xdf, 0xff, 0xf3, 0x1e, 0xff, + 0xfe, 0x71, 0xf0, 0x0, 0xf, 0x1f, 0x0, 0x1, + 0xf1, 0xf0, 0x0, 0x1f, 0x1f, 0x0, 0x1, 0xf1, + 0xf0, 0x0, 0x1f, 0x1f, 0x0, 0x1, 0xf1, 0xf0, + 0x0, 0x3e, 0x1f, 0x0, 0x3, 0xe1, 0xf0, 0x0, + 0x3e, 0x3e, 0x0, 0x3, 0xe3, 0xe0, 0x0, 0x3e, + 0x3e, 0x0, 0x3, 0xe3, 0xe0, 0x0, 0x3e, 0x3d, + 0xf8, 0xfd, 0xe3, 0xbf, 0x9f, 0xee, 0x7, 0xfd, + 0xff, 0x3, 0xbf, 0x9f, 0xfe, 0x3d, 0xf8, 0xff, + 0xe3, 0xe0, 0x0, 0x7c, 0x3e, 0x0, 0x7, 0xc3, + 0xc0, 0x0, 0x7c, 0x7c, 0x0, 0x7, 0xc7, 0xc0, + 0x0, 0x7c, 0x7c, 0x0, 0x7, 0xc7, 0xc0, 0x0, + 0x7c, 0x7c, 0x0, 0x7, 0xc7, 0xc0, 0x0, 0x7c, + 0x7c, 0x0, 0x7, 0xc7, 0xc0, 0x0, 0x7c, 0x7c, + 0x0, 0xf, 0x87, 0xbf, 0xff, 0x78, 0x77, 0xff, + 0xfb, 0x85, 0xff, 0xff, 0xd8, 0x3f, 0xff, 0xfe, + 0x1, 0xff, 0xff, 0xc0, + + /* U+0039 "9" */ + 0xf, 0xff, 0xff, 0x3, 0xff, 0xff, 0xc2, 0x7f, + 0xff, 0xe1, 0xdf, 0xff, 0xf3, 0x7b, 0xff, 0xf9, + 0xdf, 0x0, 0x0, 0xf7, 0xc0, 0x0, 0x7d, 0xf0, + 0x0, 0x1f, 0x7c, 0x0, 0x7, 0xdf, 0x0, 0x1, + 0xf7, 0xc0, 0x0, 0x7d, 0xf0, 0x0, 0x3e, 0x7c, + 0x0, 0xf, 0x9f, 0x0, 0x3, 0xef, 0x80, 0x0, + 0xfb, 0xe0, 0x0, 0x3e, 0xf8, 0x0, 0xf, 0xbe, + 0x0, 0x3, 0xef, 0x7e, 0x3f, 0x7b, 0xbf, 0x9f, + 0xee, 0x1f, 0xf7, 0xfc, 0x3, 0xf9, 0xfe, 0xe0, + 0x7e, 0x3f, 0xf8, 0x0, 0x0, 0x7c, 0x0, 0x0, + 0x1f, 0x0, 0x0, 0x7, 0xc0, 0x0, 0x1, 0xf0, + 0x0, 0x0, 0x7c, 0x0, 0x0, 0x1f, 0x0, 0x0, + 0x7, 0xc0, 0x0, 0x1, 0xf0, 0x0, 0x0, 0x7c, + 0x0, 0x0, 0x1f, 0x0, 0x0, 0x7, 0xc0, 0x0, + 0x3, 0xe0, 0x3f, 0xff, 0x78, 0x1f, 0xff, 0xee, + 0x1f, 0xff, 0xfd, 0x8f, 0xff, 0xff, 0x81, 0xff, + 0xff, 0xc0, + + /* U+003A ":" */ + 0x39, 0xf7, 0xdf, 0x38, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x73, 0xef, 0xbe, 0x70 +}; + + +/*--------------------- + * GLYPH DESCRIPTION + *--------------------*/ + +static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { + {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, + {.bitmap_index = 0, .adv_w = 522, .box_w = 5, .box_h = 11, .ofs_x = 8, .ofs_y = 6}, + {.bitmap_index = 7, .adv_w = 0, .box_w = 5, .box_h = 5, .ofs_x = -4, .ofs_y = 0}, + {.bitmap_index = 11, .adv_w = 522, .box_w = 28, .box_h = 40, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 151, .adv_w = 522, .box_w = 8, .box_h = 37, .ofs_x = 22, .ofs_y = 1}, + {.bitmap_index = 188, .adv_w = 522, .box_w = 28, .box_h = 40, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 328, .adv_w = 522, .box_w = 26, .box_h = 40, .ofs_x = 4, .ofs_y = 0}, + {.bitmap_index = 458, .adv_w = 522, .box_w = 26, .box_h = 37, .ofs_x = 4, .ofs_y = 2}, + {.bitmap_index = 579, .adv_w = 522, .box_w = 25, .box_h = 40, .ofs_x = 4, .ofs_y = 0}, + {.bitmap_index = 704, .adv_w = 522, .box_w = 27, .box_h = 40, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 839, .adv_w = 522, .box_w = 26, .box_h = 38, .ofs_x = 4, .ofs_y = 2}, + {.bitmap_index = 963, .adv_w = 522, .box_w = 28, .box_h = 40, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1103, .adv_w = 522, .box_w = 26, .box_h = 40, .ofs_x = 4, .ofs_y = 0}, + {.bitmap_index = 1233, .adv_w = 128, .box_w = 6, .box_h = 21, .ofs_x = 1, .ofs_y = 9} +}; + +/*--------------------- + * CHARACTER MAPPING + *--------------------*/ + +static const uint8_t glyph_id_ofs_list_0[] = { + 0, 0, 1, 0, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12 +}; + +/*Collect the unicode lists and glyph_id offsets*/ +static const lv_font_fmt_txt_cmap_t cmaps[] = +{ + { + .range_start = 44, .range_length = 15, .glyph_id_start = 1, + .unicode_list = NULL, .glyph_id_ofs_list = glyph_id_ofs_list_0, .list_length = 15, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_FULL + } +}; + + + +/*-------------------- + * ALL CUSTOM DATA + *--------------------*/ + +#if LVGL_VERSION_MAJOR == 8 +/*Store all the custom data of the font*/ +static lv_font_fmt_txt_glyph_cache_t cache; +#endif + +#if LVGL_VERSION_MAJOR >= 8 +static const lv_font_fmt_txt_dsc_t font_dsc = { +#else +static lv_font_fmt_txt_dsc_t font_dsc = { +#endif + .glyph_bitmap = glyph_bitmap, + .glyph_dsc = glyph_dsc, + .cmaps = cmaps, + .kern_dsc = NULL, + .kern_scale = 0, + .cmap_num = 1, + .bpp = 1, + .kern_classes = 0, + .bitmap_format = 0, +#if LVGL_VERSION_MAJOR == 8 + .cache = &cache +#endif + +}; + +extern const lv_font_t lv_font_montserrat_12; + + +/*----------------- + * PUBLIC FONT + *----------------*/ + +/*Initialize a public general font descriptor*/ +#if LVGL_VERSION_MAJOR >= 8 +const lv_font_t DSEG14C_BI_40px = { +#else +lv_font_t DSEG14C_BI_40px = { +#endif + .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ + .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ + .line_height = 40, /*The maximum line height required by the font*/ + .base_line = 0, /*Baseline measured from the bottom of the line*/ +#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0) + .subpx = LV_FONT_SUBPX_NONE, +#endif +#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8 + .underline_position = -5, + .underline_thickness = 2, +#endif + + .dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ +#if LV_VERSION_CHECK(8, 2, 0) || LVGL_VERSION_MAJOR >= 9 + .fallback = &lv_font_montserrat_12, +#endif + .user_data = NULL, +}; + + + +#endif /*#if DSEG14C_BI_40PX*/ diff --git a/components/user_fonts/DSEG14C_BI_50px.c b/components/user_fonts/DSEG14C_BI_50px.c new file mode 100644 index 0000000..fb8bd9f --- /dev/null +++ b/components/user_fonts/DSEG14C_BI_50px.c @@ -0,0 +1,417 @@ +/******************************************************************************* + * Size: 50 px + * Bpp: 1 + * Opts: --bpp 1 --size 50 --no-compress --stride 1 --align 1 --font DSEG14Classic-BoldItalic.ttf --symbols 0123456789:;., --format lvgl -o DSEG14C_BI_50px.c + ******************************************************************************/ + +#ifdef __has_include + #if __has_include("lvgl.h") + #ifndef LV_LVGL_H_INCLUDE_SIMPLE + #define LV_LVGL_H_INCLUDE_SIMPLE + #endif + #endif +#endif + +#ifdef LV_LVGL_H_INCLUDE_SIMPLE + #include "lvgl.h" +#else + #include "lvgl/lvgl.h" +#endif + + + +#ifndef DSEG14C_BI_50PX +#define DSEG14C_BI_50PX 1 +#endif + +#if DSEG14C_BI_50PX + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { + /* U+002C "," */ + 0x19, 0xce, 0xff, 0xff, 0xde, 0xf7, 0xbd, 0xcc, + 0x60, + + /* U+002E "." */ + 0x7b, 0xef, 0xff, 0xf9, 0xe0, + + /* U+0030 "0" */ + 0x1, 0xff, 0xff, 0xff, 0x0, 0x7f, 0xff, 0xff, + 0xf0, 0x17, 0xff, 0xff, 0xfd, 0x7, 0x7f, 0xff, + 0xfe, 0x60, 0xf7, 0xff, 0xff, 0x9e, 0x1f, 0x7f, + 0xff, 0xe7, 0xc3, 0xf0, 0x0, 0x1, 0xf0, 0xfe, + 0x0, 0x3, 0x7e, 0x1f, 0xc0, 0x0, 0x6f, 0xc3, + 0xf8, 0x0, 0x1d, 0xf8, 0x7e, 0x0, 0x7, 0xbf, + 0xf, 0xc0, 0x0, 0xf7, 0xe1, 0xf8, 0x0, 0x1e, + 0xfc, 0x3f, 0x0, 0x7, 0xdf, 0x87, 0xe0, 0x0, + 0xfb, 0xf0, 0xfc, 0x0, 0x1e, 0xfe, 0x1f, 0x80, + 0x3, 0xdf, 0xc3, 0xf0, 0x0, 0x7b, 0xf8, 0xfe, + 0x0, 0xe, 0x7e, 0x1f, 0xc0, 0x1, 0xcf, 0xc3, + 0xf8, 0x0, 0x31, 0xf8, 0x7e, 0x0, 0x0, 0x3f, + 0xf, 0x80, 0x0, 0x3, 0xe1, 0xe0, 0x0, 0x0, + 0x3c, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, + 0x0, 0x70, 0xf0, 0x0, 0x0, 0x1e, 0x1f, 0x0, + 0x0, 0x7, 0xc3, 0xf0, 0x0, 0x3, 0xf8, 0x7e, + 0x30, 0x0, 0x7e, 0x1f, 0xce, 0x0, 0xf, 0xc3, + 0xf9, 0xc0, 0x1, 0xf8, 0x7f, 0x78, 0x0, 0x3f, + 0xf, 0xdf, 0x0, 0x7, 0xe1, 0xfb, 0xe0, 0x0, + 0xfc, 0x3f, 0x78, 0x0, 0x1f, 0x87, 0xef, 0x0, + 0x3, 0xf0, 0xfd, 0xe0, 0x0, 0x7e, 0x1f, 0xbc, + 0x0, 0x1f, 0xc3, 0xf7, 0x0, 0x3, 0xf8, 0x7e, + 0xe0, 0x0, 0x7f, 0x1f, 0xd8, 0x0, 0xf, 0xc3, + 0xfa, 0x0, 0x1, 0xf8, 0x7e, 0x0, 0x0, 0x3f, + 0xf, 0x9f, 0xff, 0xfb, 0xe1, 0xe7, 0xff, 0xff, + 0xbc, 0x3b, 0xff, 0xff, 0xfb, 0x82, 0xff, 0xff, + 0xff, 0xa0, 0x3f, 0xff, 0xff, 0xf8, 0x3, 0xff, + 0xff, 0xfc, 0x0, + + /* U+0031 "1" */ + 0x1, 0x80, 0xf0, 0x7c, 0x3f, 0x1f, 0x87, 0xe1, + 0xf8, 0x7e, 0x1f, 0x87, 0xe1, 0xf8, 0x7e, 0x1f, + 0x8f, 0xe3, 0xf8, 0xfc, 0x3f, 0xf, 0xc3, 0xf0, + 0x7c, 0xf, 0x1, 0xc0, 0x0, 0x3c, 0x1f, 0xf, + 0xc7, 0xf1, 0xf8, 0x7e, 0x1f, 0x87, 0xe1, 0xf8, + 0x7e, 0x1f, 0x87, 0xe3, 0xf8, 0xfe, 0x3f, 0x8f, + 0xc3, 0xf0, 0xfc, 0x1f, 0x3, 0xc0, 0x70, 0x8, + 0x0, + + /* U+0032 "2" */ + 0x1, 0xff, 0xff, 0xff, 0x0, 0x7f, 0xff, 0xff, + 0xf0, 0x7, 0xff, 0xff, 0xfc, 0x0, 0x7f, 0xff, + 0xfe, 0x60, 0x7, 0xff, 0xff, 0x9e, 0x0, 0x7f, + 0xff, 0xe7, 0xc0, 0x0, 0x0, 0x1, 0xf0, 0x0, + 0x0, 0x0, 0x7e, 0x0, 0x0, 0x0, 0xf, 0xc0, + 0x0, 0x0, 0x1, 0xf8, 0x0, 0x0, 0x0, 0x3f, + 0x0, 0x0, 0x0, 0x7, 0xe0, 0x0, 0x0, 0x0, + 0xfc, 0x0, 0x0, 0x0, 0x1f, 0x80, 0x0, 0x0, + 0x3, 0xf0, 0x0, 0x0, 0x0, 0xfe, 0x0, 0x0, + 0x0, 0x1f, 0xc0, 0x0, 0x0, 0x3, 0xf8, 0x0, + 0x0, 0x0, 0x7e, 0x0, 0x0, 0x0, 0xf, 0xc0, + 0x0, 0x0, 0x1, 0xf8, 0x0, 0x0, 0x0, 0x3f, + 0x0, 0x1f, 0xc3, 0xfb, 0xe0, 0xf, 0xf8, 0xff, + 0xbc, 0x3, 0xff, 0xbf, 0xf3, 0x87, 0x7f, 0xe7, + 0xff, 0x0, 0xf7, 0xfc, 0x7f, 0x80, 0x1f, 0x7f, + 0xf, 0xe0, 0x3, 0xf0, 0x0, 0x0, 0x0, 0x7e, + 0x0, 0x0, 0x0, 0x1f, 0xc0, 0x0, 0x0, 0x3, + 0xf8, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, + 0xf, 0xc0, 0x0, 0x0, 0x1, 0xf8, 0x0, 0x0, + 0x0, 0x3f, 0x0, 0x0, 0x0, 0x7, 0xe0, 0x0, + 0x0, 0x0, 0xfc, 0x0, 0x0, 0x0, 0x1f, 0x80, + 0x0, 0x0, 0x3, 0xf0, 0x0, 0x0, 0x0, 0x7e, + 0x0, 0x0, 0x0, 0x1f, 0xc0, 0x0, 0x0, 0x3, + 0xf8, 0x0, 0x0, 0x0, 0x7e, 0x0, 0x0, 0x0, + 0xf, 0x9f, 0xff, 0xf8, 0x1, 0xe7, 0xff, 0xff, + 0x80, 0x3b, 0xff, 0xff, 0xf8, 0x2, 0xff, 0xff, + 0xff, 0x80, 0x3f, 0xff, 0xff, 0xf8, 0x3, 0xff, + 0xff, 0xfc, 0x0, + + /* U+0033 "3" */ + 0x7, 0xff, 0xff, 0xfc, 0x7, 0xff, 0xff, 0xff, + 0x1, 0xff, 0xff, 0xff, 0x0, 0x7f, 0xff, 0xfe, + 0x60, 0x1f, 0xff, 0xfe, 0x78, 0x7, 0xff, 0xfe, + 0x7c, 0x0, 0x0, 0x0, 0x7c, 0x0, 0x0, 0x0, + 0x7e, 0x0, 0x0, 0x0, 0x3f, 0x0, 0x0, 0x0, + 0x1f, 0x80, 0x0, 0x0, 0xf, 0xc0, 0x0, 0x0, + 0x7, 0xe0, 0x0, 0x0, 0x3, 0xf0, 0x0, 0x0, + 0x1, 0xf8, 0x0, 0x0, 0x0, 0xfc, 0x0, 0x0, + 0x0, 0xfe, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, + 0x0, 0x3f, 0x80, 0x0, 0x0, 0x1f, 0x80, 0x0, + 0x0, 0xf, 0xc0, 0x0, 0x0, 0x7, 0xe0, 0x0, + 0x0, 0x3, 0xf0, 0x7, 0xf0, 0xfe, 0xf8, 0xf, + 0xf8, 0xff, 0xbc, 0xf, 0xfe, 0xff, 0xce, 0x7, + 0xfe, 0x7f, 0xf0, 0x1, 0xff, 0x1f, 0xe7, 0x80, + 0x7f, 0xf, 0xe7, 0xc0, 0x0, 0x0, 0x7, 0xe0, + 0x0, 0x0, 0x7, 0xe0, 0x0, 0x0, 0x3, 0xf0, + 0x0, 0x0, 0x1, 0xf8, 0x0, 0x0, 0x0, 0xfc, + 0x0, 0x0, 0x0, 0x7e, 0x0, 0x0, 0x0, 0x3f, + 0x0, 0x0, 0x0, 0x1f, 0x80, 0x0, 0x0, 0xf, + 0xc0, 0x0, 0x0, 0x7, 0xe0, 0x0, 0x0, 0x7, + 0xf0, 0x0, 0x0, 0x3, 0xf8, 0x0, 0x0, 0x1, + 0xfc, 0x0, 0x0, 0x0, 0xfc, 0x0, 0x0, 0x0, + 0x7e, 0x0, 0x0, 0x0, 0x3f, 0x0, 0x7f, 0xff, + 0xef, 0x80, 0x7f, 0xff, 0xfb, 0xc0, 0xff, 0xff, + 0xfe, 0xe0, 0xff, 0xff, 0xff, 0xa0, 0xff, 0xff, + 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xc0, 0x0, + + /* U+0034 "4" */ + 0x10, 0x0, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1, + 0x8e, 0x0, 0x0, 0x1, 0xe7, 0x80, 0x0, 0x1, + 0xf3, 0xe0, 0x0, 0x1, 0xf3, 0xf8, 0x0, 0x1, + 0xf9, 0xfc, 0x0, 0x0, 0xfc, 0xfe, 0x0, 0x0, + 0x7e, 0x7e, 0x0, 0x0, 0x3f, 0x3f, 0x0, 0x0, + 0x1f, 0x9f, 0x80, 0x0, 0xf, 0xcf, 0xc0, 0x0, + 0x7, 0xe7, 0xe0, 0x0, 0x3, 0xf3, 0xf0, 0x0, + 0x3, 0xf9, 0xf8, 0x0, 0x1, 0xfc, 0xfc, 0x0, + 0x0, 0xfe, 0x7e, 0x0, 0x0, 0x7e, 0x7f, 0x0, + 0x0, 0x3f, 0x3f, 0x80, 0x0, 0x1f, 0x9f, 0x80, + 0x0, 0xf, 0xcf, 0x9f, 0xc3, 0xfb, 0xe7, 0xbf, + 0xe3, 0xfe, 0xf3, 0xbf, 0xfb, 0xff, 0x38, 0x1f, + 0xf9, 0xff, 0xc0, 0x7, 0xfc, 0x7f, 0x9e, 0x1, + 0xfc, 0x3f, 0x9f, 0x0, 0x0, 0x0, 0x3f, 0x80, + 0x0, 0x0, 0x1f, 0x80, 0x0, 0x0, 0xf, 0xc0, + 0x0, 0x0, 0x7, 0xe0, 0x0, 0x0, 0x3, 0xf0, + 0x0, 0x0, 0x1, 0xf8, 0x0, 0x0, 0x0, 0xfc, + 0x0, 0x0, 0x0, 0x7e, 0x0, 0x0, 0x0, 0x3f, + 0x0, 0x0, 0x0, 0x1f, 0x80, 0x0, 0x0, 0x1f, + 0xc0, 0x0, 0x0, 0xf, 0xe0, 0x0, 0x0, 0x7, + 0xf0, 0x0, 0x0, 0x3, 0xf0, 0x0, 0x0, 0x1, + 0xf8, 0x0, 0x0, 0x0, 0xfc, 0x0, 0x0, 0x0, + 0x3e, 0x0, 0x0, 0x0, 0xf, 0x0, 0x0, 0x0, + 0x3, 0x80, 0x0, 0x0, 0x0, 0x0, + + /* U+0035 "5" */ + 0x7, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xff, 0xfc, + 0x5f, 0xff, 0xff, 0xf1, 0xdf, 0xff, 0xff, 0x83, + 0xdf, 0xff, 0xfe, 0x7, 0xdf, 0xff, 0xf8, 0xf, + 0xc0, 0x0, 0x0, 0x3f, 0x80, 0x0, 0x0, 0x7f, + 0x0, 0x0, 0x0, 0xfe, 0x0, 0x0, 0x1, 0xf8, + 0x0, 0x0, 0x3, 0xf0, 0x0, 0x0, 0x7, 0xe0, + 0x0, 0x0, 0xf, 0xc0, 0x0, 0x0, 0x1f, 0x80, + 0x0, 0x0, 0x3f, 0x0, 0x0, 0x0, 0x7e, 0x0, + 0x0, 0x0, 0xfc, 0x0, 0x0, 0x1, 0xf8, 0x0, + 0x0, 0x7, 0xf0, 0x0, 0x0, 0xf, 0xe0, 0x0, + 0x0, 0x1f, 0x80, 0x0, 0x0, 0x3e, 0x7f, 0xf, + 0xe0, 0x7b, 0xfe, 0x3f, 0xe0, 0xef, 0xfe, 0xff, + 0xc0, 0x1f, 0xf9, 0xff, 0xc0, 0x1f, 0xf1, 0xfe, + 0x78, 0x1f, 0xc3, 0xf9, 0xf0, 0x0, 0x0, 0x7, + 0xe0, 0x0, 0x0, 0x1f, 0x80, 0x0, 0x0, 0x3f, + 0x0, 0x0, 0x0, 0x7e, 0x0, 0x0, 0x0, 0xfc, + 0x0, 0x0, 0x1, 0xf8, 0x0, 0x0, 0x3, 0xf0, + 0x0, 0x0, 0x7, 0xe0, 0x0, 0x0, 0xf, 0xc0, + 0x0, 0x0, 0x1f, 0x80, 0x0, 0x0, 0x7f, 0x0, + 0x0, 0x0, 0xfe, 0x0, 0x0, 0x1, 0xfc, 0x0, + 0x0, 0x3, 0xf0, 0x0, 0x0, 0x7, 0xe0, 0x0, + 0x0, 0xf, 0xc0, 0x7f, 0xff, 0xef, 0x81, 0xff, + 0xff, 0xef, 0xf, 0xff, 0xff, 0xee, 0x3f, 0xff, + 0xff, 0xe8, 0xff, 0xff, 0xff, 0xe0, 0xff, 0xff, + 0xff, 0x0, + + /* U+0036 "6" */ + 0x1, 0xff, 0xff, 0xff, 0x1, 0xff, 0xff, 0xff, + 0xc1, 0x7f, 0xff, 0xff, 0xc1, 0xdf, 0xff, 0xff, + 0x80, 0xf7, 0xff, 0xff, 0x80, 0x7d, 0xff, 0xff, + 0x80, 0x3f, 0x0, 0x0, 0x0, 0x3f, 0x80, 0x0, + 0x0, 0x1f, 0xc0, 0x0, 0x0, 0xf, 0xe0, 0x0, + 0x0, 0x7, 0xe0, 0x0, 0x0, 0x3, 0xf0, 0x0, + 0x0, 0x1, 0xf8, 0x0, 0x0, 0x0, 0xfc, 0x0, + 0x0, 0x0, 0x7e, 0x0, 0x0, 0x0, 0x3f, 0x0, + 0x0, 0x0, 0x1f, 0x80, 0x0, 0x0, 0xf, 0xc0, + 0x0, 0x0, 0x7, 0xe0, 0x0, 0x0, 0x7, 0xf0, + 0x0, 0x0, 0x3, 0xf8, 0x0, 0x0, 0x1, 0xf8, + 0x0, 0x0, 0x0, 0xf9, 0xfc, 0x3f, 0x80, 0x7b, + 0xfe, 0x3f, 0xe0, 0x3b, 0xff, 0xbf, 0xf0, 0x1d, + 0xff, 0x9f, 0xfd, 0xcf, 0x7f, 0xc7, 0xf9, 0xe7, + 0xdf, 0xc3, 0xfb, 0xf3, 0xf0, 0x0, 0x3, 0xf9, + 0xf8, 0x0, 0x1, 0xf9, 0xfc, 0x0, 0x0, 0xfc, + 0xfe, 0x0, 0x0, 0x7e, 0x7f, 0x0, 0x0, 0x3f, + 0x3f, 0x0, 0x0, 0x1f, 0x9f, 0x80, 0x0, 0xf, + 0xcf, 0xc0, 0x0, 0x7, 0xe7, 0xe0, 0x0, 0x3, + 0xf3, 0xf0, 0x0, 0x1, 0xf9, 0xf8, 0x0, 0x1, + 0xfc, 0xfc, 0x0, 0x0, 0xfe, 0x7e, 0x0, 0x0, + 0x7f, 0x7f, 0x0, 0x0, 0x3f, 0x3f, 0x80, 0x0, + 0x1f, 0x9f, 0x80, 0x0, 0xf, 0xcf, 0x9f, 0xff, + 0xfb, 0xe7, 0x9f, 0xff, 0xfe, 0xf3, 0xbf, 0xff, + 0xff, 0xb8, 0xbf, 0xff, 0xff, 0xe8, 0x3f, 0xff, + 0xff, 0xf8, 0xf, 0xff, 0xff, 0xf0, 0x0, + + /* U+0037 "7" */ + 0x7, 0xff, 0xff, 0xfc, 0x7, 0xff, 0xff, 0xff, + 0x5, 0xff, 0xff, 0xff, 0x47, 0x7f, 0xff, 0xfe, + 0x73, 0xdf, 0xff, 0xfe, 0x79, 0xf7, 0xff, 0xfe, + 0x7c, 0xfc, 0x0, 0x0, 0x7c, 0xfe, 0x0, 0x0, + 0x7e, 0x7f, 0x0, 0x0, 0x3f, 0x3f, 0x80, 0x0, + 0x1f, 0x9f, 0x80, 0x0, 0xf, 0xcf, 0xc0, 0x0, + 0x7, 0xe7, 0xe0, 0x0, 0x3, 0xf3, 0xf0, 0x0, + 0x1, 0xf9, 0xf8, 0x0, 0x0, 0xfc, 0xfc, 0x0, + 0x0, 0xfe, 0x7e, 0x0, 0x0, 0x7f, 0x3f, 0x0, + 0x0, 0x3f, 0xbf, 0x80, 0x0, 0x1f, 0x9f, 0xc0, + 0x0, 0xf, 0xcf, 0xe0, 0x0, 0x7, 0xe7, 0xe0, + 0x0, 0x3, 0xf3, 0xe0, 0x0, 0x0, 0xf9, 0xe0, + 0x0, 0x0, 0x3c, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x7, 0x80, + 0x0, 0x0, 0xf, 0xc0, 0x0, 0x0, 0xf, 0xe0, + 0x0, 0x0, 0x7, 0xe0, 0x0, 0x0, 0x3, 0xf0, + 0x0, 0x0, 0x1, 0xf8, 0x0, 0x0, 0x0, 0xfc, + 0x0, 0x0, 0x0, 0x7e, 0x0, 0x0, 0x0, 0x3f, + 0x0, 0x0, 0x0, 0x1f, 0x80, 0x0, 0x0, 0xf, + 0xc0, 0x0, 0x0, 0x7, 0xe0, 0x0, 0x0, 0x7, + 0xf0, 0x0, 0x0, 0x3, 0xf8, 0x0, 0x0, 0x1, + 0xfc, 0x0, 0x0, 0x0, 0xfc, 0x0, 0x0, 0x0, + 0x7e, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x0, + 0xf, 0x80, 0x0, 0x0, 0x3, 0xc0, 0x0, 0x0, + 0x0, 0xe0, 0x0, 0x0, 0x0, 0x0, + + /* U+0038 "8" */ + 0x1, 0xff, 0xff, 0xff, 0x0, 0x7f, 0xff, 0xff, + 0xf0, 0x17, 0xff, 0xff, 0xfc, 0x7, 0x7f, 0xff, + 0xfe, 0x60, 0xf7, 0xff, 0xff, 0x9e, 0x1f, 0x7f, + 0xff, 0xe7, 0xc3, 0xf0, 0x0, 0x1, 0xf0, 0xfe, + 0x0, 0x0, 0x7e, 0x1f, 0xc0, 0x0, 0xf, 0xc3, + 0xf8, 0x0, 0x1, 0xf8, 0x7e, 0x0, 0x0, 0x3f, + 0xf, 0xc0, 0x0, 0x7, 0xe1, 0xf8, 0x0, 0x0, + 0xfc, 0x3f, 0x0, 0x0, 0x1f, 0x87, 0xe0, 0x0, + 0x3, 0xf0, 0xfc, 0x0, 0x0, 0xfe, 0x1f, 0x80, + 0x0, 0x1f, 0xc3, 0xf0, 0x0, 0x3, 0xf8, 0x7e, + 0x0, 0x0, 0x7e, 0x1f, 0xc0, 0x0, 0xf, 0xc3, + 0xf8, 0x0, 0x1, 0xf8, 0x7e, 0x0, 0x0, 0x3f, + 0xf, 0x9f, 0xc3, 0xfb, 0xe1, 0xef, 0xf8, 0xff, + 0xbc, 0x3b, 0xff, 0xbf, 0xf3, 0x87, 0x7f, 0xe7, + 0xff, 0x70, 0xf7, 0xfc, 0x7f, 0x9e, 0x1f, 0x7f, + 0xf, 0xef, 0xc3, 0xf0, 0x0, 0x3, 0xf8, 0x7e, + 0x0, 0x0, 0x7e, 0x1f, 0xc0, 0x0, 0xf, 0xc3, + 0xf8, 0x0, 0x1, 0xf8, 0x7f, 0x0, 0x0, 0x3f, + 0xf, 0xc0, 0x0, 0x7, 0xe1, 0xf8, 0x0, 0x0, + 0xfc, 0x3f, 0x0, 0x0, 0x1f, 0x87, 0xe0, 0x0, + 0x3, 0xf0, 0xfc, 0x0, 0x0, 0x7e, 0x1f, 0x80, + 0x0, 0x1f, 0xc3, 0xf0, 0x0, 0x3, 0xf8, 0x7e, + 0x0, 0x0, 0x7f, 0x1f, 0xc0, 0x0, 0xf, 0xc3, + 0xf8, 0x0, 0x1, 0xf8, 0x7e, 0x0, 0x0, 0x3f, + 0xf, 0x9f, 0xff, 0xfb, 0xe1, 0xe7, 0xff, 0xff, + 0xbc, 0x3b, 0xff, 0xff, 0xfb, 0x82, 0xff, 0xff, + 0xff, 0xa0, 0x3f, 0xff, 0xff, 0xf8, 0x3, 0xff, + 0xff, 0xfc, 0x0, + + /* U+0039 "9" */ + 0x7, 0xff, 0xff, 0xfc, 0x7, 0xff, 0xff, 0xff, + 0x5, 0xff, 0xff, 0xff, 0x7, 0x7f, 0xff, 0xfe, + 0x63, 0xdf, 0xff, 0xfe, 0x79, 0xf7, 0xff, 0xfe, + 0x7c, 0xfc, 0x0, 0x0, 0x7c, 0xfe, 0x0, 0x0, + 0x7e, 0x7f, 0x0, 0x0, 0x3f, 0x3f, 0x80, 0x0, + 0x1f, 0x9f, 0x80, 0x0, 0xf, 0xcf, 0xc0, 0x0, + 0x7, 0xe7, 0xe0, 0x0, 0x3, 0xf3, 0xf0, 0x0, + 0x1, 0xf9, 0xf8, 0x0, 0x0, 0xfc, 0xfc, 0x0, + 0x0, 0xfe, 0x7e, 0x0, 0x0, 0x7f, 0x3f, 0x0, + 0x0, 0x3f, 0x9f, 0x80, 0x0, 0x1f, 0x9f, 0xc0, + 0x0, 0xf, 0xcf, 0xe0, 0x0, 0x7, 0xe7, 0xe0, + 0x0, 0x3, 0xf3, 0xe7, 0xf0, 0xfe, 0xf9, 0xef, + 0xf8, 0xff, 0xbc, 0xef, 0xfe, 0xff, 0xce, 0x7, + 0xfe, 0x7f, 0xf0, 0x1, 0xff, 0x1f, 0xe7, 0x80, + 0x7f, 0xf, 0xe7, 0xc0, 0x0, 0x0, 0x7, 0xe0, + 0x0, 0x0, 0x7, 0xe0, 0x0, 0x0, 0x3, 0xf0, + 0x0, 0x0, 0x1, 0xf8, 0x0, 0x0, 0x0, 0xfc, + 0x0, 0x0, 0x0, 0x7e, 0x0, 0x0, 0x0, 0x3f, + 0x0, 0x0, 0x0, 0x1f, 0x80, 0x0, 0x0, 0xf, + 0xc0, 0x0, 0x0, 0x7, 0xe0, 0x0, 0x0, 0x7, + 0xf0, 0x0, 0x0, 0x3, 0xf8, 0x0, 0x0, 0x1, + 0xfc, 0x0, 0x0, 0x0, 0xfc, 0x0, 0x0, 0x0, + 0x7e, 0x0, 0x0, 0x0, 0x3f, 0x0, 0x7f, 0xff, + 0xef, 0x80, 0x7f, 0xff, 0xfb, 0xc0, 0xff, 0xff, + 0xfe, 0xe0, 0xff, 0xff, 0xff, 0xa0, 0xff, 0xff, + 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xc0, 0x0, + + /* U+003A ":" */ + 0x1e, 0x3f, 0x3f, 0x3f, 0x3f, 0x1e, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x78, 0xfc, 0xfc, + 0xfc, 0xfc, 0x78 +}; + + +/*--------------------- + * GLYPH DESCRIPTION + *--------------------*/ + +static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { + {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, + {.bitmap_index = 0, .adv_w = 653, .box_w = 5, .box_h = 14, .ofs_x = 11, .ofs_y = 7}, + {.bitmap_index = 9, .adv_w = 0, .box_w = 6, .box_h = 6, .ofs_x = -5, .ofs_y = 0}, + {.bitmap_index = 14, .adv_w = 653, .box_w = 35, .box_h = 50, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 233, .adv_w = 653, .box_w = 10, .box_h = 45, .ofs_x = 28, .ofs_y = 2}, + {.bitmap_index = 290, .adv_w = 653, .box_w = 35, .box_h = 50, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 509, .adv_w = 653, .box_w = 33, .box_h = 50, .ofs_x = 5, .ofs_y = 0}, + {.bitmap_index = 716, .adv_w = 653, .box_w = 33, .box_h = 46, .ofs_x = 5, .ofs_y = 2}, + {.bitmap_index = 906, .adv_w = 653, .box_w = 31, .box_h = 50, .ofs_x = 5, .ofs_y = 0}, + {.bitmap_index = 1100, .adv_w = 653, .box_w = 33, .box_h = 50, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 1307, .adv_w = 653, .box_w = 33, .box_h = 48, .ofs_x = 5, .ofs_y = 2}, + {.bitmap_index = 1505, .adv_w = 653, .box_w = 35, .box_h = 50, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 1724, .adv_w = 653, .box_w = 33, .box_h = 50, .ofs_x = 5, .ofs_y = 0}, + {.bitmap_index = 1931, .adv_w = 160, .box_w = 8, .box_h = 27, .ofs_x = 1, .ofs_y = 11} +}; + +/*--------------------- + * CHARACTER MAPPING + *--------------------*/ + +static const uint8_t glyph_id_ofs_list_0[] = { + 0, 0, 1, 0, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12 +}; + +/*Collect the unicode lists and glyph_id offsets*/ +static const lv_font_fmt_txt_cmap_t cmaps[] = +{ + { + .range_start = 44, .range_length = 15, .glyph_id_start = 1, + .unicode_list = NULL, .glyph_id_ofs_list = glyph_id_ofs_list_0, .list_length = 15, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_FULL + } +}; + + + +/*-------------------- + * ALL CUSTOM DATA + *--------------------*/ + +#if LVGL_VERSION_MAJOR == 8 +/*Store all the custom data of the font*/ +static lv_font_fmt_txt_glyph_cache_t cache; +#endif + +#if LVGL_VERSION_MAJOR >= 8 +static const lv_font_fmt_txt_dsc_t font_dsc = { +#else +static lv_font_fmt_txt_dsc_t font_dsc = { +#endif + .glyph_bitmap = glyph_bitmap, + .glyph_dsc = glyph_dsc, + .cmaps = cmaps, + .kern_dsc = NULL, + .kern_scale = 0, + .cmap_num = 1, + .bpp = 1, + .kern_classes = 0, + .bitmap_format = 0, +#if LVGL_VERSION_MAJOR == 8 + .cache = &cache +#endif + +}; + +extern const lv_font_t lv_font_montserrat_12; + + +/*----------------- + * PUBLIC FONT + *----------------*/ + +/*Initialize a public general font descriptor*/ +#if LVGL_VERSION_MAJOR >= 8 +const lv_font_t DSEG14C_BI_50px = { +#else +lv_font_t DSEG14C_BI_50px = { +#endif + .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ + .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ + .line_height = 50, /*The maximum line height required by the font*/ + .base_line = 0, /*Baseline measured from the bottom of the line*/ +#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0) + .subpx = LV_FONT_SUBPX_NONE, +#endif +#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8 + .underline_position = -6, + .underline_thickness = 3, +#endif + .dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ +#if LV_VERSION_CHECK(8, 2, 0) || LVGL_VERSION_MAJOR >= 9 + .fallback = &lv_font_montserrat_12, +#endif + .user_data = NULL, +}; + + + +#endif /*#if DSEG14C_BI_50PX*/ diff --git a/components/user_fonts/InziuIosevka_Slab_CC_12px.c b/components/user_fonts/InziuIosevka_Slab_CC_12px.c new file mode 100644 index 0000000..1be81d2 --- /dev/null +++ b/components/user_fonts/InziuIosevka_Slab_CC_12px.c @@ -0,0 +1,924 @@ +/******************************************************************************* + * Size: 12 px + * Bpp: 1 + * Opts: --bpp 1 --size 12 --no-compress --stride 1 --align 1 --font Inziu-IosevkaCC-Slab-J-Regular-04.ttf --range 0-254 --format lvgl -o InziuIosevka_Slab_CC_12px.c + ******************************************************************************/ + +#ifdef __has_include + #if __has_include("lvgl.h") + #ifndef LV_LVGL_H_INCLUDE_SIMPLE + #define LV_LVGL_H_INCLUDE_SIMPLE + #endif + #endif +#endif + +#ifdef LV_LVGL_H_INCLUDE_SIMPLE + #include "lvgl.h" +#else + #include "lvgl/lvgl.h" +#endif + + + +#ifndef INZIUIOSEVKA_SLAB_CC_12PX +#define INZIUIOSEVKA_SLAB_CC_12PX 1 +#endif + +#if INZIUIOSEVKA_SLAB_CC_12PX + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { + /* U+000D "\r" */ + 0x0, + + /* U+0020 " " */ + 0x0, + + /* U+0021 "!" */ + 0x55, 0x50, 0xf0, + + /* U+0022 "\"" */ + 0xb6, 0xd0, + + /* U+0023 "#" */ + 0x52, 0x95, 0xf5, 0x29, 0x4a, 0xfa, 0x94, 0xa0, + + /* U+0024 "$" */ + 0x21, 0x1d, 0xda, 0x51, 0x86, 0x2d, 0x7c, 0x42, + 0x0, + + /* U+0025 "%" */ + 0x99, 0xa2, 0x24, 0x45, 0x99, + + /* U+0026 "&" */ + 0x64, 0xa5, 0x66, 0x36, 0xf3, 0x8b, 0xc0, + + /* U+0027 "'" */ + 0xf0, + + /* U+0028 "(" */ + 0x2, 0x44, 0x88, 0x88, 0x88, 0x84, 0x42, + + /* U+0029 ")" */ + 0x4, 0x22, 0x11, 0x11, 0x11, 0x12, 0x24, + + /* U+002A "*" */ + 0x21, 0x3e, 0xa5, 0x0, + + /* U+002B "+" */ + 0x21, 0x3e, 0x42, 0x0, + + /* U+002C "," */ + 0xf6, 0x0, + + /* U+002D "-" */ + 0xf0, + + /* U+002E "." */ + 0xf0, + + /* U+002F "/" */ + 0x11, 0x12, 0x22, 0x24, 0x44, 0x48, 0x88, + + /* U+0030 "0" */ + 0x74, 0x63, 0x3a, 0xd7, 0x31, 0xcb, 0x80, + + /* U+0031 "1" */ + 0x67, 0x8, 0x42, 0x10, 0x84, 0x27, 0xc0, + + /* U+0032 "2" */ + 0x72, 0x42, 0x11, 0x19, 0x88, 0x4f, 0xc0, + + /* U+0033 "3" */ + 0x72, 0x42, 0x33, 0xc, 0x21, 0x4b, 0x80, + + /* U+0034 "4" */ + 0x11, 0x8c, 0xa5, 0x4b, 0xe2, 0x11, 0xc0, + + /* U+0035 "5" */ + 0xfc, 0x61, 0xf, 0x4c, 0x21, 0x8b, 0x80, + + /* U+0036 "6" */ + 0x11, 0x11, 0x8f, 0x46, 0x31, 0x8b, 0x80, + + /* U+0037 "7" */ + 0xfc, 0x84, 0x22, 0x10, 0x84, 0x42, 0x0, + + /* U+0038 "8" */ + 0x74, 0x63, 0x37, 0x2a, 0x31, 0x8b, 0x80, + + /* U+0039 "9" */ + 0x74, 0x63, 0x18, 0xbc, 0x31, 0xdb, 0x80, + + /* U+003A ":" */ + 0xf0, 0x3c, + + /* U+003B ";" */ + 0xf0, 0x3d, 0x80, + + /* U+003C "<" */ + 0x0, 0x99, 0x88, 0x20, 0xc3, + + /* U+003D "=" */ + 0xf0, 0xf, + + /* U+003E ">" */ + 0x2, 0xc, 0x30, 0x89, 0x98, + + /* U+003F "?" */ + 0x74, 0x42, 0x11, 0x10, 0x80, 0x63, 0x0, + + /* U+0040 "@" */ + 0x74, 0x42, 0x1e, 0xd6, 0xb5, 0xad, 0x6b, 0xb0, + + /* U+0041 "A" */ + 0x30, 0xc3, 0xc, 0x31, 0x24, 0x9e, 0x4b, 0x30, + + /* U+0042 "B" */ + 0xf1, 0x24, 0x92, 0x49, 0xc4, 0xd1, 0x4f, 0xe0, + + /* U+0043 "C" */ + 0x74, 0xe1, 0x8, 0x42, 0x10, 0x9b, 0x80, + + /* U+0044 "D" */ + 0xf9, 0x34, 0x51, 0x45, 0x14, 0x51, 0x4f, 0xe0, + + /* U+0045 "E" */ + 0xfa, 0x50, 0x84, 0x39, 0x8, 0x4f, 0xc0, + + /* U+0046 "F" */ + 0xfa, 0x50, 0x84, 0x39, 0x8, 0x47, 0x0, + + /* U+0047 "G" */ + 0x74, 0x61, 0x8, 0x4e, 0x31, 0x8b, 0x80, + + /* U+0048 "H" */ + 0xcd, 0x24, 0x92, 0x79, 0x24, 0x92, 0x4b, 0x30, + + /* U+0049 "I" */ + 0xe9, 0x24, 0x92, 0x5c, + + /* U+004A "J" */ + 0x71, 0x11, 0x11, 0x11, 0x9e, + + /* U+004B "K" */ + 0xed, 0x25, 0x14, 0x71, 0xc5, 0x12, 0x4b, 0xb0, + + /* U+004C "L" */ + 0xe2, 0x10, 0x84, 0x21, 0x8, 0x4f, 0xc0, + + /* U+004D "M" */ + 0xcd, 0x27, 0x9e, 0x79, 0x64, 0x92, 0x4b, 0x30, + + /* U+004E "N" */ + 0xcd, 0xa6, 0x9a, 0x69, 0xa5, 0x96, 0x5b, 0x20, + + /* U+004F "O" */ + 0x74, 0x63, 0x18, 0xc6, 0x31, 0x8b, 0x80, + + /* U+0050 "P" */ + 0xf2, 0x52, 0x94, 0xb9, 0x8, 0x46, 0x0, + + /* U+0051 "Q" */ + 0x74, 0x63, 0x18, 0xc6, 0x31, 0x8b, 0x88, 0x30, + + /* U+0052 "R" */ + 0xf9, 0x14, 0x51, 0x45, 0xe5, 0x92, 0x4b, 0x90, + + /* U+0053 "S" */ + 0x69, 0x88, 0x42, 0x11, 0x96, + + /* U+0054 "T" */ + 0xfd, 0x48, 0x42, 0x10, 0x84, 0x23, 0x80, + + /* U+0055 "U" */ + 0xcd, 0x24, 0x92, 0x49, 0x24, 0x92, 0x48, 0xc0, + + /* U+0056 "V" */ + 0xcd, 0x24, 0x92, 0x48, 0xc3, 0xc, 0x30, 0xc0, + + /* U+0057 "W" */ + 0xcd, 0x24, 0x92, 0x49, 0xa7, 0x9e, 0x31, 0x40, + + /* U+0058 "X" */ + 0xcd, 0x24, 0x8c, 0x30, 0xc3, 0x12, 0x4b, 0x30, + + /* U+0059 "Y" */ + 0xee, 0x89, 0x11, 0x42, 0x82, 0x4, 0x8, 0x10, + 0x70, + + /* U+005A "Z" */ + 0xfc, 0x84, 0x42, 0x31, 0x8, 0x8f, 0xc0, + + /* U+005B "[" */ + 0xf8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x8f, + + /* U+005C "\\" */ + 0x88, 0x84, 0x44, 0x42, 0x22, 0x21, 0x11, + + /* U+005D "]" */ + 0xf1, 0x11, 0x11, 0x11, 0x11, 0x11, 0x1f, + + /* U+005E "^" */ + 0x6f, 0x90, + + /* U+005F "_" */ + 0xf0, + + /* U+0060 "`" */ + 0x88, 0x80, + + /* U+0061 "a" */ + 0x71, 0x20, 0x9e, 0x4a, 0x27, 0xc0, + + /* U+0062 "b" */ + 0xc1, 0x4, 0x1e, 0x45, 0x14, 0x51, 0x47, 0xe0, + + /* U+0063 "c" */ + 0x74, 0xe1, 0x8, 0x4d, 0xc0, + + /* U+0064 "d" */ + 0x18, 0x20, 0x9e, 0x8a, 0x28, 0xa2, 0x89, 0xf0, + + /* U+0065 "e" */ + 0x74, 0x63, 0xf8, 0x45, 0xc0, + + /* U+0066 "f" */ + 0x75, 0x4f, 0x44, 0x44, 0x4f, + + /* U+0067 "g" */ + 0x7c, 0x63, 0x17, 0x41, 0xd3, 0x9b, 0x80, + + /* U+0068 "h" */ + 0xc1, 0x4, 0x1c, 0x49, 0x24, 0x92, 0x4b, 0x30, + + /* U+0069 "i" */ + 0x60, 0x1, 0xc2, 0x10, 0x84, 0x27, 0xc0, + + /* U+006A "j" */ + 0x10, 0x7, 0x11, 0x11, 0x11, 0x19, 0x60, + + /* U+006B "k" */ + 0xc1, 0x4, 0x13, 0x51, 0x47, 0x14, 0x4b, 0xb0, + + /* U+006C "l" */ + 0xe1, 0x8, 0x42, 0x10, 0x84, 0x27, 0xc0, + + /* U+006D "m" */ + 0xfd, 0x6b, 0x5a, 0xd6, 0xa0, + + /* U+006E "n" */ + 0xf1, 0x24, 0x92, 0x49, 0x2c, 0xc0, + + /* U+006F "o" */ + 0x74, 0x63, 0x18, 0xc5, 0xc0, + + /* U+0070 "p" */ + 0xf9, 0x14, 0x51, 0x45, 0x17, 0x90, 0x43, 0x80, + + /* U+0071 "q" */ + 0x7e, 0x28, 0xa2, 0x8a, 0x27, 0x82, 0x8, 0x70, + + /* U+0072 "r" */ + 0xfa, 0x10, 0x84, 0x23, 0x80, + + /* U+0073 "s" */ + 0x74, 0xa0, 0xe1, 0x49, 0xc0, + + /* U+0074 "t" */ + 0x42, 0x11, 0xe4, 0x21, 0x8, 0x49, 0x80, + + /* U+0075 "u" */ + 0xc9, 0x24, 0x92, 0x49, 0x23, 0xc0, + + /* U+0076 "v" */ + 0xcd, 0x24, 0x92, 0x30, 0xc3, 0x0, + + /* U+0077 "w" */ + 0xcd, 0x24, 0x9a, 0x78, 0xc3, 0x0, + + /* U+0078 "x" */ + 0xcd, 0x23, 0xc, 0x31, 0x2c, 0xc0, + + /* U+0079 "y" */ + 0xcd, 0x24, 0x92, 0x30, 0xc3, 0x8, 0x21, 0x80, + + /* U+007A "z" */ + 0xfc, 0x8c, 0x44, 0x67, 0xe0, + + /* U+007B "{" */ + 0x36, 0x46, 0x22, 0xc6, 0x22, 0x44, 0x63, + + /* U+007C "|" */ + 0xff, 0xfc, + + /* U+007D "}" */ + 0xc6, 0x26, 0x44, 0x34, 0x44, 0x22, 0x6c, + + /* U+007E "~" */ + 0x1, 0xa9, 0x80, + + /* U+00A0 " " */ + 0x0, + + /* U+00A1 "¡" */ + 0xf0, 0x55, 0x50, + + /* U+00A2 "¢" */ + 0x23, 0xa7, 0x8, 0x42, 0x6e, 0x20, + + /* U+00A3 "£" */ + 0x32, 0x90, 0x8e, 0x21, 0x8, 0xc7, 0xc0, + + /* U+00A4 "¤" */ + 0xfc, 0x63, 0x1f, 0x80, + + /* U+00A5 "¥" */ + 0xcd, 0x24, 0x9c, 0x31, 0xe2, 0x1e, 0x20, 0xc0, + + /* U+00A6 "¦" */ + 0xfc, 0xfc, + + /* U+00A7 "§" */ + 0x74, 0x61, 0x6, 0x6e, 0x31, 0xd9, 0x82, 0x18, + 0xb8, + + /* U+00A8 "¨" */ + 0xf0, + + /* U+00A9 "©" */ + 0x3e, 0x31, 0xb7, 0x72, 0x99, 0xc, 0x86, 0x53, + 0xbb, 0x63, 0x1f, 0x0, + + /* U+00AA "ª" */ + 0x7f, 0x9f, 0xf, + + /* U+00AB "«" */ + 0x4a, 0xa9, 0x45, 0x28, 0xa0, + + /* U+00AC "¬" */ + 0xf1, 0x10, + + /* U+00AD "­" */ + 0xf0, + + /* U+00AE "®" */ + 0x3e, 0x31, 0xb7, 0x72, 0x99, 0x4c, 0xc6, 0x53, + 0xab, 0x63, 0x1f, 0x0, + + /* U+00AF "¯" */ + 0xf0, + + /* U+00B0 "°" */ + 0xf7, 0x80, + + /* U+00B1 "±" */ + 0x21, 0x9, 0xf2, 0x10, 0x1f, + + /* U+00B2 "²" */ + 0x79, 0x16, 0x4f, + + /* U+00B3 "³" */ + 0x71, 0x31, 0x97, + + /* U+00B4 "´" */ + 0x2a, 0x0, + + /* U+00B5 "µ" */ + 0xc9, 0x24, 0x92, 0x49, 0x27, 0xd0, 0x43, 0x0, + + /* U+00B6 "¶" */ + 0x6d, 0x6b, 0x5a, 0xb4, 0xa5, 0x29, 0x40, + + /* U+00B7 "·" */ + 0xf0, + + /* U+00B8 "¸" */ + 0x47, 0x80, + + /* U+00B9 "¹" */ + 0xc9, 0x25, 0xc0, + + /* U+00BA "º" */ + 0xf9, 0x9f, 0xf, + + /* U+00BB "»" */ + 0xa2, 0x8a, 0x55, 0x2a, 0x80, + + /* U+00BC "¼" */ + 0x26, 0x22, 0x26, 0xf, 0x2, 0x66, 0x62, + + /* U+00BD "½" */ + 0x23, 0x8, 0x42, 0x38, 0x1f, 0x3, 0x84, 0x44, + 0x38, + + /* U+00BE "¾" */ + 0x62, 0x62, 0x60, 0xf0, 0x26, 0xaf, 0x20, + + /* U+00BF "¿" */ + 0x63, 0x0, 0x42, 0x22, 0x10, 0x8b, 0x80, + + /* U+00C0 "À" */ + 0x20, 0x80, 0xc, 0x30, 0xc3, 0xc, 0x49, 0x27, + 0x92, 0xcc, + + /* U+00C1 "Á" */ + 0x10, 0x40, 0xc, 0x30, 0xc3, 0xc, 0x49, 0x27, + 0x92, 0xcc, + + /* U+00C2 "Â" */ + 0x0, 0xc0, 0xc, 0x30, 0xc3, 0xc, 0x49, 0x27, + 0x92, 0xcc, + + /* U+00C3 "Ã" */ + 0x1, 0xa1, 0xc, 0x30, 0xc3, 0xc, 0x49, 0x27, + 0x92, 0xcc, + + /* U+00C4 "Ä" */ + 0x78, 0x3, 0xc, 0x30, 0xc3, 0x12, 0x49, 0xe4, + 0xb3, + + /* U+00C5 "Å" */ + 0x30, 0xc3, 0xc, 0x30, 0xc3, 0xc, 0x49, 0x27, + 0x92, 0xcc, + + /* U+00C6 "Æ" */ + 0x3c, 0xd3, 0xc, 0x39, 0x45, 0x1c, 0x57, 0xf0, + + /* U+00C7 "Ç" */ + 0x79, 0x88, 0x88, 0x88, 0x97, 0x22, 0x60, + + /* U+00C8 "È" */ + 0x41, 0x1, 0xf4, 0xa1, 0x8, 0x72, 0x10, 0x9f, + 0x80, + + /* U+00C9 "É" */ + 0x11, 0x81, 0xf4, 0xa1, 0x8, 0x72, 0x10, 0x9f, + 0x80, + + /* U+00CA "Ê" */ + 0x23, 0x91, 0xf4, 0xa1, 0x8, 0x72, 0x10, 0x9f, + 0x80, + + /* U+00CB "Ë" */ + 0x78, 0x3e, 0x94, 0x21, 0xe, 0x42, 0x13, 0xf0, + + /* U+00CC "Ì" */ + 0x88, 0x74, 0x92, 0x49, 0x2e, + + /* U+00CD "Í" */ + 0x28, 0x74, 0x92, 0x49, 0x2e, + + /* U+00CE "Î" */ + 0x22, 0x80, 0xe2, 0x10, 0x84, 0x21, 0x8, 0x47, + 0x0, + + /* U+00CF "Ï" */ + 0xf0, 0x72, 0x22, 0x22, 0x22, 0x27, + + /* U+00D0 "Ð" */ + 0xf9, 0x34, 0x51, 0x47, 0xd4, 0x51, 0x4f, 0xe0, + + /* U+00D1 "Ñ" */ + 0x1, 0xa1, 0x33, 0x69, 0xa6, 0x9a, 0x69, 0x65, + 0x96, 0xc8, + + /* U+00D2 "Ò" */ + 0x41, 0x8, 0xe8, 0xc6, 0x31, 0x8c, 0x63, 0x17, + 0x0, + + /* U+00D3 "Ó" */ + 0x11, 0x8, 0xe8, 0xc6, 0x31, 0x8c, 0x63, 0x17, + 0x0, + + /* U+00D4 "Ô" */ + 0x22, 0x80, 0xe8, 0xc6, 0x31, 0x8c, 0x63, 0x17, + 0x0, + + /* U+00D5 "Õ" */ + 0x3, 0x80, 0xe8, 0xc6, 0x31, 0x8c, 0x63, 0x17, + 0x0, + + /* U+00D6 "Ö" */ + 0xf0, 0x1d, 0x18, 0xc6, 0x31, 0x8c, 0x62, 0xe0, + + /* U+00D7 "×" */ + 0x85, 0x23, 0xc, 0x4b, 0x30, + + /* U+00D8 "Ø" */ + 0x3, 0xe7, 0x3b, 0xd6, 0xbd, 0xce, 0x7c, 0x0, + + /* U+00D9 "Ù" */ + 0x20, 0x80, 0x33, 0x49, 0x24, 0x92, 0x49, 0x24, + 0x92, 0x30, + + /* U+00DA "Ú" */ + 0x10, 0x40, 0x33, 0x49, 0x24, 0x92, 0x49, 0x24, + 0x92, 0x30, + + /* U+00DB "Û" */ + 0x31, 0xe0, 0x33, 0x49, 0x24, 0x92, 0x49, 0x24, + 0x92, 0x30, + + /* U+00DC "Ü" */ + 0x78, 0xc, 0xd2, 0x49, 0x24, 0x92, 0x49, 0x24, + 0x8c, + + /* U+00DD "Ý" */ + 0x8, 0x20, 0x7, 0x74, 0x48, 0x8a, 0x14, 0x10, + 0x20, 0x40, 0x83, 0x80, + + /* U+00DE "Þ" */ + 0xc2, 0x1c, 0x94, 0xa5, 0x2e, 0x46, 0x0, + + /* U+00DF "ß" */ + 0x31, 0x24, 0x92, 0x49, 0x44, 0xd1, 0x4f, 0x60, + + /* U+00E0 "à" */ + 0x40, 0x80, 0x1c, 0x48, 0x27, 0x92, 0x89, 0xf0, + + /* U+00E1 "á" */ + 0x10, 0xc2, 0x1c, 0x48, 0x27, 0x92, 0x89, 0xf0, + + /* U+00E2 "â" */ + 0x31, 0x64, 0x1c, 0x48, 0x27, 0x92, 0x89, 0xf0, + + /* U+00E3 "ã" */ + 0x69, 0x60, 0x1c, 0x48, 0x27, 0x92, 0x89, 0xf0, + + /* U+00E4 "ä" */ + 0x78, 0x0, 0x1c, 0x48, 0x27, 0x92, 0x89, 0xf0, + + /* U+00E5 "å" */ + 0x30, 0xc3, 0x1c, 0x48, 0x27, 0x92, 0x89, 0xf0, + + /* U+00E6 "æ" */ + 0x7d, 0x4b, 0xfa, 0x57, 0xe0, + + /* U+00E7 "ç" */ + 0x79, 0x88, 0x89, 0x72, 0x26, + + /* U+00E8 "è" */ + 0x41, 0x8, 0xe8, 0xc7, 0xf0, 0x8b, 0x80, + + /* U+00E9 "é" */ + 0x11, 0x8, 0xe8, 0xc7, 0xf0, 0x8b, 0x80, + + /* U+00EA "ê" */ + 0x22, 0x80, 0xe8, 0xc7, 0xf0, 0x8b, 0x80, + + /* U+00EB "ë" */ + 0xf0, 0x0, 0xe8, 0xc7, 0xf0, 0x8b, 0x80, + + /* U+00EC "ì" */ + 0x41, 0x9, 0xc2, 0x10, 0x84, 0x27, 0xc0, + + /* U+00ED "í" */ + 0x11, 0x1, 0xc2, 0x10, 0x84, 0x27, 0xc0, + + /* U+00EE "î" */ + 0x62, 0x81, 0xc2, 0x10, 0x84, 0x27, 0xc0, + + /* U+00EF "ï" */ + 0xf0, 0x1, 0xc2, 0x10, 0x84, 0x27, 0xc0, + + /* U+00F0 "ð" */ + 0x41, 0xe, 0xa7, 0xc6, 0x31, 0x8b, 0x80, + + /* U+00F1 "ñ" */ + 0x29, 0x60, 0x3c, 0x49, 0x24, 0x92, 0x4b, 0x30, + + /* U+00F2 "ò" */ + 0x41, 0x8, 0xe8, 0xc6, 0x31, 0x8b, 0x80, + + /* U+00F3 "ó" */ + 0x11, 0x8, 0xe8, 0xc6, 0x31, 0x8b, 0x80, + + /* U+00F4 "ô" */ + 0x22, 0x80, 0xe8, 0xc6, 0x31, 0x8b, 0x80, + + /* U+00F5 "õ" */ + 0x6d, 0x80, 0xe8, 0xc6, 0x31, 0x8b, 0x80, + + /* U+00F6 "ö" */ + 0xf0, 0x0, 0xe8, 0xc6, 0x31, 0x8b, 0x80, + + /* U+00F7 "÷" */ + 0x30, 0x0, 0x3f, 0x0, 0x3, 0x0, + + /* U+00F8 "ø" */ + 0x7c, 0xef, 0x5e, 0xe7, 0xc0, + + /* U+00F9 "ù" */ + 0x20, 0x80, 0x32, 0x49, 0x24, 0x92, 0x48, 0xf0, + + /* U+00FA "ú" */ + 0x10, 0x40, 0x32, 0x49, 0x24, 0x92, 0x48, 0xf0, + + /* U+00FB "û" */ + 0x31, 0xe0, 0x32, 0x49, 0x24, 0x92, 0x48, 0xf0, + + /* U+00FC "ü" */ + 0x78, 0x0, 0x32, 0x49, 0x24, 0x92, 0x48, 0xf0, + + /* U+00FD "ý" */ + 0x18, 0x40, 0x33, 0x49, 0x24, 0x8c, 0x30, 0xc2, + 0x8, 0x60, + + /* U+00FE "þ" */ + 0xc1, 0x4, 0x1e, 0x45, 0x14, 0x51, 0x45, 0xe4, + 0x10, 0xe0 +}; + + +/*--------------------- + * GLYPH DESCRIPTION + *--------------------*/ + +static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { + {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, + {.bitmap_index = 0, .adv_w = 192, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1, .adv_w = 96, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2, .adv_w = 96, .box_w = 2, .box_h = 10, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5, .adv_w = 96, .box_w = 3, .box_h = 4, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 7, .adv_w = 96, .box_w = 5, .box_h = 12, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 15, .adv_w = 96, .box_w = 5, .box_h = 13, .ofs_x = 1, .ofs_y = -1}, + {.bitmap_index = 24, .adv_w = 96, .box_w = 4, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 29, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 36, .adv_w = 96, .box_w = 1, .box_h = 4, .ofs_x = 3, .ofs_y = 6}, + {.bitmap_index = 37, .adv_w = 96, .box_w = 4, .box_h = 14, .ofs_x = 2, .ofs_y = -2}, + {.bitmap_index = 44, .adv_w = 96, .box_w = 4, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 51, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 55, .adv_w = 96, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 59, .adv_w = 96, .box_w = 2, .box_h = 5, .ofs_x = 2, .ofs_y = -3}, + {.bitmap_index = 61, .adv_w = 96, .box_w = 4, .box_h = 1, .ofs_x = 1, .ofs_y = 4}, + {.bitmap_index = 62, .adv_w = 96, .box_w = 2, .box_h = 2, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 63, .adv_w = 96, .box_w = 4, .box_h = 14, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 70, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 77, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 84, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 91, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 98, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 105, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 112, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 119, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 126, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 133, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 140, .adv_w = 96, .box_w = 2, .box_h = 7, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 142, .adv_w = 96, .box_w = 2, .box_h = 10, .ofs_x = 2, .ofs_y = -3}, + {.bitmap_index = 145, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 1, .ofs_y = 1}, + {.bitmap_index = 150, .adv_w = 96, .box_w = 4, .box_h = 4, .ofs_x = 1, .ofs_y = 3}, + {.bitmap_index = 152, .adv_w = 96, .box_w = 5, .box_h = 8, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 157, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 164, .adv_w = 96, .box_w = 5, .box_h = 12, .ofs_x = 1, .ofs_y = -1}, + {.bitmap_index = 172, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 180, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 188, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 195, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 203, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 210, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 217, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 224, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 232, .adv_w = 96, .box_w = 3, .box_h = 10, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 236, .adv_w = 96, .box_w = 4, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 241, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 249, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 256, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 264, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 272, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 279, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 286, .adv_w = 96, .box_w = 5, .box_h = 12, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 294, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 302, .adv_w = 96, .box_w = 4, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 307, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 314, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 322, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 330, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 338, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 346, .adv_w = 96, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 355, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 362, .adv_w = 96, .box_w = 4, .box_h = 14, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 369, .adv_w = 96, .box_w = 4, .box_h = 14, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 376, .adv_w = 96, .box_w = 4, .box_h = 14, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 383, .adv_w = 96, .box_w = 4, .box_h = 3, .ofs_x = 1, .ofs_y = 7}, + {.bitmap_index = 385, .adv_w = 96, .box_w = 4, .box_h = 1, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 386, .adv_w = 96, .box_w = 3, .box_h = 3, .ofs_x = 1, .ofs_y = 7}, + {.bitmap_index = 388, .adv_w = 96, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 394, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 402, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 407, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 415, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 420, .adv_w = 96, .box_w = 4, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 425, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 432, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 440, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 447, .adv_w = 96, .box_w = 4, .box_h = 13, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 454, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 462, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 469, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 474, .adv_w = 96, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 480, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 485, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 493, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 501, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 506, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 511, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 518, .adv_w = 96, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 524, .adv_w = 96, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 530, .adv_w = 96, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 536, .adv_w = 96, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 542, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 550, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 555, .adv_w = 96, .box_w = 4, .box_h = 14, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 562, .adv_w = 96, .box_w = 1, .box_h = 14, .ofs_x = 3, .ofs_y = -2}, + {.bitmap_index = 564, .adv_w = 96, .box_w = 4, .box_h = 14, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 571, .adv_w = 96, .box_w = 6, .box_h = 3, .ofs_x = 0, .ofs_y = 3}, + {.bitmap_index = 574, .adv_w = 96, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 575, .adv_w = 96, .box_w = 2, .box_h = 10, .ofs_x = 2, .ofs_y = -3}, + {.bitmap_index = 578, .adv_w = 96, .box_w = 5, .box_h = 9, .ofs_x = 1, .ofs_y = -1}, + {.bitmap_index = 584, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 591, .adv_w = 192, .box_w = 5, .box_h = 5, .ofs_x = 3, .ofs_y = 2}, + {.bitmap_index = 595, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 603, .adv_w = 96, .box_w = 1, .box_h = 14, .ofs_x = 3, .ofs_y = -2}, + {.bitmap_index = 605, .adv_w = 192, .box_w = 5, .box_h = 14, .ofs_x = 3, .ofs_y = -2}, + {.bitmap_index = 614, .adv_w = 96, .box_w = 4, .box_h = 1, .ofs_x = 1, .ofs_y = 8}, + {.bitmap_index = 615, .adv_w = 192, .box_w = 9, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 627, .adv_w = 96, .box_w = 4, .box_h = 6, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 630, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 1}, + {.bitmap_index = 635, .adv_w = 96, .box_w = 4, .box_h = 3, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 637, .adv_w = 96, .box_w = 4, .box_h = 1, .ofs_x = 1, .ofs_y = 4}, + {.bitmap_index = 638, .adv_w = 192, .box_w = 9, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 650, .adv_w = 96, .box_w = 4, .box_h = 1, .ofs_x = 1, .ofs_y = 8}, + {.bitmap_index = 651, .adv_w = 96, .box_w = 3, .box_h = 3, .ofs_x = 2, .ofs_y = 7}, + {.bitmap_index = 653, .adv_w = 192, .box_w = 5, .box_h = 8, .ofs_x = 4, .ofs_y = 0}, + {.bitmap_index = 658, .adv_w = 96, .box_w = 4, .box_h = 6, .ofs_x = 1, .ofs_y = 4}, + {.bitmap_index = 661, .adv_w = 96, .box_w = 4, .box_h = 6, .ofs_x = 1, .ofs_y = 4}, + {.bitmap_index = 664, .adv_w = 96, .box_w = 3, .box_h = 3, .ofs_x = 2, .ofs_y = 7}, + {.bitmap_index = 666, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 674, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 681, .adv_w = 192, .box_w = 2, .box_h = 2, .ofs_x = 5, .ofs_y = 4}, + {.bitmap_index = 682, .adv_w = 96, .box_w = 3, .box_h = 3, .ofs_x = 2, .ofs_y = -3}, + {.bitmap_index = 684, .adv_w = 96, .box_w = 3, .box_h = 6, .ofs_x = 2, .ofs_y = 4}, + {.bitmap_index = 687, .adv_w = 96, .box_w = 4, .box_h = 6, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 690, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 695, .adv_w = 96, .box_w = 4, .box_h = 14, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 702, .adv_w = 96, .box_w = 5, .box_h = 14, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 711, .adv_w = 96, .box_w = 4, .box_h = 13, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 718, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 725, .adv_w = 96, .box_w = 6, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 735, .adv_w = 96, .box_w = 6, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 745, .adv_w = 96, .box_w = 6, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 755, .adv_w = 96, .box_w = 6, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 765, .adv_w = 96, .box_w = 6, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 774, .adv_w = 96, .box_w = 6, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 784, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 792, .adv_w = 96, .box_w = 4, .box_h = 13, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 799, .adv_w = 96, .box_w = 5, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 808, .adv_w = 96, .box_w = 5, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 817, .adv_w = 96, .box_w = 5, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 826, .adv_w = 96, .box_w = 5, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 834, .adv_w = 96, .box_w = 3, .box_h = 13, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 839, .adv_w = 96, .box_w = 3, .box_h = 13, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 844, .adv_w = 96, .box_w = 5, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 853, .adv_w = 96, .box_w = 4, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 859, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 867, .adv_w = 96, .box_w = 6, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 877, .adv_w = 96, .box_w = 5, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 886, .adv_w = 96, .box_w = 5, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 895, .adv_w = 96, .box_w = 5, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 904, .adv_w = 96, .box_w = 5, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 913, .adv_w = 96, .box_w = 5, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 921, .adv_w = 192, .box_w = 6, .box_h = 6, .ofs_x = 3, .ofs_y = 2}, + {.bitmap_index = 926, .adv_w = 96, .box_w = 5, .box_h = 12, .ofs_x = 1, .ofs_y = -1}, + {.bitmap_index = 934, .adv_w = 96, .box_w = 6, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 944, .adv_w = 96, .box_w = 6, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 954, .adv_w = 96, .box_w = 6, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 964, .adv_w = 96, .box_w = 6, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 973, .adv_w = 96, .box_w = 7, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 985, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 992, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1000, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1008, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1016, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1024, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1032, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1040, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1048, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1053, .adv_w = 96, .box_w = 4, .box_h = 10, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 1058, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1065, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1072, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1079, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1086, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1093, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1100, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1107, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1114, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1121, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1129, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1136, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1143, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1150, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1157, .adv_w = 96, .box_w = 5, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1164, .adv_w = 192, .box_w = 6, .box_h = 7, .ofs_x = 3, .ofs_y = 1}, + {.bitmap_index = 1170, .adv_w = 96, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1175, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1183, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1191, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1199, .adv_w = 96, .box_w = 6, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1207, .adv_w = 96, .box_w = 6, .box_h = 13, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 1217, .adv_w = 96, .box_w = 6, .box_h = 13, .ofs_x = 0, .ofs_y = -3} +}; + +/*--------------------- + * CHARACTER MAPPING + *--------------------*/ + + + +/*Collect the unicode lists and glyph_id offsets*/ +static const lv_font_fmt_txt_cmap_t cmaps[] = +{ + { + .range_start = 13, .range_length = 1, .glyph_id_start = 1, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + }, + { + .range_start = 32, .range_length = 95, .glyph_id_start = 2, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + }, + { + .range_start = 160, .range_length = 95, .glyph_id_start = 97, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + } +}; + + + +/*-------------------- + * ALL CUSTOM DATA + *--------------------*/ + +#if LVGL_VERSION_MAJOR == 8 +/*Store all the custom data of the font*/ +static lv_font_fmt_txt_glyph_cache_t cache; +#endif + +#if LVGL_VERSION_MAJOR >= 8 +static const lv_font_fmt_txt_dsc_t font_dsc = { +#else +static lv_font_fmt_txt_dsc_t font_dsc = { +#endif + .glyph_bitmap = glyph_bitmap, + .glyph_dsc = glyph_dsc, + .cmaps = cmaps, + .kern_dsc = NULL, + .kern_scale = 0, + .cmap_num = 3, + .bpp = 1, + .kern_classes = 0, + .bitmap_format = 0, +#if LVGL_VERSION_MAJOR == 8 + .cache = &cache +#endif + +}; + +extern const lv_font_t lv_font_montserrat_12; + + +/*----------------- + * PUBLIC FONT + *----------------*/ + +/*Initialize a public general font descriptor*/ +#if LVGL_VERSION_MAJOR >= 8 +const lv_font_t InziuIosevka_Slab_CC_12px = { +#else +lv_font_t InziuIosevka_Slab_CC_12px = { +#endif + .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ + .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ + .line_height = 16, /*The maximum line height required by the font*/ + .base_line = 3, /*Baseline measured from the bottom of the line*/ +#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0) + .subpx = LV_FONT_SUBPX_NONE, +#endif +#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8 + .underline_position = -2, + .underline_thickness = 1, +#endif + .dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ +#if LV_VERSION_CHECK(8, 2, 0) || LVGL_VERSION_MAJOR >= 9 + .fallback = &lv_font_montserrat_12, +#endif + .user_data = NULL, +}; + + + +#endif /*#if INZIUIOSEVKA_SLAB_CC_12PX*/ diff --git a/components/user_fonts/InziuIosevka_Slab_CC_16px.c b/components/user_fonts/InziuIosevka_Slab_CC_16px.c new file mode 100644 index 0000000..05547d3 --- /dev/null +++ b/components/user_fonts/InziuIosevka_Slab_CC_16px.c @@ -0,0 +1,1036 @@ +/******************************************************************************* + * Size: 16 px + * Bpp: 1 + * Opts: --bpp 1 --size 16 --no-compress --stride 1 --align 1 --font Inziu-IosevkaCC-Slab-J-Regular-04.ttf --range 0-254 --format lvgl -o InziuIosevka_Slab_CC_16px.c + ******************************************************************************/ + +#ifdef __has_include + #if __has_include("lvgl.h") + #ifndef LV_LVGL_H_INCLUDE_SIMPLE + #define LV_LVGL_H_INCLUDE_SIMPLE + #endif + #endif +#endif + +#ifdef LV_LVGL_H_INCLUDE_SIMPLE + #include "lvgl.h" +#else + #include "lvgl/lvgl.h" +#endif + + + +#ifndef INZIUIOSEVKA_SLAB_CC_16PX +#define INZIUIOSEVKA_SLAB_CC_16PX 1 +#endif + +#if INZIUIOSEVKA_SLAB_CC_16PX + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { + /* U+000D "\r" */ + 0x0, + + /* U+0020 " " */ + 0x0, + + /* U+0021 "!" */ + 0x55, 0x55, 0xf, + + /* U+0022 "\"" */ + 0x99, 0x99, 0x90, + + /* U+0023 "#" */ + 0x44, 0x89, 0x12, 0x2f, 0xe8, 0x91, 0x22, 0x44, + 0x8b, 0xfa, 0x24, 0x48, 0x91, 0x0, + + /* U+0024 "$" */ + 0x21, 0x8, 0xea, 0xd2, 0x8c, 0x31, 0xcb, 0x5f, + 0xb8, 0x84, + + /* U+0025 "%" */ + 0xcf, 0x2c, 0x86, 0x10, 0xc3, 0x8, 0x61, 0x34, + 0xf3, + + /* U+0026 "&" */ + 0x30, 0x91, 0x22, 0x45, 0x86, 0x1d, 0x6e, 0x8d, + 0xb, 0x33, 0xe0, + + /* U+0027 "'" */ + 0xf8, + + /* U+0028 "(" */ + 0x11, 0x98, 0x84, 0x42, 0x10, 0x84, 0x21, 0x8, + 0x21, 0xc, 0x30, 0x80, + + /* U+0029 ")" */ + 0x43, 0xc, 0x21, 0x4, 0x21, 0x8, 0x42, 0x10, + 0x88, 0x46, 0x62, 0x0, + + /* U+002A "*" */ + 0x10, 0x23, 0x59, 0xc2, 0x8d, 0x80, 0x0, + + /* U+002B "+" */ + 0x20, 0x82, 0x3f, 0x20, 0x82, 0x0, + + /* U+002C "," */ + 0xfd, 0xbd, 0x0, + + /* U+002D "-" */ + 0xfc, + + /* U+002E "." */ + 0xfc, + + /* U+002F "/" */ + 0x4, 0x30, 0x82, 0x8, 0x61, 0x4, 0x30, 0xc2, + 0x8, 0x61, 0x4, 0x10, 0xc2, 0x0, + + /* U+0030 "0" */ + 0x7b, 0x38, 0x63, 0x9e, 0x5b, 0x79, 0xc6, 0x1c, + 0xde, + + /* U+0031 "1" */ + 0x30, 0xe1, 0x40, 0x81, 0x2, 0x4, 0x8, 0x10, + 0x20, 0x43, 0xf0, + + /* U+0032 "2" */ + 0x39, 0x3c, 0x41, 0x4, 0x21, 0x8c, 0x61, 0x4, + 0x7f, + + /* U+0033 "3" */ + 0x79, 0x1c, 0x41, 0xc, 0xc0, 0x81, 0x6, 0x1c, + 0xde, + + /* U+0034 "4" */ + 0x18, 0x63, 0x8a, 0x69, 0x2c, 0xbf, 0x8, 0x20, + 0x87, + + /* U+0035 "5" */ + 0xfa, 0x28, 0x20, 0xf3, 0x20, 0x41, 0x6, 0x1c, + 0x9c, + + /* U+0036 "6" */ + 0x8, 0xe2, 0x10, 0x43, 0xec, 0xa1, 0x86, 0x18, + 0x52, 0x78, + + /* U+0037 "7" */ + 0xfe, 0x30, 0xc2, 0x18, 0x41, 0xc, 0x20, 0x86, + 0x10, + + /* U+0038 "8" */ + 0x7b, 0x38, 0x61, 0xcd, 0xe7, 0xb3, 0x86, 0x1c, + 0xde, + + /* U+0039 "9" */ + 0x7b, 0x28, 0x61, 0x87, 0x37, 0xc1, 0x6, 0x14, + 0x9e, + + /* U+003A ":" */ + 0xfc, 0x0, 0x7, 0xe0, + + /* U+003B ";" */ + 0xfc, 0x0, 0x3f, 0x6f, 0x40, + + /* U+003C "<" */ + 0x4, 0x73, 0x18, 0xc3, 0x6, 0xc, 0xc, 0x10, + + /* U+003D "=" */ + 0xfc, 0x0, 0x3f, + + /* U+003E ">" */ + 0x83, 0x83, 0x6, 0xc, 0x31, 0x8c, 0xc2, 0x0, + + /* U+003F "?" */ + 0x7b, 0x18, 0x41, 0xc, 0x21, 0x84, 0x10, 0x3, + 0xc, + + /* U+0040 "@" */ + 0x74, 0xe2, 0x10, 0xf6, 0xb5, 0xad, 0x6b, 0x5a, + 0xd7, 0x60, + + /* U+0041 "A" */ + 0x10, 0x20, 0xc1, 0x42, 0x85, 0xa, 0x34, 0x7c, + 0x89, 0x17, 0x70, + + /* U+0042 "B" */ + 0xf8, 0x99, 0x12, 0x24, 0xcf, 0x11, 0x21, 0x42, + 0x85, 0x17, 0xc0, + + /* U+0043 "C" */ + 0x7b, 0x38, 0x60, 0x82, 0x8, 0x20, 0x82, 0x1c, + 0xde, + + /* U+0044 "D" */ + 0xf8, 0x89, 0xa, 0x14, 0x28, 0x50, 0xa1, 0x42, + 0x85, 0x17, 0xc0, + + /* U+0045 "E" */ + 0xfd, 0x14, 0x10, 0x41, 0xe4, 0x10, 0x41, 0x4, + 0x7f, + + /* U+0046 "F" */ + 0xfd, 0x14, 0x10, 0x41, 0xe4, 0x10, 0x41, 0x4, + 0x38, + + /* U+0047 "G" */ + 0x7b, 0x38, 0x20, 0x82, 0x78, 0x61, 0x86, 0x1c, + 0xde, + + /* U+0048 "H" */ + 0xee, 0x89, 0x12, 0x24, 0x4f, 0x91, 0x22, 0x44, + 0x89, 0x17, 0x70, + + /* U+0049 "I" */ + 0xf2, 0x22, 0x22, 0x22, 0x22, 0x2f, + + /* U+004A "J" */ + 0x1c, 0x10, 0x41, 0x4, 0x10, 0x41, 0x7, 0x14, + 0xce, + + /* U+004B "K" */ + 0xe6, 0x99, 0x22, 0xc5, 0xf, 0x1a, 0x24, 0x48, + 0x99, 0x17, 0x30, + + /* U+004C "L" */ + 0xe1, 0x4, 0x10, 0x41, 0x4, 0x10, 0x41, 0x4, + 0x7f, + + /* U+004D "M" */ + 0xc6, 0xcd, 0x9b, 0x76, 0xad, 0x54, 0xa9, 0x42, + 0x85, 0xf, 0x70, + + /* U+004E "N" */ + 0xee, 0xc9, 0x93, 0x25, 0x4a, 0x95, 0x2a, 0x4c, + 0x99, 0x37, 0x60, + + /* U+004F "O" */ + 0x7b, 0x38, 0x61, 0x86, 0x18, 0x61, 0x86, 0x1c, + 0xde, + + /* U+0050 "P" */ + 0xf9, 0x34, 0x51, 0x45, 0x37, 0x90, 0x41, 0x4, + 0x38, + + /* U+0051 "Q" */ + 0x7b, 0x38, 0x61, 0x86, 0x18, 0x61, 0x86, 0x18, + 0x5e, 0x30, 0x41, 0xc0, + + /* U+0052 "R" */ + 0xfc, 0x8d, 0xa, 0x14, 0x6f, 0x92, 0x24, 0x4c, + 0x89, 0x1f, 0x30, + + /* U+0053 "S" */ + 0x7b, 0x38, 0x60, 0xc1, 0x81, 0x83, 0x6, 0x18, + 0xde, + + /* U+0054 "T" */ + 0xfe, 0x51, 0x4, 0x10, 0x41, 0x4, 0x10, 0x41, + 0xe, + + /* U+0055 "U" */ + 0xee, 0x89, 0x12, 0x24, 0x48, 0x91, 0x22, 0x44, + 0x89, 0x11, 0xc0, + + /* U+0056 "V" */ + 0xee, 0x89, 0x12, 0x24, 0x85, 0xa, 0x14, 0x28, + 0x60, 0x40, 0x80, + + /* U+0057 "W" */ + 0xee, 0x89, 0x12, 0x24, 0x4a, 0x95, 0x3a, 0x74, + 0x50, 0xa1, 0x40, + + /* U+0058 "X" */ + 0xee, 0x89, 0xb1, 0x42, 0x82, 0x4, 0x14, 0x28, + 0xd9, 0x17, 0x70, + + /* U+0059 "Y" */ + 0xee, 0x89, 0x12, 0x62, 0x85, 0x4, 0x8, 0x10, + 0x20, 0x41, 0xc0, + + /* U+005A "Z" */ + 0xfe, 0x10, 0x82, 0x10, 0x42, 0x8, 0x41, 0x8, + 0x7f, + + /* U+005B "[" */ + 0xfc, 0x21, 0x8, 0x42, 0x10, 0x84, 0x21, 0x8, + 0x42, 0x10, 0x87, 0xc0, + + /* U+005C "\\" */ + 0x83, 0x4, 0x10, 0x41, 0x82, 0x8, 0x30, 0xc1, + 0x4, 0x18, 0x20, 0x82, 0xc, 0x10, + + /* U+005D "]" */ + 0xf8, 0x42, 0x10, 0x84, 0x21, 0x8, 0x42, 0x10, + 0x84, 0x21, 0xf, 0xc0, + + /* U+005E "^" */ + 0x31, 0xec, 0xe1, + + /* U+005F "_" */ + 0xfc, + + /* U+0060 "`" */ + 0x46, 0x31, + + /* U+0061 "a" */ + 0x79, 0x98, 0x10, 0x27, 0xd8, 0xa1, 0x46, 0x76, + + /* U+0062 "b" */ + 0xc0, 0x81, 0x2, 0xe6, 0x68, 0x50, 0xa1, 0x42, + 0x85, 0x9e, 0xe0, + + /* U+0063 "c" */ + 0x7b, 0x38, 0x60, 0x82, 0x8, 0x73, 0x78, + + /* U+0064 "d" */ + 0xc, 0x8, 0x13, 0xac, 0xd0, 0xa1, 0x42, 0x85, + 0xb, 0x33, 0xb0, + + /* U+0065 "e" */ + 0x7b, 0x38, 0x61, 0xfe, 0x8, 0x13, 0x78, + + /* U+0066 "f" */ + 0x18, 0x92, 0x8, 0xf8, 0x82, 0x8, 0x20, 0x82, + 0x3e, + + /* U+0067 "g" */ + 0x7e, 0x18, 0x63, 0x7a, 0xc, 0x1e, 0x86, 0x1c, + 0xde, + + /* U+0068 "h" */ + 0xc0, 0x81, 0x2, 0xc6, 0xc8, 0x91, 0x22, 0x44, + 0x89, 0x17, 0x70, + + /* U+0069 "i" */ + 0x30, 0xc0, 0x38, 0x20, 0x82, 0x8, 0x20, 0x82, + 0x3f, + + /* U+006A "j" */ + 0x18, 0xc0, 0x70, 0x84, 0x21, 0x8, 0x42, 0x10, + 0xcd, 0xc0, + + /* U+006B "k" */ + 0xc0, 0x81, 0x2, 0x34, 0x8b, 0x1c, 0x3c, 0x48, + 0x91, 0x17, 0x30, + + /* U+006C "l" */ + 0xe0, 0x82, 0x8, 0x20, 0x82, 0x8, 0x20, 0x82, + 0x3f, + + /* U+006D "m" */ + 0xfe, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, + 0xcb, + + /* U+006E "n" */ + 0xf8, 0xd9, 0x12, 0x24, 0x48, 0x91, 0x22, 0xee, + + /* U+006F "o" */ + 0x7b, 0x38, 0x61, 0x86, 0x18, 0x73, 0x78, + + /* U+0070 "p" */ + 0xdc, 0xcd, 0xa, 0x14, 0x28, 0x50, 0xb3, 0x5c, + 0x81, 0x7, 0x0, + + /* U+0071 "q" */ + 0x77, 0x9a, 0x14, 0x28, 0x50, 0xa1, 0x66, 0x74, + 0x8, 0x10, 0x70, + + /* U+0072 "r" */ + 0xdd, 0x94, 0x10, 0x41, 0x4, 0x10, 0xf0, + + /* U+0073 "s" */ + 0x7b, 0x38, 0x30, 0x78, 0x30, 0x73, 0x78, + + /* U+0074 "t" */ + 0x20, 0x40, 0x87, 0xe2, 0x4, 0x8, 0x10, 0x20, + 0x44, 0x98, 0xe0, + + /* U+0075 "u" */ + 0xc6, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x66, + 0x3b, + + /* U+0076 "v" */ + 0xee, 0x89, 0x13, 0x62, 0x85, 0xa, 0x8, 0x10, + + /* U+0077 "w" */ + 0xee, 0x89, 0x12, 0xa5, 0x4e, 0x9d, 0x14, 0x28, + + /* U+0078 "x" */ + 0xee, 0xd8, 0xa0, 0x81, 0x6, 0xa, 0x36, 0xee, + + /* U+0079 "y" */ + 0xee, 0x89, 0xb3, 0x62, 0x85, 0xa, 0x8, 0x10, + 0x20, 0x43, 0x0, + + /* U+007A "z" */ + 0xfe, 0x30, 0x84, 0x30, 0x84, 0x31, 0xfc, + + /* U+007B "{" */ + 0xc, 0xc2, 0x8, 0x30, 0x41, 0xc, 0xe0, 0xc1, + 0x4, 0x10, 0x82, 0x8, 0x10, 0x30, + + /* U+007C "|" */ + 0xff, 0xff, 0xc0, + + /* U+007D "}" */ + 0xe0, 0xc1, 0x4, 0x30, 0x82, 0xc, 0x1c, 0xc2, + 0x8, 0x20, 0x41, 0x4, 0x33, 0x80, + + /* U+007E "~" */ + 0x3, 0x99, 0xe6, + + /* U+00A0 " " */ + 0x0, + + /* U+00A1 "¡" */ + 0xf0, 0x55, 0x55, + + /* U+00A2 "¢" */ + 0x10, 0x47, 0xb3, 0x86, 0x8, 0x21, 0xc5, 0xe1, + 0x4, + + /* U+00A3 "£" */ + 0x39, 0x34, 0x90, 0x43, 0xc4, 0x10, 0x41, 0xc, + 0x3f, + + /* U+00A4 "¤" */ + 0x0, 0x3f, 0x98, 0xc8, 0x24, 0x12, 0x9, 0x8c, + 0xfe, 0x0, 0x0, + + /* U+00A5 "¥" */ + 0xee, 0x89, 0x12, 0x62, 0x85, 0x1f, 0x8, 0x7c, + 0x20, 0x41, 0xc0, + + /* U+00A6 "¦" */ + 0xff, 0x3f, 0xc0, + + /* U+00A7 "§" */ + 0x7d, 0x8e, 0xc, 0xc, 0xe, 0x1f, 0x63, 0x83, + 0x7, 0x1b, 0xe1, 0xc0, 0xc0, 0xc1, 0xc6, 0xf8, + + /* U+00A8 "¨" */ + 0xc9, 0x30, + + /* U+00A9 "©" */ + 0x1f, 0x83, 0xc, 0x46, 0x2c, 0x93, 0x88, 0x18, + 0x81, 0x88, 0x18, 0x91, 0xc6, 0x34, 0x2, 0x30, + 0xc1, 0xf8, + + /* U+00AA "ª" */ + 0x70, 0x27, 0xb2, 0x99, 0xb0, 0x1e, + + /* U+00AB "«" */ + 0x10, 0x68, 0x92, 0x49, 0x1b, 0x12, 0x12, 0x36, + 0x0, + + /* U+00AC "¬" */ + 0xfc, 0x10, 0x41, + + /* U+00AD "­" */ + 0xfc, + + /* U+00AE "®" */ + 0x1f, 0x83, 0xc, 0x4e, 0x2c, 0x93, 0x89, 0x18, + 0xf1, 0x8a, 0x18, 0xa1, 0xc9, 0x34, 0x2, 0x30, + 0xc1, 0xf8, + + /* U+00AF "¯" */ + 0xf8, + + /* U+00B0 "°" */ + 0x69, 0x96, + + /* U+00B1 "±" */ + 0x10, 0x20, 0x47, 0xf1, 0x2, 0x4, 0x8, 0x1, + 0xfc, + + /* U+00B2 "²" */ + 0x76, 0x42, 0x33, 0x31, 0x1f, + + /* U+00B3 "³" */ + 0x76, 0x46, 0x61, 0x87, 0x2e, + + /* U+00B4 "´" */ + 0x26, 0xc8, + + /* U+00B5 "µ" */ + 0xcc, 0x89, 0x12, 0x24, 0x48, 0x91, 0x36, 0x76, + 0x81, 0x7, 0x0, + + /* U+00B6 "¶" */ + 0x77, 0x59, 0x65, 0xd5, 0xd1, 0x45, 0x14, 0x51, + 0x45, + + /* U+00B7 "·" */ + 0xfc, + + /* U+00B8 "¸" */ + 0x62, 0xe0, + + /* U+00B9 "¹" */ + 0xcc, 0x44, 0x44, 0x4f, + + /* U+00BA "º" */ + 0x74, 0x63, 0x18, 0xb8, 0x1f, + + /* U+00BB "»" */ + 0x10, 0xb1, 0x21, 0x21, 0x26, 0xc9, 0x24, 0xd8, + 0x0, + + /* U+00BC "¼" */ + 0x30, 0xc1, 0x4, 0x10, 0x43, 0x80, 0xfc, 0x1, + 0xc, 0x31, 0xc7, 0x84, 0x10, + + /* U+00BD "½" */ + 0x30, 0xc1, 0x4, 0x10, 0x43, 0x80, 0xfc, 0x3, + 0x9a, 0x8, 0x63, 0x8, 0x7c, + + /* U+00BE "¾" */ + 0x31, 0x21, 0x8c, 0x9, 0x23, 0x0, 0xfc, 0x1, + 0xc, 0x31, 0x47, 0x84, 0x10, + + /* U+00BF "¿" */ + 0x30, 0xc0, 0x8, 0x21, 0x84, 0x30, 0x82, 0x18, + 0xde, + + /* U+00C0 "À" */ + 0x20, 0x40, 0x40, 0x1, 0x2, 0xc, 0x14, 0x28, + 0x50, 0xa3, 0x47, 0xc8, 0x91, 0x77, + + /* U+00C1 "Á" */ + 0x8, 0x10, 0x40, 0x1, 0x2, 0xc, 0x14, 0x28, + 0x50, 0xa3, 0x47, 0xc8, 0x91, 0x77, + + /* U+00C2 "Â" */ + 0x10, 0x70, 0xa2, 0x20, 0x2, 0x4, 0x18, 0x28, + 0x50, 0xa1, 0x46, 0x8f, 0x91, 0x22, 0xee, + + /* U+00C3 "Ã" */ + 0x24, 0xf9, 0x20, 0x1, 0x2, 0xc, 0x14, 0x28, + 0x50, 0xa3, 0x47, 0xc8, 0x91, 0x77, + + /* U+00C4 "Ä" */ + 0x64, 0x4c, 0x0, 0x1, 0x2, 0xc, 0x14, 0x28, + 0x50, 0xa3, 0x47, 0xc8, 0x91, 0x77, + + /* U+00C5 "Å" */ + 0x18, 0x50, 0x60, 0x1, 0x2, 0xc, 0x14, 0x28, + 0x50, 0xa3, 0x47, 0xc8, 0x91, 0x77, + + /* U+00C6 "Æ" */ + 0x1c, 0x73, 0x8a, 0x28, 0xb2, 0x92, 0x79, 0x24, + 0xfb, + + /* U+00C7 "Ç" */ + 0x7b, 0x38, 0x60, 0x82, 0x8, 0x20, 0x82, 0x1c, + 0xde, 0x38, 0x27, 0x80, + + /* U+00C8 "È" */ + 0x20, 0x81, 0x0, 0xfd, 0x14, 0x10, 0x41, 0xe4, + 0x10, 0x41, 0x4, 0x7f, + + /* U+00C9 "É" */ + 0x8, 0x63, 0x0, 0xfd, 0x14, 0x10, 0x41, 0xe4, + 0x10, 0x41, 0x4, 0x7f, + + /* U+00CA "Ê" */ + 0x30, 0xe6, 0x93, 0x3, 0xf4, 0x50, 0x41, 0x7, + 0x90, 0x41, 0x4, 0x11, 0xfc, + + /* U+00CB "Ë" */ + 0xc9, 0x30, 0x0, 0xfd, 0x14, 0x10, 0x41, 0xe4, + 0x10, 0x41, 0x4, 0x7f, + + /* U+00CC "Ì" */ + 0x44, 0x20, 0xf2, 0x22, 0x22, 0x22, 0x22, 0x2f, + + /* U+00CD "Í" */ + 0x13, 0x20, 0xf2, 0x22, 0x22, 0x22, 0x22, 0x2f, + + /* U+00CE "Î" */ + 0x10, 0xe6, 0x92, 0x1, 0xe1, 0x4, 0x10, 0x41, + 0x4, 0x10, 0x41, 0x4, 0x78, + + /* U+00CF "Ï" */ + 0xc9, 0x30, 0x0, 0x78, 0x41, 0x4, 0x10, 0x41, + 0x4, 0x10, 0x41, 0x1e, + + /* U+00D0 "Ð" */ + 0xf8, 0x89, 0xa, 0x14, 0x3e, 0x50, 0xa1, 0x42, + 0x85, 0x17, 0xc0, + + /* U+00D1 "Ñ" */ + 0x24, 0xf9, 0x20, 0xe, 0xec, 0x99, 0x32, 0x54, + 0xa9, 0x52, 0xa4, 0xc9, 0x93, 0x76, + + /* U+00D2 "Ò" */ + 0x41, 0x83, 0x0, 0x7b, 0x38, 0x61, 0x86, 0x18, + 0x61, 0x86, 0x1c, 0xde, + + /* U+00D3 "Ó" */ + 0x8, 0x63, 0x0, 0x7b, 0x38, 0x61, 0x86, 0x18, + 0x61, 0x86, 0x1c, 0xde, + + /* U+00D4 "Ô" */ + 0x30, 0xc4, 0xb3, 0x1, 0xec, 0xe1, 0x86, 0x18, + 0x61, 0x86, 0x18, 0x73, 0x78, + + /* U+00D5 "Õ" */ + 0x1, 0xb9, 0x80, 0x1, 0xec, 0xe1, 0x86, 0x18, + 0x61, 0x86, 0x18, 0x73, 0x78, + + /* U+00D6 "Ö" */ + 0xc9, 0x30, 0x0, 0x7b, 0x38, 0x61, 0x86, 0x18, + 0x61, 0x86, 0x1c, 0xde, + + /* U+00D7 "×" */ + 0xc3, 0x66, 0x3c, 0x18, 0x18, 0x24, 0x42, 0x81, + + /* U+00D8 "Ø" */ + 0x1, 0xfc, 0xe3, 0x9e, 0x5b, 0x6d, 0xa7, 0x9c, + 0x73, 0xf8, 0x0, + + /* U+00D9 "Ù" */ + 0x20, 0x40, 0x40, 0xe, 0xe8, 0x91, 0x22, 0x44, + 0x89, 0x12, 0x24, 0x48, 0x91, 0x1c, + + /* U+00DA "Ú" */ + 0x8, 0x10, 0x40, 0xe, 0xe8, 0x91, 0x22, 0x44, + 0x89, 0x12, 0x24, 0x48, 0x91, 0x1c, + + /* U+00DB "Û" */ + 0x10, 0x70, 0xa2, 0x20, 0x1d, 0xd1, 0x22, 0x44, + 0x89, 0x12, 0x24, 0x48, 0x91, 0x22, 0x38, + + /* U+00DC "Ü" */ + 0x64, 0x4c, 0x0, 0xe, 0xe8, 0x91, 0x22, 0x44, + 0x89, 0x12, 0x24, 0x48, 0x91, 0x1c, + + /* U+00DD "Ý" */ + 0x8, 0x30, 0x40, 0xe, 0xe8, 0x91, 0x26, 0x28, + 0x50, 0x40, 0x81, 0x2, 0x4, 0x1c, + + /* U+00DE "Þ" */ + 0xe1, 0x7, 0x12, 0x45, 0x14, 0x51, 0x49, 0xc4, + 0x38, + + /* U+00DF "ß" */ + 0x38, 0xc9, 0x12, 0x24, 0xcb, 0x11, 0x21, 0x42, + 0x85, 0x16, 0xc0, + + /* U+00E0 "à" */ + 0x40, 0xc0, 0xc0, 0x7, 0x99, 0x81, 0x2, 0x7d, + 0x8a, 0x14, 0x67, 0x60, + + /* U+00E1 "á" */ + 0x8, 0x30, 0xc0, 0x7, 0x99, 0x81, 0x2, 0x7d, + 0x8a, 0x14, 0x67, 0x60, + + /* U+00E2 "â" */ + 0x30, 0xf3, 0x30, 0x7, 0x99, 0x81, 0x2, 0x7d, + 0x8a, 0x14, 0x67, 0x60, + + /* U+00E3 "ã" */ + 0x65, 0xb0, 0x3, 0xcc, 0xc0, 0x81, 0x3e, 0xc5, + 0xa, 0x33, 0xb0, + + /* U+00E4 "ä" */ + 0xc8, 0x98, 0x3, 0xcc, 0xc0, 0x81, 0x3e, 0xc5, + 0xa, 0x33, 0xb0, + + /* U+00E5 "å" */ + 0x30, 0x90, 0xc3, 0xcc, 0xc0, 0x81, 0x3e, 0xc5, + 0xa, 0x33, 0xb0, + + /* U+00E6 "æ" */ + 0x7d, 0x24, 0x48, 0x97, 0xf2, 0x24, 0x49, 0x7c, + + /* U+00E7 "ç" */ + 0x79, 0x38, 0x60, 0x82, 0x8, 0x53, 0x78, 0xe0, + 0x9e, + + /* U+00E8 "è" */ + 0x41, 0x83, 0x0, 0x7b, 0x38, 0x61, 0xfe, 0x8, + 0x13, 0x78, + + /* U+00E9 "é" */ + 0x8, 0x63, 0x0, 0x7b, 0x38, 0x61, 0xfe, 0x8, + 0x13, 0x78, + + /* U+00EA "ê" */ + 0x31, 0xec, 0xc0, 0x7b, 0x38, 0x61, 0xfe, 0x8, + 0x13, 0x78, + + /* U+00EB "ë" */ + 0xc9, 0x30, 0x1e, 0xce, 0x18, 0x7f, 0x82, 0x4, + 0xde, + + /* U+00EC "ì" */ + 0x41, 0x82, 0x0, 0xe0, 0x82, 0x8, 0x20, 0x82, + 0x8, 0xfc, + + /* U+00ED "í" */ + 0x18, 0x42, 0x0, 0xe0, 0x82, 0x8, 0x20, 0x82, + 0x8, 0xfc, + + /* U+00EE "î" */ + 0x71, 0x6c, 0xc0, 0xe0, 0x82, 0x8, 0x20, 0x82, + 0x8, 0xfc, + + /* U+00EF "ï" */ + 0xc9, 0x30, 0x38, 0x20, 0x82, 0x8, 0x20, 0x82, + 0x3f, + + /* U+00F0 "ð" */ + 0x41, 0xc1, 0xde, 0x9, 0xf4, 0xe1, 0x86, 0x18, + 0x52, 0x78, + + /* U+00F1 "ñ" */ + 0x24, 0xb0, 0x7, 0xc6, 0xc8, 0x91, 0x22, 0x44, + 0x89, 0x17, 0x70, + + /* U+00F2 "ò" */ + 0x41, 0x83, 0x0, 0x7b, 0x38, 0x61, 0x86, 0x18, + 0x73, 0x78, + + /* U+00F3 "ó" */ + 0x8, 0x63, 0x0, 0x7b, 0x38, 0x61, 0x86, 0x18, + 0x73, 0x78, + + /* U+00F4 "ô" */ + 0x31, 0xec, 0xc0, 0x7b, 0x38, 0x61, 0x86, 0x18, + 0x73, 0x78, + + /* U+00F5 "õ" */ + 0x67, 0x60, 0x1e, 0xce, 0x18, 0x61, 0x86, 0x1c, + 0xde, + + /* U+00F6 "ö" */ + 0xc9, 0x30, 0x1e, 0xce, 0x18, 0x61, 0x86, 0x1c, + 0xde, + + /* U+00F7 "÷" */ + 0x30, 0x70, 0x0, 0xf, 0xe0, 0x0, 0x18, 0x30, + + /* U+00F8 "ø" */ + 0x1, 0xf4, 0xe7, 0x96, 0xda, 0x79, 0xcb, 0xe0, + 0x0, + + /* U+00F9 "ù" */ + 0x20, 0x30, 0x18, 0x0, 0xc6, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x66, 0x3b, + + /* U+00FA "ú" */ + 0x4, 0xc, 0x18, 0x0, 0xc6, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x66, 0x3b, + + /* U+00FB "û" */ + 0x18, 0x3c, 0x66, 0x0, 0xc6, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x66, 0x3b, + + /* U+00FC "ü" */ + 0x64, 0x26, 0x0, 0xc6, 0x42, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x66, 0x3b, + + /* U+00FD "ý" */ + 0x8, 0x10, 0x40, 0xe, 0xe8, 0x9b, 0x36, 0x28, + 0x50, 0xa0, 0x81, 0x2, 0x4, 0x30, + + /* U+00FE "þ" */ + 0xc0, 0x81, 0x2, 0xe6, 0x68, 0x50, 0xa1, 0x42, + 0x85, 0x9a, 0xe4, 0x8, 0x38, 0x0 +}; + + +/*--------------------- + * GLYPH DESCRIPTION + *--------------------*/ + +static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { + {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, + {.bitmap_index = 0, .adv_w = 256, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1, .adv_w = 128, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2, .adv_w = 128, .box_w = 2, .box_h = 12, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 5, .adv_w = 128, .box_w = 4, .box_h = 5, .ofs_x = 2, .ofs_y = 8}, + {.bitmap_index = 8, .adv_w = 128, .box_w = 7, .box_h = 15, .ofs_x = 1, .ofs_y = -1}, + {.bitmap_index = 22, .adv_w = 128, .box_w = 5, .box_h = 16, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 32, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 41, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 52, .adv_w = 128, .box_w = 1, .box_h = 5, .ofs_x = 3, .ofs_y = 8}, + {.bitmap_index = 53, .adv_w = 128, .box_w = 5, .box_h = 18, .ofs_x = 2, .ofs_y = -3}, + {.bitmap_index = 65, .adv_w = 128, .box_w = 5, .box_h = 18, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 77, .adv_w = 128, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 7}, + {.bitmap_index = 84, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 3}, + {.bitmap_index = 90, .adv_w = 128, .box_w = 3, .box_h = 6, .ofs_x = 3, .ofs_y = -4}, + {.bitmap_index = 93, .adv_w = 128, .box_w = 6, .box_h = 1, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 94, .adv_w = 128, .box_w = 3, .box_h = 2, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 95, .adv_w = 128, .box_w = 6, .box_h = 18, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 109, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 118, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 129, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 138, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 147, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 156, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 165, .adv_w = 128, .box_w = 6, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 175, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 184, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 193, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 202, .adv_w = 128, .box_w = 3, .box_h = 9, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 206, .adv_w = 128, .box_w = 3, .box_h = 12, .ofs_x = 3, .ofs_y = -3}, + {.bitmap_index = 211, .adv_w = 128, .box_w = 6, .box_h = 10, .ofs_x = 1, .ofs_y = 1}, + {.bitmap_index = 219, .adv_w = 128, .box_w = 6, .box_h = 4, .ofs_x = 1, .ofs_y = 5}, + {.bitmap_index = 222, .adv_w = 128, .box_w = 6, .box_h = 10, .ofs_x = 1, .ofs_y = 1}, + {.bitmap_index = 230, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 239, .adv_w = 128, .box_w = 5, .box_h = 15, .ofs_x = 1, .ofs_y = -1}, + {.bitmap_index = 249, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 260, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 271, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 280, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 291, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 300, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 309, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 318, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 329, .adv_w = 128, .box_w = 4, .box_h = 12, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 335, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 344, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 355, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 364, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 375, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 386, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 395, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 404, .adv_w = 128, .box_w = 6, .box_h = 15, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 416, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 427, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 436, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 445, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 456, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 467, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 478, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 489, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 500, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 509, .adv_w = 128, .box_w = 5, .box_h = 18, .ofs_x = 2, .ofs_y = -3}, + {.bitmap_index = 521, .adv_w = 128, .box_w = 6, .box_h = 18, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 535, .adv_w = 128, .box_w = 5, .box_h = 18, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 547, .adv_w = 128, .box_w = 6, .box_h = 4, .ofs_x = 1, .ofs_y = 9}, + {.bitmap_index = 550, .adv_w = 128, .box_w = 6, .box_h = 1, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 551, .adv_w = 128, .box_w = 4, .box_h = 4, .ofs_x = 1, .ofs_y = 9}, + {.bitmap_index = 553, .adv_w = 128, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 561, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 572, .adv_w = 128, .box_w = 6, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 579, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 590, .adv_w = 128, .box_w = 6, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 597, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 606, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 615, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 626, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 635, .adv_w = 128, .box_w = 5, .box_h = 15, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 645, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 656, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 665, .adv_w = 128, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 674, .adv_w = 128, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 682, .adv_w = 128, .box_w = 6, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 689, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 700, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 711, .adv_w = 128, .box_w = 6, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 718, .adv_w = 128, .box_w = 6, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 725, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 736, .adv_w = 128, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 745, .adv_w = 128, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 753, .adv_w = 128, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 761, .adv_w = 128, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 769, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 780, .adv_w = 128, .box_w = 6, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 787, .adv_w = 128, .box_w = 6, .box_h = 18, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 801, .adv_w = 128, .box_w = 1, .box_h = 18, .ofs_x = 3, .ofs_y = -3}, + {.bitmap_index = 804, .adv_w = 128, .box_w = 6, .box_h = 18, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 818, .adv_w = 128, .box_w = 6, .box_h = 4, .ofs_x = 1, .ofs_y = 4}, + {.bitmap_index = 821, .adv_w = 128, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 822, .adv_w = 128, .box_w = 2, .box_h = 12, .ofs_x = 3, .ofs_y = -3}, + {.bitmap_index = 825, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 834, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 843, .adv_w = 256, .box_w = 9, .box_h = 9, .ofs_x = 4, .ofs_y = 2}, + {.bitmap_index = 854, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 865, .adv_w = 128, .box_w = 1, .box_h = 18, .ofs_x = 3, .ofs_y = -3}, + {.bitmap_index = 868, .adv_w = 256, .box_w = 7, .box_h = 18, .ofs_x = 4, .ofs_y = -3}, + {.bitmap_index = 884, .adv_w = 128, .box_w = 6, .box_h = 2, .ofs_x = 1, .ofs_y = 10}, + {.bitmap_index = 886, .adv_w = 256, .box_w = 12, .box_h = 12, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 904, .adv_w = 128, .box_w = 6, .box_h = 8, .ofs_x = 1, .ofs_y = 4}, + {.bitmap_index = 910, .adv_w = 128, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 1}, + {.bitmap_index = 919, .adv_w = 128, .box_w = 6, .box_h = 4, .ofs_x = 1, .ofs_y = 3}, + {.bitmap_index = 922, .adv_w = 128, .box_w = 6, .box_h = 1, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 923, .adv_w = 256, .box_w = 12, .box_h = 12, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 941, .adv_w = 128, .box_w = 5, .box_h = 1, .ofs_x = 2, .ofs_y = 11}, + {.bitmap_index = 942, .adv_w = 128, .box_w = 4, .box_h = 4, .ofs_x = 2, .ofs_y = 9}, + {.bitmap_index = 944, .adv_w = 256, .box_w = 7, .box_h = 10, .ofs_x = 4, .ofs_y = 0}, + {.bitmap_index = 953, .adv_w = 128, .box_w = 5, .box_h = 8, .ofs_x = 1, .ofs_y = 5}, + {.bitmap_index = 958, .adv_w = 128, .box_w = 5, .box_h = 8, .ofs_x = 1, .ofs_y = 5}, + {.bitmap_index = 963, .adv_w = 128, .box_w = 4, .box_h = 4, .ofs_x = 3, .ofs_y = 9}, + {.bitmap_index = 965, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 976, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 985, .adv_w = 256, .box_w = 3, .box_h = 2, .ofs_x = 7, .ofs_y = 5}, + {.bitmap_index = 986, .adv_w = 128, .box_w = 4, .box_h = 3, .ofs_x = 2, .ofs_y = -3}, + {.bitmap_index = 988, .adv_w = 128, .box_w = 4, .box_h = 8, .ofs_x = 2, .ofs_y = 5}, + {.bitmap_index = 992, .adv_w = 128, .box_w = 5, .box_h = 8, .ofs_x = 1, .ofs_y = 4}, + {.bitmap_index = 997, .adv_w = 128, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 1}, + {.bitmap_index = 1006, .adv_w = 128, .box_w = 6, .box_h = 17, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 1019, .adv_w = 128, .box_w = 6, .box_h = 17, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 1032, .adv_w = 128, .box_w = 6, .box_h = 17, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 1045, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 1054, .adv_w = 128, .box_w = 7, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1068, .adv_w = 128, .box_w = 7, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1082, .adv_w = 128, .box_w = 7, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1097, .adv_w = 128, .box_w = 7, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1111, .adv_w = 128, .box_w = 7, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1125, .adv_w = 128, .box_w = 7, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1139, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1148, .adv_w = 128, .box_w = 6, .box_h = 15, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 1160, .adv_w = 128, .box_w = 6, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1172, .adv_w = 128, .box_w = 6, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1184, .adv_w = 128, .box_w = 6, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1197, .adv_w = 128, .box_w = 6, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1209, .adv_w = 128, .box_w = 4, .box_h = 16, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1217, .adv_w = 128, .box_w = 4, .box_h = 16, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1225, .adv_w = 128, .box_w = 6, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1238, .adv_w = 128, .box_w = 6, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1250, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1261, .adv_w = 128, .box_w = 7, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1275, .adv_w = 128, .box_w = 6, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1287, .adv_w = 128, .box_w = 6, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1299, .adv_w = 128, .box_w = 6, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1312, .adv_w = 128, .box_w = 6, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1325, .adv_w = 128, .box_w = 6, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1337, .adv_w = 256, .box_w = 8, .box_h = 8, .ofs_x = 4, .ofs_y = 2}, + {.bitmap_index = 1345, .adv_w = 128, .box_w = 6, .box_h = 14, .ofs_x = 1, .ofs_y = -1}, + {.bitmap_index = 1356, .adv_w = 128, .box_w = 7, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1370, .adv_w = 128, .box_w = 7, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1384, .adv_w = 128, .box_w = 7, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1399, .adv_w = 128, .box_w = 7, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1413, .adv_w = 128, .box_w = 7, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1427, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1436, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1447, .adv_w = 128, .box_w = 7, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1459, .adv_w = 128, .box_w = 7, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1471, .adv_w = 128, .box_w = 7, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1483, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1494, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1505, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1516, .adv_w = 128, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1524, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 1533, .adv_w = 128, .box_w = 6, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1543, .adv_w = 128, .box_w = 6, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1553, .adv_w = 128, .box_w = 6, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1563, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1572, .adv_w = 128, .box_w = 6, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1582, .adv_w = 128, .box_w = 6, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1592, .adv_w = 128, .box_w = 6, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1602, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1611, .adv_w = 128, .box_w = 6, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1621, .adv_w = 128, .box_w = 7, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1632, .adv_w = 128, .box_w = 6, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1642, .adv_w = 128, .box_w = 6, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1652, .adv_w = 128, .box_w = 6, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1662, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1671, .adv_w = 128, .box_w = 6, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1680, .adv_w = 256, .box_w = 7, .box_h = 9, .ofs_x = 4, .ofs_y = 1}, + {.bitmap_index = 1688, .adv_w = 128, .box_w = 6, .box_h = 11, .ofs_x = 1, .ofs_y = -1}, + {.bitmap_index = 1697, .adv_w = 128, .box_w = 8, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1710, .adv_w = 128, .box_w = 8, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1723, .adv_w = 128, .box_w = 8, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1736, .adv_w = 128, .box_w = 8, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1748, .adv_w = 128, .box_w = 7, .box_h = 16, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 1762, .adv_w = 128, .box_w = 7, .box_h = 15, .ofs_x = 1, .ofs_y = -3} +}; + +/*--------------------- + * CHARACTER MAPPING + *--------------------*/ + + + +/*Collect the unicode lists and glyph_id offsets*/ +static const lv_font_fmt_txt_cmap_t cmaps[] = +{ + { + .range_start = 13, .range_length = 1, .glyph_id_start = 1, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + }, + { + .range_start = 32, .range_length = 95, .glyph_id_start = 2, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + }, + { + .range_start = 160, .range_length = 95, .glyph_id_start = 97, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + } +}; + + + +/*-------------------- + * ALL CUSTOM DATA + *--------------------*/ + +#if LVGL_VERSION_MAJOR == 8 +/*Store all the custom data of the font*/ +static lv_font_fmt_txt_glyph_cache_t cache; +#endif + +#if LVGL_VERSION_MAJOR >= 8 +static const lv_font_fmt_txt_dsc_t font_dsc = { +#else +static lv_font_fmt_txt_dsc_t font_dsc = { +#endif + .glyph_bitmap = glyph_bitmap, + .glyph_dsc = glyph_dsc, + .cmaps = cmaps, + .kern_dsc = NULL, + .kern_scale = 0, + .cmap_num = 3, + .bpp = 1, + .kern_classes = 0, + .bitmap_format = 0, +#if LVGL_VERSION_MAJOR == 8 + .cache = &cache +#endif + +}; + +extern const lv_font_t lv_font_montserrat_12; + + +/*----------------- + * PUBLIC FONT + *----------------*/ + +/*Initialize a public general font descriptor*/ +#if LVGL_VERSION_MAJOR >= 8 +const lv_font_t InziuIosevka_Slab_CC_16px = { +#else +lv_font_t InziuIosevka_Slab_CC_16px = { +#endif + .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ + .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ + .line_height = 21, /*The maximum line height required by the font*/ + .base_line = 4, /*Baseline measured from the bottom of the line*/ +#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0) + .subpx = LV_FONT_SUBPX_NONE, +#endif +#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8 + .underline_position = -3, + .underline_thickness = 1, +#endif + .dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ +#if LV_VERSION_CHECK(8, 2, 0) || LVGL_VERSION_MAJOR >= 9 + .fallback = &lv_font_montserrat_12, +#endif + .user_data = NULL, +}; + + + +#endif /*#if INZIUIOSEVKA_SLAB_CC_16PX*/ diff --git a/components/user_fonts/InziuIosevka_Slab_CC_20px.c b/components/user_fonts/InziuIosevka_Slab_CC_20px.c new file mode 100644 index 0000000..c29dccd --- /dev/null +++ b/components/user_fonts/InziuIosevka_Slab_CC_20px.c @@ -0,0 +1,1136 @@ +/******************************************************************************* + * Size: 20 px + * Bpp: 1 + * Opts: --bpp 1 --size 20 --no-compress --stride 1 --align 1 --font Inziu-IosevkaCC-Slab-J-Regular-04.ttf --range 0-254 --format lvgl -o InziuIosevka_Slab_CC_20px.c + ******************************************************************************/ + +#ifdef __has_include + #if __has_include("lvgl.h") + #ifndef LV_LVGL_H_INCLUDE_SIMPLE + #define LV_LVGL_H_INCLUDE_SIMPLE + #endif + #endif +#endif + +#ifdef LV_LVGL_H_INCLUDE_SIMPLE + #include "lvgl.h" +#else + #include "lvgl/lvgl.h" +#endif + + + +#ifndef INZIUIOSEVKA_SLAB_CC_20PX +#define INZIUIOSEVKA_SLAB_CC_20PX 1 +#endif + +#if INZIUIOSEVKA_SLAB_CC_20PX + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { + /* U+000D "\r" */ + 0x0, + + /* U+0020 " " */ + 0x0, + + /* U+0021 "!" */ + 0xdb, 0x6d, 0xb6, 0xc0, 0xf, 0xf8, + + /* U+0022 "\"" */ + 0xcf, 0x3c, 0xf3, 0xcf, 0x30, + + /* U+0023 "#" */ + 0x66, 0x33, 0x19, 0x8c, 0xc6, 0x67, 0xfd, 0x98, + 0xcc, 0x66, 0x33, 0x19, 0x8c, 0xc6, 0x67, 0xfd, + 0x98, 0xcc, 0x66, 0x33, 0x19, 0x80, + + /* U+0024 "$" */ + 0x18, 0x18, 0x18, 0x7e, 0xfb, 0xdb, 0xd8, 0xd8, + 0x78, 0x3c, 0x1e, 0x1b, 0x1b, 0xdb, 0xdf, 0x7e, + 0x18, 0x18, 0x18, + + /* U+0025 "%" */ + 0xc7, 0x8b, 0x16, 0x60, 0x83, 0x6, 0x8, 0x30, + 0x60, 0x83, 0x34, 0x68, 0xf1, 0x80, + + /* U+0026 "&" */ + 0x38, 0x22, 0x31, 0x98, 0xcc, 0x67, 0x61, 0xf0, + 0x70, 0x73, 0x6d, 0xb3, 0xd8, 0xec, 0x33, 0x38, + 0xfc, + + /* U+0027 "'" */ + 0xff, 0xf0, + + /* U+0028 "(" */ + 0x4, 0x31, 0x8c, 0x31, 0x86, 0x30, 0xc3, 0xc, + 0x30, 0xc3, 0xc, 0x30, 0x61, 0x87, 0xc, 0x18, + 0x30, 0x40, + + /* U+0029 ")" */ + 0x83, 0x6, 0xc, 0x30, 0x61, 0x83, 0xc, 0x30, + 0xc3, 0xc, 0x30, 0xc3, 0x18, 0x63, 0x8c, 0x63, + 0x8, 0x0, + + /* U+002A "*" */ + 0xc, 0x3, 0x4, 0xc9, 0xfe, 0x1e, 0x7, 0x83, + 0x30, 0x84, + + /* U+002B "+" */ + 0x18, 0x30, 0x67, 0xf1, 0x83, 0x6, 0xc, + + /* U+002C "," */ + 0xff, 0xb5, 0xb0, + + /* U+002D "-" */ + 0xfe, + + /* U+002E "." */ + 0xff, 0x80, + + /* U+002F "/" */ + 0x3, 0x2, 0x6, 0x6, 0x6, 0x4, 0xc, 0xc, + 0xc, 0x8, 0x18, 0x18, 0x10, 0x30, 0x30, 0x30, + 0x20, 0x60, 0x60, 0x60, 0x40, 0xc0, + + /* U+0030 "0" */ + 0x3c, 0x66, 0xc3, 0xc7, 0xc7, 0xcf, 0xcb, 0xdb, + 0xd3, 0xe3, 0xc3, 0xc3, 0xc3, 0x46, 0x3c, + + /* U+0031 "1" */ + 0x38, 0x78, 0xd8, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7f, + + /* U+0032 "2" */ + 0x3c, 0xc6, 0xc3, 0x3, 0x3, 0x7, 0x6, 0xe, + 0x1c, 0x30, 0x60, 0xe0, 0xc3, 0xc3, 0xff, + + /* U+0033 "3" */ + 0x3c, 0x66, 0xc3, 0x3, 0x3, 0x6, 0x38, 0x6, + 0x6, 0x3, 0x3, 0x43, 0xc3, 0x66, 0x3c, + + /* U+0034 "4" */ + 0xe, 0xe, 0x1e, 0x16, 0x36, 0x26, 0x66, 0x46, + 0xc6, 0xff, 0x6, 0x6, 0x6, 0x6, 0xe, + + /* U+0035 "5" */ + 0xfe, 0xc6, 0xc6, 0xc0, 0xc0, 0xfc, 0xe6, 0xc3, + 0x3, 0x3, 0x3, 0x3, 0xc3, 0xc6, 0x3c, + + /* U+0036 "6" */ + 0x4, 0x1c, 0x30, 0x70, 0x60, 0x60, 0xfc, 0xe6, + 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, + + /* U+0037 "7" */ + 0xff, 0xc2, 0xc6, 0x6, 0x4, 0x4, 0xc, 0xc, + 0x8, 0x18, 0x18, 0x10, 0x30, 0x30, 0x30, + + /* U+0038 "8" */ + 0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, 0x3c, + 0x7e, 0xe6, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, + + /* U+0039 "9" */ + 0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x67, + 0x3f, 0x3, 0x3, 0x43, 0x43, 0x66, 0x3c, + + /* U+003A ":" */ + 0xff, 0x80, 0x0, 0xff, 0x80, + + /* U+003B ";" */ + 0xff, 0x80, 0x0, 0xff, 0xb5, 0xb0, + + /* U+003C "<" */ + 0x0, 0x3, 0xe, 0x18, 0x30, 0xe0, 0x80, 0xe0, + 0x70, 0x18, 0xe, 0x7, 0x0, + + /* U+003D "=" */ + 0xfe, 0x0, 0x0, 0xf, 0xe0, + + /* U+003E ">" */ + 0x0, 0xc0, 0x70, 0x18, 0xc, 0x7, 0x1, 0x7, + 0xe, 0x18, 0x70, 0xe0, 0x0, + + /* U+003F "?" */ + 0x3c, 0xe6, 0xc3, 0x3, 0x3, 0x6, 0xe, 0xc, + 0x18, 0x18, 0x0, 0x0, 0x38, 0x38, 0x38, + + /* U+0040 "@" */ + 0x3c, 0x66, 0xc3, 0x43, 0x3, 0x3, 0x7b, 0xdb, + 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, + 0x7b, 0xe, + + /* U+0041 "A" */ + 0x1c, 0xe, 0x5, 0x2, 0x83, 0x61, 0xb0, 0xd8, + 0x44, 0x22, 0x11, 0x1f, 0xcc, 0x66, 0x33, 0x1b, + 0x8e, + + /* U+0042 "B" */ + 0xfc, 0x33, 0x18, 0xcc, 0x66, 0x33, 0x19, 0x98, + 0xf8, 0x63, 0x30, 0xd8, 0x6c, 0x36, 0x1b, 0x1b, + 0xf8, + + /* U+0043 "C" */ + 0x3c, 0x63, 0xc3, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc3, 0x63, 0x3c, + + /* U+0044 "D" */ + 0xfc, 0x31, 0x98, 0xcc, 0x36, 0x1b, 0xd, 0x86, + 0xc3, 0x61, 0xb0, 0xd8, 0x6c, 0x36, 0x33, 0x1b, + 0xf0, + + /* U+0045 "E" */ + 0xff, 0x63, 0x63, 0x60, 0x60, 0x60, 0x60, 0x7c, + 0x60, 0x60, 0x60, 0x60, 0x63, 0x63, 0xff, + + /* U+0046 "F" */ + 0xff, 0x63, 0x63, 0x60, 0x60, 0x60, 0x60, 0x7c, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xe0, + + /* U+0047 "G" */ + 0x3c, 0x66, 0xc3, 0xc0, 0xc0, 0xc0, 0xc0, 0xcf, + 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, + + /* U+0048 "H" */ + 0xe3, 0xb1, 0x98, 0xcc, 0x66, 0x33, 0x19, 0x8c, + 0xfe, 0x63, 0x31, 0x98, 0xcc, 0x66, 0x33, 0x1b, + 0x8e, + + /* U+0049 "I" */ + 0xfc, 0xc3, 0xc, 0x30, 0xc3, 0xc, 0x30, 0xc3, + 0xc, 0x30, 0xcf, 0xc0, + + /* U+004A "J" */ + 0x1f, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, + 0x3, 0x3, 0x3, 0x3, 0xc3, 0x66, 0x3c, + + /* U+004B "K" */ + 0xe1, 0xb1, 0x98, 0x8c, 0xc6, 0x43, 0x41, 0xf0, + 0xf8, 0x74, 0x33, 0x19, 0x8c, 0x46, 0x33, 0xb, + 0x86, + + /* U+004C "L" */ + 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, + 0x60, 0x60, 0x60, 0x60, 0x63, 0x63, 0xff, + + /* U+004D "M" */ + 0xe1, 0xb1, 0xd8, 0xee, 0x77, 0x7b, 0xad, 0xd6, + 0xeb, 0x6d, 0xb6, 0xda, 0x6c, 0x36, 0x1b, 0xf, + 0x8e, + + /* U+004E "N" */ + 0xe3, 0xb1, 0x9c, 0xce, 0x67, 0x33, 0x99, 0xac, + 0xd6, 0x6b, 0x35, 0x99, 0xcc, 0xe6, 0x73, 0x1b, + 0x8c, + + /* U+004F "O" */ + 0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, + 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, + + /* U+0050 "P" */ + 0xfc, 0x66, 0x63, 0x63, 0x63, 0x63, 0x66, 0x7c, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xe0, + + /* U+0051 "Q" */ + 0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, + 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x7e, 0x18, + 0x8, 0x6, + + /* U+0052 "R" */ + 0xfe, 0x31, 0x98, 0x6c, 0x36, 0x1b, 0xd, 0x8c, + 0xfc, 0x6c, 0x33, 0x19, 0x8c, 0x66, 0x33, 0xb, + 0x86, + + /* U+0053 "S" */ + 0x3c, 0x67, 0xc3, 0xc0, 0xc0, 0xe0, 0x78, 0x3c, + 0x1e, 0x7, 0x3, 0x3, 0xc3, 0xe6, 0x3c, + + /* U+0054 "T" */ + 0xff, 0xdb, 0xdb, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, + + /* U+0055 "U" */ + 0xe3, 0xb1, 0x98, 0xcc, 0x66, 0x33, 0x19, 0x8c, + 0xc6, 0x63, 0x31, 0x98, 0xcc, 0x66, 0x31, 0xb0, + 0x70, + + /* U+0056 "V" */ + 0xe3, 0xb1, 0x98, 0xcc, 0x66, 0x31, 0x10, 0xd8, + 0x6c, 0x36, 0x1b, 0xd, 0x82, 0x81, 0xc0, 0xe0, + 0x70, + + /* U+0057 "W" */ + 0xe3, 0xb1, 0x98, 0xcc, 0x66, 0x33, 0x19, 0xac, + 0xd6, 0x76, 0x1b, 0xd, 0x86, 0xc3, 0x61, 0x10, + 0x0, + + /* U+0058 "X" */ + 0xe3, 0xa0, 0x98, 0xcc, 0x63, 0x61, 0xb0, 0x70, + 0x38, 0x1c, 0x1b, 0xd, 0x8c, 0x66, 0x32, 0xb, + 0x8e, + + /* U+0059 "Y" */ + 0xe3, 0xd8, 0x66, 0x19, 0x86, 0x33, 0xc, 0xc1, + 0xe0, 0x78, 0xc, 0x3, 0x0, 0xc0, 0x30, 0xc, + 0x3, 0x1, 0xe0, + + /* U+005A "Z" */ + 0xff, 0xc3, 0xc6, 0x6, 0xc, 0xc, 0x1c, 0x18, + 0x38, 0x30, 0x30, 0x60, 0x63, 0xc3, 0xff, + + /* U+005B "[" */ + 0xff, 0x83, 0x6, 0xc, 0x18, 0x30, 0x60, 0xc1, + 0x83, 0x6, 0xc, 0x18, 0x30, 0x60, 0xc1, 0x83, + 0x6, 0xc, 0x1f, 0xc0, + + /* U+005C "\\" */ + 0xc0, 0x40, 0x60, 0x60, 0x60, 0x20, 0x30, 0x30, + 0x10, 0x10, 0x18, 0x18, 0x8, 0x8, 0xc, 0xc, + 0x4, 0x6, 0x6, 0x6, 0x2, 0x3, + + /* U+005D "]" */ + 0xfe, 0xc, 0x18, 0x30, 0x60, 0xc1, 0x83, 0x6, + 0xc, 0x18, 0x30, 0x60, 0xc1, 0x83, 0x6, 0xc, + 0x18, 0x30, 0x7f, 0xc0, + + /* U+005E "^" */ + 0x18, 0x3c, 0x66, 0xc3, 0x42, + + /* U+005F "_" */ + 0xfe, + + /* U+0060 "`" */ + 0x46, 0x18, 0x61, 0x0, + + /* U+0061 "a" */ + 0x3c, 0x66, 0xc3, 0x3, 0x3, 0x3f, 0xe3, 0xc3, + 0xc3, 0xc7, 0x7b, + + /* U+0062 "b" */ + 0xe0, 0x30, 0x18, 0xc, 0x6, 0xe3, 0x99, 0x86, + 0xc3, 0x61, 0xb0, 0xd8, 0x6c, 0x36, 0x1b, 0x9b, + 0xb8, + + /* U+0063 "c" */ + 0x3c, 0x62, 0xc3, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc3, 0x63, 0x3c, + + /* U+0064 "d" */ + 0x7, 0x3, 0x3, 0x3, 0x3b, 0x67, 0xc3, 0xc3, + 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x67, 0x3b, + + /* U+0065 "e" */ + 0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0xff, 0xc0, 0xc0, + 0xc3, 0x66, 0x3c, + + /* U+0066 "f" */ + 0x1e, 0x33, 0x30, 0x30, 0x30, 0xfe, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xfc, + + /* U+0067 "g" */ + 0x3f, 0x66, 0xc3, 0xc3, 0xc3, 0xe6, 0x7c, 0xc0, + 0xc0, 0x7e, 0xc3, 0xc3, 0xc3, 0x67, 0x3c, + + /* U+0068 "h" */ + 0xe0, 0x30, 0x18, 0xc, 0x6, 0xe3, 0xb1, 0x8c, + 0xc6, 0x63, 0x31, 0x98, 0xcc, 0x66, 0x33, 0x1b, + 0x8e, + + /* U+0069 "i" */ + 0x30, 0x60, 0x0, 0xf, 0x83, 0x6, 0xc, 0x18, + 0x30, 0x60, 0xc1, 0x83, 0x3f, 0x80, + + /* U+006A "j" */ + 0xe, 0x1c, 0x0, 0x3, 0xe0, 0xc1, 0x83, 0x6, + 0xc, 0x18, 0x30, 0x60, 0xc1, 0x83, 0x87, 0x99, + 0xe0, + + /* U+006B "k" */ + 0xe0, 0x30, 0x18, 0xc, 0x6, 0x3b, 0x11, 0x90, + 0xd8, 0x78, 0x3e, 0x19, 0xc, 0xc6, 0x23, 0x1b, + 0x86, + + /* U+006C "l" */ + 0xf8, 0x30, 0x60, 0xc1, 0x83, 0x6, 0xc, 0x18, + 0x30, 0x60, 0xc1, 0x83, 0x3f, 0x80, + + /* U+006D "m" */ + 0xfb, 0x1b, 0x66, 0xd9, 0xb6, 0x6d, 0x9b, 0x66, + 0xd9, 0xb6, 0x6d, 0x9b, 0x6e, 0xdc, + + /* U+006E "n" */ + 0xee, 0x3b, 0x18, 0xcc, 0x66, 0x33, 0x19, 0x8c, + 0xc6, 0x63, 0x31, 0xb8, 0xe0, + + /* U+006F "o" */ + 0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, + 0xc3, 0x66, 0x3c, + + /* U+0070 "p" */ + 0xee, 0x39, 0x98, 0x6c, 0x36, 0x1b, 0xd, 0x86, + 0xc3, 0x61, 0xb9, 0x9b, 0x8c, 0x6, 0x3, 0x3, + 0x80, + + /* U+0071 "q" */ + 0x3b, 0x67, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, + 0xc3, 0x67, 0x3b, 0x3, 0x3, 0x3, 0x7, + + /* U+0072 "r" */ + 0xee, 0x73, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, + 0x60, 0x60, 0xf8, + + /* U+0073 "s" */ + 0x3e, 0xc7, 0xc0, 0xc0, 0xf8, 0x7e, 0x1f, 0x3, + 0x3, 0xe7, 0x7c, + + /* U+0074 "t" */ + 0x30, 0x18, 0xc, 0x6, 0xf, 0xe1, 0x80, 0xc0, + 0x60, 0x30, 0x18, 0xc, 0x6, 0x3, 0x10, 0xd8, + 0x38, + + /* U+0075 "u" */ + 0xe3, 0xb0, 0xd8, 0x6c, 0x36, 0x1b, 0xd, 0x86, + 0xc3, 0x61, 0x99, 0xc7, 0x60, + + /* U+0076 "v" */ + 0xe3, 0xa0, 0x98, 0xcc, 0x62, 0x21, 0x10, 0xd8, + 0x6c, 0x14, 0xe, 0x7, 0x0, + + /* U+0077 "w" */ + 0xe3, 0xb1, 0x98, 0xcc, 0x66, 0xb3, 0x58, 0xd8, + 0x6c, 0x36, 0x11, 0x9, 0x0, + + /* U+0078 "x" */ + 0xe3, 0xb1, 0x8d, 0x86, 0xc1, 0xc0, 0xe0, 0x70, + 0x6c, 0x36, 0x31, 0xb8, 0xe0, + + /* U+0079 "y" */ + 0xe3, 0xa0, 0x98, 0xcc, 0x62, 0x21, 0xb0, 0xd8, + 0x68, 0x1c, 0xe, 0x6, 0x3, 0x1, 0x80, 0x81, + 0xc0, + + /* U+007A "z" */ + 0xff, 0xc7, 0xc6, 0xc, 0x1c, 0x18, 0x38, 0x30, + 0x63, 0xe3, 0xff, + + /* U+007B "{" */ + 0xe, 0x30, 0xc1, 0x83, 0x7, 0x6, 0xc, 0x18, + 0x63, 0x81, 0x81, 0x83, 0x6, 0x1c, 0x30, 0x60, + 0xc1, 0x81, 0x81, 0xc0, + + /* U+007C "|" */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + + /* U+007D "}" */ + 0xe0, 0x60, 0x60, 0xc1, 0x87, 0xc, 0x18, 0x30, + 0x30, 0x38, 0xc3, 0x6, 0xc, 0x1c, 0x18, 0x30, + 0x60, 0xc3, 0x1c, 0x0, + + /* U+007E "~" */ + 0x0, 0x71, 0xdb, 0xce, 0x8e, + + /* U+00A0 " " */ + 0x0, + + /* U+00A1 "¡" */ + 0xff, 0x80, 0x36, 0xdb, 0x6d, 0xb0, + + /* U+00A2 "¢" */ + 0x18, 0x18, 0x7e, 0x66, 0xc3, 0xc2, 0xc0, 0xc0, + 0xc0, 0xc2, 0xc3, 0x62, 0x7e, 0x18, 0x18, + + /* U+00A3 "£" */ + 0x3c, 0x69, 0x9b, 0x6, 0xc, 0x18, 0x7c, 0x60, + 0xc1, 0x83, 0x6, 0x18, 0x3f, 0x80, + + /* U+00A4 "¤" */ + 0x40, 0x4f, 0xf8, 0xc6, 0x30, 0x66, 0xc, 0xc1, + 0x98, 0x31, 0x8c, 0x7f, 0xc8, 0x8, + + /* U+00A5 "¥" */ + 0xe3, 0xd8, 0x66, 0x19, 0x86, 0x33, 0xc, 0xc3, + 0xf0, 0x78, 0x7f, 0x83, 0x0, 0xc1, 0xfe, 0xc, + 0x3, 0x1, 0xe0, + + /* U+00A6 "¦" */ + 0xff, 0xff, 0xf0, 0xff, 0xff, 0xf0, + + /* U+00A7 "§" */ + 0x3e, 0x31, 0xf0, 0x78, 0xc, 0x3, 0x1, 0xe0, + 0x7c, 0x67, 0x60, 0xf0, 0x78, 0x3c, 0x1b, 0x98, + 0xf8, 0x1e, 0x3, 0x80, 0xc0, 0x78, 0x34, 0x31, + 0xf0, + + /* U+00A8 "¨" */ + 0xcf, 0x30, + + /* U+00A9 "©" */ + 0xf, 0xe0, 0x30, 0x60, 0x80, 0x22, 0x1e, 0x2c, + 0x64, 0x70, 0xc0, 0x61, 0x80, 0xc3, 0x1, 0x86, + 0x3, 0xc, 0x7, 0x19, 0x1a, 0x1e, 0x22, 0x0, + 0x83, 0x6, 0x3, 0xf0, 0x0, + + /* U+00AA "ª" */ + 0x3c, 0x8c, 0x19, 0xf4, 0x78, 0xd3, 0xbf, 0x0, + 0x1, 0xf0, + + /* U+00AB "«" */ + 0x19, 0x33, 0x32, 0x66, 0xcc, 0x98, 0xcc, 0x64, + 0x32, 0x33, 0x19, + + /* U+00AC "¬" */ + 0xff, 0x3, 0x3, 0x3, 0x3, + + /* U+00AD "­" */ + 0xfe, + + /* U+00AE "®" */ + 0xf, 0xe0, 0x30, 0x60, 0x80, 0x22, 0x3c, 0x2c, + 0x6c, 0x70, 0xd8, 0x61, 0xf0, 0xc3, 0x81, 0x87, + 0x3, 0xd, 0x7, 0x1b, 0x1a, 0x0, 0x22, 0x0, + 0x83, 0x6, 0x3, 0xf0, 0x0, + + /* U+00AF "¯" */ + 0xfc, + + /* U+00B0 "°" */ + 0x76, 0xf7, 0xb7, 0x0, + + /* U+00B1 "±" */ + 0x18, 0xc, 0x6, 0x3, 0xf, 0xf8, 0xc0, 0x60, + 0x30, 0x18, 0xc, 0x0, 0x1f, 0xf0, + + /* U+00B2 "²" */ + 0x3c, 0x8c, 0x18, 0x30, 0xe3, 0x8e, 0x38, 0x60, + 0x8f, 0xf8, + + /* U+00B3 "³" */ + 0x3c, 0x8c, 0x18, 0x30, 0xc7, 0x83, 0x83, 0x7, + 0x8d, 0xf0, + + /* U+00B4 "´" */ + 0x10, 0xcc, 0xc4, 0x0, + + /* U+00B5 "µ" */ + 0xe7, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, + 0x63, 0x77, 0x7b, 0x60, 0x60, 0x60, 0xe0, + + /* U+00B6 "¶" */ + 0x3b, 0x5b, 0xdb, 0xdb, 0xdb, 0xdb, 0x5b, 0x7b, + 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, + + /* U+00B7 "·" */ + 0xff, 0x80, + + /* U+00B8 "¸" */ + 0x67, 0x3e, + + /* U+00B9 "¹" */ + 0x31, 0xc7, 0xc, 0x30, 0xc3, 0xc, 0x30, 0xc7, + 0xc0, + + /* U+00BA "º" */ + 0x3d, 0x9f, 0x1e, 0x3c, 0x78, 0xf3, 0xbe, 0x0, + 0x1, 0xf0, + + /* U+00BB "»" */ + 0xcc, 0x26, 0x19, 0x86, 0x41, 0xb0, 0x4c, 0x6c, + 0x64, 0x66, 0x26, 0x33, 0x0, + + /* U+00BC "¼" */ + 0x38, 0x70, 0x60, 0xc1, 0x83, 0x6, 0x1e, 0x0, + 0x3, 0xf8, 0x0, 0x3, 0xe, 0x1c, 0x38, 0xf1, + 0xf0, 0xc1, 0x80, + + /* U+00BD "½" */ + 0x38, 0x70, 0x60, 0xc1, 0x83, 0x6, 0x1e, 0x0, + 0x3, 0xf8, 0x0, 0x7, 0x19, 0x2, 0xc, 0x30, + 0xc1, 0x7, 0xc0, + + /* U+00BE "¾" */ + 0x38, 0xd8, 0x30, 0x61, 0x80, 0x91, 0x1c, 0x0, + 0x3, 0xf8, 0x0, 0x3, 0xe, 0x1c, 0x38, 0xb1, + 0xf0, 0xc1, 0x80, + + /* U+00BF "¿" */ + 0x38, 0x38, 0x38, 0x0, 0x0, 0x18, 0x18, 0x30, + 0x70, 0x60, 0xc0, 0xc0, 0xc3, 0x67, 0x3c, + + /* U+00C0 "À" */ + 0x10, 0xc, 0x6, 0x1, 0x80, 0x0, 0xe0, 0x70, + 0x28, 0x14, 0x1b, 0xd, 0x86, 0xc2, 0x21, 0x10, + 0x88, 0xfe, 0x63, 0x31, 0x98, 0xdc, 0x70, + + /* U+00C1 "Á" */ + 0x4, 0x6, 0x3, 0x3, 0x0, 0x0, 0xe0, 0x70, + 0x28, 0x14, 0x1b, 0xd, 0x86, 0xc2, 0x21, 0x10, + 0x88, 0xfe, 0x63, 0x31, 0x98, 0xdc, 0x70, + + /* U+00C2 "Â" */ + 0x1c, 0x1b, 0xd, 0x84, 0x40, 0x0, 0xe0, 0x70, + 0x28, 0x14, 0x1b, 0xd, 0x86, 0xc2, 0x21, 0x10, + 0x88, 0xfe, 0x63, 0x31, 0x98, 0xdc, 0x70, + + /* U+00C3 "Ã" */ + 0x0, 0x1d, 0x9b, 0x8d, 0xc0, 0x0, 0xe0, 0x70, + 0x28, 0x14, 0x1b, 0xd, 0x86, 0xc2, 0x21, 0x10, + 0x88, 0xfe, 0x63, 0x31, 0x98, 0xdc, 0x70, + + /* U+00C4 "Ä" */ + 0x33, 0x19, 0x80, 0x0, 0x1, 0xc0, 0xe0, 0x70, + 0x3c, 0x16, 0x1b, 0xc, 0x86, 0x42, 0x21, 0x19, + 0xfc, 0xc6, 0x63, 0x31, 0xb8, 0xe0, + + /* U+00C5 "Å" */ + 0x1c, 0xa, 0x5, 0x3, 0x80, 0x0, 0xe0, 0x70, + 0x28, 0x14, 0xa, 0xd, 0x86, 0xc2, 0x21, 0x10, + 0x88, 0xfe, 0x63, 0x31, 0x98, 0xdc, 0x70, + + /* U+00C6 "Æ" */ + 0x1f, 0x1f, 0x1f, 0x3c, 0x3c, 0x3c, 0x2f, 0x2c, + 0x6c, 0x6c, 0x7c, 0x6c, 0x6f, 0x6f, 0xef, + + /* U+00C7 "Ç" */ + 0x3c, 0x66, 0xc3, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc3, 0xe6, 0x7c, 0x18, 0x1c, + 0xc, 0xc, 0x38, + + /* U+00C8 "È" */ + 0x20, 0x30, 0x18, 0x8, 0x0, 0xff, 0x63, 0x63, + 0x60, 0x60, 0x60, 0x60, 0x7c, 0x60, 0x60, 0x60, + 0x60, 0x63, 0x63, 0xff, + + /* U+00C9 "É" */ + 0x4, 0xc, 0xc, 0x18, 0x0, 0xff, 0x63, 0x63, + 0x60, 0x60, 0x60, 0x60, 0x7c, 0x60, 0x60, 0x60, + 0x60, 0x63, 0x63, 0xff, + + /* U+00CA "Ê" */ + 0x18, 0x3c, 0x66, 0x62, 0x0, 0xff, 0x63, 0x63, + 0x60, 0x60, 0x60, 0x60, 0x7c, 0x60, 0x60, 0x60, + 0x60, 0x63, 0x63, 0xff, + + /* U+00CB "Ë" */ + 0x66, 0x66, 0x0, 0x0, 0xff, 0x63, 0x63, 0x60, + 0x60, 0x60, 0x60, 0x7c, 0x60, 0x60, 0x60, 0x60, + 0x63, 0x63, 0xff, + + /* U+00CC "Ì" */ + 0x43, 0x87, 0xc, 0x3, 0xf3, 0xc, 0x30, 0xc3, + 0xc, 0x30, 0xc3, 0xc, 0x30, 0xc3, 0x3f, + + /* U+00CD "Í" */ + 0x8, 0x73, 0x8c, 0x3, 0xf3, 0xc, 0x30, 0xc3, + 0xc, 0x30, 0xc3, 0xc, 0x30, 0xc3, 0x3f, + + /* U+00CE "Î" */ + 0x38, 0x3c, 0x66, 0x42, 0x0, 0x7e, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x7e, + + /* U+00CF "Ï" */ + 0xcf, 0x30, 0x0, 0xfc, 0xc3, 0xc, 0x30, 0xc3, + 0xc, 0x30, 0xc3, 0xc, 0x30, 0xcf, 0xc0, + + /* U+00D0 "Ð" */ + 0xfc, 0x31, 0x98, 0xcc, 0x36, 0x1b, 0xd, 0x87, + 0xf3, 0x61, 0xb0, 0xd8, 0x6c, 0x36, 0x33, 0x1b, + 0xf0, + + /* U+00D1 "Ñ" */ + 0x0, 0x1d, 0x9b, 0x8d, 0xc0, 0x7, 0x1d, 0x8c, + 0xe6, 0x73, 0x39, 0x9c, 0xcd, 0x66, 0xb3, 0x59, + 0xac, 0xce, 0x67, 0x33, 0x98, 0xdc, 0x60, + + /* U+00D2 "Ò" */ + 0x0, 0x30, 0x10, 0x18, 0x0, 0x3c, 0x66, 0xc3, + 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, + 0xc3, 0xc3, 0x66, 0x3c, + + /* U+00D3 "Ó" */ + 0x0, 0xc, 0x8, 0x18, 0x0, 0x3c, 0x66, 0xc3, + 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, + 0xc3, 0xc3, 0x66, 0x3c, + + /* U+00D4 "Ô" */ + 0x18, 0x3c, 0x66, 0x66, 0x0, 0x3c, 0x66, 0xc3, + 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, + 0xc3, 0xc3, 0x66, 0x3c, + + /* U+00D5 "Õ" */ + 0x32, 0x7e, 0x4e, 0x0, 0x0, 0x3c, 0x66, 0xc3, + 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, + 0xc3, 0xc3, 0x66, 0x3c, + + /* U+00D6 "Ö" */ + 0x66, 0x66, 0x0, 0x0, 0x3c, 0x66, 0xc3, 0xc3, + 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, + 0xc3, 0x66, 0x3c, + + /* U+00D7 "×" */ + 0x0, 0x30, 0x36, 0x18, 0xcc, 0x1e, 0x3, 0x1, + 0xe0, 0xcc, 0x61, 0xb0, 0x30, 0x0, + + /* U+00D8 "Ø" */ + 0x2, 0x3e, 0x62, 0xc7, 0xc7, 0xc7, 0xcb, 0xcb, + 0xdb, 0xd3, 0xd3, 0xe3, 0xe3, 0xe3, 0x46, 0x7c, + 0x40, + + /* U+00D9 "Ù" */ + 0x10, 0xc, 0x6, 0x1, 0x80, 0x7, 0x1d, 0x8c, + 0xc6, 0x63, 0x31, 0x98, 0xcc, 0x66, 0x33, 0x19, + 0x8c, 0xc6, 0x63, 0x31, 0x8d, 0x83, 0x80, + + /* U+00DA "Ú" */ + 0x4, 0x6, 0x3, 0x3, 0x0, 0x7, 0x1d, 0x8c, + 0xc6, 0x63, 0x31, 0x98, 0xcc, 0x66, 0x33, 0x19, + 0x8c, 0xc6, 0x63, 0x31, 0x8d, 0x83, 0x80, + + /* U+00DB "Û" */ + 0x1c, 0x1b, 0xd, 0x84, 0x40, 0x7, 0x1d, 0x8c, + 0xc6, 0x63, 0x31, 0x98, 0xcc, 0x66, 0x33, 0x19, + 0x8c, 0xc6, 0x63, 0x31, 0x8d, 0x83, 0x80, + + /* U+00DC "Ü" */ + 0x33, 0x19, 0x80, 0x0, 0xe, 0x3b, 0x19, 0x8c, + 0xc6, 0x63, 0x31, 0x98, 0xcc, 0x66, 0x33, 0x19, + 0x8c, 0xc6, 0x63, 0x1b, 0x7, 0x0, + + /* U+00DD "Ý" */ + 0x2, 0x1, 0x80, 0xe0, 0x70, 0x0, 0x38, 0xf6, + 0x19, 0x86, 0x61, 0x8c, 0xc3, 0x30, 0x78, 0x1e, + 0x3, 0x0, 0xc0, 0x30, 0xc, 0x3, 0x0, 0xc0, + 0x78, + + /* U+00DE "Þ" */ + 0xe0, 0x60, 0x60, 0x7c, 0x66, 0x63, 0x63, 0x63, + 0x63, 0x63, 0x66, 0x7c, 0x60, 0x60, 0xe0, + + /* U+00DF "ß" */ + 0x1c, 0x1b, 0x18, 0xcc, 0x66, 0x33, 0x19, 0x98, + 0xd8, 0x63, 0x30, 0xd8, 0x6c, 0x36, 0x1b, 0x1b, + 0xb8, + + /* U+00E0 "à" */ + 0x0, 0x30, 0x18, 0x8, 0x0, 0x3c, 0x66, 0xc3, + 0x3, 0x3, 0x3f, 0xe3, 0xc3, 0xc3, 0xc7, 0x7b, + + /* U+00E1 "á" */ + 0x4, 0x6, 0xc, 0x18, 0x0, 0x3c, 0x66, 0xc3, + 0x3, 0x3, 0x3f, 0xe3, 0xc3, 0xc3, 0xc7, 0x7b, + + /* U+00E2 "â" */ + 0x18, 0x3c, 0x36, 0x67, 0x0, 0x3c, 0x66, 0xc3, + 0x3, 0x3, 0x3f, 0xe3, 0xc3, 0xc3, 0xc7, 0x7b, + + /* U+00E3 "ã" */ + 0x33, 0x7a, 0xce, 0x0, 0x3c, 0x66, 0xc3, 0x3, + 0x3, 0x3f, 0xe3, 0xc3, 0xc3, 0xc7, 0x7b, + + /* U+00E4 "ä" */ + 0x66, 0x66, 0x0, 0x0, 0x3c, 0x66, 0xc3, 0x3, + 0x3, 0x3f, 0xe3, 0xc3, 0xc3, 0xc7, 0x7b, + + /* U+00E5 "å" */ + 0x18, 0x24, 0x3c, 0x0, 0x3c, 0x66, 0xc3, 0x3, + 0x3, 0x3f, 0xe3, 0xc3, 0xc3, 0xc7, 0x7b, + + /* U+00E6 "æ" */ + 0x7f, 0x6c, 0xf6, 0x63, 0x31, 0x9b, 0xff, 0x61, + 0xb0, 0xd9, 0xec, 0xdf, 0xc0, + + /* U+00E7 "ç" */ + 0x3c, 0x66, 0xc3, 0xc0, 0xc0, 0xc0, 0xc0, 0xc3, + 0x66, 0x7c, 0x18, 0x1c, 0xc, 0xc, 0x38, + + /* U+00E8 "è" */ + 0x0, 0x30, 0x10, 0x18, 0x0, 0x3c, 0x66, 0xc3, + 0xc3, 0xc3, 0xff, 0xc0, 0xc0, 0xc3, 0x66, 0x3c, + + /* U+00E9 "é" */ + 0x0, 0xc, 0x8, 0x18, 0x0, 0x3c, 0x66, 0xc3, + 0xc3, 0xc3, 0xff, 0xc0, 0xc0, 0xc3, 0x66, 0x3c, + + /* U+00EA "ê" */ + 0x18, 0x3c, 0x66, 0x66, 0x0, 0x3c, 0x66, 0xc3, + 0xc3, 0xc3, 0xff, 0xc0, 0xc0, 0xc3, 0x66, 0x3c, + + /* U+00EB "ë" */ + 0x66, 0x66, 0x0, 0x0, 0x3c, 0x66, 0xc3, 0xc3, + 0xc3, 0xff, 0xc0, 0xc0, 0xc3, 0x66, 0x3c, + + /* U+00EC "ì" */ + 0x20, 0xe0, 0xc0, 0xc0, 0x1f, 0x6, 0xc, 0x18, + 0x30, 0x60, 0xc1, 0x83, 0x6, 0x7f, + + /* U+00ED "í" */ + 0x4, 0x18, 0x61, 0x80, 0x1f, 0x6, 0xc, 0x18, + 0x30, 0x60, 0xc1, 0x83, 0x6, 0x7f, + + /* U+00EE "î" */ + 0x18, 0x79, 0xb6, 0x30, 0x1f, 0x6, 0xc, 0x18, + 0x30, 0x60, 0xc1, 0x83, 0x6, 0x7f, + + /* U+00EF "ï" */ + 0xcd, 0x98, 0x0, 0xf, 0x83, 0x6, 0xc, 0x18, + 0x30, 0x60, 0xc1, 0x83, 0x3f, 0x80, + + /* U+00F0 "ð" */ + 0x20, 0x38, 0x1a, 0x1e, 0x7e, 0x6, 0x3e, 0x67, + 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, + + /* U+00F1 "ñ" */ + 0x3b, 0x1f, 0x1b, 0x80, 0xe, 0xe3, 0xb1, 0x8c, + 0xc6, 0x63, 0x31, 0x98, 0xcc, 0x66, 0x33, 0x1b, + 0x8e, + + /* U+00F2 "ò" */ + 0x0, 0x30, 0x10, 0x18, 0x0, 0x3c, 0x66, 0xc3, + 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, + + /* U+00F3 "ó" */ + 0x0, 0xc, 0x8, 0x18, 0x0, 0x3c, 0x66, 0xc3, + 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, + + /* U+00F4 "ô" */ + 0x18, 0x3c, 0x66, 0x66, 0x0, 0x3c, 0x66, 0xc3, + 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, + + /* U+00F5 "õ" */ + 0x33, 0x7e, 0xcc, 0x0, 0x3c, 0x66, 0xc3, 0xc3, + 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, + + /* U+00F6 "ö" */ + 0x66, 0x66, 0x0, 0x0, 0x3c, 0x66, 0xc3, 0xc3, + 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, + + /* U+00F7 "÷" */ + 0x1c, 0xe, 0x0, 0x0, 0x0, 0x7, 0xfc, 0x0, + 0x0, 0x0, 0xe, 0x7, 0x0, + + /* U+00F8 "ø" */ + 0x2, 0x3e, 0x66, 0xcf, 0xcf, 0xcb, 0xdb, 0xd3, + 0xf3, 0xf3, 0x66, 0x7c, 0x40, + + /* U+00F9 "ù" */ + 0x10, 0xc, 0x3, 0x1, 0x80, 0x7, 0x1d, 0x86, + 0xc3, 0x61, 0xb0, 0xd8, 0x6c, 0x36, 0x1b, 0xc, + 0xce, 0x3b, + + /* U+00FA "ú" */ + 0x2, 0x3, 0x3, 0x1, 0x80, 0x7, 0x1d, 0x86, + 0xc3, 0x61, 0xb0, 0xd8, 0x6c, 0x36, 0x1b, 0xc, + 0xce, 0x3b, + + /* U+00FB "û" */ + 0xc, 0xf, 0xc, 0xce, 0x70, 0x7, 0x1d, 0x86, + 0xc3, 0x61, 0xb0, 0xd8, 0x6c, 0x36, 0x1b, 0xc, + 0xce, 0x3b, + + /* U+00FC "ü" */ + 0x33, 0x19, 0x80, 0x0, 0xe, 0x3b, 0xd, 0x86, + 0xc3, 0x61, 0xb0, 0xd8, 0x6c, 0x36, 0x19, 0x9c, + 0x76, + + /* U+00FD "ý" */ + 0x4, 0x3, 0x3, 0x3, 0x0, 0x7, 0x1d, 0x4, + 0xc6, 0x63, 0x11, 0xd, 0x86, 0xc3, 0x40, 0xe0, + 0x70, 0x30, 0x18, 0xc, 0x4, 0xe, 0x0, + + /* U+00FE "þ" */ + 0xe0, 0x30, 0x18, 0xc, 0x6, 0xe3, 0x99, 0x86, + 0xc3, 0x61, 0xb0, 0xd8, 0x6c, 0x36, 0x1b, 0x99, + 0xb8, 0xc0, 0x60, 0x30, 0x38, 0x0 +}; + + +/*--------------------- + * GLYPH DESCRIPTION + *--------------------*/ + +static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { + {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, + {.bitmap_index = 0, .adv_w = 320, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1, .adv_w = 160, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2, .adv_w = 160, .box_w = 3, .box_h = 15, .ofs_x = 4, .ofs_y = 0}, + {.bitmap_index = 8, .adv_w = 160, .box_w = 6, .box_h = 6, .ofs_x = 2, .ofs_y = 9}, + {.bitmap_index = 13, .adv_w = 160, .box_w = 9, .box_h = 19, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 35, .adv_w = 160, .box_w = 8, .box_h = 19, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 54, .adv_w = 160, .box_w = 7, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 68, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 85, .adv_w = 160, .box_w = 2, .box_h = 6, .ofs_x = 4, .ofs_y = 9}, + {.bitmap_index = 87, .adv_w = 160, .box_w = 6, .box_h = 23, .ofs_x = 3, .ofs_y = -4}, + {.bitmap_index = 105, .adv_w = 160, .box_w = 6, .box_h = 23, .ofs_x = 2, .ofs_y = -4}, + {.bitmap_index = 123, .adv_w = 160, .box_w = 10, .box_h = 8, .ofs_x = 0, .ofs_y = 9}, + {.bitmap_index = 133, .adv_w = 160, .box_w = 7, .box_h = 8, .ofs_x = 1, .ofs_y = 3}, + {.bitmap_index = 140, .adv_w = 160, .box_w = 3, .box_h = 7, .ofs_x = 3, .ofs_y = -4}, + {.bitmap_index = 143, .adv_w = 160, .box_w = 7, .box_h = 1, .ofs_x = 1, .ofs_y = 7}, + {.bitmap_index = 144, .adv_w = 160, .box_w = 3, .box_h = 3, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 146, .adv_w = 160, .box_w = 8, .box_h = 22, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 168, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 183, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 198, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 213, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 228, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 243, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 258, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 273, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 288, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 303, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 318, .adv_w = 160, .box_w = 3, .box_h = 11, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 323, .adv_w = 160, .box_w = 3, .box_h = 15, .ofs_x = 3, .ofs_y = -4}, + {.bitmap_index = 329, .adv_w = 160, .box_w = 8, .box_h = 13, .ofs_x = 1, .ofs_y = 1}, + {.bitmap_index = 342, .adv_w = 160, .box_w = 7, .box_h = 5, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 347, .adv_w = 160, .box_w = 8, .box_h = 13, .ofs_x = 1, .ofs_y = 1}, + {.bitmap_index = 360, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 375, .adv_w = 160, .box_w = 8, .box_h = 18, .ofs_x = 1, .ofs_y = -1}, + {.bitmap_index = 393, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 410, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 427, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 442, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 459, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 474, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 489, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 504, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 521, .adv_w = 160, .box_w = 6, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 533, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 548, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 565, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 580, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 597, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 614, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 629, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 644, .adv_w = 160, .box_w = 8, .box_h = 18, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 662, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 679, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 694, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 709, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 726, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 743, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 760, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 777, .adv_w = 160, .box_w = 10, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 796, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 811, .adv_w = 160, .box_w = 7, .box_h = 22, .ofs_x = 2, .ofs_y = -3}, + {.bitmap_index = 831, .adv_w = 160, .box_w = 8, .box_h = 22, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 853, .adv_w = 160, .box_w = 7, .box_h = 22, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 873, .adv_w = 160, .box_w = 8, .box_h = 5, .ofs_x = 1, .ofs_y = 11}, + {.bitmap_index = 878, .adv_w = 160, .box_w = 7, .box_h = 1, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 879, .adv_w = 160, .box_w = 5, .box_h = 5, .ofs_x = 2, .ofs_y = 11}, + {.bitmap_index = 883, .adv_w = 160, .box_w = 8, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 894, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 911, .adv_w = 160, .box_w = 8, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 922, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 937, .adv_w = 160, .box_w = 8, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 948, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 963, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 978, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 995, .adv_w = 160, .box_w = 7, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1009, .adv_w = 160, .box_w = 7, .box_h = 19, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 1026, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1043, .adv_w = 160, .box_w = 7, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1057, .adv_w = 160, .box_w = 10, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1071, .adv_w = 160, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1084, .adv_w = 160, .box_w = 8, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1095, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 1112, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 1127, .adv_w = 160, .box_w = 8, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1138, .adv_w = 160, .box_w = 8, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1149, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1166, .adv_w = 160, .box_w = 9, .box_h = 11, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1179, .adv_w = 160, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1192, .adv_w = 160, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1205, .adv_w = 160, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1218, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 1235, .adv_w = 160, .box_w = 8, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1246, .adv_w = 160, .box_w = 7, .box_h = 22, .ofs_x = 2, .ofs_y = -3}, + {.bitmap_index = 1266, .adv_w = 160, .box_w = 2, .box_h = 22, .ofs_x = 4, .ofs_y = -3}, + {.bitmap_index = 1272, .adv_w = 160, .box_w = 7, .box_h = 22, .ofs_x = 2, .ofs_y = -3}, + {.bitmap_index = 1292, .adv_w = 160, .box_w = 8, .box_h = 5, .ofs_x = 1, .ofs_y = 5}, + {.bitmap_index = 1297, .adv_w = 160, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1298, .adv_w = 160, .box_w = 3, .box_h = 15, .ofs_x = 4, .ofs_y = -4}, + {.bitmap_index = 1304, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 1319, .adv_w = 160, .box_w = 7, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1333, .adv_w = 320, .box_w = 11, .box_h = 10, .ofs_x = 5, .ofs_y = 2}, + {.bitmap_index = 1347, .adv_w = 160, .box_w = 10, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1366, .adv_w = 160, .box_w = 2, .box_h = 22, .ofs_x = 4, .ofs_y = -3}, + {.bitmap_index = 1372, .adv_w = 320, .box_w = 9, .box_h = 22, .ofs_x = 6, .ofs_y = -3}, + {.bitmap_index = 1397, .adv_w = 160, .box_w = 6, .box_h = 2, .ofs_x = 2, .ofs_y = 13}, + {.bitmap_index = 1399, .adv_w = 320, .box_w = 15, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1428, .adv_w = 160, .box_w = 7, .box_h = 11, .ofs_x = 1, .ofs_y = 5}, + {.bitmap_index = 1438, .adv_w = 160, .box_w = 8, .box_h = 11, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 1449, .adv_w = 160, .box_w = 8, .box_h = 5, .ofs_x = 1, .ofs_y = 3}, + {.bitmap_index = 1454, .adv_w = 160, .box_w = 7, .box_h = 1, .ofs_x = 1, .ofs_y = 7}, + {.bitmap_index = 1455, .adv_w = 320, .box_w = 15, .box_h = 15, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1484, .adv_w = 160, .box_w = 6, .box_h = 1, .ofs_x = 2, .ofs_y = 14}, + {.bitmap_index = 1485, .adv_w = 160, .box_w = 5, .box_h = 5, .ofs_x = 3, .ofs_y = 11}, + {.bitmap_index = 1489, .adv_w = 320, .box_w = 9, .box_h = 12, .ofs_x = 6, .ofs_y = 0}, + {.bitmap_index = 1503, .adv_w = 160, .box_w = 7, .box_h = 11, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 1513, .adv_w = 160, .box_w = 7, .box_h = 11, .ofs_x = 2, .ofs_y = 6}, + {.bitmap_index = 1523, .adv_w = 160, .box_w = 5, .box_h = 5, .ofs_x = 3, .ofs_y = 11}, + {.bitmap_index = 1527, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 1542, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1557, .adv_w = 320, .box_w = 3, .box_h = 3, .ofs_x = 8, .ofs_y = 6}, + {.bitmap_index = 1559, .adv_w = 160, .box_w = 4, .box_h = 4, .ofs_x = 3, .ofs_y = -4}, + {.bitmap_index = 1561, .adv_w = 160, .box_w = 6, .box_h = 11, .ofs_x = 2, .ofs_y = 6}, + {.bitmap_index = 1570, .adv_w = 160, .box_w = 7, .box_h = 11, .ofs_x = 2, .ofs_y = 5}, + {.bitmap_index = 1580, .adv_w = 160, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 1593, .adv_w = 160, .box_w = 7, .box_h = 21, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 1612, .adv_w = 160, .box_w = 7, .box_h = 21, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 1631, .adv_w = 160, .box_w = 7, .box_h = 21, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 1650, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 1665, .adv_w = 160, .box_w = 9, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1688, .adv_w = 160, .box_w = 9, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1711, .adv_w = 160, .box_w = 9, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1734, .adv_w = 160, .box_w = 9, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1757, .adv_w = 160, .box_w = 9, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1779, .adv_w = 160, .box_w = 9, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1802, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1817, .adv_w = 160, .box_w = 8, .box_h = 19, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 1836, .adv_w = 160, .box_w = 8, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1856, .adv_w = 160, .box_w = 8, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1876, .adv_w = 160, .box_w = 8, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1896, .adv_w = 160, .box_w = 8, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1915, .adv_w = 160, .box_w = 6, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1930, .adv_w = 160, .box_w = 6, .box_h = 20, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1945, .adv_w = 160, .box_w = 8, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1965, .adv_w = 160, .box_w = 6, .box_h = 19, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1980, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1997, .adv_w = 160, .box_w = 9, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2020, .adv_w = 160, .box_w = 8, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2040, .adv_w = 160, .box_w = 8, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2060, .adv_w = 160, .box_w = 8, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2080, .adv_w = 160, .box_w = 8, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2100, .adv_w = 160, .box_w = 8, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2119, .adv_w = 320, .box_w = 10, .box_h = 11, .ofs_x = 5, .ofs_y = 2}, + {.bitmap_index = 2133, .adv_w = 160, .box_w = 8, .box_h = 17, .ofs_x = 1, .ofs_y = -1}, + {.bitmap_index = 2150, .adv_w = 160, .box_w = 9, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2173, .adv_w = 160, .box_w = 9, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2196, .adv_w = 160, .box_w = 9, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2219, .adv_w = 160, .box_w = 9, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2241, .adv_w = 160, .box_w = 10, .box_h = 20, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2266, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2281, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2298, .adv_w = 160, .box_w = 8, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2314, .adv_w = 160, .box_w = 8, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2330, .adv_w = 160, .box_w = 8, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2346, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2361, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2376, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2391, .adv_w = 160, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2404, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 2419, .adv_w = 160, .box_w = 8, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2435, .adv_w = 160, .box_w = 8, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2451, .adv_w = 160, .box_w = 8, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2467, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2482, .adv_w = 160, .box_w = 7, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2496, .adv_w = 160, .box_w = 7, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2510, .adv_w = 160, .box_w = 7, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2524, .adv_w = 160, .box_w = 7, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2538, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2553, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2570, .adv_w = 160, .box_w = 8, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2586, .adv_w = 160, .box_w = 8, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2602, .adv_w = 160, .box_w = 8, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2618, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2633, .adv_w = 160, .box_w = 8, .box_h = 15, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2648, .adv_w = 320, .box_w = 9, .box_h = 11, .ofs_x = 6, .ofs_y = 2}, + {.bitmap_index = 2661, .adv_w = 160, .box_w = 8, .box_h = 13, .ofs_x = 1, .ofs_y = -1}, + {.bitmap_index = 2674, .adv_w = 160, .box_w = 9, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2692, .adv_w = 160, .box_w = 9, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2710, .adv_w = 160, .box_w = 9, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2728, .adv_w = 160, .box_w = 9, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2745, .adv_w = 160, .box_w = 9, .box_h = 20, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 2768, .adv_w = 160, .box_w = 9, .box_h = 19, .ofs_x = 1, .ofs_y = -4} +}; + +/*--------------------- + * CHARACTER MAPPING + *--------------------*/ + + + +/*Collect the unicode lists and glyph_id offsets*/ +static const lv_font_fmt_txt_cmap_t cmaps[] = +{ + { + .range_start = 13, .range_length = 1, .glyph_id_start = 1, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + }, + { + .range_start = 32, .range_length = 95, .glyph_id_start = 2, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + }, + { + .range_start = 160, .range_length = 95, .glyph_id_start = 97, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + } +}; + + + +/*-------------------- + * ALL CUSTOM DATA + *--------------------*/ + +#if LVGL_VERSION_MAJOR == 8 +/*Store all the custom data of the font*/ +static lv_font_fmt_txt_glyph_cache_t cache; +#endif + +#if LVGL_VERSION_MAJOR >= 8 +static const lv_font_fmt_txt_dsc_t font_dsc = { +#else +static lv_font_fmt_txt_dsc_t font_dsc = { +#endif + .glyph_bitmap = glyph_bitmap, + .glyph_dsc = glyph_dsc, + .cmaps = cmaps, + .kern_dsc = NULL, + .kern_scale = 0, + .cmap_num = 3, + .bpp = 1, + .kern_classes = 0, + .bitmap_format = 0, +#if LVGL_VERSION_MAJOR == 8 + .cache = &cache +#endif + +}; + +extern const lv_font_t lv_font_montserrat_12; + + +/*----------------- + * PUBLIC FONT + *----------------*/ + +/*Initialize a public general font descriptor*/ +#if LVGL_VERSION_MAJOR >= 8 +const lv_font_t InziuIosevka_Slab_CC_20px = { +#else +lv_font_t InziuIosevka_Slab_CC_20px = { +#endif + .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ + .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ + .line_height = 24, /*The maximum line height required by the font*/ + .base_line = 4, /*Baseline measured from the bottom of the line*/ +#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0) + .subpx = LV_FONT_SUBPX_NONE, +#endif +#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8 + .underline_position = -4, + .underline_thickness = 1, +#endif + .dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ +#if LV_VERSION_CHECK(8, 2, 0) || LVGL_VERSION_MAJOR >= 9 + .fallback = &lv_font_montserrat_12, +#endif + .user_data = NULL, +}; + + + +#endif /*#if INZIUIOSEVKA_SLAB_CC_20PX*/ diff --git a/components/user_fonts/InziuIosevka_Slab_CC_24px.c b/components/user_fonts/InziuIosevka_Slab_CC_24px.c new file mode 100644 index 0000000..faf3c01 --- /dev/null +++ b/components/user_fonts/InziuIosevka_Slab_CC_24px.c @@ -0,0 +1,1289 @@ +/******************************************************************************* + * Size: 24 px + * Bpp: 1 + * Opts: --bpp 1 --size 24 --no-compress --stride 1 --align 1 --font Inziu-IosevkaCC-Slab-J-Regular-04.ttf --range 0-254 --format lvgl -o InziuIosevka_Slab_CC_24px.c + ******************************************************************************/ + +#ifdef __has_include + #if __has_include("lvgl.h") + #ifndef LV_LVGL_H_INCLUDE_SIMPLE + #define LV_LVGL_H_INCLUDE_SIMPLE + #endif + #endif +#endif + +#ifdef LV_LVGL_H_INCLUDE_SIMPLE + #include "lvgl.h" +#else + #include "lvgl/lvgl.h" +#endif + + + +#ifndef INZIUIOSEVKA_SLAB_CC_24PX +#define INZIUIOSEVKA_SLAB_CC_24PX 1 +#endif + +#if INZIUIOSEVKA_SLAB_CC_24PX + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { + /* U+000D "\r" */ + 0x0, + + /* U+0020 " " */ + 0x0, + + /* U+0021 "!" */ + 0x6d, 0xb6, 0xdb, 0x6d, 0x80, 0x7, 0xfc, + + /* U+0022 "\"" */ + 0xc7, 0x8f, 0x1e, 0x3c, 0x78, 0xf1, 0xe3, + + /* U+0023 "#" */ + 0x31, 0x86, 0x30, 0xc6, 0x18, 0xc3, 0x18, 0x63, + 0x3f, 0xf9, 0x8c, 0x31, 0x86, 0x30, 0xc6, 0x18, + 0xc3, 0x18, 0x63, 0xc, 0x67, 0xff, 0x31, 0x86, + 0x30, 0xc6, 0x18, 0xc3, 0x18, 0x63, 0x0, + + /* U+0024 "$" */ + 0x18, 0xc, 0x6, 0x7, 0x87, 0xf7, 0xdf, 0x67, + 0xb0, 0xd8, 0x7c, 0x1e, 0x7, 0x81, 0xf0, 0xd8, + 0x66, 0x33, 0xd9, 0xed, 0xdf, 0xc7, 0x81, 0x80, + 0xc0, 0x60, + + /* U+0025 "%" */ + 0xc1, 0xe0, 0xb0, 0xd8, 0x6c, 0x20, 0x30, 0x10, + 0x18, 0xc, 0xc, 0x6, 0x2, 0x3, 0x1, 0xd, + 0x86, 0xc3, 0x41, 0xe0, 0xc0, + + /* U+0026 "&" */ + 0x1c, 0xd, 0x86, 0x31, 0x8c, 0x63, 0x19, 0xc7, + 0x60, 0xf8, 0x1c, 0xe, 0x67, 0xdb, 0x9e, 0xc7, + 0xb0, 0xec, 0x3b, 0x6, 0x63, 0xcf, 0xf0, + + /* U+0027 "'" */ + 0xff, 0xff, + + /* U+0028 "(" */ + 0x6, 0x1c, 0x71, 0xc3, 0xe, 0x18, 0x30, 0xe1, + 0x83, 0x6, 0xc, 0x18, 0x30, 0x60, 0xc1, 0x81, + 0x83, 0x6, 0x6, 0xe, 0xc, 0xe, 0xc, 0x0, + + /* U+0029 ")" */ + 0xc1, 0xc1, 0xc1, 0x81, 0x83, 0x83, 0x6, 0xe, + 0xc, 0x18, 0x30, 0x60, 0xc1, 0x83, 0x6, 0xc, + 0x30, 0x60, 0xc3, 0xe, 0x18, 0xe1, 0x80, 0x0, + + /* U+002A "*" */ + 0xc, 0x3, 0x0, 0xc3, 0xb7, 0xff, 0xc3, 0x1, + 0xe0, 0xcc, 0x73, 0x88, 0x40, + + /* U+002B "+" */ + 0x18, 0xc, 0x6, 0x3, 0x1, 0x87, 0xfc, 0x60, + 0x30, 0x18, 0xc, 0x0, + + /* U+002C "," */ + 0x6f, 0xf7, 0x36, 0x6c, 0x40, + + /* U+002D "-" */ + 0xff, 0x80, + + /* U+002E "." */ + 0x6f, 0xf6, + + /* U+002F "/" */ + 0x1, 0x80, 0x60, 0x18, 0x6, 0x3, 0x0, 0xc0, + 0x30, 0x8, 0x6, 0x1, 0x80, 0x60, 0x30, 0xc, + 0x3, 0x0, 0xc0, 0x60, 0x18, 0x6, 0x1, 0x0, + 0xc0, 0x30, 0xc, 0x6, 0x1, 0x80, 0x60, 0x18, + 0x0, + + /* U+0030 "0" */ + 0x1e, 0x18, 0x66, 0x1b, 0x3, 0xc1, 0xf0, 0xfc, + 0x3f, 0x1b, 0xce, 0xf7, 0x3d, 0x8f, 0xe3, 0xf0, + 0xf8, 0x3e, 0xd, 0x86, 0x71, 0x87, 0x80, + + /* U+0031 "1" */ + 0x1c, 0x1e, 0x1f, 0x19, 0x80, 0xc0, 0x60, 0x30, + 0x18, 0xc, 0x6, 0x3, 0x1, 0x80, 0xc0, 0x60, + 0x30, 0x18, 0xc, 0x3f, 0xc0, + + /* U+0032 "2" */ + 0x3e, 0x31, 0xb0, 0x58, 0x30, 0x18, 0xc, 0xe, + 0x6, 0x7, 0x7, 0x7, 0x7, 0x7, 0x3, 0x3, + 0x81, 0x83, 0xc1, 0xff, 0xc0, + + /* U+0033 "3" */ + 0x3e, 0x31, 0xb0, 0x78, 0x30, 0x18, 0xc, 0xc, + 0xe, 0x1c, 0x3, 0x80, 0xc0, 0x30, 0x18, 0xf, + 0x7, 0x82, 0x63, 0x1f, 0x0, + + /* U+0034 "4" */ + 0x7, 0x3, 0x83, 0xc1, 0xe1, 0xb0, 0xd8, 0xcc, + 0x66, 0x63, 0x31, 0xb0, 0xdf, 0xf0, 0x30, 0x18, + 0xc, 0x6, 0x3, 0x3, 0xc0, + + /* U+0035 "5" */ + 0xff, 0x61, 0xb0, 0xd8, 0xc, 0x6, 0x3, 0x1, + 0xfc, 0xe3, 0x61, 0x80, 0x60, 0x30, 0x18, 0xf, + 0x7, 0x86, 0x63, 0x1e, 0x0, + + /* U+0036 "6" */ + 0x2, 0x3, 0xc1, 0xc0, 0xe0, 0x30, 0x18, 0x6, + 0x1, 0xf8, 0xf1, 0xb8, 0x6c, 0xf, 0x3, 0xc0, + 0xf0, 0x3c, 0xd, 0x86, 0x73, 0x87, 0x80, + + /* U+0037 "7" */ + 0xff, 0xe0, 0xf0, 0x60, 0x60, 0x30, 0x18, 0x18, + 0xc, 0x6, 0x6, 0x3, 0x1, 0x81, 0x80, 0xc0, + 0x60, 0x70, 0x30, 0x18, 0x0, + + /* U+0038 "8" */ + 0x3e, 0x18, 0xcc, 0x1b, 0x6, 0xc1, 0xb0, 0x66, + 0x31, 0xdc, 0x1c, 0xf, 0x87, 0x7b, 0x86, 0xc0, + 0xf0, 0x3c, 0xf, 0x3, 0x61, 0x87, 0x80, + + /* U+0039 "9" */ + 0x1e, 0x18, 0x66, 0x1b, 0x3, 0xc0, 0xf0, 0x3c, + 0xf, 0x3, 0x61, 0xd8, 0xf1, 0xec, 0x3, 0x0, + 0xc0, 0x3c, 0xd, 0x86, 0x73, 0x7, 0x80, + + /* U+003A ":" */ + 0x6f, 0xf6, 0x0, 0x0, 0x6, 0xff, 0x60, + + /* U+003B ";" */ + 0x6f, 0xf6, 0x0, 0x0, 0x0, 0xff, 0xf3, 0x66, + 0xe4, + + /* U+003C "<" */ + 0x0, 0x81, 0xc1, 0xc1, 0xc3, 0x83, 0x83, 0x1, + 0x80, 0xe0, 0x1c, 0x7, 0x1, 0xc0, 0x38, 0xc, + + /* U+003D "=" */ + 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x3, 0xfe, + + /* U+003E ">" */ + 0x80, 0x70, 0x1c, 0x7, 0x0, 0xe0, 0x38, 0x6, + 0x3, 0x3, 0x87, 0x7, 0x7, 0xe, 0x6, 0x0, + + /* U+003F "?" */ + 0x3e, 0x31, 0xb0, 0x68, 0x30, 0x18, 0xc, 0xe, + 0xe, 0x6, 0x7, 0x3, 0x1, 0x80, 0xc0, 0x0, + 0x0, 0x38, 0x1c, 0xe, 0x0, + + /* U+0040 "@" */ + 0x3e, 0x31, 0xb0, 0x78, 0x30, 0x18, 0xc, 0x6, + 0xf3, 0xd9, 0xec, 0xf6, 0x7b, 0x3d, 0x9e, 0xcf, + 0x67, 0xb3, 0xd9, 0xec, 0xf6, 0x6f, 0x30, 0x70, + + /* U+0041 "A" */ + 0xe, 0x1, 0xc0, 0x38, 0xd, 0x1, 0xb0, 0x36, + 0x6, 0xc0, 0xd8, 0x31, 0x86, 0x30, 0xc6, 0x18, + 0xc3, 0xf8, 0xc1, 0x98, 0x33, 0x6, 0x60, 0xde, + 0x3c, + + /* U+0042 "B" */ + 0xfe, 0x18, 0xc6, 0x19, 0x86, 0x61, 0x98, 0x66, + 0x19, 0x8c, 0x7e, 0x18, 0x66, 0x19, 0x83, 0x60, + 0xd8, 0x36, 0xd, 0x86, 0x63, 0xbf, 0x80, + + /* U+0043 "C" */ + 0x3e, 0x31, 0xf0, 0x78, 0x3c, 0x6, 0x3, 0x1, + 0x80, 0xc0, 0x60, 0x30, 0x18, 0xc, 0x6, 0x3, + 0x7, 0x83, 0x63, 0x9f, 0x0, + + /* U+0044 "D" */ + 0xfe, 0x18, 0xc6, 0x19, 0x83, 0x60, 0xd8, 0x36, + 0xd, 0x83, 0x60, 0xd8, 0x36, 0xd, 0x83, 0x60, + 0xd8, 0x36, 0xd, 0x86, 0x63, 0x3f, 0x80, + + /* U+0045 "E" */ + 0xff, 0xb0, 0xd8, 0x6c, 0x6, 0x3, 0x1, 0x80, + 0xc0, 0x7e, 0x30, 0x18, 0xc, 0x6, 0x3, 0x1, + 0x80, 0xc3, 0x61, 0xff, 0xc0, + + /* U+0046 "F" */ + 0xff, 0xb0, 0xd8, 0x6c, 0x6, 0x3, 0x1, 0x80, + 0xc0, 0x7e, 0x30, 0x18, 0xc, 0x6, 0x3, 0x1, + 0x80, 0xc0, 0x60, 0x78, 0x0, + + /* U+0047 "G" */ + 0x3e, 0x31, 0xb0, 0x78, 0x3c, 0x6, 0x3, 0x1, + 0x80, 0xc0, 0x63, 0xf0, 0x78, 0x3c, 0x1e, 0xf, + 0x7, 0x83, 0x63, 0x1f, 0x0, + + /* U+0048 "H" */ + 0xf1, 0xec, 0x19, 0x83, 0x30, 0x66, 0xc, 0xc1, + 0x98, 0x33, 0x6, 0x7f, 0xcc, 0x19, 0x83, 0x30, + 0x66, 0xc, 0xc1, 0x98, 0x33, 0x6, 0x60, 0xde, + 0x3c, + + /* U+0049 "I" */ + 0xfe, 0x60, 0xc1, 0x83, 0x6, 0xc, 0x18, 0x30, + 0x60, 0xc1, 0x83, 0x6, 0xc, 0x18, 0x31, 0xfc, + + /* U+004A "J" */ + 0xf, 0x80, 0xc0, 0x60, 0x30, 0x18, 0xc, 0x6, + 0x3, 0x1, 0x80, 0xc0, 0x60, 0x30, 0x18, 0xd, + 0x6, 0xc3, 0x63, 0x1f, 0x0, + + /* U+004B "K" */ + 0xf0, 0xec, 0x31, 0x84, 0x31, 0x86, 0x20, 0xcc, + 0x1b, 0x3, 0x70, 0x7e, 0xf, 0xc1, 0xcc, 0x31, + 0x86, 0x30, 0xc3, 0x18, 0x63, 0xc, 0x60, 0xde, + 0x1c, + + /* U+004C "L" */ + 0xf0, 0x18, 0x6, 0x1, 0x80, 0x60, 0x18, 0x6, + 0x1, 0x80, 0x60, 0x18, 0x6, 0x1, 0x80, 0x60, + 0x18, 0x6, 0x1, 0x83, 0x60, 0xff, 0xf0, + + /* U+004D "M" */ + 0xe0, 0xee, 0x39, 0xc7, 0x38, 0xe7, 0x1c, 0xf7, + 0x9a, 0xb3, 0x56, 0x6a, 0xcd, 0x59, 0xbb, 0x37, + 0x66, 0x4c, 0xc1, 0x98, 0x33, 0x6, 0x60, 0xde, + 0x3c, + + /* U+004E "N" */ + 0xf1, 0xee, 0x19, 0xc3, 0x3c, 0x67, 0x8c, 0xd1, + 0x9a, 0x33, 0x66, 0x64, 0xcc, 0x99, 0x9b, 0x31, + 0x66, 0x2c, 0xc7, 0x98, 0xf3, 0xe, 0x61, 0xde, + 0x38, + + /* U+004F "O" */ + 0x1e, 0x18, 0x6c, 0xb, 0x3, 0xc0, 0xf0, 0x3c, + 0xf, 0x3, 0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xc0, + 0xf0, 0x3c, 0xf, 0x3, 0x61, 0x87, 0x80, + + /* U+0050 "P" */ + 0xfe, 0x18, 0x66, 0x19, 0x83, 0x60, 0xd8, 0x36, + 0xd, 0x86, 0x61, 0x9f, 0x86, 0x1, 0x80, 0x60, + 0x18, 0x6, 0x1, 0x80, 0x60, 0x3c, 0x0, + + /* U+0051 "Q" */ + 0x1e, 0x18, 0x6c, 0xb, 0x3, 0xc0, 0xf0, 0x3c, + 0xf, 0x3, 0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xc0, + 0xf0, 0x3c, 0xf, 0x87, 0x7f, 0x8f, 0xc0, 0xc0, + 0x38, 0x3, 0x80, + + /* U+0052 "R" */ + 0xff, 0xc, 0x31, 0x83, 0x30, 0x66, 0xc, 0xc1, + 0x98, 0x33, 0x6, 0x61, 0x8f, 0xe1, 0x98, 0x31, + 0x86, 0x30, 0xc2, 0x18, 0x63, 0xc, 0x60, 0x9e, + 0x1c, + + /* U+0053 "S" */ + 0x3e, 0x31, 0xb0, 0x78, 0x2c, 0x6, 0x3, 0x80, + 0xf0, 0x3c, 0xf, 0x3, 0xc0, 0x70, 0x18, 0xd, + 0x7, 0x83, 0x63, 0x1f, 0x0, + + /* U+0054 "T" */ + 0xff, 0xe6, 0xf3, 0x61, 0x80, 0xc0, 0x60, 0x30, + 0x18, 0xc, 0x6, 0x3, 0x1, 0x80, 0xc0, 0x60, + 0x30, 0x18, 0xc, 0x1f, 0x0, + + /* U+0055 "U" */ + 0xf1, 0xec, 0x19, 0x83, 0x30, 0x66, 0xc, 0xc1, + 0x98, 0x33, 0x6, 0x60, 0xcc, 0x19, 0x83, 0x30, + 0x66, 0xc, 0xc1, 0x98, 0x33, 0x4, 0x31, 0x83, + 0xe0, + + /* U+0056 "V" */ + 0xf1, 0xec, 0x19, 0x83, 0x30, 0x66, 0xc, 0x63, + 0xc, 0x61, 0x8c, 0x31, 0x86, 0x30, 0x6c, 0xd, + 0x81, 0xb0, 0x36, 0x6, 0x80, 0x70, 0xe, 0x1, + 0xc0, + + /* U+0057 "W" */ + 0xf1, 0xec, 0x19, 0x83, 0x30, 0x66, 0xc, 0xc1, + 0x98, 0x33, 0x26, 0x64, 0xcd, 0xd8, 0xaa, 0x15, + 0x42, 0xa8, 0x55, 0xe, 0xe1, 0x8c, 0x31, 0x2, + 0x20, + + /* U+0058 "X" */ + 0xf1, 0xec, 0x19, 0x83, 0x18, 0xc3, 0x18, 0x77, + 0x6, 0xc0, 0x70, 0xe, 0x1, 0xc0, 0x38, 0xd, + 0x83, 0xb8, 0x63, 0xc, 0x63, 0x6, 0x60, 0xde, + 0x3c, + + /* U+0059 "Y" */ + 0xf1, 0xd8, 0x66, 0x19, 0x86, 0x63, 0x8c, 0xc3, + 0x30, 0xfc, 0x1e, 0x7, 0x80, 0xc0, 0x30, 0xc, + 0x3, 0x0, 0xc0, 0x30, 0xc, 0x3, 0x80, + + /* U+005A "Z" */ + 0xff, 0xe1, 0xf0, 0xc0, 0x60, 0x70, 0x30, 0x38, + 0x18, 0xc, 0xc, 0x6, 0x7, 0x3, 0x3, 0x81, + 0x80, 0xc3, 0xe1, 0xff, 0xc0, + + /* U+005B "[" */ + 0xff, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, + 0xff, + + /* U+005C "\\" */ + 0x60, 0x18, 0x6, 0x1, 0x80, 0x30, 0xc, 0x3, + 0x0, 0x40, 0x18, 0x6, 0x1, 0x80, 0x30, 0xc, + 0x3, 0x0, 0xc0, 0x18, 0x6, 0x1, 0x80, 0x20, + 0xc, 0x3, 0x0, 0xc0, 0x18, 0x6, 0x1, 0x80, + 0x60, + + /* U+005D "]" */ + 0xff, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, + 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, + 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, + 0xff, + + /* U+005E "^" */ + 0xc, 0x7, 0x83, 0x31, 0xce, 0xe1, 0xc0, 0x0, + + /* U+005F "_" */ + 0xff, 0x80, + + /* U+0060 "`" */ + 0x43, 0x87, 0xe, 0x1c, 0x20, + + /* U+0061 "a" */ + 0x3e, 0x18, 0xce, 0x19, 0x6, 0x1, 0x80, 0x63, + 0xf9, 0x86, 0xc1, 0xb0, 0x6c, 0x1b, 0x8e, 0x3d, + 0xc0, + + /* U+0062 "b" */ + 0xe0, 0x18, 0x6, 0x1, 0x80, 0x60, 0x1b, 0xc7, + 0x19, 0x87, 0x60, 0xd8, 0x36, 0xd, 0x83, 0x60, + 0xd8, 0x36, 0xd, 0x87, 0x71, 0xbb, 0xc0, + + /* U+0063 "c" */ + 0x3e, 0x31, 0x98, 0x78, 0x3c, 0x6, 0x3, 0x1, + 0x80, 0xc0, 0x60, 0xd8, 0x6c, 0x61, 0xe0, + + /* U+0064 "d" */ + 0x3, 0x80, 0x60, 0x18, 0x6, 0x1, 0x8f, 0x66, + 0x3b, 0x86, 0xc1, 0xb0, 0x6c, 0x1b, 0x6, 0xc1, + 0xb0, 0x6c, 0x1b, 0x86, 0x63, 0x8f, 0x70, + + /* U+0065 "e" */ + 0x1e, 0x1c, 0xe6, 0x1b, 0x3, 0xc0, 0xf0, 0x3f, + 0xff, 0x0, 0xc0, 0x30, 0x26, 0xd, 0xc6, 0x1f, + 0x0, + + /* U+0066 "f" */ + 0xf, 0xc, 0xcc, 0x26, 0x3, 0x1, 0x83, 0xfc, + 0x60, 0x30, 0x18, 0xc, 0x6, 0x3, 0x1, 0x80, + 0xc0, 0x60, 0x30, 0x7f, 0x80, + + /* U+0067 "g" */ + 0x3f, 0xd8, 0xec, 0x1b, 0x6, 0xc1, 0xb0, 0x66, + 0x30, 0xf8, 0x60, 0x18, 0x6, 0x1, 0xfc, 0xe1, + 0xb0, 0x3c, 0xf, 0x3, 0x61, 0x8f, 0xc0, + + /* U+0068 "h" */ + 0xe0, 0xc, 0x1, 0x80, 0x30, 0x6, 0x0, 0xde, + 0x1c, 0x63, 0x8c, 0x60, 0xcc, 0x19, 0x83, 0x30, + 0x66, 0xc, 0xc1, 0x98, 0x33, 0x6, 0x60, 0xde, + 0x3c, + + /* U+0069 "i" */ + 0x1c, 0x1c, 0x1c, 0x0, 0x0, 0xf8, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0xff, + + /* U+006A "j" */ + 0x3, 0x81, 0xc0, 0xe0, 0x0, 0x0, 0xfc, 0x6, + 0x3, 0x1, 0x80, 0xc0, 0x60, 0x30, 0x18, 0xc, + 0x6, 0x3, 0x1, 0x80, 0xc0, 0x60, 0x36, 0x1b, + 0x18, 0xf8, + + /* U+006B "k" */ + 0xe0, 0xc, 0x1, 0x80, 0x30, 0x6, 0x0, 0xc3, + 0xd8, 0x43, 0x18, 0x66, 0xd, 0x81, 0xf8, 0x3f, + 0x7, 0x60, 0xc6, 0x18, 0x43, 0xc, 0x61, 0x9e, + 0x1c, + + /* U+006C "l" */ + 0xf8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0xff, + + /* U+006D "m" */ + 0xfd, 0x8c, 0xd9, 0x9b, 0x33, 0x66, 0x6c, 0xcd, + 0x99, 0xb3, 0x36, 0x66, 0xcc, 0xd9, 0x9b, 0x33, + 0x6e, 0x6e, + + /* U+006E "n" */ + 0xef, 0xe, 0x31, 0xc6, 0x30, 0x66, 0xc, 0xc1, + 0x98, 0x33, 0x6, 0x60, 0xcc, 0x19, 0x83, 0x30, + 0x6f, 0x1e, + + /* U+006F "o" */ + 0x1e, 0x18, 0x66, 0x1b, 0x3, 0xc0, 0xf0, 0x3c, + 0xf, 0x3, 0xc0, 0xf0, 0x36, 0x19, 0x86, 0x1e, + 0x0, + + /* U+0070 "p" */ + 0xef, 0x1c, 0x66, 0x1d, 0x83, 0x60, 0xd8, 0x36, + 0xd, 0x83, 0x60, 0xd8, 0x36, 0x1d, 0xc6, 0x6f, + 0x18, 0x6, 0x1, 0x80, 0x60, 0x3c, 0x0, + + /* U+0071 "q" */ + 0x3d, 0xd8, 0xee, 0x1b, 0x6, 0xc1, 0xb0, 0x6c, + 0x1b, 0x6, 0xc1, 0xb0, 0x6e, 0x19, 0x8e, 0x3d, + 0x80, 0x60, 0x18, 0x6, 0x1, 0x80, 0xf0, + + /* U+0072 "r" */ + 0xef, 0x1e, 0x67, 0x1, 0x80, 0x60, 0x18, 0x6, + 0x1, 0x80, 0x60, 0x18, 0x6, 0x1, 0x80, 0xfc, + 0x0, + + /* U+0073 "s" */ + 0x3e, 0x31, 0xf0, 0x58, 0xe, 0x7, 0xe1, 0xfc, + 0x7f, 0x3, 0x80, 0xd0, 0x7c, 0x63, 0xe0, + + /* U+0074 "t" */ + 0x18, 0x6, 0x1, 0x80, 0x60, 0x18, 0x3f, 0xc1, + 0x80, 0x60, 0x18, 0x6, 0x1, 0x80, 0x60, 0x18, + 0x6, 0x1, 0x8c, 0x63, 0xd, 0x81, 0xc0, + + /* U+0075 "u" */ + 0xe1, 0xcc, 0x19, 0x83, 0x30, 0x66, 0xc, 0xc1, + 0x98, 0x33, 0x6, 0x60, 0xcc, 0x18, 0x87, 0x18, + 0xe1, 0xee, + + /* U+0076 "v" */ + 0xf1, 0xec, 0x19, 0x83, 0x10, 0xc3, 0x18, 0x63, + 0xc, 0x60, 0xd8, 0x1b, 0x3, 0x60, 0x28, 0x7, + 0x0, 0xe0, + + /* U+0077 "w" */ + 0xf1, 0xec, 0x19, 0x83, 0x30, 0x66, 0xc, 0xc9, + 0x9b, 0xb1, 0x54, 0x2a, 0x85, 0x50, 0xee, 0x18, + 0xc1, 0x10, + + /* U+0078 "x" */ + 0xf1, 0xe6, 0x30, 0xc6, 0xd, 0x81, 0xf0, 0x1c, + 0x3, 0x80, 0x70, 0x1f, 0x3, 0x60, 0xc6, 0x18, + 0xcf, 0x1e, + + /* U+0079 "y" */ + 0xf1, 0xec, 0x19, 0x83, 0x18, 0xc3, 0x18, 0x63, + 0x4, 0x40, 0xd8, 0x1b, 0x3, 0x40, 0x38, 0x7, + 0x0, 0xe0, 0x18, 0x3, 0x0, 0x60, 0x18, 0x6, + 0x0, + + /* U+007A "z" */ + 0xff, 0xe1, 0xf0, 0xc0, 0xe0, 0xe0, 0x60, 0x70, + 0x30, 0x38, 0x38, 0x18, 0x7c, 0x3f, 0xf8, + + /* U+007B "{" */ + 0x7, 0x18, 0x30, 0x30, 0x30, 0x30, 0x38, 0x18, + 0x18, 0x18, 0x18, 0x30, 0xe0, 0x30, 0x18, 0x18, + 0x18, 0x18, 0x38, 0x30, 0x30, 0x30, 0x30, 0x10, + 0x1c, 0x7, + + /* U+007C "|" */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + + /* U+007D "}" */ + 0xe0, 0xc, 0x3, 0x1, 0x80, 0xc0, 0x60, 0x70, + 0x30, 0x18, 0xc, 0x6, 0x1, 0x80, 0x78, 0x60, + 0x60, 0x30, 0x18, 0xc, 0x7, 0x1, 0x80, 0xc0, + 0x60, 0x30, 0x10, 0x38, 0x70, 0x0, + + /* U+007E "~" */ + 0x38, 0xde, 0x36, 0xdb, 0x1e, 0xc7, 0x0, + + /* U+00A0 " " */ + 0x0, + + /* U+00A1 "¡" */ + 0xff, 0x80, 0x3, 0x6d, 0xb6, 0xdb, 0x6c, + + /* U+00A2 "¢" */ + 0xc, 0x3, 0x1, 0xe0, 0xfc, 0x63, 0xb0, 0x6c, + 0xb, 0x0, 0xc0, 0x30, 0xc, 0x3, 0x2, 0xc1, + 0x98, 0xe3, 0xf0, 0x78, 0xc, 0x3, 0x0, + + /* U+00A3 "£" */ + 0xe, 0xd, 0x8c, 0xe6, 0x3, 0x1, 0x80, 0xc0, + 0x60, 0xfc, 0x18, 0xc, 0x6, 0x3, 0x1, 0x80, + 0xc0, 0xe0, 0xe0, 0x7f, 0xc0, + + /* U+00A4 "¤" */ + 0x40, 0x27, 0xfe, 0x30, 0xc7, 0xe, 0x60, 0x66, + 0x6, 0x60, 0x66, 0x6, 0x30, 0xe7, 0xc, 0x7f, + 0xe4, 0x2, + + /* U+00A5 "¥" */ + 0xf1, 0xd8, 0x66, 0x19, 0x86, 0x61, 0x8c, 0xc3, + 0x30, 0x4c, 0x1f, 0x3, 0x87, 0xf8, 0x30, 0xc, + 0x1f, 0xe0, 0xc0, 0x30, 0xc, 0x3, 0x80, + + /* U+00A6 "¦" */ + 0xff, 0xff, 0xff, 0xf, 0xff, 0xff, 0xf0, + + /* U+00A7 "§" */ + 0x1f, 0x8c, 0x1b, 0x1, 0xe0, 0x2c, 0x1, 0xc0, + 0x1c, 0x1, 0xe0, 0x3f, 0x8e, 0x7b, 0x83, 0xe0, + 0x3c, 0x7, 0x80, 0xf8, 0x3b, 0xce, 0x3f, 0x80, + 0xf0, 0x7, 0x0, 0x70, 0x6, 0x0, 0xf0, 0x1b, + 0x6, 0x3f, 0x0, + + /* U+00A8 "¨" */ + 0xe7, 0xe7, 0xe7, + + /* U+00A9 "©" */ + 0x3, 0xf0, 0x3, 0x3, 0x3, 0x80, 0x70, 0xc0, + 0xc, 0x61, 0xe1, 0x98, 0xcc, 0x6c, 0x30, 0xf, + 0xc, 0x3, 0xc3, 0x0, 0xf0, 0xc0, 0x3c, 0x30, + 0xf, 0xc, 0x3, 0x63, 0x31, 0x98, 0x78, 0x63, + 0x0, 0x30, 0xe0, 0x1c, 0xc, 0xc, 0x0, 0xfc, + 0x0, + + /* U+00AA "ª" */ + 0x3c, 0xe3, 0x3, 0x3f, 0xe3, 0xc3, 0xe7, 0x7f, + 0x0, 0x0, 0x0, 0x7e, + + /* U+00AB "«" */ + 0x0, 0x83, 0x31, 0x8c, 0x66, 0x33, 0x19, 0xcc, + 0xe3, 0x30, 0x66, 0xc, 0xc3, 0x18, 0x66, 0x18, + 0xc2, 0x30, + + /* U+00AC "¬" */ + 0xff, 0x80, 0xc0, 0x60, 0x30, 0x18, + + /* U+00AD "­" */ + 0xff, 0x80, + + /* U+00AE "®" */ + 0x3, 0xf0, 0x3, 0x3, 0x3, 0x80, 0x70, 0xc0, + 0xc, 0x63, 0xe1, 0x98, 0xcc, 0x6c, 0x33, 0xf, + 0xc, 0xc3, 0xc3, 0xf0, 0xf0, 0xf8, 0x3c, 0x34, + 0xf, 0xd, 0x83, 0x63, 0x21, 0x98, 0xcc, 0x63, + 0x0, 0x30, 0xe0, 0x1c, 0xc, 0xc, 0x0, 0xfc, + 0x0, + + /* U+00AF "¯" */ + 0xfe, + + /* U+00B0 "°" */ + 0x7b, 0x3c, 0xf3, 0x78, + + /* U+00B1 "±" */ + 0xc, 0x1, 0x80, 0x30, 0x6, 0x0, 0xc0, 0x18, + 0x3f, 0xf8, 0x60, 0xc, 0x1, 0x80, 0x30, 0x6, + 0x0, 0x0, 0x0, 0x3f, 0xf8, + + /* U+00B2 "²" */ + 0x3c, 0x62, 0x3, 0x3, 0x7, 0xe, 0x1e, 0x38, + 0x70, 0x60, 0x63, 0xff, + + /* U+00B3 "³" */ + 0x3c, 0x63, 0x3, 0x3, 0x7, 0x1c, 0x6, 0x3, + 0x3, 0x43, 0x66, 0x3c, + + /* U+00B4 "´" */ + 0x8, 0x73, 0x9c, 0xe1, 0x0, + + /* U+00B5 "µ" */ + 0xe1, 0xcc, 0x19, 0x83, 0x30, 0x66, 0xc, 0xc1, + 0x98, 0x33, 0x6, 0x60, 0xcc, 0x19, 0x87, 0x38, + 0xe7, 0xee, 0xc0, 0x18, 0x3, 0x0, 0x60, 0x1e, + 0x0, + + /* U+00B6 "¶" */ + 0x3d, 0xb6, 0xf3, 0x79, 0xbc, 0xde, 0x6f, 0x37, + 0x9b, 0x6d, 0x9e, 0xc3, 0x61, 0xb0, 0xd8, 0x6c, + 0x36, 0x1b, 0xd, 0x86, 0xc0, + + /* U+00B7 "·" */ + 0x6f, 0xf6, + + /* U+00B8 "¸" */ + 0x70, 0xc6, 0x3f, 0x0, + + /* U+00B9 "¹" */ + 0x38, 0xf1, 0xe0, 0xc1, 0x83, 0x6, 0xc, 0x18, + 0x30, 0x63, 0xf0, + + /* U+00BA "º" */ + 0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, + 0x0, 0x0, 0x0, 0x7e, + + /* U+00BB "»" */ + 0x0, 0x18, 0xc1, 0x98, 0x31, 0x83, 0x18, 0x33, + 0x3, 0x38, 0x63, 0x18, 0xc6, 0x30, 0xcc, 0x31, + 0x86, 0x60, 0x8c, 0x0, + + /* U+00BC "¼" */ + 0xc, 0x1e, 0xf, 0x1, 0x80, 0xc0, 0x60, 0x30, + 0x18, 0xc, 0x1f, 0x0, 0x0, 0xf, 0xf8, 0x0, + 0x0, 0x18, 0x1c, 0xe, 0xf, 0x5, 0x86, 0xc3, + 0xf0, 0x30, 0x18, 0xc, 0x0, + + /* U+00BD "½" */ + 0xc, 0x1e, 0xf, 0x1, 0x80, 0xc0, 0x60, 0x30, + 0x18, 0xc, 0x1f, 0x0, 0x0, 0xf, 0xf8, 0x0, + 0x0, 0x7c, 0x63, 0x1, 0x80, 0xc0, 0xe1, 0xe1, + 0xc0, 0xc0, 0xe0, 0x7f, 0x0, + + /* U+00BE "¾" */ + 0x3c, 0x33, 0x1, 0x81, 0xc1, 0x80, 0x60, 0x18, + 0xc, 0x66, 0x1e, 0x0, 0x0, 0xf, 0xf8, 0x0, + 0x0, 0x18, 0x1c, 0xe, 0xf, 0x5, 0x86, 0xc3, + 0xf0, 0x30, 0x18, 0xc, 0x0, + + /* U+00BF "¿" */ + 0x1c, 0xe, 0x7, 0x0, 0x0, 0x0, 0xc0, 0x60, + 0x30, 0x38, 0x38, 0x18, 0x1c, 0xc, 0x6, 0x3, + 0x5, 0x83, 0x63, 0x1f, 0x0, + + /* U+00C0 "À" */ + 0x0, 0x7, 0x0, 0x70, 0x7, 0x0, 0x60, 0x0, + 0x3, 0x80, 0x70, 0xe, 0x3, 0x40, 0x6c, 0xd, + 0x81, 0xb0, 0x36, 0xc, 0x61, 0x8c, 0x31, 0x86, + 0x30, 0xfe, 0x30, 0x66, 0xc, 0xc1, 0x98, 0x37, + 0x8f, + + /* U+00C1 "Á" */ + 0x1, 0x0, 0x70, 0x1c, 0x7, 0x0, 0xc0, 0x0, + 0x3, 0x80, 0x70, 0xe, 0x3, 0x40, 0x6c, 0xd, + 0x81, 0xb0, 0x36, 0xc, 0x61, 0x8c, 0x31, 0x86, + 0x30, 0xfe, 0x30, 0x66, 0xc, 0xc1, 0x98, 0x37, + 0x8f, + + /* U+00C2 "Â" */ + 0xe, 0x3, 0xe0, 0x6c, 0x18, 0xc2, 0x8, 0x0, + 0x3, 0x80, 0x70, 0xe, 0x3, 0x40, 0x6c, 0xd, + 0x81, 0xb0, 0x36, 0xc, 0x61, 0x8c, 0x31, 0x86, + 0x30, 0xfe, 0x30, 0x66, 0xc, 0xc1, 0x98, 0x37, + 0x8f, + + /* U+00C3 "Ã" */ + 0x0, 0x7, 0x98, 0xf6, 0x33, 0xc2, 0x30, 0x0, + 0x3, 0x80, 0x70, 0xe, 0x3, 0x40, 0x6c, 0xd, + 0x81, 0xb0, 0x36, 0xc, 0x61, 0x8c, 0x31, 0x86, + 0x30, 0xfe, 0x30, 0x66, 0xc, 0xc1, 0x98, 0x37, + 0x8f, + + /* U+00C4 "Ä" */ + 0x3b, 0x87, 0x70, 0xee, 0x0, 0x0, 0x0, 0x1c, + 0x3, 0x80, 0x70, 0xa, 0x3, 0x60, 0x6c, 0xd, + 0x81, 0xb0, 0x62, 0xc, 0x61, 0x8c, 0x31, 0x87, + 0xf1, 0x83, 0x30, 0x66, 0xc, 0xc1, 0xbc, 0x78, + + /* U+00C5 "Å" */ + 0xe, 0x3, 0x60, 0x6c, 0x7, 0x0, 0x0, 0x1c, + 0x3, 0x80, 0x70, 0xa, 0x3, 0x60, 0x6c, 0xd, + 0x81, 0x10, 0x62, 0xc, 0x61, 0x8c, 0x31, 0x87, + 0xf1, 0x83, 0x30, 0x66, 0xc, 0xc1, 0xbc, 0x78, + + /* U+00C6 "Æ" */ + 0xf, 0xc3, 0xb1, 0xec, 0x78, 0x1e, 0x5, 0x81, + 0x60, 0xd8, 0x37, 0xcd, 0x83, 0x60, 0x98, 0x7e, + 0x19, 0x86, 0x61, 0x9b, 0x66, 0xfd, 0xf0, + + /* U+00C7 "Ç" */ + 0x3e, 0x31, 0xf0, 0x78, 0xc, 0x6, 0x3, 0x1, + 0x80, 0xc0, 0x60, 0x30, 0x18, 0xc, 0x6, 0x3, + 0x6, 0xc7, 0x7f, 0xf, 0x3, 0x1, 0xc0, 0x20, + 0x10, 0xf8, + + /* U+00C8 "È" */ + 0x0, 0x38, 0xe, 0x3, 0x80, 0xc0, 0x3, 0xfe, + 0xc3, 0x61, 0xb0, 0x18, 0xc, 0x6, 0x3, 0x1, + 0xf8, 0xc0, 0x60, 0x30, 0x18, 0xc, 0x6, 0x3, + 0xd, 0x87, 0xff, + + /* U+00C9 "É" */ + 0x2, 0x3, 0x83, 0x81, 0x81, 0x80, 0x3, 0xfe, + 0xc3, 0x61, 0xb0, 0x18, 0xc, 0x6, 0x3, 0x1, + 0xf8, 0xc0, 0x60, 0x30, 0x18, 0xc, 0x6, 0x3, + 0xd, 0x87, 0xff, + + /* U+00CA "Ê" */ + 0xc, 0xf, 0xd, 0x8c, 0x66, 0x10, 0x3, 0xfe, + 0xc3, 0x61, 0xb0, 0x18, 0xc, 0x6, 0x3, 0x1, + 0xf8, 0xc0, 0x60, 0x30, 0x18, 0xc, 0x6, 0x3, + 0xd, 0x87, 0xff, + + /* U+00CB "Ë" */ + 0x73, 0xb9, 0xdc, 0xe0, 0x0, 0x7, 0xfd, 0x86, + 0xc3, 0x60, 0x30, 0x18, 0xc, 0x6, 0x3, 0xf1, + 0x80, 0xc0, 0x60, 0x30, 0x18, 0xc, 0x6, 0x1b, + 0xf, 0xfe, + + /* U+00CC "Ì" */ + 0x41, 0xc1, 0xc1, 0x81, 0x0, 0x3f, 0x98, 0x30, + 0x60, 0xc1, 0x83, 0x6, 0xc, 0x18, 0x30, 0x60, + 0xc1, 0x83, 0x6, 0xc, 0x7f, + + /* U+00CD "Í" */ + 0x0, 0x1c, 0x71, 0xc2, 0x0, 0x3f, 0x98, 0x30, + 0x60, 0xc1, 0x83, 0x6, 0xc, 0x18, 0x30, 0x60, + 0xc1, 0x83, 0x6, 0xc, 0x7f, + + /* U+00CE "Î" */ + 0x18, 0x1e, 0x1d, 0x8c, 0xe4, 0x30, 0x1, 0xfc, + 0x30, 0x18, 0xc, 0x6, 0x3, 0x1, 0x80, 0xc0, + 0x60, 0x30, 0x18, 0xc, 0x6, 0x3, 0x1, 0x80, + 0xc0, 0x60, 0xfe, + + /* U+00CF "Ï" */ + 0xe7, 0xe7, 0xe7, 0x0, 0x0, 0xfe, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xfe, + + /* U+00D0 "Ð" */ + 0xfe, 0x18, 0xc6, 0x19, 0x83, 0x60, 0xd8, 0x36, + 0xd, 0x83, 0xfc, 0xd8, 0x36, 0xd, 0x83, 0x60, + 0xd8, 0x36, 0xd, 0x86, 0x63, 0x3f, 0x80, + + /* U+00D1 "Ñ" */ + 0x0, 0x7, 0x98, 0xf6, 0x33, 0xc2, 0x30, 0x0, + 0x3c, 0x7b, 0x86, 0x70, 0xcf, 0x19, 0xe3, 0x34, + 0x66, 0x8c, 0xd9, 0x99, 0x33, 0x26, 0x66, 0xcc, + 0x59, 0x8b, 0x31, 0xe6, 0x3c, 0xc3, 0x98, 0x77, + 0x8e, + + /* U+00D2 "Ò" */ + 0x0, 0xc, 0x3, 0x80, 0x70, 0xc, 0x0, 0x1, + 0xe1, 0x86, 0xc0, 0xb0, 0x3c, 0xf, 0x3, 0xc0, + 0xf0, 0x3c, 0xf, 0x3, 0xc0, 0xf0, 0x3c, 0xf, + 0x3, 0xc0, 0xf0, 0x36, 0x18, 0x78, + + /* U+00D3 "Ó" */ + 0x0, 0x0, 0xc0, 0x70, 0x38, 0x1c, 0x0, 0x1, + 0xe1, 0x86, 0xc0, 0xb0, 0x3c, 0xf, 0x3, 0xc0, + 0xf0, 0x3c, 0xf, 0x3, 0xc0, 0xf0, 0x3c, 0xf, + 0x3, 0xc0, 0xf0, 0x36, 0x18, 0x78, + + /* U+00D4 "Ô" */ + 0xc, 0x7, 0x83, 0xf1, 0xce, 0x61, 0x80, 0x1, + 0xe1, 0x86, 0xc0, 0xb0, 0x3c, 0xf, 0x3, 0xc0, + 0xf0, 0x3c, 0xf, 0x3, 0xc0, 0xf0, 0x3c, 0xf, + 0x3, 0xc0, 0xf0, 0x36, 0x18, 0x78, + + /* U+00D5 "Õ" */ + 0x0, 0xe, 0x66, 0xd9, 0x9c, 0x0, 0x0, 0x1, + 0xe1, 0x86, 0xc0, 0xb0, 0x3c, 0xf, 0x3, 0xc0, + 0xf0, 0x3c, 0xf, 0x3, 0xc0, 0xf0, 0x3c, 0xf, + 0x3, 0xc0, 0xf0, 0x36, 0x18, 0x78, + + /* U+00D6 "Ö" */ + 0x73, 0x9c, 0xe7, 0x38, 0x0, 0x0, 0x7, 0x86, + 0x1b, 0x2, 0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xc0, + 0xf0, 0x3c, 0xf, 0x3, 0xc0, 0xf0, 0x3c, 0xf, + 0x3, 0xc0, 0xd8, 0x61, 0xe0, + + /* U+00D7 "×" */ + 0x40, 0x2e, 0x7, 0x70, 0xe3, 0x9c, 0x1f, 0x80, + 0xf0, 0xf, 0x1, 0xf8, 0x39, 0xc7, 0xe, 0xe0, + 0x74, 0x2, + + /* U+00D8 "Ø" */ + 0x0, 0xc7, 0xe6, 0x19, 0xf, 0xc3, 0xf1, 0xfc, + 0x7f, 0x1b, 0xce, 0xf3, 0xbd, 0xcf, 0x73, 0xd8, + 0xfe, 0x3f, 0x8f, 0xc3, 0xf0, 0x98, 0x67, 0xe3, + 0x0, + + /* U+00D9 "Ù" */ + 0x0, 0x7, 0x0, 0x70, 0x7, 0x0, 0x60, 0x0, + 0x3c, 0x7b, 0x6, 0x60, 0xcc, 0x19, 0x83, 0x30, + 0x66, 0xc, 0xc1, 0x98, 0x33, 0x6, 0x60, 0xcc, + 0x19, 0x83, 0x30, 0x66, 0xc, 0xc1, 0xc, 0x60, + 0xf8, + + /* U+00DA "Ú" */ + 0x1, 0x0, 0x70, 0x1c, 0x7, 0x0, 0xc0, 0x0, + 0x3c, 0x7b, 0x6, 0x60, 0xcc, 0x19, 0x83, 0x30, + 0x66, 0xc, 0xc1, 0x98, 0x33, 0x6, 0x60, 0xcc, + 0x19, 0x83, 0x30, 0x66, 0xc, 0xc1, 0xc, 0x60, + 0xf8, + + /* U+00DB "Û" */ + 0xe, 0x3, 0xe0, 0x6c, 0x18, 0xc2, 0x8, 0x0, + 0x3c, 0x7b, 0x6, 0x60, 0xcc, 0x19, 0x83, 0x30, + 0x66, 0xc, 0xc1, 0x98, 0x33, 0x6, 0x60, 0xcc, + 0x19, 0x83, 0x30, 0x66, 0xc, 0xc1, 0xc, 0x60, + 0xf8, + + /* U+00DC "Ü" */ + 0x3b, 0x87, 0x70, 0xee, 0x0, 0x0, 0x1, 0xe3, + 0xd8, 0x33, 0x6, 0x60, 0xcc, 0x19, 0x83, 0x30, + 0x66, 0xc, 0xc1, 0x98, 0x33, 0x6, 0x60, 0xcc, + 0x19, 0x83, 0x30, 0x66, 0x8, 0x63, 0x7, 0xc0, + + /* U+00DD "Ý" */ + 0x2, 0x0, 0xc0, 0x60, 0x30, 0x8, 0x0, 0xf, + 0x1d, 0x86, 0x61, 0x98, 0x66, 0x38, 0xcc, 0x33, + 0xf, 0xc1, 0xe0, 0x78, 0xc, 0x3, 0x0, 0xc0, + 0x30, 0xc, 0x3, 0x0, 0xc0, 0x38, + + /* U+00DE "Þ" */ + 0xf0, 0x18, 0x6, 0x1, 0x80, 0x7e, 0x18, 0xe6, + 0x19, 0x83, 0x60, 0xd8, 0x36, 0xd, 0x86, 0x63, + 0x9f, 0x86, 0x1, 0x80, 0x60, 0x3c, 0x0, + + /* U+00DF "ß" */ + 0x1e, 0xc, 0xc6, 0x19, 0x86, 0x61, 0x98, 0x66, + 0x19, 0x8c, 0x63, 0x1b, 0x86, 0x39, 0x87, 0x60, + 0xd8, 0x36, 0xd, 0x87, 0x63, 0xbb, 0x80, + + /* U+00E0 "à" */ + 0x0, 0xc, 0x3, 0x80, 0x70, 0xc, 0x0, 0x3, + 0xe1, 0x8c, 0xe1, 0x90, 0x60, 0x18, 0x6, 0x3f, + 0x98, 0x6c, 0x1b, 0x6, 0xc1, 0xb8, 0xe3, 0xdc, + + /* U+00E1 "á" */ + 0x0, 0x1, 0xc0, 0x60, 0x30, 0x18, 0x0, 0x3, + 0xe1, 0x8c, 0xe1, 0x90, 0x60, 0x18, 0x6, 0x3f, + 0x98, 0x6c, 0x1b, 0x6, 0xc1, 0xb8, 0xe3, 0xdc, + + /* U+00E2 "â" */ + 0xc, 0x7, 0x83, 0x61, 0xcc, 0x63, 0x0, 0x3, + 0xe1, 0x8c, 0xe1, 0x90, 0x60, 0x18, 0x6, 0x3f, + 0x98, 0x6c, 0x1b, 0x6, 0xc1, 0xb8, 0xe3, 0xdc, + + /* U+00E3 "ã" */ + 0x31, 0x9e, 0x66, 0xf1, 0x18, 0x0, 0xf, 0x86, + 0x33, 0x86, 0x41, 0x80, 0x60, 0x18, 0xfe, 0x61, + 0xb0, 0x6c, 0x1b, 0x6, 0xe3, 0x8f, 0x70, + + /* U+00E4 "ä" */ + 0x73, 0x9c, 0xe7, 0x38, 0x0, 0x0, 0xf, 0x86, + 0x31, 0x86, 0x41, 0x80, 0x60, 0x18, 0xfe, 0x61, + 0xb0, 0x6c, 0x1b, 0x6, 0xe3, 0x8f, 0x70, + + /* U+00E5 "å" */ + 0x1c, 0xd, 0x83, 0x60, 0x70, 0x0, 0xf, 0x86, + 0x33, 0x6, 0x41, 0x80, 0x60, 0x18, 0xfe, 0x61, + 0xb0, 0x6c, 0x1b, 0x6, 0xe3, 0x8f, 0x70, + + /* U+00E6 "æ" */ + 0x7f, 0x9b, 0x3c, 0xcc, 0x33, 0xc, 0xc3, 0x37, + 0xff, 0xb0, 0xcc, 0x33, 0xc, 0xcf, 0x33, 0x7f, + 0x80, + + /* U+00E7 "ç" */ + 0x3e, 0x31, 0xd0, 0x78, 0x1c, 0x6, 0x3, 0x1, + 0x80, 0xc0, 0xe0, 0xd8, 0xef, 0xe1, 0xe0, 0x60, + 0x38, 0x4, 0x2, 0x1f, 0x0, + + /* U+00E8 "è" */ + 0x0, 0xc, 0x3, 0x80, 0x70, 0xc, 0x0, 0x1, + 0xe1, 0xce, 0x61, 0xb0, 0x3c, 0xf, 0x3, 0xff, + 0xf0, 0xc, 0x3, 0x2, 0x60, 0xdc, 0x61, 0xf0, + + /* U+00E9 "é" */ + 0x0, 0x0, 0xc0, 0x70, 0x38, 0xc, 0x0, 0x1, + 0xe1, 0xce, 0x61, 0xb0, 0x3c, 0xf, 0x3, 0xff, + 0xf0, 0xc, 0x3, 0x2, 0x60, 0xdc, 0x61, 0xf0, + + /* U+00EA "ê" */ + 0xc, 0x7, 0x83, 0xf1, 0xce, 0x61, 0x80, 0x1, + 0xe1, 0xce, 0x61, 0xb0, 0x3c, 0xf, 0x3, 0xff, + 0xf0, 0xc, 0x3, 0x2, 0x60, 0xdc, 0x61, 0xf0, + + /* U+00EB "ë" */ + 0x73, 0x9c, 0xe7, 0x38, 0x0, 0x0, 0x7, 0x87, + 0x39, 0x86, 0xc0, 0xf0, 0x3c, 0xf, 0xff, 0xc0, + 0x30, 0xc, 0x9, 0x83, 0x71, 0x87, 0xc0, + + /* U+00EC "ì" */ + 0x20, 0x60, 0x30, 0x18, 0x8, 0x0, 0xf8, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0xff, + + /* U+00ED "í" */ + 0x4, 0xe, 0xc, 0x18, 0x10, 0x0, 0xf8, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0xff, + + /* U+00EE "î" */ + 0x18, 0x3c, 0x6e, 0xe7, 0x42, 0x0, 0xf8, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0xff, + + /* U+00EF "ï" */ + 0xe7, 0xe7, 0xe7, 0x0, 0x0, 0xf8, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0xff, + + /* U+00F0 "ð" */ + 0x30, 0xe, 0x1, 0xe0, 0x1e, 0x3f, 0x9e, 0xe0, + 0x18, 0x7e, 0x61, 0xd8, 0x7c, 0xf, 0x3, 0xc0, + 0xf0, 0x3c, 0xd, 0x86, 0x61, 0x87, 0x80, + + /* U+00F1 "ñ" */ + 0x18, 0xc7, 0x99, 0x9e, 0x11, 0x80, 0x1, 0xde, + 0x1c, 0x63, 0x8c, 0x60, 0xcc, 0x19, 0x83, 0x30, + 0x66, 0xc, 0xc1, 0x98, 0x33, 0x6, 0x60, 0xde, + 0x3c, + + /* U+00F2 "ò" */ + 0x0, 0xc, 0x3, 0x80, 0x70, 0xc, 0x0, 0x1, + 0xe1, 0x86, 0x61, 0xb0, 0x3c, 0xf, 0x3, 0xc0, + 0xf0, 0x3c, 0xf, 0x3, 0x61, 0x98, 0x61, 0xe0, + + /* U+00F3 "ó" */ + 0x0, 0x0, 0xc0, 0x70, 0x38, 0xc, 0x0, 0x1, + 0xe1, 0x86, 0x61, 0xb0, 0x3c, 0xf, 0x3, 0xc0, + 0xf0, 0x3c, 0xf, 0x3, 0x61, 0x98, 0x61, 0xe0, + + /* U+00F4 "ô" */ + 0xc, 0x7, 0x83, 0xf1, 0xce, 0x61, 0x80, 0x1, + 0xe1, 0x86, 0x61, 0xb0, 0x3c, 0xf, 0x3, 0xc0, + 0xf0, 0x3c, 0xf, 0x3, 0x61, 0x98, 0x61, 0xe0, + + /* U+00F5 "õ" */ + 0x38, 0x9f, 0x66, 0xf9, 0x1c, 0x0, 0x7, 0x86, + 0x19, 0x86, 0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xc0, + 0xf0, 0x3c, 0xd, 0x86, 0x61, 0x87, 0x80, + + /* U+00F6 "ö" */ + 0x73, 0x9c, 0xe7, 0x38, 0x0, 0x0, 0x7, 0x86, + 0x19, 0x86, 0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xc0, + 0xf0, 0x3c, 0xd, 0x86, 0x61, 0x87, 0x80, + + /* U+00F7 "÷" */ + 0xe, 0x1, 0xc0, 0x38, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x7, 0xff, 0x0, 0x0, 0x0, 0x0, 0x7, + 0x0, 0xe0, 0x1c, 0x0, + + /* U+00F8 "ø" */ + 0x0, 0x87, 0xe6, 0x39, 0x8f, 0xc7, 0xf1, 0xbc, + 0xef, 0x33, 0xdc, 0xf6, 0x3f, 0x8f, 0xc6, 0x71, + 0x9f, 0x84, 0x0, + + /* U+00F9 "ù" */ + 0x10, 0x7, 0x0, 0x70, 0x7, 0x0, 0x60, 0x0, + 0x38, 0x73, 0x6, 0x60, 0xcc, 0x19, 0x83, 0x30, + 0x66, 0xc, 0xc1, 0x98, 0x33, 0x6, 0x21, 0xc6, + 0x38, 0x7b, 0x80, + + /* U+00FA "ú" */ + 0x1, 0x0, 0x70, 0x1c, 0x7, 0x0, 0xc0, 0x0, + 0x38, 0x73, 0x6, 0x60, 0xcc, 0x19, 0x83, 0x30, + 0x66, 0xc, 0xc1, 0x98, 0x33, 0x6, 0x21, 0xc6, + 0x38, 0x7b, 0x80, + + /* U+00FB "û" */ + 0xe, 0x1, 0xc0, 0x6c, 0x18, 0xc2, 0x8, 0x0, + 0x38, 0x73, 0x6, 0x60, 0xcc, 0x19, 0x83, 0x30, + 0x66, 0xc, 0xc1, 0x98, 0x33, 0x6, 0x21, 0xc6, + 0x38, 0x7b, 0x80, + + /* U+00FC "ü" */ + 0x3b, 0x87, 0x70, 0xee, 0x0, 0x0, 0x1, 0xc3, + 0x98, 0x33, 0x6, 0x60, 0xcc, 0x19, 0x83, 0x30, + 0x66, 0xc, 0xc1, 0x98, 0x31, 0xe, 0x31, 0xc3, + 0xdc, + + /* U+00FD "ý" */ + 0x1, 0x0, 0x70, 0x1c, 0x7, 0x0, 0xc0, 0x0, + 0x3c, 0x7b, 0x6, 0x60, 0xc6, 0x30, 0xc6, 0x18, + 0xc1, 0x10, 0x36, 0x6, 0xc0, 0xd0, 0xe, 0x1, + 0xc0, 0x38, 0x6, 0x0, 0xc0, 0x18, 0x6, 0x1, + 0x80, + + /* U+00FE "þ" */ + 0xe0, 0x18, 0x6, 0x1, 0x80, 0x60, 0x1b, 0xc7, + 0x19, 0x87, 0x60, 0xd8, 0x36, 0xd, 0x83, 0x60, + 0xd8, 0x36, 0xd, 0x87, 0x71, 0x9b, 0xc6, 0x1, + 0x80, 0x60, 0x18, 0xf, 0x0 +}; + + +/*--------------------- + * GLYPH DESCRIPTION + *--------------------*/ + +static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { + {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, + {.bitmap_index = 0, .adv_w = 384, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1, .adv_w = 192, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2, .adv_w = 192, .box_w = 3, .box_h = 18, .ofs_x = 4, .ofs_y = 0}, + {.bitmap_index = 9, .adv_w = 192, .box_w = 7, .box_h = 8, .ofs_x = 3, .ofs_y = 11}, + {.bitmap_index = 16, .adv_w = 192, .box_w = 11, .box_h = 22, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 47, .adv_w = 192, .box_w = 9, .box_h = 23, .ofs_x = 2, .ofs_y = -2}, + {.bitmap_index = 73, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 94, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 117, .adv_w = 192, .box_w = 2, .box_h = 8, .ofs_x = 5, .ofs_y = 11}, + {.bitmap_index = 119, .adv_w = 192, .box_w = 7, .box_h = 27, .ofs_x = 3, .ofs_y = -5}, + {.bitmap_index = 143, .adv_w = 192, .box_w = 7, .box_h = 27, .ofs_x = 2, .ofs_y = -5}, + {.bitmap_index = 167, .adv_w = 192, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 10}, + {.bitmap_index = 180, .adv_w = 192, .box_w = 9, .box_h = 10, .ofs_x = 2, .ofs_y = 4}, + {.bitmap_index = 192, .adv_w = 192, .box_w = 4, .box_h = 9, .ofs_x = 4, .ofs_y = -5}, + {.bitmap_index = 197, .adv_w = 192, .box_w = 9, .box_h = 1, .ofs_x = 2, .ofs_y = 8}, + {.bitmap_index = 199, .adv_w = 192, .box_w = 4, .box_h = 4, .ofs_x = 4, .ofs_y = 0}, + {.bitmap_index = 201, .adv_w = 192, .box_w = 10, .box_h = 26, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 234, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 257, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 278, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 299, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 320, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 341, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 362, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 385, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 406, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 429, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 452, .adv_w = 192, .box_w = 4, .box_h = 13, .ofs_x = 4, .ofs_y = 0}, + {.bitmap_index = 459, .adv_w = 192, .box_w = 4, .box_h = 18, .ofs_x = 4, .ofs_y = -5}, + {.bitmap_index = 468, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 2}, + {.bitmap_index = 484, .adv_w = 192, .box_w = 9, .box_h = 7, .ofs_x = 2, .ofs_y = 6}, + {.bitmap_index = 492, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 508, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 529, .adv_w = 192, .box_w = 9, .box_h = 21, .ofs_x = 2, .ofs_y = -1}, + {.bitmap_index = 553, .adv_w = 192, .box_w = 11, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 578, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 601, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 622, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 645, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 666, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 687, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 708, .adv_w = 192, .box_w = 11, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 733, .adv_w = 192, .box_w = 7, .box_h = 18, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 749, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 770, .adv_w = 192, .box_w = 11, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 795, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 818, .adv_w = 192, .box_w = 11, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 843, .adv_w = 192, .box_w = 11, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 868, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 891, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 914, .adv_w = 192, .box_w = 10, .box_h = 21, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 941, .adv_w = 192, .box_w = 11, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 966, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 987, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1008, .adv_w = 192, .box_w = 11, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1033, .adv_w = 192, .box_w = 11, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1058, .adv_w = 192, .box_w = 11, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1083, .adv_w = 192, .box_w = 11, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1108, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1131, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1152, .adv_w = 192, .box_w = 8, .box_h = 25, .ofs_x = 2, .ofs_y = -4}, + {.bitmap_index = 1177, .adv_w = 192, .box_w = 10, .box_h = 26, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 1210, .adv_w = 192, .box_w = 8, .box_h = 25, .ofs_x = 2, .ofs_y = -4}, + {.bitmap_index = 1235, .adv_w = 192, .box_w = 10, .box_h = 6, .ofs_x = 1, .ofs_y = 13}, + {.bitmap_index = 1243, .adv_w = 192, .box_w = 9, .box_h = 1, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1245, .adv_w = 192, .box_w = 6, .box_h = 6, .ofs_x = 2, .ofs_y = 13}, + {.bitmap_index = 1250, .adv_w = 192, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1267, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1290, .adv_w = 192, .box_w = 9, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1305, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1328, .adv_w = 192, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1345, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1366, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = -5}, + {.bitmap_index = 1389, .adv_w = 192, .box_w = 11, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1414, .adv_w = 192, .box_w = 8, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1432, .adv_w = 192, .box_w = 9, .box_h = 23, .ofs_x = 0, .ofs_y = -5}, + {.bitmap_index = 1458, .adv_w = 192, .box_w = 11, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1483, .adv_w = 192, .box_w = 8, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1501, .adv_w = 192, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1519, .adv_w = 192, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1537, .adv_w = 192, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1554, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = -5}, + {.bitmap_index = 1577, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = -5}, + {.bitmap_index = 1600, .adv_w = 192, .box_w = 10, .box_h = 13, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1617, .adv_w = 192, .box_w = 9, .box_h = 13, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1632, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1655, .adv_w = 192, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1673, .adv_w = 192, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1691, .adv_w = 192, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1709, .adv_w = 192, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1727, .adv_w = 192, .box_w = 11, .box_h = 18, .ofs_x = 1, .ofs_y = -5}, + {.bitmap_index = 1752, .adv_w = 192, .box_w = 9, .box_h = 13, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1767, .adv_w = 192, .box_w = 8, .box_h = 26, .ofs_x = 2, .ofs_y = -4}, + {.bitmap_index = 1793, .adv_w = 192, .box_w = 2, .box_h = 26, .ofs_x = 5, .ofs_y = -4}, + {.bitmap_index = 1800, .adv_w = 192, .box_w = 9, .box_h = 26, .ofs_x = 2, .ofs_y = -4}, + {.bitmap_index = 1830, .adv_w = 192, .box_w = 10, .box_h = 5, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 1837, .adv_w = 192, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1838, .adv_w = 192, .box_w = 3, .box_h = 18, .ofs_x = 4, .ofs_y = -5}, + {.bitmap_index = 1845, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 1868, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1889, .adv_w = 384, .box_w = 12, .box_h = 12, .ofs_x = 6, .ofs_y = 3}, + {.bitmap_index = 1907, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1930, .adv_w = 192, .box_w = 2, .box_h = 26, .ofs_x = 5, .ofs_y = -4}, + {.bitmap_index = 1937, .adv_w = 384, .box_w = 11, .box_h = 25, .ofs_x = 7, .ofs_y = -4}, + {.bitmap_index = 1972, .adv_w = 192, .box_w = 8, .box_h = 3, .ofs_x = 2, .ofs_y = 15}, + {.bitmap_index = 1975, .adv_w = 384, .box_w = 18, .box_h = 18, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 2016, .adv_w = 192, .box_w = 8, .box_h = 12, .ofs_x = 2, .ofs_y = 5}, + {.bitmap_index = 2028, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 2046, .adv_w = 192, .box_w = 9, .box_h = 5, .ofs_x = 2, .ofs_y = 4}, + {.bitmap_index = 2052, .adv_w = 192, .box_w = 9, .box_h = 1, .ofs_x = 2, .ofs_y = 8}, + {.bitmap_index = 2054, .adv_w = 384, .box_w = 18, .box_h = 18, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 2095, .adv_w = 192, .box_w = 7, .box_h = 1, .ofs_x = 2, .ofs_y = 16}, + {.bitmap_index = 2096, .adv_w = 192, .box_w = 6, .box_h = 5, .ofs_x = 3, .ofs_y = 13}, + {.bitmap_index = 2100, .adv_w = 384, .box_w = 11, .box_h = 15, .ofs_x = 7, .ofs_y = 0}, + {.bitmap_index = 2121, .adv_w = 192, .box_w = 8, .box_h = 12, .ofs_x = 2, .ofs_y = 7}, + {.bitmap_index = 2133, .adv_w = 192, .box_w = 8, .box_h = 12, .ofs_x = 2, .ofs_y = 7}, + {.bitmap_index = 2145, .adv_w = 192, .box_w = 6, .box_h = 6, .ofs_x = 4, .ofs_y = 13}, + {.bitmap_index = 2150, .adv_w = 192, .box_w = 11, .box_h = 18, .ofs_x = 1, .ofs_y = -5}, + {.bitmap_index = 2175, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2196, .adv_w = 384, .box_w = 4, .box_h = 4, .ofs_x = 10, .ofs_y = 7}, + {.bitmap_index = 2198, .adv_w = 192, .box_w = 5, .box_h = 5, .ofs_x = 4, .ofs_y = -5}, + {.bitmap_index = 2202, .adv_w = 192, .box_w = 7, .box_h = 12, .ofs_x = 2, .ofs_y = 7}, + {.bitmap_index = 2213, .adv_w = 192, .box_w = 8, .box_h = 12, .ofs_x = 2, .ofs_y = 5}, + {.bitmap_index = 2225, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 2245, .adv_w = 192, .box_w = 9, .box_h = 25, .ofs_x = 2, .ofs_y = -3}, + {.bitmap_index = 2274, .adv_w = 192, .box_w = 9, .box_h = 25, .ofs_x = 2, .ofs_y = -3}, + {.bitmap_index = 2303, .adv_w = 192, .box_w = 9, .box_h = 25, .ofs_x = 2, .ofs_y = -3}, + {.bitmap_index = 2332, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 2, .ofs_y = -5}, + {.bitmap_index = 2353, .adv_w = 192, .box_w = 11, .box_h = 24, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2386, .adv_w = 192, .box_w = 11, .box_h = 24, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2419, .adv_w = 192, .box_w = 11, .box_h = 24, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2452, .adv_w = 192, .box_w = 11, .box_h = 24, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2485, .adv_w = 192, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2517, .adv_w = 192, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2549, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2572, .adv_w = 192, .box_w = 9, .box_h = 23, .ofs_x = 1, .ofs_y = -5}, + {.bitmap_index = 2598, .adv_w = 192, .box_w = 9, .box_h = 24, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2625, .adv_w = 192, .box_w = 9, .box_h = 24, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2652, .adv_w = 192, .box_w = 9, .box_h = 24, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2679, .adv_w = 192, .box_w = 9, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2705, .adv_w = 192, .box_w = 7, .box_h = 24, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 2726, .adv_w = 192, .box_w = 7, .box_h = 24, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 2747, .adv_w = 192, .box_w = 9, .box_h = 24, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2774, .adv_w = 192, .box_w = 8, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2797, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2820, .adv_w = 192, .box_w = 11, .box_h = 24, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2853, .adv_w = 192, .box_w = 10, .box_h = 24, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2883, .adv_w = 192, .box_w = 10, .box_h = 24, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2913, .adv_w = 192, .box_w = 10, .box_h = 24, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2943, .adv_w = 192, .box_w = 10, .box_h = 24, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2973, .adv_w = 192, .box_w = 10, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3002, .adv_w = 384, .box_w = 12, .box_h = 12, .ofs_x = 6, .ofs_y = 3}, + {.bitmap_index = 3020, .adv_w = 192, .box_w = 10, .box_h = 20, .ofs_x = 1, .ofs_y = -1}, + {.bitmap_index = 3045, .adv_w = 192, .box_w = 11, .box_h = 24, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3078, .adv_w = 192, .box_w = 11, .box_h = 24, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3111, .adv_w = 192, .box_w = 11, .box_h = 24, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3144, .adv_w = 192, .box_w = 11, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3176, .adv_w = 192, .box_w = 10, .box_h = 24, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3206, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3229, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3252, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3276, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3300, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3324, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3347, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3370, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3393, .adv_w = 192, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3410, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 1, .ofs_y = -5}, + {.bitmap_index = 3431, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3455, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3479, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3503, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3526, .adv_w = 192, .box_w = 8, .box_h = 19, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3545, .adv_w = 192, .box_w = 8, .box_h = 19, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3564, .adv_w = 192, .box_w = 8, .box_h = 19, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3583, .adv_w = 192, .box_w = 8, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3601, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3624, .adv_w = 192, .box_w = 11, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3649, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3673, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3697, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3721, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3744, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3767, .adv_w = 384, .box_w = 11, .box_h = 14, .ofs_x = 7, .ofs_y = 2}, + {.bitmap_index = 3787, .adv_w = 192, .box_w = 10, .box_h = 15, .ofs_x = 1, .ofs_y = -1}, + {.bitmap_index = 3806, .adv_w = 192, .box_w = 11, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3833, .adv_w = 192, .box_w = 11, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3860, .adv_w = 192, .box_w = 11, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3887, .adv_w = 192, .box_w = 11, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3912, .adv_w = 192, .box_w = 11, .box_h = 24, .ofs_x = 1, .ofs_y = -5}, + {.bitmap_index = 3945, .adv_w = 192, .box_w = 10, .box_h = 23, .ofs_x = 1, .ofs_y = -5} +}; + +/*--------------------- + * CHARACTER MAPPING + *--------------------*/ + + + +/*Collect the unicode lists and glyph_id offsets*/ +static const lv_font_fmt_txt_cmap_t cmaps[] = +{ + { + .range_start = 13, .range_length = 1, .glyph_id_start = 1, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + }, + { + .range_start = 32, .range_length = 95, .glyph_id_start = 2, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + }, + { + .range_start = 160, .range_length = 95, .glyph_id_start = 97, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + } +}; + + + +/*-------------------- + * ALL CUSTOM DATA + *--------------------*/ + +#if LVGL_VERSION_MAJOR == 8 +/*Store all the custom data of the font*/ +static lv_font_fmt_txt_glyph_cache_t cache; +#endif + +#if LVGL_VERSION_MAJOR >= 8 +static const lv_font_fmt_txt_dsc_t font_dsc = { +#else +static lv_font_fmt_txt_dsc_t font_dsc = { +#endif + .glyph_bitmap = glyph_bitmap, + .glyph_dsc = glyph_dsc, + .cmaps = cmaps, + .kern_dsc = NULL, + .kern_scale = 0, + .cmap_num = 3, + .bpp = 1, + .kern_classes = 0, + .bitmap_format = 0, +#if LVGL_VERSION_MAJOR == 8 + .cache = &cache +#endif + +}; + +extern const lv_font_t lv_font_montserrat_12; + + +/*----------------- + * PUBLIC FONT + *----------------*/ + +/*Initialize a public general font descriptor*/ +#if LVGL_VERSION_MAJOR >= 8 +const lv_font_t InziuIosevka_Slab_CC_24px = { +#else +lv_font_t InziuIosevka_Slab_CC_24px = { +#endif + .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ + .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ + .line_height = 29, /*The maximum line height required by the font*/ + .base_line = 5, /*Baseline measured from the bottom of the line*/ +#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0) + .subpx = LV_FONT_SUBPX_NONE, +#endif +#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8 + .underline_position = -5, + .underline_thickness = 1, +#endif + .dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ +#if LV_VERSION_CHECK(8, 2, 0) || LVGL_VERSION_MAJOR >= 9 + .fallback = &lv_font_montserrat_12, +#endif + .user_data = NULL, +}; + + + +#endif /*#if INZIUIOSEVKA_SLAB_CC_24PX*/ diff --git a/components/user_fonts/InziuIosevka_Slab_CC_32px.c b/components/user_fonts/InziuIosevka_Slab_CC_32px.c new file mode 100644 index 0000000..3a588cc --- /dev/null +++ b/components/user_fonts/InziuIosevka_Slab_CC_32px.c @@ -0,0 +1,1641 @@ +/******************************************************************************* + * Size: 32 px + * Bpp: 1 + * Opts: --bpp 1 --size 32 --no-compress --stride 1 --align 1 --font Inziu-IosevkaCC-Slab-J-Regular-04.ttf --range 0-254 --format lvgl -o InziuIosevka_Slab_CC_32px.c + ******************************************************************************/ + +#ifdef __has_include + #if __has_include("lvgl.h") + #ifndef LV_LVGL_H_INCLUDE_SIMPLE + #define LV_LVGL_H_INCLUDE_SIMPLE + #endif + #endif +#endif + +#ifdef LV_LVGL_H_INCLUDE_SIMPLE + #include "lvgl.h" +#else + #include "lvgl/lvgl.h" +#endif + + + +#ifndef INZIUIOSEVKA_SLAB_CC_32PX +#define INZIUIOSEVKA_SLAB_CC_32PX 1 +#endif + +#if INZIUIOSEVKA_SLAB_CC_32PX + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { + /* U+000D "\r" */ + 0x0, + + /* U+0020 " " */ + 0x0, + + /* U+0021 "!" */ + 0x73, 0x9c, 0xe7, 0x39, 0xce, 0x73, 0x9c, 0xe7, + 0x39, 0xc0, 0x0, 0x0, 0xef, 0xfd, 0xc0, + + /* U+0022 "\"" */ + 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0x8f, + 0xc7, 0xe3, 0xf1, 0xc0, + + /* U+0023 "#" */ + 0x38, 0x70, 0xe1, 0xc3, 0x87, 0xe, 0x1c, 0x38, + 0x70, 0xe1, 0xc3, 0x87, 0x3f, 0xff, 0xff, 0xfc, + 0xe1, 0xc3, 0x87, 0xe, 0x1c, 0x38, 0x70, 0xe1, + 0xc3, 0x87, 0xe, 0x1c, 0x38, 0x70, 0xe1, 0xc3, + 0x87, 0x3f, 0xff, 0xff, 0xfc, 0xe1, 0xc3, 0x87, + 0xe, 0x1c, 0x38, 0x70, 0xe1, 0xc3, 0x87, 0xe, + 0x1c, 0x38, 0x70, + + /* U+0024 "$" */ + 0xe, 0x0, 0xe0, 0xe, 0x0, 0xe0, 0xe, 0x3, + 0xfc, 0x7f, 0xef, 0xef, 0xee, 0x7e, 0xe7, 0xee, + 0xe, 0xe0, 0x7e, 0x7, 0xe0, 0x3e, 0x1, 0xf8, + 0xf, 0xc0, 0xfe, 0xe, 0xf0, 0xe7, 0xe, 0x7e, + 0xe7, 0xee, 0xf7, 0xfe, 0x7f, 0xc1, 0xf0, 0xe, + 0x0, 0xe0, 0xe, 0x0, 0xe0, + + /* U+0025 "%" */ + 0xe0, 0x7e, 0x6, 0xe0, 0x6e, 0xe, 0xe0, 0xce, + 0x1c, 0xe1, 0x80, 0x38, 0x3, 0x0, 0x30, 0x7, + 0x0, 0x60, 0xe, 0x0, 0xc0, 0xc, 0x1, 0xc0, + 0x18, 0x73, 0x87, 0x30, 0x77, 0x7, 0x60, 0x76, + 0x7, 0xe0, 0x70, + + /* U+0026 "&" */ + 0xf, 0x1, 0xfe, 0xe, 0x70, 0xe1, 0xc7, 0xe, + 0x38, 0x71, 0xc3, 0x8e, 0x3c, 0x39, 0xc1, 0xdc, + 0x7, 0xc0, 0x1c, 0x1, 0xe7, 0x1f, 0xb9, 0xcd, + 0xdc, 0x3e, 0xe1, 0xf7, 0x7, 0xb8, 0x1d, 0xe0, + 0xe7, 0xf, 0x9f, 0xfc, 0x7e, 0x60, + + /* U+0027 "'" */ + 0xff, 0xff, 0xff, 0xfc, + + /* U+0028 "(" */ + 0x0, 0x80, 0x70, 0x78, 0x3c, 0xe, 0x7, 0x3, + 0xc0, 0xe0, 0x38, 0x1c, 0x7, 0x1, 0xc0, 0xe0, + 0x38, 0xe, 0x3, 0x80, 0xe0, 0x38, 0xe, 0x3, + 0x80, 0xe0, 0x38, 0xe, 0x1, 0xc0, 0x70, 0x1c, + 0x3, 0x80, 0xe0, 0x3c, 0x7, 0x0, 0xe0, 0x1c, + 0x7, 0x80, 0x70, 0x8, + + /* U+0029 ")" */ + 0x40, 0x38, 0x7, 0x80, 0xf0, 0x1c, 0x3, 0x80, + 0xf0, 0x1c, 0x7, 0x0, 0xe0, 0x38, 0xe, 0x1, + 0xc0, 0x70, 0x1c, 0x7, 0x1, 0xc0, 0x70, 0x1c, + 0x7, 0x1, 0xc0, 0x70, 0x1c, 0xe, 0x3, 0x80, + 0xe0, 0x70, 0x1c, 0xf, 0x3, 0x81, 0xc0, 0xf0, + 0x78, 0x38, 0x4, 0x0, + + /* U+002A "*" */ + 0x3, 0x80, 0x7, 0x0, 0xe, 0x0, 0x1c, 0x7, + 0x39, 0xdf, 0xff, 0xc7, 0xfc, 0x3, 0xe0, 0xe, + 0xe0, 0x1d, 0xc0, 0x71, 0xc1, 0xc1, 0xc0, 0x0, + 0x0, + + /* U+002B "+" */ + 0xe, 0x0, 0xe0, 0xe, 0x0, 0xe0, 0xe, 0x0, + 0xe0, 0xff, 0xff, 0xff, 0xe, 0x0, 0xe0, 0xe, + 0x0, 0xe0, 0xe, 0x0, + + /* U+002C "," */ + 0x77, 0xff, 0xf7, 0x9c, 0xce, 0x67, 0x10, + + /* U+002D "-" */ + 0xff, 0xff, 0xff, + + /* U+002E "." */ + 0x77, 0xff, 0xf7, 0x0, + + /* U+002F "/" */ + 0x0, 0x70, 0x7, 0x0, 0x60, 0x6, 0x0, 0xe0, + 0xe, 0x0, 0xc0, 0x1c, 0x1, 0xc0, 0x1c, 0x1, + 0x80, 0x38, 0x3, 0x80, 0x30, 0x7, 0x0, 0x70, + 0x7, 0x0, 0x60, 0xe, 0x0, 0xe0, 0xc, 0x1, + 0xc0, 0x1c, 0x1, 0xc0, 0x18, 0x3, 0x80, 0x38, + 0x3, 0x0, 0x70, 0x7, 0x0, 0x70, 0x6, 0x0, + 0xe0, 0xe, 0x0, + + /* U+0030 "0" */ + 0xf, 0x81, 0xff, 0x1e, 0x3c, 0xe0, 0xee, 0x3, + 0xf0, 0x3f, 0x81, 0xfc, 0x1f, 0xe1, 0xff, 0x1d, + 0xf8, 0xcf, 0xce, 0x7e, 0xe3, 0xf6, 0x1f, 0xe0, + 0xff, 0x7, 0xf0, 0x3f, 0x1, 0xf8, 0xe, 0xc0, + 0xe7, 0xf, 0x1f, 0xf0, 0x3e, 0x0, + + /* U+0031 "1" */ + 0xf, 0x1, 0xf0, 0x7f, 0xf, 0x70, 0xe7, 0x0, + 0x70, 0x7, 0x0, 0x70, 0x7, 0x0, 0x70, 0x7, + 0x0, 0x70, 0x7, 0x0, 0x70, 0x7, 0x0, 0x70, + 0x7, 0x0, 0x70, 0x7, 0x0, 0x70, 0x7, 0x7, + 0xff, 0x7f, 0xf0, + + /* U+0032 "2" */ + 0x1f, 0x83, 0xfc, 0x71, 0xee, 0xf, 0xc0, 0x70, + 0x7, 0x0, 0x70, 0x7, 0x0, 0xf0, 0xe, 0x1, + 0xc0, 0x3c, 0x7, 0x80, 0xe0, 0x1c, 0x3, 0x80, + 0x70, 0x7, 0x0, 0xe0, 0xe, 0x7, 0xe0, 0x7f, + 0xff, 0xff, 0xf0, + + /* U+0033 "3" */ + 0xf, 0xc0, 0xff, 0xe, 0x3c, 0xe0, 0xf7, 0x3, + 0x80, 0x1c, 0x0, 0xe0, 0x7, 0x0, 0x70, 0xf, + 0x3, 0xf0, 0x1f, 0x80, 0x1e, 0x0, 0x38, 0x1, + 0xe0, 0x7, 0x0, 0x38, 0x1, 0xf8, 0xe, 0xc0, + 0xe7, 0x8f, 0x1f, 0xf0, 0x3e, 0x0, + + /* U+0034 "4" */ + 0x3, 0xc0, 0x3c, 0x7, 0xc0, 0x7c, 0xf, 0xc0, + 0xdc, 0xd, 0xc1, 0x9c, 0x19, 0xc3, 0x1c, 0x31, + 0xc7, 0x1c, 0x61, 0xce, 0x1c, 0xff, 0xff, 0xff, + 0x1, 0xc0, 0x1c, 0x1, 0xc0, 0x1c, 0x1, 0xc0, + 0x3e, 0x3, 0xe0, + + /* U+0035 "5" */ + 0xff, 0xef, 0xfe, 0xe0, 0xee, 0xe, 0xe0, 0xe, + 0x0, 0xe0, 0xe, 0x0, 0xef, 0xf, 0xfc, 0xf1, + 0xee, 0xe, 0x60, 0x70, 0x7, 0x0, 0x70, 0x7, + 0x0, 0x74, 0x7, 0xc0, 0xfe, 0xe, 0x71, 0xe7, + 0xfc, 0x1f, 0x0, + + /* U+0036 "6" */ + 0x0, 0x80, 0x1e, 0x1, 0xe0, 0x1c, 0x1, 0xc0, + 0x1e, 0x0, 0xe0, 0xe, 0x0, 0x70, 0x3, 0xbc, + 0x3f, 0xf9, 0xf1, 0xef, 0x7, 0x70, 0x1f, 0x80, + 0xfc, 0x7, 0xe0, 0x3f, 0x1, 0xf8, 0xe, 0xe0, + 0xe7, 0x8f, 0x1f, 0xf0, 0x3e, 0x0, + + /* U+0037 "7" */ + 0xff, 0xff, 0xff, 0xe0, 0x7e, 0x7, 0x0, 0x60, + 0xe, 0x0, 0xe0, 0xc, 0x1, 0xc0, 0x1c, 0x1, + 0x80, 0x38, 0x3, 0x80, 0x30, 0x7, 0x0, 0x70, + 0x6, 0x0, 0xe0, 0xe, 0x0, 0xc0, 0x1c, 0x1, + 0xc0, 0x18, 0x0, + + /* U+0038 "8" */ + 0x1f, 0xc1, 0xff, 0x1e, 0x3d, 0xc0, 0x7e, 0x3, + 0xf0, 0x1f, 0x80, 0xfe, 0xe, 0x78, 0xf1, 0xef, + 0x7, 0xf0, 0x1f, 0x1, 0xfc, 0x1c, 0x71, 0xc1, + 0xde, 0xf, 0xe0, 0x3f, 0x1, 0xf8, 0xf, 0xe0, + 0xf7, 0x8f, 0x1f, 0xf0, 0x7f, 0x0, + + /* U+0039 "9" */ + 0xf, 0x81, 0xff, 0x1e, 0x3c, 0xe0, 0xee, 0x3, + 0xf0, 0x1f, 0x80, 0xfc, 0x7, 0xe0, 0x3f, 0x1, + 0xdc, 0x1e, 0xf1, 0xf3, 0xff, 0x87, 0x9c, 0x0, + 0xe0, 0x7, 0x0, 0x3b, 0x1, 0xdc, 0x1c, 0xe0, + 0xe3, 0x8e, 0x1f, 0xf0, 0x3e, 0x0, + + /* U+003A ":" */ + 0x77, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x7, + 0x7f, 0xff, 0x70, + + /* U+003B ";" */ + 0x77, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x2, + 0x7f, 0xff, 0xf9, 0xcc, 0xe7, 0x73, 0x80, + + /* U+003C "<" */ + 0x0, 0x20, 0x3, 0x80, 0x3c, 0x7, 0x80, 0x78, + 0x7, 0x80, 0xf0, 0xf, 0x0, 0xe0, 0x6, 0x0, + 0x38, 0x0, 0xf0, 0x3, 0xc0, 0x7, 0x80, 0x1e, + 0x0, 0x7c, 0x0, 0xf0, 0x3, 0x80, 0x0, + + /* U+003D "=" */ + 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xf, 0xff, 0xff, 0xf0, + + /* U+003E ">" */ + 0x20, 0x3, 0x80, 0x1e, 0x0, 0x3c, 0x0, 0xf0, + 0x3, 0xc0, 0x7, 0x80, 0x1e, 0x0, 0x38, 0x0, + 0xc0, 0xe, 0x1, 0xe0, 0x1e, 0x3, 0xc0, 0x3c, + 0x3, 0xc0, 0x78, 0x3, 0x80, 0x0, 0x0, + + /* U+003F "?" */ + 0x1f, 0x87, 0xfc, 0x70, 0xee, 0x7, 0xe0, 0x70, + 0x7, 0x0, 0x70, 0xf, 0x0, 0xe0, 0x1e, 0x1, + 0xc0, 0x3c, 0x3, 0x80, 0x70, 0x7, 0x0, 0x70, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x70, 0xf, 0x80, + 0xf8, 0x7, 0x0, + + /* U+0040 "@" */ + 0x1f, 0x83, 0xfc, 0x71, 0xee, 0xe, 0xe0, 0x72, + 0x7, 0x0, 0x70, 0x7, 0x0, 0x73, 0xe7, 0x7e, + 0x7e, 0xe7, 0xee, 0x7e, 0xe7, 0xee, 0x7e, 0xe7, + 0xee, 0x7e, 0xe7, 0xee, 0x7e, 0xe7, 0xee, 0x7e, + 0xe7, 0xee, 0x7e, 0xe7, 0xee, 0x77, 0xe7, 0x3b, + 0xe0, 0x3c, + + /* U+0041 "A" */ + 0x7, 0x80, 0x1e, 0x0, 0x78, 0x3, 0xe0, 0xf, + 0xc0, 0x3f, 0x0, 0xcc, 0x3, 0x30, 0x1c, 0xe0, + 0x73, 0x81, 0xce, 0x6, 0x18, 0x38, 0x70, 0xe1, + 0xc3, 0x87, 0xf, 0xfc, 0x3f, 0xf1, 0xc0, 0xe7, + 0x3, 0x9c, 0xe, 0x70, 0x3b, 0xe1, 0xff, 0x87, + 0xc0, + + /* U+0042 "B" */ + 0xff, 0xc1, 0xff, 0xc0, 0xe1, 0xc1, 0xc3, 0xc3, + 0x83, 0x87, 0x7, 0xe, 0xe, 0x1c, 0x1c, 0x38, + 0x70, 0x70, 0xe0, 0xff, 0x81, 0xff, 0x3, 0x83, + 0x87, 0x3, 0x8e, 0x3, 0x9c, 0x7, 0x38, 0xe, + 0x70, 0x1c, 0xe0, 0x39, 0xc0, 0xe3, 0x83, 0xdf, + 0xff, 0x3f, 0xf8, 0x0, + + /* U+0043 "C" */ + 0xf, 0x81, 0xff, 0x1e, 0x1d, 0xe0, 0x7e, 0x3, + 0xf0, 0x3, 0x80, 0x1c, 0x0, 0xe0, 0x7, 0x0, + 0x38, 0x1, 0xc0, 0xe, 0x0, 0x70, 0x3, 0x80, + 0x1c, 0x0, 0xe0, 0x7, 0x0, 0x38, 0xf, 0xe0, + 0x77, 0x87, 0x1f, 0xf0, 0x3e, 0x0, + + /* U+0044 "D" */ + 0xff, 0xc1, 0xff, 0xe0, 0xe1, 0xe1, 0xc0, 0xe3, + 0x81, 0xc7, 0x1, 0xce, 0x3, 0x9c, 0x7, 0x38, + 0xe, 0x70, 0x1c, 0xe0, 0x39, 0xc0, 0x73, 0x80, + 0xe7, 0x1, 0xce, 0x3, 0x9c, 0x7, 0x38, 0xe, + 0x70, 0x1c, 0xe0, 0x71, 0xc0, 0xe3, 0x87, 0x9f, + 0xfe, 0x3f, 0xf0, 0x0, + + /* U+0045 "E" */ + 0xff, 0xff, 0xff, 0xce, 0xe, 0x70, 0x73, 0x80, + 0x1c, 0x0, 0xe0, 0x7, 0x0, 0x38, 0x1, 0xc0, + 0xf, 0xf0, 0x7f, 0x83, 0x80, 0x1c, 0x0, 0xe0, + 0x7, 0x0, 0x38, 0x1, 0xc0, 0xe, 0x0, 0x70, + 0x73, 0x83, 0xff, 0xff, 0xff, 0xe0, + + /* U+0046 "F" */ + 0xff, 0xff, 0xff, 0x70, 0x77, 0x7, 0x70, 0x7, + 0x0, 0x70, 0x7, 0x0, 0x70, 0x7, 0x0, 0x7f, + 0x87, 0xf8, 0x70, 0x7, 0x0, 0x70, 0x7, 0x0, + 0x70, 0x7, 0x0, 0x70, 0x7, 0x0, 0x70, 0xf, + 0x80, 0xf8, 0x0, + + /* U+0047 "G" */ + 0xf, 0xc1, 0xff, 0x1e, 0x1d, 0xe0, 0x7e, 0x3, + 0xf0, 0x3, 0x80, 0x1c, 0x0, 0xe0, 0x7, 0x0, + 0x38, 0x7f, 0xc3, 0xfe, 0x3, 0xf0, 0x1f, 0x80, + 0xfc, 0x7, 0xe0, 0x3f, 0x1, 0xf8, 0xf, 0xe0, + 0xe7, 0x8f, 0x1f, 0xf0, 0x3f, 0x0, + + /* U+0048 "H" */ + 0xf8, 0x7f, 0xe1, 0xf7, 0x3, 0x9c, 0xe, 0x70, + 0x39, 0xc0, 0xe7, 0x3, 0x9c, 0xe, 0x70, 0x39, + 0xc0, 0xe7, 0xff, 0x9f, 0xfe, 0x70, 0x39, 0xc0, + 0xe7, 0x3, 0x9c, 0xe, 0x70, 0x39, 0xc0, 0xe7, + 0x3, 0x9c, 0xe, 0x70, 0x3b, 0xe1, 0xff, 0x87, + 0xc0, + + /* U+0049 "I" */ + 0xff, 0xff, 0xc7, 0x3, 0x81, 0xc0, 0xe0, 0x70, + 0x38, 0x1c, 0xe, 0x7, 0x3, 0x81, 0xc0, 0xe0, + 0x70, 0x38, 0x1c, 0xe, 0x7, 0x3, 0x81, 0xc7, + 0xff, 0xfe, + + /* U+004A "J" */ + 0xf, 0xf0, 0xff, 0x0, 0x70, 0x7, 0x0, 0x70, + 0x7, 0x0, 0x70, 0x7, 0x0, 0x70, 0x7, 0x0, + 0x70, 0x7, 0x0, 0x70, 0x7, 0x0, 0x70, 0x7, + 0x0, 0x70, 0x7, 0xc0, 0x7e, 0xe, 0x71, 0xe7, + 0xfc, 0x1f, 0x80, + + /* U+004B "K" */ + 0xf8, 0x3f, 0xe1, 0xf7, 0x6, 0x1c, 0x38, 0x70, + 0xc1, 0xc7, 0x7, 0x18, 0x1c, 0xe0, 0x77, 0x1, + 0xdc, 0x7, 0xf8, 0x1f, 0xe0, 0x7d, 0x81, 0xe7, + 0x7, 0x1c, 0x1c, 0x30, 0x70, 0xe1, 0xc3, 0x87, + 0x6, 0x1c, 0x1c, 0x70, 0x73, 0xe0, 0xff, 0x83, + 0xc0, + + /* U+004C "L" */ + 0xf8, 0x7, 0xc0, 0x1c, 0x0, 0xe0, 0x7, 0x0, + 0x38, 0x1, 0xc0, 0xe, 0x0, 0x70, 0x3, 0x80, + 0x1c, 0x0, 0xe0, 0x7, 0x0, 0x38, 0x1, 0xc0, + 0xe, 0x0, 0x70, 0x3, 0x80, 0x1c, 0x0, 0xe0, + 0x77, 0x3, 0xff, 0xff, 0xff, 0xe0, + + /* U+004D "M" */ + 0xf0, 0x3f, 0xe0, 0xf7, 0x83, 0xde, 0x1f, 0x78, + 0x7d, 0xe1, 0xf7, 0xc5, 0xdd, 0x37, 0x74, 0xdd, + 0xd3, 0x77, 0x79, 0xdd, 0xe7, 0x77, 0x9d, 0xce, + 0x77, 0x31, 0xdc, 0xc7, 0x70, 0x1d, 0xc0, 0x77, + 0x1, 0xdc, 0x7, 0x70, 0x1f, 0xe1, 0xff, 0x87, + 0xc0, + + /* U+004E "N" */ + 0xf8, 0x7f, 0xe1, 0xf7, 0x83, 0x9f, 0xe, 0x7c, + 0x39, 0xf0, 0xe7, 0x43, 0x9d, 0x8e, 0x76, 0x39, + 0xc8, 0xe7, 0x33, 0x9c, 0xce, 0x73, 0x39, 0xc4, + 0xe7, 0x1b, 0x9c, 0x6e, 0x70, 0xb9, 0xc3, 0xe7, + 0xf, 0x9c, 0x3e, 0x70, 0x7b, 0xe1, 0xef, 0x87, + 0x80, + + /* U+004F "O" */ + 0xf, 0x81, 0xff, 0x1e, 0x3d, 0xe0, 0xee, 0x3, + 0xf0, 0x1f, 0x80, 0xfc, 0x7, 0xe0, 0x3f, 0x1, + 0xf8, 0xf, 0xc0, 0x7e, 0x3, 0xf0, 0x1f, 0x80, + 0xfc, 0x7, 0xe0, 0x3f, 0x1, 0xf8, 0xf, 0xe0, + 0xe7, 0x8f, 0x1f, 0xf0, 0x3e, 0x0, + + /* U+0050 "P" */ + 0xff, 0x87, 0xff, 0x1c, 0x3c, 0xe0, 0xe7, 0x3, + 0xb8, 0x1d, 0xc0, 0xee, 0x7, 0x70, 0x3b, 0x83, + 0x9c, 0x3c, 0xff, 0xc7, 0xf8, 0x38, 0x1, 0xc0, + 0xe, 0x0, 0x70, 0x3, 0x80, 0x1c, 0x0, 0xe0, + 0x7, 0x0, 0x7c, 0x3, 0xe0, 0x0, + + /* U+0051 "Q" */ + 0xf, 0x81, 0xff, 0x1e, 0x3c, 0xe0, 0xee, 0x3, + 0xf0, 0x1f, 0x80, 0xfc, 0x7, 0xe0, 0x3f, 0x1, + 0xf8, 0xf, 0xc0, 0x7e, 0x3, 0xf0, 0x1f, 0x80, + 0xfc, 0x7, 0xe0, 0x3f, 0x1, 0xf8, 0xf, 0xc0, + 0xf7, 0x7, 0x3f, 0xf8, 0xff, 0x80, 0xe0, 0x7, + 0x0, 0x3c, 0x0, 0xfc, 0x1, 0xe0, + + /* U+0052 "R" */ + 0xff, 0xc1, 0xff, 0xe1, 0xc1, 0xe3, 0x81, 0xe7, + 0x1, 0xce, 0x3, 0x9c, 0x7, 0x38, 0xe, 0x70, + 0x3c, 0xe0, 0xf1, 0xff, 0xc3, 0xfe, 0x7, 0x1c, + 0xe, 0x38, 0x1c, 0x38, 0x38, 0x70, 0x70, 0x60, + 0xe0, 0xe1, 0xc0, 0xc3, 0x81, 0xc7, 0x1, 0x9f, + 0x3, 0xfe, 0x7, 0x80, + + /* U+0053 "S" */ + 0x1f, 0x83, 0xfe, 0x70, 0xee, 0x7, 0xe0, 0x7e, + 0x0, 0xe0, 0xf, 0x0, 0x70, 0x7, 0xc0, 0x3e, + 0x1, 0xf8, 0x7, 0xc0, 0x3e, 0x0, 0xe0, 0xf, + 0x0, 0x70, 0x7, 0xe0, 0x7e, 0x7, 0x70, 0xe7, + 0xfc, 0x1f, 0x80, + + /* U+0054 "T" */ + 0xff, 0xff, 0xff, 0xe7, 0x3e, 0x73, 0x7, 0x0, + 0x70, 0x7, 0x0, 0x70, 0x7, 0x0, 0x70, 0x7, + 0x0, 0x70, 0x7, 0x0, 0x70, 0x7, 0x0, 0x70, + 0x7, 0x0, 0x70, 0x7, 0x0, 0x70, 0x7, 0x1, + 0xfc, 0x1f, 0xc0, + + /* U+0055 "U" */ + 0xf8, 0x7f, 0xe1, 0xf7, 0x3, 0x9c, 0xe, 0x70, + 0x39, 0xc0, 0xe7, 0x3, 0x9c, 0xe, 0x70, 0x39, + 0xc0, 0xe7, 0x3, 0x9c, 0xe, 0x70, 0x39, 0xc0, + 0xe7, 0x3, 0x9c, 0xe, 0x70, 0x39, 0xc0, 0xe7, + 0x3, 0x9e, 0x1e, 0x38, 0x70, 0x7f, 0x80, 0xfc, + 0x0, + + /* U+0056 "V" */ + 0xf8, 0x7f, 0xe1, 0xf7, 0x3, 0x9c, 0xe, 0x70, + 0x39, 0xc0, 0xe3, 0x87, 0xe, 0x1c, 0x38, 0x70, + 0xe1, 0xc3, 0x87, 0x6, 0x18, 0x1c, 0xe0, 0x73, + 0x81, 0xce, 0x3, 0x30, 0xc, 0xc0, 0x3f, 0x0, + 0xfc, 0x3, 0xe0, 0x7, 0x80, 0x1e, 0x0, 0x78, + 0x0, + + /* U+0057 "W" */ + 0xf8, 0x7f, 0xe1, 0xf7, 0x3, 0x9c, 0xe, 0x70, + 0x39, 0xc0, 0xe7, 0x3, 0x9c, 0xe, 0x70, 0x39, + 0xcc, 0xe7, 0x33, 0x9c, 0xcc, 0x33, 0x30, 0xde, + 0xc3, 0x7b, 0xd, 0x2c, 0x34, 0xb0, 0x52, 0x81, + 0xce, 0x7, 0x38, 0x18, 0x60, 0x61, 0x80, 0x84, + 0x0, + + /* U+0058 "X" */ + 0xf8, 0x7f, 0xe1, 0xf7, 0x3, 0x8c, 0xc, 0x30, + 0x30, 0xe1, 0xc1, 0x86, 0x7, 0x38, 0xf, 0xc0, + 0x3f, 0x0, 0x78, 0x1, 0xe0, 0x7, 0x80, 0x3f, + 0x0, 0xfc, 0x7, 0x38, 0x18, 0x60, 0xe1, 0xc3, + 0x3, 0xc, 0xc, 0x70, 0x3b, 0xe1, 0xff, 0x87, + 0xc0, + + /* U+0059 "Y" */ + 0xf8, 0x7f, 0xf0, 0xfd, 0xc0, 0x73, 0x80, 0xe7, + 0x1, 0xc7, 0x7, 0xe, 0xe, 0x1e, 0x3c, 0x1c, + 0x70, 0x3d, 0xe0, 0x3b, 0x80, 0x7f, 0x0, 0x7c, + 0x0, 0x70, 0x0, 0xe0, 0x1, 0xc0, 0x3, 0x80, + 0x7, 0x0, 0xe, 0x0, 0x1c, 0x0, 0x38, 0x0, + 0xfc, 0x1, 0xf8, 0x0, + + /* U+005A "Z" */ + 0xff, 0xff, 0xff, 0xe0, 0xfe, 0xe, 0x0, 0xe0, + 0x1c, 0x1, 0xc0, 0x3c, 0x3, 0x80, 0x78, 0x7, + 0x0, 0xf0, 0xe, 0x1, 0xe0, 0x1c, 0x3, 0xc0, + 0x38, 0x3, 0x80, 0x70, 0x7, 0x7, 0xf0, 0x7f, + 0xff, 0xff, 0xf0, + + /* U+005B "[" */ + 0xff, 0xff, 0xfe, 0x3, 0x80, 0xe0, 0x38, 0xe, + 0x3, 0x80, 0xe0, 0x38, 0xe, 0x3, 0x80, 0xe0, + 0x38, 0xe, 0x3, 0x80, 0xe0, 0x38, 0xe, 0x3, + 0x80, 0xe0, 0x38, 0xe, 0x3, 0x80, 0xe0, 0x38, + 0xe, 0x3, 0x80, 0xe0, 0x38, 0xe, 0x3, 0x80, + 0xff, 0xff, 0xf0, + + /* U+005C "\\" */ + 0xe0, 0xe, 0x0, 0x60, 0x6, 0x0, 0x70, 0x7, + 0x0, 0x30, 0x3, 0x80, 0x38, 0x3, 0x80, 0x18, + 0x1, 0xc0, 0x1c, 0x0, 0xc0, 0xe, 0x0, 0xe0, + 0xe, 0x0, 0x60, 0x7, 0x0, 0x70, 0x3, 0x0, + 0x38, 0x3, 0x80, 0x38, 0x1, 0x80, 0x1c, 0x1, + 0xc0, 0xc, 0x0, 0xc0, 0xe, 0x0, 0xe0, 0x6, + 0x0, 0x70, 0x7, + + /* U+005D "]" */ + 0xff, 0xff, 0xfc, 0x3, 0x80, 0x70, 0xe, 0x1, + 0xc0, 0x38, 0x7, 0x0, 0xe0, 0x1c, 0x3, 0x80, + 0x70, 0xe, 0x1, 0xc0, 0x38, 0x7, 0x0, 0xe0, + 0x1c, 0x3, 0x80, 0x70, 0xe, 0x1, 0xc0, 0x38, + 0x7, 0x0, 0xe0, 0x1c, 0x3, 0x80, 0x70, 0xe, + 0x1, 0xc0, 0x38, 0x7, 0xff, 0xff, 0xfc, + + /* U+005E "^" */ + 0xf, 0x1, 0xf8, 0x1f, 0x83, 0x9c, 0x70, 0xee, + 0x7, 0x60, 0x60, + + /* U+005F "_" */ + 0xff, 0xff, 0xff, + + /* U+0060 "`" */ + 0x0, 0xc1, 0xc3, 0xc3, 0xc3, 0xc3, 0x82, + + /* U+0061 "a" */ + 0xf, 0xc0, 0xff, 0x87, 0x87, 0x1c, 0xe, 0x20, + 0x38, 0x0, 0xe0, 0x3, 0x83, 0xfe, 0x3f, 0xf9, + 0xe0, 0xef, 0x3, 0xb8, 0xe, 0xe0, 0x3b, 0x81, + 0xef, 0xf, 0x9f, 0xef, 0x1f, 0x3c, + + /* U+0062 "b" */ + 0xf0, 0x3, 0xc0, 0x7, 0x0, 0x1c, 0x0, 0x70, + 0x1, 0xc0, 0x7, 0x3e, 0x1d, 0xfc, 0x7c, 0x79, + 0xe0, 0xe7, 0x1, 0xdc, 0x7, 0x70, 0x1d, 0xc0, + 0x77, 0x1, 0xdc, 0x7, 0x70, 0x1d, 0xc0, 0x77, + 0x1, 0xde, 0xe, 0x7c, 0x7b, 0xff, 0xcf, 0x3e, + 0x0, + + /* U+0063 "c" */ + 0xf, 0x81, 0xff, 0x1e, 0x1c, 0xe0, 0x6e, 0x3, + 0xf0, 0x13, 0x80, 0x1c, 0x0, 0xe0, 0x7, 0x0, + 0x38, 0x1, 0xc0, 0x4e, 0x3, 0xb8, 0x19, 0xe1, + 0xc7, 0xfc, 0xf, 0x80, + + /* U+0064 "d" */ + 0x0, 0x78, 0x1, 0xe0, 0x3, 0x80, 0xe, 0x0, + 0x38, 0x0, 0xe1, 0xf3, 0x8f, 0xee, 0x78, 0xf9, + 0xc1, 0xee, 0x3, 0xb8, 0xe, 0xe0, 0x3b, 0x80, + 0xee, 0x3, 0xb8, 0xe, 0xe0, 0x3b, 0x80, 0xee, + 0x3, 0x9c, 0x1e, 0x78, 0xf8, 0xff, 0xf1, 0xf3, + 0xc0, + + /* U+0065 "e" */ + 0xf, 0x81, 0xff, 0x1e, 0x3c, 0xe0, 0xee, 0x3, + 0xf0, 0x1f, 0x80, 0xff, 0xff, 0xff, 0xff, 0x0, + 0x38, 0x1, 0xc0, 0xf, 0x3, 0xb8, 0x3d, 0xe3, + 0xc7, 0xfc, 0xf, 0x80, + + /* U+0066 "f" */ + 0x7, 0xc0, 0xff, 0x1e, 0x71, 0xc3, 0x1c, 0x1, + 0xc0, 0x1c, 0xf, 0xfe, 0xff, 0xe1, 0xc0, 0x1c, + 0x1, 0xc0, 0x1c, 0x1, 0xc0, 0x1c, 0x1, 0xc0, + 0x1c, 0x1, 0xc0, 0x1c, 0x1, 0xc0, 0x1c, 0xf, + 0xfc, 0xff, 0xc0, + + /* U+0067 "g" */ + 0x1f, 0xfc, 0xff, 0xf7, 0x7, 0x38, 0xe, 0xe0, + 0x3b, 0x80, 0xee, 0x3, 0x9c, 0x1c, 0x3f, 0xe0, + 0xff, 0x7, 0x0, 0x1c, 0x0, 0x78, 0x0, 0xff, + 0x87, 0xff, 0x9c, 0xe, 0xe0, 0x1f, 0x80, 0x7e, + 0x1, 0xfc, 0xf, 0x78, 0x78, 0xff, 0xc0, 0xfc, + 0x0, + + /* U+0068 "h" */ + 0xf0, 0x3, 0xc0, 0x7, 0x0, 0x1c, 0x0, 0x70, + 0x1, 0xc0, 0x7, 0x3c, 0x1d, 0xf8, 0x7c, 0xf1, + 0xe1, 0xc7, 0x3, 0x9c, 0xe, 0x70, 0x39, 0xc0, + 0xe7, 0x3, 0x9c, 0xe, 0x70, 0x39, 0xc0, 0xe7, + 0x3, 0x9c, 0xe, 0x70, 0x3b, 0xe1, 0xff, 0x87, + 0xc0, + + /* U+0069 "i" */ + 0x6, 0x1, 0xe0, 0x3c, 0x3, 0x0, 0x0, 0x0, + 0x3f, 0x87, 0xf0, 0xe, 0x1, 0xc0, 0x38, 0x7, + 0x0, 0xe0, 0x1c, 0x3, 0x80, 0x70, 0xe, 0x1, + 0xc0, 0x38, 0x7, 0x0, 0xe1, 0xff, 0xff, 0xf8, + + /* U+006A "j" */ + 0x0, 0xc0, 0x3c, 0x7, 0x80, 0x60, 0x0, 0x0, + 0x3, 0xf8, 0x7f, 0x0, 0xe0, 0x1c, 0x3, 0x80, + 0x70, 0xe, 0x1, 0xc0, 0x38, 0x7, 0x0, 0xe0, + 0x1c, 0x3, 0x80, 0x70, 0xe, 0x1, 0xc0, 0x38, + 0x7, 0x40, 0xfc, 0x3d, 0xc7, 0x3f, 0xc1, 0xf0, + + /* U+006B "k" */ + 0xf0, 0x1, 0xe0, 0x1, 0xc0, 0x3, 0x80, 0x7, + 0x0, 0xe, 0x0, 0x1c, 0xf, 0xb8, 0x3f, 0x70, + 0x60, 0xe1, 0xc1, 0xc7, 0x3, 0x9c, 0x7, 0x70, + 0xf, 0xf0, 0x1f, 0xe0, 0x3c, 0xe0, 0x78, 0xe0, + 0xe1, 0xc1, 0xc1, 0xc3, 0x83, 0x87, 0x3, 0x9f, + 0x7, 0xfe, 0x7, 0x80, + + /* U+006C "l" */ + 0xfe, 0x1f, 0xc0, 0x38, 0x7, 0x0, 0xe0, 0x1c, + 0x3, 0x80, 0x70, 0xe, 0x1, 0xc0, 0x38, 0x7, + 0x0, 0xe0, 0x1c, 0x3, 0x80, 0x70, 0xe, 0x1, + 0xc0, 0x38, 0x7, 0x0, 0xe1, 0xff, 0xff, 0xf8, + + /* U+006D "m" */ + 0xff, 0x73, 0xfd, 0xc7, 0x3b, 0x9c, 0xee, 0x73, + 0xb9, 0xce, 0xe7, 0x3b, 0x9c, 0xee, 0x73, 0xb9, + 0xce, 0xe7, 0x3b, 0x9c, 0xee, 0x73, 0xb9, 0xce, + 0xe7, 0x3b, 0xbc, 0xef, 0xf3, 0xbc, + + /* U+006E "n" */ + 0xf3, 0xc3, 0xff, 0x87, 0xcf, 0x1e, 0x1c, 0x70, + 0x39, 0xc0, 0xe7, 0x3, 0x9c, 0xe, 0x70, 0x39, + 0xc0, 0xe7, 0x3, 0x9c, 0xe, 0x70, 0x39, 0xc0, + 0xe7, 0x3, 0xbe, 0x1f, 0xf8, 0x7c, + + /* U+006F "o" */ + 0xf, 0x81, 0xff, 0x1e, 0x3c, 0xe0, 0xee, 0x3, + 0xf0, 0x1f, 0x80, 0xfc, 0x7, 0xe0, 0x3f, 0x1, + 0xf8, 0xf, 0xc0, 0x7e, 0x3, 0xb8, 0x39, 0xe3, + 0xc7, 0xfc, 0xf, 0x80, + + /* U+0070 "p" */ + 0xf3, 0xe3, 0xff, 0xc7, 0xc7, 0x9e, 0xe, 0x70, + 0x1d, 0xc0, 0x77, 0x1, 0xdc, 0x7, 0x70, 0x1d, + 0xc0, 0x77, 0x1, 0xdc, 0x7, 0x70, 0x1d, 0xe0, + 0xe7, 0xc7, 0x9d, 0xfc, 0x73, 0xe1, 0xc0, 0x7, + 0x0, 0x1c, 0x0, 0x70, 0x3, 0xe0, 0xf, 0x80, + 0x0, + + /* U+0071 "q" */ + 0x1f, 0x3c, 0xfe, 0xf7, 0x8f, 0x9c, 0x1e, 0xe0, + 0x3b, 0x80, 0xee, 0x3, 0xb8, 0xe, 0xe0, 0x3b, + 0x80, 0xee, 0x3, 0xb8, 0xe, 0xe0, 0x39, 0xc1, + 0xe7, 0x8f, 0x8f, 0xee, 0x1f, 0x38, 0x0, 0xe0, + 0x3, 0x80, 0xe, 0x0, 0x38, 0x1, 0xf0, 0x7, + 0xc0, + + /* U+0072 "r" */ + 0xf9, 0xe7, 0xdf, 0x8f, 0x8e, 0x78, 0x43, 0xc0, + 0x1c, 0x0, 0xe0, 0x7, 0x0, 0x38, 0x1, 0xc0, + 0xe, 0x0, 0x70, 0x3, 0x80, 0x1c, 0x0, 0xe0, + 0x1f, 0xe0, 0xff, 0x0, + + /* U+0073 "s" */ + 0x1f, 0x87, 0xfe, 0x70, 0xee, 0x7, 0xe0, 0xe, + 0x0, 0xf0, 0x7, 0xf0, 0x3f, 0xc0, 0xfe, 0x0, + 0xf0, 0x7, 0x0, 0x7e, 0x7, 0x70, 0xe7, 0xfe, + 0x1f, 0x80, + + /* U+0074 "t" */ + 0x1c, 0x0, 0x70, 0x1, 0xc0, 0x7, 0x0, 0x1c, + 0x0, 0x70, 0xf, 0xfe, 0x3f, 0xf8, 0x1c, 0x0, + 0x70, 0x1, 0xc0, 0x7, 0x0, 0x1c, 0x0, 0x70, + 0x1, 0xc0, 0x7, 0x0, 0x1c, 0x0, 0x70, 0x1, + 0xc1, 0x87, 0x6, 0xe, 0x38, 0x1f, 0xc0, 0x3e, + 0x0, + + /* U+0075 "u" */ + 0xf8, 0x3d, 0xf0, 0x78, 0xe0, 0x71, 0xc0, 0xe3, + 0x81, 0xc7, 0x3, 0x8e, 0x7, 0x1c, 0xe, 0x38, + 0x1c, 0x70, 0x38, 0xe0, 0x71, 0xc0, 0xe3, 0x81, + 0xc3, 0x87, 0x87, 0x9f, 0x7, 0xff, 0x7, 0x9e, + + /* U+0076 "v" */ + 0xf8, 0x7f, 0xe1, 0xf7, 0x3, 0x8c, 0xc, 0x30, + 0x30, 0xc1, 0xc3, 0x87, 0x6, 0x18, 0x18, 0x60, + 0x73, 0x81, 0xce, 0x3, 0x30, 0xc, 0xc0, 0x3f, + 0x0, 0x78, 0x1, 0xe0, 0x7, 0x80, + + /* U+0077 "w" */ + 0xf8, 0x7f, 0xe1, 0xf7, 0x3, 0x9c, 0xe, 0x70, + 0x39, 0xc0, 0xe7, 0x3, 0x9c, 0xce, 0x33, 0x30, + 0xde, 0xc3, 0x7b, 0xd, 0x2c, 0x34, 0xb0, 0x73, + 0x81, 0xce, 0x6, 0x18, 0x8, 0x40, + + /* U+0078 "x" */ + 0xf8, 0x7f, 0xe1, 0xf3, 0x87, 0x6, 0x18, 0x1c, + 0xe0, 0x3f, 0x0, 0xfc, 0x1, 0xe0, 0x7, 0x80, + 0x1e, 0x0, 0xfc, 0x3, 0xf0, 0x1c, 0xe0, 0x61, + 0x83, 0x87, 0x3e, 0x1f, 0xf8, 0x7c, + + /* U+0079 "y" */ + 0xf8, 0x7f, 0xe1, 0xf7, 0x3, 0x8c, 0xc, 0x30, + 0x30, 0xe1, 0xc3, 0x86, 0x6, 0x18, 0x1c, 0xe0, + 0x73, 0x0, 0xcc, 0x3, 0xf0, 0xf, 0xc0, 0x1e, + 0x0, 0x78, 0x1, 0xe0, 0x3, 0x0, 0x1c, 0x0, + 0x70, 0x1, 0x80, 0xe, 0x0, 0xf0, 0x3, 0x80, + 0x0, + + /* U+007A "z" */ + 0xff, 0xff, 0xff, 0xe0, 0xfe, 0xe, 0x1, 0xc0, + 0x3c, 0x3, 0x80, 0x70, 0xf, 0x0, 0xe0, 0x1c, + 0x3, 0xc0, 0x38, 0x7, 0x7, 0xf0, 0x7f, 0xff, + 0xff, 0xf0, + + /* U+007B "{" */ + 0x1, 0xe0, 0xfc, 0x3c, 0x7, 0x1, 0xc0, 0x38, + 0x7, 0x0, 0xe0, 0x1c, 0x3, 0xc0, 0x38, 0x7, + 0x0, 0xe0, 0x1c, 0x7, 0x81, 0xe0, 0xf8, 0x1f, + 0x0, 0xf0, 0xf, 0x0, 0xe0, 0x1c, 0x3, 0x80, + 0x70, 0x1e, 0x3, 0x80, 0x70, 0xe, 0x1, 0xc0, + 0x38, 0x3, 0x80, 0x78, 0x7, 0xe0, 0x3c, + + /* U+007C "|" */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfc, + + /* U+007D "}" */ + 0xf0, 0x1f, 0x80, 0x78, 0x7, 0x0, 0x70, 0xe, + 0x1, 0xc0, 0x38, 0x7, 0x1, 0xe0, 0x38, 0x7, + 0x0, 0xe0, 0x1c, 0x3, 0xc0, 0x3c, 0x3, 0xe0, + 0x7c, 0x1e, 0x7, 0x80, 0xe0, 0x1c, 0x3, 0x80, + 0x70, 0xf, 0x0, 0xe0, 0x1c, 0x3, 0x80, 0x70, + 0xe, 0x3, 0x80, 0xf0, 0xfc, 0x1e, 0x0, + + /* U+007E "~" */ + 0x0, 0x0, 0x78, 0x73, 0xf1, 0x9d, 0xce, 0x63, + 0xb3, 0x87, 0xc4, 0xe, 0x0, + + /* U+00A0 " " */ + 0x0, + + /* U+00A1 "¡" */ + 0x77, 0xfe, 0xe0, 0x0, 0x0, 0x73, 0x9c, 0xe7, + 0x39, 0xce, 0x73, 0x9c, 0xe7, 0x39, 0xc0, + + /* U+00A2 "¢" */ + 0x7, 0x0, 0x38, 0x1, 0xc0, 0x3f, 0x83, 0xfe, + 0x3c, 0x79, 0xc1, 0xdc, 0x7, 0xe0, 0x27, 0x0, + 0x38, 0x1, 0xc0, 0xe, 0x0, 0x70, 0x3, 0x80, + 0x9c, 0x7, 0x70, 0x73, 0xc7, 0x8f, 0xf8, 0x3f, + 0x80, 0x70, 0x3, 0x80, 0x1c, 0x0, + + /* U+00A3 "£" */ + 0x7, 0x81, 0xfc, 0x1c, 0xe3, 0x8e, 0x38, 0x63, + 0x80, 0x38, 0x3, 0x80, 0x38, 0x3, 0x80, 0xff, + 0xf, 0xf0, 0x38, 0x3, 0x80, 0x38, 0x3, 0x80, + 0x38, 0x3, 0x80, 0x38, 0x7, 0x0, 0xf0, 0xf, + 0xff, 0xff, 0xf0, + + /* U+00A4 "¤" */ + 0x60, 0x6, 0xf7, 0xef, 0x7f, 0xfe, 0x3c, 0x3c, + 0x38, 0x1c, 0x70, 0xe, 0x70, 0xe, 0x70, 0xe, + 0x70, 0xe, 0x70, 0xe, 0x38, 0x1c, 0x3c, 0x3c, + 0x7f, 0xfe, 0xf7, 0xef, 0x60, 0x6, + + /* U+00A5 "¥" */ + 0xf8, 0x7f, 0xe1, 0xf7, 0x3, 0x9c, 0xe, 0x70, + 0x38, 0xe0, 0xe3, 0x87, 0xe, 0x1c, 0x1c, 0x70, + 0x73, 0x80, 0xee, 0x1, 0xf0, 0x7f, 0xf9, 0xff, + 0xe0, 0x38, 0x0, 0xe0, 0x7f, 0xf9, 0xff, 0xe0, + 0x38, 0x0, 0xe0, 0x3, 0x80, 0x1f, 0x0, 0x7c, + 0x0, + + /* U+00A6 "¦" */ + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x3, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xe0, + + /* U+00A7 "§" */ + 0xf, 0xc0, 0xff, 0xc7, 0x87, 0x9c, 0x7, 0xe0, + 0x1f, 0x80, 0xe, 0x0, 0x38, 0x0, 0x70, 0x1, + 0xf0, 0x3, 0xf0, 0x7, 0xf8, 0x3f, 0xf1, 0xe1, + 0xe7, 0x3, 0xb8, 0x7, 0xe0, 0x1f, 0x80, 0x7e, + 0x1, 0xdc, 0xe, 0x78, 0x78, 0xff, 0xc1, 0xfe, + 0x0, 0xfc, 0x0, 0xf8, 0x0, 0xe0, 0x1, 0xc0, + 0x7, 0x0, 0x1f, 0x0, 0x7e, 0x3, 0x9c, 0x1e, + 0x3f, 0xf0, 0x3f, 0x0, + + /* U+00A8 "¨" */ + 0x61, 0xbc, 0xff, 0x3d, 0x86, + + /* U+00A9 "©" */ + 0x0, 0xff, 0x0, 0x3, 0xff, 0xc0, 0xf, 0x81, + 0xf0, 0x1c, 0x0, 0x38, 0x38, 0x0, 0x1c, 0x30, + 0x0, 0xc, 0x60, 0x3c, 0x6, 0x60, 0x7e, 0x6, + 0xc0, 0xc7, 0x3, 0xc0, 0xc0, 0x3, 0xc0, 0xc0, + 0x3, 0xc0, 0xc0, 0x3, 0xc0, 0xc0, 0x3, 0xc0, + 0xc0, 0x3, 0xc0, 0xc0, 0x3, 0xc0, 0xc0, 0x3, + 0x60, 0xc7, 0x6, 0x60, 0x7e, 0x6, 0x30, 0x3c, + 0xc, 0x38, 0x0, 0x1c, 0x1c, 0x0, 0x38, 0xf, + 0x80, 0xf0, 0x3, 0xff, 0xc0, 0x0, 0xff, 0x0, + + /* U+00AA "ª" */ + 0x1f, 0x1f, 0xee, 0x3d, 0x87, 0x1, 0xcf, 0xf7, + 0xff, 0x87, 0xc1, 0xf0, 0xf7, 0xfc, 0xf7, 0x0, + 0x0, 0x0, 0x1, 0xfe, 0x7f, 0x80, + + /* U+00AB "«" */ + 0x7, 0x1c, 0x18, 0x60, 0xe3, 0x83, 0xc, 0x1c, + 0x60, 0xe3, 0x87, 0x1c, 0x38, 0xe0, 0xc3, 0x3, + 0x8e, 0x7, 0x1c, 0xe, 0x38, 0x1c, 0x70, 0x30, + 0xc0, 0xe3, 0x81, 0x86, 0x7, 0x1c, + + /* U+00AC "¬" */ + 0xff, 0xff, 0xff, 0x0, 0x70, 0x7, 0x0, 0x70, + 0x7, 0x0, 0x70, + + /* U+00AD "­" */ + 0xff, 0xff, 0xff, + + /* U+00AE "®" */ + 0x0, 0xff, 0x0, 0x3, 0xff, 0xc0, 0xf, 0x81, + 0xf0, 0x1c, 0x0, 0x38, 0x38, 0x0, 0x1c, 0x30, + 0x0, 0xc, 0x60, 0xfc, 0x6, 0x60, 0xfe, 0x6, + 0xc0, 0xc3, 0x3, 0xc0, 0xc3, 0x3, 0xc0, 0xc3, + 0x3, 0xc0, 0xc7, 0x3, 0xc0, 0xfe, 0x3, 0xc0, + 0xf8, 0x3, 0xc0, 0xdc, 0x3, 0xc0, 0xcc, 0x3, + 0x60, 0xce, 0x6, 0x60, 0xe7, 0x6, 0x30, 0xe7, + 0xc, 0x38, 0x0, 0x1c, 0x1c, 0x0, 0x38, 0xf, + 0x80, 0xf0, 0x3, 0xff, 0xc0, 0x0, 0xff, 0x0, + + /* U+00AF "¯" */ + 0xff, 0xff, 0xf0, + + /* U+00B0 "°" */ + 0x3c, 0x7e, 0xe7, 0xe7, 0xe7, 0x7e, 0x3c, + + /* U+00B1 "±" */ + 0x3, 0x80, 0xe, 0x0, 0x38, 0x0, 0xe0, 0x3, + 0x80, 0xe, 0xf, 0xff, 0xff, 0xff, 0x3, 0x80, + 0xe, 0x0, 0x38, 0x0, 0xe0, 0x3, 0x80, 0xe, + 0x0, 0x38, 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, + 0xff, 0xc0, + + /* U+00B2 "²" */ + 0x1f, 0xf, 0xf9, 0xc7, 0x30, 0x70, 0xe, 0x1, + 0xc0, 0x78, 0x1e, 0x7, 0x81, 0xe0, 0x78, 0x1e, + 0x7, 0x80, 0xe0, 0x1c, 0x3b, 0xff, 0xff, 0xe0, + + /* U+00B3 "³" */ + 0x3f, 0x1f, 0xee, 0x3f, 0x87, 0x1, 0xc0, 0x70, + 0x38, 0x7c, 0x1f, 0x0, 0xe0, 0x3c, 0x7, 0x1, + 0xf0, 0x7e, 0x39, 0xfe, 0x3e, 0x0, + + /* U+00B4 "´" */ + 0x0, 0x18, 0x71, 0xc7, 0x9e, 0x38, 0x20, + + /* U+00B5 "µ" */ + 0xf0, 0x7b, 0xc1, 0xe7, 0x3, 0x9c, 0xe, 0x70, + 0x39, 0xc0, 0xe7, 0x3, 0x9c, 0xe, 0x70, 0x39, + 0xc0, 0xe7, 0x3, 0x9c, 0xe, 0x70, 0x39, 0xe1, + 0xe7, 0xcf, 0x9f, 0xff, 0x7f, 0x3d, 0xc0, 0x7, + 0x0, 0x1c, 0x0, 0x70, 0x3, 0xe0, 0xf, 0x80, + 0x0, + + /* U+00B6 "¶" */ + 0x1f, 0x73, 0xf7, 0x77, 0x7e, 0x77, 0xe7, 0x7e, + 0x77, 0xe7, 0x7e, 0x77, 0xe7, 0x77, 0x77, 0x7f, + 0x71, 0xf7, 0x7, 0x70, 0x77, 0x7, 0x70, 0x77, + 0x7, 0x70, 0x77, 0x7, 0x70, 0x77, 0x7, 0x70, + 0x77, 0x7, 0x70, + + /* U+00B7 "·" */ + 0x77, 0xff, 0xf7, 0x0, + + /* U+00B8 "¸" */ + 0x30, 0x70, 0xf0, 0x60, 0xdf, 0xbe, 0x0, + + /* U+00B9 "¹" */ + 0x3c, 0x3e, 0x3f, 0xf, 0x85, 0xc0, 0xe0, 0x70, + 0x38, 0x1c, 0xe, 0x7, 0x3, 0x81, 0xc0, 0xe0, + 0x70, 0xff, 0x7f, 0x80, + + /* U+00BA "º" */ + 0x1f, 0xf, 0xf9, 0xc7, 0x70, 0x7e, 0xf, 0xc1, + 0xf8, 0x3f, 0x7, 0xe0, 0xee, 0x39, 0xff, 0xf, + 0x80, 0x0, 0x0, 0x0, 0x3, 0xfc, 0x7f, 0x80, + + /* U+00BB "»" */ + 0xe3, 0x81, 0x86, 0x7, 0x1c, 0xc, 0x30, 0x18, + 0xe0, 0x71, 0xc0, 0xe3, 0x81, 0xc7, 0x3, 0xc, + 0x1c, 0x70, 0xe3, 0x87, 0x1c, 0x38, 0xe0, 0xc3, + 0x7, 0x1c, 0x18, 0x60, 0xe3, 0x80, + + /* U+00BC "¼" */ + 0xe, 0x1, 0xe0, 0x1e, 0x0, 0x60, 0x6, 0x0, + 0x60, 0x6, 0x0, 0x60, 0x6, 0x0, 0x60, 0x6, + 0x1, 0xf8, 0x1f, 0x80, 0x0, 0x0, 0xf, 0xff, + 0xff, 0xf0, 0x0, 0x0, 0x0, 0x30, 0x7, 0x0, + 0x70, 0xf, 0x0, 0xf0, 0x1b, 0x1, 0xb0, 0x33, + 0x3, 0xfc, 0x3f, 0xc0, 0x30, 0x3, 0x80, 0x38, + + /* U+00BD "½" */ + 0xe, 0x1, 0xe0, 0x1e, 0x0, 0x60, 0x6, 0x0, + 0x60, 0x6, 0x0, 0x60, 0x6, 0x0, 0x60, 0x6, + 0x1, 0xf8, 0x1f, 0x80, 0x0, 0x0, 0xf, 0xff, + 0xff, 0xf0, 0x0, 0x0, 0x0, 0xf0, 0x1f, 0x83, + 0x9c, 0x0, 0xc0, 0xc, 0x1, 0x80, 0x38, 0x6, + 0x1, 0xc0, 0x18, 0x3, 0x8c, 0x3f, 0xc3, 0xfc, + + /* U+00BE "¾" */ + 0xf, 0x1, 0xf8, 0x38, 0xc0, 0xc, 0x1, 0xc0, + 0x78, 0x7, 0x80, 0x1c, 0x0, 0xc0, 0xc, 0x38, + 0xc1, 0xf8, 0xf, 0x0, 0x0, 0x0, 0xf, 0xff, + 0xff, 0xf0, 0x0, 0x0, 0x0, 0x30, 0x7, 0x0, + 0x70, 0xf, 0x0, 0xf0, 0x1b, 0x1, 0xb0, 0x33, + 0x3, 0xfc, 0x3f, 0xc0, 0x30, 0x3, 0x80, 0x38, + + /* U+00BF "¿" */ + 0xe, 0x1, 0xf0, 0x1f, 0x0, 0xe0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xe0, 0xe, 0x0, 0xe0, 0x1c, + 0x3, 0xc0, 0x38, 0x7, 0x80, 0x70, 0xf, 0x0, + 0xe0, 0xe, 0x0, 0xe0, 0x7e, 0x7, 0x70, 0xe3, + 0xfe, 0x1f, 0x80, + + /* U+00C0 "À" */ + 0x0, 0x0, 0x30, 0x1, 0xe0, 0x3, 0x80, 0x7, + 0x0, 0xe, 0x0, 0x10, 0x0, 0x0, 0x7, 0x80, + 0x1e, 0x0, 0x78, 0x3, 0xe0, 0xf, 0xc0, 0x3f, + 0x0, 0xcc, 0x3, 0x30, 0x1c, 0xe0, 0x73, 0x81, + 0xce, 0x6, 0x18, 0x38, 0x70, 0xe1, 0xc3, 0x87, + 0xf, 0xfc, 0x3f, 0xf1, 0xc0, 0xe7, 0x3, 0x9c, + 0xe, 0x70, 0x3b, 0xe1, 0xff, 0x87, 0xc0, + + /* U+00C1 "Á" */ + 0x0, 0x0, 0x3, 0x0, 0x1e, 0x0, 0x70, 0x3, + 0x80, 0x1c, 0x0, 0x20, 0x0, 0x0, 0x7, 0x80, + 0x1e, 0x0, 0x78, 0x3, 0xe0, 0xf, 0xc0, 0x3f, + 0x0, 0xcc, 0x3, 0x30, 0x1c, 0xe0, 0x73, 0x81, + 0xce, 0x6, 0x18, 0x38, 0x70, 0xe1, 0xc3, 0x87, + 0xf, 0xfc, 0x3f, 0xf1, 0xc0, 0xe7, 0x3, 0x9c, + 0xe, 0x70, 0x3b, 0xe1, 0xff, 0x87, 0xc0, + + /* U+00C2 "Â" */ + 0x7, 0x0, 0x1e, 0x0, 0xfc, 0x7, 0x38, 0x3c, + 0xf0, 0xe1, 0xc1, 0x2, 0x0, 0x0, 0x7, 0x80, + 0x1e, 0x0, 0x78, 0x3, 0xe0, 0xf, 0xc0, 0x3f, + 0x0, 0xcc, 0x3, 0x30, 0x1c, 0xe0, 0x73, 0x81, + 0xce, 0x6, 0x18, 0x38, 0x70, 0xe1, 0xc3, 0x87, + 0xf, 0xfc, 0x3f, 0xf1, 0xc0, 0xe7, 0x3, 0x9c, + 0xe, 0x70, 0x3b, 0xe1, 0xff, 0x87, 0xc0, + + /* U+00C3 "Ã" */ + 0x0, 0x0, 0x78, 0xe3, 0xf3, 0xc, 0xfc, 0x73, + 0xe0, 0xc7, 0x0, 0x0, 0x0, 0x0, 0x7, 0x80, + 0x1e, 0x0, 0x78, 0x3, 0xe0, 0xf, 0xc0, 0x3f, + 0x0, 0xcc, 0x3, 0x30, 0x1c, 0xe0, 0x73, 0x81, + 0xce, 0x6, 0x18, 0x38, 0x70, 0xe1, 0xc3, 0x87, + 0xf, 0xfc, 0x3f, 0xf1, 0xc0, 0xe7, 0x3, 0x9c, + 0xe, 0x70, 0x3b, 0xe1, 0xff, 0x87, 0xc0, + + /* U+00C4 "Ä" */ + 0x18, 0x30, 0xf1, 0xe3, 0xc7, 0x86, 0xc, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xe0, 0x7, 0x80, + 0x1f, 0x0, 0x7c, 0x3, 0xb0, 0xe, 0xc0, 0x3b, + 0x0, 0xce, 0x7, 0x38, 0x1c, 0xe0, 0x71, 0x81, + 0x86, 0xe, 0x1c, 0x38, 0x70, 0xe1, 0xc3, 0xff, + 0xf, 0xfc, 0x70, 0x39, 0xc0, 0xe7, 0x3, 0x9c, + 0xe, 0xf8, 0x7f, 0xe1, 0xf0, + + /* U+00C5 "Å" */ + 0x7, 0x80, 0x3f, 0x0, 0xcc, 0x3, 0x30, 0xf, + 0xc0, 0x1e, 0x0, 0x0, 0x1, 0xe0, 0x7, 0x80, + 0x1e, 0x0, 0x78, 0x3, 0xf0, 0xf, 0xc0, 0x33, + 0x0, 0xcc, 0x7, 0x38, 0x1c, 0xe0, 0x61, 0x81, + 0x86, 0xe, 0x18, 0x38, 0x70, 0xe1, 0xc3, 0xff, + 0xf, 0xfc, 0x70, 0x39, 0xc0, 0xe7, 0x3, 0x9c, + 0xe, 0xf8, 0x7f, 0xe1, 0xf0, + + /* U+00C6 "Æ" */ + 0x7, 0xf8, 0x3f, 0xc1, 0xfe, 0x1f, 0xf0, 0xfc, + 0x6, 0xe0, 0x77, 0x3, 0xb8, 0x1d, 0xc0, 0xef, + 0x8e, 0x7c, 0x73, 0x83, 0x9c, 0x1c, 0xe0, 0xc7, + 0xf, 0xf8, 0x7f, 0xc3, 0x8e, 0x1c, 0x70, 0xe3, + 0xf7, 0x1f, 0xfc, 0xff, 0xe7, 0xe0, + + /* U+00C7 "Ç" */ + 0x1f, 0x81, 0xff, 0x1e, 0x3d, 0xe0, 0x6e, 0x3, + 0xf0, 0x3, 0x80, 0x1c, 0x0, 0xe0, 0x7, 0x0, + 0x38, 0x1, 0xc0, 0xe, 0x0, 0x70, 0x3, 0x80, + 0x1c, 0x0, 0xe0, 0x7, 0x1, 0xfc, 0x1c, 0xf1, + 0xe3, 0xfe, 0xf, 0xe0, 0x1c, 0x0, 0xf0, 0x7, + 0xc0, 0xe, 0x0, 0x70, 0x3f, 0x81, 0xf8, 0x0, + + /* U+00C8 "È" */ + 0x0, 0x0, 0xe0, 0x7, 0x0, 0x1c, 0x0, 0x70, + 0x1, 0xc0, 0x4, 0x0, 0x0, 0xff, 0xff, 0xff, + 0xce, 0xe, 0x70, 0x73, 0x80, 0x1c, 0x0, 0xe0, + 0x7, 0x0, 0x38, 0x1, 0xc0, 0xf, 0xf0, 0x7f, + 0x83, 0x80, 0x1c, 0x0, 0xe0, 0x7, 0x0, 0x38, + 0x1, 0xc0, 0xe, 0x0, 0x70, 0x73, 0x83, 0xff, + 0xff, 0xff, 0xe0, + + /* U+00C9 "É" */ + 0x0, 0x0, 0x6, 0x0, 0x78, 0x3, 0x80, 0x38, + 0x3, 0x80, 0x8, 0x0, 0x0, 0xff, 0xff, 0xff, + 0xce, 0xe, 0x70, 0x73, 0x80, 0x1c, 0x0, 0xe0, + 0x7, 0x0, 0x38, 0x1, 0xc0, 0xf, 0xf0, 0x7f, + 0x83, 0x80, 0x1c, 0x0, 0xe0, 0x7, 0x0, 0x38, + 0x1, 0xc0, 0xe, 0x0, 0x70, 0x73, 0x83, 0xff, + 0xff, 0xff, 0xe0, + + /* U+00CA "Ê" */ + 0x3, 0x0, 0x3c, 0x3, 0xf0, 0x39, 0xc3, 0x8f, + 0x1c, 0x38, 0x40, 0x80, 0x0, 0xff, 0xff, 0xff, + 0xce, 0xe, 0x70, 0x73, 0x80, 0x1c, 0x0, 0xe0, + 0x7, 0x0, 0x38, 0x1, 0xc0, 0xf, 0xf0, 0x7f, + 0x83, 0x80, 0x1c, 0x0, 0xe0, 0x7, 0x0, 0x38, + 0x1, 0xc0, 0xe, 0x0, 0x70, 0x73, 0x83, 0xff, + 0xff, 0xff, 0xe0, + + /* U+00CB "Ë" */ + 0x30, 0xc7, 0x9e, 0x79, 0xe3, 0xc, 0x0, 0x0, + 0x0, 0x0, 0xf, 0xff, 0xff, 0xf7, 0x7, 0x70, + 0x77, 0x0, 0x70, 0x7, 0x0, 0x70, 0x7, 0x0, + 0x70, 0x7, 0xf8, 0x7f, 0x87, 0x0, 0x70, 0x7, + 0x0, 0x70, 0x7, 0x0, 0x70, 0x7, 0x0, 0x70, + 0x77, 0x7, 0xff, 0xff, 0xff, + + /* U+00CC "Ì" */ + 0x0, 0x30, 0x1c, 0x7, 0x1, 0xc0, 0x70, 0x10, + 0x0, 0xff, 0xff, 0xc7, 0x3, 0x81, 0xc0, 0xe0, + 0x70, 0x38, 0x1c, 0xe, 0x7, 0x3, 0x81, 0xc0, + 0xe0, 0x70, 0x38, 0x1c, 0xe, 0x7, 0x3, 0x81, + 0xc7, 0xff, 0xfe, + + /* U+00CD "Í" */ + 0x0, 0x1, 0x81, 0xc1, 0xc1, 0xc1, 0xc0, 0x60, + 0x0, 0xff, 0xff, 0xc7, 0x3, 0x81, 0xc0, 0xe0, + 0x70, 0x38, 0x1c, 0xe, 0x7, 0x3, 0x81, 0xc0, + 0xe0, 0x70, 0x38, 0x1c, 0xe, 0x7, 0x3, 0x81, + 0xc7, 0xff, 0xfe, + + /* U+00CE "Î" */ + 0xe, 0x3, 0xe0, 0xee, 0x3d, 0xe7, 0x1d, 0xc1, + 0xc0, 0x0, 0x0, 0x7f, 0xcf, 0xf8, 0x38, 0x7, + 0x0, 0xe0, 0x1c, 0x3, 0x80, 0x70, 0xe, 0x1, + 0xc0, 0x38, 0x7, 0x0, 0xe0, 0x1c, 0x3, 0x80, + 0x70, 0xe, 0x1, 0xc0, 0x38, 0x7, 0x0, 0xe0, + 0xff, 0x9f, 0xf0, + + /* U+00CF "Ï" */ + 0x61, 0xbc, 0xff, 0x3d, 0x86, 0x0, 0x0, 0x0, + 0x1, 0xff, 0x7f, 0xc3, 0x80, 0xe0, 0x38, 0xe, + 0x3, 0x80, 0xe0, 0x38, 0xe, 0x3, 0x80, 0xe0, + 0x38, 0xe, 0x3, 0x80, 0xe0, 0x38, 0xe, 0x3, + 0x80, 0xe0, 0x38, 0x7f, 0xdf, 0xf0, + + /* U+00D0 "Ð" */ + 0xff, 0x83, 0xff, 0x87, 0xf, 0x1c, 0xe, 0x70, + 0x39, 0xc0, 0x77, 0x1, 0xdc, 0x7, 0x70, 0x1d, + 0xc0, 0x7f, 0xf1, 0xff, 0xc7, 0x70, 0x1d, 0xc0, + 0x77, 0x1, 0xdc, 0x7, 0x70, 0x1d, 0xc0, 0x77, + 0x3, 0x9c, 0xe, 0x70, 0xf3, 0xff, 0x8f, 0xf8, + 0x0, + + /* U+00D1 "Ñ" */ + 0x0, 0x0, 0x78, 0xe3, 0xf3, 0xe, 0xfc, 0x73, + 0xe0, 0xc7, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f, + 0xe1, 0xf7, 0x83, 0x9f, 0xe, 0x7c, 0x39, 0xf0, + 0xe7, 0x43, 0x9d, 0x8e, 0x76, 0x39, 0xc8, 0xe7, + 0x33, 0x9c, 0xce, 0x73, 0x39, 0xc4, 0xe7, 0x1b, + 0x9c, 0x6e, 0x70, 0xb9, 0xc3, 0xe7, 0xf, 0x9c, + 0x3e, 0x70, 0x7b, 0xe1, 0xef, 0x87, 0x80, + + /* U+00D2 "Ò" */ + 0x18, 0x0, 0xe0, 0x3, 0x80, 0x1c, 0x0, 0x70, + 0x1, 0x80, 0x0, 0x1, 0xf0, 0x3f, 0xe3, 0xc7, + 0xbc, 0x1d, 0xc0, 0x7e, 0x3, 0xf0, 0x1f, 0x80, + 0xfc, 0x7, 0xe0, 0x3f, 0x1, 0xf8, 0xf, 0xc0, + 0x7e, 0x3, 0xf0, 0x1f, 0x80, 0xfc, 0x7, 0xe0, + 0x3f, 0x1, 0xfc, 0x1c, 0xf1, 0xe3, 0xfe, 0x7, + 0xc0, + + /* U+00D3 "Ó" */ + 0x0, 0xc0, 0xe, 0x0, 0xe0, 0x7, 0x0, 0x70, + 0x3, 0x0, 0x0, 0x1, 0xf0, 0x3f, 0xe3, 0xc7, + 0xbc, 0x1d, 0xc0, 0x7e, 0x3, 0xf0, 0x1f, 0x80, + 0xfc, 0x7, 0xe0, 0x3f, 0x1, 0xf8, 0xf, 0xc0, + 0x7e, 0x3, 0xf0, 0x1f, 0x80, 0xfc, 0x7, 0xe0, + 0x3f, 0x1, 0xfc, 0x1c, 0xf1, 0xe3, 0xfe, 0x7, + 0xc0, + + /* U+00D4 "Ô" */ + 0x7, 0x0, 0x7c, 0x7, 0x70, 0x7b, 0xc3, 0x8e, + 0x38, 0x38, 0x41, 0x0, 0x0, 0xf, 0x81, 0xff, + 0x1e, 0x3d, 0xe0, 0xee, 0x3, 0xf0, 0x1f, 0x80, + 0xfc, 0x7, 0xe0, 0x3f, 0x1, 0xf8, 0xf, 0xc0, + 0x7e, 0x3, 0xf0, 0x1f, 0x80, 0xfc, 0x7, 0xe0, + 0x3f, 0x1, 0xf8, 0xf, 0xe0, 0xe7, 0x8f, 0x1f, + 0xf0, 0x3e, 0x0, + + /* U+00D5 "Õ" */ + 0x0, 0x0, 0xe1, 0x8f, 0x9c, 0xef, 0xc7, 0x3e, + 0x10, 0xe0, 0x0, 0x0, 0x0, 0xf, 0x81, 0xff, + 0x1e, 0x3d, 0xe0, 0xee, 0x3, 0xf0, 0x1f, 0x80, + 0xfc, 0x7, 0xe0, 0x3f, 0x1, 0xf8, 0xf, 0xc0, + 0x7e, 0x3, 0xf0, 0x1f, 0x80, 0xfc, 0x7, 0xe0, + 0x3f, 0x1, 0xf8, 0xf, 0xe0, 0xe7, 0x8f, 0x1f, + 0xf0, 0x3e, 0x0, + + /* U+00D6 "Ö" */ + 0x30, 0x63, 0xc7, 0x9e, 0x3c, 0x60, 0xc0, 0x0, + 0x0, 0x0, 0x0, 0x1, 0xf0, 0x3f, 0xe3, 0xc7, + 0xbc, 0x1d, 0xc0, 0x7e, 0x3, 0xf0, 0x1f, 0x80, + 0xfc, 0x7, 0xe0, 0x3f, 0x1, 0xf8, 0xf, 0xc0, + 0x7e, 0x3, 0xf0, 0x1f, 0x80, 0xfc, 0x7, 0xe0, + 0x3f, 0x1, 0xfc, 0x1c, 0xf1, 0xe3, 0xfe, 0x7, + 0xc0, + + /* U+00D7 "×" */ + 0x60, 0x6, 0xf0, 0xf, 0x78, 0x1e, 0x3c, 0x3c, + 0x1e, 0x78, 0xf, 0xf0, 0x7, 0xe0, 0x3, 0xc0, + 0x7, 0xe0, 0xf, 0xf0, 0x1e, 0x78, 0x3c, 0x3c, + 0x78, 0x1e, 0xf0, 0xf, 0x60, 0x6, + + /* U+00D8 "Ø" */ + 0x0, 0x38, 0xff, 0x8f, 0xfc, 0xf0, 0xef, 0x7, + 0x70, 0x7f, 0x83, 0xfc, 0x17, 0xe1, 0xbf, 0xd, + 0xf8, 0xcf, 0xc6, 0x7e, 0x23, 0xf3, 0x1f, 0x98, + 0xfd, 0x87, 0xec, 0x3f, 0x41, 0xfe, 0xf, 0xf0, + 0x7f, 0x7, 0x38, 0x79, 0xff, 0x8f, 0xf0, 0xe0, + 0x0, + + /* U+00D9 "Ù" */ + 0x0, 0x0, 0x30, 0x1, 0xe0, 0x3, 0x80, 0x7, + 0x0, 0xe, 0x0, 0x10, 0x0, 0x0, 0xf8, 0x7f, + 0xe1, 0xf7, 0x3, 0x9c, 0xe, 0x70, 0x39, 0xc0, + 0xe7, 0x3, 0x9c, 0xe, 0x70, 0x39, 0xc0, 0xe7, + 0x3, 0x9c, 0xe, 0x70, 0x39, 0xc0, 0xe7, 0x3, + 0x9c, 0xe, 0x70, 0x39, 0xc0, 0xe7, 0x3, 0x9e, + 0x1e, 0x38, 0x70, 0x7f, 0x80, 0xfc, 0x0, + + /* U+00DA "Ú" */ + 0x0, 0x0, 0x3, 0x0, 0x1e, 0x0, 0x70, 0x3, + 0x80, 0x1c, 0x0, 0x20, 0x0, 0x0, 0xf8, 0x7f, + 0xe1, 0xf7, 0x3, 0x9c, 0xe, 0x70, 0x39, 0xc0, + 0xe7, 0x3, 0x9c, 0xe, 0x70, 0x39, 0xc0, 0xe7, + 0x3, 0x9c, 0xe, 0x70, 0x39, 0xc0, 0xe7, 0x3, + 0x9c, 0xe, 0x70, 0x39, 0xc0, 0xe7, 0x3, 0x9e, + 0x1e, 0x38, 0x70, 0x7f, 0x80, 0xfc, 0x0, + + /* U+00DB "Û" */ + 0x7, 0x80, 0x3f, 0x1, 0xfe, 0x7, 0x38, 0x38, + 0x70, 0xe1, 0xc0, 0x0, 0x0, 0x0, 0xf8, 0x7f, + 0xe1, 0xf7, 0x3, 0x9c, 0xe, 0x70, 0x39, 0xc0, + 0xe7, 0x3, 0x9c, 0xe, 0x70, 0x39, 0xc0, 0xe7, + 0x3, 0x9c, 0xe, 0x70, 0x39, 0xc0, 0xe7, 0x3, + 0x9c, 0xe, 0x70, 0x39, 0xc0, 0xe7, 0x3, 0x9e, + 0x1e, 0x38, 0x70, 0x7f, 0x80, 0xfc, 0x0, + + /* U+00DC "Ü" */ + 0x18, 0x30, 0xf1, 0xe3, 0xc7, 0x86, 0xc, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3e, 0x1f, 0xf8, 0x7d, + 0xc0, 0xe7, 0x3, 0x9c, 0xe, 0x70, 0x39, 0xc0, + 0xe7, 0x3, 0x9c, 0xe, 0x70, 0x39, 0xc0, 0xe7, + 0x3, 0x9c, 0xe, 0x70, 0x39, 0xc0, 0xe7, 0x3, + 0x9c, 0xe, 0x70, 0x39, 0xc0, 0xe7, 0x87, 0x8e, + 0x1c, 0x1f, 0xe0, 0x3f, 0x0, + + /* U+00DD "Ý" */ + 0x0, 0x0, 0x0, 0xc0, 0x3, 0xc0, 0xf, 0x0, + 0x3c, 0x0, 0xf0, 0x0, 0xc0, 0x0, 0x0, 0xf8, + 0x7f, 0xf0, 0xfd, 0xc0, 0x73, 0x80, 0xe7, 0x1, + 0xc7, 0x7, 0xe, 0xe, 0x1e, 0x3c, 0x1c, 0x70, + 0x3d, 0xe0, 0x3b, 0x80, 0x7f, 0x0, 0x7c, 0x0, + 0x70, 0x0, 0xe0, 0x1, 0xc0, 0x3, 0x80, 0x7, + 0x0, 0xe, 0x0, 0x1c, 0x0, 0x38, 0x0, 0xfc, + 0x1, 0xf8, 0x0, + + /* U+00DE "Þ" */ + 0xf8, 0x7, 0xc0, 0x1c, 0x0, 0xe0, 0x7, 0xf8, + 0x3f, 0xf1, 0xc3, 0xce, 0xe, 0x70, 0x3b, 0x81, + 0xdc, 0xe, 0xe0, 0x77, 0x3, 0xb8, 0x1d, 0xc1, + 0xce, 0x1e, 0x7f, 0xc3, 0xfc, 0x1c, 0x0, 0xe0, + 0x7, 0x0, 0x7c, 0x3, 0xe0, 0x0, + + /* U+00DF "ß" */ + 0x7, 0xc0, 0x3f, 0x81, 0xc7, 0xf, 0xe, 0x38, + 0x38, 0xe0, 0xe3, 0x83, 0x8e, 0xe, 0x38, 0x70, + 0xe3, 0xc3, 0x9c, 0xe, 0x78, 0x38, 0x78, 0xe0, + 0xe3, 0x81, 0xce, 0x7, 0x38, 0x1c, 0xe0, 0x73, + 0x81, 0xce, 0xe, 0x38, 0x7b, 0xe7, 0xcf, 0x9c, + 0x0, + + /* U+00E0 "à" */ + 0x8, 0x0, 0x70, 0x0, 0xe0, 0x1, 0xc0, 0x3, + 0x80, 0xc, 0x0, 0x0, 0x3, 0xf0, 0x3f, 0xe1, + 0xe1, 0xc7, 0x3, 0x88, 0xe, 0x0, 0x38, 0x0, + 0xe0, 0xff, 0x8f, 0xfe, 0x78, 0x3b, 0xc0, 0xee, + 0x3, 0xb8, 0xe, 0xe0, 0x7b, 0xc3, 0xe7, 0xfb, + 0xc7, 0xcf, + + /* U+00E1 "á" */ + 0x0, 0xc0, 0x7, 0x80, 0x1c, 0x0, 0xe0, 0x7, + 0x0, 0x18, 0x0, 0x0, 0x3, 0xf0, 0x3f, 0xe1, + 0xe1, 0xc7, 0x3, 0x88, 0xe, 0x0, 0x38, 0x0, + 0xe0, 0xff, 0x8f, 0xfe, 0x78, 0x3b, 0xc0, 0xee, + 0x3, 0xb8, 0xe, 0xe0, 0x7b, 0xc3, 0xe7, 0xfb, + 0xc7, 0xcf, + + /* U+00E2 "â" */ + 0x7, 0x0, 0x3e, 0x0, 0xfc, 0x7, 0x78, 0x38, + 0xf1, 0xe1, 0xe1, 0x2, 0x0, 0x0, 0xf, 0xc0, + 0xff, 0x87, 0x87, 0x1c, 0xe, 0x20, 0x38, 0x0, + 0xe0, 0x3, 0x83, 0xfe, 0x3f, 0xf9, 0xe0, 0xef, + 0x3, 0xb8, 0xe, 0xe0, 0x3b, 0x81, 0xef, 0xf, + 0x9f, 0xef, 0x1f, 0x3c, + + /* U+00E3 "ã" */ + 0x1c, 0x30, 0xf8, 0xe7, 0x37, 0x1c, 0xf8, 0x0, + 0xc0, 0x0, 0x0, 0xfc, 0xf, 0xf8, 0x78, 0x71, + 0xc0, 0xe2, 0x3, 0x80, 0xe, 0x0, 0x38, 0x3f, + 0xe3, 0xff, 0x9e, 0xe, 0xf0, 0x3b, 0x80, 0xee, + 0x3, 0xb8, 0x1e, 0xf0, 0xf9, 0xfe, 0xf1, 0xf3, + 0xc0, + + /* U+00E4 "ä" */ + 0x30, 0x61, 0xe3, 0xc7, 0x8f, 0xc, 0x18, 0x0, + 0x0, 0x0, 0x0, 0xfc, 0xf, 0xf8, 0x78, 0x71, + 0xc0, 0xe2, 0x3, 0x80, 0xe, 0x0, 0x38, 0x3f, + 0xe3, 0xff, 0x9e, 0xe, 0xf0, 0x3b, 0x80, 0xee, + 0x3, 0xb8, 0x1e, 0xf0, 0xf9, 0xfe, 0xf1, 0xf3, + 0xc0, + + /* U+00E5 "å" */ + 0xf, 0x80, 0x7f, 0x1, 0x8c, 0x7, 0xf0, 0xf, + 0x80, 0x0, 0x0, 0xfc, 0xf, 0xf8, 0x70, 0xf1, + 0x81, 0xe2, 0x3, 0x80, 0xe, 0x0, 0x38, 0x3f, + 0xe3, 0xff, 0x9e, 0xe, 0xf0, 0x3b, 0x80, 0xee, + 0x3, 0xb8, 0x1e, 0xf0, 0xf9, 0xfe, 0xf1, 0xf3, + 0xc0, + + /* U+00E6 "æ" */ + 0x3d, 0xf1, 0xff, 0xe7, 0x71, 0xf9, 0xc7, 0x7, + 0x1c, 0x1c, 0x70, 0x71, 0xcf, 0xff, 0x7f, 0xff, + 0xdc, 0xe, 0x70, 0x39, 0xc0, 0xe7, 0x3, 0x9c, + 0x7e, 0x7b, 0xdf, 0xfe, 0x3d, 0xf0, + + /* U+00E7 "ç" */ + 0xf, 0x81, 0xff, 0x1e, 0x3c, 0xe0, 0xee, 0x3, + 0xf0, 0x3, 0x80, 0x1c, 0x0, 0xe0, 0x7, 0x0, + 0x38, 0x1, 0xc0, 0x77, 0x7, 0x3c, 0x78, 0xff, + 0x83, 0xf8, 0x7, 0x0, 0x3c, 0x1, 0xf0, 0x3, + 0x80, 0x1c, 0xf, 0xe0, 0x7e, 0x0, + + /* U+00E8 "è" */ + 0x18, 0x0, 0xe0, 0x3, 0x80, 0x1c, 0x0, 0x70, + 0x1, 0x80, 0x0, 0x1, 0xf0, 0x3f, 0xe3, 0xc7, + 0x9c, 0x1d, 0xc0, 0x7e, 0x3, 0xf0, 0x1f, 0xff, + 0xff, 0xff, 0xe0, 0x7, 0x0, 0x38, 0x1, 0xe0, + 0x77, 0x7, 0xbc, 0x78, 0xff, 0x81, 0xf0, + + /* U+00E9 "é" */ + 0x0, 0xc0, 0xe, 0x0, 0xe0, 0x7, 0x0, 0x70, + 0x3, 0x0, 0x0, 0x1, 0xf0, 0x3f, 0xe3, 0xc7, + 0x9c, 0x1d, 0xc0, 0x7e, 0x3, 0xf0, 0x1f, 0xff, + 0xff, 0xff, 0xe0, 0x7, 0x0, 0x38, 0x1, 0xe0, + 0x77, 0x7, 0xbc, 0x78, 0xff, 0x81, 0xf0, + + /* U+00EA "ê" */ + 0x7, 0x0, 0x7c, 0x7, 0x70, 0x3b, 0x83, 0x8e, + 0x38, 0x38, 0x41, 0x0, 0x0, 0xf, 0x81, 0xff, + 0x1e, 0x3c, 0xe0, 0xee, 0x3, 0xf0, 0x1f, 0x80, + 0xff, 0xff, 0xff, 0xff, 0x0, 0x38, 0x1, 0xc0, + 0xf, 0x3, 0xb8, 0x3d, 0xe3, 0xc7, 0xfc, 0xf, + 0x80, + + /* U+00EB "ë" */ + 0x30, 0x63, 0xc7, 0x9e, 0x3c, 0x60, 0xc0, 0x0, + 0x0, 0x0, 0x3e, 0x7, 0xfc, 0x78, 0xf3, 0x83, + 0xb8, 0xf, 0xc0, 0x7e, 0x3, 0xff, 0xff, 0xff, + 0xfc, 0x0, 0xe0, 0x7, 0x0, 0x3c, 0xe, 0xe0, + 0xf7, 0x8f, 0x1f, 0xf0, 0x3e, 0x0, + + /* U+00EC "ì" */ + 0x0, 0x6, 0x0, 0xe0, 0x1e, 0x1, 0xe0, 0x1e, + 0x1, 0x0, 0x0, 0xfe, 0x1f, 0xc0, 0x38, 0x7, + 0x0, 0xe0, 0x1c, 0x3, 0x80, 0x70, 0xe, 0x1, + 0xc0, 0x38, 0x7, 0x0, 0xe0, 0x1c, 0x3, 0x87, + 0xff, 0xff, 0xe0, + + /* U+00ED "í" */ + 0x1, 0x0, 0x30, 0xe, 0x3, 0x80, 0xe0, 0x38, + 0x2, 0x0, 0x0, 0xfe, 0x1f, 0xc0, 0x38, 0x7, + 0x0, 0xe0, 0x1c, 0x3, 0x80, 0x70, 0xe, 0x1, + 0xc0, 0x38, 0x7, 0x0, 0xe0, 0x1c, 0x3, 0x87, + 0xff, 0xff, 0xe0, + + /* U+00EE "î" */ + 0x1e, 0x7, 0xe0, 0xee, 0x38, 0xee, 0xe, 0x81, + 0x0, 0x7, 0xf0, 0xfe, 0x1, 0xc0, 0x38, 0x7, + 0x0, 0xe0, 0x1c, 0x3, 0x80, 0x70, 0xe, 0x1, + 0xc0, 0x38, 0x7, 0x0, 0xe0, 0x1c, 0x3f, 0xff, + 0xff, + + /* U+00EF "ï" */ + 0x60, 0xde, 0x3f, 0xc7, 0xb0, 0x60, 0x0, 0x0, + 0x3f, 0x87, 0xf0, 0xe, 0x1, 0xc0, 0x38, 0x7, + 0x0, 0xe0, 0x1c, 0x3, 0x80, 0x70, 0xe, 0x1, + 0xc0, 0x38, 0x7, 0x0, 0xe1, 0xff, 0xff, 0xf8, + + /* U+00F0 "ð" */ + 0x18, 0x0, 0xf0, 0x3, 0xc0, 0xf, 0x0, 0x3f, + 0x7, 0xf8, 0xff, 0x87, 0x1c, 0x0, 0x70, 0x7f, + 0x8f, 0xfc, 0xf1, 0xf7, 0x7, 0xf0, 0x1f, 0x80, + 0xfc, 0x7, 0xe0, 0x3f, 0x1, 0xf8, 0xe, 0xe0, + 0xe7, 0x8f, 0x1f, 0xf0, 0x3e, 0x0, + + /* U+00F1 "ñ" */ + 0xe, 0x30, 0xfc, 0xe3, 0xbf, 0x1c, 0x78, 0x10, + 0xc0, 0x0, 0xf, 0x3c, 0x3f, 0xf8, 0x7c, 0xf1, + 0xe1, 0xc7, 0x3, 0x9c, 0xe, 0x70, 0x39, 0xc0, + 0xe7, 0x3, 0x9c, 0xe, 0x70, 0x39, 0xc0, 0xe7, + 0x3, 0x9c, 0xe, 0x70, 0x3b, 0xe1, 0xff, 0x87, + 0xc0, + + /* U+00F2 "ò" */ + 0x18, 0x0, 0xe0, 0x3, 0x80, 0x1c, 0x0, 0x70, + 0x1, 0x80, 0x0, 0x1, 0xf0, 0x3f, 0xe3, 0xc7, + 0x9c, 0x1d, 0xc0, 0x7e, 0x3, 0xf0, 0x1f, 0x80, + 0xfc, 0x7, 0xe0, 0x3f, 0x1, 0xf8, 0xf, 0xc0, + 0x77, 0x7, 0x3c, 0x78, 0xff, 0x81, 0xf0, + + /* U+00F3 "ó" */ + 0x0, 0xc0, 0xe, 0x0, 0xe0, 0x7, 0x0, 0x70, + 0x3, 0x0, 0x0, 0x1, 0xf0, 0x3f, 0xe3, 0xc7, + 0x9c, 0x1d, 0xc0, 0x7e, 0x3, 0xf0, 0x1f, 0x80, + 0xfc, 0x7, 0xe0, 0x3f, 0x1, 0xf8, 0xf, 0xc0, + 0x77, 0x7, 0x3c, 0x78, 0xff, 0x81, 0xf0, + + /* U+00F4 "ô" */ + 0x7, 0x0, 0x7c, 0x7, 0x70, 0x3b, 0x83, 0x8e, + 0x38, 0x38, 0x41, 0x0, 0x0, 0xf, 0x81, 0xff, + 0x1e, 0x3c, 0xe0, 0xee, 0x3, 0xf0, 0x1f, 0x80, + 0xfc, 0x7, 0xe0, 0x3f, 0x1, 0xf8, 0xf, 0xc0, + 0x7e, 0x3, 0xb8, 0x39, 0xe3, 0xc7, 0xfc, 0xf, + 0x80, + + /* U+00F5 "õ" */ + 0x1c, 0x31, 0xf3, 0x9d, 0xd8, 0xe7, 0xc0, 0x8, + 0x0, 0x0, 0x3e, 0x7, 0xfc, 0x78, 0xf3, 0x83, + 0xb8, 0xf, 0xc0, 0x7e, 0x3, 0xf0, 0x1f, 0x80, + 0xfc, 0x7, 0xe0, 0x3f, 0x1, 0xf8, 0xe, 0xe0, + 0xe7, 0x8f, 0x1f, 0xf0, 0x3e, 0x0, + + /* U+00F6 "ö" */ + 0x30, 0x63, 0xc7, 0x9e, 0x3c, 0x60, 0xc0, 0x0, + 0x0, 0x0, 0x3e, 0x7, 0xfc, 0x78, 0xf3, 0x83, + 0xb8, 0xf, 0xc0, 0x7e, 0x3, 0xf0, 0x1f, 0x80, + 0xfc, 0x7, 0xe0, 0x3f, 0x1, 0xf8, 0xe, 0xe0, + 0xe7, 0x8f, 0x1f, 0xf0, 0x3e, 0x0, + + /* U+00F7 "÷" */ + 0x3, 0x80, 0x1f, 0x0, 0x7c, 0x0, 0xe0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, + 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x38, 0x1, 0xf0, 0x7, 0xc0, 0xe, 0x0, + + /* U+00F8 "ø" */ + 0x0, 0x30, 0x7f, 0x8f, 0xfc, 0xf1, 0xe7, 0xf, + 0x70, 0xff, 0x86, 0xfc, 0x77, 0xe3, 0x3f, 0x39, + 0xf9, 0x8f, 0xdc, 0x7e, 0xc3, 0xfe, 0x1d, 0xe1, + 0xcf, 0x1e, 0x7f, 0xe3, 0xfc, 0x18, 0x0, + + /* U+00F9 "ù" */ + 0x0, 0x0, 0xc, 0x0, 0x3c, 0x0, 0x38, 0x0, + 0x38, 0x0, 0x38, 0x0, 0x20, 0x0, 0x0, 0xf8, + 0x3d, 0xf0, 0x78, 0xe0, 0x71, 0xc0, 0xe3, 0x81, + 0xc7, 0x3, 0x8e, 0x7, 0x1c, 0xe, 0x38, 0x1c, + 0x70, 0x38, 0xe0, 0x71, 0xc0, 0xe3, 0x81, 0xc3, + 0x87, 0x87, 0x9f, 0x7, 0xff, 0x7, 0x9e, + + /* U+00FA "ú" */ + 0x0, 0x0, 0x0, 0xc0, 0x3, 0xc0, 0x7, 0x0, + 0x1c, 0x0, 0x70, 0x0, 0x40, 0x0, 0x0, 0xf8, + 0x3d, 0xf0, 0x78, 0xe0, 0x71, 0xc0, 0xe3, 0x81, + 0xc7, 0x3, 0x8e, 0x7, 0x1c, 0xe, 0x38, 0x1c, + 0x70, 0x38, 0xe0, 0x71, 0xc0, 0xe3, 0x81, 0xc3, + 0x87, 0x87, 0x9f, 0x7, 0xff, 0x7, 0x9e, + + /* U+00FB "û" */ + 0x1, 0x80, 0x7, 0x80, 0x1f, 0x80, 0x73, 0x81, + 0xe7, 0x83, 0x87, 0x2, 0x4, 0x0, 0x0, 0xf8, + 0x3d, 0xf0, 0x78, 0xe0, 0x71, 0xc0, 0xe3, 0x81, + 0xc7, 0x3, 0x8e, 0x7, 0x1c, 0xe, 0x38, 0x1c, + 0x70, 0x38, 0xe0, 0x71, 0xc0, 0xe3, 0x81, 0xc3, + 0x87, 0x87, 0x9f, 0x7, 0xff, 0x7, 0x9e, + + /* U+00FC "ü" */ + 0xc, 0x30, 0x3c, 0xf0, 0x79, 0xe0, 0x61, 0x80, + 0x0, 0x0, 0x0, 0x3e, 0xf, 0x7c, 0x1e, 0x38, + 0x1c, 0x70, 0x38, 0xe0, 0x71, 0xc0, 0xe3, 0x81, + 0xc7, 0x3, 0x8e, 0x7, 0x1c, 0xe, 0x38, 0x1c, + 0x70, 0x38, 0xe0, 0x70, 0xe1, 0xe1, 0xe7, 0xc1, + 0xff, 0xc1, 0xe7, 0x80, + + /* U+00FD "ý" */ + 0x0, 0x0, 0x3, 0x0, 0x1e, 0x0, 0x70, 0x3, + 0x80, 0x1c, 0x0, 0x20, 0x0, 0x0, 0xf8, 0x7f, + 0xe1, 0xf7, 0x3, 0x8c, 0xc, 0x30, 0x30, 0xe1, + 0xc3, 0x86, 0x6, 0x18, 0x1c, 0xe0, 0x73, 0x0, + 0xcc, 0x3, 0xf0, 0xf, 0xc0, 0x1e, 0x0, 0x78, + 0x1, 0xe0, 0x3, 0x0, 0x1c, 0x0, 0x70, 0x1, + 0x80, 0xe, 0x0, 0xf0, 0x3, 0x80, 0x0, + + /* U+00FE "þ" */ + 0xf0, 0x3, 0xc0, 0x7, 0x0, 0x1c, 0x0, 0x70, + 0x1, 0xc0, 0x7, 0x3e, 0x1d, 0xfc, 0x7c, 0x79, + 0xe0, 0xe7, 0x1, 0xdc, 0x7, 0x70, 0x1d, 0xc0, + 0x77, 0x1, 0xdc, 0x7, 0x70, 0x1d, 0xc0, 0x77, + 0x1, 0xde, 0xe, 0x7c, 0x79, 0xdf, 0xc7, 0x3e, + 0x1c, 0x0, 0x70, 0x1, 0xc0, 0x7, 0x0, 0x3e, + 0x0, 0xf8, 0x0 +}; + + +/*--------------------- + * GLYPH DESCRIPTION + *--------------------*/ + +static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { + {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, + {.bitmap_index = 0, .adv_w = 512, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1, .adv_w = 256, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2, .adv_w = 256, .box_w = 5, .box_h = 23, .ofs_x = 6, .ofs_y = 0}, + {.bitmap_index = 17, .adv_w = 256, .box_w = 9, .box_h = 10, .ofs_x = 3, .ofs_y = 14}, + {.bitmap_index = 29, .adv_w = 256, .box_w = 14, .box_h = 29, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 80, .adv_w = 256, .box_w = 12, .box_h = 30, .ofs_x = 2, .ofs_y = -3}, + {.bitmap_index = 125, .adv_w = 256, .box_w = 12, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 160, .adv_w = 256, .box_w = 13, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 198, .adv_w = 256, .box_w = 3, .box_h = 10, .ofs_x = 7, .ofs_y = 14}, + {.bitmap_index = 202, .adv_w = 256, .box_w = 10, .box_h = 35, .ofs_x = 4, .ofs_y = -6}, + {.bitmap_index = 246, .adv_w = 256, .box_w = 10, .box_h = 35, .ofs_x = 2, .ofs_y = -6}, + {.bitmap_index = 290, .adv_w = 256, .box_w = 15, .box_h = 13, .ofs_x = 1, .ofs_y = 14}, + {.bitmap_index = 315, .adv_w = 256, .box_w = 12, .box_h = 13, .ofs_x = 2, .ofs_y = 5}, + {.bitmap_index = 335, .adv_w = 256, .box_w = 5, .box_h = 11, .ofs_x = 5, .ofs_y = -6}, + {.bitmap_index = 342, .adv_w = 256, .box_w = 12, .box_h = 2, .ofs_x = 2, .ofs_y = 10}, + {.bitmap_index = 345, .adv_w = 256, .box_w = 5, .box_h = 5, .ofs_x = 5, .ofs_y = 0}, + {.bitmap_index = 349, .adv_w = 256, .box_w = 12, .box_h = 34, .ofs_x = 2, .ofs_y = -5}, + {.bitmap_index = 400, .adv_w = 256, .box_w = 13, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 438, .adv_w = 256, .box_w = 12, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 473, .adv_w = 256, .box_w = 12, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 508, .adv_w = 256, .box_w = 13, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 546, .adv_w = 256, .box_w = 12, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 581, .adv_w = 256, .box_w = 12, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 616, .adv_w = 256, .box_w = 13, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 654, .adv_w = 256, .box_w = 12, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 689, .adv_w = 256, .box_w = 13, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 727, .adv_w = 256, .box_w = 13, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 765, .adv_w = 256, .box_w = 5, .box_h = 17, .ofs_x = 5, .ofs_y = 0}, + {.bitmap_index = 776, .adv_w = 256, .box_w = 5, .box_h = 24, .ofs_x = 5, .ofs_y = -7}, + {.bitmap_index = 791, .adv_w = 256, .box_w = 13, .box_h = 19, .ofs_x = 2, .ofs_y = 2}, + {.bitmap_index = 822, .adv_w = 256, .box_w = 12, .box_h = 9, .ofs_x = 2, .ofs_y = 7}, + {.bitmap_index = 836, .adv_w = 256, .box_w = 13, .box_h = 19, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 867, .adv_w = 256, .box_w = 12, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 902, .adv_w = 256, .box_w = 12, .box_h = 28, .ofs_x = 2, .ofs_y = -2}, + {.bitmap_index = 944, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 985, .adv_w = 256, .box_w = 15, .box_h = 23, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1029, .adv_w = 256, .box_w = 13, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1067, .adv_w = 256, .box_w = 15, .box_h = 23, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1111, .adv_w = 256, .box_w = 13, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1149, .adv_w = 256, .box_w = 12, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1184, .adv_w = 256, .box_w = 13, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1222, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1263, .adv_w = 256, .box_w = 9, .box_h = 23, .ofs_x = 4, .ofs_y = 0}, + {.bitmap_index = 1289, .adv_w = 256, .box_w = 12, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1324, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1365, .adv_w = 256, .box_w = 13, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1403, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1444, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1485, .adv_w = 256, .box_w = 13, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1523, .adv_w = 256, .box_w = 13, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1561, .adv_w = 256, .box_w = 13, .box_h = 28, .ofs_x = 2, .ofs_y = -5}, + {.bitmap_index = 1607, .adv_w = 256, .box_w = 15, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1651, .adv_w = 256, .box_w = 12, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1686, .adv_w = 256, .box_w = 12, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1721, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1762, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1803, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1844, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1885, .adv_w = 256, .box_w = 15, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1929, .adv_w = 256, .box_w = 12, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1964, .adv_w = 256, .box_w = 10, .box_h = 34, .ofs_x = 3, .ofs_y = -5}, + {.bitmap_index = 2007, .adv_w = 256, .box_w = 12, .box_h = 34, .ofs_x = 2, .ofs_y = -5}, + {.bitmap_index = 2058, .adv_w = 256, .box_w = 11, .box_h = 34, .ofs_x = 2, .ofs_y = -5}, + {.bitmap_index = 2105, .adv_w = 256, .box_w = 12, .box_h = 7, .ofs_x = 2, .ofs_y = 17}, + {.bitmap_index = 2116, .adv_w = 256, .box_w = 12, .box_h = 2, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2119, .adv_w = 256, .box_w = 7, .box_h = 8, .ofs_x = 3, .ofs_y = 17}, + {.bitmap_index = 2126, .adv_w = 256, .box_w = 14, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2156, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2197, .adv_w = 256, .box_w = 13, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2225, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2266, .adv_w = 256, .box_w = 13, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2294, .adv_w = 256, .box_w = 12, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2329, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 1, .ofs_y = -6}, + {.bitmap_index = 2370, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2411, .adv_w = 256, .box_w = 11, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2443, .adv_w = 256, .box_w = 11, .box_h = 29, .ofs_x = 0, .ofs_y = -6}, + {.bitmap_index = 2483, .adv_w = 256, .box_w = 15, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2527, .adv_w = 256, .box_w = 11, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2559, .adv_w = 256, .box_w = 14, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2589, .adv_w = 256, .box_w = 14, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2619, .adv_w = 256, .box_w = 13, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2647, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 1, .ofs_y = -6}, + {.bitmap_index = 2688, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 2, .ofs_y = -6}, + {.bitmap_index = 2729, .adv_w = 256, .box_w = 13, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2757, .adv_w = 256, .box_w = 12, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2783, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2824, .adv_w = 256, .box_w = 15, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2856, .adv_w = 256, .box_w = 14, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2886, .adv_w = 256, .box_w = 14, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2916, .adv_w = 256, .box_w = 14, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2946, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 1, .ofs_y = -6}, + {.bitmap_index = 2987, .adv_w = 256, .box_w = 12, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3013, .adv_w = 256, .box_w = 11, .box_h = 34, .ofs_x = 3, .ofs_y = -6}, + {.bitmap_index = 3060, .adv_w = 256, .box_w = 3, .box_h = 34, .ofs_x = 7, .ofs_y = -5}, + {.bitmap_index = 3073, .adv_w = 256, .box_w = 11, .box_h = 34, .ofs_x = 2, .ofs_y = -6}, + {.bitmap_index = 3120, .adv_w = 256, .box_w = 14, .box_h = 7, .ofs_x = 1, .ofs_y = 8}, + {.bitmap_index = 3133, .adv_w = 256, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3134, .adv_w = 256, .box_w = 5, .box_h = 23, .ofs_x = 6, .ofs_y = -6}, + {.bitmap_index = 3149, .adv_w = 256, .box_w = 13, .box_h = 23, .ofs_x = 2, .ofs_y = -3}, + {.bitmap_index = 3187, .adv_w = 256, .box_w = 12, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3222, .adv_w = 512, .box_w = 16, .box_h = 15, .ofs_x = 8, .ofs_y = 4}, + {.bitmap_index = 3252, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3293, .adv_w = 256, .box_w = 3, .box_h = 33, .ofs_x = 7, .ofs_y = -5}, + {.bitmap_index = 3306, .adv_w = 512, .box_w = 14, .box_h = 34, .ofs_x = 9, .ofs_y = -5}, + {.bitmap_index = 3366, .adv_w = 256, .box_w = 10, .box_h = 4, .ofs_x = 3, .ofs_y = 20}, + {.bitmap_index = 3371, .adv_w = 512, .box_w = 24, .box_h = 24, .ofs_x = 4, .ofs_y = 0}, + {.bitmap_index = 3443, .adv_w = 256, .box_w = 10, .box_h = 17, .ofs_x = 3, .ofs_y = 7}, + {.bitmap_index = 3465, .adv_w = 256, .box_w = 14, .box_h = 17, .ofs_x = 1, .ofs_y = 3}, + {.bitmap_index = 3495, .adv_w = 256, .box_w = 12, .box_h = 7, .ofs_x = 2, .ofs_y = 5}, + {.bitmap_index = 3506, .adv_w = 256, .box_w = 12, .box_h = 2, .ofs_x = 2, .ofs_y = 10}, + {.bitmap_index = 3509, .adv_w = 512, .box_w = 24, .box_h = 24, .ofs_x = 4, .ofs_y = 0}, + {.bitmap_index = 3581, .adv_w = 256, .box_w = 10, .box_h = 2, .ofs_x = 3, .ofs_y = 21}, + {.bitmap_index = 3584, .adv_w = 256, .box_w = 8, .box_h = 7, .ofs_x = 4, .ofs_y = 17}, + {.bitmap_index = 3591, .adv_w = 512, .box_w = 14, .box_h = 19, .ofs_x = 9, .ofs_y = 0}, + {.bitmap_index = 3625, .adv_w = 256, .box_w = 11, .box_h = 17, .ofs_x = 3, .ofs_y = 10}, + {.bitmap_index = 3649, .adv_w = 256, .box_w = 10, .box_h = 17, .ofs_x = 3, .ofs_y = 10}, + {.bitmap_index = 3671, .adv_w = 256, .box_w = 7, .box_h = 8, .ofs_x = 6, .ofs_y = 17}, + {.bitmap_index = 3678, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 1, .ofs_y = -6}, + {.bitmap_index = 3719, .adv_w = 256, .box_w = 12, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3754, .adv_w = 512, .box_w = 5, .box_h = 5, .ofs_x = 13, .ofs_y = 9}, + {.bitmap_index = 3758, .adv_w = 256, .box_w = 7, .box_h = 7, .ofs_x = 5, .ofs_y = -7}, + {.bitmap_index = 3765, .adv_w = 256, .box_w = 9, .box_h = 17, .ofs_x = 3, .ofs_y = 10}, + {.bitmap_index = 3785, .adv_w = 256, .box_w = 11, .box_h = 17, .ofs_x = 3, .ofs_y = 7}, + {.bitmap_index = 3809, .adv_w = 256, .box_w = 14, .box_h = 17, .ofs_x = 1, .ofs_y = 3}, + {.bitmap_index = 3839, .adv_w = 256, .box_w = 12, .box_h = 32, .ofs_x = 2, .ofs_y = -5}, + {.bitmap_index = 3887, .adv_w = 256, .box_w = 12, .box_h = 32, .ofs_x = 2, .ofs_y = -5}, + {.bitmap_index = 3935, .adv_w = 256, .box_w = 12, .box_h = 32, .ofs_x = 2, .ofs_y = -5}, + {.bitmap_index = 3983, .adv_w = 256, .box_w = 12, .box_h = 23, .ofs_x = 2, .ofs_y = -6}, + {.bitmap_index = 4018, .adv_w = 256, .box_w = 14, .box_h = 31, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4073, .adv_w = 256, .box_w = 14, .box_h = 31, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4128, .adv_w = 256, .box_w = 14, .box_h = 31, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4183, .adv_w = 256, .box_w = 14, .box_h = 31, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4238, .adv_w = 256, .box_w = 14, .box_h = 30, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4291, .adv_w = 256, .box_w = 14, .box_h = 30, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4344, .adv_w = 256, .box_w = 13, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4382, .adv_w = 256, .box_w = 13, .box_h = 29, .ofs_x = 2, .ofs_y = -6}, + {.bitmap_index = 4430, .adv_w = 256, .box_w = 13, .box_h = 31, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4481, .adv_w = 256, .box_w = 13, .box_h = 31, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4532, .adv_w = 256, .box_w = 13, .box_h = 31, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4583, .adv_w = 256, .box_w = 12, .box_h = 30, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 4628, .adv_w = 256, .box_w = 9, .box_h = 31, .ofs_x = 4, .ofs_y = 0}, + {.bitmap_index = 4663, .adv_w = 256, .box_w = 9, .box_h = 31, .ofs_x = 4, .ofs_y = 0}, + {.bitmap_index = 4698, .adv_w = 256, .box_w = 11, .box_h = 31, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 4741, .adv_w = 256, .box_w = 10, .box_h = 30, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 4779, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4820, .adv_w = 256, .box_w = 14, .box_h = 31, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4875, .adv_w = 256, .box_w = 13, .box_h = 30, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 4924, .adv_w = 256, .box_w = 13, .box_h = 30, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 4973, .adv_w = 256, .box_w = 13, .box_h = 31, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5024, .adv_w = 256, .box_w = 13, .box_h = 31, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5075, .adv_w = 256, .box_w = 13, .box_h = 30, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5124, .adv_w = 512, .box_w = 16, .box_h = 15, .ofs_x = 8, .ofs_y = 4}, + {.bitmap_index = 5154, .adv_w = 256, .box_w = 13, .box_h = 25, .ofs_x = 2, .ofs_y = -1}, + {.bitmap_index = 5195, .adv_w = 256, .box_w = 14, .box_h = 31, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5250, .adv_w = 256, .box_w = 14, .box_h = 31, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5305, .adv_w = 256, .box_w = 14, .box_h = 31, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5360, .adv_w = 256, .box_w = 14, .box_h = 30, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5413, .adv_w = 256, .box_w = 15, .box_h = 31, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5472, .adv_w = 256, .box_w = 13, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5510, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5551, .adv_w = 256, .box_w = 14, .box_h = 24, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5593, .adv_w = 256, .box_w = 14, .box_h = 24, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5635, .adv_w = 256, .box_w = 14, .box_h = 25, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5679, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5720, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5761, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5802, .adv_w = 256, .box_w = 14, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5832, .adv_w = 256, .box_w = 13, .box_h = 23, .ofs_x = 2, .ofs_y = -6}, + {.bitmap_index = 5870, .adv_w = 256, .box_w = 13, .box_h = 24, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5909, .adv_w = 256, .box_w = 13, .box_h = 24, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5948, .adv_w = 256, .box_w = 13, .box_h = 25, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5989, .adv_w = 256, .box_w = 13, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6027, .adv_w = 256, .box_w = 11, .box_h = 25, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6062, .adv_w = 256, .box_w = 11, .box_h = 25, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6097, .adv_w = 256, .box_w = 11, .box_h = 24, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6130, .adv_w = 256, .box_w = 11, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6162, .adv_w = 256, .box_w = 13, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6200, .adv_w = 256, .box_w = 14, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6241, .adv_w = 256, .box_w = 13, .box_h = 24, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6280, .adv_w = 256, .box_w = 13, .box_h = 24, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6319, .adv_w = 256, .box_w = 13, .box_h = 25, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6360, .adv_w = 256, .box_w = 13, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6398, .adv_w = 256, .box_w = 13, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6436, .adv_w = 512, .box_w = 14, .box_h = 18, .ofs_x = 9, .ofs_y = 3}, + {.bitmap_index = 6468, .adv_w = 256, .box_w = 13, .box_h = 19, .ofs_x = 2, .ofs_y = -1}, + {.bitmap_index = 6499, .adv_w = 256, .box_w = 15, .box_h = 25, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6546, .adv_w = 256, .box_w = 15, .box_h = 25, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6593, .adv_w = 256, .box_w = 15, .box_h = 25, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6640, .adv_w = 256, .box_w = 15, .box_h = 23, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6684, .adv_w = 256, .box_w = 14, .box_h = 31, .ofs_x = 1, .ofs_y = -6}, + {.bitmap_index = 6739, .adv_w = 256, .box_w = 14, .box_h = 29, .ofs_x = 1, .ofs_y = -6} +}; + +/*--------------------- + * CHARACTER MAPPING + *--------------------*/ + + + +/*Collect the unicode lists and glyph_id offsets*/ +static const lv_font_fmt_txt_cmap_t cmaps[] = +{ + { + .range_start = 13, .range_length = 1, .glyph_id_start = 1, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + }, + { + .range_start = 32, .range_length = 95, .glyph_id_start = 2, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + }, + { + .range_start = 160, .range_length = 95, .glyph_id_start = 97, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + } +}; + + + +/*-------------------- + * ALL CUSTOM DATA + *--------------------*/ + +#if LVGL_VERSION_MAJOR == 8 +/*Store all the custom data of the font*/ +static lv_font_fmt_txt_glyph_cache_t cache; +#endif + +#if LVGL_VERSION_MAJOR >= 8 +static const lv_font_fmt_txt_dsc_t font_dsc = { +#else +static lv_font_fmt_txt_dsc_t font_dsc = { +#endif + .glyph_bitmap = glyph_bitmap, + .glyph_dsc = glyph_dsc, + .cmaps = cmaps, + .kern_dsc = NULL, + .kern_scale = 0, + .cmap_num = 3, + .bpp = 1, + .kern_classes = 0, + .bitmap_format = 0, +#if LVGL_VERSION_MAJOR == 8 + .cache = &cache +#endif + +}; + +extern const lv_font_t lv_font_montserrat_12; + + +/*----------------- + * PUBLIC FONT + *----------------*/ + +/*Initialize a public general font descriptor*/ +#if LVGL_VERSION_MAJOR >= 8 +const lv_font_t InziuIosevka_Slab_CC_32px = { +#else +lv_font_t InziuIosevka_Slab_CC_32px = { +#endif + .get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/ + .get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/ + .line_height = 38, /*The maximum line height required by the font*/ + .base_line = 7, /*Baseline measured from the bottom of the line*/ +#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0) + .subpx = LV_FONT_SUBPX_NONE, +#endif +#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8 + .underline_position = -6, + .underline_thickness = 2, +#endif + .dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ +#if LV_VERSION_CHECK(8, 2, 0) || LVGL_VERSION_MAJOR >= 9 + .fallback = &lv_font_montserrat_12, +#endif + .user_data = NULL, +}; + + + +#endif /*#if INZIUIOSEVKA_SLAB_CC_32PX*/ diff --git a/components/user_fonts/user_fonts.h b/components/user_fonts/user_fonts.h new file mode 100644 index 0000000..7239eec --- /dev/null +++ b/components/user_fonts/user_fonts.h @@ -0,0 +1,26 @@ +#ifndef USER_FONTS_H +#define USER_FONTS_H + +#include "lvgl.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* DSEG14 Classic Bold Italic — segmented display digits only (0-9 : ; , .) */ +extern const lv_font_t DSEG14C_BI_32px; +extern const lv_font_t DSEG14C_BI_40px; +extern const lv_font_t DSEG14C_BI_50px; + +/* Inziu Iosevka Slab CC — monospace, Latin range 0-254 */ +extern const lv_font_t InziuIosevka_Slab_CC_12px; +extern const lv_font_t InziuIosevka_Slab_CC_16px; +extern const lv_font_t InziuIosevka_Slab_CC_20px; +extern const lv_font_t InziuIosevka_Slab_CC_24px; +extern const lv_font_t InziuIosevka_Slab_CC_32px; + +#ifdef __cplusplus +} +#endif + +#endif