From d7e8d4e0b62066a66fcbcb23e1f3ceaa1d63be3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E5=90=83=E6=B2=B9=E7=82=B8=E9=B8=A1?= <1425962791@qq.com> Date: Mon, 22 Sep 2025 21:45:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Power_Pico/User/GUI/PageManager.c | 14 +- Power_Pico/User/GUI/PageManager.h | 1 + Power_Pico/User/GUI/font/ui_font_HeiTi32.c | 546 +++++++++++ Power_Pico/User/GUI/font/ui_font_HeiTi48.c | 1006 ++++++++++++++++++++ Power_Pico/User/GUI/screens/ui_mainPage.c | 225 +++++ Power_Pico/User/GUI/screens/ui_mainPage.h | 19 + Power_Pico/User/GUI/ui.c | 27 +- Power_Pico/User/GUI/ui.h | 6 +- 8 files changed, 1831 insertions(+), 13 deletions(-) create mode 100644 Power_Pico/User/GUI/font/ui_font_HeiTi32.c create mode 100644 Power_Pico/User/GUI/font/ui_font_HeiTi48.c create mode 100644 Power_Pico/User/GUI/screens/ui_mainPage.c create mode 100644 Power_Pico/User/GUI/screens/ui_mainPage.h diff --git a/Power_Pico/User/GUI/PageManager.c b/Power_Pico/User/GUI/PageManager.c index 0821079..71fdd74 100644 --- a/Power_Pico/User/GUI/PageManager.c +++ b/Power_Pico/User/GUI/PageManager.c @@ -1,4 +1,4 @@ -#include "PageManager.h" +#include "./PageManager.h" #include // 定义全局实例 @@ -11,6 +11,18 @@ void PageManager_init(void) { memset(&PageManager, 0, sizeof(PageManager)); } +/** + * load init screen + */ +void PageManager_load_init_screen(void) { + if (PageManager.count == 0) return; + + Page_t* initial_page = PageManager.pages[0]; + if (initial_page->init) initial_page->init(); + lv_scr_load(*initial_page->page_obj); + PageManager.current_index = 0; +} + /** * 注册一个新页面 * @param page 页面结构体指针 diff --git a/Power_Pico/User/GUI/PageManager.h b/Power_Pico/User/GUI/PageManager.h index fa5e4b6..610b95d 100644 --- a/Power_Pico/User/GUI/PageManager.h +++ b/Power_Pico/User/GUI/PageManager.h @@ -31,5 +31,6 @@ void PageManager_next(void); void PageManager_prev(void); void PageManager_goto(uint8_t index); Page_t* PageManager_get_current_page(void); +void PageManager_load_init_screen(void); #endif // PAGE_MANAGER_H diff --git a/Power_Pico/User/GUI/font/ui_font_HeiTi32.c b/Power_Pico/User/GUI/font/ui_font_HeiTi32.c new file mode 100644 index 0000000..3e83779 --- /dev/null +++ b/Power_Pico/User/GUI/font/ui_font_HeiTi32.c @@ -0,0 +1,546 @@ +/******************************************************************************* + * Size: 32 px + * Bpp: 4 + * Opts: --bpp 4 --size 32 --font E:/projects/SquareLine_Projects/PowerPico/assets/FangZhengHeiTi-GBK-1.ttf -o E:/projects/SquareLine_Projects/PowerPico/assets\ui_font_HeiTi32.c --format lvgl --symbols 1234567890.muAVW:- --no-compress --no-prefilter + ******************************************************************************/ + +#include "../ui.h" + +#ifndef UI_FONT_HEITI32 +#define UI_FONT_HEITI32 1 +#endif + +#if UI_FONT_HEITI32 + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { + /* U+002D "-" */ + 0x35, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, + 0x1c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf6, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x60, + + /* U+002E "." */ + 0x15, 0x55, 0x4, 0xff, 0xf2, 0x4f, 0xff, 0x24, + 0xff, 0xf2, + + /* U+0030 "0" */ + 0x0, 0x0, 0x3, 0x78, 0x86, 0x10, 0x0, 0x0, + 0x0, 0x2, 0xcf, 0xff, 0xff, 0xf9, 0x0, 0x0, + 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0, + 0x0, 0xef, 0xfc, 0x40, 0x16, 0xef, 0xf9, 0x0, + 0x8, 0xff, 0xd0, 0x0, 0x0, 0x2f, 0xff, 0x20, + 0xe, 0xff, 0x30, 0x0, 0x0, 0x8, 0xff, 0x80, + 0x3f, 0xfd, 0x0, 0x0, 0x0, 0x1, 0xff, 0xd0, + 0x7f, 0xf9, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xf1, + 0x9f, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xf4, + 0xbf, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xf7, + 0xcf, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xf8, + 0xdf, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xf9, + 0xdf, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xf9, + 0xcf, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xf7, + 0xbf, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xf6, + 0x8f, 0xf7, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xf3, + 0x6f, 0xfa, 0x0, 0x0, 0x0, 0x0, 0xef, 0xf0, + 0x1f, 0xfe, 0x0, 0x0, 0x0, 0x2, 0xff, 0xb0, + 0xc, 0xff, 0x50, 0x0, 0x0, 0x9, 0xff, 0x60, + 0x4, 0xff, 0xe1, 0x0, 0x0, 0x3f, 0xfd, 0x0, + 0x0, 0x9f, 0xfd, 0x52, 0x27, 0xff, 0xf4, 0x0, + 0x0, 0x9, 0xff, 0xff, 0xff, 0xff, 0x50, 0x0, + 0x0, 0x0, 0x4a, 0xdf, 0xfd, 0x81, 0x0, 0x0, + + /* U+0031 "1" */ + 0x0, 0x0, 0x0, 0xdf, 0x60, 0x0, 0x0, 0x1f, + 0xf6, 0x0, 0x0, 0x9, 0xff, 0x60, 0x0, 0x6, + 0xff, 0xf6, 0x1, 0x5b, 0xff, 0xff, 0x6e, 0xff, + 0xff, 0xff, 0xf6, 0xef, 0xff, 0xff, 0xff, 0x61, + 0x11, 0x11, 0x8f, 0xf6, 0x0, 0x0, 0x8, 0xff, + 0x60, 0x0, 0x0, 0x8f, 0xf6, 0x0, 0x0, 0x8, + 0xff, 0x60, 0x0, 0x0, 0x8f, 0xf6, 0x0, 0x0, + 0x8, 0xff, 0x60, 0x0, 0x0, 0x8f, 0xf6, 0x0, + 0x0, 0x8, 0xff, 0x60, 0x0, 0x0, 0x8f, 0xf6, + 0x0, 0x0, 0x8, 0xff, 0x60, 0x0, 0x0, 0x8f, + 0xf6, 0x0, 0x0, 0x8, 0xff, 0x60, 0x0, 0x0, + 0x8f, 0xf6, 0x0, 0x0, 0x8, 0xff, 0x60, 0x0, + 0x0, 0x8f, 0xf6, 0x0, 0x0, 0x8, 0xff, 0x60, + + /* U+0032 "2" */ + 0x0, 0x0, 0x6, 0xae, 0xff, 0xc9, 0x30, 0x0, + 0x0, 0x0, 0x3e, 0xff, 0xff, 0xff, 0xff, 0xa0, + 0x0, 0x0, 0x2f, 0xff, 0xfb, 0x9a, 0xdf, 0xff, + 0xb0, 0x0, 0xb, 0xff, 0xc1, 0x0, 0x0, 0x4f, + 0xff, 0x60, 0x2, 0xff, 0xf1, 0x0, 0x0, 0x0, + 0x5f, 0xfd, 0x0, 0x6f, 0xf9, 0x0, 0x0, 0x0, + 0x0, 0xff, 0xf1, 0x8, 0xff, 0x60, 0x0, 0x0, + 0x0, 0xc, 0xff, 0x30, 0x8d, 0xd3, 0x0, 0x0, + 0x0, 0x0, 0xdf, 0xf3, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x3f, 0xff, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1d, 0xff, 0x90, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x3d, 0xff, 0xe1, 0x0, 0x0, 0x0, + 0x0, 0x1, 0xaf, 0xff, 0xd2, 0x0, 0x0, 0x0, + 0x0, 0x8, 0xff, 0xff, 0xa1, 0x0, 0x0, 0x0, + 0x0, 0x5e, 0xff, 0xfb, 0x30, 0x0, 0x0, 0x0, + 0x0, 0xaf, 0xff, 0xc3, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xbf, 0xfe, 0x60, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x8f, 0xfc, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2f, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x8, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xdf, 0xf9, 0x99, 0x99, 0x99, 0x99, + 0x99, 0x92, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x41, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf4, + + /* U+0033 "3" */ + 0x0, 0x0, 0x4, 0x78, 0x87, 0x40, 0x0, 0x0, + 0x0, 0x8, 0xff, 0xff, 0xff, 0xfe, 0x60, 0x0, + 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x0, + 0x6, 0xff, 0xf7, 0x20, 0x14, 0xbf, 0xff, 0x10, + 0xd, 0xff, 0x40, 0x0, 0x0, 0xc, 0xff, 0x70, + 0x2f, 0xfc, 0x0, 0x0, 0x0, 0x5, 0xff, 0xa0, + 0x4f, 0xf7, 0x0, 0x0, 0x0, 0x2, 0xff, 0xb0, + 0x3a, 0xa4, 0x0, 0x0, 0x0, 0x5, 0xff, 0x80, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x14, 0xcf, 0xf9, 0x0, + 0x0, 0x0, 0x0, 0xef, 0xff, 0xff, 0x80, 0x0, + 0x0, 0x0, 0x0, 0xef, 0xff, 0xff, 0xc4, 0x0, + 0x0, 0x0, 0x0, 0x45, 0x69, 0xef, 0xff, 0x60, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xf1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xf7, + 0x12, 0x20, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xfa, + 0xcf, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xfb, + 0xbf, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xf8, + 0x8f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xf4, + 0x2f, 0xff, 0x30, 0x0, 0x0, 0x8, 0xff, 0xd0, + 0xa, 0xff, 0xf8, 0x31, 0x25, 0xbf, 0xff, 0x30, + 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xe3, 0x0, + 0x0, 0x5, 0xad, 0xff, 0xfd, 0xa5, 0x0, 0x0, + + /* U+0034 "4" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xf6, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1e, 0xff, 0x60, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xf6, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, + 0x60, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xdf, + 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xc6, + 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xf2, + 0x6f, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xf7, + 0x6, 0xff, 0x60, 0x0, 0x0, 0x0, 0x1e, 0xfc, + 0x0, 0x6f, 0xf6, 0x0, 0x0, 0x0, 0xa, 0xff, + 0x20, 0x6, 0xff, 0x60, 0x0, 0x0, 0x5, 0xff, + 0x60, 0x0, 0x6f, 0xf6, 0x0, 0x0, 0x2, 0xff, + 0xb0, 0x0, 0x6, 0xff, 0x60, 0x0, 0x0, 0xcf, + 0xf1, 0x0, 0x0, 0x6f, 0xf6, 0x0, 0x0, 0x7f, + 0xf6, 0x0, 0x0, 0x6, 0xff, 0x60, 0x0, 0x2f, + 0xfb, 0x0, 0x0, 0x0, 0x6f, 0xf6, 0x0, 0x4, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xc1, 0x55, 0x55, 0x55, 0x55, 0x59, 0xff, 0x95, + 0x54, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xf6, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, + 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, + 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, + 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x6f, 0xf6, 0x0, 0x0, + + /* U+0035 "5" */ + 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, + 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, + 0x0, 0xdf, 0xeb, 0xbb, 0xbb, 0xbb, 0xbb, 0x10, + 0x0, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x6, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x8, 0xfe, 0x4, 0x8a, 0xa7, 0x30, 0x0, 0x0, + 0xa, 0xfe, 0xcf, 0xff, 0xff, 0xfc, 0x40, 0x0, + 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x0, + 0xe, 0xff, 0xd6, 0x10, 0x27, 0xef, 0xff, 0x30, + 0xf, 0xfb, 0x0, 0x0, 0x0, 0x1d, 0xff, 0xc0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xf5, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xf7, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xf5, + 0xcd, 0xd0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xf2, + 0xbf, 0xf4, 0x0, 0x0, 0x0, 0x4, 0xff, 0xd0, + 0x6f, 0xfd, 0x10, 0x0, 0x0, 0x1d, 0xff, 0x60, + 0xc, 0xff, 0xe7, 0x32, 0x26, 0xef, 0xfa, 0x0, + 0x1, 0xcf, 0xff, 0xff, 0xff, 0xff, 0x90, 0x0, + 0x0, 0x5, 0xad, 0xff, 0xec, 0x82, 0x0, 0x0, + + /* U+0036 "6" */ + 0x0, 0x0, 0x0, 0x35, 0x66, 0x30, 0x0, 0x0, + 0x0, 0x0, 0x6e, 0xff, 0xff, 0xfe, 0x70, 0x0, + 0x0, 0xa, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x0, + 0x0, 0x8f, 0xfe, 0x71, 0x2, 0x8f, 0xff, 0x50, + 0x2, 0xff, 0xe2, 0x0, 0x0, 0x6, 0xff, 0xc0, + 0x9, 0xff, 0x60, 0x0, 0x0, 0x0, 0xef, 0xf0, + 0xe, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x13, 0x30, + 0x3f, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x5f, 0xf6, 0x0, 0x36, 0x75, 0x10, 0x0, 0x0, + 0x8f, 0xf4, 0x4e, 0xff, 0xff, 0xfc, 0x40, 0x0, + 0xaf, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, + 0xbf, 0xff, 0xf9, 0x30, 0x2, 0x9f, 0xff, 0x60, + 0xbf, 0xff, 0x70, 0x0, 0x0, 0x7, 0xff, 0xe0, + 0xbf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xf4, + 0xbf, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xf8, + 0x9f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xf9, + 0x7f, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xf8, + 0x3f, 0xfc, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xf6, + 0xe, 0xff, 0x30, 0x0, 0x0, 0x1, 0xff, 0xf1, + 0x7, 0xff, 0xd1, 0x0, 0x0, 0xb, 0xff, 0x90, + 0x0, 0xcf, 0xff, 0x96, 0x58, 0xdf, 0xfd, 0x0, + 0x0, 0x1b, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x0, + 0x0, 0x0, 0x5a, 0xef, 0xfd, 0xa5, 0x0, 0x0, + + /* U+0037 "7" */ + 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb8, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xf2, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0x40, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xf8, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xc0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0x20, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x6f, 0xf7, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1, 0xef, 0xd0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x9, 0xff, 0x50, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2f, 0xfd, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x9f, 0xf5, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0xff, 0xe0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x8, 0xff, 0x80, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xe, 0xff, 0x20, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x3f, 0xfc, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x9f, 0xf7, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xdf, 0xf3, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x8, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, + + /* U+0038 "8" */ + 0x0, 0x0, 0x5, 0x78, 0x86, 0x30, 0x0, 0x0, + 0x0, 0x8, 0xff, 0xff, 0xff, 0xfd, 0x30, 0x0, + 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x0, + 0x4, 0xff, 0xf8, 0x20, 0x14, 0xcf, 0xfd, 0x0, + 0xa, 0xff, 0x70, 0x0, 0x0, 0xc, 0xff, 0x40, + 0xd, 0xff, 0x0, 0x0, 0x0, 0x5, 0xff, 0x80, + 0xf, 0xfe, 0x0, 0x0, 0x0, 0x3, 0xff, 0x90, + 0xe, 0xff, 0x10, 0x0, 0x0, 0x6, 0xff, 0x70, + 0x9, 0xff, 0x80, 0x0, 0x0, 0xd, 0xff, 0x20, + 0x2, 0xff, 0xf9, 0x20, 0x14, 0xcf, 0xfa, 0x0, + 0x0, 0x3d, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x0, + 0x0, 0x19, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, + 0x3, 0xef, 0xff, 0xb9, 0xac, 0xff, 0xfc, 0x0, + 0xe, 0xff, 0x90, 0x0, 0x0, 0x2c, 0xff, 0xa0, + 0x7f, 0xfb, 0x0, 0x0, 0x0, 0x1, 0xff, 0xf1, + 0xaf, 0xf6, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xf5, + 0xbf, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xf7, + 0xbf, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xf5, + 0x8f, 0xfa, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xf2, + 0x3f, 0xff, 0x40, 0x0, 0x0, 0x6, 0xff, 0xc0, + 0x9, 0xff, 0xf9, 0x41, 0x14, 0x9f, 0xff, 0x30, + 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe4, 0x0, + 0x0, 0x2, 0x8c, 0xef, 0xfe, 0xb6, 0x0, 0x0, + + /* U+0039 "9" */ + 0x0, 0x1, 0x7c, 0xef, 0xec, 0x81, 0x0, 0x0, + 0x0, 0x4e, 0xff, 0xff, 0xff, 0xff, 0x60, 0x0, + 0x2, 0xff, 0xfd, 0x97, 0x8c, 0xff, 0xf5, 0x0, + 0xb, 0xff, 0x90, 0x0, 0x0, 0x5f, 0xfe, 0x10, + 0x2f, 0xfd, 0x0, 0x0, 0x0, 0x8, 0xff, 0x70, + 0x6f, 0xf7, 0x0, 0x0, 0x0, 0x2, 0xff, 0xd0, + 0x8f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf1, + 0x9f, 0xf4, 0x0, 0x0, 0x0, 0x0, 0xef, 0xf4, + 0x8f, 0xf5, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf6, + 0x5f, 0xf9, 0x0, 0x0, 0x0, 0x4, 0xff, 0xf7, + 0x1f, 0xff, 0x20, 0x0, 0x0, 0xc, 0xff, 0xf7, + 0x8, 0xff, 0xf7, 0x20, 0x4, 0xcf, 0xff, 0xf5, + 0x0, 0xcf, 0xff, 0xff, 0xff, 0xfe, 0x9f, 0xf4, + 0x0, 0x7, 0xef, 0xff, 0xff, 0xb1, 0xaf, 0xf2, + 0x0, 0x0, 0x2, 0x45, 0x31, 0x0, 0xef, 0xe0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xb0, + 0x27, 0x73, 0x0, 0x0, 0x0, 0x8, 0xff, 0x60, + 0x3f, 0xf9, 0x0, 0x0, 0x0, 0xe, 0xfe, 0x0, + 0xe, 0xfe, 0x10, 0x0, 0x0, 0x9f, 0xf7, 0x0, + 0x7, 0xff, 0xc3, 0x0, 0x19, 0xff, 0xb0, 0x0, + 0x0, 0x9f, 0xff, 0xfe, 0xff, 0xfb, 0x0, 0x0, + 0x0, 0x4, 0xad, 0xff, 0xea, 0x40, 0x0, 0x0, + + /* U+003A ":" */ + 0x4f, 0xff, 0x24, 0xff, 0xf2, 0x4f, 0xff, 0x21, + 0x55, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x55, 0x50, 0x4f, 0xff, 0x24, 0xff, 0xf2, + 0x4f, 0xff, 0x20, + + /* U+0041 "A" */ + 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xc0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, + 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xdf, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3f, 0xfd, 0xff, 0xd0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0x4e, + 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xef, 0xe0, 0x9f, 0xf9, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x5f, 0xf9, 0x4, 0xff, 0xe0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0x30, 0xf, + 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, + 0xe0, 0x0, 0xaf, 0xfa, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x7f, 0xf8, 0x0, 0x5, 0xff, 0xf0, 0x0, + 0x0, 0x0, 0x0, 0xd, 0xff, 0x30, 0x0, 0xf, + 0xff, 0x60, 0x0, 0x0, 0x0, 0x3, 0xff, 0xd0, + 0x0, 0x0, 0xaf, 0xfb, 0x0, 0x0, 0x0, 0x0, + 0x9f, 0xf8, 0x0, 0x0, 0x5, 0xff, 0xf1, 0x0, + 0x0, 0x0, 0xe, 0xff, 0x20, 0x0, 0x0, 0xf, + 0xff, 0x70, 0x0, 0x0, 0x5, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfd, 0x0, 0x0, 0x0, 0xbf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x0, + 0x0, 0x1f, 0xff, 0xbb, 0xbb, 0xbb, 0xbb, 0xbe, + 0xff, 0x80, 0x0, 0x7, 0xff, 0xb0, 0x0, 0x0, + 0x0, 0x0, 0x7f, 0xfe, 0x0, 0x0, 0xdf, 0xf5, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xf4, 0x0, + 0x3f, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, + 0xff, 0x90, 0x9, 0xff, 0x90, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x6f, 0xff, 0x0, 0xef, 0xf3, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xf5, 0x5f, + 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, + 0xff, 0xb0, + + /* U+0056 "V" */ + 0x3f, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xe, 0xff, 0x90, 0xdf, 0xfa, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x4, 0xff, 0xf3, 0x7, 0xff, 0xf0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xfd, 0x0, + 0x1f, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0xe, + 0xff, 0x70, 0x0, 0xbf, 0xfa, 0x0, 0x0, 0x0, + 0x0, 0x4, 0xff, 0xf1, 0x0, 0x5, 0xff, 0xf0, + 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfb, 0x0, 0x0, + 0xf, 0xff, 0x50, 0x0, 0x0, 0x0, 0xf, 0xff, + 0x60, 0x0, 0x0, 0xaf, 0xfa, 0x0, 0x0, 0x0, + 0x5, 0xff, 0xf0, 0x0, 0x0, 0x4, 0xff, 0xf0, + 0x0, 0x0, 0x0, 0xaf, 0xfa, 0x0, 0x0, 0x0, + 0xe, 0xff, 0x50, 0x0, 0x0, 0xf, 0xff, 0x40, + 0x0, 0x0, 0x0, 0x8f, 0xfa, 0x0, 0x0, 0x5, + 0xff, 0xe0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf0, + 0x0, 0x0, 0xbf, 0xf8, 0x0, 0x0, 0x0, 0x0, + 0xd, 0xff, 0x50, 0x0, 0x1f, 0xff, 0x30, 0x0, + 0x0, 0x0, 0x0, 0x7f, 0xfb, 0x0, 0x6, 0xff, + 0xd0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xf0, + 0x0, 0xcf, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xb, 0xff, 0x50, 0x1f, 0xff, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x5f, 0xfb, 0x7, 0xff, 0xb0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf1, + 0xcf, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xa, 0xff, 0x8f, 0xff, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x4f, 0xff, 0xff, 0xa0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, + 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x8, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2f, 0xff, 0x80, 0x0, 0x0, + 0x0, 0x0, + + /* U+0057 "W" */ + 0x5f, 0xfd, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, + 0xe0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xf7, 0x1f, + 0xff, 0x10, 0x0, 0x0, 0x0, 0xf, 0xff, 0xf2, + 0x0, 0x0, 0x0, 0x1, 0xff, 0xf3, 0xd, 0xff, + 0x50, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xf6, 0x0, + 0x0, 0x0, 0x5, 0xff, 0xf0, 0x9, 0xff, 0x90, + 0x0, 0x0, 0x0, 0x9f, 0xff, 0xfb, 0x0, 0x0, + 0x0, 0x8, 0xff, 0xb0, 0x5, 0xff, 0xc0, 0x0, + 0x0, 0x0, 0xdf, 0xed, 0xff, 0x0, 0x0, 0x0, + 0xc, 0xff, 0x70, 0x1, 0xff, 0xf0, 0x0, 0x0, + 0x2, 0xff, 0xa8, 0xff, 0x40, 0x0, 0x0, 0xf, + 0xff, 0x30, 0x0, 0xcf, 0xf4, 0x0, 0x0, 0x6, + 0xff, 0x64, 0xff, 0x80, 0x0, 0x0, 0x3f, 0xfe, + 0x0, 0x0, 0x8f, 0xf8, 0x0, 0x0, 0xa, 0xff, + 0x10, 0xff, 0xc0, 0x0, 0x0, 0x7f, 0xfa, 0x0, + 0x0, 0x4f, 0xfb, 0x0, 0x0, 0xe, 0xfd, 0x0, + 0xbf, 0xf1, 0x0, 0x0, 0xaf, 0xf6, 0x0, 0x0, + 0xf, 0xff, 0x0, 0x0, 0x3f, 0xf8, 0x0, 0x6f, + 0xf5, 0x0, 0x0, 0xef, 0xf2, 0x0, 0x0, 0xc, + 0xff, 0x30, 0x0, 0x8f, 0xf4, 0x0, 0x2f, 0xf9, + 0x0, 0x2, 0xff, 0xe0, 0x0, 0x0, 0x8, 0xff, + 0x60, 0x0, 0xcf, 0xf0, 0x0, 0xd, 0xfe, 0x0, + 0x5, 0xff, 0x90, 0x0, 0x0, 0x3, 0xff, 0xa0, + 0x0, 0xff, 0xb0, 0x0, 0x9, 0xff, 0x20, 0x9, + 0xff, 0x50, 0x0, 0x0, 0x0, 0xff, 0xe0, 0x5, + 0xff, 0x60, 0x0, 0x4, 0xff, 0x70, 0xd, 0xff, + 0x10, 0x0, 0x0, 0x0, 0xbf, 0xf2, 0x9, 0xff, + 0x20, 0x0, 0x0, 0xff, 0xb0, 0xf, 0xfd, 0x0, + 0x0, 0x0, 0x0, 0x7f, 0xf5, 0xd, 0xfd, 0x0, + 0x0, 0x0, 0xbf, 0xf0, 0x4f, 0xf9, 0x0, 0x0, + 0x0, 0x0, 0x3f, 0xf9, 0x2f, 0xf9, 0x0, 0x0, + 0x0, 0x7f, 0xf4, 0x7f, 0xf5, 0x0, 0x0, 0x0, + 0x0, 0xe, 0xfd, 0x6f, 0xf4, 0x0, 0x0, 0x0, + 0x2f, 0xf8, 0xbf, 0xf1, 0x0, 0x0, 0x0, 0x0, + 0xa, 0xff, 0xcf, 0xf0, 0x0, 0x0, 0x0, 0xe, + 0xfd, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x6, + 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x9, 0xff, + 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, + 0xff, 0x70, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff, + 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, + 0x20, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xfe, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xcf, 0xfc, 0x0, 0x0, + 0x0, + + /* U+006D "m" */ + 0x0, 0x0, 0x0, 0x57, 0x63, 0x0, 0x0, 0x2, + 0x67, 0x50, 0x0, 0xf, 0xfc, 0x7, 0xff, 0xff, + 0xfa, 0x0, 0x1b, 0xff, 0xff, 0xf7, 0x0, 0xff, + 0xc8, 0xff, 0xff, 0xff, 0xfa, 0x2e, 0xff, 0xff, + 0xff, 0xf7, 0xf, 0xff, 0xff, 0x83, 0x26, 0xff, + 0xff, 0xfd, 0x62, 0x4b, 0xff, 0xf1, 0xff, 0xff, + 0x30, 0x0, 0x8, 0xff, 0xfc, 0x0, 0x0, 0xd, + 0xff, 0x6f, 0xff, 0x70, 0x0, 0x0, 0x3f, 0xff, + 0x40, 0x0, 0x0, 0x7f, 0xf8, 0xff, 0xf2, 0x0, + 0x0, 0x2, 0xff, 0xf0, 0x0, 0x0, 0x4, 0xff, + 0x9f, 0xff, 0x0, 0x0, 0x0, 0x2f, 0xfc, 0x0, + 0x0, 0x0, 0x4f, 0xfa, 0xff, 0xe0, 0x0, 0x0, + 0x2, 0xff, 0xc0, 0x0, 0x0, 0x4, 0xff, 0xaf, + 0xfe, 0x0, 0x0, 0x0, 0x2f, 0xfc, 0x0, 0x0, + 0x0, 0x4f, 0xfa, 0xff, 0xe0, 0x0, 0x0, 0x2, + 0xff, 0xc0, 0x0, 0x0, 0x4, 0xff, 0xaf, 0xfe, + 0x0, 0x0, 0x0, 0x2f, 0xfc, 0x0, 0x0, 0x0, + 0x4f, 0xfa, 0xff, 0xe0, 0x0, 0x0, 0x2, 0xff, + 0xc0, 0x0, 0x0, 0x4, 0xff, 0xaf, 0xfe, 0x0, + 0x0, 0x0, 0x2f, 0xfc, 0x0, 0x0, 0x0, 0x4f, + 0xfa, 0xff, 0xe0, 0x0, 0x0, 0x2, 0xff, 0xc0, + 0x0, 0x0, 0x4, 0xff, 0xaf, 0xfe, 0x0, 0x0, + 0x0, 0x2f, 0xfc, 0x0, 0x0, 0x0, 0x4f, 0xfa, + 0xff, 0xe0, 0x0, 0x0, 0x2, 0xff, 0xc0, 0x0, + 0x0, 0x4, 0xff, 0xaf, 0xfe, 0x0, 0x0, 0x0, + 0x2f, 0xfc, 0x0, 0x0, 0x0, 0x4f, 0xfa, + + /* U+0075 "u" */ + 0xef, 0xf0, 0x0, 0x0, 0x0, 0x2f, 0xfa, 0xef, + 0xf0, 0x0, 0x0, 0x0, 0x2f, 0xfa, 0xef, 0xf0, + 0x0, 0x0, 0x0, 0x2f, 0xfa, 0xef, 0xf0, 0x0, + 0x0, 0x0, 0x2f, 0xfa, 0xef, 0xf0, 0x0, 0x0, + 0x0, 0x2f, 0xfa, 0xef, 0xf0, 0x0, 0x0, 0x0, + 0x2f, 0xfa, 0xef, 0xf0, 0x0, 0x0, 0x0, 0x2f, + 0xfa, 0xef, 0xf0, 0x0, 0x0, 0x0, 0x2f, 0xfa, + 0xef, 0xf0, 0x0, 0x0, 0x0, 0x2f, 0xfa, 0xef, + 0xf0, 0x0, 0x0, 0x0, 0x2f, 0xfa, 0xef, 0xf0, + 0x0, 0x0, 0x0, 0x4f, 0xfa, 0xef, 0xf0, 0x0, + 0x0, 0x0, 0x7f, 0xfa, 0xdf, 0xf2, 0x0, 0x0, + 0x0, 0xdf, 0xfa, 0xbf, 0xf9, 0x0, 0x0, 0x8, + 0xff, 0xfa, 0x6f, 0xff, 0x93, 0x14, 0xaf, 0xbf, + 0xfa, 0xb, 0xff, 0xff, 0xff, 0xfb, 0xf, 0xfa, + 0x0, 0x6c, 0xff, 0xeb, 0x50, 0xf, 0xfa +}; + + +/*--------------------- + * 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 = 298, .box_w = 17, .box_h = 3, .ofs_x = 1, .ofs_y = 7}, + {.bitmap_index = 26, .adv_w = 142, .box_w = 5, .box_h = 4, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 36, .adv_w = 284, .box_w = 16, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 220, .adv_w = 284, .box_w = 9, .box_h = 23, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 324, .adv_w = 284, .box_w = 17, .box_h = 22, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 511, .adv_w = 284, .box_w = 16, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 695, .adv_w = 284, .box_w = 17, .box_h = 23, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 891, .adv_w = 284, .box_w = 16, .box_h = 22, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1067, .adv_w = 284, .box_w = 16, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1251, .adv_w = 284, .box_w = 16, .box_h = 22, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1427, .adv_w = 284, .box_w = 16, .box_h = 23, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1611, .adv_w = 284, .box_w = 16, .box_h = 22, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1787, .adv_w = 142, .box_w = 5, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1830, .adv_w = 340, .box_w = 21, .box_h = 23, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2072, .adv_w = 340, .box_w = 21, .box_h = 23, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2314, .adv_w = 482, .box_w = 30, .box_h = 23, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2659, .adv_w = 424, .box_w = 23, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2866, .adv_w = 284, .box_w = 14, .box_h = 17, .ofs_x = 2, .ofs_y = 0} +}; + +/*--------------------- + * CHARACTER MAPPING + *--------------------*/ + +static const uint16_t unicode_list_0[] = { + 0x0, 0x1, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, + 0x9, 0xa, 0xb, 0xc, 0xd, 0x14, 0x29, 0x2a, + 0x40, 0x48 +}; + +/*Collect the unicode lists and glyph_id offsets*/ +static const lv_font_fmt_txt_cmap_t cmaps[] = +{ + { + .range_start = 45, .range_length = 73, .glyph_id_start = 1, + .unicode_list = unicode_list_0, .glyph_id_ofs_list = NULL, .list_length = 18, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_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 = 1, + .bpp = 4, + .kern_classes = 0, + .bitmap_format = 0, +#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 ui_font_HeiTi32 = { +#else +lv_font_t ui_font_HeiTi32 = { +#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 = 23, /*The maximum line height required by the font*/ + .base_line = 0, /*Baseline measured from the bottom of the line*/ +#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0) + .subpx = LV_FONT_SUBPX_NONE, +#endif +#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8 + .underline_position = -6, + .underline_thickness = 2, +#endif + .dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ +#if LV_VERSION_CHECK(8, 2, 0) || LVGL_VERSION_MAJOR >= 9 + .fallback = NULL, +#endif + .user_data = NULL, +}; + + + +#endif /*#if UI_FONT_HEITI32*/ + diff --git a/Power_Pico/User/GUI/font/ui_font_HeiTi48.c b/Power_Pico/User/GUI/font/ui_font_HeiTi48.c new file mode 100644 index 0000000..1903f3b --- /dev/null +++ b/Power_Pico/User/GUI/font/ui_font_HeiTi48.c @@ -0,0 +1,1006 @@ +/******************************************************************************* + * Size: 48 px + * Bpp: 4 + * Opts: --bpp 4 --size 48 --font E:/projects/SquareLine_Projects/PowerPico/assets/FangZhengHeiTi-GBK-1.ttf -o E:/projects/SquareLine_Projects/PowerPico/assets\ui_font_HeiTi48.c --format lvgl --symbols 1234567890.muAVW:- --no-compress --no-prefilter + ******************************************************************************/ + +#include "../ui.h" + +#ifndef UI_FONT_HEITI48 +#define UI_FONT_HEITI48 1 +#endif + +#if UI_FONT_HEITI48 + +/*----------------- + * BITMAPS + *----------------*/ + +/*Store the image of the glyphs*/ +static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { + /* U+002D "-" */ + 0x19, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, + 0x99, 0x99, 0x99, 0x99, 0x90, 0x2f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf1, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x2f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf1, + + /* U+002E "." */ + 0x11, 0x11, 0x10, 0xef, 0xff, 0xf3, 0xef, 0xff, + 0xf3, 0xef, 0xff, 0xf3, 0xef, 0xff, 0xf3, 0xef, + 0xff, 0xf3, + + /* U+0030 "0" */ + 0x0, 0x0, 0x0, 0x0, 0x6a, 0xdf, 0xfe, 0xc8, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, + 0xff, 0xff, 0xff, 0xff, 0xfb, 0x20, 0x0, 0x0, + 0x0, 0x0, 0xb, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xe3, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x0, + 0x0, 0x6, 0xff, 0xff, 0xfa, 0x30, 0x1, 0x6d, + 0xff, 0xff, 0xd0, 0x0, 0x0, 0xe, 0xff, 0xff, + 0x60, 0x0, 0x0, 0x1, 0xcf, 0xff, 0xf6, 0x0, + 0x0, 0x7f, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, + 0x1e, 0xff, 0xfe, 0x0, 0x0, 0xdf, 0xff, 0xe0, + 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0x40, + 0x2, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xef, 0xff, 0xa0, 0x7, 0xff, 0xff, 0x30, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xe0, + 0xa, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5f, 0xff, 0xf2, 0xd, 0xff, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xf5, + 0xf, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xf, 0xff, 0xf8, 0x1f, 0xff, 0xf8, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xfa, + 0x3f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xb, 0xff, 0xfc, 0x4f, 0xff, 0xf6, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xfd, + 0x4f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x9, 0xff, 0xfe, 0x4f, 0xff, 0xf6, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xfe, + 0x4f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x9, 0xff, 0xfd, 0x3f, 0xff, 0xf7, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xfc, + 0x2f, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xb, 0xff, 0xfb, 0xf, 0xff, 0xf9, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xf9, + 0xe, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xf, 0xff, 0xf6, 0xb, 0xff, 0xfd, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xf3, + 0x8, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x6f, 0xff, 0xf0, 0x4, 0xff, 0xff, 0x50, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xb0, + 0x0, 0xef, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0xff, 0xff, 0x60, 0x0, 0x9f, 0xff, 0xf2, + 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0x0, + 0x0, 0x1f, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, + 0x3f, 0xff, 0xf8, 0x0, 0x0, 0x8, 0xff, 0xff, + 0xb0, 0x0, 0x0, 0x3, 0xef, 0xff, 0xe0, 0x0, + 0x0, 0x0, 0xcf, 0xff, 0xfe, 0x84, 0x35, 0xaf, + 0xff, 0xff, 0x30, 0x0, 0x0, 0x0, 0xc, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff, + 0xfc, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x6b, 0xdf, 0xff, 0xc9, 0x30, 0x0, 0x0, 0x0, + + /* U+0031 "1" */ + 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xf1, 0x0, + 0x0, 0x0, 0x0, 0x7, 0xff, 0xf1, 0x0, 0x0, + 0x0, 0x0, 0xd, 0xff, 0xf1, 0x0, 0x0, 0x0, + 0x0, 0x6f, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x4, + 0xff, 0xff, 0xf1, 0x0, 0x0, 0x1, 0x8f, 0xff, + 0xff, 0xf1, 0x13, 0x47, 0xaf, 0xff, 0xff, 0xff, + 0xf1, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, + 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x5f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x0, 0x0, + 0x0, 0x0, 0x4f, 0xff, 0xf1, 0x0, 0x0, 0x0, + 0x0, 0x4f, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, + 0x4f, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x4f, + 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, + 0xf1, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xf1, + 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xf1, 0x0, + 0x0, 0x0, 0x0, 0x4f, 0xff, 0xf1, 0x0, 0x0, + 0x0, 0x0, 0x4f, 0xff, 0xf1, 0x0, 0x0, 0x0, + 0x0, 0x4f, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, + 0x4f, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x4f, + 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, + 0xf1, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xf1, + 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xf1, 0x0, + 0x0, 0x0, 0x0, 0x4f, 0xff, 0xf1, 0x0, 0x0, + 0x0, 0x0, 0x4f, 0xff, 0xf1, 0x0, 0x0, 0x0, + 0x0, 0x4f, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, + 0x4f, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x4f, + 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, + 0xf1, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xf1, + 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xf1, 0x0, + 0x0, 0x0, 0x0, 0x4f, 0xff, 0xf1, + + /* U+0032 "2" */ + 0x0, 0x0, 0x0, 0x2, 0x6a, 0xcd, 0xed, 0xb7, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xaf, + 0xff, 0xff, 0xff, 0xff, 0xfd, 0x50, 0x0, 0x0, + 0x0, 0x0, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfb, 0x10, 0x0, 0x0, 0x5, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0, + 0x0, 0x2f, 0xff, 0xff, 0xe7, 0x20, 0x1, 0x4a, + 0xff, 0xff, 0xf9, 0x0, 0x0, 0x9f, 0xff, 0xfb, + 0x0, 0x0, 0x0, 0x0, 0x3e, 0xff, 0xff, 0x20, + 0x1, 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, + 0x3, 0xff, 0xff, 0x90, 0x5, 0xff, 0xff, 0x40, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xe0, + 0x9, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x6f, 0xff, 0xf2, 0xc, 0xff, 0xfa, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xf4, + 0xd, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2f, 0xff, 0xf5, 0xe, 0xff, 0xf6, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xf5, + 0x2, 0x22, 0x21, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x8f, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xef, 0xff, 0xe0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xb, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xfe, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2c, + 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x19, 0xff, 0xff, 0xff, 0x50, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, + 0xff, 0xe4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x4, 0xdf, 0xff, 0xff, 0xfb, 0x20, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1, 0xaf, 0xff, 0xff, 0xfd, + 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, + 0xff, 0xff, 0xfd, 0x50, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xa, 0xff, 0xff, 0xff, 0x70, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, + 0xff, 0xa1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x9, 0xff, 0xff, 0xe4, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xfc, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xef, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xc, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xf2, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf5, 0x8f, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, + 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf6, 0xaf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, + + /* U+0033 "3" */ + 0x0, 0x0, 0x0, 0x3, 0x8c, 0xdf, 0xfe, 0xda, + 0x72, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4c, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0x20, 0x0, 0x0, 0x0, 0x5f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0x10, 0x0, 0x0, 0x1f, 0xff, 0xff, 0xc5, 0x10, + 0x0, 0x39, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x8, + 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x3, 0xff, + 0xff, 0xf0, 0x0, 0x0, 0xef, 0xff, 0xb0, 0x0, + 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0x40, 0x0, + 0x2f, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xf, 0xff, 0xf7, 0x0, 0x5, 0xff, 0xfe, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0x90, + 0x0, 0x7f, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xb, 0xff, 0xf7, 0x0, 0x7, 0xee, 0xe8, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, + 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x3f, 0xff, 0xf1, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, + 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x4d, 0xff, 0xff, 0x20, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2, 0x99, 0x9b, 0xef, 0xff, + 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x5f, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0xff, + 0xff, 0xfa, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0x48, 0xef, 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xaf, 0xff, + 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xbf, 0xff, 0xf8, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0x3, + 0xbb, 0xbb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xaf, 0xff, 0xf1, 0x3f, 0xff, 0xf1, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xff, + 0x2, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xcf, 0xff, 0xd0, 0xf, 0xff, 0xf8, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, + 0xfa, 0x0, 0xbf, 0xff, 0xe0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x7, 0xff, 0xff, 0x40, 0x6, 0xff, + 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, + 0xff, 0xd0, 0x0, 0xe, 0xff, 0xff, 0x90, 0x0, + 0x0, 0x0, 0x4, 0xef, 0xff, 0xf5, 0x0, 0x0, + 0x5f, 0xff, 0xff, 0xe9, 0x53, 0x34, 0x7c, 0xff, + 0xff, 0xf8, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, + 0x0, 0x0, 0x5e, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xc3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, + 0x9c, 0xef, 0xff, 0xed, 0xa7, 0x20, 0x0, 0x0, + 0x0, + + /* U+0034 "4" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, + 0xee, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, + 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1, 0xef, 0xff, 0xff, 0x10, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xaf, 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2f, 0xff, 0xef, 0xff, 0xf1, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xf3, 0xff, + 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x8, 0xff, 0xf7, 0x1f, 0xff, 0xf1, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xfc, 0x1, + 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0xef, 0xff, 0x10, 0x1f, 0xff, 0xf1, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0x50, + 0x1, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x7f, 0xff, 0xa0, 0x0, 0x1f, 0xff, 0xf1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xe1, + 0x0, 0x1, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, + 0x0, 0xd, 0xff, 0xf4, 0x0, 0x0, 0x1f, 0xff, + 0xf1, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xf9, + 0x0, 0x0, 0x1, 0xff, 0xff, 0x10, 0x0, 0x0, + 0x0, 0x5, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x1f, + 0xff, 0xf1, 0x0, 0x0, 0x0, 0x1, 0xef, 0xff, + 0x30, 0x0, 0x0, 0x1, 0xff, 0xff, 0x10, 0x0, + 0x0, 0x0, 0xcf, 0xff, 0x70, 0x0, 0x0, 0x0, + 0x1f, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x7f, 0xff, + 0xc0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0x10, + 0x0, 0x0, 0x3f, 0xff, 0xf2, 0x0, 0x0, 0x0, + 0x0, 0x1f, 0xff, 0xf1, 0x0, 0x0, 0xc, 0xff, + 0xf6, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, + 0x10, 0x0, 0x0, 0xef, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2e, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf2, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x28, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, + 0xff, 0xff, 0x99, 0x99, 0x91, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xf1, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xf1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, + 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0xff, 0xff, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, + 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0x10, 0x0, + 0x0, + + /* U+0035 "5" */ + 0x0, 0x0, 0x12, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x21, 0x0, 0x0, 0x0, 0xdf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0, + 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfb, 0x0, 0x0, 0x1, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0, + 0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfb, 0x0, 0x0, 0x6, 0xff, 0xf5, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x8, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xf1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xc, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xc0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xf, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0x70, + 0x0, 0x1, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5f, 0xff, 0x50, 0x5b, 0xff, 0xff, 0xd9, + 0x40, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0x7e, + 0xff, 0xff, 0xff, 0xff, 0xfe, 0x60, 0x0, 0x0, + 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, 0x10, 0x0, 0x0, 0xbf, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd1, 0x0, + 0x0, 0xdf, 0xff, 0xff, 0xa5, 0x20, 0x14, 0x9f, + 0xff, 0xff, 0xfb, 0x0, 0x0, 0xff, 0xff, 0xd3, + 0x0, 0x0, 0x0, 0x1, 0xaf, 0xff, 0xff, 0x40, + 0x1, 0xff, 0xfc, 0x10, 0x0, 0x0, 0x0, 0x0, + 0xa, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, 0xf1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x7f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xf8, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xf, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xfa, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2f, 0xff, 0xf7, 0x5d, 0xdd, 0xb0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xf5, + 0x4f, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xaf, 0xff, 0xf0, 0xf, 0xff, 0xf8, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0xa0, + 0xa, 0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, + 0xb, 0xff, 0xff, 0x30, 0x3, 0xff, 0xff, 0xe4, + 0x0, 0x0, 0x0, 0x1, 0xaf, 0xff, 0xf9, 0x0, + 0x0, 0x8f, 0xff, 0xff, 0xd8, 0x53, 0x35, 0x9e, + 0xff, 0xff, 0xc0, 0x0, 0x0, 0x9, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x10, 0x0, + 0x0, 0x0, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfd, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x48, + 0xce, 0xff, 0xed, 0xb8, 0x40, 0x0, 0x0, 0x0, + + /* U+0036 "6" */ + 0x0, 0x0, 0x0, 0x0, 0x3, 0x7a, 0xbb, 0xa9, + 0x51, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, + 0xdf, 0xff, 0xff, 0xff, 0xff, 0xa1, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0x40, 0x0, 0x0, 0x0, 0xc, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x0, + 0x0, 0x0, 0xaf, 0xff, 0xff, 0x93, 0x10, 0x26, + 0xdf, 0xff, 0xfc, 0x0, 0x0, 0x4, 0xff, 0xff, + 0xd2, 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0x40, + 0x0, 0xd, 0xff, 0xfe, 0x10, 0x0, 0x0, 0x0, + 0x1, 0xef, 0xff, 0x90, 0x0, 0x4f, 0xff, 0xf5, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xe0, + 0x0, 0xaf, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2f, 0xff, 0xf1, 0x0, 0xff, 0xff, 0x60, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x33, 0x30, + 0x3, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xfd, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xa, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xf7, 0x0, + 0x16, 0xbd, 0xef, 0xca, 0x61, 0x0, 0x0, 0x0, + 0xe, 0xff, 0xf5, 0x6, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xa2, 0x0, 0x0, 0xf, 0xff, 0xf4, 0x8f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0x0, + 0xf, 0xff, 0xf8, 0xff, 0xff, 0xfd, 0xcd, 0xff, + 0xff, 0xff, 0xf6, 0x0, 0x1f, 0xff, 0xff, 0xff, + 0xc5, 0x0, 0x0, 0x4, 0xbf, 0xff, 0xff, 0x30, + 0x1f, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, + 0x9, 0xff, 0xff, 0xb0, 0x1f, 0xff, 0xff, 0xd0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xf3, + 0x1f, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x4f, 0xff, 0xf7, 0xf, 0xff, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xfb, + 0xf, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xb, 0xff, 0xfd, 0xd, 0xff, 0xfc, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xfe, + 0xb, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xa, 0xff, 0xfd, 0x7, 0xff, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xfb, + 0x3, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xf, 0xff, 0xf8, 0x0, 0xef, 0xff, 0xa0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf3, + 0x0, 0x7f, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, + 0x1, 0xef, 0xff, 0xc0, 0x0, 0xe, 0xff, 0xfe, + 0x40, 0x0, 0x0, 0x0, 0x1c, 0xff, 0xff, 0x40, + 0x0, 0x6, 0xff, 0xff, 0xfb, 0x62, 0x12, 0x38, + 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x8f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x0, + 0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x29, + 0xff, 0xff, 0xff, 0xff, 0xfa, 0x30, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0x67, 0x76, 0x52, + 0x0, 0x0, 0x0, 0x0, + + /* U+0037 "7" */ + 0x2, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x22, 0x5, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf2, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x25, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf2, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, + 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff, 0x90, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xaf, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xe1, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2f, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xf9, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x7, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xff, 0x40, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xaf, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xf1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xd, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xfe, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xef, 0xff, 0x70, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, + 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xe, 0xff, 0xf8, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, + 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xcf, 0xff, 0xa0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, + 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x9, 0xff, 0xfe, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xf3, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xa, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xa0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3f, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, + 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xcf, 0xff, 0xd0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, + 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2, 0xff, 0xff, 0x60, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, + 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, + + /* U+0038 "8" */ + 0x0, 0x0, 0x0, 0x4, 0x9c, 0xef, 0xfe, 0xda, + 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xdf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 0x0, 0x0, + 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfb, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x0, + 0x0, 0xd, 0xff, 0xff, 0xb4, 0x10, 0x1, 0x49, + 0xff, 0xff, 0xf4, 0x0, 0x0, 0x4f, 0xff, 0xf8, + 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xfb, 0x0, + 0x0, 0x9f, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, + 0x6, 0xff, 0xff, 0x10, 0x0, 0xdf, 0xff, 0x80, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, 0x40, + 0x0, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xbf, 0xff, 0x60, 0x0, 0xff, 0xff, 0x60, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0x60, + 0x0, 0xdf, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xff, 0xff, 0x30, 0x0, 0xaf, 0xff, 0xe0, + 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0x0, + 0x0, 0x3f, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, + 0x3f, 0xff, 0xf9, 0x0, 0x0, 0x9, 0xff, 0xff, + 0xd6, 0x10, 0x0, 0x39, 0xff, 0xff, 0xe1, 0x0, + 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0x20, 0x0, 0x0, 0x0, 0x4, 0xef, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xb1, 0x0, 0x0, + 0x0, 0x0, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf9, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd1, 0x0, + 0x0, 0x6f, 0xff, 0xff, 0xb5, 0x20, 0x1, 0x37, + 0xef, 0xff, 0xfd, 0x0, 0x1, 0xff, 0xff, 0xf4, + 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0x90, + 0x8, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xcf, 0xff, 0xf1, 0xd, 0xff, 0xfd, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xf6, + 0xf, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xf, 0xff, 0xf9, 0x1f, 0xff, 0xf6, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xfb, + 0x1f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xc, 0xff, 0xfa, 0xf, 0xff, 0xf8, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xf8, + 0xf, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1f, 0xff, 0xf5, 0xb, 0xff, 0xff, 0x20, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf1, + 0x6, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0xef, 0xff, 0xb0, 0x0, 0xdf, 0xff, 0xfb, + 0x10, 0x0, 0x0, 0x0, 0x2d, 0xff, 0xff, 0x30, + 0x0, 0x3f, 0xff, 0xff, 0xfa, 0x64, 0x34, 0x6a, + 0xff, 0xff, 0xf7, 0x0, 0x0, 0x3, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0, + 0x0, 0x0, 0x19, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xc4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, + 0x9c, 0xef, 0xfe, 0xdb, 0x83, 0x0, 0x0, 0x0, + + /* U+0039 "9" */ + 0x0, 0x0, 0x0, 0x49, 0xce, 0xff, 0xdc, 0x72, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xdf, 0xff, + 0xff, 0xff, 0xff, 0xfb, 0x20, 0x0, 0x0, 0x0, + 0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x40, 0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xec, + 0xce, 0xff, 0xff, 0xff, 0x40, 0x0, 0x2, 0xff, + 0xff, 0xf8, 0x10, 0x0, 0x2, 0x9f, 0xff, 0xfe, + 0x10, 0x0, 0xaf, 0xff, 0xf3, 0x0, 0x0, 0x0, + 0x0, 0x4f, 0xff, 0xf9, 0x0, 0x1f, 0xff, 0xf7, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf1, + 0x5, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xff, 0xff, 0x60, 0x9f, 0xff, 0xb0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xfc, 0xb, + 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x7f, 0xff, 0xf0, 0xdf, 0xff, 0x60, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0x3e, 0xff, + 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, + 0xff, 0xf6, 0xdf, 0xff, 0x70, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x7, 0xff, 0xff, 0x8b, 0xff, 0xf9, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, + 0xf9, 0x8f, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xe, 0xff, 0xff, 0xa4, 0xff, 0xff, 0x40, + 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0xfb, + 0xe, 0xff, 0xfe, 0x20, 0x0, 0x0, 0x0, 0x1, + 0xef, 0xff, 0xff, 0xa0, 0x6f, 0xff, 0xfe, 0x60, + 0x0, 0x0, 0x4, 0xef, 0xff, 0xff, 0xf9, 0x0, + 0xbf, 0xff, 0xff, 0xfb, 0xa9, 0xae, 0xff, 0xfe, + 0xcf, 0xff, 0x80, 0x1, 0xcf, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x4c, 0xff, 0xf6, 0x0, 0x0, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x30, 0xef, + 0xff, 0x40, 0x0, 0x0, 0x16, 0xad, 0xef, 0xed, + 0xa5, 0x0, 0x1f, 0xff, 0xf2, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xfe, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x9f, 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xf6, 0x4, + 0x88, 0x85, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, + 0xff, 0xff, 0x20, 0x6f, 0xff, 0xb0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xaf, 0xff, 0xc0, 0x4, 0xff, + 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, + 0xf5, 0x0, 0xe, 0xff, 0xf6, 0x0, 0x0, 0x0, + 0x0, 0xd, 0xff, 0xfc, 0x0, 0x0, 0x8f, 0xff, + 0xf2, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0x30, + 0x0, 0x1, 0xef, 0xff, 0xf7, 0x10, 0x0, 0x4c, + 0xff, 0xff, 0x60, 0x0, 0x0, 0x3, 0xef, 0xff, + 0xff, 0xed, 0xff, 0xff, 0xff, 0x60, 0x0, 0x0, + 0x0, 0x1, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x28, 0xbe, + 0xff, 0xfd, 0x94, 0x0, 0x0, 0x0, 0x0, + + /* U+003A ":" */ + 0xef, 0xff, 0xf3, 0xef, 0xff, 0xf3, 0xef, 0xff, + 0xf3, 0xef, 0xff, 0xf3, 0xef, 0xff, 0xf3, 0x11, + 0x11, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x11, 0x11, 0x10, 0xef, 0xff, 0xf3, 0xef, + 0xff, 0xf3, 0xef, 0xff, 0xf3, 0xef, 0xff, 0xf3, + 0xef, 0xff, 0xf3, + + /* U+0041 "A" */ + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, + 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, + 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, + 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, + 0xff, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, + 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xfb, + 0xbf, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xf6, + 0x5f, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xf0, + 0xf, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xa0, + 0xa, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, 0x40, + 0x5, 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xfe, 0x0, + 0x0, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xf8, 0x0, + 0x0, 0xaf, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, 0xf2, 0x0, + 0x0, 0x5f, 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xd0, 0x0, + 0x0, 0xf, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff, 0x70, 0x0, + 0x0, 0xa, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0x10, 0x0, + 0x0, 0x4, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x9, 0xff, 0xfb, 0x0, 0x0, + 0x0, 0x0, 0xef, 0xff, 0xe0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xf, 0xff, 0xf5, 0x0, 0x0, + 0x0, 0x0, 0x9f, 0xff, 0xf4, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x5f, 0xff, 0xf0, 0x0, 0x0, + 0x0, 0x0, 0x4f, 0xff, 0xfa, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xbf, 0xff, 0xb2, 0x22, 0x22, + 0x22, 0x22, 0x2f, 0xff, 0xff, 0x10, 0x0, 0x0, + 0x0, 0x0, 0x1, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x0, 0x0, + 0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0, + 0x0, 0x0, 0xd, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x0, 0x0, + 0x0, 0x0, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x0, 0x0, + 0x0, 0x0, 0xaf, 0xff, 0xd0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xe, 0xff, 0xfd, 0x0, 0x0, + 0x0, 0x0, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x9, 0xff, 0xff, 0x30, 0x0, + 0x0, 0x6, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0x90, 0x0, + 0x0, 0xc, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, 0xe0, 0x0, + 0x0, 0x2f, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xf4, 0x0, + 0x0, 0x8f, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xfa, 0x0, + 0x0, 0xef, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xff, 0x10, + 0x4, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xff, 0x60, + 0xa, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xc0, + 0x1f, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, 0xf2, + + /* U+0056 "V" */ + 0xd, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xff, 0xe0, + 0x8, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0x90, + 0x2, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0x30, + 0x0, 0xcf, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xfd, 0x0, + 0x0, 0x6f, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xf7, 0x0, + 0x0, 0x1f, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xf1, 0x0, + 0x0, 0xa, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0xb0, 0x0, + 0x0, 0x4, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0x50, 0x0, + 0x0, 0x0, 0xef, 0xff, 0xf0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xf, 0xff, 0xff, 0x0, 0x0, + 0x0, 0x0, 0x8f, 0xff, 0xf5, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x5f, 0xff, 0xf9, 0x0, 0x0, + 0x0, 0x0, 0x2f, 0xff, 0xfa, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xaf, 0xff, 0xf3, 0x0, 0x0, + 0x0, 0x0, 0xd, 0xff, 0xff, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xff, 0xff, 0xd0, 0x0, 0x0, + 0x0, 0x0, 0x7, 0xff, 0xff, 0x50, 0x0, 0x0, + 0x0, 0x0, 0x5, 0xff, 0xff, 0x80, 0x0, 0x0, + 0x0, 0x0, 0x1, 0xff, 0xff, 0xa0, 0x0, 0x0, + 0x0, 0x0, 0xb, 0xff, 0xff, 0x20, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xbf, 0xff, 0xf0, 0x0, 0x0, + 0x0, 0x0, 0xf, 0xff, 0xfc, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x5f, 0xff, 0xf5, 0x0, 0x0, + 0x0, 0x0, 0x5f, 0xff, 0xf6, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xe, 0xff, 0xfa, 0x0, 0x0, + 0x0, 0x0, 0xbf, 0xff, 0xf0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x9, 0xff, 0xff, 0x0, 0x0, + 0x0, 0x1, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3, 0xff, 0xff, 0x50, 0x0, + 0x0, 0x6, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xa0, 0x0, + 0x0, 0xb, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xf0, 0x0, + 0x0, 0x1f, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x2f, 0xff, 0xf5, 0x0, + 0x0, 0x6f, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xc, 0xff, 0xfa, 0x0, + 0x0, 0xbf, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0x0, + 0x1, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x50, + 0x6, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xa0, + 0xb, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xf0, + 0x1f, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xf4, + 0x6f, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xfa, + 0xcf, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, + 0xff, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, + 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, + 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, + 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, + 0xff, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + + /* U+0057 "W" */ + 0x1f, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xb, 0xff, 0xff, 0x40, 0xdf, + 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x5f, 0xff, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xff, 0xff, 0xf0, 0x9, 0xff, 0xff, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, + 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3f, 0xff, 0xfc, 0x0, 0x5f, 0xff, 0xf7, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, 0xff, + 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, + 0xff, 0x80, 0x1, 0xff, 0xff, 0xb0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, 0x50, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xf3, + 0x0, 0xc, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x7, 0xff, 0xfc, 0xff, 0xfa, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xe, 0xff, 0xff, 0x0, 0x0, + 0x8f, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xbf, 0xff, 0x3f, 0xff, 0xe0, 0x0, 0x0, 0x0, + 0x0, 0x1, 0xff, 0xff, 0xb0, 0x0, 0x4, 0xff, + 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, + 0xe0, 0xbf, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, + 0x5f, 0xff, 0xf7, 0x0, 0x0, 0xf, 0xff, 0xfa, + 0x0, 0x0, 0x0, 0x0, 0x4, 0xff, 0xfa, 0x7, + 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, + 0xff, 0x20, 0x0, 0x0, 0xbf, 0xff, 0xe0, 0x0, + 0x0, 0x0, 0x0, 0x9f, 0xff, 0x50, 0x2f, 0xff, + 0xc0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xe0, + 0x0, 0x0, 0x7, 0xff, 0xff, 0x10, 0x0, 0x0, + 0x0, 0xd, 0xff, 0xf1, 0x0, 0xef, 0xff, 0x0, + 0x0, 0x0, 0x0, 0xf, 0xff, 0xfa, 0x0, 0x0, + 0x0, 0x3f, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x2, + 0xff, 0xfc, 0x0, 0xa, 0xff, 0xf5, 0x0, 0x0, + 0x0, 0x4, 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, + 0xef, 0xff, 0x90, 0x0, 0x0, 0x0, 0x6f, 0xff, + 0x80, 0x0, 0x5f, 0xff, 0x90, 0x0, 0x0, 0x0, + 0x8f, 0xff, 0xf2, 0x0, 0x0, 0x0, 0xa, 0xff, + 0xfd, 0x0, 0x0, 0x0, 0xb, 0xff, 0xf4, 0x0, + 0x1, 0xff, 0xfd, 0x0, 0x0, 0x0, 0xb, 0xff, + 0xfd, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xf1, + 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0xc, + 0xff, 0xf2, 0x0, 0x0, 0x0, 0xff, 0xff, 0x90, + 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0x40, 0x0, + 0x0, 0x3f, 0xff, 0xb0, 0x0, 0x0, 0x8f, 0xff, + 0x60, 0x0, 0x0, 0x3f, 0xff, 0xf5, 0x0, 0x0, + 0x0, 0x0, 0xe, 0xff, 0xf8, 0x0, 0x0, 0x8, + 0xff, 0xf6, 0x0, 0x0, 0x4, 0xff, 0xfb, 0x0, + 0x0, 0x6, 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, + 0x0, 0x9f, 0xff, 0xc0, 0x0, 0x0, 0xcf, 0xff, + 0x20, 0x0, 0x0, 0xf, 0xff, 0xf0, 0x0, 0x0, + 0xaf, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x5, + 0xff, 0xff, 0x0, 0x0, 0x1f, 0xff, 0xe0, 0x0, + 0x0, 0x0, 0xbf, 0xff, 0x40, 0x0, 0xe, 0xff, + 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xff, + 0xf3, 0x0, 0x5, 0xff, 0xf9, 0x0, 0x0, 0x0, + 0x6, 0xff, 0xf8, 0x0, 0x1, 0xff, 0xff, 0x40, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xff, 0x70, + 0x0, 0xaf, 0xff, 0x50, 0x0, 0x0, 0x0, 0x2f, + 0xff, 0xd0, 0x0, 0x5f, 0xff, 0xf0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x8, 0xff, 0xfb, 0x0, 0xe, + 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, + 0x10, 0x9, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x4f, 0xff, 0xf0, 0x2, 0xff, 0xfc, + 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xf5, 0x0, + 0xcf, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xff, 0xff, 0x30, 0x7f, 0xff, 0x80, 0x0, + 0x0, 0x0, 0x0, 0x5f, 0xff, 0xa0, 0xf, 0xff, + 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, + 0xff, 0xf6, 0xb, 0xff, 0xf3, 0x0, 0x0, 0x0, + 0x0, 0x1, 0xff, 0xfe, 0x4, 0xff, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, + 0xa0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xc, 0xff, 0xf3, 0x7f, 0xff, 0xa0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xfe, 0x4f, + 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, + 0xff, 0x7b, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xf, 0xff, 0xfc, 0xff, 0xf6, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xfc, + 0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0x20, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xff, 0xff, + 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x7, 0xff, 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xfa, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2f, + 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x6, 0xff, 0xff, 0xff, 0x50, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, + 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2f, 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xf0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, + 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x6f, 0xff, 0xfc, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xff, + 0x90, 0x0, 0x0, 0x0, 0x0, + + /* U+006D "m" */ + 0x0, 0x0, 0x0, 0x0, 0x6b, 0xef, 0xec, 0x60, + 0x0, 0x0, 0x0, 0x39, 0xdf, 0xec, 0x83, 0x0, + 0x0, 0xff, 0xff, 0x20, 0x4e, 0xff, 0xff, 0xff, + 0xfe, 0x30, 0x0, 0x1b, 0xff, 0xff, 0xff, 0xff, + 0xa0, 0x0, 0xff, 0xff, 0x26, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf2, 0x3, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xfd, 0x0, 0xff, 0xff, 0x6f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfd, 0x2e, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x90, 0xff, 0xff, 0xff, 0xff, + 0xb6, 0x33, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xa4, + 0x0, 0x29, 0xff, 0xff, 0xf2, 0xff, 0xff, 0xff, + 0xd3, 0x0, 0x0, 0x2, 0xff, 0xff, 0xff, 0xf4, + 0x0, 0x0, 0x0, 0x8f, 0xff, 0xf7, 0xff, 0xff, + 0xfe, 0x10, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, + 0x50, 0x0, 0x0, 0x0, 0xe, 0xff, 0xfb, 0xff, + 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, + 0xfd, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xfd, + 0xff, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x3f, + 0xff, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, + 0xfe, 0xff, 0xff, 0x90, 0x0, 0x0, 0x0, 0x0, + 0x3f, 0xff, 0xf4, 0x0, 0x0, 0x0, 0x0, 0x6, + 0xff, 0xff, 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, + 0x0, 0x3f, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, + 0x6, 0xff, 0xff, 0xff, 0xff, 0x50, 0x0, 0x0, + 0x0, 0x0, 0x3f, 0xff, 0xf2, 0x0, 0x0, 0x0, + 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, 0x50, 0x0, + 0x0, 0x0, 0x0, 0x3f, 0xff, 0xf2, 0x0, 0x0, + 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, 0x50, + 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xf2, 0x0, + 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, + 0x50, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xf2, + 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, + 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, + 0xf2, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, + 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x3f, + 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, + 0xff, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, + 0x3f, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x6, + 0xff, 0xff, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, + 0x0, 0x3f, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, + 0x6, 0xff, 0xff, 0xff, 0xff, 0x50, 0x0, 0x0, + 0x0, 0x0, 0x3f, 0xff, 0xf2, 0x0, 0x0, 0x0, + 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, 0x50, 0x0, + 0x0, 0x0, 0x0, 0x3f, 0xff, 0xf2, 0x0, 0x0, + 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, 0x50, + 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xf2, 0x0, + 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, + 0x50, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xf2, + 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, + 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, + 0xf2, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, + 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, 0x3f, + 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, + 0xff, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, 0x0, + 0x3f, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x6, + 0xff, 0xff, + + /* U+0075 "u" */ + 0xdf, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xbf, 0xff, 0x7d, 0xff, 0xf8, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xb, 0xff, 0xf7, 0xdf, 0xff, 0x80, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0x7d, + 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, + 0xff, 0xf7, 0xdf, 0xff, 0x80, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xbf, 0xff, 0x7d, 0xff, 0xf8, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xf7, 0xdf, + 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, + 0xff, 0x7d, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xb, 0xff, 0xf7, 0xdf, 0xff, 0x80, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0x7d, 0xff, + 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, + 0xf7, 0xdf, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, + 0x0, 0xbf, 0xff, 0x7d, 0xff, 0xf8, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xb, 0xff, 0xf7, 0xdf, 0xff, + 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, + 0x7d, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xb, 0xff, 0xf7, 0xdf, 0xff, 0x80, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xcf, 0xff, 0x7d, 0xff, 0xf8, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xf7, + 0xdf, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0x2, + 0xff, 0xff, 0x7c, 0xff, 0xf9, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x7f, 0xff, 0xf7, 0xcf, 0xff, 0xc0, + 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0x7a, + 0xff, 0xff, 0x20, 0x0, 0x0, 0x0, 0x8, 0xff, + 0xff, 0xf7, 0x7f, 0xff, 0xfc, 0x0, 0x0, 0x0, + 0x8, 0xff, 0xff, 0xff, 0x71, 0xff, 0xff, 0xfe, + 0x74, 0x34, 0x8d, 0xff, 0xd8, 0xff, 0xf7, 0x6, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd1, 0x8f, + 0xff, 0x70, 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xa1, 0x8, 0xff, 0xf7, 0x0, 0x1, 0x7b, 0xef, + 0xfe, 0xc8, 0x20, 0x0, 0x8f, 0xff, 0x70 +}; + + +/*--------------------- + * GLYPH DESCRIPTION + *--------------------*/ + +static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { + {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, + {.bitmap_index = 0, .adv_w = 447, .box_w = 26, .box_h = 4, .ofs_x = 1, .ofs_y = 10}, + {.bitmap_index = 52, .adv_w = 213, .box_w = 6, .box_h = 6, .ofs_x = 4, .ofs_y = 0}, + {.bitmap_index = 70, .adv_w = 426, .box_w = 24, .box_h = 34, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 478, .adv_w = 426, .box_w = 14, .box_h = 34, .ofs_x = 4, .ofs_y = 0}, + {.bitmap_index = 716, .adv_w = 426, .box_w = 24, .box_h = 34, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1124, .adv_w = 426, .box_w = 25, .box_h = 34, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1549, .adv_w = 426, .box_w = 25, .box_h = 34, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1974, .adv_w = 426, .box_w = 24, .box_h = 34, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2382, .adv_w = 426, .box_w = 24, .box_h = 35, .ofs_x = 1, .ofs_y = -1}, + {.bitmap_index = 2802, .adv_w = 426, .box_w = 25, .box_h = 34, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3227, .adv_w = 426, .box_w = 24, .box_h = 34, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3635, .adv_w = 426, .box_w = 23, .box_h = 34, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 4026, .adv_w = 213, .box_w = 6, .box_h = 25, .ofs_x = 4, .ofs_y = 0}, + {.bitmap_index = 4101, .adv_w = 510, .box_w = 32, .box_h = 34, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4645, .adv_w = 510, .box_w = 32, .box_h = 34, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5189, .adv_w = 723, .box_w = 45, .box_h = 34, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5954, .adv_w = 636, .box_w = 34, .box_h = 26, .ofs_x = 3, .ofs_y = 0}, + {.bitmap_index = 6396, .adv_w = 426, .box_w = 21, .box_h = 25, .ofs_x = 3, .ofs_y = 0} +}; + +/*--------------------- + * CHARACTER MAPPING + *--------------------*/ + +static const uint16_t unicode_list_0[] = { + 0x0, 0x1, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, + 0x9, 0xa, 0xb, 0xc, 0xd, 0x14, 0x29, 0x2a, + 0x40, 0x48 +}; + +/*Collect the unicode lists and glyph_id offsets*/ +static const lv_font_fmt_txt_cmap_t cmaps[] = +{ + { + .range_start = 45, .range_length = 73, .glyph_id_start = 1, + .unicode_list = unicode_list_0, .glyph_id_ofs_list = NULL, .list_length = 18, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_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 = 1, + .bpp = 4, + .kern_classes = 0, + .bitmap_format = 0, +#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 ui_font_HeiTi48 = { +#else +lv_font_t ui_font_HeiTi48 = { +#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 = 35, /*The maximum line height required by the font*/ + .base_line = 1, /*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 = -9, + .underline_thickness = 2, +#endif + .dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */ +#if LV_VERSION_CHECK(8, 2, 0) || LVGL_VERSION_MAJOR >= 9 + .fallback = NULL, +#endif + .user_data = NULL, +}; + + + +#endif /*#if UI_FONT_HEITI48*/ + diff --git a/Power_Pico/User/GUI/screens/ui_mainPage.c b/Power_Pico/User/GUI/screens/ui_mainPage.c new file mode 100644 index 0000000..b40a518 --- /dev/null +++ b/Power_Pico/User/GUI/screens/ui_mainPage.c @@ -0,0 +1,225 @@ +// This file was generated by SquareLine Studio +// SquareLine Studio version: SquareLine Studio 1.5.3 +// LVGL version: 9.2.2 +// Project name: PowerPico + +#include "../ui.h" +#include "ui_mainPage.h" +#include "data_queue.h" + +lv_obj_t * ui_HomeScreen = NULL; +lv_obj_t * ui_ButVal = NULL; +lv_obj_t * ui_LabelUnitVal = NULL; +lv_obj_t * ui_LabelValt = NULL; +lv_obj_t * ui_ButCur = NULL; +lv_obj_t * ui_LabelUnitCur = NULL; +lv_obj_t * ui_LabelCur = NULL; +lv_obj_t * ui_ButEnerge = NULL; +lv_obj_t * ui_LabelUnitEnerge = NULL; +lv_obj_t * ui_LabelEnerge = NULL; +lv_obj_t * ui_ButTime = NULL; +lv_obj_t * ui_LabelTime = NULL; +static lv_timer_t * _flush_timer = NULL; + +// other funtions + +static void full_screen_refresh(void) { + // 标记整个屏幕为脏区域 + lv_obj_invalidate(ui_HomeScreen); + + // 或者立即刷新整个屏幕 + lv_refr_now(NULL); +} + +static void set_val_cur_label(float voltage, float current) +{ + char buf[10]; + sprintf(buf, "%.2f", voltage); + lv_label_set_text(ui_LabelValt, buf); + if(current >= 1000000.0) { + current = current / 1000000.0; + sprintf(buf, "%.2f", current); + lv_label_set_text(ui_LabelCur, buf); + lv_label_set_text(ui_LabelUnitCur, "A"); + } + else if(current >= 1000.0) { + current = current / 1000.0; + if(current >= 100.0) { + sprintf(buf, "%.1f", current); + } + else { + sprintf(buf, "%.2f", current); + } + lv_label_set_text(ui_LabelCur, buf); + lv_label_set_text(ui_LabelUnitCur, "mA"); + } + else { + if(current >= 100.0) { + sprintf(buf, "%.1f", current); + } + else { + sprintf(buf, "%.2f", current); + } + lv_label_set_text(ui_LabelCur, buf); + lv_label_set_text(ui_LabelUnitCur, "uA"); + } +} + +// event funtions + +static void _flush_timer_cb() +{ + static uint8_t timecount = 0; + timecount++; + if(timecount >= 10) { // 5s + timecount = 0; + full_screen_refresh(); + } + float voltage = 0.0; + float current = 0.0; + current = queue_average(global_current_queue); + voltage = queue_average(global_voltage_queue); + set_val_cur_label(voltage, current); +} + +// build funtions + +void ui_main_screen_init(void) +{ + ui_HomeScreen = lv_obj_create(NULL); + lv_obj_remove_flag(ui_HomeScreen, LV_OBJ_FLAG_SCROLLABLE); /// Flags + + ui_ButVal = lv_button_create(ui_HomeScreen); + lv_obj_set_width(ui_ButVal, 234); + lv_obj_set_height(ui_ButVal, 55); + lv_obj_set_x(ui_ButVal, 0); + lv_obj_set_y(ui_ButVal, 4); + lv_obj_set_align(ui_ButVal, LV_ALIGN_TOP_MID); + lv_obj_add_flag(ui_ButVal, LV_OBJ_FLAG_SCROLL_ON_FOCUS); /// Flags + lv_obj_remove_flag(ui_ButVal, LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(ui_ButVal, lv_color_hex(0xE36666), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_ButVal, 255, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_ButCur = lv_button_create(ui_HomeScreen); + lv_obj_set_width(ui_ButCur, 234); + lv_obj_set_height(ui_ButCur, 55); + lv_obj_set_x(ui_ButCur, 0); + lv_obj_set_y(ui_ButCur, 63); + lv_obj_set_align(ui_ButCur, LV_ALIGN_TOP_MID); + lv_obj_add_flag(ui_ButCur, LV_OBJ_FLAG_SCROLL_ON_FOCUS); /// Flags + lv_obj_remove_flag(ui_ButCur, LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(ui_ButCur, lv_color_hex(0x42AA49), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_ButCur, 255, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_ButEnerge = lv_button_create(ui_HomeScreen); + lv_obj_set_width(ui_ButEnerge, 234); + lv_obj_set_height(ui_ButEnerge, 55); + lv_obj_set_x(ui_ButEnerge, 0); + lv_obj_set_y(ui_ButEnerge, 122); + lv_obj_set_align(ui_ButEnerge, LV_ALIGN_TOP_MID); + lv_obj_add_flag(ui_ButEnerge, LV_OBJ_FLAG_SCROLL_ON_FOCUS); /// Flags + lv_obj_remove_flag(ui_ButEnerge, LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(ui_ButEnerge, lv_color_hex(0x4569C9), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_ButEnerge, 255, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_ButTime = lv_button_create(ui_HomeScreen); + lv_obj_set_width(ui_ButTime, 234); + lv_obj_set_height(ui_ButTime, 55); + lv_obj_set_x(ui_ButTime, 0); + lv_obj_set_y(ui_ButTime, 181); + lv_obj_set_align(ui_ButTime, LV_ALIGN_TOP_MID); + lv_obj_add_flag(ui_ButTime, LV_OBJ_FLAG_SCROLL_ON_FOCUS); /// Flags + lv_obj_remove_flag(ui_ButTime, LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_bg_color(ui_ButTime, lv_color_hex(0x9F9960), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_bg_opa(ui_ButTime, 255, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_LabelUnitVal = lv_label_create(ui_HomeScreen); + lv_obj_set_width(ui_LabelUnitVal, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_LabelUnitVal, LV_SIZE_CONTENT); /// 1 + lv_obj_set_x(ui_LabelUnitVal, 70); + lv_obj_set_y(ui_LabelUnitVal, 20); + lv_obj_set_align(ui_LabelUnitVal, LV_ALIGN_TOP_MID); + lv_label_set_text(ui_LabelUnitVal, "V"); + lv_obj_set_style_text_font(ui_LabelUnitVal, &ui_font_HeiTi32, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_LabelValt = lv_label_create(ui_HomeScreen); + lv_obj_set_width(ui_LabelValt, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_LabelValt, LV_SIZE_CONTENT); /// 1 + lv_obj_set_x(ui_LabelValt, -30); + lv_obj_set_y(ui_LabelValt, 14); + lv_obj_set_align(ui_LabelValt, LV_ALIGN_TOP_MID); + lv_label_set_text(ui_LabelValt, "17.23"); + lv_obj_set_style_text_font(ui_LabelValt, &ui_font_HeiTi48, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_LabelUnitCur = lv_label_create(ui_HomeScreen); + lv_obj_set_width(ui_LabelUnitCur, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_LabelUnitCur, LV_SIZE_CONTENT); /// 1 + lv_obj_set_x(ui_LabelUnitCur, 70); + lv_obj_set_y(ui_LabelUnitCur, 80); + lv_obj_set_align(ui_LabelUnitCur, LV_ALIGN_TOP_MID); + lv_label_set_text(ui_LabelUnitCur, "mA"); + lv_obj_set_style_text_font(ui_LabelUnitCur, &ui_font_HeiTi32, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_LabelCur = lv_label_create(ui_HomeScreen); + lv_obj_set_width(ui_LabelCur, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_LabelCur, LV_SIZE_CONTENT); /// 1 + lv_obj_set_x(ui_LabelCur, -30); + lv_obj_set_y(ui_LabelCur, 74); + lv_obj_set_align(ui_LabelCur, LV_ALIGN_TOP_MID); + lv_label_set_text(ui_LabelCur, "283.2"); + lv_obj_set_style_text_font(ui_LabelCur, &ui_font_HeiTi48, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_LabelUnitEnerge = lv_label_create(ui_HomeScreen); + lv_obj_set_width(ui_LabelUnitEnerge, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_LabelUnitEnerge, LV_SIZE_CONTENT); /// 1 + lv_obj_set_x(ui_LabelUnitEnerge, 70); + lv_obj_set_y(ui_LabelUnitEnerge, 140); + lv_obj_set_align(ui_LabelUnitEnerge, LV_ALIGN_TOP_MID); + lv_label_set_text(ui_LabelUnitEnerge, "mW"); + lv_obj_set_style_text_font(ui_LabelUnitEnerge, &ui_font_HeiTi32, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_LabelEnerge = lv_label_create(ui_HomeScreen); + lv_obj_set_width(ui_LabelEnerge, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_LabelEnerge, LV_SIZE_CONTENT); /// 1 + lv_obj_set_x(ui_LabelEnerge, -30); + lv_obj_set_y(ui_LabelEnerge, 133); + lv_obj_set_align(ui_LabelEnerge, LV_ALIGN_TOP_MID); + lv_label_set_text(ui_LabelEnerge, "543.2"); + lv_obj_set_style_text_font(ui_LabelEnerge, &ui_font_HeiTi48, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_LabelTime = lv_label_create(ui_HomeScreen); + lv_obj_set_width(ui_LabelTime, LV_SIZE_CONTENT); /// 1 + lv_obj_set_height(ui_LabelTime, LV_SIZE_CONTENT); /// 1 + lv_obj_set_x(ui_LabelTime, 0); + lv_obj_set_y(ui_LabelTime, 190); + lv_obj_set_align(ui_LabelTime, LV_ALIGN_TOP_MID); + lv_label_set_text(ui_LabelTime, "00:00:00"); + lv_obj_set_style_text_font(ui_LabelTime, &ui_font_HeiTi48, LV_PART_MAIN | LV_STATE_DEFAULT); + _flush_timer_cb(NULL); + // flush timer + _flush_timer = lv_timer_create(_flush_timer_cb, 500, NULL); + +} + + +void ui_main_screen_destroy(void) +{ + if(ui_HomeScreen) lv_obj_del(ui_HomeScreen); + + // NULL screen variables + ui_HomeScreen = NULL; + ui_ButVal = NULL; + ui_LabelUnitVal = NULL; + ui_LabelValt = NULL; + ui_ButCur = NULL; + ui_LabelUnitCur = NULL; + ui_LabelCur = NULL; + ui_ButEnerge = NULL; + ui_LabelUnitEnerge = NULL; + ui_LabelEnerge = NULL; + ui_ButTime = NULL; + ui_LabelTime = NULL; + lv_timer_del(_flush_timer); + _flush_timer = NULL; + +} diff --git a/Power_Pico/User/GUI/screens/ui_mainPage.h b/Power_Pico/User/GUI/screens/ui_mainPage.h new file mode 100644 index 0000000..ac03fe5 --- /dev/null +++ b/Power_Pico/User/GUI/screens/ui_mainPage.h @@ -0,0 +1,19 @@ +#ifndef UI_MAINPAGE_H +#define UI_MAINPAGE_H + +#ifdef __cplusplus +extern "C" { +#endif + +// SCREEN: ui_Screen1 +void ui_main_screen_init(void); +void ui_main_screen_destroy(void); + +extern lv_obj_t * ui_HomeScreen; + + +#ifdef __cplusplus +} /*extern "C"*/ +#endif + +#endif diff --git a/Power_Pico/User/GUI/ui.c b/Power_Pico/User/GUI/ui.c index 4e6f0fe..fb8f5f7 100644 --- a/Power_Pico/User/GUI/ui.c +++ b/Power_Pico/User/GUI/ui.c @@ -1,12 +1,21 @@ // LVGL version: 9.2 // Project name: PowerPico -#include "ui.h" +#include "./ui.h" +#include "./screens/ui_mainPage.h" ///////////////////// VARIABLES //////////////////// // pages - +Page_t pages[] = { + { + .init = ui_main_screen_init, + .deinit = ui_main_screen_destroy, + .page_obj = &ui_HomeScreen, + .name = "Main Page" + }, + // 可以在这里添加更多页面 +}; ///////////////////// TEST LVGL SETTINGS //////////////////// #if LV_COLOR_DEPTH != 16 @@ -19,8 +28,7 @@ */ static void main_timer(lv_timer_t * timer) { - // printf("timer\r\n"); - + // LV_LOG_WARN("Main timer"); } /////////////////////// ui_initialize ////////////////////// @@ -31,13 +39,10 @@ void ui_init(void) true, LV_FONT_DEFAULT); lv_disp_set_theme(dispp, theme); PageManager_init(); - - // PageManager_register(&xxxpage); - // test - lv_obj_t * test_page = lv_obj_create(NULL); - lv_obj_t * btn1 = lv_button_create(test_page); - lv_obj_align(btn1, LV_ALIGN_CENTER, 0, 0); - lv_disp_load_scr(test_page); + for(uint8_t i = 0; i < sizeof(pages)/sizeof(pages[0]); i++) { + PageManager_register(&pages[i]); + } + PageManager_load_init_screen(); //timer lv_timer_t * ui_MainTimer = lv_timer_create(main_timer, 1000, NULL); diff --git a/Power_Pico/User/GUI/ui.h b/Power_Pico/User/GUI/ui.h index 84f76f7..5f2af04 100644 --- a/Power_Pico/User/GUI/ui.h +++ b/Power_Pico/User/GUI/ui.h @@ -1,4 +1,4 @@ -// LVGL VERSION: 8.2.0 +// LVGL VERSION: 9.2 #ifndef _UI_H @@ -16,6 +16,10 @@ extern "C" { void ui_init(void); +// FONTS +LV_FONT_DECLARE(ui_font_HeiTi32); +LV_FONT_DECLARE(ui_font_HeiTi48); + #ifdef __cplusplus } /*extern "C"*/ #endif