diff --git a/Dev_Docs/Pending_Features/2026-06-08_1910_esp32_lvgl_russian_font_test.md b/Dev_Docs/Pending_Features/2026-06-08_1910_esp32_lvgl_russian_font_test.md new file mode 100644 index 0000000..1d3c238 --- /dev/null +++ b/Dev_Docs/Pending_Features/2026-06-08_1910_esp32_lvgl_russian_font_test.md @@ -0,0 +1,12 @@ +# LVGL Russian font test + +- Краткое описание: тест кастомного `LVGL`-шрифта с кириллицей на базе рабочего `LVGL + subserver touch` контура. +- Что проверять: + - на экране видны русские заголовки и подписи без транслита; + - отображаются буквы `Ё/ё`; + - видны кнопки `Статус`, `Подключение`, `Кошелёк`, `Запросы`, `Настройки`, `Регистрация`, `Разрешить`, `Отклонить`, `Назад`; + - длинная кнопка `Проверка переноса русского текста` отображается читаемо; + - строка `Нажато:` меняется при клике; + - строка `Касание:` меняется при касании. +- Ожидаемый результат: кириллица стабильно отображается на `LVGL`-экране и не ломает touch. +- Статус: pending diff --git a/Dev_Docs/Pending_Features/2026-06-08_1940_esp32_nav_minimal_test.md b/Dev_Docs/Pending_Features/2026-06-08_1940_esp32_nav_minimal_test.md new file mode 100644 index 0000000..d1ebf24 --- /dev/null +++ b/Dev_Docs/Pending_Features/2026-06-08_1940_esp32_nav_minimal_test.md @@ -0,0 +1,17 @@ +# ESP32 nav minimal test + +- Краткое описание: новый минимальный навигационный UI-прототип для сабсервера на базе рабочего `LVGL + subserver touch`. +- Что проверять: + - стартует экран `HOME`; + - на `HOME` видны `login`, `subserver1`, `W BAT`, `STATUS`, кнопка `SETTINGS`; + - кнопка `SETTINGS` открывает `SETTINGS_MENU`; + - свайп влево на `HOME` открывает `SETTINGS_MENU`; + - в `SETTINGS_MENU` сначала видны только `Wi-Fi` и `Server`; + - свайп вверх показывает `Server` и `Account`; + - свайп вниз возвращает `Wi-Fi` и `Server`; + - свайп вправо из `SETTINGS_MENU` возвращает на `HOME`; + - нажатия по `Wi-Fi`, `Server`, `Account` открывают соответствующие экраны; + - свайп вправо из внутренних экранов возвращает в `SETTINGS_MENU`; + - если во время реального свайпа палец проходит по кнопке, это не должно открывать кнопку как обычный `click`. +- Ожидаемый результат: новый скетч даёт чистый навигационный каркас без старой перегруженной логики. +- Статус: pending diff --git a/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/reference/shine_subserver_ui_nav_minimal_spec.md b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/reference/shine_subserver_ui_nav_minimal_spec.md new file mode 100644 index 0000000..8a8a325 --- /dev/null +++ b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/reference/shine_subserver_ui_nav_minimal_spec.md @@ -0,0 +1,123 @@ +# SHiNE ESP32 Subserver UI Nav Minimal Spec + +Минимальный навигационный прототип для `Waveshare ESP32-S3-Touch-AMOLED-2.16`. + +## Цель + +Этот прототип проверяет только базовую механику экранов, крупных кнопок и свайпов. + +На этом этапе отсутствуют: +- реальный Wi-Fi; +- реальные серверные проверки; +- логин/пароль; +- PIN; +- кошелёк; +- QR; +- баланс; +- регистрация; +- PDA и транзакции; +- входящие запросы. + +## Экраны + +Прототип содержит 5 экранов: +- `HOME` +- `SETTINGS_MENU` +- `WIFI_SCREEN` +- `SERVER_SCREEN` +- `ACCOUNT_SCREEN` + +## HOME + +Показывает: +- сверху слева `login`; +- ниже `subserver1`; +- сверху справа простые индикаторы `W BAT`; +- по центру крупный текст `STATUS`; +- снизу большую кнопку `SETTINGS`. + +Переходы: +- кнопка `SETTINGS` -> `SETTINGS_MENU`; +- свайп влево -> `SETTINGS_MENU`. + +## SETTINGS_MENU + +Показывает вертикальное меню из 3 пунктов: +- `Wi-Fi` +- `Server` +- `Account` + +Одновременно видны только 2 пункта. + +Начальное состояние: +- `Wi-Fi` +- `Server` + +После свайпа вверх: +- `Server` +- `Account` + +После свайпа вниз: +- `Wi-Fi` +- `Server` + +Переходы: +- нажатие `Wi-Fi` -> `WIFI_SCREEN`; +- нажатие `Server` -> `SERVER_SCREEN`; +- нажатие `Account` -> `ACCOUNT_SCREEN`; +- свайп вправо -> `HOME`. + +## WIFI_SCREEN + +Показывает: +- `Wi-Fi` +- `Wi-Fi screen` + +Переходы: +- свайп вправо -> `SETTINGS_MENU` +- кнопка `BACK` -> `SETTINGS_MENU` + +## SERVER_SCREEN + +Показывает: +- `Server` +- `Server screen` + +Переходы: +- свайп вправо -> `SETTINGS_MENU` +- кнопка `BACK` -> `SETTINGS_MENU` + +## ACCOUNT_SCREEN + +Показывает: +- `Account` +- `Account screen` + +Переходы: +- свайп вправо -> `SETTINGS_MENU` +- кнопка `BACK` -> `SETTINGS_MENU` + +## Жесты + +Поддерживаются направления: +- `SWIPE_LEFT` +- `SWIPE_RIGHT` +- `SWIPE_UP` +- `SWIPE_DOWN` + +Маршруты: +- `HOME`: свайп влево -> `SETTINGS_MENU` +- `SETTINGS_MENU`: свайп вправо -> `HOME` +- `SETTINGS_MENU`: свайп вверх/вниз -> прокрутка списка +- `WIFI_SCREEN`: свайп вправо -> `SETTINGS_MENU` +- `SERVER_SCREEN`: свайп вправо -> `SETTINGS_MENU` +- `ACCOUNT_SCREEN`: свайп вправо -> `SETTINGS_MENU` + +## Особенность обработки жестов + +- если палец ушёл из зоны обычного тапа и жест определяется как свайп, случайное попадание на кнопку по пути не должно превращать свайп в нажатие; +- приоритет у свайпа, а не у `click`. + +## Язык + +Пока интерфейс отображается в ASCII/English, чтобы использовать подтверждённый рабочий шрифтовой путь на устройстве. diff --git a/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/README.md b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/README.md index df8c438..f4284fb 100644 --- a/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/README.md +++ b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/README.md @@ -19,6 +19,8 @@ - `lvgl-touch-debug-test` — точечная диагностика touch: сырые координаты, маркер точки и большая тест-кнопка `LVGL` - `lvgl-official-based-test` — наш минимальный экран, но на максимально близкой к официальному `LVGL_Widgets` инициализации - `lvgl-subserver-touch-test` — гибрид: `LVGL`-интерфейс, но display/touch init и raw touch-read взяты из `shine_subserver_ui`; подтверждено на устройстве, touch работает, зелёных линий по краям нет +- `lvgl-russian-font-test` — тест кастомного `LVGL`-шрифта с кириллицей: русские кнопки, длинные подписи и статусы +- `lvgl-nav-minimal-test` — новый минимальный UI-каркас сабсервера: `HOME`, `SETTINGS_MENU`, `Wi-Fi`, `Server`, `Account`, свайпы и крупные кнопки Запуск: @@ -35,4 +37,6 @@ - `./burn.sh lvgl-touch-debug-test` - `./burn.sh lvgl-official-based-test` - `./burn.sh lvgl-subserver-touch-test` +- `./burn.sh lvgl-russian-font-test` +- `./burn.sh lvgl-nav-minimal-test` - `./flash_shine_subserver_ui.sh` - автоматически находит USB-порт и заливает `shine_subserver_ui` diff --git a/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/burn.sh b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/burn.sh index bba895b..8ea2156 100755 --- a/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/burn.sh +++ b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/burn.sh @@ -25,9 +25,11 @@ case "${MODE}" in lvgl-touch-debug-test) SKETCH_DIR="${ROOT_DIR}/test_sketches/lvgl_touch_debug_test" ;; lvgl-official-based-test) SKETCH_DIR="${ROOT_DIR}/test_sketches/lvgl_official_based_test" ;; lvgl-subserver-touch-test) SKETCH_DIR="${ROOT_DIR}/test_sketches/lvgl_subserver_touch_test" ;; + lvgl-russian-font-test) SKETCH_DIR="${ROOT_DIR}/test_sketches/lvgl_russian_font_test" ;; + lvgl-nav-minimal-test) SKETCH_DIR="${ROOT_DIR}/test_sketches/lvgl_nav_minimal_test" ;; *) echo "Unknown mode: ${MODE}" >&2 - echo "Use one of: hello, widgets, audio, simple, argon2, subserver-ui, text-test, gfx-text-test, gfx-layout-test, lvgl-basic-test, lvgl-interaction-test, lvgl-touch-debug-test, lvgl-official-based-test, lvgl-subserver-touch-test" >&2 + echo "Use one of: hello, widgets, audio, simple, argon2, subserver-ui, text-test, gfx-text-test, gfx-layout-test, lvgl-basic-test, lvgl-interaction-test, lvgl-touch-debug-test, lvgl-official-based-test, lvgl-subserver-touch-test, lvgl-russian-font-test, lvgl-nav-minimal-test" >&2 exit 2 ;; esac diff --git a/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/README.md b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/README.md index 06f8e0c..4caff50 100644 --- a/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/README.md +++ b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/README.md @@ -13,6 +13,8 @@ - `lvgl_touch_debug_test/` - диагностика touch: сырые координаты, точка касания и одна большая кнопка `LVGL` - `lvgl_official_based_test/` - минимальный наш экран поверх максимально близкой к официальному `05_LVGL_Widgets` инициализации - `lvgl_subserver_touch_test/` - гибридный тест: `LVGL`-экран с инициализацией дисплея и чтением touch из `shine_subserver_ui`; подтверждён на реальном устройстве +- `lvgl_russian_font_test/` - тест кастомного кириллического `LVGL`-шрифта с русскими кнопками, длинными строками и рабочим touch +- `lvgl_nav_minimal_test/` - новый минимальный навигационный каркас сабсервера на рабочем `LVGL + subserver touch` ## Запуск @@ -25,3 +27,5 @@ - `./burn.sh lvgl-touch-debug-test` - `./burn.sh lvgl-official-based-test` - `./burn.sh lvgl-subserver-touch-test` +- `./burn.sh lvgl-russian-font-test` +- `./burn.sh lvgl-nav-minimal-test` diff --git a/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/lvgl_nav_minimal_test/lvgl_nav_minimal_test.ino b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/lvgl_nav_minimal_test/lvgl_nav_minimal_test.ino new file mode 100644 index 0000000..1264c2b --- /dev/null +++ b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/lvgl_nav_minimal_test/lvgl_nav_minimal_test.ino @@ -0,0 +1,499 @@ +#include +#include +#include +#include +#include +#include + +#define PIN_LCD_CS 12 +#define PIN_LCD_SCLK 38 +#define PIN_LCD_D0 4 +#define PIN_LCD_D1 5 +#define PIN_LCD_D2 6 +#define PIN_LCD_D3 7 +#define PIN_LCD_RST 2 +#define PIN_I2C_SDA 15 +#define PIN_I2C_SCL 14 +#define PIN_TP_INT 11 + +#define DISP_W 480 +#define DISP_H 480 +#define LVGL_TICK_MS 2 +#define SWIPE_THRESHOLD 48 +#define TAP_CANCEL_THRESHOLD 18 +#define TEST_VERSION "NAV v2" + +enum Screen { + SCREEN_HOME, + SCREEN_SETTINGS_MENU, + SCREEN_WIFI, + SCREEN_SERVER, + SCREEN_ACCOUNT, +}; + +enum SwipeDirection { + SWIPE_NONE, + SWIPE_LEFT, + SWIPE_RIGHT, + SWIPE_UP, + SWIPE_DOWN, +}; + +enum ActionId { + ACTION_NONE, + ACTION_OPEN_SETTINGS, + ACTION_OPEN_WIFI, + ACTION_OPEN_SERVER, + ACTION_OPEN_ACCOUNT, + ACTION_BACK_HOME, + ACTION_BACK_SETTINGS, +}; + +static const char *kMenuItems[] = {"Wi-Fi", "Server", "Account"}; +static const size_t kMenuCount = sizeof(kMenuItems) / sizeof(kMenuItems[0]); + +static lv_disp_draw_buf_t gDrawBuf; +static lv_color_t *gBuf1 = nullptr; +static lv_color_t *gBuf2 = nullptr; +static lv_obj_t *gRoot = nullptr; + +Arduino_DataBus *gBus = new Arduino_ESP32QSPI( + PIN_LCD_CS, PIN_LCD_SCLK, PIN_LCD_D0, PIN_LCD_D1, PIN_LCD_D2, PIN_LCD_D3); +Arduino_CO5300 *gfx = new Arduino_CO5300( + gBus, PIN_LCD_RST, 0, DISP_W, DISP_H, 0, 0, 0, 0); +TouchDrvCST92xx gTouch; + +static Screen gCurrentScreen = SCREEN_HOME; +static int gSettingsScrollIndex = 0; +static bool gTouchDown = false; +static int16_t gTouchStartX = 0; +static int16_t gTouchStartY = 0; +static int16_t gTouchLastX = 0; +static int16_t gTouchLastY = 0; +static SwipeDirection gPendingSwipe = SWIPE_NONE; +static bool gBlockClick = false; + +static void rebuildScreen(); +static void showScreen(Screen screen); +static void handleSwipe(SwipeDirection swipe); + +static void lvglFlushCb(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *colorP) { + uint32_t w = area->x2 - area->x1 + 1; + uint32_t h = area->y2 - area->y1 + 1; +#if (LV_COLOR_16_SWAP != 0) + gfx->draw16bitBeRGBBitmap(area->x1, area->y1, (uint16_t *)&colorP->full, w, h); +#else + gfx->draw16bitRGBBitmap(area->x1, area->y1, (uint16_t *)&colorP->full, w, h); +#endif + lv_disp_flush_ready(disp); +} + +static void lvglTick(void *arg) { + LV_UNUSED(arg); + lv_tick_inc(LVGL_TICK_MS); +} + +static SwipeDirection detectSwipe(int16_t startX, int16_t startY, int16_t endX, int16_t endY) { + int16_t dx = endX - startX; + int16_t dy = endY - startY; + int16_t absDx = abs(dx); + int16_t absDy = abs(dy); + + if (absDx < SWIPE_THRESHOLD && absDy < SWIPE_THRESHOLD) { + return SWIPE_NONE; + } + + if (absDx >= absDy) { + return dx > 0 ? SWIPE_RIGHT : SWIPE_LEFT; + } + + return dy > 0 ? SWIPE_DOWN : SWIPE_UP; +} + +static bool movedTooFarForTap(int16_t startX, int16_t startY, int16_t endX, int16_t endY) { + return abs(endX - startX) >= TAP_CANCEL_THRESHOLD || abs(endY - startY) >= TAP_CANCEL_THRESHOLD; +} + +static void lvglTouchRead(lv_indev_drv_t *indevDrv, lv_indev_data_t *data) { + LV_UNUSED(indevDrv); + int16_t x = 0; + int16_t y = 0; + bool touching = gTouch.getPoint(&x, &y, 1) > 0; + + if (touching) { + if (!gTouchDown) { + gTouchDown = true; + gTouchStartX = x; + gTouchStartY = y; + } + gTouchLastX = x; + gTouchLastY = y; + if (movedTooFarForTap(gTouchStartX, gTouchStartY, gTouchLastX, gTouchLastY)) { + gBlockClick = true; + } + data->state = LV_INDEV_STATE_PR; + data->point.x = x; + data->point.y = y; + return; + } + + if (gTouchDown) { + gTouchDown = false; + gPendingSwipe = detectSwipe(gTouchStartX, gTouchStartY, gTouchLastX, gTouchLastY); + if (gPendingSwipe == SWIPE_NONE && !movedTooFarForTap(gTouchStartX, gTouchStartY, gTouchLastX, gTouchLastY)) { + gBlockClick = false; + } + } + + data->state = LV_INDEV_STATE_REL; + data->point.x = gTouchLastX; + data->point.y = gTouchLastY; +} + +static void setRootStyle() { + lv_obj_set_style_bg_color(gRoot, lv_color_hex(0x08111B), 0); + lv_obj_set_style_bg_opa(gRoot, LV_OPA_COVER, 0); + lv_obj_set_style_pad_all(gRoot, 0, 0); + lv_obj_set_scrollbar_mode(gRoot, LV_SCROLLBAR_MODE_OFF); +} + +static lv_obj_t *makeTitle(const char *text, lv_coord_t y, const lv_font_t *font) { + lv_obj_t *label = lv_label_create(gRoot); + lv_label_set_text(label, text); + lv_obj_set_style_text_font(label, font, 0); + lv_obj_set_style_text_color(label, lv_color_hex(0xFFFFFF), 0); + lv_obj_align(label, LV_ALIGN_TOP_MID, 0, y); + return label; +} + +static lv_obj_t *makeBody(const char *text, lv_coord_t y, lv_coord_t width) { + lv_obj_t *label = lv_label_create(gRoot); + lv_label_set_text(label, text); + lv_obj_set_width(label, width); + lv_label_set_long_mode(label, LV_LABEL_LONG_WRAP); + lv_obj_set_style_text_font(label, &lv_font_montserrat_18, 0); + lv_obj_set_style_text_color(label, lv_color_hex(0xD9E1EA), 0); + lv_obj_align(label, LV_ALIGN_TOP_MID, 0, y); + return label; +} + +static void actionButtonCb(lv_event_t *event) { + if (lv_event_get_code(event) != LV_EVENT_CLICKED) { + return; + } + + if (gBlockClick) { + return; + } + + ActionId action = static_cast(reinterpret_cast(lv_event_get_user_data(event))); + switch (action) { + case ACTION_OPEN_SETTINGS: + showScreen(SCREEN_SETTINGS_MENU); + break; + case ACTION_OPEN_WIFI: + showScreen(SCREEN_WIFI); + break; + case ACTION_OPEN_SERVER: + showScreen(SCREEN_SERVER); + break; + case ACTION_OPEN_ACCOUNT: + showScreen(SCREEN_ACCOUNT); + break; + case ACTION_BACK_HOME: + showScreen(SCREEN_HOME); + break; + case ACTION_BACK_SETTINGS: + showScreen(SCREEN_SETTINGS_MENU); + break; + case ACTION_NONE: + default: + break; + } +} + +static lv_obj_t *makeButton(const char *text, + lv_coord_t x, + lv_coord_t y, + lv_coord_t w, + lv_coord_t h, + uint32_t bgColor, + ActionId action, + const lv_font_t *font = &lv_font_montserrat_22) { + lv_obj_t *btn = lv_btn_create(gRoot); + lv_obj_set_size(btn, w, h); + lv_obj_set_pos(btn, x, y); + lv_obj_set_style_radius(btn, 18, 0); + lv_obj_set_style_bg_color(btn, lv_color_hex(bgColor), 0); + lv_obj_set_style_bg_opa(btn, LV_OPA_COVER, 0); + lv_obj_set_style_border_width(btn, 2, 0); + lv_obj_set_style_border_color(btn, lv_color_hex(0x6E8AA3), 0); + lv_obj_set_style_shadow_width(btn, 0, 0); + lv_obj_add_event_cb(btn, actionButtonCb, LV_EVENT_CLICKED, reinterpret_cast(static_cast(action))); + + lv_obj_t *label = lv_label_create(btn); + lv_label_set_text(label, text); + lv_obj_set_style_text_font(label, font, 0); + lv_obj_set_style_text_color(label, lv_color_hex(0xFFFFFF), 0); + lv_obj_center(label); + return btn; +} + +static void makeTopIcons() { + lv_obj_t *icons = lv_label_create(gRoot); + lv_label_set_text(icons, "W BAT"); + lv_obj_set_style_text_font(icons, &lv_font_montserrat_18, 0); + lv_obj_set_style_text_color(icons, lv_color_hex(0xC9D3DE), 0); + lv_obj_align(icons, LV_ALIGN_TOP_RIGHT, -24, 18); +} + +static void makeVersionTag() { + lv_obj_t *tag = lv_label_create(gRoot); + lv_label_set_text(tag, TEST_VERSION); + lv_obj_set_style_text_font(tag, &lv_font_montserrat_14, 0); + lv_obj_set_style_text_color(tag, lv_color_hex(0x8398AD), 0); + lv_obj_align(tag, LV_ALIGN_BOTTOM_MID, 0, -10); +} + +static void drawHome() { + setRootStyle(); + + lv_obj_t *login = lv_label_create(gRoot); + lv_label_set_text(login, "login"); + lv_obj_set_style_text_font(login, &lv_font_montserrat_18, 0); + lv_obj_set_style_text_color(login, lv_color_hex(0xFFFFFF), 0); + lv_obj_align(login, LV_ALIGN_TOP_LEFT, 24, 18); + + lv_obj_t *subserver = lv_label_create(gRoot); + lv_label_set_text(subserver, "subserver1"); + lv_obj_set_style_text_font(subserver, &lv_font_montserrat_18, 0); + lv_obj_set_style_text_color(subserver, lv_color_hex(0xD5DEE7), 0); + lv_obj_align_to(subserver, login, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 6); + + makeTopIcons(); + makeTitle("STATUS", 165, &lv_font_montserrat_28); + makeBody("Swipe left or tap the button below.", 214, 360); + makeButton("SETTINGS", 22, 360, 436, 78, 0x2A6F97, ACTION_OPEN_SETTINGS, &lv_font_montserrat_24); + makeVersionTag(); +} + +static void drawSettingsMenu() { + setRootStyle(); + + makeTitle("SETTINGS", 18, &lv_font_montserrat_24); + makeBody("Swipe up/down to move. Swipe right to go home.", 56, 420); + + for (int visibleIndex = 0; visibleIndex < 2; ++visibleIndex) { + int itemIndex = gSettingsScrollIndex + visibleIndex; + if (itemIndex >= static_cast(kMenuCount)) { + break; + } + + ActionId action = ACTION_NONE; + if (itemIndex == 0) action = ACTION_OPEN_WIFI; + if (itemIndex == 1) action = ACTION_OPEN_SERVER; + if (itemIndex == 2) action = ACTION_OPEN_ACCOUNT; + + makeButton(kMenuItems[itemIndex], 22, 132 + visibleIndex * 126, 436, 104, + visibleIndex == 0 ? 0x355C7D : 0x2A9D8F, action, &lv_font_montserrat_24); + } + + lv_obj_t *hint = lv_label_create(gRoot); + char hintText[48]; + snprintf(hintText, sizeof(hintText), "Items %d-%d of %d", + gSettingsScrollIndex + 1, + min(gSettingsScrollIndex + 2, static_cast(kMenuCount)), + static_cast(kMenuCount)); + lv_label_set_text(hint, hintText); + lv_obj_set_style_text_font(hint, &lv_font_montserrat_16, 0); + lv_obj_set_style_text_color(hint, lv_color_hex(0xA8B8C7), 0); + lv_obj_align(hint, LV_ALIGN_BOTTOM_MID, 0, -34); + + makeVersionTag(); +} + +static void drawSimpleScreen(const char *title, const char *body) { + setRootStyle(); + makeTitle(title, 56, &lv_font_montserrat_28); + makeBody(body, 132, 400); + makeBody("Swipe right to return to Settings.", 204, 400); + makeButton("BACK", 140, 344, 200, 72, 0x5A6570, ACTION_BACK_SETTINGS, &lv_font_montserrat_22); + makeVersionTag(); +} + +static void drawWifiScreen() { + drawSimpleScreen("Wi-Fi", "Wi-Fi screen"); +} + +static void drawServerScreen() { + drawSimpleScreen("Server", "Server screen"); +} + +static void drawAccountScreen() { + drawSimpleScreen("Account", "Account screen"); +} + +static void rebuildScreen() { + if (!gRoot) { + gRoot = lv_scr_act(); + } + + lv_obj_clean(gRoot); + + switch (gCurrentScreen) { + case SCREEN_HOME: + drawHome(); + break; + case SCREEN_SETTINGS_MENU: + drawSettingsMenu(); + break; + case SCREEN_WIFI: + drawWifiScreen(); + break; + case SCREEN_SERVER: + drawServerScreen(); + break; + case SCREEN_ACCOUNT: + drawAccountScreen(); + break; + } +} + +static void showScreen(Screen screen) { + gCurrentScreen = screen; + rebuildScreen(); +} + +static void handleHomeSwipe(SwipeDirection swipe) { + if (swipe == SWIPE_LEFT) { + showScreen(SCREEN_SETTINGS_MENU); + } +} + +static void handleSettingsSwipe(SwipeDirection swipe) { + if (swipe == SWIPE_RIGHT) { + showScreen(SCREEN_HOME); + return; + } + + if (swipe == SWIPE_UP) { + gSettingsScrollIndex++; + if (gSettingsScrollIndex > static_cast(kMenuCount) - 2) { + gSettingsScrollIndex = static_cast(kMenuCount) - 2; + } + rebuildScreen(); + return; + } + + if (swipe == SWIPE_DOWN) { + gSettingsScrollIndex--; + if (gSettingsScrollIndex < 0) { + gSettingsScrollIndex = 0; + } + rebuildScreen(); + } +} + +static void handleWifiSwipe(SwipeDirection swipe) { + if (swipe == SWIPE_RIGHT) { + showScreen(SCREEN_SETTINGS_MENU); + } +} + +static void handleServerSwipe(SwipeDirection swipe) { + if (swipe == SWIPE_RIGHT) { + showScreen(SCREEN_SETTINGS_MENU); + } +} + +static void handleAccountSwipe(SwipeDirection swipe) { + if (swipe == SWIPE_RIGHT) { + showScreen(SCREEN_SETTINGS_MENU); + } +} + +static void handleSwipe(SwipeDirection swipe) { + if (swipe == SWIPE_NONE) { + return; + } + + switch (gCurrentScreen) { + case SCREEN_HOME: + handleHomeSwipe(swipe); + break; + case SCREEN_SETTINGS_MENU: + handleSettingsSwipe(swipe); + break; + case SCREEN_WIFI: + handleWifiSwipe(swipe); + break; + case SCREEN_SERVER: + handleServerSwipe(swipe); + break; + case SCREEN_ACCOUNT: + handleAccountSwipe(swipe); + break; + } +} + +void setup() { + Serial.begin(115200); + Wire.begin(PIN_I2C_SDA, PIN_I2C_SCL); + + gfx->begin(); + gBus->writeC8D8(0x36, 0xA0); + gfx->setBrightness(220); + gfx->fillScreen(0x0000); + + gTouch.setPins(PIN_TP_INT, -1); + gTouch.begin(Wire, CST92XX_SLAVE_ADDRESS, PIN_I2C_SDA, PIN_I2C_SCL); + gTouch.setMaxCoordinates(DISP_W, DISP_H); + gTouch.setSwapXY(true); + gTouch.setMirrorXY(true, false); + + lv_init(); + + uint32_t screenWidth = gfx->width(); + uint32_t screenHeight = gfx->height(); + uint32_t bufPixels = screenWidth * 40; + gBuf1 = (lv_color_t *)heap_caps_malloc(bufPixels * sizeof(lv_color_t), MALLOC_CAP_DMA); + gBuf2 = (lv_color_t *)heap_caps_malloc(bufPixels * sizeof(lv_color_t), MALLOC_CAP_DMA); + lv_disp_draw_buf_init(&gDrawBuf, gBuf1, gBuf2, bufPixels); + + static lv_disp_drv_t dispDrv; + lv_disp_drv_init(&dispDrv); + dispDrv.hor_res = screenWidth; + dispDrv.ver_res = screenHeight; + dispDrv.flush_cb = lvglFlushCb; + dispDrv.draw_buf = &gDrawBuf; + lv_disp_drv_register(&dispDrv); + + static lv_indev_drv_t indevDrv; + lv_indev_drv_init(&indevDrv); + indevDrv.type = LV_INDEV_TYPE_POINTER; + indevDrv.read_cb = lvglTouchRead; + lv_indev_drv_register(&indevDrv); + + const esp_timer_create_args_t tickArgs = { + .callback = &lvglTick, + .name = "lvgl_tick"}; + esp_timer_handle_t tickTimer = nullptr; + esp_timer_create(&tickArgs, &tickTimer); + esp_timer_start_periodic(tickTimer, LVGL_TICK_MS * 1000); + + rebuildScreen(); + Serial.println("Minimal nav test ready"); +} + +void loop() { + lv_timer_handler(); + + if (gPendingSwipe != SWIPE_NONE) { + SwipeDirection swipe = gPendingSwipe; + gPendingSwipe = SWIPE_NONE; + handleSwipe(swipe); + gBlockClick = false; + } + + delay(5); +} diff --git a/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/lvgl_russian_font_test/lv_font_ru.h b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/lvgl_russian_font_test/lv_font_ru.h new file mode 100644 index 0000000..eecaca8 --- /dev/null +++ b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/lvgl_russian_font_test/lv_font_ru.h @@ -0,0 +1,4 @@ +#pragma once +#include +LV_FONT_DECLARE(lv_font_ru_18); +LV_FONT_DECLARE(lv_font_ru_24); diff --git a/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/lvgl_russian_font_test/lv_font_ru_18.c b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/lvgl_russian_font_test/lv_font_ru_18.c new file mode 100644 index 0000000..4557e60 --- /dev/null +++ b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/lvgl_russian_font_test/lv_font_ru_18.c @@ -0,0 +1,1553 @@ +/******************************************************************************* + * Size: 18 px + * Bpp: 4 + * Opts: --size 18 --bpp 4 --format lvgl --font /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf -r 0x20-0x7E -r 0x0401 -r 0x0410-0x044F -r 0x0451 --lv-include lvgl.h --lv-font-name lv_font_ru_18 -o lv_font_ru_18.c + ******************************************************************************/ + +#ifdef LV_LVGL_H_INCLUDE_SIMPLE +#include "lvgl.h" +#else +#include "lvgl.h" +#endif + +#ifndef LV_FONT_RU_18 +#define LV_FONT_RU_18 1 +#endif + +#if LV_FONT_RU_18 + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { + /* U+0020 " " */ + + /* U+0021 "!" */ + 0x4f, 0x80, 0xf, 0xfe, 0x17, 0xb8, 0x0, 0x40, + 0x4c, 0x88, 0x3a, 0x80, 0x62, 0x99, 0x20, 0x10, + + /* U+0022 "\"" */ + 0x4f, 0x30, 0xf8, 0x0, 0xff, 0xe3, 0x39, 0x8, + 0x1f, 0x80, + + /* U+0023 "#" */ + 0x0, 0xea, 0xc0, 0x5, 0x58, 0x7, 0xc8, 0x80, + 0x2, 0x18, 0x7, 0x84, 0x58, 0x4, 0x38, 0x1, + 0x84, 0x4e, 0xc, 0x28, 0xc, 0x20, 0x9, 0xee, + 0x48, 0x6f, 0x48, 0x6f, 0x58, 0x5d, 0xc2, 0xb7, + 0x61, 0x5b, 0xb4, 0x81, 0x22, 0x8f, 0x23, 0xf, + 0x22, 0x8, 0x4, 0x4e, 0xa, 0x28, 0xa, 0x20, + 0x9, 0xee, 0x48, 0x77, 0x24, 0x3b, 0x96, 0x17, + 0x70, 0x35, 0xd8, 0x1a, 0xed, 0x20, 0x48, 0xc1, + 0xa8, 0xc1, 0x48, 0x82, 0x0, 0x90, 0x10, 0x10, + 0xc, 0x3, 0xd8, 0x60, 0xc, 0x30, 0xe, + + /* U+0024 "$" */ + 0x0, 0xd8, 0x20, 0x1f, 0xfc, 0xa3, 0xbe, 0x3e, + 0xe5, 0x88, 0xb1, 0xac, 0xae, 0x0, 0xdc, 0x39, + 0x45, 0x5a, 0xc8, 0x0, 0xe0, 0x1e, 0x71, 0xb9, + 0x25, 0x0, 0x87, 0xd9, 0x6, 0xfa, 0x0, 0x3, + 0x3a, 0x74, 0x8f, 0x0, 0x1c, 0x94, 0x6a, 0x20, + 0x1e, 0x10, 0x9c, 0x74, 0x17, 0xb2, 0xaa, 0x25, + 0x50, 0xa5, 0xe5, 0xca, 0x37, 0x8b, 0xb1, 0x80, + 0x38, 0x40, 0x3f, 0x50, 0x80, 0x40, + + /* U+0025 "%" */ + 0x9, 0xee, 0x50, 0x80, 0x65, 0xf1, 0x0, 0xa5, + 0xf7, 0x49, 0x60, 0x10, 0xdc, 0x88, 0x4, 0xf2, + 0x66, 0x85, 0x0, 0xac, 0x98, 0x3, 0xff, 0x80, + 0x8b, 0xc0, 0x1c, 0x94, 0x22, 0xa4, 0x0, 0x4b, + 0x90, 0x7, 0x5b, 0x77, 0x2, 0x42, 0x2, 0x0, + 0x3c, 0x37, 0xfd, 0x84, 0x47, 0x90, 0x7d, 0xd4, + 0x0, 0x70, 0x80, 0x39, 0x51, 0xa2, 0x12, 0xd0, + 0x1, 0xe6, 0x2b, 0xa, 0x65, 0x49, 0x70, 0xe, + 0x19, 0xb1, 0x2, 0xe0, 0x1, 0x0, 0x80, 0x6b, + 0x45, 0x0, 0x1f, 0x0, 0x8, 0x4, 0x2, 0x45, + 0x90, 0xa, 0x99, 0xe, 0x58, 0x3, 0x54, 0x10, + 0x4, 0xee, 0xad, 0x79, 0x0, + + /* U+0026 "&" */ + 0x0, 0x15, 0x77, 0xec, 0x80, 0x7d, 0xea, 0xd2, + 0x8e, 0x40, 0x1c, 0x85, 0x10, 0x69, 0xe2, 0x0, + 0xff, 0xe3, 0x21, 0x49, 0x0, 0x7f, 0x10, 0xe, + 0x10, 0x7, 0xc3, 0x8d, 0xc7, 0x84, 0x1, 0x6e, + 0x4, 0x8d, 0xe, 0x1e, 0x18, 0x0, 0x90, 0x10, + 0x84, 0x7, 0xf, 0x4d, 0xc2, 0x80, 0x4, 0x1, + 0xe, 0x1e, 0x4b, 0x10, 0x20, 0x48, 0x4, 0x32, + 0x3, 0xa0, 0x8, 0x36, 0xc7, 0x75, 0x59, 0xd, + 0x10, 0x3, 0x20, 0x62, 0xd, 0x3b, 0xa1, 0xc2, + + /* U+0027 "'" */ + 0x4f, 0x30, 0xf, 0xe7, 0x21, + + /* U+0028 "(" */ + 0x0, 0x17, 0xa8, 0x2, 0xd, 0x40, 0x96, 0x40, + 0x16, 0xa, 0x0, 0x74, 0x0, 0x10, 0x98, 0x1, + 0xc3, 0x40, 0x6, 0x2, 0x1, 0xf1, 0x80, 0x80, + 0x1c, 0x34, 0x0, 0x42, 0x60, 0x13, 0xa0, 0x5, + 0x60, 0xa0, 0x2, 0x59, 0x0, 0xa0, 0xd4, + + /* U+0029 ")" */ + 0x4f, 0x20, 0x2, 0x1c, 0x80, 0x52, 0x84, 0x0, + 0x50, 0xb0, 0x9, 0x1c, 0x2, 0xc1, 0x20, 0x1, + 0x3, 0x80, 0x4, 0xc, 0x3, 0xe1, 0x3, 0x0, + 0x10, 0x38, 0x3, 0x4, 0x80, 0x8, 0xe0, 0x5, + 0xb, 0x0, 0x4a, 0x10, 0x21, 0xc8, 0x0, + + /* U+002A "*" */ + 0x0, 0xde, 0x1, 0xc6, 0x1, 0xc6, 0x7, 0xd2, + 0x20, 0x33, 0xc6, 0x6d, 0xec, 0xc, 0xed, 0x30, + 0x1, 0x88, 0x9, 0x80, 0xb, 0x23, 0x83, 0xa3, + 0x8, 0xe7, 0x8, 0xb, 0x24, 0xc5, 0x40, 0x39, + 0x44, 0x3, 0x68, 0x6, + + /* U+002B "+" */ + 0x0, 0xf1, 0x80, 0x7f, 0xc7, 0x88, 0x1, 0xff, + 0xe1, 0x22, 0xcc, 0x4, 0x5c, 0x3, 0xbb, 0xa8, + 0x27, 0x77, 0x10, 0xd5, 0x68, 0x7, 0xaa, 0xc4, + 0xa, 0xb9, 0x3, 0x15, 0x70, 0x7, 0xff, 0x70, + + /* U+002C "," */ + 0x4, 0x40, 0x55, 0x80, 0x99, 0x82, 0x10, 0xd0, + + /* U+002D "-" */ + 0x2, 0x2c, 0x25, 0xbb, 0xa0, 0xaa, 0xb8, + + /* U+002E "." */ + 0x3, 0x21, 0xce, 0x0, 0x80, + + /* U+002F "/" */ + 0x0, 0xd3, 0xc0, 0x1c, 0xee, 0x0, 0xc6, 0x3a, + 0x1, 0xac, 0x10, 0x3, 0x2a, 0x80, 0x31, 0x13, + 0xc0, 0x32, 0x82, 0x80, 0x6b, 0x40, 0xc, 0x27, + 0xa0, 0x19, 0xc1, 0xc0, 0x36, 0x98, 0x80, 0x42, + 0x96, 0x1, 0x90, 0x14, 0x3, 0x79, 0x10, 0x3, + 0x6c, 0x80, 0x70, + + /* U+0030 "0" */ + 0x0, 0x36, 0xff, 0x48, 0x80, 0x4f, 0x23, 0x2c, + 0xcc, 0x0, 0xc, 0x1e, 0x34, 0x51, 0x40, 0x30, + 0x48, 0x4, 0xa2, 0xc1, 0xa0, 0x80, 0x19, 0x4, + 0x4c, 0x2, 0x1, 0x88, 0x8, 0x3, 0xff, 0x90, + 0xc0, 0x20, 0x18, 0x80, 0xb4, 0x10, 0x3, 0x20, + 0x89, 0x82, 0x40, 0x25, 0x16, 0x1, 0x83, 0xc6, + 0x8a, 0x29, 0x0, 0x3c, 0x8c, 0xb3, 0x30, 0x40, + + /* U+0031 "1" */ + 0x7, 0xae, 0xfe, 0x0, 0xd0, 0x8a, 0x1, 0xed, + 0xeb, 0x20, 0xe, 0x20, 0xf, 0xff, 0xda, 0xbb, + 0x8c, 0x5d, 0xcc, 0x13, 0x10, 0x10, 0x88, 0x50, + + /* U+0032 "2" */ + 0x27, 0xce, 0xfc, 0x70, 0x5, 0xc0, 0x33, 0x84, + 0x60, 0x6f, 0x64, 0x43, 0x14, 0xd9, 0x4, 0x3, + 0x70, 0x70, 0x7, 0x84, 0x3c, 0x3, 0xd0, 0xc, + 0x1, 0xd4, 0x52, 0x20, 0x1a, 0x56, 0x18, 0x3, + 0x4b, 0x43, 0x80, 0x6a, 0x68, 0x70, 0xd, 0x4b, + 0xe, 0x1, 0xa1, 0x48, 0x1d, 0xf2, 0x98, 0x14, + 0x47, 0x78, + + /* U+0033 "3" */ + 0x19, 0xde, 0xfd, 0x92, 0x0, 0x12, 0x3b, 0x3b, + 0x9b, 0x48, 0xf, 0x6a, 0x21, 0x54, 0xb, 0x0, + 0xf9, 0xc0, 0xc0, 0x31, 0x11, 0x38, 0x3c, 0x2, + 0x5d, 0xd5, 0x94, 0x28, 0x4, 0x95, 0x47, 0x30, + 0xe, 0x15, 0x54, 0x74, 0x40, 0x3, 0xe3, 0x26, + 0x0, 0xfe, 0x10, 0x20, 0xe, 0x52, 0x30, 0x8e, + 0xa8, 0x86, 0x50, 0x78, 0x72, 0x3b, 0xc2, 0xda, + 0x60, + + /* U+0034 "4" */ + 0x0, 0xe1, 0xef, 0x90, 0xf, 0xa0, 0x40, 0x3f, + 0x1b, 0x40, 0x7, 0xee, 0x54, 0x0, 0xfa, 0xe, + 0xc0, 0x3e, 0x27, 0x81, 0x0, 0xfb, 0x8d, 0x80, + 0x3e, 0x63, 0xe0, 0xf, 0xd2, 0xa0, 0x44, 0x60, + 0x1, 0x1, 0x2, 0xee, 0xd4, 0xd, 0xae, 0x55, + 0x5d, 0x0, 0x94, 0xa0, 0xab, 0xc8, 0x4, 0xa4, + 0x1, 0xff, 0x0, + + /* U+0035 "5" */ + 0x1f, 0xff, 0x70, 0x4, 0x71, 0x1a, 0x40, 0x25, + 0x77, 0xe0, 0xc, 0x22, 0x0, 0xf3, 0x77, 0x3e, + 0x84, 0x4, 0xde, 0xa1, 0x17, 0x4, 0x32, 0x15, + 0xed, 0x8a, 0x40, 0x3d, 0x20, 0x80, 0x1f, 0x8, + 0x80, 0x3c, 0x23, 0x10, 0x7, 0x58, 0x5d, 0xba, + 0xa2, 0x75, 0x4d, 0xf5, 0x51, 0xd8, 0x63, 0x0, + + /* U+0036 "6" */ + 0x0, 0xc, 0x6f, 0xf5, 0xa0, 0x0, 0x71, 0xd9, + 0xd8, 0x8, 0x1, 0xa7, 0x97, 0x10, 0xb6, 0x3, + 0x34, 0x98, 0x7, 0xac, 0xe, 0xff, 0xda, 0xc0, + 0x2, 0xa, 0x7a, 0x90, 0x97, 0x1, 0x3, 0xc5, + 0x6d, 0x18, 0x0, 0xa8, 0x3, 0x38, 0x19, 0x0, + 0x80, 0x61, 0x7, 0xc0, 0x10, 0xc, 0x20, 0xe8, + 0x12, 0x1, 0xb, 0x9, 0x8c, 0x8e, 0xbc, 0x78, + 0x58, 0x1, 0xac, 0x61, 0xd6, 0xd4, 0x0, + + /* U+0037 "7" */ + 0x8f, 0xff, 0xba, 0xe2, 0x39, 0x41, 0xd, 0xdf, + 0x8c, 0x24, 0x3, 0xcc, 0x46, 0x1, 0xcc, 0x14, + 0x1, 0xea, 0x6, 0x0, 0xe2, 0x35, 0x10, 0xe, + 0xb0, 0xe0, 0xf, 0x38, 0xa0, 0x7, 0x28, 0xb0, + 0x7, 0xb8, 0x28, 0x3, 0x89, 0x10, 0x40, 0x1d, + 0x41, 0xc0, 0x18, + + /* U+0038 "8" */ + 0x1, 0x8d, 0xfe, 0xb5, 0x0, 0xb1, 0xd2, 0x64, + 0xd4, 0xe0, 0xa5, 0x12, 0xcf, 0x81, 0x40, 0x60, + 0x20, 0x10, 0x88, 0x0, 0x81, 0xa, 0x47, 0x43, + 0x0, 0x54, 0x15, 0xb8, 0x98, 0xa0, 0x1, 0x57, + 0xa9, 0x3c, 0x40, 0x3b, 0xd8, 0x56, 0xd1, 0xa0, + 0x90, 0x70, 0xc, 0xe2, 0x4c, 0x1, 0xe3, 0x0, + 0x28, 0x30, 0x4, 0x28, 0x5, 0x61, 0x14, 0xd1, + 0xe3, 0x20, 0x5c, 0xcf, 0x2e, 0x54, 0xc0, + + /* U+0039 "9" */ + 0x1, 0x9e, 0xfe, 0x80, 0x8, 0x7d, 0x9e, 0x5d, + 0xd8, 0x0, 0x91, 0x99, 0x34, 0xc8, 0xd8, 0x10, + 0x18, 0x2, 0x60, 0xa0, 0x10, 0xf, 0x8c, 0x1c, + 0xc, 0x2, 0x30, 0x1, 0x48, 0x72, 0x92, 0x70, + 0x4, 0x74, 0x75, 0xb6, 0xea, 0x6, 0xb, 0xd9, + 0x7d, 0x4e, 0x2, 0x1, 0x1a, 0x9, 0x11, 0x40, + 0x3e, 0xe0, 0x90, 0x7, 0x54, 0x4f, 0x1c, 0x98, + 0x1, 0xdf, 0x2d, 0xb0, 0x0, + + /* U+003A ":" */ + 0x33, 0x6e, 0x0, 0x3b, 0xc0, 0x3c, 0x66, 0xdc, + 0x0, 0x0, + + /* U+003B ";" */ + 0x3, 0x30, 0x6e, 0x0, 0x6e, 0xf0, 0xf, 0xf2, + 0x20, 0x2a, 0xc0, 0x4c, 0xc1, 0x8, 0x68, + + /* U+003C "<" */ + 0x0, 0xff, 0x88, 0x3, 0xf8, 0x5b, 0x34, 0x80, + 0x3c, 0xb7, 0xd2, 0x10, 0x40, 0x12, 0x4f, 0xd3, + 0x3e, 0xe3, 0x80, 0x23, 0xad, 0xdb, 0x36, 0x8, + 0x2, 0x17, 0x14, 0xf9, 0x30, 0xf, 0xd, 0x22, + 0x3b, 0x18, 0x40, 0x3c, 0xb7, 0xd2, 0x13, 0xd6, + 0xa0, 0x1e, 0x16, 0xcd, 0x76, 0xaf, 0xa1, 0x0, + 0xf1, 0x46, 0xe3, 0x21, 0x80, 0x7f, 0x1c, 0xf1, + 0x0, + + /* U+003D "=" */ + 0x2, 0x2f, 0xf8, 0x7, 0x77, 0xfe, 0x21, 0xaa, + 0xff, 0x88, 0x15, 0x7f, 0xe0, 0x1, 0x17, 0xfc, + 0x3, 0xbb, 0xff, 0x10, 0xd5, 0x7f, 0xc4, + + /* U+003E ">" */ + 0x2, 0x0, 0xff, 0x87, 0x71, 0xc4, 0x3, 0xf0, + 0xc8, 0x47, 0x5a, 0x80, 0x7c, 0xd9, 0xb0, 0xd5, + 0xf4, 0x80, 0x1e, 0x27, 0xdd, 0x3a, 0x5f, 0x48, + 0x7, 0xc5, 0x1e, 0xa2, 0xc4, 0x1, 0xe6, 0xbe, + 0x54, 0xa2, 0x0, 0x96, 0xbe, 0x5a, 0x3a, 0xd4, + 0x1, 0x3f, 0x48, 0xfb, 0xa7, 0x10, 0x8, 0x59, + 0x97, 0xd0, 0x40, 0x1e, 0x1f, 0x94, 0x0, 0xfe, + + /* U+003F "?" */ + 0x29, 0xdf, 0xe9, 0x10, 0x97, 0x58, 0x46, 0xd0, + 0xfe, 0x87, 0xa5, 0x33, 0x20, 0x6, 0x30, 0xf, + 0x1b, 0x19, 0x80, 0x23, 0xc2, 0xd0, 0x8, 0x70, + 0xb0, 0x40, 0x27, 0x9, 0x10, 0xd, 0xc0, 0xc0, + 0x1d, 0x8e, 0x60, 0x1c, 0xb6, 0x20, 0x1d, 0x18, + 0x60, 0x1f, 0xf0, + + /* U+0040 "@" */ + 0x0, 0xff, 0xe4, 0x14, 0x6f, 0xfb, 0xad, 0x40, + 0x3e, 0x9d, 0x3a, 0xbc, 0xb2, 0xbd, 0x20, 0xd, + 0x6f, 0x76, 0x74, 0x35, 0x9f, 0x7c, 0x30, 0x4, + 0xaf, 0xa0, 0x7, 0x86, 0x9f, 0x80, 0x9a, 0x84, + 0x13, 0x7f, 0xa2, 0x18, 0x12, 0x6a, 0xa2, 0x40, + 0x1b, 0x1b, 0xa3, 0x70, 0x9, 0x3f, 0x14, 0x1, + 0x23, 0x88, 0x8b, 0x10, 0x8, 0x85, 0xfc, 0x0, + 0x4a, 0x1, 0x90, 0x2, 0x21, 0x7f, 0x0, 0x13, + 0x0, 0x67, 0x0, 0xa, 0xf9, 0x98, 0x1, 0x65, + 0x22, 0x28, 0x20, 0x4c, 0x45, 0xb4, 0x20, 0x39, + 0x6e, 0xe1, 0xb1, 0xd2, 0xd8, 0x1a, 0x70, 0x1, + 0xbf, 0x7a, 0xe3, 0x7a, 0x0, 0x2a, 0x2b, 0x10, + 0x1, 0x8, 0x9, 0xa0, 0x6, 0x1c, 0x7f, 0x83, + 0x11, 0x1c, 0x7c, 0x80, 0x71, 0x64, 0x26, 0x77, + 0x31, 0x63, 0x40, 0x3e, 0x6c, 0xfd, 0xd7, 0x6b, + 0x0, 0x60, + + /* U+0041 "A" */ + 0x0, 0xc3, 0xfe, 0x50, 0xf, 0xe7, 0x2, 0xe0, + 0xf, 0xea, 0x4b, 0x42, 0x0, 0xf8, 0xcd, 0xce, + 0x14, 0x1, 0xf5, 0x2, 0x8a, 0x30, 0x7, 0xce, + 0xa0, 0xe, 0x14, 0x0, 0xe5, 0x1e, 0x0, 0x28, + 0xf0, 0x7, 0x70, 0xb1, 0x14, 0x8a, 0x20, 0x11, + 0x20, 0xee, 0xe5, 0x7, 0x0, 0xa8, 0x26, 0xab, + 0x8a, 0xc0, 0x26, 0x26, 0x55, 0xea, 0x23, 0x4, + 0x1a, 0x0, 0xf2, 0x85, 0x7, 0x2, 0x80, 0x78, + 0x88, 0xc0, + + /* U+0042 "B" */ + 0x3f, 0xfe, 0xda, 0x20, 0xc, 0x91, 0x13, 0xae, + 0x90, 0x4, 0x6e, 0xf5, 0x40, 0x28, 0x7, 0xe2, + 0x0, 0xe1, 0x18, 0x92, 0x5, 0x80, 0x26, 0xee, + 0x6d, 0x86, 0x8, 0x4, 0xb7, 0x6a, 0x83, 0xc2, + 0x0, 0x89, 0x10, 0xaf, 0x83, 0x20, 0x1f, 0x88, + 0x88, 0x1, 0xfc, 0x60, 0x1f, 0xc6, 0x24, 0x1, + 0x23, 0xbd, 0x38, 0x12, 0x1, 0x1c, 0x44, 0xe9, + 0x88, 0x0, + + /* U+0043 "C" */ + 0x0, 0x9b, 0x3b, 0xfa, 0xd4, 0x0, 0x5b, 0x20, + 0xd0, 0xcf, 0x50, 0x1e, 0x53, 0x90, 0xf1, 0x98, + 0xf6, 0x26, 0x60, 0x7, 0x1b, 0xe8, 0x58, 0x7, + 0xe5, 0x2, 0x0, 0xfc, 0x22, 0x0, 0xfe, 0x11, + 0x0, 0x7f, 0x28, 0x10, 0x7, 0xed, 0xb, 0x0, + 0xfc, 0xc4, 0xcc, 0x0, 0xe4, 0x70, 0xf2, 0x9c, + 0x87, 0x8c, 0xbf, 0x2, 0xd9, 0x6, 0x86, 0x7a, + 0x80, + + /* U+0044 "D" */ + 0x3f, 0xfd, 0xdb, 0x48, 0x1, 0xc9, 0x10, 0x97, + 0x4b, 0xc1, 0x0, 0x8d, 0xde, 0xae, 0x63, 0xd0, + 0xf, 0xe9, 0x43, 0x40, 0xf, 0xee, 0xd, 0x0, + 0xfe, 0x70, 0x20, 0xf, 0xe3, 0x7, 0x0, 0xfe, + 0x30, 0x70, 0xf, 0xe7, 0x2, 0x0, 0xfe, 0x90, + 0xd0, 0xf, 0xd2, 0x66, 0x40, 0x2, 0x3b, 0xd5, + 0xcc, 0x7a, 0x1, 0x1c, 0x44, 0xe9, 0x78, 0x20, + + /* U+0045 "E" */ + 0x3f, 0xff, 0xc2, 0x0, 0x38, 0x8f, 0x8, 0x1, + 0x1d, 0xfc, 0x1, 0xff, 0xc1, 0x12, 0x2e, 0x10, + 0x9, 0xb7, 0x7c, 0x1, 0x25, 0x57, 0x40, 0x4, + 0x6a, 0xbc, 0x80, 0x1f, 0xfd, 0x54, 0x77, 0xf0, + 0x80, 0xe, 0x23, 0xc4, + + /* U+0046 "F" */ + 0x3f, 0xff, 0x94, 0x0, 0x71, 0x1c, 0xe0, 0x4, + 0x77, 0xe2, 0x0, 0xff, 0x84, 0x8b, 0x8, 0x4, + 0xdb, 0xbc, 0x1, 0x25, 0x56, 0xf0, 0x8, 0xd5, + 0x71, 0x80, 0x7f, 0xf8, 0x80, + + /* U+0047 "G" */ + 0x0, 0x9a, 0xfb, 0xfb, 0x20, 0x40, 0x5, 0xb2, + 0xcc, 0x86, 0x63, 0xf0, 0x87, 0x94, 0xec, 0x3c, + 0x57, 0xb8, 0x31, 0x33, 0x0, 0x3d, 0x3, 0xa1, + 0x60, 0x1f, 0xca, 0x4, 0x1, 0x88, 0xb0, 0x8, + 0x80, 0x31, 0xee, 0xe7, 0x11, 0x0, 0x63, 0xaa, + 0x38, 0x1, 0x40, 0x80, 0x32, 0xab, 0x0, 0x1a, + 0x14, 0x1, 0xfc, 0xc4, 0xec, 0x1, 0xfd, 0xe5, + 0x3b, 0xf, 0x15, 0x60, 0x40, 0x5b, 0x2c, 0xc8, + 0x76, 0x7d, 0x50, + + /* U+0048 "H" */ + 0x3f, 0x80, 0xf, 0x7e, 0x0, 0x7f, 0xf5, 0xc4, + 0x8b, 0xc0, 0x19, 0xb7, 0x7c, 0x1, 0x92, 0xab, + 0xc0, 0x18, 0xd5, 0x7c, 0x1, 0xff, 0xed, + + /* U+0049 "I" */ + 0x3f, 0x80, 0xf, 0xfe, 0xc0, + + /* U+004A "J" */ + 0x0, 0x1f, 0xc0, 0x7, 0xff, 0xc9, 0xc3, 0xc0, + 0x1a, 0x6, 0xf4, 0xc4, 0x92, 0x8b, 0xe0, + + /* U+004B "K" */ + 0x3f, 0x80, 0xc, 0x7d, 0xe6, 0x1, 0xf1, 0xe0, + 0x61, 0x80, 0x79, 0x30, 0x70, 0xc0, 0x3c, 0xb6, + 0x5e, 0x40, 0x1e, 0x6a, 0x3c, 0x10, 0xf, 0x2c, + 0x9e, 0x8, 0x7, 0xc4, 0xc, 0x1, 0xfc, 0xca, + 0xaa, 0x0, 0xfc, 0x34, 0xaa, 0xa0, 0xf, 0xea, + 0x55, 0x50, 0x7, 0xf5, 0x2a, 0xa8, 0x3, 0xfa, + 0x95, 0x54, 0x1, 0xfd, 0x4a, 0xaa, 0x0, + + /* U+004C "L" */ + 0x3f, 0x80, 0xf, 0xff, 0xf8, 0x7, 0xff, 0x2d, + 0x1d, 0xfc, 0x0, 0x38, 0x8f, 0x0, + + /* U+004D "M" */ + 0x3f, 0xf4, 0x80, 0x70, 0xff, 0xb0, 0x2, 0x60, + 0xe, 0x60, 0xe, 0x50, 0x50, 0xd, 0x48, 0x1, + 0xb4, 0xf8, 0x2, 0x32, 0xe0, 0xe, 0xa4, 0x10, + 0x5, 0xa, 0x80, 0x73, 0x3, 0x0, 0x1d, 0x80, + 0x3e, 0x5a, 0x5, 0x1a, 0x0, 0xfb, 0x89, 0x38, + 0xc8, 0x3, 0xe4, 0x1f, 0x4a, 0x0, 0xfe, 0x64, + 0x7, 0x0, 0xfe, 0x97, 0x91, 0x0, 0xfe, 0x18, + 0x60, 0xf, 0xfe, 0x30, + + /* U+004E "N" */ + 0x3f, 0xf3, 0x0, 0x77, 0xd8, 0x5, 0x0, 0x1f, + 0xc6, 0x2e, 0x1, 0xfa, 0xce, 0x4, 0x3, 0xf7, + 0x84, 0x80, 0x7e, 0x34, 0x71, 0x0, 0xfd, 0x21, + 0x60, 0x1f, 0x89, 0x54, 0x40, 0x1f, 0xa0, 0x24, + 0x3, 0xf1, 0x32, 0x20, 0x3, 0xf4, 0x4, 0x0, + 0x7e, 0x18, 0x30, 0xf, 0xe7, 0x10, 0x0, + + /* U+004F "O" */ + 0x0, 0x9f, 0x3f, 0xdb, 0x2, 0x1, 0x8b, 0x61, + 0xe2, 0xe, 0xef, 0x30, 0xb, 0xca, 0xad, 0xdd, + 0x58, 0x3a, 0x20, 0xc4, 0xca, 0x1, 0x8e, 0x46, + 0x3, 0x42, 0xc0, 0x3c, 0xc0, 0xe0, 0xa0, 0x40, + 0x1f, 0x18, 0x8e, 0x0, 0xfc, 0xe0, 0x62, 0x20, + 0xf, 0xce, 0x6, 0xa0, 0x40, 0x1f, 0x18, 0x8b, + 0x42, 0xc0, 0x3c, 0xc0, 0xe0, 0xc4, 0xca, 0x1, + 0x8e, 0x46, 0x0, 0x1e, 0x55, 0x6e, 0xea, 0xc1, + 0xd1, 0x0, 0x16, 0xc3, 0xc4, 0x1d, 0xde, 0x60, + 0x0, + + /* U+0050 "P" */ + 0x3f, 0xfe, 0xc6, 0x0, 0xc9, 0x10, 0x72, 0x99, + 0x0, 0x46, 0xee, 0x8f, 0x16, 0x10, 0xf, 0xa, + 0x1, 0x0, 0x7c, 0xe0, 0x20, 0x1, 0x22, 0x1d, + 0x11, 0x90, 0x1, 0xb7, 0x58, 0xa7, 0xa0, 0x12, + 0x55, 0xdb, 0xb0, 0x40, 0x23, 0x54, 0x40, 0x80, + 0x7f, 0xf7, 0xc0, + + /* U+0051 "Q" */ + 0x0, 0x9f, 0x3f, 0xdb, 0x2, 0x1, 0x8b, 0x61, + 0xe2, 0xe, 0xef, 0x30, 0xb, 0xca, 0xad, 0xdd, + 0x58, 0x3a, 0x20, 0xc4, 0xca, 0x1, 0x8e, 0x46, + 0x3, 0x42, 0xc0, 0x3c, 0xc0, 0xe0, 0xa0, 0x40, + 0x1f, 0x18, 0x8e, 0x0, 0xfc, 0xe0, 0x62, 0x20, + 0xf, 0xce, 0x4, 0xa0, 0x40, 0x1f, 0x18, 0x86, + 0x85, 0x0, 0x79, 0x81, 0x81, 0x89, 0xd4, 0x3, + 0x1c, 0xc, 0x80, 0x3c, 0xaa, 0xdd, 0xd5, 0x81, + 0xa2, 0x0, 0x2d, 0x87, 0x88, 0x29, 0x79, 0x80, + 0x73, 0xe7, 0xf9, 0x49, 0x80, 0x3f, 0xd4, 0x90, + 0xe0, 0x0, + + /* U+0052 "R" */ + 0x3f, 0xfe, 0xc7, 0x0, 0xe4, 0x88, 0x38, 0xc4, + 0x80, 0x63, 0x77, 0x46, 0x8b, 0x8, 0x7, 0xe4, + 0x2, 0x0, 0xfc, 0xc0, 0x20, 0x10, 0x91, 0xe, + 0x4c, 0xc4, 0x1, 0x36, 0xeb, 0x19, 0x74, 0x3, + 0x25, 0x52, 0x5, 0x84, 0x3, 0x1a, 0xa9, 0xf4, + 0xe8, 0x3, 0xf1, 0xaa, 0x8c, 0x3, 0xf4, 0x4, + 0x0, 0x7e, 0x25, 0x43, 0x0, 0xfd, 0x1, 0x0, + + /* U+0053 "S" */ + 0x1, 0x9d, 0xfe, 0xd9, 0x40, 0x2e, 0x67, 0x89, + 0x77, 0x70, 0x40, 0x55, 0x1d, 0xd5, 0xd0, 0xc, + 0xa, 0x1, 0xc4, 0xc, 0xa, 0x1, 0xf4, 0x5, + 0x6c, 0xb1, 0x0, 0x45, 0xac, 0xd, 0x3b, 0x84, + 0x0, 0x29, 0xde, 0xb5, 0x3f, 0x0, 0xe1, 0x4a, + 0x52, 0x40, 0xf, 0xb4, 0x9, 0x0, 0x3d, 0x60, + 0xb1, 0xf4, 0xee, 0x8d, 0x35, 0x3f, 0x76, 0x98, + 0x61, 0x9a, 0x0, + + /* U+0054 "T" */ + 0xf, 0xff, 0xf8, 0x1, 0x11, 0x94, 0x16, 0x23, + 0x0, 0x1d, 0xf6, 0x6, 0x3b, 0xe0, 0xf, 0xff, + 0xf8, 0x7, 0xff, 0xb0, + + /* U+0055 "U" */ + 0x7f, 0x50, 0xe, 0x2f, 0x90, 0xf, 0xff, 0xf8, + 0x0, 0x40, 0xc0, 0x38, 0x40, 0x4, 0x1c, 0x1, + 0xca, 0x1c, 0x82, 0xc2, 0x1, 0xa8, 0x14, 0x2c, + 0x7a, 0x5e, 0x38, 0xdc, 0x81, 0x71, 0x5e, 0x19, + 0x6a, 0x0, + + /* U+0056 "V" */ + 0xaf, 0x30, 0xf, 0xb7, 0xc3, 0x82, 0x80, 0x3c, + 0x84, 0xc0, 0x82, 0xe0, 0x1e, 0xe0, 0xa0, 0x3, + 0xa, 0x80, 0x72, 0x91, 0x80, 0x28, 0x38, 0x3, + 0x30, 0x58, 0x4, 0x48, 0x81, 0x0, 0xa8, 0x1c, + 0x3, 0x70, 0x30, 0x0, 0x8d, 0x44, 0x3, 0x28, + 0xd0, 0x2, 0x83, 0x80, 0x3c, 0xe4, 0x60, 0xc2, + 0x80, 0x1e, 0xa0, 0xa4, 0x16, 0x0, 0xf8, 0xcc, + 0xde, 0x14, 0x1, 0xfa, 0x81, 0x10, 0x40, 0x1f, + 0x9c, 0x1, 0xc0, 0x1c, + + /* U+0057 "W" */ + 0x4f, 0x80, 0xc, 0x7f, 0xe0, 0xe, 0xbf, 0x14, + 0x4, 0x0, 0xc8, 0x0, 0x40, 0xc, 0x84, 0x20, + 0x66, 0x0, 0xd8, 0x83, 0x80, 0x11, 0x82, 0x0, + 0x10, 0x10, 0x2, 0x4c, 0x44, 0x0, 0x48, 0x18, + 0x0, 0xc0, 0xc0, 0x1, 0x82, 0x61, 0x80, 0x58, + 0x8, 0x0, 0x40, 0x40, 0x2, 0x1, 0xa0, 0x20, + 0x1, 0xc, 0x40, 0x23, 0x30, 0x3, 0x10, 0x8, + 0x70, 0xc, 0x10, 0x3, 0x20, 0x20, 0x26, 0x0, + 0x11, 0x0, 0x81, 0x80, 0x1b, 0x3, 0xc, 0x10, + 0x1, 0x86, 0x18, 0x8, 0x1, 0x90, 0x11, 0x0, + 0x60, 0x4, 0x4, 0x41, 0x80, 0x79, 0xe, 0xd0, + 0x2, 0x21, 0x80, 0x40, 0xf, 0x60, 0x1e, 0x0, + 0x64, 0x30, 0xc0, 0xf, 0x20, 0x1, 0x0, 0x36, + 0x80, 0x10, 0x2, + + /* U+0058 "X" */ + 0x8, 0xf6, 0x0, 0xec, 0xf2, 0x8, 0x29, 0x10, + 0x9, 0xce, 0x8, 0x1, 0xc1, 0x40, 0x2, 0x83, + 0x70, 0x8, 0xdd, 0x18, 0x38, 0x38, 0x3, 0xa0, + 0xe6, 0x47, 0x4, 0x1, 0xee, 0x6, 0x37, 0x0, + 0xff, 0x58, 0x7, 0xe9, 0x2, 0x82, 0x0, 0xf3, + 0x24, 0x78, 0x70, 0x7, 0x14, 0x9b, 0x94, 0x1b, + 0x0, 0x6e, 0xe, 0x0, 0x39, 0xc9, 0x0, 0x1c, + 0xe0, 0x80, 0x2e, 0xe, 0x2, 0x83, 0x70, 0xc, + 0x50, 0x6c, + + /* U+0059 "Y" */ + 0xb, 0xf3, 0x0, 0xe3, 0xfb, 0x0, 0x50, 0xf0, + 0x7, 0x70, 0xd0, 0x0, 0x6c, 0xa4, 0x2, 0x92, + 0xb1, 0x0, 0x95, 0x4c, 0x80, 0x6c, 0xaa, 0x0, + 0xeb, 0x1a, 0x1e, 0x1b, 0x0, 0xf0, 0xd0, 0xf9, + 0x50, 0x80, 0x7c, 0x8c, 0x2c, 0x80, 0x1f, 0xde, + 0x1e, 0x1, 0xff, 0xfa, + + /* U+005A "Z" */ + 0xf, 0xff, 0xf2, 0x84, 0x47, 0xce, 0x0, 0x70, + 0x77, 0xf8, 0xc2, 0x48, 0x3, 0xe8, 0x46, 0x60, + 0x7, 0xca, 0xe9, 0x20, 0x1f, 0x1d, 0x15, 0x0, + 0x7c, 0x3a, 0x1e, 0x20, 0x1f, 0x68, 0xd9, 0x0, + 0x7d, 0x27, 0x8, 0x1, 0xf3, 0x31, 0x5c, 0x3, + 0xe4, 0x92, 0xa0, 0xf, 0x86, 0x81, 0x1d, 0xfe, + 0x32, 0x10, 0x68, 0x8f, 0xac, + + /* U+005B "[" */ + 0x7f, 0xf9, 0x0, 0x15, 0x8a, 0x0, 0x73, 0x10, + 0xf, 0xff, 0x68, 0x80, 0x6c, 0xf4, 0x6c, 0xc9, + 0x0, + + /* U+005C "\\" */ + 0xda, 0x0, 0xe5, 0x50, 0x7, 0x58, 0x20, 0x6, + 0x31, 0xd0, 0xe, 0x77, 0x0, 0x76, 0x89, 0x80, + 0x64, 0x1b, 0x0, 0xe4, 0x50, 0xe, 0xf2, 0x20, + 0x6, 0x50, 0x50, 0xe, 0x5b, 0x0, 0xef, 0x31, + 0x0, 0xc8, 0xe, 0x1, 0x85, 0x34, 0x3, 0xbf, + 0x0, + + /* U+005D "]" */ + 0x4f, 0xf9, 0xd3, 0x28, 0x2, 0x37, 0x0, 0xff, + 0xf9, 0x27, 0xe8, 0x1, 0x33, 0x26, + + /* U+005E "^" */ + 0x0, 0xec, 0xfd, 0x10, 0xf, 0xd6, 0x6a, 0x5a, + 0x1, 0xf5, 0x24, 0xd5, 0xf, 0x0, 0x3a, 0x96, + 0x98, 0x16, 0xce, 0xc0, 0x29, 0x5b, 0x50, 0x9, + 0x31, 0x68, 0x0, + + /* U+005F "_" */ + 0x0, 0xff, 0x8b, 0xff, 0xf8, 0x89, 0x99, 0xfc, + 0x40, + + /* U+0060 "`" */ + 0x28, 0x30, 0x1, 0x13, 0x80, 0x2a, 0xa, 0x0, + 0xbd, 0x14, + + /* U+0061 "a" */ + 0x18, 0xce, 0xfd, 0x70, 0x1, 0x32, 0xc4, 0xb4, + 0x48, 0x1f, 0x4b, 0x32, 0xd9, 0x82, 0x1, 0xed, + 0x4, 0x6, 0xcf, 0xfa, 0xc0, 0xde, 0x5a, 0xb3, + 0x12, 0x0, 0xa2, 0xa5, 0x33, 0x0, 0x7f, 0x58, + 0x1, 0x4a, 0xd9, 0xf4, 0x40, 0x10, 0xeb, 0x35, + 0x4f, 0x0, 0x0, + + /* U+0062 "b" */ + 0x5f, 0x40, 0xf, 0xfe, 0xe4, 0x77, 0xea, 0x80, + 0x69, 0x59, 0x80, 0xa5, 0x0, 0x8f, 0x1d, 0xda, + 0x56, 0x1, 0x48, 0x80, 0x54, 0x28, 0x0, 0x20, + 0xc, 0x60, 0x40, 0x1f, 0xfc, 0x2, 0x0, 0xc6, + 0x4, 0x0, 0x90, 0xd, 0x42, 0x80, 0x3, 0xd7, + 0x76, 0x95, 0x80, 0x52, 0xb3, 0x1, 0x4a, 0x0, + + /* U+0063 "c" */ + 0x0, 0x3e, 0xff, 0xb1, 0x83, 0x21, 0xa2, 0x57, + 0x5c, 0xde, 0xdd, 0xa6, 0xe8, 0x60, 0x3, 0x88, + 0x80, 0x1f, 0xfc, 0x22, 0x20, 0x7, 0xa8, 0x60, + 0x3, 0x9c, 0xde, 0xdd, 0xa6, 0xc3, 0x21, 0xa2, + 0xb, 0xa0, + + /* U+0064 "d" */ + 0x0, 0xfb, 0x70, 0x3, 0xff, 0xa0, 0x35, 0xfe, + 0xb2, 0x0, 0xe, 0x2b, 0x48, 0xe1, 0x84, 0x95, + 0x4b, 0x53, 0x8, 0x29, 0x28, 0x5, 0x0, 0x2, + 0x60, 0xe, 0x10, 0xf, 0xf1, 0x30, 0x7, 0x8, + 0x29, 0x28, 0x5, 0x0, 0x9, 0x1a, 0x86, 0xa6, + 0x10, 0x1f, 0x57, 0x91, 0xc3, 0x0, + + /* U+0065 "e" */ + 0x0, 0x3e, 0xff, 0xac, 0xc0, 0x2b, 0x87, 0x98, + 0x6c, 0x30, 0x74, 0xaa, 0x33, 0xe0, 0xc0, 0x59, + 0x28, 0x4, 0x2e, 0x80, 0x65, 0xff, 0xcc, 0x2, + 0x5, 0x99, 0xf0, 0x91, 0xc, 0xfe, 0xa, 0x8, + 0x0, 0xe1, 0x7, 0x47, 0xc7, 0x68, 0xca, 0x0, + 0x5c, 0x84, 0x4a, 0xb7, 0x80, + + /* U+0066 "f" */ + 0x0, 0xd, 0x77, 0xd8, 0x2, 0xd6, 0x6a, 0x0, + 0xa, 0xa7, 0x53, 0x0, 0x8c, 0x2, 0x9f, 0x6, + 0xff, 0x25, 0xd8, 0x12, 0xec, 0xa4, 0x80, 0x48, + 0x81, 0x0, 0xff, 0xf2, 0x80, + + /* U+0067 "g" */ + 0x2, 0xaf, 0xf5, 0x96, 0xe0, 0xe2, 0xbc, 0x8e, + 0x18, 0x48, 0xd4, 0x35, 0x30, 0x82, 0x92, 0x80, + 0x50, 0x0, 0x26, 0x0, 0xe1, 0x0, 0xff, 0x13, + 0x0, 0x70, 0x82, 0x92, 0x80, 0x4e, 0x0, 0x91, + 0xa8, 0x69, 0x90, 0x80, 0xe2, 0xbc, 0x96, 0x0, + 0x45, 0x5f, 0xeb, 0x21, 0x60, 0xf, 0x38, 0x78, + 0x64, 0xb3, 0x2a, 0xd, 0x42, 0xd2, 0x64, 0xee, + 0xc0, + + /* U+0068 "h" */ + 0x5f, 0x40, 0xf, 0xfe, 0xc3, 0xef, 0xea, 0x80, + 0x51, 0x54, 0x80, 0xa3, 0x0, 0xe, 0xbb, 0xb0, + 0x24, 0x1, 0x60, 0x10, 0x9b, 0x0, 0x8, 0x3, + 0x38, 0x80, 0x7e, 0x30, 0xf, 0xfe, 0xc0, + + /* U+0069 "i" */ + 0x4f, 0x50, 0x9, 0x3d, 0x40, 0x24, 0xf5, 0x0, + 0xff, 0xe7, 0x80, + + /* U+006A "j" */ + 0x0, 0x27, 0xa8, 0x7, 0xc9, 0xea, 0x1, 0xf2, + 0x7a, 0x80, 0x7f, 0xf8, 0xc4, 0x4, 0x0, 0x60, + 0xe2, 0xd6, 0x26, 0x92, 0x3a, 0x0, + + /* U+006B "k" */ + 0x5f, 0x40, 0xf, 0xfe, 0xfb, 0xfc, 0x80, 0x7a, + 0x62, 0x12, 0x1, 0xd4, 0xd2, 0xe0, 0x18, 0x71, + 0x6d, 0x80, 0x3a, 0x8f, 0x10, 0x3, 0xcc, 0x10, + 0x1, 0xf6, 0xd2, 0x60, 0x7, 0xcb, 0x47, 0x80, + 0x1f, 0x2d, 0x9e, 0x0, 0x7c, 0x96, 0x78, 0x20, + + /* U+006C "l" */ + 0x4f, 0x50, 0xf, 0xfe, 0xd8, + + /* U+006D "m" */ + 0x5f, 0x47, 0xdf, 0xc3, 0x3, 0xcf, 0xe7, 0x0, + 0xa2, 0xa8, 0xe5, 0x8b, 0xa9, 0x5, 0xa, 0x0, + 0x1d, 0x78, 0xb0, 0xad, 0x87, 0xc1, 0x90, 0x5, + 0x80, 0x48, 0x6, 0x60, 0x9, 0x48, 0x0, 0x40, + 0x10, 0x83, 0x0, 0x61, 0x10, 0x7, 0xff, 0xfc, + + /* U+006E "n" */ + 0x5f, 0x48, 0xef, 0xd5, 0x0, 0xa4, 0xab, 0x1a, + 0x8c, 0x0, 0xd4, 0x87, 0x61, 0x20, 0xd, 0x0, + 0xc6, 0xc0, 0x2, 0x0, 0xce, 0x20, 0x1f, 0x8c, + 0x3, 0xff, 0xb0, + + /* U+006F "o" */ + 0x1, 0x9e, 0xfe, 0x91, 0x0, 0xb1, 0x9e, 0x5d, + 0xb0, 0x42, 0xa, 0x64, 0xd3, 0x22, 0x90, 0x51, + 0x60, 0x9, 0x85, 0x40, 0x88, 0x1, 0xc4, 0x40, + 0xf, 0xf8, 0x88, 0x1, 0xc4, 0x40, 0x51, 0x60, + 0x9, 0x85, 0x42, 0xa, 0x64, 0xd3, 0x22, 0x90, + 0x6, 0x33, 0xcb, 0xb6, 0x8, 0x0, + + /* U+0070 "p" */ + 0x5f, 0x58, 0xef, 0xd5, 0x0, 0xd6, 0x59, 0xaf, + 0x4a, 0x1, 0x1d, 0x11, 0x28, 0xec, 0x2, 0xa0, + 0xd, 0x42, 0x80, 0x3, 0x0, 0xc4, 0x4, 0x0, + 0x10, 0xf, 0xed, 0x0, 0xc6, 0x4, 0x0, 0x61, + 0x0, 0xa4, 0x50, 0x0, 0x58, 0xee, 0xd1, 0xb0, + 0xa, 0x16, 0x60, 0x29, 0x40, 0x34, 0x77, 0xea, + 0x80, 0x7f, 0xf5, 0x0, + + /* U+0071 "q" */ + 0x1, 0xaf, 0xf5, 0x96, 0xe0, 0xe2, 0xb4, 0x8e, + 0x18, 0x49, 0x54, 0xb5, 0x30, 0x82, 0x92, 0x80, + 0x50, 0x0, 0x26, 0x0, 0xe1, 0x0, 0xff, 0x13, + 0x0, 0x70, 0x82, 0x92, 0x80, 0x50, 0x0, 0x91, + 0xa8, 0x6a, 0x61, 0x1, 0xf5, 0x79, 0x1c, 0x30, + 0x0, 0xd7, 0xfa, 0xc8, 0x3, 0xff, 0xa2, + + /* U+0072 "r" */ + 0x0, 0xf9, 0x7d, 0x23, 0xbd, 0x80, 0x14, 0x75, + 0x88, 0x0, 0x2b, 0x43, 0x20, 0x5, 0x0, 0x78, + 0x80, 0x3f, 0xfb, 0x60, + + /* U+0073 "s" */ + 0x0, 0x3e, 0xff, 0xb6, 0x40, 0x13, 0x9, 0x32, + 0x54, 0x0, 0x3a, 0x4b, 0x32, 0x34, 0x0, 0x6a, + 0x40, 0x1e, 0x90, 0xdd, 0x4a, 0x80, 0x49, 0xf4, + 0x88, 0xac, 0x0, 0x85, 0x67, 0x60, 0xd8, 0x4, + 0x3, 0x18, 0x8, 0x75, 0x3a, 0xbd, 0x2, 0x83, + 0xb4, 0xd4, 0xa6, 0x90, + + /* U+0074 "t" */ + 0x2, 0x82, 0x0, 0xce, 0xe6, 0x0, 0xff, 0x45, + 0x5, 0xff, 0xaa, 0x90, 0x11, 0x76, 0x82, 0x20, + 0x1a, 0x20, 0x80, 0x3f, 0xfa, 0x22, 0x2, 0x1, + 0x94, 0x21, 0x94, 0xc0, 0x68, 0x26, 0xa4, + + /* U+0075 "u" */ + 0x7f, 0x20, 0xd, 0xb8, 0x1, 0xff, 0xe1, 0x10, + 0x10, 0xc, 0x40, 0xa0, 0x80, 0x13, 0x80, 0xc, + 0xa2, 0x5e, 0xa8, 0x20, 0xf, 0x46, 0x80, 0xc3, + 0x0, + + /* U+0076 "v" */ + 0x4f, 0x60, 0xe, 0xce, 0x4, 0x1a, 0x0, 0xc4, + 0x6c, 0x0, 0x63, 0x20, 0xa, 0x82, 0x80, 0x14, + 0x14, 0x1, 0x29, 0x10, 0x0, 0x46, 0xc0, 0x3, + 0x2a, 0x0, 0xd4, 0x28, 0x14, 0xc, 0x1, 0x9c, + 0x38, 0x19, 0x4, 0x3, 0xa, 0x2b, 0x7, 0x0, + 0x7b, 0x82, 0x41, 0x40, 0x3c, 0xa2, 0xc, 0x1, + 0x80, + + /* U+0077 "w" */ + 0x1f, 0x80, 0xa, 0xfd, 0xc0, 0x2c, 0xd1, 0x24, + 0x0, 0x90, 0x30, 0x2, 0x34, 0x4, 0x30, 0x1, + 0x82, 0xa0, 0x1, 0x3, 0x3, 0x1, 0x2, 0xc6, + 0x40, 0xc3, 0x1, 0x1, 0x3, 0x1, 0x10, 0x62, + 0x80, 0xa6, 0x20, 0x24, 0x80, 0x78, 0x9, 0x82, + 0x48, 0x1, 0x21, 0xa8, 0x20, 0x62, 0x20, 0x30, + 0x2, 0xc0, 0x81, 0x20, 0x40, 0x80, 0x40, 0x9, + 0x0, 0x9c, 0x0, 0x42, 0x46, 0x1, 0x84, 0xc3, + 0x0, 0x24, 0x4, 0x0, 0x0, + + /* U+0078 "x" */ + 0xc, 0xf2, 0x0, 0x9b, 0xe0, 0x1, 0xa3, 0xe0, + 0x2, 0x93, 0x80, 0x0, 0xd9, 0x48, 0x78, 0xe8, + 0x6, 0x56, 0x66, 0x15, 0x8, 0x7, 0x49, 0x1b, + 0x20, 0x7, 0x8c, 0x81, 0x40, 0x3e, 0xe1, 0x83, + 0x80, 0xe, 0xa2, 0xa7, 0x57, 0x30, 0x9, 0x95, + 0xd0, 0x2c, 0x74, 0x40, 0xa4, 0xe0, 0x0, 0x3a, + 0x34, 0x0, + + /* U+0079 "y" */ + 0x4f, 0x70, 0xe, 0xce, 0x4, 0x2a, 0x0, 0xc4, + 0x6c, 0x0, 0xa2, 0x30, 0xa, 0x82, 0x80, 0xc, + 0x14, 0x1, 0x32, 0x10, 0x0, 0x55, 0x80, 0xa, + 0x3c, 0x1, 0xb8, 0x14, 0x38, 0x54, 0x3, 0x20, + 0xc8, 0xa3, 0x80, 0x7a, 0x4e, 0xc2, 0x80, 0x3c, + 0xc0, 0xa6, 0x60, 0xf, 0xa, 0x5, 0x0, 0x7e, + 0x10, 0x60, 0xf, 0x85, 0x58, 0x3, 0xc6, 0xba, + 0x16, 0x1, 0xea, 0xa0, 0xd1, 0x0, 0x70, + + /* U+007A "z" */ + 0xf, 0xff, 0xa8, 0x2e, 0xf9, 0x80, 0x81, 0x13, + 0x3b, 0x1c, 0x0, 0x61, 0xd1, 0xd0, 0xe, 0xd1, + 0xc1, 0x0, 0xd4, 0x76, 0x40, 0x1a, 0x16, 0x10, + 0x3, 0x2b, 0xb3, 0x80, 0x62, 0xa1, 0xd4, 0x4c, + 0x62, 0x3, 0x77, 0xd2, + + /* U+007B "{" */ + 0x0, 0x8a, 0xfb, 0xcc, 0x2, 0xe4, 0x8b, 0x30, + 0x8, 0xd1, 0x90, 0x3, 0x88, 0x3, 0xff, 0x92, + 0x40, 0x20, 0x18, 0x60, 0x30, 0x2, 0xce, 0x58, + 0x40, 0xb, 0xac, 0xe0, 0xc0, 0x22, 0x4e, 0xb, + 0x0, 0xe2, 0x1, 0x0, 0xff, 0xe1, 0x98, 0x7, + 0x85, 0x8, 0x3, 0xac, 0x77, 0xcc, 0x2, 0x5f, + 0xdc, 0x30, + + /* U+007C "|" */ + 0xbc, 0x0, 0xff, 0xeb, 0x0, + + /* U+007D "}" */ + 0xbf, 0xd6, 0x0, 0xd3, 0x6d, 0x24, 0x1, 0x12, + 0x40, 0x20, 0x7, 0x8, 0x8, 0x7, 0xff, 0x24, + 0xc3, 0x80, 0x38, 0x49, 0xd0, 0x3, 0xbc, 0xef, + 0xcc, 0x2, 0xe2, 0x9c, 0x30, 0x0, 0x9b, 0x30, + 0xc0, 0x23, 0xe, 0x0, 0xff, 0xe0, 0x88, 0x8, + 0x6, 0x1b, 0x2, 0x0, 0xb3, 0x9d, 0x10, 0x1, + 0x76, 0x75, 0x80, 0x60, + + /* U+007E "~" */ + 0x0, 0xc2, 0x1, 0xfc, 0x99, 0xfd, 0xf4, 0xc4, + 0x46, 0xd2, 0x1b, 0x6a, 0xa3, 0x3c, 0xee, 0xa5, + 0x48, 0x76, 0x95, 0x53, 0xbd, 0x79, 0xf0, 0x0, + + /* U+0401 "Ё" */ + 0x0, 0x5f, 0x82, 0x7b, 0x80, 0x62, 0x30, 0x73, + 0x10, 0xd, 0x38, 0x7, 0x8c, 0x0, 0x3f, 0xff, + 0xc2, 0x0, 0x38, 0x8f, 0x8, 0x1, 0x1d, 0xfc, + 0x1, 0xff, 0xc1, 0x12, 0x2e, 0x10, 0x9, 0xb7, + 0x7c, 0x1, 0x25, 0x57, 0x40, 0x4, 0x6a, 0xbc, + 0x80, 0x1f, 0xfd, 0x54, 0x77, 0xf0, 0x80, 0xe, + 0x23, 0xc4, + + /* U+0410 "А" */ + 0x0, 0xc3, 0xfe, 0x50, 0xf, 0xe7, 0x2, 0xe0, + 0xf, 0xea, 0x4b, 0x42, 0x0, 0xf8, 0xcd, 0xce, + 0x14, 0x1, 0xf5, 0x2, 0x8a, 0x30, 0x7, 0xce, + 0xa0, 0xe, 0x14, 0x0, 0xe5, 0x1e, 0x0, 0x28, + 0xf0, 0x7, 0x70, 0xb1, 0x14, 0x8a, 0x20, 0x11, + 0x20, 0xee, 0xe5, 0x7, 0x0, 0xa8, 0x26, 0xab, + 0x8a, 0xc0, 0x26, 0x26, 0x55, 0xea, 0x23, 0x4, + 0x1a, 0x0, 0xf2, 0x85, 0x7, 0x2, 0x80, 0x78, + 0x88, 0xc0, + + /* U+0411 "Б" */ + 0x3f, 0xff, 0xc4, 0x1, 0x24, 0x47, 0x8c, 0x2, + 0x37, 0x7f, 0x8, 0x7, 0xff, 0x8, 0x48, 0x82, + 0x1, 0xf3, 0x6e, 0xbb, 0xf5, 0x40, 0x32, 0x55, + 0x50, 0x74, 0xc0, 0x11, 0xaa, 0xcf, 0x81, 0x60, + 0x1f, 0x88, 0xa0, 0xf, 0xe3, 0x0, 0xfe, 0x31, + 0x20, 0x9, 0x1d, 0xe9, 0xc0, 0x80, 0x8, 0xe2, + 0x27, 0x4b, 0x50, + + /* U+0412 "В" */ + 0x3f, 0xfe, 0xda, 0x20, 0xc, 0x91, 0x13, 0xae, + 0x90, 0x4, 0x6e, 0xf5, 0x40, 0x28, 0x7, 0xe2, + 0x0, 0xe1, 0x18, 0x92, 0x5, 0x80, 0x26, 0xee, + 0x6d, 0x86, 0x8, 0x4, 0xb7, 0x6a, 0x83, 0xc2, + 0x0, 0x89, 0x10, 0xaf, 0x83, 0x20, 0x1f, 0x88, + 0x88, 0x1, 0xfc, 0x60, 0x1f, 0xc6, 0x24, 0x1, + 0x23, 0xbd, 0x38, 0x12, 0x1, 0x1c, 0x44, 0xe9, + 0x88, 0x0, + + /* U+0413 "Г" */ + 0x3f, 0xff, 0xc0, 0x3, 0x88, 0xf0, 0x1, 0x1d, + 0xfc, 0x1, 0xff, 0xff, 0x0, 0xff, 0xe1, 0x80, + + /* U+0414 "Д" */ + 0x0, 0x8b, 0xff, 0xeb, 0x0, 0xf8, 0xa2, 0x27, + 0x0, 0xfe, 0x77, 0xd2, 0x1, 0xff, 0xcb, 0x30, + 0xf, 0xf8, 0x40, 0x3f, 0xf8, 0x2c, 0x1c, 0x1, + 0xff, 0x10, 0x10, 0x7, 0xfd, 0xa0, 0xe0, 0x1f, + 0xf3, 0x89, 0x0, 0x7f, 0x94, 0x90, 0x3, 0xfd, + 0x34, 0x6, 0xef, 0xa4, 0x19, 0xc4, 0x4c, 0x0, + 0x68, 0x8c, 0xe0, 0x50, 0x60, 0x9, 0xff, 0xfd, + 0x40, 0x1f, 0xfc, 0x53, 0x20, 0xf, 0xcc, 0x60, + + /* U+0415 "Е" */ + 0x3f, 0xff, 0xc2, 0x0, 0x38, 0x8f, 0x8, 0x1, + 0x1d, 0xfc, 0x1, 0xff, 0xc1, 0x12, 0x2e, 0x10, + 0x9, 0xb7, 0x7c, 0x1, 0x25, 0x57, 0x40, 0x4, + 0x6a, 0xbc, 0x80, 0x1f, 0xfd, 0x54, 0x77, 0xf0, + 0x80, 0xe, 0x23, 0xc4, + + /* U+0416 "Ж" */ + 0x1d, 0xf4, 0x0, 0xc7, 0xf2, 0x1, 0x87, 0x7d, + 0x0, 0x70, 0xac, 0xc0, 0x3f, 0xda, 0x54, 0x80, + 0x1, 0xc1, 0xc3, 0x0, 0xfd, 0x67, 0x2a, 0x1, + 0x87, 0x7, 0x48, 0x3, 0xd4, 0x90, 0xc0, 0x1e, + 0x2d, 0x1c, 0x10, 0xd, 0x2a, 0xee, 0x0, 0xfc, + 0x66, 0x1c, 0x70, 0x4, 0x30, 0x58, 0x7, 0xf3, + 0x9a, 0x95, 0x3, 0xb9, 0x47, 0xc0, 0x3f, 0x14, + 0x1d, 0x50, 0x40, 0x52, 0xa0, 0xdc, 0x3, 0xe9, + 0xe, 0x5, 0x80, 0x3b, 0x6, 0x48, 0x20, 0xe, + 0x64, 0x82, 0x0, 0x20, 0x28, 0x5, 0x21, 0xc0, + 0x18, 0x60, 0xdc, 0x3, 0xf8, 0xa4, 0xd8, 0x2, + 0xb1, 0xf0, 0xf, 0xf9, 0x8e, 0x44, 0x15, 0x4e, + 0x60, 0x1f, 0xfc, 0xe, 0xa, 0x0, + + /* U+0417 "З" */ + 0x4a, 0xdf, 0xf6, 0xd1, 0x80, 0x3d, 0xd1, 0xdc, + 0x88, 0xc7, 0xa, 0xd9, 0x88, 0x4f, 0x8c, 0x0, + 0x80, 0x70, 0x90, 0x6, 0x12, 0x21, 0xc9, 0xc0, + 0x5, 0x3b, 0xac, 0x6a, 0x70, 0xa, 0xaa, 0x82, + 0xa6, 0x0, 0x89, 0x54, 0xfa, 0x52, 0x20, 0x1f, + 0x50, 0x28, 0x7, 0xde, 0x0, 0x50, 0xe, 0x16, + 0x4, 0x8f, 0xa8, 0x85, 0x70, 0xd0, 0x4b, 0x3b, + 0xe6, 0xd5, 0x0, + + /* U+0418 "И" */ + 0x3f, 0x70, 0xe, 0xef, 0xb0, 0xf, 0x9c, 0x40, + 0x3f, 0xc, 0x18, 0x7, 0xe8, 0x8, 0x0, 0xf8, + 0x99, 0x10, 0x1, 0xf4, 0x4, 0x80, 0x7c, 0x4a, + 0xa2, 0x0, 0xfa, 0x42, 0xc0, 0x3e, 0x34, 0x71, + 0x0, 0xfb, 0xc2, 0x40, 0x3e, 0xb3, 0x81, 0x0, + 0xf8, 0xc5, 0xc0, 0x3f, 0xa0, 0x3, 0xe0, + + /* U+0419 "Й" */ + 0x0, 0x9c, 0x80, 0xc, 0x40, 0x1d, 0xfb, 0xfe, + 0xd2, 0x0, 0xe8, 0xfd, 0xeb, 0x0, 0xfc, 0x42, + 0x1, 0x8f, 0xdc, 0x3, 0xbb, 0xec, 0x3, 0xe7, + 0x10, 0xf, 0xc3, 0x6, 0x1, 0xfa, 0x2, 0x0, + 0x3e, 0x26, 0x44, 0x0, 0x7d, 0x1, 0x20, 0x1f, + 0x12, 0xa8, 0x80, 0x3e, 0x90, 0xb0, 0xf, 0x8d, + 0x1c, 0x40, 0x3e, 0xf0, 0x90, 0xf, 0xac, 0xe0, + 0x40, 0x3e, 0x31, 0x70, 0xf, 0xe8, 0x0, 0xf8, + + /* U+041A "К" */ + 0x3f, 0x80, 0xe, 0x9f, 0xa0, 0xf, 0xd2, 0xcb, + 0x40, 0x1f, 0x4b, 0x2d, 0x0, 0x7d, 0x2c, 0x94, + 0x1, 0xf4, 0x32, 0x58, 0x7, 0xd0, 0xe1, 0xc0, + 0x1f, 0x33, 0xa1, 0x58, 0x80, 0x78, 0x52, 0xe4, + 0x68, 0x3, 0xc7, 0x60, 0x8c, 0x8a, 0x1, 0xc8, + 0x1, 0x49, 0x58, 0x80, 0x7f, 0x70, 0xd0, 0x7, + 0xf1, 0xba, 0x30, 0x7, 0xf4, 0x14, 0x90, + + /* U+041B "Л" */ + 0x0, 0xdf, 0xff, 0x60, 0x7, 0x14, 0x46, 0x0, + 0xf9, 0x9d, 0xf0, 0x7, 0x8, 0x7, 0xff, 0x4, + 0x40, 0x3f, 0x8c, 0x3, 0xfe, 0x10, 0x30, 0xf, + 0xe6, 0xe, 0x0, 0xfe, 0xd0, 0x30, 0xf, 0xe4, + 0x5, 0x0, 0xfc, 0xc6, 0x82, 0x1, 0xe2, 0xb9, + 0x19, 0x0, 0xf9, 0x98, 0xfe, 0x40, 0x1f, 0x0, + + /* U+041C "М" */ + 0x3f, 0xf4, 0x80, 0x70, 0xff, 0xb0, 0x2, 0x60, + 0xe, 0x60, 0xe, 0x50, 0x50, 0xd, 0x48, 0x1, + 0xb4, 0xf8, 0x2, 0x32, 0xe0, 0xe, 0xa4, 0x10, + 0x5, 0xa, 0x80, 0x73, 0x3, 0x0, 0x1d, 0x80, + 0x3e, 0x5a, 0x5, 0x1a, 0x0, 0xfb, 0x89, 0x38, + 0xc8, 0x3, 0xe4, 0x1f, 0x4a, 0x0, 0xfe, 0x64, + 0x7, 0x0, 0xfe, 0x97, 0x91, 0x0, 0xfe, 0x18, + 0x60, 0xf, 0xfe, 0x30, + + /* U+041D "Н" */ + 0x3f, 0x80, 0xf, 0x7e, 0x0, 0x7f, 0xf5, 0xc4, + 0x8b, 0xc0, 0x19, 0xb7, 0x7c, 0x1, 0x92, 0xab, + 0xc0, 0x18, 0xd5, 0x7c, 0x1, 0xff, 0xed, + + /* U+041E "О" */ + 0x0, 0x9f, 0x3f, 0xdb, 0x2, 0x1, 0x8b, 0x61, + 0xe2, 0xe, 0xef, 0x30, 0xb, 0xca, 0xad, 0xdd, + 0x58, 0x3a, 0x20, 0xc4, 0xca, 0x1, 0x8e, 0x46, + 0x3, 0x42, 0xc0, 0x3c, 0xc0, 0xe0, 0xa0, 0x40, + 0x1f, 0x18, 0x8e, 0x0, 0xfc, 0xe0, 0x62, 0x20, + 0xf, 0xce, 0x6, 0xa0, 0x40, 0x1f, 0x18, 0x8b, + 0x42, 0xc0, 0x3c, 0xc0, 0xe0, 0xc4, 0xca, 0x1, + 0x8e, 0x46, 0x0, 0x1e, 0x55, 0x6e, 0xea, 0xc1, + 0xd1, 0x0, 0x16, 0xc3, 0xc4, 0x1d, 0xde, 0x60, + 0x0, + + /* U+041F "П" */ + 0x3f, 0xff, 0xec, 0x0, 0x1c, 0x47, 0x80, 0x32, + 0x3b, 0xf8, 0x3, 0xff, 0xfe, 0x1, 0xff, 0xd9, + + /* U+0420 "Р" */ + 0x3f, 0xfe, 0xc6, 0x0, 0xc9, 0x10, 0x72, 0x99, + 0x0, 0x46, 0xee, 0x8f, 0x16, 0x10, 0xf, 0xa, + 0x1, 0x0, 0x7c, 0xe0, 0x20, 0x1, 0x22, 0x1d, + 0x11, 0x90, 0x1, 0xb7, 0x58, 0xa7, 0xa0, 0x12, + 0x55, 0xdb, 0xb0, 0x40, 0x23, 0x54, 0x40, 0x80, + 0x7f, 0xf7, 0xc0, + + /* U+0421 "С" */ + 0x0, 0x9b, 0x3b, 0xfa, 0xd4, 0x0, 0x5b, 0x20, + 0xd0, 0xcf, 0x50, 0x1e, 0x53, 0x90, 0xf1, 0x98, + 0xf6, 0x26, 0x60, 0x7, 0x1b, 0xe8, 0x58, 0x7, + 0xe5, 0x2, 0x0, 0xfc, 0x22, 0x0, 0xfe, 0x11, + 0x0, 0x7f, 0x28, 0x10, 0x7, 0xed, 0xb, 0x0, + 0xfc, 0xc4, 0xcc, 0x0, 0xe4, 0x70, 0xf2, 0x9c, + 0x87, 0x8c, 0xbf, 0x2, 0xd9, 0x6, 0x86, 0x7a, + 0x80, + + /* U+0422 "Т" */ + 0xf, 0xff, 0xf8, 0x1, 0x11, 0x94, 0x16, 0x23, + 0x0, 0x1d, 0xf6, 0x6, 0x3b, 0xe0, 0xf, 0xff, + 0xf8, 0x7, 0xff, 0xb0, + + /* U+0423 "У" */ + 0x7f, 0x60, 0xe, 0x7f, 0x76, 0xb, 0x0, 0xe9, + 0x7, 0x16, 0x24, 0x0, 0x94, 0x58, 0x1, 0x41, + 0xe0, 0x14, 0x85, 0x80, 0xc, 0xc8, 0x40, 0x46, + 0x84, 0x1, 0x48, 0x50, 0x58, 0x78, 0x6, 0x51, + 0x72, 0x62, 0x40, 0xe, 0x90, 0xf0, 0xb0, 0xf, + 0x30, 0x10, 0x30, 0x7, 0x85, 0x41, 0x80, 0x3f, + 0x30, 0x58, 0x7, 0x14, 0x59, 0xa1, 0x0, 0x73, + 0x3a, 0xaa, 0x80, 0x38, + + /* U+0424 "Ф" */ + 0x0, 0xe2, 0xfa, 0x0, 0xfe, 0x59, 0xe0, 0x4a, + 0x72, 0x0, 0xc7, 0xb4, 0xc0, 0x13, 0xc6, 0xc8, + 0x0, 0xb0, 0xa7, 0xf8, 0x13, 0x74, 0x8d, 0x21, + 0x61, 0x2c, 0x1, 0xc5, 0x64, 0xc2, 0x80, 0xe0, + 0x1f, 0x90, 0x10, 0xc0, 0x40, 0x3f, 0x70, 0x19, + 0x1, 0x0, 0x7e, 0xd0, 0x2b, 0x8, 0x0, 0xf8, + 0x94, 0x51, 0xcd, 0x6d, 0x4, 0x0, 0x4f, 0x81, + 0x60, 0xc, 0x74, 0xbc, 0x5, 0xd8, 0x2b, 0x50, + 0xa, 0x3e, 0xe0, 0xe, 0xb7, 0x10, 0x3, 0xc8, + 0xa0, 0xca, 0x40, 0x18, + + /* U+0425 "Х" */ + 0x8, 0xf6, 0x0, 0xec, 0xf2, 0x8, 0x29, 0x10, + 0x9, 0xce, 0x8, 0x1, 0xc1, 0x40, 0x2, 0x83, + 0x70, 0x8, 0xdd, 0x18, 0x38, 0x38, 0x3, 0xa0, + 0xe6, 0x47, 0x4, 0x1, 0xee, 0x6, 0x37, 0x0, + 0xff, 0x58, 0x7, 0xe9, 0x2, 0x82, 0x0, 0xf3, + 0x24, 0x78, 0x70, 0x7, 0x14, 0x9b, 0x94, 0x1b, + 0x0, 0x6e, 0xe, 0x0, 0x39, 0xc9, 0x0, 0x1c, + 0xe0, 0x80, 0x2e, 0xe, 0x2, 0x83, 0x70, 0xc, + 0x50, 0x6c, + + /* U+0426 "Ц" */ + 0x3f, 0x80, 0xf, 0x7e, 0x0, 0x7f, 0xff, 0xc0, + 0x3f, 0xfd, 0xe8, 0xef, 0xe0, 0x27, 0x20, 0x1, + 0xc4, 0x78, 0x6, 0x18, 0xff, 0xff, 0xb0, 0x3, + 0xff, 0x9a, 0x26, 0xe0, + + /* U+0427 "Ч" */ + 0x7f, 0x50, 0xc, 0x7f, 0x20, 0x1f, 0xfd, 0x22, + 0xd, 0x0, 0xf9, 0x5, 0xd8, 0x8a, 0x60, 0x0, + 0xd0, 0xce, 0xed, 0x40, 0x12, 0x76, 0x55, 0x50, + 0x1, 0xc6, 0xab, 0x20, 0x7, 0xff, 0x78, + + /* U+0428 "Ш" */ + 0x3f, 0x80, 0xc, 0x9f, 0x0, 0x19, 0x3d, 0xc0, + 0x3f, 0xff, 0xe0, 0x1f, 0xff, 0xf0, 0xf, 0xfe, + 0x52, 0x3b, 0xed, 0x4, 0x77, 0xdc, 0x1, 0x8e, + 0x23, 0x30, 0x1c, 0x46, 0x50, 0x0, + + /* U+0429 "Щ" */ + 0x3f, 0x80, 0xc, 0x9f, 0x0, 0x19, 0x3d, 0xc0, + 0x3f, 0xff, 0xe0, 0x1f, 0xff, 0xf0, 0xf, 0xfe, + 0xaa, 0x3b, 0xed, 0x4, 0x77, 0xdc, 0x18, 0xe0, + 0x3, 0x88, 0xcc, 0x7, 0x11, 0x94, 0x12, 0xf, + 0xff, 0xff, 0x86, 0xe0, 0x1f, 0xfd, 0x7e, 0x30, + + /* U+042A "Ъ" */ + 0x7f, 0xfe, 0x20, 0xf, 0x92, 0x22, 0x30, 0xf, + 0xe3, 0x77, 0x94, 0x3, 0xff, 0xa2, 0xc4, 0x41, + 0x0, 0xff, 0x5e, 0xeb, 0xbe, 0xc8, 0x3, 0xe9, + 0xaa, 0x99, 0x30, 0x40, 0x3c, 0x8a, 0xb4, 0xb8, + 0xc8, 0x7, 0xfd, 0x60, 0x40, 0x1f, 0xfc, 0xda, + 0xd, 0x0, 0xf5, 0x3b, 0xa3, 0x18, 0x98, 0x3, + 0xcf, 0x10, 0x71, 0x6c, 0x10, + + /* U+042B "Ы" */ + 0x3f, 0x80, 0xf, 0xd5, 0xe2, 0x1, 0xff, 0xe0, + 0x12, 0x20, 0x80, 0x7f, 0x9b, 0x75, 0xdf, 0xaa, + 0x1, 0xf2, 0x55, 0x50, 0x74, 0xc0, 0x1e, 0x35, + 0x59, 0xf0, 0x2c, 0x3, 0xfe, 0x22, 0x80, 0x3f, + 0xf8, 0x6, 0x1, 0xff, 0xc0, 0x31, 0x20, 0xf, + 0x23, 0xbd, 0x58, 0x12, 0x1, 0xe3, 0x88, 0x91, + 0x18, 0x80, 0x18, + + /* U+042C "Ь" */ + 0x3f, 0x80, 0xf, 0xfe, 0xf8, 0x91, 0x4, 0x3, + 0xe6, 0xdd, 0x77, 0xea, 0x80, 0x64, 0xaa, 0xa0, + 0xe9, 0x80, 0x23, 0x55, 0x9f, 0x2, 0xc0, 0x3f, + 0x11, 0x40, 0x1f, 0xc6, 0x1, 0xfc, 0x62, 0x40, + 0x12, 0x3b, 0xd5, 0x81, 0x20, 0x11, 0xc4, 0x48, + 0x8c, 0x40, + + /* U+042D "Э" */ + 0x1, 0x8c, 0xff, 0x75, 0x18, 0x6, 0xe7, 0x68, + 0x83, 0xa6, 0x40, 0x4, 0xbd, 0x4e, 0xe9, 0xe4, + 0x76, 0x0, 0x50, 0x80, 0x75, 0x4, 0x0, 0x7f, + 0xb, 0xa, 0x0, 0x44, 0x5e, 0xe0, 0x30, 0x2, + 0xee, 0xfa, 0x3, 0xc0, 0x9, 0x55, 0xe6, 0xf, + 0x0, 0xa, 0xaf, 0x80, 0x6, 0x1, 0xf8, 0x5c, + 0x50, 0x24, 0x40, 0x3a, 0xc6, 0x0, 0xd, 0xd4, + 0xee, 0x9e, 0x57, 0x60, 0x7, 0x3b, 0x44, 0x1d, + 0x32, 0x0, 0x0, + + /* U+042E "Ю" */ + 0x2f, 0xa0, 0xe, 0x5b, 0xef, 0xea, 0x30, 0xf, + 0xf5, 0xd3, 0x32, 0x1d, 0x31, 0xc0, 0x3f, 0x4a, + 0x36, 0xc3, 0xcf, 0x94, 0x20, 0x7, 0x89, 0x8a, + 0x40, 0x30, 0xf8, 0x48, 0x7, 0x94, 0x2c, 0x3, + 0xc4, 0x84, 0x40, 0x8, 0x89, 0x80, 0xa0, 0x1f, + 0x18, 0x38, 0x1, 0x77, 0x48, 0x2, 0x1, 0xf7, + 0x81, 0x80, 0x12, 0xa8, 0x60, 0x20, 0x1f, 0x78, + 0x18, 0x0, 0x55, 0x48, 0xa, 0x1, 0xf1, 0x83, + 0x80, 0x75, 0x5, 0x80, 0x78, 0x90, 0x88, 0x1, + 0xc4, 0xa5, 0x20, 0x18, 0x7c, 0x24, 0x3, 0xea, + 0x46, 0xd8, 0x79, 0xf2, 0x84, 0x0, 0xfd, 0x72, + 0x2d, 0xe, 0x98, 0xe0, 0x0, + + /* U+042F "Я" */ + 0x0, 0x3e, 0x7f, 0xf5, 0x85, 0x40, 0xbc, 0x44, + 0x0, 0x25, 0x1d, 0x87, 0x78, 0x0, 0xe0, 0x80, + 0x1f, 0x30, 0x30, 0x7, 0xc6, 0x47, 0x26, 0x45, + 0x0, 0x58, 0xcc, 0xcd, 0xd8, 0x2, 0x19, 0x80, + 0x6a, 0xa0, 0x6, 0x18, 0x29, 0x55, 0x0, 0x6b, + 0x9, 0x0, 0xf2, 0x2a, 0x90, 0x3, 0xd2, 0x16, + 0x1, 0xe7, 0x29, 0x10, 0xf, 0x0, + + /* U+0430 "а" */ + 0x18, 0xce, 0xfd, 0x70, 0x1, 0x32, 0xc4, 0xb4, + 0x48, 0x1f, 0x4b, 0x32, 0xd9, 0x82, 0x1, 0xed, + 0x4, 0x6, 0xcf, 0xfa, 0xc0, 0xde, 0x5a, 0xb3, + 0x12, 0x0, 0xa2, 0xa5, 0x33, 0x0, 0x7f, 0x58, + 0x1, 0x4a, 0xd9, 0xf4, 0x40, 0x10, 0xeb, 0x35, + 0x4f, 0x0, 0x0, + + /* U+0431 "б" */ + 0x0, 0xf8, 0x48, 0x3, 0x8e, 0xbb, 0xfb, 0x4c, + 0x2, 0x6c, 0x78, 0xbb, 0x61, 0x80, 0xe, 0x53, + 0x59, 0x10, 0x60, 0x14, 0x8d, 0x80, 0x7e, 0x45, + 0x8d, 0xfe, 0x91, 0x0, 0x85, 0x1d, 0xd2, 0xed, + 0xe2, 0x1, 0xa2, 0x9a, 0x68, 0x60, 0x3, 0x38, + 0x4, 0xa4, 0xe0, 0x1, 0x20, 0xe, 0x71, 0x10, + 0x18, 0x7, 0xf9, 0x88, 0x3, 0x9c, 0x44, 0x1a, + 0xe, 0x1, 0x29, 0x38, 0x1, 0x8e, 0x29, 0xa6, + 0x86, 0x0, 0x2c, 0x77, 0x4b, 0xaf, 0x88, 0x0, + + /* U+0432 "в" */ + 0x5f, 0xfd, 0xd4, 0x20, 0x14, 0x5d, 0xa5, 0x70, + 0x2, 0x34, 0x43, 0xb1, 0x0, 0x70, 0xa3, 0x98, + 0x5, 0x7f, 0xd6, 0x5a, 0x1, 0x4e, 0x62, 0x47, + 0x4, 0x0, 0x46, 0x66, 0x92, 0x70, 0xf, 0xc2, + 0x0, 0x34, 0x43, 0x50, 0x28, 0x2, 0x2e, 0xd0, + 0xb8, 0x40, + + /* U+0433 "г" */ + 0x5f, 0xff, 0x48, 0x2, 0x2e, 0xf8, 0x0, 0x68, + 0x98, 0x80, 0x3f, 0xfd, 0x80, + + /* U+0434 "д" */ + 0x0, 0x9f, 0xff, 0xc6, 0x1, 0xe9, 0xbb, 0x30, + 0x7, 0xe4, 0x4b, 0xc0, 0x3f, 0xf8, 0xdc, 0x6, + 0x1, 0xfc, 0x40, 0x20, 0x1f, 0xca, 0x60, 0x1f, + 0xc8, 0x36, 0x1, 0xf9, 0x68, 0x9, 0x12, 0xf0, + 0x42, 0x1a, 0x10, 0xab, 0xb9, 0x82, 0x28, 0x1, + 0x9f, 0xff, 0x18, 0x7, 0xff, 0x4, 0x60, 0x80, + 0x3e, 0x9b, + + /* U+0435 "е" */ + 0x0, 0x3e, 0xff, 0xac, 0xc0, 0x2b, 0x87, 0x98, + 0x6c, 0x30, 0x74, 0xaa, 0x33, 0xe0, 0xc0, 0x59, + 0x28, 0x4, 0x2e, 0x80, 0x65, 0xff, 0xcc, 0x2, + 0x5, 0x99, 0xf0, 0x91, 0xc, 0xfe, 0xa, 0x8, + 0x0, 0xe1, 0x7, 0x47, 0xc7, 0x68, 0xca, 0x0, + 0x5c, 0x84, 0x4a, 0xb7, 0x80, + + /* U+0436 "ж" */ + 0x6, 0xf7, 0x0, 0xaf, 0x80, 0x24, 0xfa, 0x0, + 0x34, 0x41, 0x40, 0x3c, 0x76, 0x94, 0x1, 0x3b, + 0x52, 0x0, 0x62, 0xd3, 0xb0, 0xe, 0x95, 0xb3, + 0x0, 0xe, 0x1e, 0x0, 0x7c, 0xc1, 0xac, 0x38, + 0x26, 0x20, 0x1e, 0x63, 0xa2, 0x20, 0x1d, 0x8d, + 0x80, 0x71, 0x4a, 0xab, 0x48, 0x31, 0x25, 0x50, + 0x3, 0x48, 0xd8, 0xb, 0x9, 0x3, 0x1d, 0x0, + 0x4c, 0x96, 0x20, 0x1f, 0x70, 0xc8, 0xc, 0xaa, + 0x80, 0x3f, 0x14, 0x32, 0x0, + + /* U+0437 "з" */ + 0x5c, 0xef, 0xea, 0x20, 0x36, 0x99, 0x3a, 0xe0, + 0x35, 0x3b, 0x4c, 0x9, 0x80, 0x42, 0x76, 0x26, + 0x0, 0xee, 0x60, 0x78, 0x5, 0xb7, 0x25, 0xa0, + 0x11, 0xa3, 0x69, 0xb0, 0x7, 0x38, 0xd, 0x43, + 0x2c, 0x58, 0x31, 0x2c, 0xd2, 0xb6, 0x88, + + /* U+0438 "и" */ + 0x5f, 0x40, 0x9, 0x7f, 0xc2, 0x1, 0xe8, 0x0, + 0xfc, 0xe4, 0x80, 0x1e, 0x18, 0x73, 0x0, 0xf5, + 0x8c, 0x0, 0x79, 0x16, 0xc0, 0x3e, 0x93, 0x50, + 0xf, 0x79, 0x78, 0x7, 0xc8, 0xc6, 0x1, 0xf0, + 0xc0, 0x7, 0x80, + + /* U+0439 "й" */ + 0x0, 0x30, 0x80, 0x11, 0x0, 0x1b, 0x20, 0xa, + 0x44, 0x3, 0x42, 0x7e, 0xb2, 0x80, 0x62, 0xdd, + 0x75, 0x80, 0x4b, 0xe8, 0x4, 0x2b, 0xfe, 0x10, + 0xf, 0x40, 0x7, 0xe7, 0x24, 0x0, 0xf0, 0xc3, + 0x98, 0x7, 0xac, 0x60, 0x3, 0xc8, 0xb6, 0x1, + 0xf4, 0x9a, 0x80, 0x7b, 0xcb, 0xc0, 0x3e, 0x46, + 0x30, 0xf, 0x86, 0x0, 0x3c, + + /* U+043A "к" */ + 0x5f, 0x40, 0xa, 0xbd, 0x40, 0x3d, 0x4b, 0x4a, + 0x1, 0xd2, 0xb4, 0xa0, 0x1d, 0x2d, 0x2a, 0x1, + 0xd0, 0xc0, 0x20, 0x1e, 0x38, 0x58, 0x30, 0xe, + 0x77, 0x58, 0xf0, 0x7, 0x60, 0xd, 0x14, 0x0, + 0x7c, 0x8c, 0xe6, 0x1, 0xf4, 0x96, 0x80, + + /* U+043B "л" */ + 0x0, 0xab, 0xff, 0xc0, 0x1e, 0xbb, 0x90, 0x3, + 0xe4, 0x48, 0x80, 0x38, 0x44, 0x1, 0xfc, 0xe0, + 0x1f, 0xe1, 0x20, 0xf, 0xe2, 0x50, 0xf, 0xcc, + 0x18, 0x1, 0xe2, 0x99, 0x1a, 0x80, 0x79, 0xd1, + 0xf0, 0x3, 0xe0, + + /* U+043C "м" */ + 0x5f, 0xf1, 0x80, 0x69, 0xff, 0x0, 0x52, 0x1, + 0xb, 0x0, 0x66, 0x51, 0x0, 0x30, 0xa0, 0x5, + 0xa2, 0xc0, 0xa, 0x60, 0xe, 0x6a, 0x4, 0x29, + 0x0, 0xe9, 0x24, 0xf5, 0x10, 0xe, 0x15, 0x84, + 0xe0, 0xf, 0xb8, 0xc9, 0x0, 0x3e, 0x4e, 0xd0, + 0xf, 0xe1, 0x0, 0xe0, + + /* U+043D "н" */ + 0x5f, 0x40, 0xc, 0xfe, 0x40, 0x1f, 0xfc, 0xff, + 0x0, 0xd7, 0xff, 0x9c, 0x3, 0x46, 0x66, 0x60, + 0xc, 0x67, 0xdc, 0x1, 0xff, 0xd4, + + /* U+043E "о" */ + 0x1, 0x9e, 0xfe, 0x91, 0x0, 0xb1, 0x9e, 0x5d, + 0xb0, 0x42, 0xa, 0x64, 0xd3, 0x22, 0x90, 0x51, + 0x60, 0x9, 0x85, 0x40, 0x88, 0x1, 0xc4, 0x40, + 0xf, 0xf8, 0x88, 0x1, 0xc4, 0x40, 0x51, 0x60, + 0x9, 0x85, 0x42, 0xa, 0x64, 0xd3, 0x22, 0x90, + 0x6, 0x33, 0xcb, 0xb6, 0x8, 0x0, + + /* U+043F "п" */ + 0x5f, 0xff, 0xc4, 0x0, 0x8b, 0xbc, 0xa0, 0x18, + 0xd1, 0x36, 0x80, 0x7f, 0xff, 0x0, + + /* U+0440 "р" */ + 0x5f, 0x58, 0xef, 0xd5, 0x0, 0xd6, 0x59, 0xaf, + 0x4a, 0x1, 0x1d, 0x11, 0x28, 0xec, 0x2, 0xa0, + 0xd, 0x42, 0x80, 0x3, 0x0, 0xc4, 0x4, 0x0, + 0x10, 0xf, 0xed, 0x0, 0xc6, 0x4, 0x0, 0x61, + 0x0, 0xa4, 0x50, 0x0, 0x58, 0xee, 0xd1, 0xb0, + 0xa, 0x16, 0x60, 0x29, 0x40, 0x34, 0x77, 0xea, + 0x80, 0x7f, 0xf5, 0x0, + + /* U+0441 "с" */ + 0x0, 0x3e, 0xff, 0xb1, 0x83, 0x21, 0xa2, 0x57, + 0x5c, 0xde, 0xdd, 0xa6, 0xe8, 0x60, 0x3, 0x88, + 0x80, 0x1f, 0xfc, 0x22, 0x20, 0x7, 0xa8, 0x60, + 0x3, 0x9c, 0xde, 0xdd, 0xa6, 0xc3, 0x21, 0xa2, + 0xb, 0xa0, + + /* U+0442 "т" */ + 0x7f, 0xff, 0xe5, 0xbb, 0x94, 0x2e, 0xf1, 0x22, + 0x44, 0x8, 0x98, 0x3, 0xff, 0xf4, + + /* U+0443 "у" */ + 0x4f, 0x70, 0xe, 0xce, 0x4, 0x2a, 0x0, 0xc4, + 0x6c, 0x0, 0xa2, 0x30, 0xa, 0x82, 0x80, 0xc, + 0x14, 0x1, 0x32, 0x10, 0x0, 0x55, 0x80, 0xa, + 0x3c, 0x1, 0xb8, 0x14, 0x38, 0x54, 0x3, 0x20, + 0xc8, 0xa3, 0x80, 0x7a, 0x4e, 0xc2, 0x80, 0x3c, + 0xc0, 0xa6, 0x60, 0xf, 0xa, 0x5, 0x0, 0x7e, + 0x10, 0x60, 0xf, 0x85, 0x58, 0x3, 0xc6, 0xba, + 0x16, 0x1, 0xea, 0xa0, 0xd1, 0x0, 0x70, + + /* U+0444 "ф" */ + 0x0, 0xf1, 0x7c, 0x0, 0x7f, 0xf6, 0x8f, 0x3f, + 0x18, 0x1, 0x3f, 0xce, 0x1, 0xe, 0x14, 0x25, + 0x3, 0x14, 0xac, 0x38, 0x2, 0x3, 0x1e, 0x2c, + 0x16, 0xda, 0xd2, 0x0, 0x8, 0x64, 0x0, 0x70, + 0x30, 0xb, 0x41, 0x0, 0x98, 0x3, 0xf8, 0x80, + 0x40, 0x3f, 0xf8, 0x46, 0x2, 0xc0, 0x1f, 0xc4, + 0x4, 0xe, 0x64, 0x0, 0x70, 0x30, 0xb, 0x41, + 0x2, 0xc3, 0x1d, 0xd6, 0xb, 0x6d, 0x69, 0x0, + 0x2, 0xc2, 0x8b, 0xa0, 0x62, 0x95, 0x87, 0x0, + 0x8f, 0x3f, 0x18, 0x1, 0x3f, 0xce, 0x1, 0xff, + 0xe3, + + /* U+0445 "х" */ + 0xc, 0xf2, 0x0, 0x9b, 0xe0, 0x1, 0xa3, 0xe0, + 0x2, 0x93, 0x80, 0x0, 0xd9, 0x48, 0x78, 0xe8, + 0x6, 0x56, 0x66, 0x15, 0x8, 0x7, 0x49, 0x1b, + 0x20, 0x7, 0x8c, 0x81, 0x40, 0x3e, 0xe1, 0x83, + 0x80, 0xe, 0xa2, 0xa7, 0x57, 0x30, 0x9, 0x95, + 0xd0, 0x2c, 0x74, 0x40, 0xa4, 0xe0, 0x0, 0x3a, + 0x34, 0x0, + + /* U+0446 "ц" */ + 0x5f, 0x40, 0xc, 0xfe, 0x40, 0x1f, 0xff, 0xf0, + 0xe, 0x34, 0x4d, 0xa0, 0x82, 0x0, 0x8b, 0xbc, + 0xa1, 0x2e, 0xbf, 0xff, 0x88, 0x3, 0xff, 0x93, + 0x6a, + + /* U+0447 "ч" */ + 0xbf, 0x0, 0xd3, 0xe0, 0x1f, 0x84, 0x3, 0xe3, + 0x0, 0xfb, 0x2, 0x44, 0x0, 0x60, 0xac, 0xce, + 0xff, 0x28, 0x2, 0x7b, 0x32, 0x40, 0x8, 0x4c, + 0xe2, 0x0, 0xff, 0xe2, 0x80, + + /* U+0448 "ш" */ + 0x5f, 0x40, 0xa, 0x7c, 0x3, 0x66, 0x80, 0x7f, + 0xff, 0xc0, 0x3f, 0xf9, 0xa6, 0x89, 0x10, 0x2a, + 0x24, 0x20, 0x14, 0x5d, 0xc8, 0x15, 0x77, 0x10, + 0x0, + + /* U+0449 "щ" */ + 0x5f, 0x40, 0xa, 0x7c, 0x3, 0x66, 0x80, 0x7f, + 0xff, 0xc0, 0x3f, 0xfb, 0xa6, 0x89, 0x10, 0x2a, + 0x24, 0x26, 0x80, 0x14, 0x5d, 0xc8, 0x15, 0x77, + 0x10, 0xd9, 0x2f, 0xff, 0xff, 0x3, 0x40, 0x3f, + 0xfa, 0x67, 0x4, + + /* U+044A "ъ" */ + 0x7f, 0xfc, 0xa0, 0x1e, 0x5b, 0xb4, 0x0, 0x7e, + 0x24, 0x41, 0x80, 0x7f, 0xf0, 0x4c, 0x3, 0xfe, + 0x9f, 0xfb, 0x14, 0x3, 0xcf, 0x98, 0xa0, 0xa4, + 0x0, 0xed, 0x33, 0x2f, 0x6, 0x80, 0x7f, 0xf1, + 0x75, 0x10, 0xde, 0x1a, 0x1, 0xcf, 0x76, 0x86, + 0xb4, + + /* U+044B "ы" */ + 0x5f, 0x40, 0xf, 0xbe, 0x40, 0x3f, 0xfb, 0x57, + 0xff, 0x62, 0x0, 0x7a, 0x33, 0x12, 0x36, 0x60, + 0x1c, 0x67, 0x34, 0x82, 0x0, 0x7f, 0xf1, 0x4d, + 0x10, 0xd4, 0xa, 0x1, 0xd1, 0x76, 0x85, 0xc2, + 0x0, 0x80, + + /* U+044C "ь" */ + 0x5f, 0x40, 0xf, 0xfe, 0xbd, 0xff, 0xd8, 0x80, + 0x14, 0x66, 0x24, 0x6c, 0xc0, 0x6, 0x73, 0x48, + 0x20, 0x7, 0xfc, 0x68, 0x86, 0xa0, 0x50, 0x4, + 0x5d, 0xa1, 0x70, 0x80, + + /* U+044D "э" */ + 0x8d, 0xff, 0x62, 0x80, 0x15, 0x53, 0x27, 0xa8, + 0xd, 0x86, 0x65, 0xab, 0x98, 0x7, 0x40, 0x50, + 0x77, 0xfd, 0xa0, 0x41, 0xb9, 0x98, 0x2, 0x33, + 0xc2, 0x4, 0x1, 0xd0, 0x15, 0xd0, 0xcf, 0xaa, + 0xc6, 0xcb, 0x30, 0x33, 0x20, + + /* U+044E "ю" */ + 0x4f, 0x50, 0xa, 0x37, 0xfa, 0x88, 0x3, 0xeb, + 0x77, 0x4b, 0x2e, 0x10, 0x7, 0x32, 0x3d, 0x34, + 0x58, 0xc0, 0x6, 0x1d, 0x9, 0x0, 0x90, 0xd4, + 0x2, 0xae, 0x41, 0x10, 0x6, 0x50, 0x20, 0x4, + 0x59, 0x0, 0x7f, 0xc4, 0x8c, 0x22, 0x0, 0xca, + 0x4, 0x1, 0xb8, 0x24, 0x2, 0x43, 0x50, 0xe, + 0x54, 0x7a, 0x68, 0xb1, 0x80, 0xf, 0x5b, 0xba, + 0x59, 0x70, 0x80, + + /* U+044F "я" */ + 0x2, 0xae, 0xff, 0xc8, 0x1e, 0xb3, 0x76, 0x70, + 0x1, 0x94, 0x3a, 0x23, 0x40, 0xe, 0x2, 0x1, + 0xe5, 0xb, 0x31, 0x0, 0xc3, 0x61, 0x9d, 0xf4, + 0x1, 0x24, 0x83, 0xe4, 0x0, 0x45, 0x4b, 0x6, + 0x40, 0x17, 0x1d, 0x0, 0x74, 0x9f, 0x80, 0x78, + + /* U+0451 "ё" */ + 0x0, 0x4e, 0x2, 0x62, 0x80, 0x65, 0x30, 0x13, + 0x30, 0x6, 0xcf, 0x5, 0xf6, 0x0, 0xff, 0xe1, + 0x3e, 0xff, 0xac, 0xc0, 0x2b, 0x87, 0x98, 0x6c, + 0x30, 0x74, 0xaa, 0x33, 0xe0, 0xc0, 0x59, 0x28, + 0x4, 0x2e, 0x80, 0x65, 0xff, 0xcc, 0x2, 0x5, + 0x99, 0xf0, 0x91, 0xc, 0xfe, 0xa, 0x8, 0x0, + 0xe1, 0x7, 0x47, 0xc7, 0x68, 0xca, 0x0, 0x5c, + 0x84, 0x4a, 0xb7, 0x80 +}; + + +/*--------------------- + * 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 = 92, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 0, .adv_w = 115, .box_w = 3, .box_h = 13, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 16, .adv_w = 132, .box_w = 6, .box_h = 5, .ofs_x = 1, .ofs_y = 8}, + {.bitmap_index = 26, .adv_w = 241, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 105, .adv_w = 183, .box_w = 9, .box_h = 17, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 167, .adv_w = 274, .box_w = 16, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 260, .adv_w = 225, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 332, .adv_w = 79, .box_w = 3, .box_h = 5, .ofs_x = 1, .ofs_y = 8}, + {.bitmap_index = 337, .adv_w = 112, .box_w = 5, .box_h = 16, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 376, .adv_w = 112, .box_w = 5, .box_h = 16, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 415, .adv_w = 144, .box_w = 9, .box_h = 9, .ofs_x = 0, .ofs_y = 4}, + {.bitmap_index = 451, .adv_w = 241, .box_w = 13, .box_h = 12, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 483, .adv_w = 92, .box_w = 3, .box_h = 5, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 491, .adv_w = 104, .box_w = 6, .box_h = 3, .ofs_x = 0, .ofs_y = 3}, + {.bitmap_index = 498, .adv_w = 92, .box_w = 3, .box_h = 3, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 503, .adv_w = 97, .box_w = 7, .box_h = 15, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 546, .adv_w = 183, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 602, .adv_w = 183, .box_w = 9, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 626, .adv_w = 183, .box_w = 9, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 676, .adv_w = 183, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 733, .adv_w = 183, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 784, .adv_w = 183, .box_w = 9, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 832, .adv_w = 183, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 895, .adv_w = 183, .box_w = 9, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 938, .adv_w = 183, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1001, .adv_w = 183, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1062, .adv_w = 97, .box_w = 2, .box_h = 10, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1072, .adv_w = 97, .box_w = 3, .box_h = 12, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 1087, .adv_w = 241, .box_w = 13, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1144, .adv_w = 241, .box_w = 13, .box_h = 7, .ofs_x = 1, .ofs_y = 2}, + {.bitmap_index = 1167, .adv_w = 241, .box_w = 13, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1223, .adv_w = 153, .box_w = 8, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1266, .adv_w = 288, .box_w = 16, .box_h = 17, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 1388, .adv_w = 197, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1454, .adv_w = 198, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1512, .adv_w = 201, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1569, .adv_w = 222, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1625, .adv_w = 182, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1661, .adv_w = 166, .box_w = 9, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1690, .adv_w = 223, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1757, .adv_w = 217, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1780, .adv_w = 85, .box_w = 3, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1785, .adv_w = 85, .box_w = 5, .box_h = 17, .ofs_x = -1, .ofs_y = -4}, + {.bitmap_index = 1800, .adv_w = 189, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1855, .adv_w = 160, .box_w = 9, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1869, .adv_w = 248, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1929, .adv_w = 215, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1976, .adv_w = 227, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2049, .adv_w = 174, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2092, .adv_w = 227, .box_w = 13, .box_h = 15, .ofs_x = 1, .ofs_y = -2}, + {.bitmap_index = 2174, .adv_w = 200, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2230, .adv_w = 183, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2289, .adv_w = 176, .box_w = 13, .box_h = 13, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 2309, .adv_w = 211, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2343, .adv_w = 197, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2411, .adv_w = 285, .box_w = 18, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2518, .adv_w = 197, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2584, .adv_w = 176, .box_w = 13, .box_h = 13, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 2628, .adv_w = 197, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2681, .adv_w = 112, .box_w = 5, .box_h = 17, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 2698, .adv_w = 97, .box_w = 7, .box_h = 15, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 2739, .adv_w = 112, .box_w = 5, .box_h = 17, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 2753, .adv_w = 241, .box_w = 13, .box_h = 5, .ofs_x = 1, .ofs_y = 8}, + {.bitmap_index = 2780, .adv_w = 144, .box_w = 11, .box_h = 3, .ofs_x = -1, .ofs_y = -5}, + {.bitmap_index = 2789, .adv_w = 144, .box_w = 5, .box_h = 4, .ofs_x = 1, .ofs_y = 11}, + {.bitmap_index = 2799, .adv_w = 176, .box_w = 9, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2842, .adv_w = 183, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2890, .adv_w = 158, .box_w = 8, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2924, .adv_w = 183, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2970, .adv_w = 177, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3015, .adv_w = 101, .box_w = 7, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3044, .adv_w = 183, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 3101, .adv_w = 183, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3132, .adv_w = 80, .box_w = 3, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3143, .adv_w = 80, .box_w = 5, .box_h = 18, .ofs_x = -1, .ofs_y = -4}, + {.bitmap_index = 3165, .adv_w = 167, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3205, .adv_w = 80, .box_w = 3, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3210, .adv_w = 281, .box_w = 15, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3250, .adv_w = 183, .box_w = 9, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3277, .adv_w = 176, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3323, .adv_w = 183, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 3375, .adv_w = 183, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 3422, .adv_w = 118, .box_w = 7, .box_h = 11, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3442, .adv_w = 150, .box_w = 9, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3486, .adv_w = 113, .box_w = 7, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3517, .adv_w = 183, .box_w = 9, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3542, .adv_w = 170, .box_w = 11, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3591, .adv_w = 236, .box_w = 14, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3660, .adv_w = 170, .box_w = 11, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3710, .adv_w = 170, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 3773, .adv_w = 151, .box_w = 9, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3809, .adv_w = 183, .box_w = 8, .box_h = 17, .ofs_x = 2, .ofs_y = -3}, + {.bitmap_index = 3859, .adv_w = 97, .box_w = 2, .box_h = 18, .ofs_x = 2, .ofs_y = -4}, + {.bitmap_index = 3864, .adv_w = 183, .box_w = 8, .box_h = 17, .ofs_x = 2, .ofs_y = -3}, + {.bitmap_index = 3916, .adv_w = 241, .box_w = 13, .box_h = 4, .ofs_x = 1, .ofs_y = 4}, + {.bitmap_index = 3940, .adv_w = 182, .box_w = 10, .box_h = 16, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3990, .adv_w = 197, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4056, .adv_w = 198, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4107, .adv_w = 198, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4165, .adv_w = 176, .box_w = 9, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4181, .adv_w = 225, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 4245, .adv_w = 182, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4281, .adv_w = 310, .box_w = 20, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4383, .adv_w = 185, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4442, .adv_w = 215, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4489, .adv_w = 215, .box_w = 11, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4553, .adv_w = 204, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4608, .adv_w = 217, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4656, .adv_w = 248, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4716, .adv_w = 217, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4739, .adv_w = 227, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4812, .adv_w = 217, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4828, .adv_w = 174, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4871, .adv_w = 201, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4928, .adv_w = 176, .box_w = 13, .box_h = 13, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 4948, .adv_w = 176, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5008, .adv_w = 248, .box_w = 14, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5084, .adv_w = 197, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5150, .adv_w = 224, .box_w = 13, .box_h = 16, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 5178, .adv_w = 197, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5209, .adv_w = 308, .box_w = 17, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5239, .adv_w = 315, .box_w = 18, .box_h = 16, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 5279, .adv_w = 240, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5332, .adv_w = 254, .box_w = 14, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5383, .adv_w = 198, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5425, .adv_w = 201, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5492, .adv_w = 311, .box_w = 18, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5585, .adv_w = 200, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5639, .adv_w = 176, .box_w = 9, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5682, .adv_w = 178, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5754, .adv_w = 170, .box_w = 9, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5796, .adv_w = 151, .box_w = 8, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5809, .adv_w = 199, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 5859, .adv_w = 177, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5904, .adv_w = 259, .box_w = 16, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5973, .adv_w = 153, .box_w = 8, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6012, .adv_w = 187, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6047, .adv_w = 187, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6100, .adv_w = 174, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6139, .adv_w = 184, .box_w = 11, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6174, .adv_w = 217, .box_w = 11, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6218, .adv_w = 188, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6240, .adv_w = 176, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6286, .adv_w = 188, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6300, .adv_w = 183, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 6352, .adv_w = 158, .box_w = 8, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6386, .adv_w = 168, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6400, .adv_w = 170, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 6463, .adv_w = 246, .box_w = 15, .box_h = 17, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 6544, .adv_w = 170, .box_w = 11, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6594, .adv_w = 196, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 6619, .adv_w = 170, .box_w = 8, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6648, .adv_w = 264, .box_w = 14, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6673, .adv_w = 271, .box_w = 16, .box_h = 13, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 6708, .adv_w = 203, .box_w = 12, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6749, .adv_w = 227, .box_w = 12, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6783, .adv_w = 170, .box_w = 9, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6811, .adv_w = 158, .box_w = 8, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6848, .adv_w = 242, .box_w = 14, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6907, .adv_w = 173, .box_w = 9, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6947, .adv_w = 177, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0} +}; + +/*--------------------- + * CHARACTER MAPPING + *--------------------*/ + + + +/*Collect the unicode lists and glyph_id offsets*/ +static const lv_font_fmt_txt_cmap_t cmaps[] = +{ + { + .range_start = 32, .range_length = 95, .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 = 1025, .range_length = 1, .glyph_id_start = 96, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + }, + { + .range_start = 1040, .range_length = 64, .glyph_id_start = 97, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + }, + { + .range_start = 1105, .range_length = 1, .glyph_id_start = 161, + .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 = 4, + .bpp = 4, + .kern_classes = 0, + .bitmap_format = 1, +#if LVGL_VERSION_MAJOR == 8 + .cache = &cache +#endif +}; + + + +/*----------------- + * PUBLIC FONT + *----------------*/ + +/*Initialize a public general font descriptor*/ +#if LVGL_VERSION_MAJOR >= 8 +const lv_font_t lv_font_ru_18 = { +#else +lv_font_t lv_font_ru_18 = { +#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 = 22, /*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 = 0, + .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 = NULL, +#endif + .user_data = NULL, +}; + + + +#endif /*#if LV_FONT_RU_18*/ + diff --git a/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/lvgl_russian_font_test/lv_font_ru_24.c b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/lvgl_russian_font_test/lv_font_ru_24.c new file mode 100644 index 0000000..609a499 --- /dev/null +++ b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/lvgl_russian_font_test/lv_font_ru_24.c @@ -0,0 +1,2048 @@ +/******************************************************************************* + * Size: 24 px + * Bpp: 4 + * Opts: --size 24 --bpp 4 --format lvgl --font /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf -r 0x20-0x7E -r 0x0401 -r 0x0410-0x044F -r 0x0451 --lv-include lvgl.h --lv-font-name lv_font_ru_24 -o lv_font_ru_24.c + ******************************************************************************/ + +#ifdef LV_LVGL_H_INCLUDE_SIMPLE +#include "lvgl.h" +#else +#include "lvgl.h" +#endif + +#ifndef LV_FONT_RU_24 +#define LV_FONT_RU_24 1 +#endif + +#if LV_FONT_RU_24 + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { + /* U+0020 " " */ + + /* U+0021 "!" */ + 0x6f, 0xf0, 0x7, 0xff, 0x24, 0xc0, 0x2, 0x2, + 0xe0, 0x62, 0x2, 0x55, 0x0, 0xa8, 0x2, 0x26, + 0xee, 0x0, 0x78, + + /* U+0022 "\"" */ + 0xbf, 0x40, 0x4f, 0xb0, 0xf, 0xfe, 0xb9, 0x99, + 0xc1, 0xcc, 0x80, + + /* U+0023 "#" */ + 0x0, 0xfa, 0x3d, 0x80, 0x5, 0xf6, 0x1, 0xfe, + 0x30, 0x40, 0x2, 0x6, 0x0, 0x7f, 0x90, 0x48, + 0x1, 0x80, 0x80, 0x1f, 0xc6, 0x8, 0x1, 0x20, + 0x18, 0x7, 0xf2, 0x86, 0x80, 0x8, 0x4c, 0x3, + 0xd7, 0xdd, 0x48, 0x4f, 0x73, 0x0, 0xfb, 0xa3, + 0x0, 0x30, 0x8c, 0x0, 0x11, 0xc0, 0x1, 0x19, + 0xc0, 0x1b, 0xfe, 0xd0, 0x4f, 0xf8, 0x83, 0xff, + 0x20, 0x7, 0x20, 0x18, 0x0, 0x48, 0xc0, 0x3f, + 0xd8, 0x18, 0x0, 0x50, 0x50, 0xf, 0xf3, 0x82, + 0x0, 0x30, 0x30, 0x3, 0x87, 0x77, 0x10, 0x6e, + 0xce, 0x17, 0xba, 0xc0, 0x1, 0x91, 0x60, 0x1, + 0x14, 0x0, 0x12, 0x28, 0x0, 0x5f, 0xf3, 0x5, + 0xff, 0xac, 0x1b, 0xfe, 0xe0, 0xf, 0x20, 0x28, + 0x3, 0x3, 0x0, 0x3f, 0x84, 0x88, 0x20, 0x4, + 0x4, 0x0, 0xfe, 0x50, 0x40, 0x8, 0xc4, 0x40, + 0x1f, 0xd8, 0x18, 0x0, 0x30, 0x40, 0xf, 0x80, + + /* U+0024 "$" */ + 0x0, 0xc3, 0xe2, 0x1, 0xff, 0xd2, 0x19, 0xde, + 0xe, 0xe6, 0x40, 0x80, 0xfb, 0x11, 0x82, 0x19, + 0x9c, 0x82, 0xc4, 0xfb, 0x42, 0xb7, 0xa0, 0x41, + 0x2, 0x4, 0x3, 0xb, 0x90, 0x8, 0x38, 0x7, + 0xf1, 0x5, 0x0, 0x7f, 0x58, 0x36, 0xc8, 0x18, + 0x7, 0x34, 0x1, 0x38, 0x6e, 0x9c, 0x3, 0x3f, + 0x4a, 0x80, 0xa, 0x38, 0x80, 0x21, 0x6b, 0xc, + 0x91, 0x17, 0x80, 0x7c, 0x4d, 0xa0, 0x44, 0x0, + 0xfc, 0x60, 0x6, 0x10, 0xf, 0x84, 0x0, 0xde, + 0xe2, 0x1, 0x8b, 0x40, 0x88, 0x31, 0xdb, 0xa0, + 0xfd, 0x30, 0xe0, 0xe8, 0x43, 0x30, 0x9, 0x36, + 0x98, 0xb, 0xdf, 0x70, 0x3b, 0x64, 0x80, 0x3f, + 0xfa, 0x42, 0xe2, 0x1, 0xc0, + + /* U+0025 "%" */ + 0x0, 0x4f, 0x7e, 0xb0, 0x7, 0xcb, 0xf0, 0x1, + 0xd8, 0xc4, 0xc7, 0x2e, 0x1, 0xc3, 0x65, 0x0, + 0x19, 0x4d, 0x32, 0x7c, 0x20, 0x40, 0x34, 0xc, + 0x80, 0x76, 0x7, 0x0, 0x5, 0x81, 0x40, 0x23, + 0x65, 0x40, 0xe, 0x30, 0x60, 0xb, 0x80, 0x80, + 0x2f, 0xb, 0x0, 0xf1, 0x83, 0x0, 0x5c, 0x6, + 0x0, 0x63, 0x81, 0x0, 0xf6, 0x7, 0x0, 0x5, + 0xc1, 0x0, 0x60, 0x9c, 0x3, 0xe5, 0x34, 0xc9, + 0xf1, 0x71, 0x8, 0x19, 0x0, 0xfe, 0xc6, 0x26, + 0x39, 0x80, 0x36, 0x54, 0x7, 0xdf, 0xd6, 0x0, + 0xd3, 0xdf, 0xac, 0x0, 0xe0, 0xb0, 0x98, 0x5, + 0x39, 0x70, 0xf, 0xe7, 0x29, 0x12, 0x62, 0xda, + 0xf1, 0x81, 0x0, 0xf8, 0x60, 0xd8, 0x14, 0x28, + 0x0, 0x2e, 0x8, 0x1, 0xf5, 0x87, 0x80, 0x38, + 0x8, 0x2, 0xe0, 0x20, 0xf, 0x22, 0xb1, 0x80, + 0x7f, 0xf1, 0x64, 0x60, 0x2, 0xe0, 0x20, 0xb, + 0x80, 0x80, 0x39, 0xca, 0x4, 0x2, 0x50, 0xa0, + 0x0, 0xb8, 0x20, 0x6, 0x28, 0x36, 0x0, 0xc4, + 0xc5, 0xb3, 0xe3, 0x2, 0x1, 0xa4, 0x3c, 0x3, + 0xd3, 0x6, 0xc7, 0x2e, 0x0, + + /* U+0026 "&" */ + 0x0, 0xcb, 0x7f, 0xed, 0xa5, 0x0, 0xfe, 0x8a, + 0x40, 0x1, 0x2d, 0x10, 0x7, 0xc4, 0xe0, 0xbd, + 0xfe, 0xa4, 0x0, 0xfc, 0xa0, 0x34, 0x20, 0x5, + 0xb2, 0x0, 0xfe, 0x20, 0xf, 0xfe, 0x12, 0x1, + 0x98, 0x3, 0xff, 0x82, 0x6a, 0x1a, 0x20, 0x1f, + 0xfc, 0x1, 0x70, 0x1c, 0x10, 0xf, 0xf0, 0xf9, + 0x5b, 0x16, 0x8, 0x7, 0x66, 0x4, 0x28, 0x5d, + 0x25, 0x4b, 0x4, 0x2, 0x23, 0x21, 0x24, 0x9, + 0x0, 0x52, 0x16, 0x8, 0x1, 0x1, 0x1, 0x0, + 0x84, 0x2, 0xb3, 0x2c, 0x10, 0xa0, 0xe0, 0x10, + 0xf, 0xb0, 0xcb, 0x18, 0xcc, 0x80, 0x40, 0x42, + 0x1, 0xda, 0x44, 0x90, 0xf0, 0x2, 0x0, 0x28, + 0x3, 0x87, 0x80, 0x2, 0x40, 0x1, 0x80, 0x4c, + 0x40, 0x1, 0x3e, 0x0, 0x7, 0x40, 0x27, 0x70, + 0x1d, 0xff, 0xb6, 0x2, 0x30, 0xe, 0x80, 0x28, + 0xc6, 0x20, 0x1, 0x3e, 0xb9, 0xd0, 0x2c, 0x0, + + /* U+0027 "'" */ + 0xbf, 0x40, 0xf, 0xfe, 0x19, 0x99, 0xc0, + + /* U+0028 "(" */ + 0x0, 0xaf, 0xcc, 0x0, 0x68, 0x83, 0x0, 0x78, + 0x40, 0x0, 0xcc, 0x46, 0x0, 0xa0, 0xa0, 0x9, + 0x81, 0x40, 0x8, 0x2, 0x40, 0x3, 0x5, 0x0, + 0xb0, 0xc, 0x2, 0x70, 0xf0, 0x8, 0x80, 0x40, + 0x38, 0xc0, 0x23, 0x3, 0x0, 0x84, 0x4, 0x2, + 0x50, 0xe0, 0xb, 0x1, 0x0, 0x27, 0x2, 0x0, + 0x88, 0xc1, 0x40, 0x2a, 0xf, 0x0, 0x98, 0x14, + 0x3, 0x38, 0x38, 0x5, 0x3, 0x20, 0x1a, 0x98, + 0x80, + + /* U+0029 ")" */ + 0xd, 0xf1, 0x0, 0xd0, 0x10, 0x1, 0x94, 0x98, + 0x80, 0x35, 0x5, 0x80, 0x65, 0x7, 0x0, 0xc4, + 0x62, 0xa0, 0x19, 0x43, 0x0, 0x36, 0x2, 0x0, + 0x67, 0x2, 0x10, 0x8, 0xc0, 0x6, 0x1, 0x8, + 0x0, 0x40, 0x3c, 0xe0, 0x10, 0x80, 0x1c, 0x2, + 0x30, 0x1, 0x0, 0x4c, 0x0, 0x10, 0x8, 0xc1, + 0x0, 0x36, 0x86, 0x0, 0x65, 0x5, 0x0, 0x94, + 0xc, 0x80, 0x2f, 0x9, 0x0, 0x89, 0x49, 0x40, + 0x2b, 0x8, 0x0, 0xdd, 0xa, 0x1, 0x0, + + /* U+002A "*" */ + 0x0, 0xea, 0xa0, 0x7, 0xff, 0x1a, 0x4c, 0x3, + 0xc7, 0x20, 0x2b, 0x90, 0x1, 0xa3, 0x14, 0x45, + 0x94, 0xba, 0xee, 0xd5, 0xac, 0x10, 0x2, 0xea, + 0x11, 0x13, 0x54, 0x3, 0x9d, 0x80, 0xc, 0xe0, + 0x19, 0x7a, 0x69, 0x55, 0x53, 0xca, 0x3, 0x4f, + 0xca, 0x0, 0x5e, 0x7a, 0x11, 0x74, 0x80, 0x7a, + 0x78, 0x40, 0x40, 0x3f, 0x8, 0x7, 0xbb, 0x80, + 0x1c, + + /* U+002B "+" */ + 0x0, 0xfa, 0x68, 0x3, 0xff, 0x84, 0xea, 0x1, + 0xff, 0xff, 0x0, 0xff, 0xe0, 0x3f, 0xff, 0x84, + 0x3f, 0xfd, 0x20, 0x1f, 0xfc, 0x47, 0xee, 0xf0, + 0x87, 0x77, 0xa4, 0x4, 0x7c, 0x0, 0x11, 0xf0, + 0x7, 0xff, 0xfc, 0x3, 0xc0, + + /* U+002C "," */ + 0x3, 0xff, 0x20, 0x7, 0x9c, 0x0, 0xa1, 0x80, + 0xc2, 0x8, 0x10, 0x0, 0x36, 0x10, + + /* U+002D "-" */ + 0xdf, 0xfe, 0x70, 0xf, 0x80, + + /* U+002E "." */ + 0x1, 0x10, 0x3f, 0x70, 0x3, 0xf8, + + /* U+002F "/" */ + 0x0, 0xe1, 0xfe, 0x0, 0xf2, 0x2, 0x0, 0x7b, + 0xc3, 0xc0, 0x3c, 0x80, 0x80, 0x1c, 0x62, 0x62, + 0x1, 0xd6, 0x16, 0x1, 0xe5, 0x5, 0x0, 0xe2, + 0x2c, 0x1, 0xc8, 0x8, 0x1, 0xed, 0xd, 0x0, + 0xf2, 0x2, 0x0, 0x72, 0x82, 0x80, 0x7b, 0xc3, + 0x0, 0x3c, 0x80, 0xe0, 0x1c, 0x62, 0x62, 0x1, + 0xd6, 0x16, 0x1, 0xe5, 0x4, 0x0, 0xe1, 0x21, + 0x30, 0xe, 0x70, 0x70, 0xf, 0x68, 0x68, 0x7, + 0xb1, 0xd0, 0x3, 0xc0, + + /* U+0030 "0" */ + 0x0, 0x86, 0x77, 0xfa, 0x8c, 0x3, 0x8f, 0xd8, + 0x80, 0x57, 0x18, 0x3, 0x68, 0x9e, 0x7f, 0x28, + 0x49, 0x80, 0x1c, 0x45, 0xa6, 0x3, 0x46, 0x10, + 0x0, 0xa0, 0x71, 0x0, 0xd0, 0x8, 0x22, 0x20, + 0xd0, 0xe, 0x40, 0x2, 0x28, 0x1, 0x40, 0x3c, + 0x41, 0xa2, 0x0, 0x10, 0xf, 0x30, 0x9, 0x80, + 0x7f, 0xc6, 0x1, 0xff, 0xc1, 0x30, 0xf, 0xf8, + 0xc4, 0x0, 0x20, 0x1e, 0x60, 0x15, 0x0, 0x28, + 0x7, 0x88, 0x34, 0x48, 0x30, 0x3, 0x90, 0x0, + 0x81, 0x40, 0xc2, 0x1, 0xa0, 0x10, 0x41, 0xc4, + 0x5a, 0x60, 0x34, 0x61, 0x0, 0x16, 0x81, 0xe7, + 0xf2, 0x84, 0x98, 0x4, 0x7c, 0xc2, 0x2, 0xb8, + 0xc0, 0x0, + + /* U+0031 "1" */ + 0x15, 0x8b, 0xef, 0xf1, 0x80, 0x64, 0xa7, 0x41, + 0x0, 0xfc, 0x29, 0x12, 0x1, 0xf2, 0xf5, 0xba, + 0x0, 0x7f, 0xff, 0xc0, 0x3f, 0xfe, 0xa2, 0x38, + 0x0, 0xe2, 0x30, 0x3, 0xba, 0xc0, 0x5, 0xf7, + 0x42, 0x1, 0xff, 0xc0, + + /* U+0032 "2" */ + 0x1, 0x6a, 0xef, 0xf6, 0xc0, 0x80, 0x7, 0xa5, + 0x44, 0x0, 0x4f, 0xc8, 0x6, 0x5, 0x19, 0xdb, + 0x2, 0x16, 0x47, 0x5a, 0xe6, 0x24, 0xfa, 0x0, + 0xa1, 0x50, 0xf, 0x19, 0x80, 0xc0, 0x3f, 0x98, + 0x3, 0xfe, 0x70, 0x30, 0xf, 0xcc, 0x41, 0x40, + 0x1f, 0x14, 0x83, 0x90, 0x7, 0x87, 0xc0, 0xe0, + 0x3, 0xc3, 0x84, 0x78, 0x1, 0xe1, 0xc2, 0x26, + 0x80, 0x78, 0x74, 0x89, 0x82, 0x1, 0xc3, 0xa6, + 0x58, 0x20, 0x1e, 0xd3, 0x1c, 0x10, 0xf, 0x61, + 0x8e, 0x80, 0x8f, 0x8c, 0xc0, 0x39, 0xdd, 0xef, + 0x0, 0xff, 0xe0, 0x0, + + /* U+0033 "3" */ + 0x2, 0x7b, 0xdf, 0xf7, 0x52, 0x0, 0x68, 0x82, + 0x10, 0x0, 0x56, 0xe4, 0x2, 0x26, 0xac, 0xed, + 0xb4, 0x6, 0x60, 0x2, 0x25, 0x4c, 0x49, 0x2d, + 0x2, 0x80, 0x3f, 0xd8, 0x4, 0x1, 0xfe, 0xd0, + 0x20, 0xf, 0x84, 0xe5, 0x42, 0x40, 0x31, 0x7f, + 0xbb, 0x18, 0x21, 0x40, 0x3f, 0xd0, 0xe0, 0x1c, + 0x5f, 0xee, 0xc4, 0x8d, 0x20, 0xf, 0x84, 0xed, + 0x8b, 0x80, 0x3f, 0xd6, 0x6, 0x40, 0x1f, 0xc4, + 0x0, 0x60, 0xf, 0xe2, 0x0, 0xff, 0xe0, 0x40, + 0x1, 0xb, 0xa1, 0x8, 0x49, 0x71, 0x41, 0xc0, + 0x2, 0xf7, 0xbd, 0xb4, 0x60, 0xd0, 0x5, 0x6c, + 0x62, 0x0, 0x26, 0xc9, 0x0, 0x0, + + /* U+0034 "4" */ + 0x0, 0xfb, 0x7f, 0xcc, 0x1, 0xf9, 0xc8, 0x3, + 0xfc, 0x50, 0x40, 0x1f, 0xe9, 0x9, 0x10, 0xf, + 0xca, 0x8a, 0x80, 0x1f, 0x86, 0xc2, 0xc0, 0x3f, + 0xa0, 0x64, 0x40, 0x3f, 0x1b, 0x1b, 0x0, 0x7f, + 0x70, 0x78, 0x7, 0xf4, 0x13, 0x18, 0x7, 0xe2, + 0x71, 0x80, 0xf, 0xe9, 0x8, 0x10, 0xf, 0x8, + 0x1, 0x82, 0x7f, 0xf8, 0x42, 0x3f, 0x80, 0x3f, + 0xf8, 0x3b, 0xff, 0xf0, 0x84, 0xff, 0x0, 0x7f, + 0xf6, 0xc0, + + /* U+0035 "5" */ + 0x6, 0xff, 0xfd, 0xc0, 0x1f, 0xfc, 0x63, 0xee, + 0xf7, 0x80, 0x78, 0x47, 0xe0, 0xf, 0xfe, 0x99, + 0xf7, 0xfb, 0xa4, 0x80, 0x3e, 0x10, 0x0, 0xb6, + 0xa8, 0x4, 0x6f, 0x7d, 0xfd, 0x22, 0x14, 0x60, + 0x5, 0x84, 0x10, 0x16, 0xf1, 0x8, 0x0, 0xfe, + 0x19, 0x4, 0x0, 0xff, 0x20, 0x0, 0x80, 0x3f, + 0xf8, 0x6, 0x1, 0xfc, 0x80, 0x1, 0x0, 0xfc, + 0x52, 0x8, 0x5, 0xd0, 0x84, 0x24, 0xf8, 0x21, + 0x0, 0x1, 0x7b, 0xde, 0xd8, 0x10, 0xb3, 0x2, + 0x95, 0x21, 0x1, 0x37, 0xe4, 0x0, 0x0, + + /* U+0036 "6" */ + 0x0, 0xc5, 0x3b, 0xfe, 0xd9, 0x30, 0xc, 0xda, + 0xc4, 0x0, 0x26, 0x90, 0x9, 0x64, 0x12, 0xf7, + 0x58, 0xfa, 0x0, 0x1a, 0x6, 0xb4, 0x22, 0x1c, + 0x38, 0x2, 0x40, 0xa4, 0x3, 0xf9, 0x42, 0x80, + 0x3f, 0x84, 0x81, 0xe, 0xfb, 0xf6, 0x4, 0x0, + 0x40, 0x4, 0xc4, 0x10, 0x27, 0xf2, 0x7, 0x0, + 0x41, 0x5f, 0xfa, 0x84, 0x5e, 0x1, 0xde, 0x80, + 0x5, 0xa0, 0x25, 0x0, 0x90, 0x80, 0x32, 0x10, + 0x63, 0x0, 0xc, 0x3, 0xcc, 0x4, 0x40, 0xf, + 0xfe, 0xa, 0x1, 0x80, 0x79, 0x80, 0x83, 0x81, + 0x8, 0x3, 0x21, 0x6, 0x2, 0x98, 0x7a, 0x0, + 0x16, 0x80, 0xd4, 0x1, 0xa4, 0x4b, 0xff, 0x50, + 0x96, 0x80, 0x43, 0xae, 0x40, 0x3, 0x8d, 0x10, + + /* U+0037 "7" */ + 0xf, 0xff, 0xf8, 0xc0, 0x3f, 0xf8, 0x4, 0x1d, + 0xdf, 0x88, 0x14, 0x40, 0x47, 0xe3, 0x20, 0xe0, + 0xf, 0xea, 0x1, 0x40, 0xf, 0xe6, 0x6, 0x0, + 0xfe, 0x41, 0xa, 0x0, 0xfe, 0xe0, 0x32, 0x0, + 0xfc, 0x2a, 0x14, 0x1, 0xfc, 0xe0, 0x7, 0x0, + 0xfe, 0xa0, 0x51, 0x0, 0xfc, 0x46, 0x1c, 0x1, + 0xfd, 0x40, 0x28, 0x1, 0xfc, 0xc0, 0xc0, 0x1f, + 0xc8, 0x21, 0x40, 0x1f, 0xdc, 0x6, 0x40, 0x1f, + 0x85, 0x42, 0x80, 0x3f, 0x9c, 0x0, 0xe0, 0x1e, + + /* U+0038 "8" */ + 0x0, 0x96, 0xfb, 0xfd, 0x90, 0x20, 0x1a, 0xe9, + 0x4, 0x0, 0x6f, 0xe4, 0x0, 0x74, 0x7, 0xef, + 0xe9, 0x1, 0xf0, 0x5, 0x2, 0xc0, 0x80, 0xb4, + 0x81, 0x10, 0xc, 0x34, 0x3, 0x90, 0x3, 0x10, + 0x68, 0x7, 0x20, 0x0, 0x82, 0x81, 0x5c, 0x40, + 0xb, 0x1, 0x20, 0x6, 0x70, 0x8e, 0xff, 0x51, + 0x5b, 0x0, 0x51, 0x20, 0x1c, 0x24, 0x1, 0xe, + 0x4b, 0x6f, 0xec, 0x14, 0xc0, 0x2, 0x8d, 0xa4, + 0x80, 0x9e, 0x81, 0xc8, 0x88, 0x16, 0x1, 0xca, + 0x20, 0xae, 0x0, 0x20, 0xf, 0x10, 0x70, 0x4, + 0x40, 0x1e, 0x20, 0x17, 0x0, 0x58, 0x7, 0x28, + 0x86, 0x92, 0x3, 0x49, 0x0, 0xb5, 0x1, 0x28, + 0x51, 0x3, 0x6f, 0xf4, 0x80, 0xf0, 0x0, 0x76, + 0x4c, 0x40, 0x6, 0xfe, 0x60, + + /* U+0039 "9" */ + 0x0, 0x96, 0xfb, 0xfa, 0x48, 0x3, 0xaa, 0x88, + 0x20, 0x2d, 0xa8, 0x1, 0x42, 0x84, 0x77, 0xea, + 0x5, 0x88, 0xb, 0x83, 0xb8, 0x40, 0xac, 0x82, + 0x1, 0x0, 0x12, 0x1, 0xd6, 0xc, 0x4, 0x0, + 0x10, 0xe, 0x20, 0x1, 0x80, 0x7f, 0xf0, 0x14, + 0x80, 0x2, 0x1, 0xc4, 0x0, 0xe4, 0x0, 0x40, + 0x7, 0x58, 0x4, 0x2c, 0xd, 0x2, 0x7, 0x64, + 0x1, 0xa5, 0x1, 0xfb, 0xf1, 0x18, 0x83, 0xc0, + 0x17, 0x48, 0x22, 0x4a, 0x92, 0x2, 0x0, 0x96, + 0xfb, 0x96, 0xa6, 0x0, 0x40, 0xf, 0xe9, 0x3, + 0x10, 0xf, 0xca, 0xa0, 0x80, 0x2, 0x4a, 0x10, + 0x9c, 0xd0, 0x32, 0x0, 0x5, 0xaf, 0x7b, 0x18, + 0x1a, 0x40, 0x24, 0x73, 0x10, 0x15, 0xb9, 0x0, + 0x80, + + /* U+003A ":" */ + 0x3f, 0xf2, 0x0, 0x7e, 0x3e, 0xe2, 0x0, 0x88, + 0x3, 0xff, 0x8c, 0x22, 0x3, 0xee, 0x20, 0x7, + 0xe0, + + /* U+003B ";" */ + 0x3, 0xff, 0x20, 0x7, 0xfc, 0x7d, 0xc4, 0x0, + 0x8, 0x80, 0x3f, 0xf9, 0xe7, 0xfe, 0x40, 0xf, + 0x38, 0x1, 0x43, 0x1, 0x84, 0x10, 0x20, 0x0, + 0x6c, 0x20, + + /* U+003C "<" */ + 0x0, 0xff, 0xe1, 0x11, 0x80, 0x7f, 0xf0, 0x17, + 0x36, 0x80, 0x3f, 0x8e, 0x7e, 0x8c, 0x38, 0x3, + 0xc2, 0xfb, 0x8c, 0x5, 0x1c, 0xe0, 0x19, 0x6f, + 0xa0, 0x85, 0xb3, 0x5c, 0x40, 0x7, 0x3f, 0x48, + 0xb, 0x7d, 0x26, 0x1, 0x9b, 0x18, 0xe, 0x7a, + 0x90, 0x3, 0xe1, 0x0, 0xd, 0xb8, 0x80, 0x7f, + 0x33, 0x88, 0xa3, 0xad, 0x40, 0x3f, 0xc, 0x75, + 0xa8, 0x25, 0x7c, 0x98, 0x7, 0xe4, 0xae, 0x93, + 0x6, 0xcd, 0x82, 0x0, 0xf8, 0x5b, 0x35, 0x84, + 0x9f, 0x71, 0x0, 0x3f, 0x14, 0xf5, 0x20, 0x1e, + 0x80, 0x7f, 0xcb, 0x7d, 0x1e, + + /* U+003D "=" */ + 0x1, 0x1f, 0xfe, 0x10, 0x3f, 0x77, 0xff, 0xa, + 0x40, 0x3f, 0xf8, 0x8f, 0xff, 0xff, 0xc2, 0x90, + 0xf, 0xfe, 0x28, 0x8f, 0xff, 0x8, 0x1f, 0xbb, + 0xff, 0x85, 0x20, 0x1f, 0xfc, 0x40, + + /* U+003E ">" */ + 0x32, 0x0, 0xff, 0xe1, 0x26, 0xe3, 0x8, 0x7, + 0xfc, 0x40, 0x73, 0xd4, 0x80, 0x1f, 0xcb, 0xd2, + 0x60, 0xb7, 0xd0, 0x40, 0x1f, 0xb, 0x66, 0xb8, + 0x89, 0xf7, 0x18, 0x3, 0xf1, 0x47, 0x5a, 0x81, + 0xcf, 0xd2, 0x0, 0x7e, 0x4a, 0xf9, 0x30, 0x5b, + 0x80, 0xf, 0xf3, 0xd1, 0x0, 0x4, 0x3, 0xf2, + 0x57, 0x49, 0xb, 0x58, 0x7, 0x1c, 0xf5, 0xa8, + 0x25, 0x74, 0x90, 0x0, 0x5f, 0x71, 0x84, 0xa3, + 0xad, 0x40, 0x23, 0xbe, 0x82, 0x6, 0xcd, 0x71, + 0x0, 0xe4, 0x40, 0x25, 0x7c, 0x98, 0x7, 0xe2, + 0x7d, 0xb5, 0x0, 0xff, 0x80, + + /* U+003F "?" */ + 0x1, 0x7c, 0xff, 0x6c, 0x88, 0x0, 0xfa, 0xc, + 0x0, 0x4d, 0xe4, 0xe, 0xd, 0x9f, 0xd2, 0x3, + 0x20, 0xdb, 0x26, 0x2, 0xce, 0x8, 0x4, 0x40, + 0xe, 0xd0, 0xf, 0xf7, 0x81, 0x80, 0x7c, 0xea, + 0x1e, 0x1, 0xe7, 0x80, 0xa3, 0x0, 0xe6, 0x80, + 0xa5, 0x0, 0xf4, 0x84, 0xa8, 0x7, 0x90, 0x0, + 0xc0, 0x1f, 0x8, 0x8, 0x7, 0xff, 0x1d, 0x33, + 0x0, 0x1f, 0x84, 0x8c, 0x3, 0xf3, 0x77, 0x0, + 0x3f, 0xf9, 0xe0, + + /* U+0040 "@" */ + 0x0, 0xf9, 0x27, 0x7b, 0xfb, 0x1c, 0x80, 0x3f, + 0xe4, 0xdb, 0x62, 0x33, 0x1, 0xc6, 0xc0, 0x7, + 0xf4, 0x59, 0x36, 0x7e, 0xe7, 0x72, 0x49, 0xf4, + 0x40, 0x3d, 0x2e, 0x5b, 0x26, 0x1, 0x85, 0xb6, + 0xb, 0x4, 0x3, 0x2b, 0x1e, 0x10, 0x7, 0xf3, + 0xc9, 0x50, 0x6, 0xb1, 0xd1, 0x0, 0x1c, 0xdd, + 0x28, 0x6, 0x66, 0x22, 0x80, 0x1c, 0x6c, 0x40, + 0xb, 0x8c, 0x8b, 0x57, 0x6f, 0x0, 0x40, 0x70, + 0x2, 0x85, 0x40, 0x3, 0x41, 0x1d, 0xf2, 0x88, + 0x0, 0x85, 0x10, 0x4, 0x47, 0x0, 0xa4, 0x1d, + 0xc2, 0xd, 0x0, 0x1d, 0x80, 0x6c, 0x18, 0x1, + 0x20, 0x50, 0x6, 0x60, 0xe, 0x10, 0x72, 0x1, + 0x0, 0x88, 0x8, 0x3, 0x8, 0x80, 0x30, 0x80, + 0x7f, 0xf2, 0x78, 0x18, 0x80, 0x40, 0x22, 0x2, + 0x0, 0xc2, 0x20, 0xc, 0xe2, 0x4c, 0x18, 0x1, + 0x20, 0x50, 0x6, 0x60, 0xc, 0xe3, 0x20, 0x44, + 0x40, 0xa, 0x81, 0xdc, 0x20, 0xd0, 0x0, 0x29, + 0x84, 0x70, 0x2, 0x92, 0x80, 0xa, 0x82, 0x3b, + 0xe5, 0x10, 0x1a, 0xcc, 0xb0, 0xa, 0x42, 0x4, + 0x0, 0xb8, 0xc8, 0xb5, 0x78, 0xb1, 0xb2, 0x1, + 0x86, 0x4a, 0x80, 0x23, 0x9b, 0xa5, 0x7, 0xa7, + 0x20, 0xf, 0x32, 0xa6, 0x8, 0x7, 0xf3, 0x88, + 0x7, 0xd4, 0xc7, 0xd0, 0x40, 0x18, 0x5b, 0x62, + 0x0, 0x1f, 0xa6, 0x89, 0xf7, 0xb3, 0x1b, 0xd2, + 0x4f, 0x20, 0x1f, 0xcb, 0xb4, 0xa6, 0x79, 0x27, + 0xa0, 0x3, 0x80, + + /* U+0041 "A" */ + 0x0, 0xf2, 0xff, 0xac, 0x3, 0xff, 0x83, 0xe0, + 0x4, 0x10, 0xf, 0xf8, 0x54, 0x14, 0x18, 0x3, + 0xfe, 0x70, 0x59, 0xa, 0x0, 0xff, 0xa8, 0x38, + 0xc4, 0x8c, 0x3, 0xf8, 0x8c, 0x50, 0x18, 0x28, + 0x3, 0xfa, 0x81, 0xc0, 0x14, 0xe, 0x1, 0xfc, + 0xc1, 0x40, 0x2, 0x20, 0xa8, 0x7, 0xc8, 0x22, + 0x30, 0xa, 0x83, 0x80, 0x3e, 0xe0, 0x60, 0xc, + 0xc0, 0x82, 0x1, 0xe5, 0xa, 0x0, 0xc2, 0x60, + 0xe0, 0x1c, 0xc0, 0xd, 0xff, 0xe3, 0xa, 0x0, + 0xea, 0x0, 0xff, 0x19, 0x0, 0x44, 0x61, 0xbd, + 0xdf, 0x20, 0x50, 0x5, 0x40, 0x44, 0x11, 0xfb, + 0x81, 0x80, 0x26, 0xa, 0x0, 0xfc, 0x80, 0x28, + 0x8, 0x20, 0xa0, 0x1f, 0x85, 0x3, 0x83, 0x80, + 0x88, 0x1, 0xfd, 0xa0, 0xa2, + + /* U+0042 "B" */ + 0xaf, 0xff, 0x76, 0x38, 0x7, 0xf8, 0x4e, 0x34, + 0x40, 0x24, 0xff, 0xbb, 0x5c, 0xa, 0xc0, 0x3e, + 0x12, 0x86, 0x5, 0x0, 0xff, 0x78, 0x7, 0xff, + 0x3, 0xc0, 0x80, 0x3f, 0x13, 0xb0, 0x58, 0x4, + 0x9f, 0xfb, 0x60, 0xe9, 0x80, 0x3f, 0xc5, 0xa0, + 0x19, 0x3f, 0xf7, 0x50, 0x3d, 0x0, 0x7e, 0x15, + 0xa0, 0x54, 0x0, 0xfe, 0x41, 0xd, 0x0, 0xff, + 0x10, 0x10, 0x7, 0xf8, 0x80, 0x3f, 0xe4, 0x10, + 0x30, 0xf, 0x85, 0xa8, 0x1, 0x20, 0x4, 0xff, + 0xdd, 0x22, 0x16, 0x20, 0x1f, 0x89, 0xf5, 0x0, + + /* U+0043 "C" */ + 0x0, 0xe6, 0xbe, 0xff, 0x6d, 0x20, 0x7, 0x2f, + 0x4a, 0x8, 0x0, 0x96, 0xf4, 0x80, 0xd, 0x42, + 0x28, 0xce, 0xe6, 0x41, 0x11, 0x40, 0xe4, 0xf, + 0x9c, 0xc4, 0x46, 0xfb, 0x0, 0x8, 0x1, 0xd0, + 0xf, 0xce, 0xe2, 0x40, 0x91, 0x0, 0xff, 0x20, + 0x1, 0x40, 0x3f, 0xee, 0x0, 0x10, 0x7, 0xfc, + 0x20, 0x40, 0x1f, 0xfc, 0xf1, 0x2, 0x0, 0xff, + 0xe0, 0x70, 0x0, 0x80, 0x3f, 0xe4, 0x0, 0x28, + 0x7, 0xfc, 0x48, 0x12, 0x20, 0x1f, 0xf4, 0x0, + 0xe8, 0x7, 0xe7, 0x70, 0x1c, 0x81, 0xf3, 0x90, + 0x88, 0xdf, 0x60, 0x2, 0x6a, 0x11, 0x46, 0xf7, + 0x32, 0x8, 0xd4, 0x2, 0x5e, 0x94, 0x10, 0x1, + 0x2d, 0xe1, 0x0, + + /* U+0044 "D" */ + 0xaf, 0xfe, 0xed, 0xa7, 0x10, 0xf, 0xf8, 0x49, + 0x63, 0xa8, 0x40, 0x39, 0x3f, 0xee, 0xc9, 0x30, + 0x5c, 0x10, 0xf, 0xc2, 0x6d, 0x92, 0x5, 0x40, + 0x1f, 0xfc, 0x6, 0x70, 0x43, 0x0, 0xff, 0xe0, + 0x48, 0x2, 0x80, 0x3f, 0xf8, 0x2, 0x80, 0x80, + 0x1f, 0xfc, 0x13, 0x2, 0x0, 0xff, 0xe0, 0xf8, + 0x7, 0xff, 0x4f, 0xc0, 0x3f, 0xf8, 0x66, 0x4, + 0x1, 0xff, 0xc0, 0x14, 0x4, 0x0, 0xff, 0xe0, + 0x48, 0x2, 0x80, 0x3f, 0xe6, 0x70, 0x43, 0x0, + 0xf8, 0x4d, 0xb2, 0x40, 0xa8, 0x3, 0x27, 0xfd, + 0xd9, 0x26, 0xb, 0x82, 0x1, 0xf8, 0x49, 0x63, + 0xa8, 0x40, 0x20, + + /* U+0045 "E" */ + 0xaf, 0xff, 0xf3, 0x0, 0x7f, 0xf0, 0x93, 0xbb, + 0xf3, 0x0, 0x42, 0x3f, 0x80, 0x3f, 0xfb, 0x69, + 0xff, 0xf8, 0x40, 0x3f, 0xf8, 0x49, 0xdd, 0xf8, + 0x40, 0x21, 0x1f, 0xc0, 0x1f, 0xfe, 0x81, 0x1f, + 0xc0, 0x12, 0x77, 0x7e, 0xa0, 0xf, 0xfe, 0x0, + + /* U+0046 "F" */ + 0xaf, 0xff, 0xe6, 0x0, 0xff, 0xe0, 0xa7, 0x77, + 0xcc, 0x1, 0x8, 0xfc, 0x1, 0xff, 0xd8, 0x4f, + 0xff, 0x50, 0x7, 0xff, 0x9, 0x3b, 0xbd, 0x40, + 0x18, 0x47, 0xc0, 0x1f, 0xff, 0xf0, 0xc, + + /* U+0047 "G" */ + 0x0, 0xe6, 0xae, 0xff, 0x75, 0xb9, 0x0, 0x72, + 0xf4, 0xa8, 0x80, 0x5, 0x23, 0x68, 0x2, 0x6a, + 0x11, 0x46, 0x77, 0xed, 0x30, 0x29, 0x1, 0xc8, + 0x27, 0x39, 0x88, 0x12, 0xcf, 0x30, 0x2, 0x0, + 0x6c, 0x3, 0xf0, 0xc9, 0x11, 0x2, 0x0, 0x3f, + 0xf8, 0x8, 0x0, 0x40, 0xf, 0xfe, 0x7, 0x0, + 0x8, 0x3, 0xff, 0x80, 0x20, 0x40, 0x1e, 0x9f, + 0xfe, 0xa0, 0xf, 0xfe, 0x20, 0x81, 0x0, 0x7a, + 0x7f, 0xe4, 0x0, 0x70, 0x0, 0x80, 0x3f, 0xf8, + 0x8, 0x0, 0x40, 0xf, 0xfe, 0x1, 0x20, 0x40, + 0x7, 0xff, 0x6, 0x0, 0x6c, 0x3, 0xff, 0x80, + 0x72, 0x9, 0xce, 0x62, 0x2, 0x94, 0x80, 0x60, + 0x6, 0xa1, 0x14, 0x67, 0x7f, 0x5a, 0x82, 0xc0, + 0x4, 0xbd, 0x28, 0x20, 0x1, 0x48, 0xda, 0x10, + + /* U+0048 "H" */ + 0xaf, 0xb0, 0xf, 0xd5, 0xf6, 0x1, 0xff, 0xff, + 0x0, 0xff, 0x93, 0xff, 0xf2, 0x80, 0x7f, 0xf1, + 0x93, 0xbb, 0xf2, 0x0, 0x70, 0x8f, 0xf0, 0x7, + 0xff, 0xfc, 0x3, 0xff, 0x9a, + + /* U+0049 "I" */ + 0xaf, 0xb0, 0xf, 0xff, 0x38, + + /* U+004A "J" */ + 0x0, 0xd5, 0xf6, 0x1, 0xff, 0xff, 0x0, 0xff, + 0xef, 0x88, 0x6, 0x60, 0x30, 0x8, 0x4c, 0x3c, + 0x4, 0xf4, 0x0, 0xe9, 0xd8, 0x61, 0x2, 0x1, + 0x1d, 0x38, 0x0, + + /* U+004B "K" */ + 0xaf, 0xb0, 0xf, 0xe, 0xff, 0x18, 0x7, 0xf0, + 0xe1, 0xe, 0x18, 0x7, 0xe2, 0xc2, 0x1c, 0x20, + 0xf, 0xc5, 0x84, 0x4c, 0x20, 0xf, 0xc5, 0x82, + 0x58, 0x40, 0x1f, 0x8b, 0x4, 0xb0, 0x40, 0x3f, + 0x1e, 0x9, 0x60, 0x80, 0x7e, 0x6c, 0x13, 0xc1, + 0x0, 0xfe, 0x20, 0x7, 0x88, 0x7, 0xf8, 0x84, + 0x34, 0x80, 0x3f, 0xcd, 0xa0, 0x3e, 0x20, 0x1f, + 0xe3, 0xc0, 0x2c, 0x10, 0xf, 0xf1, 0xe0, 0x16, + 0x8, 0x7, 0xf8, 0xec, 0xb, 0x4, 0x3, 0xfc, + 0x96, 0x5, 0xa0, 0x1f, 0xf2, 0x50, 0x1e, 0x0, + 0x7f, 0xcb, 0x40, 0x78, 0x1, 0xff, 0x2d, 0x1, + 0xd8, 0x0, + + /* U+004C "L" */ + 0xaf, 0xb0, 0xf, 0xff, 0xf8, 0x7, 0xff, 0xfc, + 0x3, 0xff, 0xa4, 0x23, 0xf8, 0x2, 0x4e, 0xef, + 0xc8, 0x1, 0xff, 0xc0, + + /* U+004D "M" */ + 0xaf, 0xf8, 0x40, 0x3e, 0x5f, 0xf9, 0x40, 0x33, + 0x80, 0x7d, 0xc0, 0x1e, 0x10, 0xa0, 0xf, 0xa, + 0x8, 0x7, 0x21, 0x19, 0x0, 0x73, 0x3, 0x80, + 0x79, 0x42, 0x80, 0x3a, 0x82, 0x80, 0x3d, 0x40, + 0xc0, 0x18, 0x8a, 0x30, 0xf, 0x11, 0x8a, 0x0, + 0x54, 0x14, 0x1, 0xfa, 0x83, 0x40, 0x26, 0x5, + 0x0, 0xfc, 0xe0, 0xc0, 0x4, 0x13, 0x20, 0xf, + 0xc2, 0xa0, 0xa1, 0xc1, 0x40, 0x1f, 0xee, 0xe, + 0x5, 0x6, 0x0, 0xff, 0x20, 0xa3, 0x82, 0x80, + 0x7f, 0xf0, 0x1c, 0x20, 0x38, 0x3, 0xff, 0x81, + 0x40, 0x1, 0x40, 0xf, 0xfe, 0x1, 0xbb, 0xac, + 0x3, 0xff, 0x85, 0x10, 0x50, 0xf, 0xfe, 0xe8, + + /* U+004E "N" */ + 0xaf, 0xf6, 0x0, 0x7d, 0x7f, 0x20, 0x11, 0xa8, + 0x7, 0xff, 0x6, 0x0, 0x3f, 0xe3, 0x2, 0x50, + 0xf, 0xf3, 0x38, 0x40, 0x7, 0xfd, 0x20, 0x4c, + 0x1, 0xfe, 0x17, 0xb, 0x0, 0xff, 0xa4, 0x49, + 0x80, 0x3f, 0xc3, 0x21, 0x0, 0x1f, 0xf3, 0x88, + 0x98, 0x3, 0xfe, 0x90, 0x80, 0xf, 0xf9, 0xc4, + 0x4e, 0x1, 0xff, 0x40, 0x48, 0x7, 0xfc, 0xc2, + 0x27, 0x0, 0xff, 0xa0, 0x21, 0xc0, 0x3f, 0xcc, + 0x40, 0x60, 0x1f, 0xf4, 0x0, 0x7f, 0xf0, 0x54, + 0x80, 0x20, + + /* U+004F "O" */ + 0x0, 0xc2, 0xf9, 0xdf, 0xd8, 0xe0, 0x1f, 0x9b, + 0xa0, 0xc4, 0x4, 0xe3, 0x90, 0x3, 0x9e, 0x40, + 0xab, 0xbf, 0xa4, 0x45, 0x6a, 0x1, 0x1c, 0x2, + 0x6a, 0x88, 0xb, 0x79, 0x85, 0x10, 0x2, 0x0, + 0x68, 0x3, 0xc3, 0xa0, 0x8, 0x2, 0x40, 0x91, + 0x0, 0xf8, 0x58, 0x14, 0x10, 0x0, 0xa0, 0x1f, + 0xda, 0x0, 0x4e, 0x0, 0x10, 0x7, 0xf2, 0x80, + 0x8, 0x40, 0x80, 0x3f, 0xc2, 0x0, 0xe3, 0x0, + 0xff, 0xe2, 0x10, 0x10, 0x7, 0xf8, 0x40, 0x1f, + 0xc0, 0x2, 0x0, 0xfe, 0x50, 0x1, 0xa0, 0x1, + 0x40, 0x3f, 0xb4, 0x0, 0x84, 0x81, 0x20, 0x1f, + 0x85, 0x81, 0x40, 0x10, 0x3, 0x60, 0x1f, 0x68, + 0x2, 0x0, 0x7, 0x0, 0x9a, 0xa2, 0x2, 0xdc, + 0x61, 0x44, 0x1, 0x3c, 0x81, 0x57, 0x7f, 0x48, + 0x8a, 0x94, 0x3, 0x9b, 0xa0, 0xc4, 0x4, 0xe3, + 0xd4, 0x2, + + /* U+0050 "P" */ + 0xaf, 0xff, 0x6c, 0x8, 0x7, 0xf1, 0x3f, 0x98, + 0x4, 0x9f, 0xf6, 0xc0, 0xe, 0x80, 0x7c, 0x4f, + 0x20, 0x2a, 0x1, 0xf9, 0x80, 0x18, 0x1, 0xfc, + 0x20, 0x60, 0x1f, 0xc2, 0x6, 0x1, 0xf9, 0x80, + 0x18, 0x1, 0xe2, 0x79, 0x1, 0x50, 0x2, 0x7f, + 0xdb, 0x0, 0xa, 0x0, 0xfc, 0x4f, 0xc8, 0x1, + 0x27, 0xfe, 0xd8, 0x10, 0xf, 0xff, 0xf0, + + /* U+0051 "Q" */ + 0x0, 0xc2, 0xf9, 0xdf, 0xd8, 0xe0, 0x1f, 0x9b, + 0xa0, 0xc4, 0x4, 0xe3, 0x90, 0x3, 0x9e, 0x40, + 0xab, 0xbf, 0xa4, 0x45, 0x6a, 0x1, 0x1c, 0x2, + 0x6a, 0x88, 0xb, 0x79, 0x85, 0x8, 0x2, 0x0, + 0x68, 0x3, 0xc3, 0xc0, 0x8, 0x2, 0x40, 0x91, + 0x0, 0xf8, 0x98, 0x18, 0x10, 0x0, 0xa0, 0x1f, + 0xda, 0x0, 0x4e, 0x0, 0x10, 0x7, 0xf2, 0x80, + 0x8, 0x40, 0x80, 0x3f, 0xc2, 0x0, 0xe3, 0x0, + 0xff, 0xe2, 0x10, 0x10, 0x7, 0xf8, 0x40, 0x1f, + 0xc0, 0x2, 0x0, 0xfe, 0x20, 0x1, 0x20, 0x1, + 0x40, 0x3f, 0xa8, 0x0, 0x84, 0x81, 0x20, 0x1f, + 0x85, 0x81, 0x4, 0x20, 0x6, 0xc0, 0x3e, 0xd0, + 0x4, 0x0, 0xe, 0x1, 0x35, 0x44, 0x5, 0x74, + 0xc1, 0xcc, 0x2, 0x79, 0x2, 0xae, 0xfe, 0xa2, + 0x7, 0x80, 0xe, 0x6e, 0x83, 0x10, 0xd, 0x90, + 0x1, 0xf0, 0xbe, 0x77, 0xe8, 0x2, 0x80, 0x3f, + 0xf8, 0x25, 0x60, 0xd0, 0x1, 0xff, 0xc1, 0x49, + 0x7, 0x60, 0x0, + + /* U+0052 "R" */ + 0xaf, 0xff, 0x6c, 0x90, 0x7, 0xfc, 0x4d, 0xaa, + 0x1, 0xc9, 0xff, 0x6c, 0x88, 0x50, 0x80, 0x7e, + 0x26, 0xd0, 0x3, 0x80, 0x7f, 0x8c, 0x43, 0xc0, + 0x3f, 0xf9, 0x86, 0x21, 0xc0, 0x1f, 0x85, 0x74, + 0x0, 0xa0, 0x19, 0x3f, 0xee, 0xa1, 0x9, 0x20, + 0xf, 0xfb, 0x18, 0x3, 0x93, 0xfd, 0xd8, 0x81, + 0xc2, 0x1, 0xf8, 0x4e, 0xd0, 0xa8, 0x3, 0xfe, + 0x90, 0x44, 0x0, 0x7f, 0x89, 0x42, 0x0, 0x3f, + 0xe8, 0x3, 0x40, 0xf, 0xf1, 0x20, 0x40, 0x7, + 0xfd, 0xe0, 0x66, 0x0, 0xff, 0x21, 0x84, 0x0, + + /* U+0053 "S" */ + 0x0, 0x9a, 0xfb, 0xfb, 0x6d, 0x88, 0x0, 0x3b, + 0x28, 0x20, 0x24, 0x93, 0xe0, 0xd, 0x20, 0x7d, + 0xff, 0x6c, 0xa0, 0x0, 0xcc, 0x15, 0x4, 0x0, + 0x26, 0xbc, 0x5, 0x0, 0x28, 0x7, 0xc2, 0x1, + 0x84, 0x3, 0xf9, 0x0, 0x16, 0x1, 0xfc, 0x4a, + 0xb, 0xd4, 0xe6, 0x1, 0xea, 0x70, 0x15, 0x8c, + 0xfb, 0x40, 0xd, 0x1f, 0x4c, 0x60, 0x4, 0xb8, + 0x0, 0xe5, 0x9c, 0xfa, 0x20, 0x75, 0x0, 0xfc, + 0xb8, 0x21, 0xc0, 0x1f, 0xc2, 0x80, 0xc0, 0x1f, + 0xfc, 0x12, 0x20, 0x7, 0xc2, 0x80, 0xee, 0xdb, + 0x62, 0x0, 0x13, 0x78, 0x84, 0x88, 0x24, 0xef, + 0xfb, 0x64, 0x42, 0x4d, 0x36, 0x10, 0x80, 0x2, + 0x6f, 0xac, 0x0, + + /* U+0054 "T" */ + 0x1f, 0xff, 0xfe, 0x15, 0x80, 0x7f, 0xf1, 0x7, + 0xbb, 0xc4, 0xf, 0xdd, 0xd6, 0x2, 0x3e, 0x0, + 0x84, 0x78, 0x3, 0xff, 0xfe, 0x1, 0xff, 0xff, + 0x0, 0xff, 0xff, 0x80, + + /* U+0055 "U" */ + 0xef, 0x70, 0xf, 0xdd, 0xee, 0x1, 0xff, 0xff, + 0x0, 0xff, 0xfb, 0xf8, 0x7, 0xfc, 0x40, 0x20, + 0x1f, 0x84, 0x9, 0x41, 0x0, 0x3e, 0x40, 0x3, + 0xe8, 0x12, 0x80, 0x7a, 0x0, 0x88, 0x86, 0x14, + 0xe4, 0x0, 0x4b, 0x30, 0x80, 0x6, 0x98, 0x46, + 0xff, 0xad, 0x2, 0x14, 0x0, 0x39, 0x28, 0x20, + 0x2, 0x6d, 0x70, 0x0, + + /* U+0056 "V" */ + 0xaf, 0xd0, 0xf, 0xf3, 0x7f, 0x87, 0x80, 0x8c, + 0x3, 0xfa, 0x81, 0x45, 0x4, 0x28, 0x3, 0xf1, + 0x18, 0x70, 0x1, 0x81, 0xc0, 0x3f, 0x50, 0xa, + 0x0, 0x28, 0x5, 0x0, 0x3e, 0x60, 0x60, 0x8, + 0x8c, 0x38, 0x3, 0xc8, 0x21, 0x40, 0x1a, 0x81, + 0x44, 0x3, 0xb4, 0xc, 0x80, 0x33, 0x0, 0x1c, + 0x3, 0x98, 0x28, 0x3, 0xca, 0x14, 0x1, 0x94, + 0x0, 0xe0, 0x1e, 0xe0, 0x32, 0x0, 0xb8, 0x10, + 0x40, 0x3c, 0x82, 0xa, 0x0, 0x14, 0xe, 0x0, + 0xfc, 0xc1, 0x40, 0x6, 0x1, 0x50, 0xf, 0xd4, + 0x4, 0x61, 0x40, 0xe0, 0x1f, 0xc4, 0x61, 0x46, + 0x41, 0x40, 0x1f, 0xea, 0x7, 0xa0, 0x23, 0x0, + 0xff, 0x38, 0xb, 0x5, 0x0, 0x7f, 0xc2, 0xa0, + 0x13, 0x0, 0x7f, 0xf0, 0x3c, 0x0, 0x82, 0x1, + 0xe0, + + /* U+0057 "W" */ + 0x1f, 0xf2, 0x0, 0x7a, 0x7f, 0xca, 0x1, 0xe9, + 0xfd, 0x12, 0xc, 0x0, 0xf2, 0x0, 0x30, 0x3, + 0xc8, 0x8, 0x8, 0x8, 0x1, 0xc2, 0x42, 0xa, + 0x1, 0xc2, 0x41, 0x81, 0x80, 0x60, 0x1c, 0x80, + 0xe4, 0x60, 0x1c, 0xa0, 0x4, 0x4, 0x0, 0x20, + 0x6, 0xd0, 0xf4, 0x4, 0x0, 0xd8, 0x4, 0x20, + 0x24, 0x18, 0x1, 0x90, 0x13, 0x3, 0x0, 0x32, + 0x2, 0x0, 0x48, 0x8, 0x1, 0x8c, 0x49, 0xc1, + 0x0, 0x31, 0x86, 0x0, 0x5e, 0x6, 0x1, 0x20, + 0x20, 0x10, 0x98, 0x4, 0x80, 0x4, 0x0, 0x90, + 0x0, 0x60, 0xc, 0xc, 0x0, 0x20, 0x20, 0x3, + 0x0, 0x84, 0x2, 0x21, 0x4, 0x0, 0x20, 0x20, + 0x3, 0x0, 0xc0, 0x6, 0xe, 0x1, 0xc8, 0x18, + 0x0, 0x30, 0x20, 0x2, 0x86, 0x0, 0x10, 0x30, + 0x3, 0xb0, 0x10, 0xc, 0x10, 0x2, 0x30, 0x40, + 0x30, 0x2, 0x0, 0x72, 0x0, 0xd, 0x3, 0x0, + 0x32, 0x1, 0xa0, 0x9, 0x0, 0x71, 0x8, 0x26, + 0x2, 0x0, 0x6c, 0x4, 0xc0, 0x40, 0xf, 0x90, + 0x31, 0x0, 0xc0, 0x31, 0x86, 0x20, 0x60, 0x7, + 0xd8, 0x8, 0x6, 0x1, 0xc8, 0x8, 0x0, 0x40, + 0xf, 0x90, 0x2, 0x40, 0xf, 0x18, 0x0, 0x48, + 0x3, 0xe2, 0x10, 0x6, 0x0, 0x79, 0x0, 0x8, + 0x1, 0x80, + + /* U+0058 "X" */ + 0x2, 0xff, 0x30, 0x7, 0xd1, 0xfc, 0x20, 0x4e, + 0x10, 0x20, 0x1c, 0x6e, 0x16, 0x20, 0x8, 0x21, + 0xb0, 0xe, 0xe0, 0x55, 0x0, 0x6e, 0x5, 0x50, + 0x5, 0x4, 0x36, 0x1, 0xc6, 0xc1, 0x62, 0x4, + 0xe1, 0x2, 0x1, 0xe9, 0x21, 0xb0, 0xe0, 0x46, + 0x0, 0xfd, 0x20, 0xb6, 0x61, 0x20, 0x1f, 0xc8, + 0xc0, 0x81, 0x24, 0x1, 0xfe, 0xa0, 0x1, 0x30, + 0x7, 0xfd, 0x0, 0x2, 0x30, 0xf, 0xf3, 0x20, + 0x18, 0x70, 0x7, 0xf0, 0xc8, 0x46, 0x89, 0x40, + 0x7, 0xea, 0x2, 0x71, 0x80, 0x72, 0x0, 0xf2, + 0xa0, 0x70, 0x1, 0x90, 0x38, 0x3, 0x86, 0xc1, + 0xcc, 0x2, 0x90, 0x37, 0x0, 0xd6, 0x25, 0x0, + 0x18, 0xa0, 0x20, 0x80, 0x8, 0xa1, 0xc0, 0x1e, + 0x73, 0x9, 0x0, 0x50, 0x31, 0x80, 0x7d, 0xc0, + 0x8a, + + /* U+0059 "Y" */ + 0xb, 0xfc, 0x0, 0xfc, 0x5f, 0xe5, 0xa, 0x3, + 0x70, 0xf, 0xb8, 0x11, 0x40, 0x64, 0x20, 0x80, + 0x39, 0xcc, 0x28, 0x2, 0x64, 0xe, 0x0, 0xc5, + 0x1, 0x22, 0x1, 0xa4, 0xd, 0xc0, 0x2e, 0x4, + 0x60, 0xe, 0x28, 0x8, 0x20, 0x63, 0x9, 0x0, + 0xf9, 0xcc, 0x24, 0x64, 0x24, 0x80, 0x3f, 0x70, + 0x27, 0x81, 0xb0, 0x7, 0xf1, 0x40, 0x8, 0x70, + 0x7, 0xfc, 0xe2, 0xc, 0x40, 0x1f, 0xfc, 0x3, + 0x1, 0x0, 0xff, 0xff, 0x80, 0x7f, 0xf7, 0xc0, + + /* U+005A "Z" */ + 0xaf, 0xff, 0xfe, 0x8, 0x80, 0x7f, 0xf0, 0xeb, + 0xbb, 0xfa, 0xc0, 0xc, 0x20, 0x23, 0xf8, 0x28, + 0xe, 0x40, 0x3f, 0xda, 0x22, 0xd0, 0xf, 0xf4, + 0x18, 0x50, 0x80, 0x7f, 0x2b, 0x84, 0x20, 0x7, + 0xf1, 0x50, 0x2b, 0x80, 0x7f, 0xbc, 0xa, 0x80, + 0x3f, 0xd6, 0x41, 0xe0, 0x1f, 0xe7, 0x40, 0xb2, + 0x0, 0xfe, 0x48, 0x7, 0x40, 0xf, 0xe2, 0xa0, + 0x48, 0x0, 0xff, 0x78, 0x95, 0x0, 0x7f, 0xa8, + 0x83, 0x84, 0x3, 0xf9, 0x94, 0x20, 0x84, 0x7f, + 0x82, 0x0, 0x11, 0xdd, 0xfe, 0x50, 0xf, 0xfe, + 0x18, + + /* U+005B "[" */ + 0xff, 0xe0, 0x8, 0xce, 0x0, 0xbf, 0x30, 0x1, + 0xff, 0xff, 0x0, 0xff, 0xe9, 0x7e, 0x60, 0x2, + 0x33, 0x80, + + /* U+005C "\\" */ + 0xdf, 0x20, 0xf, 0x28, 0x28, 0x7, 0xb0, 0x30, + 0x3, 0xc8, 0x8, 0x1, 0xf2, 0x82, 0x80, 0x7b, + 0xc3, 0xc0, 0x3c, 0x80, 0x80, 0x1e, 0x13, 0x13, + 0x0, 0xf5, 0x85, 0x80, 0x79, 0x41, 0x40, 0x3c, + 0x42, 0x42, 0x1, 0xe7, 0x7, 0x0, 0xf6, 0x86, + 0x80, 0x79, 0x1, 0x0, 0x3e, 0x40, 0x40, 0xf, + 0x68, 0x68, 0x7, 0x9c, 0x1c, 0x3, 0xc2, 0x62, + 0x60, 0x1e, 0x40, 0x40, 0xf, 0x58, 0x58, 0x7, + 0x8e, 0x2c, 0x0, + + /* U+005D "]" */ + 0xaf, 0xfc, 0x84, 0x66, 0x0, 0xa3, 0x30, 0x40, + 0x1f, 0xff, 0xf0, 0xf, 0xfe, 0x8c, 0x66, 0x8, + 0x0, 0x46, 0x60, 0x8, + + /* U+005E "^" */ + 0x0, 0xf4, 0x7f, 0xa8, 0x3, 0xfe, 0x77, 0x0, + 0x16, 0x40, 0x3f, 0x96, 0x1, 0xa0, 0x19, 0xc0, + 0x3e, 0x4a, 0x7, 0x97, 0x90, 0x86, 0x0, 0xe3, + 0xb0, 0x78, 0x0, 0x34, 0x84, 0xa0, 0x4, 0x5a, + 0x11, 0x0, 0xc, 0xd4, 0x16, 0x60, 0x38, 0x32, + 0xe0, 0x1e, 0x5a, 0xd, 0x20, + + /* U+005F "_" */ + 0x2b, 0xbf, 0xfe, 0x1, 0xa, 0x27, 0xff, 0x0, + 0x40, + + /* U+0060 "`" */ + 0x68, 0x30, 0x9, 0x5f, 0x44, 0x0, 0x74, 0x3a, + 0x1, 0x2c, 0x1c, 0x0, 0x4e, 0xce, 0x80, + + /* U+0061 "a" */ + 0x1, 0x6b, 0xdf, 0xf6, 0xc0, 0x80, 0x51, 0x28, + 0x40, 0x2, 0x7f, 0x20, 0x7, 0x3e, 0xff, 0xd8, + 0x63, 0x20, 0x7, 0x82, 0x0, 0x8f, 0x45, 0x8, + 0x3, 0xf0, 0xa8, 0x20, 0x0, 0xe7, 0x7f, 0xf2, + 0x0, 0x83, 0x63, 0x11, 0xc, 0xe1, 0xf, 0x19, + 0x7, 0xfd, 0xcc, 0x90, 0x0, 0xe0, 0x70, 0x1, + 0xc2, 0x0, 0xe0, 0x60, 0xf, 0x20, 0x3, 0xc1, + 0x80, 0x3a, 0x0, 0x24, 0x3, 0x80, 0x0, 0xc3, + 0x88, 0x0, 0xd4, 0x1f, 0xfb, 0x8e, 0xc8, 0x1, + 0x54, 0x10, 0x0, 0xe6, 0x40, 0x10, + + /* U+0062 "b" */ + 0xdf, 0x50, 0xf, 0xff, 0x80, 0xcf, 0x7f, 0x48, + 0x80, 0x62, 0xf6, 0x1, 0x13, 0x78, 0x80, 0x50, + 0x17, 0xdc, 0xc1, 0x16, 0x80, 0x6d, 0x40, 0x1, + 0xe0, 0x1a, 0x0, 0x10, 0xc0, 0x31, 0x20, 0x68, + 0x3, 0x0, 0x3d, 0x80, 0xa0, 0x2, 0x0, 0xf1, + 0x1, 0x0, 0x7f, 0xf0, 0x88, 0x3, 0xc4, 0x4, + 0x0, 0xc0, 0xf, 0x60, 0x28, 0x1, 0xc, 0x3, + 0x12, 0x6, 0x80, 0x5a, 0x80, 0x3, 0xc0, 0x34, + 0x0, 0x48, 0x5f, 0xfb, 0x4, 0x5a, 0x1, 0x1f, + 0xb0, 0x80, 0xb7, 0x88, 0x0, + + /* U+0063 "c" */ + 0x0, 0x8a, 0x77, 0xfb, 0x60, 0x80, 0xf, 0xac, + 0x40, 0x24, 0xf2, 0xd, 0x0, 0xbb, 0xfe, 0xe9, + 0x30, 0x80, 0x6a, 0x20, 0x0, 0xb4, 0x28, 0x84, + 0x0, 0x7d, 0xa0, 0x82, 0x1, 0xf1, 0x1, 0x0, + 0x7f, 0xf1, 0xc8, 0x8, 0x3, 0xf6, 0x82, 0x8, + 0x7, 0xca, 0x21, 0x0, 0x1f, 0xa0, 0x1a, 0x88, + 0x0, 0x2d, 0x0, 0xd0, 0xb, 0xbf, 0xee, 0x93, + 0x0, 0x3e, 0x28, 0x80, 0x93, 0xc8, + + /* U+0064 "d" */ + 0x0, 0xfe, 0x1f, 0xf0, 0x80, 0x7f, 0xfa, 0xdf, + 0x7f, 0xa8, 0x80, 0x3d, 0x70, 0x40, 0x5, 0xd4, + 0x0, 0xd0, 0x81, 0x5f, 0xda, 0x74, 0x1, 0xb, + 0x84, 0xa8, 0x0, 0xb0, 0x40, 0x24, 0x1, 0x60, + 0xe, 0x90, 0xb, 0x1, 0x0, 0x3c, 0x80, 0x11, + 0x81, 0x80, 0x78, 0x80, 0x3f, 0xf8, 0x6, 0x1, + 0x18, 0x18, 0x7, 0x84, 0x2, 0xc0, 0x40, 0xf, + 0x20, 0x4, 0x80, 0x2c, 0x1, 0xd2, 0x1, 0xb, + 0x84, 0xb0, 0x0, 0xb0, 0x40, 0x34, 0x20, 0x4f, + 0xf6, 0x9d, 0x0, 0x75, 0xc1, 0x0, 0x17, 0x50, + 0x2, + + /* U+0065 "e" */ + 0x0, 0x8e, 0xbb, 0xfd, 0x8c, 0x1, 0xcf, 0x8a, + 0x20, 0x3, 0x9b, 0x0, 0x96, 0x2, 0x3b, 0xfd, + 0x42, 0x92, 0x0, 0xb0, 0xa7, 0x10, 0x2, 0xe8, + 0x30, 0xa0, 0x92, 0x80, 0x71, 0x90, 0x26, 0x1, + 0xe6, 0x7c, 0x60, 0x44, 0x1, 0x33, 0xf8, 0x40, + 0x32, 0xff, 0xff, 0x39, 0x3, 0x0, 0x7f, 0xb4, + 0xc, 0x80, 0x3f, 0x94, 0x42, 0x40, 0x3e, 0x10, + 0x5, 0x82, 0x59, 0x80, 0x47, 0x1e, 0x0, 0x59, + 0x4, 0xcf, 0xef, 0xc7, 0x10, 0x9, 0xb5, 0x88, + 0x4, 0x49, 0x1c, 0x0, + + /* U+0066 "f" */ + 0x0, 0xd1, 0xbf, 0xee, 0x0, 0xad, 0xc8, 0x44, + 0x40, 0x2, 0x40, 0xce, 0xe6, 0x0, 0x1c, 0x8, + 0xc0, 0x38, 0xc0, 0x40, 0x33, 0xfc, 0x81, 0xff, + 0xca, 0x46, 0x40, 0x3, 0x39, 0x97, 0x2c, 0xf, + 0x32, 0x30, 0xf, 0xff, 0xf8, 0x7, 0xff, 0x30, + + /* U+0067 "g" */ + 0x0, 0x9f, 0x7f, 0xa8, 0xc7, 0xfc, 0x20, 0xc, + 0x82, 0x0, 0x2e, 0x20, 0x6, 0x93, 0xa, 0xfe, + 0xd4, 0xa0, 0x8, 0x58, 0x29, 0x40, 0x5, 0x64, + 0x1, 0x38, 0xa, 0x80, 0x75, 0x0, 0x5e, 0x8, + 0x1, 0xe4, 0x0, 0x8c, 0xc, 0x3, 0xc4, 0x1, + 0xff, 0xc4, 0x30, 0x30, 0xf, 0x10, 0x5, 0xe0, + 0x80, 0x1e, 0x40, 0x9, 0xc0, 0x54, 0x3, 0xa8, + 0x2, 0x16, 0xa, 0x50, 0x1, 0x59, 0x0, 0x69, + 0x30, 0xaf, 0xed, 0x4a, 0x0, 0x8, 0x3, 0x20, + 0x80, 0xb, 0xae, 0x1, 0xe7, 0xdf, 0xea, 0x27, + 0x3, 0x0, 0xff, 0x48, 0x20, 0x0, 0x64, 0xc0, + 0x22, 0xb3, 0xa, 0x0, 0x9b, 0x3f, 0xb9, 0xa8, + 0x14, 0x40, 0x1, 0x84, 0x11, 0x89, 0xb5, 0x40, + 0x0, + + /* U+0068 "h" */ + 0xdf, 0x50, 0xf, 0xff, 0x8c, 0x6f, 0xf5, 0x8, + 0x6, 0x3d, 0x72, 0x1, 0x5f, 0x10, 0xa, 0x2, + 0xff, 0xd4, 0x3, 0x0, 0x10, 0xfa, 0x0, 0x16, + 0x1, 0xc0, 0x25, 0x20, 0xc, 0xa0, 0x22, 0x0, + 0x68, 0x7, 0x10, 0x0, 0xc0, 0x4, 0x1, 0xff, + 0xff, 0x0, 0xff, 0xe3, 0x0, + + /* U+0069 "i" */ + 0xbf, 0x60, 0x8, 0x88, 0x73, 0xaa, 0x1, 0x5f, + 0xb0, 0x7, 0xff, 0x6c, + + /* U+006A "j" */ + 0x0, 0xaf, 0xd8, 0x3, 0xf8, 0x88, 0x60, 0x14, + 0xea, 0x80, 0x7f, 0x5f, 0xb0, 0x7, 0xff, 0xfc, + 0x3, 0xce, 0x1, 0xc2, 0x4, 0x0, 0x42, 0x5, + 0x6f, 0xb0, 0x51, 0x10, 0xb, 0xd0, 0x0, + + /* U+006B "k" */ + 0xdf, 0x50, 0xf, 0xff, 0xad, 0xfe, 0x90, 0x7, + 0xd8, 0x85, 0x84, 0x1, 0xc3, 0x86, 0x6c, 0x10, + 0xe, 0x1c, 0x33, 0x60, 0x80, 0x71, 0x79, 0x26, + 0x0, 0x7b, 0x70, 0x56, 0xc0, 0x3e, 0x71, 0x2a, + 0x0, 0xfc, 0xa0, 0x50, 0x1, 0xfb, 0xe8, 0x1d, + 0xc0, 0x1f, 0x96, 0x42, 0x1c, 0x3, 0xf3, 0x48, + 0x43, 0x0, 0x7e, 0x69, 0x9, 0x60, 0xf, 0xcd, + 0x1, 0x2a, 0x1, 0xf9, 0xe0, 0x29, 0x40, + + /* U+006C "l" */ + 0xbf, 0x60, 0xf, 0xff, 0x50, + + /* U+006D "m" */ + 0xdf, 0x50, 0x8d, 0xfd, 0x70, 0x9, 0x2f, 0xbe, + 0xcc, 0x3, 0x1e, 0xb9, 0x1, 0x45, 0x3, 0xda, + 0x8, 0x26, 0x18, 0x5, 0x1, 0x7f, 0xd0, 0xa, + 0xf0, 0xfd, 0xf8, 0x41, 0xe0, 0x10, 0xfa, 0x0, + 0xba, 0x4, 0x34, 0x8, 0x1c, 0x81, 0x88, 0x1, + 0x48, 0x3, 0x68, 0x2, 0xc0, 0x32, 0x0, 0x14, + 0x1, 0xa0, 0x1c, 0x60, 0x2, 0x0, 0xe2, 0x1, + 0x0, 0x10, 0x7, 0xc4, 0x1, 0xff, 0xff, 0x0, + 0xff, 0xff, 0x0, + + /* U+006E "n" */ + 0xdf, 0x50, 0x8d, 0xfe, 0xa1, 0x0, 0xc7, 0xae, + 0x40, 0x2b, 0xe2, 0x1, 0x40, 0x5f, 0xfa, 0x80, + 0x60, 0x2, 0x1f, 0x40, 0x2, 0xc0, 0x38, 0x4, + 0xa4, 0x1, 0x94, 0x4, 0x40, 0xd, 0x0, 0xe2, + 0x0, 0x18, 0x0, 0x80, 0x3f, 0xff, 0xe0, 0x1f, + 0xfc, 0x60, + + /* U+006F "o" */ + 0x0, 0x96, 0xfb, 0xfa, 0x88, 0x3, 0xaa, 0x88, + 0x23, 0x2e, 0xb0, 0x5, 0xa, 0x11, 0xfd, 0xc4, + 0x9, 0x30, 0x17, 0x8, 0x70, 0x0, 0xd9, 0x84, + 0x2, 0x0, 0x1c, 0x3, 0xa0, 0x10, 0x74, 0x10, + 0x3, 0xc8, 0x0, 0x52, 0x2, 0x0, 0xfe, 0x10, + 0x1, 0x80, 0x7f, 0x88, 0x18, 0x3, 0xf8, 0x74, + 0xc, 0x40, 0x39, 0x0, 0xa, 0x80, 0x9, 0x0, + 0xe8, 0x4, 0x11, 0x38, 0x3b, 0x80, 0x3, 0x66, + 0x10, 0x0, 0x85, 0x8, 0xfe, 0xe2, 0x4, 0x98, + 0x5, 0x54, 0x41, 0x19, 0x75, 0x80, 0x0, + + /* U+0070 "p" */ + 0xdf, 0x51, 0x9e, 0xfe, 0x91, 0x0, 0xc5, 0xec, + 0x2, 0x26, 0xf1, 0x0, 0xa0, 0x2f, 0xb9, 0x82, + 0x2d, 0x0, 0xda, 0x80, 0x3, 0xc0, 0x34, 0x0, + 0x21, 0x80, 0x62, 0x40, 0xd0, 0x6, 0x0, 0x7b, + 0x1, 0x40, 0x4, 0x1, 0xe2, 0x2, 0x0, 0xff, + 0xe1, 0x10, 0x7, 0x88, 0x8, 0x1, 0x80, 0x1e, + 0xc0, 0x50, 0x2, 0x18, 0x6, 0x24, 0xd, 0x0, + 0xb5, 0x0, 0x7, 0x80, 0x68, 0x0, 0x90, 0xbf, + 0xf6, 0x8, 0xb4, 0x2, 0x3f, 0x61, 0x1, 0x6f, + 0x10, 0xc, 0x33, 0xdf, 0xd2, 0x20, 0x1f, 0xfe, + 0x60, + + /* U+0071 "q" */ + 0x0, 0x9f, 0x7f, 0xa8, 0x87, 0xfc, 0x20, 0xb, + 0x82, 0x0, 0x2e, 0xa0, 0x6, 0x84, 0xa, 0xfe, + 0xd3, 0xa0, 0x8, 0x5c, 0x25, 0x40, 0x5, 0x82, + 0x1, 0x20, 0xb, 0x0, 0x74, 0x80, 0x58, 0x8, + 0x1, 0xe4, 0x0, 0x8c, 0xc, 0x3, 0xc4, 0x1, + 0xff, 0xc0, 0x30, 0x8, 0xc0, 0xc0, 0x3c, 0x20, + 0x16, 0x2, 0x0, 0x79, 0x0, 0x24, 0x1, 0x60, + 0xe, 0x90, 0x8, 0x5c, 0x25, 0x80, 0x5, 0x82, + 0x1, 0xa1, 0x2, 0x7f, 0xb4, 0xe8, 0x3, 0xae, + 0x8, 0x0, 0xba, 0x80, 0x1e, 0x7d, 0xfe, 0xa2, + 0x0, 0xff, 0xf6, 0x0, + + /* U+0072 "r" */ + 0xdf, 0x50, 0x8d, 0xfd, 0x0, 0x1e, 0xb9, 0x0, + 0x68, 0x3a, 0xef, 0xe0, 0x0, 0xea, 0x88, 0x18, + 0x1, 0xc, 0x3, 0xd8, 0x1, 0xf1, 0x0, 0x7f, + 0xfc, 0x40, + + /* U+0073 "s" */ + 0x0, 0x36, 0x7f, 0xbb, 0x64, 0xc0, 0x17, 0x26, + 0x2, 0x22, 0x69, 0x5, 0x40, 0xaf, 0xef, 0xe9, + 0xc0, 0xc0, 0x65, 0x0, 0x85, 0x98, 0x2, 0x6, + 0x1, 0xfa, 0xc1, 0x6d, 0x44, 0x3, 0x8e, 0x1, + 0x2b, 0xb6, 0x8, 0x2, 0x7e, 0x84, 0x2, 0x7d, + 0x50, 0x8, 0x5e, 0xff, 0x10, 0x28, 0x3, 0xe3, + 0xb0, 0x1, 0x80, 0x7f, 0x9e, 0xa5, 0x0, 0x21, + 0xa0, 0x2, 0xb, 0x5f, 0xf7, 0xf2, 0x85, 0x4, + 0xc2, 0x10, 0x81, 0x36, 0xa8, 0x0, + + /* U+0074 "t" */ + 0x0, 0x34, 0x18, 0x7, 0xa9, 0xd4, 0x3, 0xff, + 0x94, 0xbe, 0x61, 0x3f, 0xf6, 0x89, 0x80, 0x8, + 0xce, 0x74, 0xc3, 0xb, 0xcc, 0xa8, 0x3, 0xff, + 0xea, 0xe0, 0x20, 0x1e, 0x30, 0xb1, 0x0, 0xea, + 0x3, 0xee, 0xac, 0x0, 0x56, 0x82, 0x33, 0x0, + + /* U+0075 "u" */ + 0xff, 0x18, 0x7, 0x17, 0xf8, 0x3, 0xff, 0xfe, + 0x1, 0xff, 0xc6, 0x10, 0x8, 0x41, 0x80, 0x39, + 0x40, 0x25, 0xf, 0x0, 0xeb, 0x0, 0xb8, 0x15, + 0xc4, 0xf, 0xc, 0x2, 0x54, 0x8, 0xef, 0xc2, + 0xa0, 0xd, 0x6e, 0x40, 0x2d, 0xec, 0x1, 0x0, + + /* U+0076 "v" */ + 0x1f, 0xf1, 0x0, 0x7d, 0xfe, 0x41, 0x30, 0xa0, + 0xf, 0x28, 0xa, 0x5, 0x2, 0x80, 0x7b, 0xc1, + 0xc0, 0xe, 0x4, 0x60, 0x1c, 0xa1, 0xa0, 0x1, + 0x40, 0xa0, 0xc, 0xa0, 0x28, 0x1, 0x70, 0x38, + 0x6, 0xe0, 0x60, 0xc, 0xa0, 0x28, 0x0, 0x14, + 0xb, 0x0, 0xe5, 0xd, 0x0, 0x38, 0x11, 0x80, + 0x77, 0x3, 0x0, 0x28, 0x28, 0x3, 0xc8, 0x20, + 0xa2, 0x60, 0xa0, 0x1f, 0x38, 0x7b, 0x1, 0x90, + 0x7, 0xd4, 0xb, 0x41, 0x60, 0x1f, 0x8c, 0x40, + 0x81, 0x80, 0x3f, 0x98, 0x0, 0x82, 0x1, 0x80, + + /* U+0077 "w" */ + 0xdf, 0x40, 0xd, 0x3f, 0xe3, 0x0, 0xd5, 0xf0, + 0x81, 0x80, 0x19, 0x0, 0x8, 0x1, 0x90, 0x33, + 0xc1, 0x0, 0x21, 0x20, 0x6, 0x0, 0x44, 0x20, + 0x88, 0x3, 0x0, 0x90, 0x18, 0x50, 0x2, 0x40, + 0x30, 0x21, 0x4, 0x0, 0x68, 0x62, 0x81, 0x80, + 0x30, 0x10, 0x0, 0x81, 0x80, 0x4, 0x4, 0xc0, + 0x40, 0x2, 0x6, 0x0, 0x30, 0x10, 0x0, 0x64, + 0x28, 0x18, 0x4, 0x20, 0x80, 0x4, 0x3, 0x4, + 0x4, 0x3, 0x5, 0x4, 0x3, 0x0, 0x88, 0x41, + 0x30, 0x30, 0x0, 0x82, 0x5e, 0x8, 0x1, 0x90, + 0x31, 0x1, 0x0, 0x18, 0x8, 0x80, 0xc0, 0xd, + 0x80, 0x86, 0x42, 0x0, 0x40, 0xa2, 0x4, 0x0, + 0xc8, 0x6, 0x8, 0x1, 0x18, 0x18, 0x18, 0x7, + 0x10, 0x80, 0x30, 0x3, 0x20, 0x1, 0x0, 0x3c, + 0x80, 0x4, 0x0, 0xd8, 0x0, 0xc0, 0x8, + + /* U+0078 "x" */ + 0x8, 0xfe, 0x10, 0xe, 0xbf, 0xc0, 0x4, 0x18, + 0xd0, 0x6, 0x64, 0xe, 0x0, 0xb8, 0x11, 0x80, + 0x5, 0x21, 0x24, 0x1, 0x14, 0x84, 0x90, 0x70, + 0x23, 0x0, 0x73, 0x20, 0x74, 0x18, 0xd0, 0x7, + 0xd4, 0x26, 0xe1, 0x62, 0x1, 0xf0, 0xc0, 0x1, + 0x54, 0x1, 0xfd, 0x40, 0x7, 0x0, 0xfe, 0x73, + 0x1, 0x29, 0x0, 0xf8, 0xe0, 0x2a, 0x80, 0xc8, + 0x1, 0xee, 0x5, 0x52, 0x38, 0x50, 0x80, 0x69, + 0x21, 0xb0, 0x4, 0x10, 0xd8, 0x4, 0x8c, 0x14, + 0x20, 0x17, 0x2, 0xb0, 0xd, 0x3, 0x20, 0x6, + 0x38, 0x9, 0x20, + + /* U+0079 "y" */ + 0x1f, 0xf1, 0x80, 0x7d, 0xfe, 0x41, 0x40, 0xa0, + 0xf, 0x28, 0xa, 0x7, 0x83, 0x80, 0x7b, 0x81, + 0x80, 0x8, 0x22, 0x50, 0xc, 0x48, 0x14, 0x1, + 0x30, 0x70, 0x6, 0xa0, 0x32, 0x0, 0xa8, 0x10, + 0x40, 0x26, 0x9, 0x0, 0xc4, 0x80, 0xc0, 0x4, + 0x10, 0x50, 0xe, 0xe0, 0xa0, 0x7, 0x3, 0x0, + 0x79, 0x44, 0x8c, 0x14, 0x28, 0x3, 0xe7, 0xa, + 0x60, 0x23, 0x0, 0xfa, 0xc1, 0xac, 0x28, 0x3, + 0xf1, 0x18, 0x10, 0x30, 0x7, 0xf5, 0x0, 0x10, + 0x40, 0x3f, 0x9c, 0x1, 0xe0, 0x1f, 0xe4, 0x1, + 0x40, 0xf, 0xf7, 0x3, 0x0, 0x7f, 0x95, 0x2, + 0x40, 0x3e, 0x1e, 0xe5, 0x3, 0x88, 0x7, 0xe1, + 0x11, 0x44, 0x0, 0x3e, + + /* U+007A "z" */ + 0xaf, 0xff, 0xe9, 0x23, 0x3f, 0x80, 0x28, 0xcc, + 0xf5, 0x0, 0x28, 0x3, 0xc7, 0x21, 0x26, 0x1, + 0xc3, 0xa0, 0xcc, 0x0, 0xf6, 0x89, 0xc8, 0x7, + 0xa4, 0xc7, 0x40, 0x3c, 0xcc, 0xd, 0x10, 0xe, + 0x39, 0x9, 0x30, 0xe, 0x1d, 0x6, 0x60, 0x7, + 0xb4, 0x4e, 0x40, 0x3d, 0x26, 0x3a, 0x1, 0xf3, + 0x0, 0x37, 0x33, 0xce, 0x0, 0x13, 0x3f, 0xb8, + + /* U+007B "{" */ + 0x0, 0xc3, 0x1b, 0xfe, 0x40, 0xd, 0xae, 0x44, + 0x37, 0x0, 0x88, 0xc2, 0xf7, 0xc, 0x2, 0x60, + 0x14, 0x0, 0xf0, 0x81, 0x80, 0x7f, 0xf4, 0x44, + 0x3, 0xe3, 0x0, 0xfe, 0xf0, 0x60, 0xe, 0x15, + 0x60, 0xf0, 0xd, 0xfd, 0x43, 0x4a, 0x1, 0x90, + 0xc0, 0x7c, 0x3, 0xaf, 0x38, 0x55, 0xc0, 0x3c, + 0x2c, 0x18, 0x1, 0xf7, 0x3, 0x80, 0x7c, 0x60, + 0x20, 0x1f, 0xfd, 0x13, 0x0, 0xf9, 0xc0, 0x4c, + 0x3, 0xc4, 0x40, 0xcd, 0xc3, 0x0, 0xd8, 0xc4, + 0x43, 0x70, + + /* U+007C "|" */ + 0xff, 0x0, 0x7f, 0xff, 0x40, + + /* U+007D "}" */ + 0xff, 0x6d, 0x10, 0x7, 0x19, 0x89, 0x70, 0x40, + 0x36, 0x63, 0x84, 0x4e, 0x1, 0xe1, 0x40, 0xe0, + 0xf, 0x88, 0x4, 0x3, 0xff, 0xb6, 0x60, 0x1f, + 0x70, 0x38, 0x7, 0xce, 0x5, 0x2, 0x1, 0xc3, + 0x86, 0xfd, 0xe8, 0x1, 0x90, 0xc0, 0x91, 0xc0, + 0x23, 0x80, 0xbd, 0xb3, 0x0, 0x90, 0xd, 0x0, + 0x3d, 0xe0, 0xc0, 0x1f, 0xc6, 0x1, 0xff, 0xcf, + 0x10, 0xf, 0xc2, 0xe1, 0xe0, 0x1b, 0x31, 0xc2, + 0xe, 0x1, 0x8c, 0xc2, 0xb8, 0x20, 0x18, + + /* U+007E "~" */ + 0x0, 0xff, 0xe3, 0x2d, 0xff, 0x5a, 0x80, 0x79, + 0x60, 0x6e, 0x90, 0x5, 0x2b, 0x9c, 0x80, 0xea, + 0x82, 0xc8, 0x8b, 0xed, 0x82, 0x18, 0xdf, 0xc5, + 0x3b, 0x9, 0xb4, 0x12, 0x7d, 0xb5, 0x10, 0x39, + 0xc2, 0x76, 0x0, 0xf2, 0x57, 0x7e, 0x30, 0x0, + + /* U+0401 "Ё" */ + 0x0, 0x57, 0xd8, 0xf, 0xf9, 0x40, 0x3f, 0xf8, + 0x9d, 0x1c, 0x3, 0x10, 0x70, 0xc, 0x8e, 0xa0, + 0x7, 0x71, 0x0, 0x7f, 0xf0, 0xab, 0xff, 0xfc, + 0xc0, 0x1f, 0xfc, 0x24, 0xee, 0xfc, 0xc0, 0x10, + 0x8f, 0xe0, 0xf, 0xfe, 0xda, 0x7f, 0xfe, 0x10, + 0xf, 0xfe, 0x12, 0x77, 0x7e, 0x10, 0x8, 0x47, + 0xf0, 0x7, 0xff, 0xa0, 0x47, 0xf0, 0x4, 0x9d, + 0xdf, 0xa8, 0x3, 0xff, 0x80, + + /* U+0410 "А" */ + 0x0, 0xf2, 0xff, 0xac, 0x3, 0xff, 0x83, 0xe0, + 0x4, 0x10, 0xf, 0xf8, 0x54, 0x14, 0x18, 0x3, + 0xfe, 0x70, 0x59, 0xa, 0x0, 0xff, 0xa8, 0x38, + 0xc4, 0x8c, 0x3, 0xf8, 0x8c, 0x50, 0x18, 0x28, + 0x3, 0xfa, 0x81, 0xc0, 0x14, 0xe, 0x1, 0xfc, + 0xc1, 0x40, 0x2, 0x20, 0xa8, 0x7, 0xc8, 0x22, + 0x30, 0xa, 0x83, 0x80, 0x3e, 0xe0, 0x60, 0xc, + 0xc0, 0x82, 0x1, 0xe5, 0xa, 0x0, 0xc2, 0x60, + 0xe0, 0x1c, 0xc0, 0xd, 0xff, 0xe3, 0xa, 0x0, + 0xea, 0x0, 0xff, 0x19, 0x0, 0x44, 0x61, 0xbd, + 0xdf, 0x20, 0x50, 0x5, 0x40, 0x44, 0x11, 0xfb, + 0x81, 0x80, 0x26, 0xa, 0x0, 0xfc, 0x80, 0x28, + 0x8, 0x20, 0xa0, 0x1f, 0x85, 0x3, 0x83, 0x80, + 0x88, 0x1, 0xfd, 0xa0, 0xa2, + + /* U+0411 "Б" */ + 0xaf, 0xff, 0xf4, 0x0, 0x7f, 0xf1, 0x13, 0xff, + 0xf4, 0x0, 0x7f, 0xfa, 0xd3, 0xff, 0xb6, 0x8, + 0x3, 0xfc, 0x4f, 0xa8, 0x1, 0x27, 0xfe, 0xe9, + 0x10, 0xb1, 0x0, 0xf8, 0x5a, 0x80, 0xc, 0x1, + 0xfc, 0x82, 0x1a, 0x1, 0xfe, 0x20, 0x10, 0xf, + 0xf1, 0x0, 0x80, 0x7f, 0x20, 0x86, 0x80, 0x7c, + 0x2d, 0x40, 0x6, 0x0, 0x27, 0xfe, 0xe9, 0x10, + 0xa1, 0x0, 0xfc, 0x4d, 0xaa, 0x0, + + /* U+0412 "В" */ + 0xaf, 0xff, 0x76, 0x38, 0x7, 0xf8, 0x4e, 0x34, + 0x40, 0x24, 0xff, 0xbb, 0x5c, 0xa, 0xc0, 0x3e, + 0x12, 0x86, 0x5, 0x0, 0xff, 0x78, 0x7, 0xff, + 0x3, 0xc0, 0x80, 0x3f, 0x13, 0xb0, 0x58, 0x4, + 0x9f, 0xfb, 0x60, 0xe9, 0x80, 0x3f, 0xc5, 0xa0, + 0x19, 0x3f, 0xf7, 0x50, 0x3d, 0x0, 0x7e, 0x15, + 0xa0, 0x54, 0x0, 0xfe, 0x41, 0xd, 0x0, 0xff, + 0x10, 0x10, 0x7, 0xf8, 0x80, 0x3f, 0xe4, 0x10, + 0x30, 0xf, 0x85, 0xa8, 0x1, 0x20, 0x4, 0xff, + 0xdd, 0x22, 0x16, 0x20, 0x1f, 0x89, 0xf5, 0x0, + + /* U+0413 "Г" */ + 0xaf, 0xff, 0xf2, 0x0, 0x7f, 0xf0, 0x93, 0xbb, + 0xf2, 0x0, 0x42, 0x3f, 0x80, 0x3f, 0xff, 0xe0, + 0x1f, 0xff, 0xf0, 0xf, 0xfe, 0x38, + + /* U+0414 "Д" */ + 0x0, 0xdb, 0xff, 0xfd, 0x20, 0x1f, 0xfc, 0xd6, + 0xee, 0xe2, 0x0, 0xff, 0x8, 0xfc, 0x1, 0xff, + 0xcd, 0x30, 0xf, 0xfe, 0x37, 0x80, 0x7f, 0xf0, + 0x84, 0x3, 0xff, 0x8c, 0x40, 0x1f, 0xfc, 0x12, + 0x0, 0x8, 0x7, 0xff, 0x5, 0x80, 0xc, 0x1, + 0xff, 0xc1, 0x30, 0x1, 0x0, 0x7f, 0xf0, 0x74, + 0xc, 0x3, 0xff, 0x84, 0x80, 0x80, 0x1f, 0xfc, + 0x15, 0x10, 0xb0, 0xf, 0xf8, 0x56, 0x80, 0xc8, + 0x47, 0xe0, 0x0, 0x86, 0x50, 0x0, 0xfb, 0xbe, + 0x20, 0x6e, 0x90, 0xf, 0xfe, 0x3e, 0xff, 0xff, + 0xd2, 0x1, 0xff, 0xd8, 0x61, 0x0, 0xff, 0xe0, + 0x88, 0x80, + + /* U+0415 "Е" */ + 0xaf, 0xff, 0xf3, 0x0, 0x7f, 0xf0, 0x93, 0xbb, + 0xf3, 0x0, 0x42, 0x3f, 0x80, 0x3f, 0xfb, 0x69, + 0xff, 0xf8, 0x40, 0x3f, 0xf8, 0x49, 0xdd, 0xf8, + 0x40, 0x21, 0x1f, 0xc0, 0x1f, 0xfe, 0x81, 0x1f, + 0xc0, 0x12, 0x77, 0x7e, 0xa0, 0xf, 0xfe, 0x0, + + /* U+0416 "Ж" */ + 0xa, 0xff, 0x18, 0x7, 0x93, 0xfc, 0x20, 0x1e, + 0x5f, 0xf4, 0x0, 0x29, 0x3, 0x48, 0x3, 0xff, + 0x84, 0x94, 0xd, 0x0, 0x15, 0x90, 0xe0, 0x80, + 0x7f, 0xf0, 0xe, 0xc1, 0x24, 0x3, 0xb0, 0x87, + 0x4, 0x3, 0xfc, 0x5a, 0x7, 0x60, 0x1e, 0x1f, + 0x12, 0xd0, 0xf, 0xe1, 0xf1, 0x2d, 0x0, 0xfc, + 0x5a, 0x7, 0x40, 0x1f, 0xb4, 0x87, 0xc4, 0x3, + 0xf8, 0xec, 0x16, 0x40, 0x3d, 0x66, 0x18, 0x40, + 0x1f, 0xf2, 0x88, 0x33, 0x80, 0x6a, 0x40, 0x22, + 0x0, 0x7f, 0xf0, 0x20, 0x40, 0x11, 0xc0, 0xb, + 0x50, 0x1, 0x38, 0x7, 0xfc, 0x6c, 0x18, 0xc0, + 0xa0, 0x5, 0x8, 0x90, 0x82, 0x0, 0xff, 0x70, + 0x31, 0xca, 0x80, 0x67, 0x73, 0x18, 0x48, 0x7, + 0xf3, 0x90, 0xc0, 0x2, 0x8c, 0x0, 0xb0, 0x0, + 0xe0, 0x45, 0x0, 0xf8, 0xa0, 0x2c, 0x40, 0x28, + 0x0, 0x58, 0x4, 0x4e, 0x16, 0x1, 0xf4, 0x82, + 0x28, 0x7, 0xff, 0x2, 0x8, 0x64, 0x3, 0x95, + 0x2, 0x40, 0x3f, 0xf8, 0x52, 0xc, 0x60, 0x10, + 0xd8, 0x41, 0x0, 0x7f, 0xf0, 0x91, 0x43, 0x80, + 0x28, 0x12, 0x70, 0xf, 0xfe, 0x25, 0x89, 0x38, + 0x1b, 0x4, 0x80, 0x7f, 0xf1, 0x46, 0x2, 0x4, + + /* U+0417 "З" */ + 0x5, 0x9c, 0xef, 0xf6, 0xd2, 0x80, 0x47, 0x4c, + 0x62, 0x0, 0x25, 0xad, 0x20, 0x0, 0xb5, 0xf7, + 0x59, 0x0, 0x5e, 0x7, 0xd2, 0x82, 0x31, 0xbd, + 0x81, 0x20, 0x7, 0xf2, 0x0, 0x4, 0x3, 0xf8, + 0xc0, 0xe, 0x1, 0xf0, 0xae, 0x83, 0x90, 0x4, + 0xdf, 0xf7, 0x51, 0xd4, 0x0, 0x7f, 0x8b, 0x0, + 0x39, 0xbf, 0xed, 0x91, 0x6c, 0x0, 0xfc, 0x4d, + 0x80, 0x6c, 0x1, 0xfc, 0x4a, 0x18, 0x1, 0xfe, + 0x30, 0x60, 0xf, 0xf1, 0x3, 0x99, 0x0, 0x7c, + 0x68, 0x1a, 0xbb, 0x4a, 0x42, 0x49, 0x38, 0x6, + 0xc0, 0x5, 0xad, 0xed, 0xb6, 0x4, 0xd0, 0x6c, + 0x74, 0x10, 0x1, 0x36, 0x58, 0x80, + + /* U+0418 "И" */ + 0xaf, 0xa0, 0xf, 0xb7, 0xfd, 0x20, 0x1f, 0xca, + 0x40, 0x1f, 0xfc, 0x8, 0x0, 0xff, 0xe0, 0x31, + 0x1, 0x80, 0x7f, 0xa0, 0x21, 0xc0, 0x3f, 0x98, + 0x44, 0xe0, 0x1f, 0xe8, 0x9, 0x0, 0xff, 0x38, + 0x89, 0xc0, 0x3f, 0xd2, 0x10, 0x1, 0xfe, 0x71, + 0x13, 0x0, 0x7f, 0xa4, 0x20, 0x3, 0xfd, 0x2, + 0x4c, 0x1, 0xfc, 0x2e, 0x16, 0x1, 0xfe, 0x90, + 0x26, 0x0, 0xfe, 0x67, 0x8, 0x0, 0xff, 0x18, + 0x12, 0x80, 0x7f, 0xf0, 0x20, 0x3, 0xff, 0x80, + 0x6a, 0x1, 0xfc, + + /* U+0419 "Й" */ + 0x0, 0xab, 0x4c, 0x0, 0xbe, 0xc0, 0x1e, 0x92, + 0xcf, 0xf5, 0x13, 0x0, 0x78, 0xfa, 0x59, 0xeb, + 0x40, 0x3f, 0xb, 0x4c, 0x28, 0x7, 0xff, 0x1e, + 0xbe, 0x80, 0x3e, 0xdf, 0xf4, 0x80, 0x7f, 0x29, + 0x0, 0x7f, 0xf0, 0x20, 0x3, 0xff, 0x80, 0xc4, + 0x6, 0x1, 0xfe, 0x80, 0x87, 0x0, 0xfe, 0x61, + 0x13, 0x80, 0x7f, 0xa0, 0x24, 0x3, 0xfc, 0xe2, + 0x27, 0x0, 0xff, 0x48, 0x40, 0x7, 0xf9, 0xc4, + 0x4c, 0x1, 0xfe, 0x90, 0x80, 0xf, 0xf4, 0x9, + 0x30, 0x7, 0xf0, 0xb8, 0x58, 0x7, 0xfa, 0x40, + 0x98, 0x3, 0xf9, 0x9c, 0x20, 0x3, 0xfc, 0x60, + 0x4a, 0x1, 0xff, 0xc0, 0x80, 0xf, 0xfe, 0x1, + 0xa8, 0x7, 0xf0, + + /* U+041A "К" */ + 0xaf, 0xb0, 0xf, 0x93, 0xfd, 0x60, 0x1f, 0xe4, + 0xb0, 0x3b, 0x0, 0xfe, 0x3b, 0x3, 0xc0, 0xf, + 0xe3, 0xc0, 0x2d, 0x0, 0xfe, 0x2d, 0x2, 0xc1, + 0x0, 0xfc, 0x58, 0x25, 0x82, 0x1, 0xf8, 0x70, + 0x45, 0xe2, 0x1, 0xf8, 0x70, 0x41, 0x48, 0x3, + 0xf3, 0xe1, 0x0, 0x11, 0x40, 0x3f, 0x19, 0x6, + 0x30, 0x58, 0x80, 0x7f, 0x59, 0xc9, 0xd, 0x80, + 0x7e, 0xb4, 0x0, 0x48, 0x2a, 0x80, 0x3c, 0x88, + 0x0, 0x91, 0x82, 0xc4, 0x3, 0xfe, 0x91, 0x15, + 0x80, 0x7f, 0xf0, 0x28, 0x15, 0x0, 0x3f, 0xe4, + 0x50, 0xa0, 0xf, 0xfe, 0x5, 0x88, 0xa4, 0x3, + 0xfe, 0x1b, 0x6, 0x40, + + /* U+041B "Л" */ + 0x0, 0xeb, 0xff, 0xfe, 0xb0, 0xf, 0xfe, 0x5a, + 0xf7, 0x72, 0x0, 0x7f, 0x84, 0x78, 0x3, 0xfc, + 0x60, 0x1f, 0xfc, 0x17, 0x0, 0xff, 0xe9, 0x88, + 0x8, 0x7, 0xff, 0x4, 0xc3, 0xc0, 0x3f, 0xf8, + 0x22, 0x2, 0x1, 0xff, 0xc0, 0x20, 0x1, 0x0, + 0x7f, 0xf0, 0x18, 0x0, 0xa0, 0x1f, 0xfc, 0xc, + 0x1, 0x10, 0x7, 0xff, 0x1, 0x41, 0x0, 0x3f, + 0xf8, 0xc, 0x41, 0xc0, 0x1f, 0xe3, 0xa9, 0x4, + 0x40, 0x7, 0xfb, 0x14, 0x16, 0xc0, 0x3f, 0xe1, + 0x6c, 0xa0, 0xf, 0xf8, + + /* U+041C "М" */ + 0xaf, 0xf8, 0x40, 0x3e, 0x5f, 0xf9, 0x40, 0x33, + 0x80, 0x7d, 0xc0, 0x1e, 0x10, 0xa0, 0xf, 0xa, + 0x8, 0x7, 0x21, 0x19, 0x0, 0x73, 0x3, 0x80, + 0x79, 0x42, 0x80, 0x3a, 0x82, 0x80, 0x3d, 0x40, + 0xc0, 0x18, 0x8a, 0x30, 0xf, 0x11, 0x8a, 0x0, + 0x54, 0x14, 0x1, 0xfa, 0x83, 0x40, 0x26, 0x5, + 0x0, 0xfc, 0xe0, 0xc0, 0x4, 0x13, 0x20, 0xf, + 0xc2, 0xa0, 0xa1, 0xc1, 0x40, 0x1f, 0xee, 0xe, + 0x5, 0x6, 0x0, 0xff, 0x20, 0xa3, 0x82, 0x80, + 0x7f, 0xf0, 0x1c, 0x20, 0x38, 0x3, 0xff, 0x81, + 0x40, 0x1, 0x40, 0xf, 0xfe, 0x1, 0xbb, 0xac, + 0x3, 0xff, 0x85, 0x10, 0x50, 0xf, 0xfe, 0xe8, + + /* U+041D "Н" */ + 0xaf, 0xb0, 0xf, 0xd5, 0xf6, 0x1, 0xff, 0xff, + 0x0, 0xff, 0x93, 0xff, 0xf2, 0x80, 0x7f, 0xf1, + 0x93, 0xbb, 0xf2, 0x0, 0x70, 0x8f, 0xf0, 0x7, + 0xff, 0xfc, 0x3, 0xff, 0x9a, + + /* U+041E "О" */ + 0x0, 0xc2, 0xf9, 0xdf, 0xd8, 0xe0, 0x1f, 0x9b, + 0xa0, 0xc4, 0x4, 0xe3, 0x90, 0x3, 0x9e, 0x40, + 0xab, 0xbf, 0xa4, 0x45, 0x6a, 0x1, 0x1c, 0x2, + 0x6a, 0x88, 0xb, 0x79, 0x85, 0x10, 0x2, 0x0, + 0x68, 0x3, 0xc3, 0xa0, 0x8, 0x2, 0x40, 0x91, + 0x0, 0xf8, 0x58, 0x14, 0x10, 0x0, 0xa0, 0x1f, + 0xda, 0x0, 0x4e, 0x0, 0x10, 0x7, 0xf2, 0x80, + 0x8, 0x40, 0x80, 0x3f, 0xc2, 0x0, 0xe3, 0x0, + 0xff, 0xe2, 0x10, 0x10, 0x7, 0xf8, 0x40, 0x1f, + 0xc0, 0x2, 0x0, 0xfe, 0x50, 0x1, 0xa0, 0x1, + 0x40, 0x3f, 0xb4, 0x0, 0x84, 0x81, 0x20, 0x1f, + 0x85, 0x81, 0x40, 0x10, 0x3, 0x60, 0x1f, 0x68, + 0x2, 0x0, 0x7, 0x0, 0x9a, 0xa2, 0x2, 0xdc, + 0x61, 0x44, 0x1, 0x3c, 0x81, 0x57, 0x7f, 0x48, + 0x8a, 0x94, 0x3, 0x9b, 0xa0, 0xc4, 0x4, 0xe3, + 0xd4, 0x2, + + /* U+041F "П" */ + 0xaf, 0xff, 0xfe, 0x5, 0x80, 0x7f, 0xf1, 0x13, + 0xbb, 0xf2, 0x0, 0x70, 0x8f, 0xf0, 0x7, 0xff, + 0xfc, 0x3, 0xff, 0xfe, 0x1, 0xff, 0xe4, + + /* U+0420 "Р" */ + 0xaf, 0xff, 0x6c, 0x8, 0x7, 0xf1, 0x3f, 0x98, + 0x4, 0x9f, 0xf6, 0xc0, 0xe, 0x80, 0x7c, 0x4f, + 0x20, 0x2a, 0x1, 0xf9, 0x80, 0x18, 0x1, 0xfc, + 0x20, 0x60, 0x1f, 0xc2, 0x6, 0x1, 0xf9, 0x80, + 0x18, 0x1, 0xe2, 0x79, 0x1, 0x50, 0x2, 0x7f, + 0xdb, 0x0, 0xa, 0x0, 0xfc, 0x4f, 0xc8, 0x1, + 0x27, 0xfe, 0xd8, 0x10, 0xf, 0xff, 0xf0, + + /* U+0421 "С" */ + 0x0, 0xe6, 0xbe, 0xff, 0x6d, 0x20, 0x7, 0x2f, + 0x4a, 0x8, 0x0, 0x96, 0xf4, 0x80, 0xd, 0x42, + 0x28, 0xce, 0xe6, 0x41, 0x11, 0x40, 0xe4, 0xf, + 0x9c, 0xc4, 0x46, 0xfb, 0x0, 0x8, 0x1, 0xd0, + 0xf, 0xce, 0xe2, 0x40, 0x91, 0x0, 0xff, 0x20, + 0x1, 0x40, 0x3f, 0xee, 0x0, 0x10, 0x7, 0xfc, + 0x20, 0x40, 0x1f, 0xfc, 0xf1, 0x2, 0x0, 0xff, + 0xe0, 0x70, 0x0, 0x80, 0x3f, 0xe4, 0x0, 0x28, + 0x7, 0xfc, 0x48, 0x12, 0x20, 0x1f, 0xf4, 0x0, + 0xe8, 0x7, 0xe7, 0x70, 0x1c, 0x81, 0xf3, 0x90, + 0x88, 0xdf, 0x60, 0x2, 0x6a, 0x11, 0x46, 0xf7, + 0x32, 0x8, 0xd4, 0x2, 0x5e, 0x94, 0x10, 0x1, + 0x2d, 0xe1, 0x0, + + /* U+0422 "Т" */ + 0x1f, 0xff, 0xfe, 0x15, 0x80, 0x7f, 0xf1, 0x7, + 0xbb, 0xc4, 0xf, 0xdd, 0xd6, 0x2, 0x3e, 0x0, + 0x84, 0x78, 0x3, 0xff, 0xfe, 0x1, 0xff, 0xff, + 0x0, 0xff, 0xff, 0x80, + + /* U+0423 "У" */ + 0x6f, 0xf1, 0x0, 0x7d, 0x1f, 0xe0, 0x61, 0xb, + 0x0, 0xf9, 0x81, 0x80, 0xe, 0xc, 0x1, 0xe5, + 0x10, 0xb0, 0x5, 0x80, 0x18, 0x3, 0xa4, 0xc, + 0x80, 0x4, 0x81, 0x40, 0x18, 0xcc, 0x12, 0x1, + 0xb8, 0xc, 0xc0, 0x15, 0x0, 0xa8, 0x6, 0x51, + 0x9, 0x0, 0xb, 0x3, 0x0, 0x7a, 0x41, 0x44, + 0x18, 0x1, 0x40, 0x1e, 0x60, 0x3, 0x5, 0x2, + 0x10, 0x7, 0x85, 0x42, 0x90, 0x83, 0xc0, 0x3f, + 0x70, 0x15, 0x1, 0x20, 0x7, 0xe4, 0x20, 0x10, + 0xa0, 0xf, 0xf5, 0x80, 0x4c, 0x1, 0xfe, 0x70, + 0x2, 0x88, 0x7, 0xf9, 0x0, 0x12, 0x1, 0xfc, + 0x29, 0x0, 0x66, 0x0, 0xfd, 0x7d, 0x64, 0x10, + 0x1, 0xff, 0xa, 0x5a, 0x0, 0x7c, + + /* U+0424 "Ф" */ + 0x0, 0xfd, 0xbf, 0x0, 0x1f, 0xfc, 0x21, 0x33, + 0x1, 0x18, 0x7, 0xf8, 0x5f, 0x7b, 0x4, 0x17, + 0x3e, 0xd4, 0x3, 0xc9, 0xf0, 0x40, 0x60, 0x1, + 0x20, 0x4a, 0xc1, 0x0, 0x8e, 0xc4, 0x53, 0xf8, + 0x40, 0xdb, 0xa6, 0x3, 0xc0, 0xb, 0x80, 0x7d, + 0x80, 0x3c, 0x53, 0x40, 0x50, 0x6, 0x41, 0x62, + 0x1, 0xfc, 0xa8, 0xc, 0x8, 0x0, 0x50, 0xf, + 0xfb, 0x40, 0x4b, 0xc0, 0x3f, 0xf8, 0x44, 0x0, + 0x10, 0xf, 0xfe, 0x3f, 0x0, 0x8, 0x3, 0xfe, + 0x30, 0x1, 0x38, 0x2, 0xc0, 0x3f, 0xe9, 0x3, + 0x11, 0x30, 0x33, 0x80, 0x7e, 0x1b, 0x10, 0x80, + 0x4, 0x98, 0x46, 0xba, 0x0, 0x5, 0x23, 0xd0, + 0x21, 0x0, 0x2c, 0x70, 0x28, 0xb2, 0x6, 0xb7, + 0x12, 0xa7, 0x0, 0xe8, 0xe9, 0x53, 0x0, 0xa, + 0x3d, 0xea, 0x80, 0x7c, 0x2d, 0x58, 0x40, 0xd7, + 0x8, 0x1, 0xff, 0xcc, + + /* U+0425 "Х" */ + 0x2, 0xff, 0x30, 0x7, 0xd1, 0xfc, 0x20, 0x4e, + 0x10, 0x20, 0x1c, 0x6e, 0x16, 0x20, 0x8, 0x21, + 0xb0, 0xe, 0xe0, 0x55, 0x0, 0x6e, 0x5, 0x50, + 0x5, 0x4, 0x36, 0x1, 0xc6, 0xc1, 0x62, 0x4, + 0xe1, 0x2, 0x1, 0xe9, 0x21, 0xb0, 0xe0, 0x46, + 0x0, 0xfd, 0x20, 0xb6, 0x61, 0x20, 0x1f, 0xc8, + 0xc0, 0x81, 0x24, 0x1, 0xfe, 0xa0, 0x1, 0x30, + 0x7, 0xfd, 0x0, 0x2, 0x30, 0xf, 0xf3, 0x20, + 0x18, 0x70, 0x7, 0xf0, 0xc8, 0x46, 0x89, 0x40, + 0x7, 0xea, 0x2, 0x71, 0x80, 0x72, 0x0, 0xf2, + 0xa0, 0x70, 0x1, 0x90, 0x38, 0x3, 0x86, 0xc1, + 0xcc, 0x2, 0x90, 0x37, 0x0, 0xd6, 0x25, 0x0, + 0x18, 0xa0, 0x20, 0x80, 0x8, 0xa1, 0xc0, 0x1e, + 0x73, 0x9, 0x0, 0x50, 0x31, 0x80, 0x7d, 0xc0, + 0x8a, + + /* U+0426 "Ц" */ + 0xaf, 0xb0, 0xf, 0xd5, 0xf6, 0x1, 0xff, 0xff, + 0x0, 0xff, 0xff, 0x80, 0x7f, 0xff, 0xc0, 0x30, + 0x8f, 0xf0, 0x0, 0x40, 0x24, 0xee, 0xfc, 0x80, + 0x9d, 0x60, 0x1f, 0xfc, 0x4a, 0xff, 0xff, 0xe0, + 0x50, 0x7, 0xff, 0x8c, 0x46, + + /* U+0427 "Ч" */ + 0xff, 0x30, 0x7, 0x93, 0xfc, 0x20, 0x1f, 0xfe, + 0x81, 0xe, 0x0, 0xff, 0x10, 0x28, 0x7, 0xfa, + 0xc0, 0xa4, 0x80, 0x3f, 0x39, 0x83, 0x6f, 0xfe, + 0xb0, 0xd, 0x8e, 0x20, 0x1f, 0xf4, 0x77, 0xf7, + 0x6a, 0x0, 0xfc, 0x23, 0xc0, 0x1f, 0xff, 0xf0, + 0xf, 0x0, + + /* U+0428 "Ш" */ + 0xaf, 0xb0, 0xf, 0x2f, 0xf8, 0x3, 0xc3, 0xfe, + 0x50, 0xf, 0xff, 0xf8, 0x7, 0xff, 0xfc, 0x3, + 0xff, 0xfe, 0x1, 0xff, 0xff, 0x0, 0xff, 0x84, + 0x7c, 0x60, 0x1, 0x1f, 0x18, 0x7, 0x27, 0x77, + 0xa4, 0x1, 0xdd, 0xed, 0x0, 0xff, 0xe6, 0x80, + + /* U+0429 "Щ" */ + 0xaf, 0xb0, 0xf, 0x2f, 0xf8, 0x3, 0xc3, 0xfe, + 0x50, 0xf, 0xff, 0xf8, 0x7, 0xff, 0xfc, 0x3, + 0xff, 0xfe, 0x1, 0xff, 0xff, 0x0, 0xff, 0xee, + 0x88, 0xf8, 0xc0, 0x2, 0x3e, 0x30, 0x8, 0x40, + 0x24, 0xee, 0xf4, 0x80, 0x3b, 0xbd, 0xa0, 0xa, + 0xe4, 0x0, 0xff, 0xe6, 0x57, 0xff, 0xff, 0x21, + 0x0, 0x3f, 0xff, 0x62, 0x20, + + /* U+042A "Ъ" */ + 0x4f, 0xff, 0x8c, 0x3, 0xff, 0xa2, 0x9d, 0xdb, + 0x0, 0x3f, 0xf8, 0x42, 0x3c, 0x1, 0xff, 0xff, + 0x0, 0xb3, 0xff, 0x75, 0xa8, 0x7, 0xff, 0x10, + 0x52, 0xac, 0x3, 0xfd, 0x7f, 0xfb, 0x14, 0x12, + 0x40, 0x3f, 0x9c, 0x3, 0x1d, 0x20, 0x30, 0x7, + 0xff, 0x13, 0x80, 0x6, 0x1, 0xff, 0xc3, 0x10, + 0x3, 0x80, 0x7f, 0xf0, 0xc4, 0x0, 0xe0, 0x1f, + 0xfc, 0x3e, 0x0, 0x18, 0x7, 0xe7, 0x0, 0x84, + 0xed, 0x1, 0x80, 0x3f, 0xaf, 0xfe, 0xec, 0x40, + 0x49, 0x0, 0xff, 0xe1, 0xa, 0x55, 0x80, 0x0, + + /* U+042B "Ы" */ + 0xaf, 0xb0, 0xf, 0xfa, 0x3f, 0x40, 0x3f, 0xff, + 0xe0, 0x1f, 0xfd, 0x14, 0xff, 0xed, 0x82, 0x0, + 0xff, 0xe1, 0x13, 0xea, 0x0, 0x7c, 0x9f, 0xfb, + 0xa4, 0x42, 0xc4, 0x3, 0xfe, 0x16, 0xa0, 0x3, + 0x0, 0x7f, 0xf0, 0x50, 0x43, 0x40, 0x3f, 0xf8, + 0x44, 0x2, 0x1, 0xff, 0xc2, 0x20, 0x10, 0xf, + 0xfe, 0xa, 0x8, 0x68, 0x7, 0xfc, 0x2d, 0x40, + 0x6, 0x0, 0xf2, 0x7f, 0xee, 0x91, 0xb, 0x10, + 0xf, 0xfe, 0x1, 0x3e, 0xa0, 0x7, 0x0, + + /* U+042C "Ь" */ + 0xaf, 0xb0, 0xf, 0xff, 0xf8, 0x7, 0xff, 0xd, + 0x3f, 0xfb, 0x60, 0x80, 0x3f, 0xc4, 0xfa, 0x80, + 0x12, 0x7f, 0xee, 0x91, 0xb, 0x10, 0xf, 0x85, + 0xa8, 0x0, 0xc0, 0x1f, 0xc8, 0x21, 0xa0, 0x1f, + 0xe2, 0x1, 0x0, 0xff, 0x10, 0x8, 0x7, 0xf2, + 0x8, 0x68, 0x7, 0xc2, 0xd4, 0x0, 0x60, 0x2, + 0x7f, 0xee, 0x91, 0xb, 0x10, 0xf, 0xc4, 0xfa, + 0x80, + + /* U+042D "Э" */ + 0x0, 0x35, 0xf7, 0xfb, 0x69, 0x40, 0x39, 0x7a, + 0x50, 0x40, 0x4, 0xb5, 0xa4, 0x1, 0x70, 0x9c, + 0xef, 0xf6, 0x40, 0x96, 0x98, 0x0, 0xaf, 0x18, + 0x80, 0x4d, 0xfc, 0x83, 0x80, 0x12, 0x80, 0x1f, + 0xf, 0x81, 0x38, 0x7, 0xfc, 0x4a, 0x12, 0x1, + 0xff, 0xc0, 0xf0, 0x12, 0x0, 0x84, 0x7f, 0x30, + 0x1, 0x80, 0xf, 0xdd, 0xfb, 0x0, 0x2, 0x1, + 0xff, 0xc5, 0x7f, 0xff, 0xda, 0x0, 0x10, 0xf, + 0xf9, 0xc0, 0xc, 0x1, 0xff, 0x78, 0x9, 0x0, + 0x7f, 0x89, 0x42, 0x42, 0x94, 0x3, 0xe1, 0xf0, + 0x17, 0x1, 0xac, 0x62, 0x1, 0x37, 0xf2, 0xd, + 0x0, 0x70, 0x9c, 0xef, 0xf6, 0x40, 0x96, 0x98, + 0x1, 0x7a, 0x50, 0x40, 0x4, 0xb5, 0xa4, 0x1, + 0x0, + + /* U+042E "Ю" */ + 0x8f, 0xd0, 0xf, 0x85, 0xf3, 0xbf, 0xb1, 0xc4, + 0x3, 0xff, 0x82, 0xdd, 0x6, 0x20, 0x27, 0x1e, + 0xa0, 0x1f, 0xf3, 0x48, 0x15, 0x77, 0xf4, 0x88, + 0xa9, 0x40, 0x3f, 0x8e, 0x41, 0x35, 0x44, 0x5, + 0xb8, 0xc2, 0x88, 0x3, 0xf4, 0x0, 0xd0, 0x7, + 0xda, 0x0, 0x80, 0xf, 0x85, 0x2, 0x44, 0x3, + 0xe1, 0x70, 0x51, 0x0, 0xf3, 0x80, 0x14, 0x3, + 0xfa, 0xc0, 0xa, 0x1, 0x8, 0xde, 0x0, 0x20, + 0xf, 0xe3, 0x0, 0x18, 0x0, 0xbb, 0xa6, 0x1, + 0x0, 0xff, 0xe0, 0xf8, 0x7, 0xff, 0x34, 0xbf, + 0xe7, 0x1, 0x0, 0xff, 0xe0, 0xf8, 0x7, 0xb8, + 0x0, 0x40, 0x1f, 0xc6, 0x0, 0x30, 0xf, 0x38, + 0x1, 0x40, 0x3f, 0xac, 0x0, 0xa0, 0x1e, 0x14, + 0x9, 0x10, 0xf, 0x85, 0xc1, 0x44, 0x3, 0xe9, + 0x1, 0xa0, 0xf, 0xb4, 0x1, 0x0, 0x1f, 0x8a, + 0x41, 0x35, 0x44, 0x5, 0xb4, 0xc2, 0x88, 0x3, + 0xf9, 0xa8, 0xa, 0xbb, 0xfa, 0x48, 0x69, 0x40, + 0x3f, 0xe5, 0xe8, 0x31, 0x1, 0x38, 0xf5, 0x0, + 0x80, + + /* U+042F "Я" */ + 0x0, 0x8e, 0x77, 0xff, 0xe5, 0x0, 0x3e, 0x31, + 0x0, 0x7f, 0x1c, 0x0, 0xd6, 0xff, 0xdc, 0x1, + 0xa8, 0x1, 0xaa, 0x40, 0x10, 0x80, 0x65, 0x1, + 0x30, 0xf, 0xfe, 0x62, 0x80, 0x98, 0x7, 0xfa, + 0x80, 0x1c, 0xa2, 0x1, 0xf8, 0xec, 0x4a, 0xbb, + 0xff, 0x0, 0x72, 0x74, 0x88, 0x7, 0xff, 0x1, + 0xc4, 0x1f, 0xfd, 0xc0, 0x1f, 0x58, 0xc, 0x0, + 0x4, 0x3, 0xc6, 0xa1, 0x60, 0x1f, 0xef, 0x3, + 0x50, 0xf, 0xe6, 0x30, 0xf0, 0xf, 0xf4, 0x3, + 0x18, 0x7, 0xf4, 0x8, 0x40, 0x7, 0xf1, 0x38, + 0x40, 0x80, 0x7f, 0x0, + + /* U+0430 "а" */ + 0x1, 0x6b, 0xdf, 0xf6, 0xc0, 0x80, 0x51, 0x28, + 0x40, 0x2, 0x7f, 0x20, 0x7, 0x3e, 0xff, 0xd8, + 0x63, 0x20, 0x7, 0x82, 0x0, 0x8f, 0x45, 0x8, + 0x3, 0xf0, 0xa8, 0x20, 0x0, 0xe7, 0x7f, 0xf2, + 0x0, 0x83, 0x63, 0x11, 0xc, 0xe1, 0xf, 0x19, + 0x7, 0xfd, 0xcc, 0x90, 0x0, 0xe0, 0x70, 0x1, + 0xc2, 0x0, 0xe0, 0x60, 0xf, 0x20, 0x3, 0xc1, + 0x80, 0x3a, 0x0, 0x24, 0x3, 0x80, 0x0, 0xc3, + 0x88, 0x0, 0xd4, 0x1f, 0xfb, 0x8e, 0xc8, 0x1, + 0x54, 0x10, 0x0, 0xe6, 0x40, 0x10, + + /* U+0431 "б" */ + 0x0, 0xff, 0xe2, 0x94, 0x5e, 0xf7, 0x3c, 0x40, + 0x35, 0x6b, 0xa1, 0x8, 0x81, 0x0, 0x2c, 0x50, + 0x6d, 0xff, 0xca, 0x0, 0x83, 0xb, 0x92, 0x0, + 0xf9, 0xc2, 0x50, 0x3, 0xf2, 0x81, 0x30, 0x7, + 0xf6, 0x2, 0x22, 0xfb, 0xfa, 0x8c, 0x2, 0x30, + 0x7b, 0x41, 0x19, 0x71, 0xc0, 0x30, 0x83, 0xf7, + 0x4c, 0x10, 0xa0, 0x19, 0xa0, 0x40, 0x65, 0x2, + 0x0, 0xc0, 0x10, 0x1, 0xd0, 0x4, 0x40, 0x1, + 0x8, 0x7, 0x18, 0x83, 0x80, 0x18, 0x3, 0xe3, + 0x2, 0xe0, 0x70, 0xf, 0xf0, 0x81, 0x0, 0x7c, + 0x60, 0x48, 0x2, 0x40, 0x1c, 0x62, 0xe, 0x44, + 0x8, 0x0, 0xe8, 0x2, 0x20, 0x40, 0x2c, 0x8, + 0xc, 0xa0, 0x40, 0x1, 0x5c, 0x1f, 0xba, 0x60, + 0x85, 0x0, 0xa2, 0xd0, 0x46, 0x5c, 0x70, 0x0, + + /* U+0432 "в" */ + 0xdf, 0xfe, 0xeb, 0x40, 0xc, 0x46, 0x62, 0x14, + 0xb6, 0x0, 0xa3, 0x31, 0xbc, 0xa1, 0x0, 0x1f, + 0xc, 0x0, 0x88, 0x3, 0xe1, 0x0, 0x8, 0x7, + 0x93, 0x81, 0x80, 0x2a, 0xff, 0xac, 0xa6, 0x40, + 0x11, 0x19, 0x88, 0x42, 0x58, 0x2, 0x8c, 0xc6, + 0xf5, 0x4, 0x98, 0x7, 0xca, 0xa0, 0xa0, 0xf, + 0xf1, 0x0, 0x7c, 0xaa, 0xc, 0x0, 0x46, 0x63, + 0x7a, 0x80, 0x9c, 0x0, 0x46, 0x62, 0x13, 0x8d, + 0x0, + + /* U+0433 "г" */ + 0xdf, 0xff, 0xce, 0x0, 0x23, 0x3f, 0x10, 0x2, + 0x33, 0x3c, 0xa0, 0x1f, 0xff, 0xf0, 0xf, 0xfe, + 0xb8, + + /* U+0434 "д" */ + 0x0, 0x93, 0xff, 0xf5, 0x0, 0x7e, 0x33, 0xc2, + 0x1, 0xfc, 0x39, 0x99, 0x80, 0x3f, 0xfb, 0x22, + 0x6, 0x1, 0xff, 0xc0, 0x20, 0x10, 0xf, 0xfe, + 0x7, 0x3, 0x0, 0x7f, 0xf0, 0x14, 0x34, 0x3, + 0xff, 0x80, 0x60, 0x60, 0x1f, 0xf3, 0x0, 0xa0, + 0x7, 0xf8, 0xa0, 0x18, 0x3, 0xfd, 0x3a, 0x20, + 0xb9, 0x9c, 0xc0, 0x98, 0x8a, 0x1, 0x11, 0x9f, + 0x8, 0x9, 0x88, 0x3, 0xff, 0xfd, 0x20, 0x1f, + 0xfd, 0x49, 0x80, 0xf, 0xf2, 0x43, 0x80, + + /* U+0435 "е" */ + 0x0, 0x8e, 0xbb, 0xfd, 0x8c, 0x1, 0xcf, 0x8a, + 0x20, 0x3, 0x9b, 0x0, 0x96, 0x2, 0x3b, 0xfd, + 0x42, 0x92, 0x0, 0xb0, 0xa7, 0x10, 0x2, 0xe8, + 0x30, 0xa0, 0x92, 0x80, 0x71, 0x90, 0x26, 0x1, + 0xe6, 0x7c, 0x60, 0x44, 0x1, 0x33, 0xf8, 0x40, + 0x32, 0xff, 0xff, 0x39, 0x3, 0x0, 0x7f, 0xb4, + 0xc, 0x80, 0x3f, 0x94, 0x42, 0x40, 0x3e, 0x10, + 0x5, 0x82, 0x59, 0x80, 0x47, 0x1e, 0x0, 0x59, + 0x4, 0xcf, 0xef, 0xc7, 0x10, 0x9, 0xb5, 0x88, + 0x4, 0x49, 0x1c, 0x0, + + /* U+0436 "ж" */ + 0x2, 0xef, 0x70, 0xc, 0x9f, 0xc0, 0x1d, 0x9f, + 0x40, 0x2, 0xd0, 0x85, 0x0, 0xff, 0x51, 0x9a, + 0x80, 0x23, 0xa0, 0xa3, 0x0, 0xfd, 0x2a, 0x5a, + 0x1, 0xcb, 0x1, 0xa4, 0x1, 0xe6, 0x60, 0xf8, + 0x80, 0x79, 0xd8, 0x7c, 0x40, 0x32, 0xc8, 0x69, + 0x0, 0x7e, 0x91, 0x2d, 0x0, 0x8e, 0x81, 0x8c, + 0x3, 0xf9, 0xc4, 0xe, 0x40, 0x74, 0x0, 0xc4, + 0x1, 0xf8, 0xa0, 0x2c, 0x88, 0x0, 0x16, 0x60, + 0x48, 0x7, 0xe9, 0x7, 0x4f, 0x10, 0x2, 0x4c, + 0x85, 0x14, 0x3, 0xca, 0x83, 0x0, 0x56, 0x3, + 0x60, 0xb, 0xb, 0x10, 0xc, 0x36, 0x14, 0x1, + 0x8, 0x7, 0x2a, 0xc, 0x0, 0x68, 0x15, 0x40, + 0xf, 0xf5, 0x3, 0x18, 0x0, 0xd8, 0x2c, 0x3, + 0xfe, 0x18, 0xe, 0x0, 0x70, 0x48, 0x80, 0x7f, + 0xf0, 0x1c, 0xc9, 0xc0, + + /* U+0437 "з" */ + 0x8, 0xbd, 0xff, 0x6c, 0x90, 0x4, 0xe8, 0x40, + 0x2, 0x6d, 0x40, 0x4, 0xe7, 0xfd, 0x86, 0x12, + 0x0, 0x63, 0x0, 0x8f, 0xc0, 0x80, 0x3e, 0x19, + 0x3, 0x0, 0xd9, 0xbd, 0xc5, 0x1f, 0x0, 0xc4, + 0x41, 0x2, 0xc3, 0x0, 0xdd, 0xfd, 0x61, 0xaa, + 0x1, 0xe1, 0x4c, 0xa, 0x10, 0xf, 0x84, 0x81, + 0x40, 0x3e, 0x12, 0x0, 0x2b, 0x88, 0x4, 0x98, + 0x2, 0x85, 0x1d, 0xfd, 0xf6, 0x41, 0x40, 0xae, + 0x62, 0x20, 0x26, 0xd4, 0x0, + + /* U+0438 "и" */ + 0xdf, 0x50, 0xe, 0xaf, 0xf3, 0x0, 0x7c, 0x6a, + 0x1, 0xfe, 0xf0, 0xf, 0xf2, 0x99, 0x20, 0x7, + 0xe8, 0x9, 0x0, 0xfc, 0xe4, 0x88, 0x0, 0xf8, + 0x60, 0x24, 0x3, 0xf4, 0x3, 0x10, 0x7, 0xc4, + 0xc1, 0x0, 0x1f, 0xa4, 0x20, 0x40, 0x3e, 0xc4, + 0x17, 0x0, 0xfc, 0xc1, 0x60, 0x1f, 0xe3, 0x50, + 0xf, 0xf7, 0x80, 0x7e, + + /* U+0439 "й" */ + 0x0, 0x65, 0x0, 0x43, 0xea, 0x1, 0x91, 0x54, + 0x3, 0x60, 0xe0, 0x1a, 0x46, 0xbf, 0x95, 0xc8, + 0x3, 0xf, 0x43, 0x32, 0xe0, 0x3, 0xe7, 0x99, + 0x20, 0x6, 0xdf, 0x50, 0xe, 0xaf, 0xf3, 0x0, + 0x7c, 0x6a, 0x1, 0xfe, 0xf0, 0xf, 0xf2, 0x99, + 0x20, 0x7, 0xe8, 0x9, 0x0, 0xfc, 0xe4, 0x88, + 0x0, 0xf8, 0x60, 0x24, 0x3, 0xf4, 0x3, 0x10, + 0x7, 0xc4, 0xc1, 0x0, 0x1f, 0xa4, 0x20, 0x40, + 0x3e, 0xc4, 0x17, 0x0, 0xfc, 0xc1, 0x60, 0x1f, + 0xe3, 0x50, 0xf, 0xf7, 0x80, 0x7e, + + /* U+043A "к" */ + 0xdf, 0x50, 0xc, 0x5d, 0xf2, 0x1, 0xf0, 0xf8, + 0xac, 0x80, 0x78, 0x70, 0x92, 0x80, 0x3e, 0xd2, + 0x3b, 0x0, 0xfa, 0xcc, 0xb4, 0x3, 0xea, 0x40, + 0xe1, 0x0, 0xf4, 0x28, 0x3, 0xc0, 0x3e, 0x21, + 0xb1, 0x36, 0x0, 0xfb, 0x52, 0xc2, 0x48, 0x3, + 0xa4, 0xc1, 0x54, 0x12, 0x1, 0xc6, 0x1, 0x58, + 0xa3, 0x0, 0x7e, 0x1b, 0x9, 0x10, 0xf, 0xca, + 0x81, 0x40, 0x1f, 0xd4, 0x8, 0xa0, + + /* U+043B "л" */ + 0x0, 0xd1, 0xff, 0xf9, 0x40, 0x3c, 0x26, 0x78, + 0x3, 0xf9, 0x33, 0x31, 0x0, 0x7f, 0xf2, 0x8c, + 0x3, 0xfe, 0x10, 0xf, 0xfe, 0x9, 0x80, 0x80, + 0x7f, 0xcc, 0x1c, 0x1, 0xff, 0x10, 0x10, 0x7, + 0xf8, 0x84, 0x14, 0x3, 0xfd, 0x40, 0x62, 0x1, + 0xf8, 0x61, 0xc2, 0x40, 0x3f, 0xf, 0x38, 0x3a, + 0x80, 0x7f, 0xa, 0xe4, 0x0, 0x7f, 0x0, + + /* U+043C "м" */ + 0xdf, 0xf4, 0x0, 0x79, 0xbf, 0xdc, 0x1, 0x30, + 0x7, 0xa8, 0x3, 0x88, 0x54, 0x3, 0x19, 0x88, + 0x3, 0x50, 0x70, 0x6, 0xa0, 0xa0, 0xc, 0x48, + 0x82, 0x0, 0x98, 0x90, 0x3, 0xb8, 0x28, 0x0, + 0xc1, 0x40, 0x1e, 0x51, 0x60, 0x5, 0x3, 0x0, + 0x7c, 0xc2, 0xa6, 0x65, 0x10, 0xf, 0xa8, 0x3a, + 0x83, 0x80, 0x3f, 0x12, 0x21, 0x89, 0x0, 0x3f, + 0xb8, 0x1, 0x40, 0x1f, 0xe5, 0xaa, 0x30, 0x7, + 0xfc, 0xaa, 0x10, 0xf, 0xfe, 0x38, + + /* U+043D "н" */ + 0xdf, 0x50, 0xf, 0x57, 0xc0, 0x7, 0xff, 0xca, + 0xbf, 0xfc, 0xa0, 0x18, 0x8c, 0xfc, 0x20, 0x1a, + 0x33, 0x3c, 0x80, 0x1f, 0xff, 0x20, + + /* U+043E "о" */ + 0x0, 0x96, 0xfb, 0xfa, 0x88, 0x3, 0xaa, 0x88, + 0x23, 0x2e, 0xb0, 0x5, 0xa, 0x11, 0xfd, 0xc4, + 0x9, 0x30, 0x17, 0x8, 0x70, 0x0, 0xd9, 0x84, + 0x2, 0x0, 0x1c, 0x3, 0xa0, 0x10, 0x74, 0x10, + 0x3, 0xc8, 0x0, 0x52, 0x2, 0x0, 0xfe, 0x10, + 0x1, 0x80, 0x7f, 0x88, 0x18, 0x3, 0xf8, 0x74, + 0xc, 0x40, 0x39, 0x0, 0xa, 0x80, 0x9, 0x0, + 0xe8, 0x4, 0x11, 0x38, 0x3b, 0x80, 0x3, 0x66, + 0x10, 0x0, 0x85, 0x8, 0xfe, 0xe2, 0x4, 0x98, + 0x5, 0x54, 0x41, 0x19, 0x75, 0x80, 0x0, + + /* U+043F "п" */ + 0xdf, 0xff, 0xf4, 0x0, 0x8, 0xcf, 0xc2, 0x1, + 0xa3, 0x33, 0xc8, 0x1, 0xff, 0xff, 0x0, 0xff, + 0xf7, 0x80, + + /* U+0440 "р" */ + 0xdf, 0x51, 0x9e, 0xfe, 0x91, 0x0, 0xc5, 0xec, + 0x2, 0x26, 0xf1, 0x0, 0xa0, 0x2f, 0xb9, 0x82, + 0x2d, 0x0, 0xda, 0x80, 0x3, 0xc0, 0x34, 0x0, + 0x21, 0x80, 0x62, 0x40, 0xd0, 0x6, 0x0, 0x7b, + 0x1, 0x40, 0x4, 0x1, 0xe2, 0x2, 0x0, 0xff, + 0xe1, 0x10, 0x7, 0x88, 0x8, 0x1, 0x80, 0x1e, + 0xc0, 0x50, 0x2, 0x18, 0x6, 0x24, 0xd, 0x0, + 0xb5, 0x0, 0x7, 0x80, 0x68, 0x0, 0x90, 0xbf, + 0xf6, 0x8, 0xb4, 0x2, 0x3f, 0x61, 0x1, 0x6f, + 0x10, 0xc, 0x33, 0xdf, 0xd2, 0x20, 0x1f, 0xfe, + 0x60, + + /* U+0441 "с" */ + 0x0, 0x8a, 0x77, 0xfb, 0x60, 0x80, 0xf, 0xac, + 0x40, 0x24, 0xf2, 0xd, 0x0, 0xbb, 0xfe, 0xe9, + 0x30, 0x80, 0x6a, 0x20, 0x0, 0xb4, 0x28, 0x84, + 0x0, 0x7d, 0xa0, 0x82, 0x1, 0xf1, 0x1, 0x0, + 0x7f, 0xf1, 0xc8, 0x8, 0x3, 0xf6, 0x82, 0x8, + 0x7, 0xca, 0x21, 0x0, 0x1f, 0xa0, 0x1a, 0x88, + 0x0, 0x2d, 0x0, 0xd0, 0xb, 0xbf, 0xee, 0x93, + 0x0, 0x3e, 0x28, 0x80, 0x93, 0xc8, + + /* U+0442 "т" */ + 0x4f, 0xff, 0xfe, 0x2, 0x39, 0x9f, 0x0, 0xc, + 0xf9, 0xcf, 0x33, 0x68, 0x3, 0x33, 0x8c, 0x3, + 0xff, 0xfe, 0x1, 0xff, 0xff, 0x0, 0xc0, + + /* U+0443 "у" */ + 0x1f, 0xf1, 0x80, 0x7d, 0xfe, 0x41, 0x40, 0xa0, + 0xf, 0x28, 0xa, 0x7, 0x83, 0x80, 0x7b, 0x81, + 0x80, 0x8, 0x22, 0x50, 0xc, 0x48, 0x14, 0x1, + 0x30, 0x70, 0x6, 0xa0, 0x32, 0x0, 0xa8, 0x10, + 0x40, 0x26, 0x9, 0x0, 0xc4, 0x80, 0xc0, 0x4, + 0x10, 0x50, 0xe, 0xe0, 0xa0, 0x7, 0x3, 0x0, + 0x79, 0x44, 0x8c, 0x14, 0x28, 0x3, 0xe7, 0xa, + 0x60, 0x23, 0x0, 0xfa, 0xc1, 0xac, 0x28, 0x3, + 0xf1, 0x18, 0x10, 0x30, 0x7, 0xf5, 0x0, 0x10, + 0x40, 0x3f, 0x9c, 0x1, 0xe0, 0x1f, 0xe4, 0x1, + 0x40, 0xf, 0xf7, 0x3, 0x0, 0x7f, 0x95, 0x2, + 0x40, 0x3e, 0x1e, 0xe5, 0x3, 0x88, 0x7, 0xe1, + 0x11, 0x44, 0x0, 0x3e, + + /* U+0444 "ф" */ + 0x0, 0xfd, 0xbe, 0xa0, 0x1f, 0xff, 0x71, 0xae, + 0xe4, 0x80, 0x64, 0xdf, 0xd6, 0x0, 0xc3, 0xea, + 0x20, 0xd8, 0x0, 0xcb, 0x20, 0x29, 0x80, 0xa, + 0xc4, 0xb7, 0xb4, 0x48, 0x19, 0xff, 0xd0, 0xe, + 0x60, 0x4a, 0x1e, 0x40, 0x5e, 0x0, 0x68, 0x0, + 0x3a, 0x84, 0x82, 0x1, 0x90, 0x4, 0x44, 0xc, + 0x0, 0xdc, 0x8, 0x1e, 0xc, 0x1, 0xff, 0xc0, + 0x50, 0x11, 0x18, 0x18, 0x7, 0xff, 0x0, 0x40, + 0x6, 0x1, 0xff, 0xc7, 0x30, 0x30, 0xf, 0xfe, + 0x0, 0x80, 0xf, 0xc1, 0x80, 0x3f, 0xf8, 0xa, + 0x0, 0x14, 0x3, 0x20, 0x8, 0x88, 0x1e, 0x1, + 0xb8, 0x14, 0x9, 0x3, 0xc8, 0xb, 0xc0, 0xb, + 0x0, 0x7, 0x50, 0x90, 0x5, 0x9, 0x6f, 0x6b, + 0x10, 0x33, 0xff, 0xa0, 0x1c, 0xc0, 0x3, 0xea, + 0x0, 0x6b, 0x0, 0x65, 0x90, 0x14, 0xc0, 0x6, + 0x1a, 0xfe, 0x90, 0xc, 0x9b, 0xfa, 0xc0, 0x1f, + 0xff, 0xf0, 0xc, + + /* U+0445 "х" */ + 0x8, 0xfe, 0x10, 0xe, 0xbf, 0xc0, 0x4, 0x18, + 0xd0, 0x6, 0x64, 0xe, 0x0, 0xb8, 0x11, 0x80, + 0x5, 0x21, 0x24, 0x1, 0x14, 0x84, 0x90, 0x70, + 0x23, 0x0, 0x73, 0x20, 0x74, 0x18, 0xd0, 0x7, + 0xd4, 0x26, 0xe1, 0x62, 0x1, 0xf0, 0xc0, 0x1, + 0x54, 0x1, 0xfd, 0x40, 0x7, 0x0, 0xfe, 0x73, + 0x1, 0x29, 0x0, 0xf8, 0xe0, 0x2a, 0x80, 0xc8, + 0x1, 0xee, 0x5, 0x52, 0x38, 0x50, 0x80, 0x69, + 0x21, 0xb0, 0x4, 0x10, 0xd8, 0x4, 0x8c, 0x14, + 0x20, 0x17, 0x2, 0xb0, 0xd, 0x3, 0x20, 0x6, + 0x38, 0x9, 0x20, + + /* U+0446 "ц" */ + 0xdf, 0x50, 0xf, 0x57, 0xc0, 0x7, 0xff, 0xfc, + 0x3, 0xff, 0xfe, 0x1, 0xfa, 0x33, 0x3c, 0x80, + 0xd8, 0x40, 0x2, 0x33, 0xf0, 0x80, 0x98, 0xef, + 0xff, 0xfa, 0x0, 0x3f, 0xfb, 0xa9, 0x4, + + /* U+0447 "ч" */ + 0x3f, 0xe0, 0xe, 0x2f, 0xf0, 0x7, 0xff, 0x30, + 0x40, 0x3f, 0x8, 0x0, 0x40, 0x3e, 0x21, 0xb, + 0x0, 0xfd, 0x0, 0xbf, 0x99, 0x78, 0x4, 0xd4, + 0x60, 0x67, 0x10, 0x6, 0x5c, 0xff, 0xda, 0x1, + 0xff, 0xed, + + /* U+0448 "ш" */ + 0xdf, 0x50, 0xc, 0x3f, 0xe1, 0x0, 0xcd, 0xf8, + 0x1, 0xff, 0xff, 0x0, 0xff, 0xff, 0x80, 0x7f, + 0xf9, 0xa3, 0x33, 0x80, 0x1b, 0x99, 0xa0, 0x3, + 0x11, 0x9e, 0x20, 0x1, 0x9f, 0x8, 0x0, + + /* U+0449 "щ" */ + 0xdf, 0x50, 0xc, 0x3f, 0xe1, 0x0, 0xcd, 0xf8, + 0x1, 0xff, 0xff, 0x0, 0xff, 0xff, 0x80, 0x7f, + 0xff, 0xa3, 0x33, 0x80, 0x1b, 0x99, 0xa0, 0xf, + 0x18, 0x0, 0x46, 0x78, 0x80, 0x6, 0x7c, 0x20, + 0x3, 0xed, 0xff, 0xff, 0xe2, 0x60, 0x7, 0xff, + 0xbc, 0xa2, 0xc0, + + /* U+044A "ъ" */ + 0x4f, 0xff, 0x10, 0x7, 0xe7, 0x33, 0xc0, 0x1f, + 0xf1, 0xe6, 0x60, 0xf, 0xff, 0xb6, 0xff, 0xdd, + 0x6c, 0x1, 0xfc, 0x46, 0x62, 0x14, 0x9a, 0x0, + 0xfd, 0xf9, 0x8d, 0xf8, 0x5, 0x40, 0xf, 0xfe, + 0x3, 0x90, 0x60, 0x7, 0xff, 0xf, 0xc0, 0x3f, + 0xf8, 0xe, 0x40, 0x60, 0x1f, 0x7e, 0x63, 0x7e, + 0x1, 0x50, 0x3, 0xe2, 0x33, 0x10, 0xa4, 0xd0, + 0x0, + + /* U+044B "ы" */ + 0xdf, 0x50, 0xf, 0xe5, 0xfd, 0x0, 0xff, 0xff, + 0x80, 0x2b, 0xff, 0x63, 0x80, 0x7e, 0x23, 0x31, + 0x9, 0xc6, 0x80, 0x7d, 0x19, 0x8d, 0xea, 0x2, + 0x70, 0xf, 0xf9, 0x54, 0x18, 0x1, 0xff, 0xc2, + 0x10, 0xf, 0xf9, 0x54, 0x1a, 0x1, 0xe8, 0xcc, + 0x6f, 0x50, 0x13, 0x80, 0x78, 0x8c, 0xc4, 0x27, + 0x1a, 0x1, 0xc0, + + /* U+044C "ь" */ + 0xdf, 0x50, 0xf, 0xff, 0xad, 0x7f, 0xec, 0x70, + 0xc, 0x46, 0x62, 0x13, 0x8d, 0x0, 0xa3, 0x31, + 0xbd, 0x40, 0x4e, 0x1, 0xf2, 0xa8, 0x30, 0x3, + 0xfc, 0x20, 0x1f, 0x2a, 0x83, 0x40, 0x11, 0x98, + 0xde, 0xa0, 0x27, 0x0, 0x11, 0x98, 0x84, 0xe3, + 0x40, + + /* U+044D "э" */ + 0x28, 0xde, 0xfd, 0x93, 0x0, 0xa1, 0xc8, 0x40, + 0x9b, 0x1c, 0x1, 0x95, 0xdf, 0xee, 0x80, 0x86, + 0x6, 0x51, 0x0, 0xb, 0xc8, 0x40, 0x7, 0xe6, + 0x21, 0x50, 0x2c, 0xcf, 0x18, 0x60, 0x9, 0x9f, + 0x84, 0xc, 0xf, 0xff, 0xca, 0x1, 0xfe, 0x60, + 0x30, 0xf, 0x84, 0xc3, 0x0, 0x3e, 0xb0, 0x2, + 0xcb, 0x88, 0x0, 0xa9, 0x42, 0x40, 0xe3, 0xbf, + 0xda, 0xa0, 0xec, 0x10, 0xe4, 0x20, 0x2b, 0x90, + 0x0, + + /* U+044E "ю" */ + 0xbf, 0x60, 0xc, 0x53, 0xbf, 0xec, 0x70, 0xf, + 0xe5, 0xd6, 0x20, 0x1, 0xc6, 0x8, 0x7, 0x8a, + 0x80, 0xf3, 0xfd, 0x40, 0x74, 0x1, 0xe8, 0x1, + 0xd3, 0x0, 0x2d, 0x82, 0x18, 0x7, 0x28, 0x30, + 0x80, 0x64, 0x30, 0xa0, 0x4, 0x6e, 0x80, 0x18, + 0x1, 0xe4, 0x5, 0x0, 0x9, 0x10, 0x0, 0xc0, + 0x1e, 0xe0, 0x10, 0x4, 0xff, 0x0, 0x7f, 0xf1, + 0x4, 0x0, 0xc0, 0x1e, 0xe0, 0x10, 0xe, 0x30, + 0xc0, 0xf, 0x20, 0x28, 0x7, 0x50, 0x38, 0x80, + 0x64, 0x30, 0xa0, 0xe, 0x62, 0xd, 0x30, 0x2, + 0xd8, 0x21, 0x80, 0x7b, 0xc4, 0xf3, 0xfd, 0x40, + 0x74, 0x1, 0xf1, 0x7b, 0x90, 0x0, 0xe3, 0x4, + 0x0, + + /* U+044F "я" */ + 0x0, 0xc, 0x6f, 0xff, 0x98, 0x7, 0xdc, 0x84, + 0xce, 0x0, 0xd2, 0x22, 0xce, 0xcc, 0x8c, 0x2, + 0x40, 0x63, 0x0, 0xfc, 0xe0, 0x1f, 0xf1, 0x83, + 0x98, 0x7, 0xe9, 0x20, 0xce, 0xcc, 0x8c, 0x2, + 0x1d, 0x81, 0x11, 0x9c, 0x1, 0xe5, 0x10, 0xcf, + 0xf1, 0x80, 0x74, 0x83, 0x18, 0x7, 0xcc, 0x83, + 0x20, 0x1f, 0xc, 0x5, 0x0, 0x7e, 0xb1, 0x54, + 0x0, 0xf9, 0x54, 0x36, 0x1, 0xf8, + + /* U+0451 "ё" */ + 0x0, 0x95, 0xd0, 0x5, 0xdc, 0x20, 0x1d, 0xd1, + 0xc0, 0x71, 0x2, 0x0, 0xff, 0xe3, 0x5f, 0xd0, + 0x17, 0xf8, 0xc0, 0x3f, 0xfa, 0x67, 0x5d, 0xfe, + 0xc6, 0x0, 0xe7, 0xc5, 0x10, 0x1, 0xcd, 0x80, + 0x4b, 0x1, 0x1d, 0xfe, 0xa1, 0x49, 0x0, 0x58, + 0x53, 0x88, 0x1, 0x74, 0x18, 0x50, 0x49, 0x40, + 0x38, 0xc8, 0x13, 0x0, 0xf3, 0x3e, 0x30, 0x22, + 0x0, 0x99, 0xfc, 0x20, 0x19, 0x7f, 0xff, 0x9c, + 0x81, 0x80, 0x3f, 0xda, 0x6, 0x40, 0x1f, 0xca, + 0x21, 0x20, 0x1f, 0x8, 0x2, 0xc1, 0x2c, 0xc0, + 0x23, 0x8f, 0x0, 0x2c, 0x82, 0x67, 0xf7, 0xe3, + 0x88, 0x4, 0xda, 0xc4, 0x2, 0x24, 0x8e, 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 = 122, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 0, .adv_w = 154, .box_w = 3, .box_h = 18, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 19, .adv_w = 177, .box_w = 7, .box_h = 7, .ofs_x = 2, .ofs_y = 11}, + {.bitmap_index = 30, .adv_w = 322, .box_w = 18, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 158, .adv_w = 244, .box_w = 12, .box_h = 23, .ofs_x = 2, .ofs_y = -4}, + {.bitmap_index = 259, .adv_w = 365, .box_w = 21, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 416, .adv_w = 299, .box_w = 17, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 544, .adv_w = 106, .box_w = 3, .box_h = 7, .ofs_x = 2, .ofs_y = 11}, + {.bitmap_index = 551, .adv_w = 150, .box_w = 6, .box_h = 23, .ofs_x = 2, .ofs_y = -4}, + {.bitmap_index = 616, .adv_w = 150, .box_w = 7, .box_h = 23, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 687, .adv_w = 192, .box_w = 12, .box_h = 12, .ofs_x = 0, .ofs_y = 6}, + {.bitmap_index = 744, .adv_w = 322, .box_w = 16, .box_h = 16, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 781, .adv_w = 122, .box_w = 5, .box_h = 6, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 795, .adv_w = 139, .box_w = 7, .box_h = 2, .ofs_x = 1, .ofs_y = 6}, + {.bitmap_index = 800, .adv_w = 122, .box_w = 4, .box_h = 4, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 806, .adv_w = 129, .box_w = 9, .box_h = 21, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 874, .adv_w = 244, .box_w = 13, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 972, .adv_w = 244, .box_w = 12, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1008, .adv_w = 244, .box_w = 12, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1092, .adv_w = 244, .box_w = 13, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1186, .adv_w = 244, .box_w = 13, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1252, .adv_w = 244, .box_w = 13, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1331, .adv_w = 244, .box_w = 13, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1435, .adv_w = 244, .box_w = 13, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1507, .adv_w = 244, .box_w = 13, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1616, .adv_w = 244, .box_w = 13, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1721, .adv_w = 129, .box_w = 4, .box_h = 13, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1738, .adv_w = 129, .box_w = 5, .box_h = 16, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 1764, .adv_w = 322, .box_w = 16, .box_h = 14, .ofs_x = 2, .ofs_y = 1}, + {.bitmap_index = 1849, .adv_w = 322, .box_w = 16, .box_h = 8, .ofs_x = 2, .ofs_y = 4}, + {.bitmap_index = 1879, .adv_w = 322, .box_w = 16, .box_h = 14, .ofs_x = 2, .ofs_y = 1}, + {.bitmap_index = 1964, .adv_w = 204, .box_w = 11, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2031, .adv_w = 384, .box_w = 22, .box_h = 22, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 2234, .adv_w = 263, .box_w = 17, .box_h = 18, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2343, .adv_w = 263, .box_w = 13, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2423, .adv_w = 268, .box_w = 15, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2522, .adv_w = 296, .box_w = 16, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2613, .adv_w = 243, .box_w = 12, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2653, .adv_w = 221, .box_w = 11, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2684, .adv_w = 298, .box_w = 16, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2796, .adv_w = 289, .box_w = 14, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2825, .adv_w = 113, .box_w = 3, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2830, .adv_w = 113, .box_w = 7, .box_h = 23, .ofs_x = -2, .ofs_y = -5}, + {.bitmap_index = 2857, .adv_w = 252, .box_w = 15, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2947, .adv_w = 214, .box_w = 12, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2967, .adv_w = 331, .box_w = 17, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3063, .adv_w = 287, .box_w = 14, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3137, .adv_w = 302, .box_w = 17, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3259, .adv_w = 232, .box_w = 12, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3314, .adv_w = 302, .box_w = 17, .box_h = 21, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 3453, .adv_w = 267, .box_w = 14, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3533, .adv_w = 244, .box_w = 13, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3632, .adv_w = 235, .box_w = 16, .box_h = 18, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 3660, .adv_w = 281, .box_w = 14, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3712, .adv_w = 263, .box_w = 17, .box_h = 18, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3825, .adv_w = 380, .box_w = 23, .box_h = 18, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4003, .adv_w = 263, .box_w = 16, .box_h = 18, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4116, .adv_w = 235, .box_w = 16, .box_h = 18, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 4188, .adv_w = 263, .box_w = 15, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4269, .adv_w = 150, .box_w = 6, .box_h = 22, .ofs_x = 2, .ofs_y = -3}, + {.bitmap_index = 4287, .adv_w = 129, .box_w = 9, .box_h = 21, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 4354, .adv_w = 150, .box_w = 6, .box_h = 22, .ofs_x = 2, .ofs_y = -3}, + {.bitmap_index = 4374, .adv_w = 322, .box_w = 16, .box_h = 7, .ofs_x = 2, .ofs_y = 11}, + {.bitmap_index = 4419, .adv_w = 192, .box_w = 14, .box_h = 2, .ofs_x = -1, .ofs_y = -6}, + {.bitmap_index = 4428, .adv_w = 192, .box_w = 6, .box_h = 5, .ofs_x = 2, .ofs_y = 15}, + {.bitmap_index = 4443, .adv_w = 235, .box_w = 12, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4521, .adv_w = 244, .box_w = 12, .box_h = 19, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 4598, .adv_w = 211, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4660, .adv_w = 244, .box_w = 13, .box_h = 19, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4741, .adv_w = 236, .box_w = 13, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4817, .adv_w = 135, .box_w = 9, .box_h = 19, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4857, .adv_w = 244, .box_w = 13, .box_h = 19, .ofs_x = 1, .ofs_y = -5}, + {.bitmap_index = 4962, .adv_w = 243, .box_w = 12, .box_h = 19, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5007, .adv_w = 107, .box_w = 3, .box_h = 19, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5019, .adv_w = 107, .box_w = 6, .box_h = 24, .ofs_x = -1, .ofs_y = -5}, + {.bitmap_index = 5050, .adv_w = 222, .box_w = 12, .box_h = 19, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5113, .adv_w = 107, .box_w = 3, .box_h = 19, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5118, .adv_w = 374, .box_w = 20, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5185, .adv_w = 243, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5227, .adv_w = 235, .box_w = 13, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5306, .adv_w = 244, .box_w = 12, .box_h = 19, .ofs_x = 2, .ofs_y = -5}, + {.bitmap_index = 5387, .adv_w = 244, .box_w = 13, .box_h = 19, .ofs_x = 1, .ofs_y = -5}, + {.bitmap_index = 5471, .adv_w = 158, .box_w = 8, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5497, .adv_w = 200, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5567, .adv_w = 151, .box_w = 9, .box_h = 18, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5607, .adv_w = 243, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5647, .adv_w = 227, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5727, .adv_w = 314, .box_w = 18, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5846, .adv_w = 227, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5929, .adv_w = 227, .box_w = 14, .box_h = 19, .ofs_x = 0, .ofs_y = -5}, + {.bitmap_index = 6029, .adv_w = 202, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6085, .adv_w = 244, .box_w = 10, .box_h = 23, .ofs_x = 3, .ofs_y = -4}, + {.bitmap_index = 6159, .adv_w = 129, .box_w = 3, .box_h = 25, .ofs_x = 3, .ofs_y = -6}, + {.bitmap_index = 6164, .adv_w = 244, .box_w = 10, .box_h = 23, .ofs_x = 3, .ofs_y = -4}, + {.bitmap_index = 6235, .adv_w = 322, .box_w = 16, .box_h = 6, .ofs_x = 2, .ofs_y = 5}, + {.bitmap_index = 6275, .adv_w = 243, .box_w = 12, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6336, .adv_w = 263, .box_w = 17, .box_h = 18, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6445, .adv_w = 263, .box_w = 13, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6507, .adv_w = 263, .box_w = 13, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6587, .adv_w = 234, .box_w = 12, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6609, .adv_w = 300, .box_w = 17, .box_h = 22, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 6699, .adv_w = 243, .box_w = 12, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6739, .adv_w = 414, .box_w = 26, .box_h = 18, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6907, .adv_w = 246, .box_w = 13, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 7001, .adv_w = 287, .box_w = 14, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 7076, .adv_w = 287, .box_w = 14, .box_h = 23, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 7175, .adv_w = 273, .box_w = 15, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 7267, .adv_w = 289, .box_w = 16, .box_h = 18, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 7343, .adv_w = 331, .box_w = 17, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 7439, .adv_w = 289, .box_w = 14, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 7468, .adv_w = 302, .box_w = 17, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 7590, .adv_w = 289, .box_w = 14, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 7613, .adv_w = 232, .box_w = 12, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 7668, .adv_w = 268, .box_w = 15, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 7767, .adv_w = 235, .box_w = 16, .box_h = 18, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 7795, .adv_w = 234, .box_w = 15, .box_h = 18, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 7897, .adv_w = 331, .box_w = 19, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 8021, .adv_w = 263, .box_w = 16, .box_h = 18, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 8134, .adv_w = 298, .box_w = 16, .box_h = 22, .ofs_x = 2, .ofs_y = -4}, + {.bitmap_index = 8171, .adv_w = 263, .box_w = 13, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 8213, .adv_w = 411, .box_w = 22, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 8253, .adv_w = 420, .box_w = 24, .box_h = 22, .ofs_x = 2, .ofs_y = -4}, + {.bitmap_index = 8306, .adv_w = 320, .box_w = 19, .box_h = 18, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 8386, .adv_w = 339, .box_w = 17, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 8457, .adv_w = 263, .box_w = 13, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 8514, .adv_w = 268, .box_w = 15, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 8619, .adv_w = 415, .box_w = 23, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 8764, .adv_w = 267, .box_w = 14, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 8848, .adv_w = 235, .box_w = 12, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 8926, .adv_w = 237, .box_w = 13, .box_h = 21, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 9038, .adv_w = 226, .box_w = 11, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 9103, .adv_w = 202, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 9120, .adv_w = 266, .box_w = 15, .box_h = 18, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 9191, .adv_w = 236, .box_w = 13, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 9267, .adv_w = 346, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 9383, .adv_w = 204, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 9452, .adv_w = 250, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 9504, .adv_w = 250, .box_w = 12, .box_h = 19, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 9582, .adv_w = 232, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 9644, .adv_w = 245, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 9699, .adv_w = 290, .box_w = 14, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 9769, .adv_w = 251, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 9791, .adv_w = 235, .box_w = 13, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 9870, .adv_w = 251, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 9888, .adv_w = 244, .box_w = 12, .box_h = 19, .ofs_x = 2, .ofs_y = -5}, + {.bitmap_index = 9969, .adv_w = 211, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 10031, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 10054, .adv_w = 227, .box_w = 14, .box_h = 19, .ofs_x = 0, .ofs_y = -5}, + {.bitmap_index = 10154, .adv_w = 328, .box_w = 19, .box_h = 23, .ofs_x = 1, .ofs_y = -5}, + {.bitmap_index = 10285, .adv_w = 227, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 10368, .adv_w = 261, .box_w = 14, .box_h = 18, .ofs_x = 2, .ofs_y = -4}, + {.bitmap_index = 10399, .adv_w = 227, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 10433, .adv_w = 351, .box_w = 18, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 10464, .adv_w = 362, .box_w = 20, .box_h = 18, .ofs_x = 2, .ofs_y = -4}, + {.bitmap_index = 10507, .adv_w = 271, .box_w = 16, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 10564, .adv_w = 303, .box_w = 15, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 10615, .adv_w = 226, .box_w = 11, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 10656, .adv_w = 211, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 10721, .adv_w = 323, .box_w = 17, .box_h = 14, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 10818, .adv_w = 231, .box_w = 12, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 10880, .adv_w = 236, .box_w = 13, .box_h = 20, .ofs_x = 1, .ofs_y = 0} +}; + +/*--------------------- + * CHARACTER MAPPING + *--------------------*/ + + + +/*Collect the unicode lists and glyph_id offsets*/ +static const lv_font_fmt_txt_cmap_t cmaps[] = +{ + { + .range_start = 32, .range_length = 95, .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 = 1025, .range_length = 1, .glyph_id_start = 96, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + }, + { + .range_start = 1040, .range_length = 64, .glyph_id_start = 97, + .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY + }, + { + .range_start = 1105, .range_length = 1, .glyph_id_start = 161, + .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 = 4, + .bpp = 4, + .kern_classes = 0, + .bitmap_format = 1, +#if LVGL_VERSION_MAJOR == 8 + .cache = &cache +#endif +}; + + + +/*----------------- + * PUBLIC FONT + *----------------*/ + +/*Initialize a public general font descriptor*/ +#if LVGL_VERSION_MAJOR >= 8 +const lv_font_t lv_font_ru_24 = { +#else +lv_font_t lv_font_ru_24 = { +#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 = 6, /*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 = 0, + .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 = NULL, +#endif + .user_data = NULL, +}; + + + +#endif /*#if LV_FONT_RU_24*/ + diff --git a/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/lvgl_russian_font_test/lvgl_russian_font_test.ino b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/lvgl_russian_font_test/lvgl_russian_font_test.ino new file mode 100644 index 0000000..2c59f6e --- /dev/null +++ b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/lvgl_russian_font_test/lvgl_russian_font_test.ino @@ -0,0 +1,264 @@ +#include +#include +#include +#include +#include +#include "lv_font_ru.h" + +#define PIN_LCD_CS 12 +#define PIN_LCD_SCLK 38 +#define PIN_LCD_D0 4 +#define PIN_LCD_D1 5 +#define PIN_LCD_D2 6 +#define PIN_LCD_D3 7 +#define PIN_LCD_RST 2 +#define PIN_I2C_SDA 15 +#define PIN_I2C_SCL 14 +#define PIN_TP_INT 11 + +#define DISP_W 480 +#define DISP_H 480 +#define LVGL_TICK_MS 2 +#define TEST_VERSION "v1-ru-font" + +static lv_disp_draw_buf_t gDrawBuf; +static lv_color_t *gBuf1 = nullptr; +static lv_color_t *gBuf2 = nullptr; +static lv_obj_t *gStatusLabel = nullptr; +static lv_obj_t *gTouchLabel = nullptr; +static uint32_t gClickCount = 0; +static bool gTouchActive = false; +static int16_t gLastX = -1; +static int16_t gLastY = -1; + +Arduino_DataBus *gBus = new Arduino_ESP32QSPI( + PIN_LCD_CS, PIN_LCD_SCLK, PIN_LCD_D0, PIN_LCD_D1, PIN_LCD_D2, PIN_LCD_D3); +Arduino_CO5300 *gfx = new Arduino_CO5300( + gBus, PIN_LCD_RST, 0, DISP_W, DISP_H, 0, 0, 0, 0); +TouchDrvCST92xx gTouch; + +static void lvglFlushCb(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *colorP) { + uint32_t w = area->x2 - area->x1 + 1; + uint32_t h = area->y2 - area->y1 + 1; +#if (LV_COLOR_16_SWAP != 0) + gfx->draw16bitBeRGBBitmap(area->x1, area->y1, (uint16_t *)&colorP->full, w, h); +#else + gfx->draw16bitRGBBitmap(area->x1, area->y1, (uint16_t *)&colorP->full, w, h); +#endif + lv_disp_flush_ready(disp); +} + +static void lvglTick(void *arg) { + LV_UNUSED(arg); + lv_tick_inc(LVGL_TICK_MS); +} + +static void updateTouchLabel() { + if (!gTouchLabel) { + return; + } + + char text[96]; + if (gTouchActive) { + snprintf(text, sizeof(text), "Касание: x=%d y=%d", gLastX, gLastY); + } else { + snprintf(text, sizeof(text), "Касание: нет x=%d y=%d", gLastX, gLastY); + } + lv_label_set_text(gTouchLabel, text); +} + +static void lvglTouchRead(lv_indev_drv_t *indevDrv, lv_indev_data_t *data) { + LV_UNUSED(indevDrv); + int16_t x = 0; + int16_t y = 0; + bool touching = gTouch.getPoint(&x, &y, 1) > 0; + + if (touching) { + gTouchActive = true; + gLastX = x; + gLastY = y; + data->state = LV_INDEV_STATE_PR; + data->point.x = x; + data->point.y = y; + } else { + gTouchActive = false; + data->state = LV_INDEV_STATE_REL; + data->point.x = gLastX >= 0 ? gLastX : 0; + data->point.y = gLastY >= 0 ? gLastY : 0; + } + + updateTouchLabel(); +} + +static void buttonEventCb(lv_event_t *event) { + if (lv_event_get_code(event) != LV_EVENT_CLICKED) { + return; + } + + const char *name = (const char *)lv_event_get_user_data(event); + gClickCount++; + + char text[128]; + snprintf(text, sizeof(text), "Нажато: %s (%lu)", name, (unsigned long)gClickCount); + lv_label_set_text(gStatusLabel, text); + Serial.println(text); +} + +static lv_obj_t *makeButton(lv_obj_t *parent, + const char *labelText, + lv_coord_t x, + lv_coord_t y, + lv_coord_t w, + lv_coord_t h, + uint32_t bgColor) { + lv_obj_t *btn = lv_btn_create(parent); + lv_obj_set_size(btn, w, h); + lv_obj_set_pos(btn, x, y); + lv_obj_set_style_radius(btn, 16, 0); + lv_obj_set_style_bg_color(btn, lv_color_hex(bgColor), 0); + lv_obj_set_style_bg_opa(btn, LV_OPA_COVER, 0); + lv_obj_set_style_border_width(btn, 2, 0); + lv_obj_set_style_border_color(btn, lv_color_hex(0x6F8BA4), 0); + lv_obj_set_style_shadow_width(btn, 0, 0); + lv_obj_set_style_pad_all(btn, 4, 0); + lv_obj_add_event_cb(btn, buttonEventCb, LV_EVENT_CLICKED, (void *)labelText); + + lv_obj_t *label = lv_label_create(btn); + lv_label_set_text(label, labelText); + lv_obj_set_width(label, w - 12); + lv_label_set_long_mode(label, LV_LABEL_LONG_WRAP); + lv_obj_set_style_text_align(label, LV_TEXT_ALIGN_CENTER, 0); + lv_obj_set_style_text_color(label, lv_color_hex(0xFFFFFF), 0); + lv_obj_set_style_text_font(label, &lv_font_ru_18, 0); + lv_obj_center(label); + return btn; +} + +static void createUi() { + lv_obj_t *screen = lv_scr_act(); + lv_obj_set_style_bg_color(screen, lv_color_hex(0x08131E), 0); + lv_obj_set_style_bg_opa(screen, LV_OPA_COVER, 0); + lv_obj_set_style_pad_all(screen, 0, 0); + lv_obj_set_scrollbar_mode(screen, LV_SCROLLBAR_MODE_OFF); + + lv_obj_t *title = lv_label_create(screen); + lv_label_set_text(title, "Русский тест LVGL"); + lv_obj_set_style_text_font(title, &lv_font_ru_24, 0); + lv_obj_set_style_text_color(title, lv_color_hex(0xFFFFFF), 0); + lv_obj_align(title, LV_ALIGN_TOP_MID, 0, 10); + + lv_obj_t *version = lv_label_create(screen); + lv_label_set_text(version, "Версия: " TEST_VERSION); + lv_obj_set_style_text_font(version, &lv_font_ru_18, 0); + lv_obj_set_style_text_color(version, lv_color_hex(0xD8E0EA), 0); + lv_obj_align(version, LV_ALIGN_TOP_MID, 0, 42); + + lv_obj_t *hint = lv_label_create(screen); + lv_label_set_text(hint, "Проверка кириллицы, длинных слов, кнопок и нажатий."); + lv_obj_set_width(hint, 436); + lv_label_set_long_mode(hint, LV_LABEL_LONG_WRAP); + lv_obj_set_style_text_font(hint, &lv_font_ru_18, 0); + lv_obj_set_style_text_color(hint, lv_color_hex(0xD8E0EA), 0); + lv_obj_align(hint, LV_ALIGN_TOP_MID, 0, 72); + + makeButton(screen, "Статус", 22, 126, 136, 62, 0x355C7D); + makeButton(screen, "Подключение", 172, 126, 136, 62, 0x2A9D8F); + makeButton(screen, "Кошелёк", 322, 126, 136, 62, 0x457B9D); + + makeButton(screen, "Запросы", 22, 204, 136, 62, 0xE76F51); + makeButton(screen, "Настройки", 172, 204, 136, 62, 0x8D5A97); + makeButton(screen, "Регистрация", 322, 204, 136, 62, 0x6A994E); + + makeButton(screen, "Разрешить", 22, 282, 136, 62, 0xBC6C25); + makeButton(screen, "Отклонить", 172, 282, 136, 62, 0xB56576); + makeButton(screen, "Назад", 322, 282, 136, 62, 0x6C757D); + + makeButton(screen, "Проверка переноса русского текста", 22, 360, 436, 64, 0x1D6F42); + + lv_obj_t *statusPanel = lv_obj_create(screen); + lv_obj_set_size(statusPanel, 436, 24); + lv_obj_set_pos(statusPanel, 22, 428); + lv_obj_set_style_radius(statusPanel, 10, 0); + lv_obj_set_style_bg_color(statusPanel, lv_color_hex(0x162435), 0); + lv_obj_set_style_bg_opa(statusPanel, LV_OPA_COVER, 0); + lv_obj_set_style_border_width(statusPanel, 1, 0); + lv_obj_set_style_border_color(statusPanel, lv_color_hex(0x4D6986), 0); + lv_obj_set_style_pad_all(statusPanel, 2, 0); + + gStatusLabel = lv_label_create(statusPanel); + lv_label_set_text(gStatusLabel, "Нажато: ничего"); + lv_obj_set_style_text_font(gStatusLabel, &lv_font_ru_18, 0); + lv_obj_set_style_text_color(gStatusLabel, lv_color_hex(0xFFFFFF), 0); + lv_obj_center(gStatusLabel); + + lv_obj_t *touchPanel = lv_obj_create(screen); + lv_obj_set_size(touchPanel, 436, 24); + lv_obj_set_pos(touchPanel, 22, 454); + lv_obj_set_style_radius(touchPanel, 10, 0); + lv_obj_set_style_bg_color(touchPanel, lv_color_hex(0x162435), 0); + lv_obj_set_style_bg_opa(touchPanel, LV_OPA_COVER, 0); + lv_obj_set_style_border_width(touchPanel, 1, 0); + lv_obj_set_style_border_color(touchPanel, lv_color_hex(0x4D6986), 0); + lv_obj_set_style_pad_all(touchPanel, 2, 0); + + gTouchLabel = lv_label_create(touchPanel); + lv_label_set_text(gTouchLabel, "Касание: нет x=-1 y=-1"); + lv_obj_set_style_text_font(gTouchLabel, &lv_font_ru_18, 0); + lv_obj_set_style_text_color(gTouchLabel, lv_color_hex(0xD8E0EA), 0); + lv_obj_center(gTouchLabel); +} + +void setup() { + Serial.begin(115200); + Wire.begin(PIN_I2C_SDA, PIN_I2C_SCL); + + gfx->begin(); + gBus->writeC8D8(0x36, 0xA0); + gfx->setBrightness(220); + gfx->fillScreen(0x0000); + + gTouch.setPins(PIN_TP_INT, -1); + gTouch.begin(Wire, CST92XX_SLAVE_ADDRESS, PIN_I2C_SDA, PIN_I2C_SCL); + gTouch.setMaxCoordinates(DISP_W, DISP_H); + gTouch.setSwapXY(true); + gTouch.setMirrorXY(true, false); + + lv_init(); + + uint32_t screenWidth = gfx->width(); + uint32_t screenHeight = gfx->height(); + uint32_t bufPixels = screenWidth * 40; + gBuf1 = (lv_color_t *)heap_caps_malloc(bufPixels * sizeof(lv_color_t), MALLOC_CAP_DMA); + gBuf2 = (lv_color_t *)heap_caps_malloc(bufPixels * sizeof(lv_color_t), MALLOC_CAP_DMA); + + lv_disp_draw_buf_init(&gDrawBuf, gBuf1, gBuf2, bufPixels); + + static lv_disp_drv_t dispDrv; + lv_disp_drv_init(&dispDrv); + dispDrv.hor_res = screenWidth; + dispDrv.ver_res = screenHeight; + dispDrv.flush_cb = lvglFlushCb; + dispDrv.draw_buf = &gDrawBuf; + lv_disp_drv_register(&dispDrv); + + static lv_indev_drv_t indevDrv; + lv_indev_drv_init(&indevDrv); + indevDrv.type = LV_INDEV_TYPE_POINTER; + indevDrv.read_cb = lvglTouchRead; + lv_indev_drv_register(&indevDrv); + + const esp_timer_create_args_t tickArgs = { + .callback = &lvglTick, + .name = "lvgl_tick"}; + esp_timer_handle_t tickTimer = nullptr; + esp_timer_create(&tickArgs, &tickTimer); + esp_timer_start_periodic(tickTimer, LVGL_TICK_MS * 1000); + + createUi(); + Serial.println("Русский LVGL font test ready: " TEST_VERSION); +} + +void loop() { + lv_timer_handler(); + delay(5); +} diff --git a/VERSION.properties b/VERSION.properties index 1cf22bb..d3fcf82 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.141 -server.version=1.2.133 +client.version=1.2.142 +server.version=1.2.134