diff --git a/main/pages/home/home.c b/main/pages/home/home.c index 1489c07..5c0892b 100644 --- a/main/pages/home/home.c +++ b/main/pages/home/home.c @@ -163,10 +163,14 @@ void home_page_create(lv_obj_t *parent) { ui_battery_create(header); ui_menu_add_entry_with_icon(main_menu, ICON_QR_CODE, "Scan", menu_scan_cb); - ui_menu_add_entry(main_menu, "Extended Public Key", menu_xpub_cb); - ui_menu_add_entry(main_menu, "Addresses", menu_addresses_cb); - ui_menu_add_entry(main_menu, "Back Up", menu_backup_cb); - ui_menu_add_entry(main_menu, "Advanced Tools", menu_advanced_tools_cb); + ui_menu_add_entry_with_icon(main_menu, ICON_XPUB, "Extended Public Key", + menu_xpub_cb); + ui_menu_add_entry_with_icon(main_menu, LV_SYMBOL_LIST, "Addresses", + menu_addresses_cb); + ui_menu_add_entry_with_icon(main_menu, ICON_BOX_ARCHIVE, "Back Up", + menu_backup_cb); + ui_menu_add_entry_with_icon(main_menu, ICON_TOOLBOX, "Advanced Tools", + menu_advanced_tools_cb); // Power button at top-left (power-off on PMIC boards, unload+reboot // otherwise) diff --git a/main/ui/assets/icons.h b/main/ui/assets/icons.h index f0cfaaa..b42b82a 100644 --- a/main/ui/assets/icons.h +++ b/main/ui/assets/icons.h @@ -3,12 +3,15 @@ // Font Awesome symbol definitions (UTF-8 encoded). // The generated 16/24/36 px icon fonts must include these codepoints. +#define ICON_XPUB "\xEE\x80\x81" // Custom U+E001 = custom-xpub-key-badge #define ICON_BITCOIN "\xEE\x82\xB4" // FontAwesome U+E0B4 = bitcoin-sign #define ICON_QR_CODE "\xEF\x80\xA9" // FontAwesome U+F029 = qrcode #define ICON_HELP "\xEF\x81\x99" // FontAwesome U+F059 = circle-question #define ICON_INFO "\xEF\x81\x9A" // FontAwesome U+F05A = circle-info #define ICON_KEY "\xEF\x82\x84" // FontAwesome U+F084 = key #define ICON_DERIVATION "\xEF\x84\xA6" // FontAwesome U+F126 = code-branch +#define ICON_BOX_ARCHIVE "\xEF\x86\x87" // FontAwesome U+F187 = box-archive +#define ICON_TOOLBOX "\xEF\x95\x92" // FontAwesome U+F552 = toolbox #define ICON_FINGERPRINT "\xEF\x95\xB7" // FontAwesome U+F577 = fingerprint #define ICON_DICE "\xEF\x94\xA2" // FontAwesome U+F522 = dice diff --git a/main/ui/assets/icons_16.c b/main/ui/assets/icons_16.c index 0c04e1a..914dc2d 100644 --- a/main/ui/assets/icons_16.c +++ b/main/ui/assets/icons_16.c @@ -30,63 +30,83 @@ *----------------*/ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { - 0x0, 0xc5, 0x5c, 0x0, 0x0, 0x0, 0xf8, 0x8f, 0x0, 0x0, 0x9f, 0xff, - 0xff, 0xc5, 0x0, 0xff, 0xff, 0xff, 0xff, 0x50, 0xff, 0x0, 0x1, 0x8f, - 0xc0, 0xff, 0x0, 0x0, 0x2f, 0xe0, 0xff, 0x0, 0x1, 0x8f, 0xc0, 0xff, - 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xff, 0x0, 0x0, - 0x18, 0xfb, 0xff, 0x0, 0x0, 0x2, 0xfe, 0xff, 0x0, 0x0, 0x18, 0xfc, - 0xff, 0xff, 0xff, 0xff, 0xf4, 0x8f, 0xff, 0xff, 0xfc, 0x40, 0x0, 0xf8, - 0x8f, 0x0, 0x0, 0x0, 0xc5, 0x5c, 0x0, 0x0, 0x7e, 0xff, 0xe7, 0x0, - 0x7e, 0xff, 0xe7, 0xef, 0xff, 0xfe, 0x0, 0xef, 0xff, 0xfe, 0xff, 0x0, - 0xff, 0x0, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, - 0xef, 0xff, 0xfe, 0x0, 0xef, 0xff, 0xfe, 0x7e, 0xff, 0xe7, 0x0, 0x7e, - 0xff, 0xe7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x7e, 0xff, 0xe7, 0x0, 0xbb, 0x0, 0xbb, 0xef, - 0xff, 0xfe, 0x0, 0xbb, 0x0, 0xbb, 0xff, 0x0, 0xff, 0x0, 0x0, 0xbb, - 0x0, 0xff, 0x0, 0xff, 0x0, 0x0, 0xbb, 0x0, 0xef, 0xff, 0xfe, 0x0, - 0xbb, 0x0, 0xbb, 0x7e, 0xff, 0xe7, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0x0, - 0x28, 0xce, 0xec, 0x82, 0x0, 0x0, 0x0, 0x6, 0xef, 0xff, 0xff, 0xfe, - 0x60, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x0, 0x6, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x2e, 0xff, 0xff, 0x92, 0x29, 0xff, - 0xff, 0xe2, 0x8f, 0xff, 0xfc, 0x4, 0x40, 0xcf, 0xff, 0xf8, 0xdf, 0xff, - 0xf9, 0x1e, 0xd0, 0x8f, 0xff, 0xfc, 0xef, 0xff, 0xff, 0xdd, 0x40, 0xcf, - 0xff, 0xfe, 0xef, 0xff, 0xff, 0xf5, 0x1a, 0xff, 0xff, 0xfe, 0xdf, 0xff, - 0xff, 0xfa, 0xaf, 0xff, 0xff, 0xfc, 0x8f, 0xff, 0xff, 0xfb, 0xbf, 0xff, - 0xff, 0xf8, 0x2e, 0xff, 0xff, 0xf1, 0x2f, 0xff, 0xff, 0xe2, 0x6, 0xff, - 0xff, 0xfb, 0xbf, 0xff, 0xff, 0x60, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, - 0xfb, 0x0, 0x0, 0x6, 0xef, 0xff, 0xff, 0xfe, 0x60, 0x0, 0x0, 0x0, - 0x28, 0xde, 0xed, 0x82, 0x0, 0x0, 0x0, 0x0, 0x28, 0xce, 0xec, 0x82, + 0x0, 0x0, 0x3, 0x78, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, + 0xfb, 0x10, 0x0, 0x0, 0x0, 0x2, 0xff, 0xfb, 0xaf, 0x80, 0x0, 0x0, + 0x0, 0x6, 0xff, 0xf5, 0x3f, 0xd0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, + 0xef, 0xe0, 0x0, 0x0, 0x0, 0x9, 0xff, 0xff, 0xff, 0xa0, 0x0, 0x0, + 0x0, 0x8f, 0xff, 0xff, 0xfe, 0x20, 0x0, 0x0, 0x9, 0xff, 0xff, 0xdd, + 0xa2, 0x0, 0x0, 0x0, 0x8f, 0xff, 0xa5, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xff, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xb0, 0x0, 0x0, + 0x0, 0x8, 0x80, 0x0, 0x46, 0x30, 0x0, 0x0, 0x0, 0x8, 0x80, 0x0, + 0x0, 0x8f, 0xf9, 0x88, 0x4c, 0x8, 0xff, 0x90, 0x0, 0x8b, 0x4f, 0x89, + 0x6c, 0x8, 0xb4, 0xf0, 0x0, 0x8f, 0xf9, 0x4e, 0xfc, 0x8, 0xff, 0x90, + 0x0, 0x88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc5, 0x5c, 0x0, + 0x0, 0x0, 0xf8, 0x8f, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xc5, 0x0, 0xff, + 0xff, 0xff, 0xff, 0x50, 0xff, 0x0, 0x1, 0x8f, 0xc0, 0xff, 0x0, 0x0, + 0x2f, 0xe0, 0xff, 0x0, 0x1, 0x8f, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x80, + 0xff, 0xff, 0xff, 0xff, 0xf4, 0xff, 0x0, 0x0, 0x18, 0xfb, 0xff, 0x0, + 0x0, 0x2, 0xfe, 0xff, 0x0, 0x0, 0x18, 0xfc, 0xff, 0xff, 0xff, 0xff, + 0xf4, 0x8f, 0xff, 0xff, 0xfc, 0x40, 0x0, 0xf8, 0x8f, 0x0, 0x0, 0x0, + 0xc5, 0x5c, 0x0, 0x0, 0x7e, 0xff, 0xe7, 0x0, 0x7e, 0xff, 0xe7, 0xef, + 0xff, 0xfe, 0x0, 0xef, 0xff, 0xfe, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, + 0xff, 0xff, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0xef, 0xff, 0xfe, 0x0, + 0xef, 0xff, 0xfe, 0x7e, 0xff, 0xe7, 0x0, 0x7e, 0xff, 0xe7, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x7e, 0xff, 0xe7, 0x0, 0xbb, 0x0, 0xbb, 0xef, 0xff, 0xfe, 0x0, 0xbb, + 0x0, 0xbb, 0xff, 0x0, 0xff, 0x0, 0x0, 0xbb, 0x0, 0xff, 0x0, 0xff, + 0x0, 0x0, 0xbb, 0x0, 0xef, 0xff, 0xfe, 0x0, 0xbb, 0x0, 0xbb, 0x7e, + 0xff, 0xe7, 0x0, 0xbb, 0x0, 0xbb, 0x0, 0x0, 0x28, 0xce, 0xec, 0x82, 0x0, 0x0, 0x0, 0x6, 0xef, 0xff, 0xff, 0xfe, 0x60, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x60, 0x2e, 0xff, 0xff, 0xf4, 0x4f, 0xff, 0xff, 0xe2, 0x8f, 0xff, - 0xff, 0xf4, 0x4f, 0xff, 0xff, 0xf8, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xfc, 0xef, 0xff, 0xff, 0x30, 0x2f, 0xff, 0xff, 0xfe, 0xef, 0xff, - 0xff, 0xa4, 0xf, 0xff, 0xff, 0xfe, 0xdf, 0xff, 0xff, 0xf7, 0xf, 0xff, - 0xff, 0xfc, 0x8f, 0xff, 0xff, 0xa4, 0xa, 0xff, 0xff, 0xf8, 0x2e, 0xff, - 0xff, 0x30, 0x3, 0xff, 0xff, 0xe2, 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x60, 0x2e, 0xff, 0xff, 0x92, 0x29, 0xff, 0xff, 0xe2, 0x8f, 0xff, + 0xfc, 0x4, 0x40, 0xcf, 0xff, 0xf8, 0xdf, 0xff, 0xf9, 0x1e, 0xd0, 0x8f, + 0xff, 0xfc, 0xef, 0xff, 0xff, 0xdd, 0x40, 0xcf, 0xff, 0xfe, 0xef, 0xff, + 0xff, 0xf5, 0x1a, 0xff, 0xff, 0xfe, 0xdf, 0xff, 0xff, 0xfa, 0xaf, 0xff, + 0xff, 0xfc, 0x8f, 0xff, 0xff, 0xfb, 0xbf, 0xff, 0xff, 0xf8, 0x2e, 0xff, + 0xff, 0xf1, 0x2f, 0xff, 0xff, 0xe2, 0x6, 0xff, 0xff, 0xfb, 0xbf, 0xff, 0xff, 0x60, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0, 0x6, 0xef, 0xff, 0xff, 0xfe, 0x60, 0x0, 0x0, 0x0, 0x28, 0xde, 0xed, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8c, 0xec, 0x81, 0x0, 0x0, 0x0, - 0x0, 0x4e, 0xff, 0xff, 0xfe, 0x40, 0x0, 0x0, 0x1, 0xef, 0xff, 0xff, - 0xff, 0xe1, 0x0, 0x0, 0x9, 0xff, 0xff, 0xc2, 0x7f, 0xf8, 0x0, 0x0, - 0xc, 0xff, 0xff, 0x90, 0x2f, 0xfc, 0x0, 0x0, 0xe, 0xff, 0xff, 0xf9, - 0xcf, 0xfe, 0x0, 0x0, 0xd, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, - 0x2e, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x2, 0xef, 0xff, 0xff, 0xff, - 0xff, 0xe1, 0x0, 0x2e, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x2, 0xef, - 0xff, 0xff, 0xed, 0xec, 0x91, 0x0, 0x2e, 0xff, 0xff, 0xfd, 0x20, 0x0, - 0x0, 0x0, 0xdf, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, - 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0xdf, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2b, 0xeb, - 0x20, 0x0, 0x2, 0xbe, 0xb2, 0xbf, 0xdf, 0xb0, 0x0, 0xb, 0xfd, 0xfb, - 0xed, 0xd, 0xe0, 0x0, 0xe, 0xd0, 0xde, 0xaf, 0xdf, 0xa0, 0x0, 0xa, - 0xfd, 0xfa, 0x1c, 0xfc, 0x10, 0x0, 0x1, 0xcf, 0xc1, 0x8, 0xf8, 0x0, - 0x0, 0x0, 0x8f, 0x70, 0x8, 0xf8, 0x0, 0x0, 0x3, 0xdf, 0x40, 0x8, - 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x8, 0xff, 0xff, 0xff, 0xfe, 0x91, - 0x0, 0x8, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xf8, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1c, 0xfc, 0x10, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xdf, - 0xa0, 0x0, 0x0, 0x0, 0x0, 0xed, 0xd, 0xe0, 0x0, 0x0, 0x0, 0x0, - 0xbf, 0xdf, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x2b, 0xeb, 0x20, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x28, 0xce, 0xec, 0x82, 0x0, 0x0, 0x0, 0x6, + 0xef, 0xff, 0xff, 0xfe, 0x60, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, + 0xfa, 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x2e, 0xff, + 0xff, 0xf4, 0x4f, 0xff, 0xff, 0xe2, 0x8f, 0xff, 0xff, 0xf4, 0x4f, 0xff, + 0xff, 0xf8, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xef, 0xff, + 0xff, 0x30, 0x2f, 0xff, 0xff, 0xfe, 0xef, 0xff, 0xff, 0xa4, 0xf, 0xff, + 0xff, 0xfe, 0xdf, 0xff, 0xff, 0xf7, 0xf, 0xff, 0xff, 0xfc, 0x8f, 0xff, + 0xff, 0xa4, 0xa, 0xff, 0xff, 0xf8, 0x2e, 0xff, 0xff, 0x30, 0x3, 0xff, + 0xff, 0xe2, 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x0, 0xbf, + 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0, 0x6, 0xef, 0xff, 0xff, 0xfe, + 0x60, 0x0, 0x0, 0x0, 0x28, 0xde, 0xed, 0x82, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x1, 0x8c, 0xec, 0x81, 0x0, 0x0, 0x0, 0x0, 0x4e, 0xff, 0xff, + 0xfe, 0x40, 0x0, 0x0, 0x1, 0xef, 0xff, 0xff, 0xff, 0xe1, 0x0, 0x0, + 0x9, 0xff, 0xff, 0xc2, 0x7f, 0xf8, 0x0, 0x0, 0xc, 0xff, 0xff, 0x90, + 0x2f, 0xfc, 0x0, 0x0, 0xe, 0xff, 0xff, 0xf9, 0xcf, 0xfe, 0x0, 0x0, + 0xd, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0, 0x0, 0x2e, 0xff, 0xff, 0xff, + 0xff, 0xf8, 0x0, 0x2, 0xef, 0xff, 0xff, 0xff, 0xff, 0xe1, 0x0, 0x2e, + 0xff, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x2, 0xef, 0xff, 0xff, 0xed, 0xec, + 0x91, 0x0, 0x2e, 0xff, 0xff, 0xfd, 0x20, 0x0, 0x0, 0x0, 0xdf, 0xff, + 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xfd, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdf, 0xfd, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2b, 0xeb, 0x20, 0x0, 0x2, 0xbe, + 0xb2, 0xbf, 0xdf, 0xb0, 0x0, 0xb, 0xfd, 0xfb, 0xed, 0xd, 0xe0, 0x0, + 0xe, 0xd0, 0xde, 0xaf, 0xdf, 0xa0, 0x0, 0xa, 0xfd, 0xfa, 0x1c, 0xfc, + 0x10, 0x0, 0x1, 0xcf, 0xc1, 0x8, 0xf8, 0x0, 0x0, 0x0, 0x8f, 0x70, + 0x8, 0xf8, 0x0, 0x0, 0x3, 0xdf, 0x40, 0x8, 0xff, 0xff, 0xff, 0xff, + 0xfc, 0x0, 0x8, 0xff, 0xff, 0xff, 0xfe, 0x91, 0x0, 0x8, 0xf8, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x8, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1c, + 0xfc, 0x10, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xdf, 0xa0, 0x0, 0x0, 0x0, + 0x0, 0xed, 0xd, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xdf, 0xb0, 0x0, + 0x0, 0x0, 0x0, 0x2b, 0xeb, 0x20, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x80, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf, 0xff, + 0xfa, 0x88, 0x88, 0xaf, 0xff, 0xf0, 0xf, 0xff, 0xf3, 0x0, 0x0, 0x3f, + 0xff, 0xf0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf0, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xd, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, 0x4, 0xdf, 0xff, 0xff, 0xff, 0xff, + 0xfd, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7e, 0xda, 0x62, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4f, 0xff, 0xff, 0xfd, 0x94, 0x0, 0x0, 0x0, 0x9, 0xf8, 0x1e, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0xcf, 0x72, 0xdf, 0xf8, 0x7f, 0xe0, 0x0, 0x0, 0x1f, 0xff, 0xff, @@ -98,7 +118,17 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { 0xde, 0x80, 0x9f, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0x0, 0x0, 0x0, 0xc, 0x98, 0xcf, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, 0xdf, 0xff, 0xff, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x4, 0xdf, 0xff, - 0xff, 0xfd, 0x40, 0x0, 0x0, 0x28, 0xce, 0xec, 0x83, 0x0, 0x0, 0x0, + 0xff, 0xfd, 0x40, 0x0, 0x0, 0x6e, 0xff, 0xff, 0xe6, 0x0, 0x0, 0x0, + 0x0, 0xec, 0x88, 0x88, 0xce, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x0, 0x0, + 0x8f, 0x0, 0x0, 0x2, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x20, 0x2d, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0xbf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x99, 0xff, 0xff, 0x99, 0xff, 0xff, 0x88, 0x88, 0x22, 0x88, 0x88, + 0x22, 0x88, 0x88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, + 0xff, 0x55, 0xff, 0xff, 0x55, 0xff, 0xff, 0xff, 0xff, 0xee, 0xff, 0xff, + 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x4d, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xd4, 0x0, 0x0, 0x28, 0xce, 0xec, 0x83, 0x0, 0x0, 0x0, 0x6, 0xee, 0xb8, 0x8b, 0xff, 0x80, 0x0, 0x0, 0xbf, 0xa1, 0x36, 0x63, 0x1a, 0xfb, 0x0, 0x6, 0xf6, 0x1, 0xff, 0xff, 0xc3, 0x7e, 0x20, 0x2e, 0xa3, 0x60, 0x11, 0x15, 0xdf, 0x30, 0x0, 0x8e, 0x1c, 0xc0, 0x8d, 0xd8, @@ -122,48 +152,66 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, {.bitmap_index = 0, + .adv_w = 256, + .box_w = 16, + .box_h = 16, + .ofs_x = 0, + .ofs_y = -1}, + {.bitmap_index = 128, .adv_w = 160, .box_w = 10, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 80, + {.bitmap_index = 208, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 178, + {.bitmap_index = 306, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 306, + {.bitmap_index = 434, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 434, + {.bitmap_index = 562, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 562, + {.bitmap_index = 690, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 674, + {.bitmap_index = 802, + .adv_w = 256, + .box_w = 16, + .box_h = 14, + .ofs_x = 0, + .ofs_y = -1}, + {.bitmap_index = 914, .adv_w = 256, .box_w = 17, .box_h = 17, .ofs_x = -1, .ofs_y = -2}, - {.bitmap_index = 819, + {.bitmap_index = 1059, + .adv_w = 256, + .box_w = 16, + .box_h = 15, + .ofs_x = 0, + .ofs_y = -1}, + {.bitmap_index = 1179, .adv_w = 256, .box_w = 16, .box_h = 16, @@ -174,12 +222,13 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { * CHARACTER MAPPING *--------------------*/ -static const uint16_t unicode_list_0[] = {0x0, 0xf75, 0xfa5, 0xfa6, - 0xfd0, 0x1072, 0x146e, 0x14c3}; +static const uint16_t unicode_list_0[] = {0x0, 0xb3, 0x1028, 0x1058, + 0x1059, 0x1083, 0x1125, 0x1186, + 0x1521, 0x1551, 0x1576}; static const lv_font_fmt_txt_cmap_t cmaps[] = { - {.range_start = 57524, - .range_length = 5316, + {.range_start = 57345, + .range_length = 5495, .glyph_id_start = 1, .unicode_list = unicode_list_0, .glyph_id_ofs_list = NULL, diff --git a/main/ui/assets/icons_24.c b/main/ui/assets/icons_24.c index 7387dd0..fc40101 100644 --- a/main/ui/assets/icons_24.c +++ b/main/ui/assets/icons_24.c @@ -30,6 +30,30 @@ *----------------*/ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { + 0x0, 0x0, 0x0, 0x0, 0x38, 0xbc, 0x95, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xa1, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2, 0xef, 0xff, 0xfc, 0x6c, 0xff, 0x60, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x6, 0xff, 0xff, 0xf4, 0x5, 0xff, 0xa0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x9, 0xff, 0xff, 0xf9, 0x2a, 0xff, 0xe0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x3e, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0x0, 0x0, 0x0, + 0x0, 0x3, 0xef, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x3e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa1, 0x0, 0x0, 0x0, 0x0, + 0x3, 0xef, 0xff, 0xff, 0xfa, 0xbb, 0x84, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x3e, 0xff, 0xff, 0xed, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xef, 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xff, 0xfe, 0x30, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf5, 0x0, 0x0, + 0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf5, 0x0, 0x0, + 0xdf, 0xff, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xf5, 0x0, 0x0, + 0x12, 0x21, 0x4f, 0xff, 0xd3, 0x4f, 0x40, 0xea, 0x4, 0xff, 0xfd, 0x30, + 0x0, 0x0, 0x4f, 0x91, 0xcc, 0x4f, 0x40, 0xea, 0x4, 0xf9, 0x1c, 0xc0, + 0x0, 0x0, 0x4f, 0x50, 0x9f, 0x5f, 0x40, 0xea, 0x4, 0xf5, 0x9, 0xf0, + 0x0, 0x0, 0x4f, 0x91, 0xcc, 0x4f, 0x63, 0xfa, 0x4, 0xf9, 0x1c, 0xc0, + 0x0, 0x0, 0x4f, 0xff, 0xd3, 0xb, 0xff, 0xfa, 0x4, 0xff, 0xfd, 0x30, + 0x0, 0x0, 0x4f, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x4f, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0xc1, 0x1c, 0x90, 0x0, 0x0, 0x0, 0x0, 0xff, 0x44, 0xff, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf4, 0x4f, 0xf0, 0x0, 0x0, 0x6, 0xef, 0xff, 0xff, 0xff, 0xc6, 0x0, 0x0, 0xef, 0xff, 0xff, 0xff, 0xff, 0xfb, @@ -157,7 +181,29 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xff, 0xbe, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3b, 0xed, 0x70, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x27, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x72, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x6, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, + 0xbb, 0xbb, 0x60, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x80, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x80, 0x8, 0xff, 0xff, 0xfd, 0x54, 0x44, 0x44, 0x45, 0xdf, + 0xff, 0xff, 0x80, 0x8, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x9f, + 0xff, 0xff, 0x80, 0x8, 0xff, 0xff, 0xfe, 0x98, 0x88, 0x88, 0x89, 0xef, + 0xff, 0xff, 0x80, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x80, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x80, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x80, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x80, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x80, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x70, 0x4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x40, 0x0, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfa, 0x0, 0x0, 0x4, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x87, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xbe, 0xda, 0x62, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xef, 0xff, 0xff, 0xfd, 0x95, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, @@ -183,7 +229,30 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xef, 0xff, 0xff, - 0xff, 0xff, 0xe8, 0x0, 0x0, 0x0, 0x0, 0x2, 0x6b, 0xde, 0xec, 0xb6, + 0xff, 0xff, 0xe8, 0x0, 0x0, 0x0, 0x0, 0x1a, 0xef, 0xff, 0xff, 0xfe, + 0xa1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xff, 0xff, + 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0x84, 0x44, 0x44, 0x48, + 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x40, 0x0, 0x0, 0x4, + 0xff, 0x0, 0x0, 0x0, 0x0, 0x2, 0x78, 0xff, 0x98, 0x88, 0x88, 0x89, + 0xff, 0x87, 0x20, 0x0, 0x0, 0x4e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xe4, 0x0, 0x4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x40, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf4, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x9f, 0xff, 0xff, 0xf9, + 0x9, 0xff, 0xff, 0xff, 0xbb, 0xbb, 0xbb, 0x40, 0x4b, 0xbb, 0xbb, 0xb4, + 0x4, 0xbb, 0xbb, 0xbb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0x60, 0x6f, 0xff, 0xff, 0xf6, + 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0xbf, 0xff, 0xff, 0xfb, + 0x3b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfc, 0x3e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xe3, 0x1, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x86, 0x10, 0x0, 0x0, 0x0, 0x2, 0x6b, 0xde, 0xec, 0xb6, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x10, 0x0, 0x0, 0x0, 0x0, 0x4e, 0xff, 0xe9, 0x65, 0x56, 0x9e, 0xff, 0xe5, 0x0, 0x0, 0x0, 0x6, 0xff, 0xe6, 0x0, 0x2, 0x31, 0x0, @@ -221,48 +290,66 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, {.bitmap_index = 0, + .adv_w = 384, + .box_w = 24, + .box_h = 24, + .ofs_x = 0, + .ofs_y = -2}, + {.bitmap_index = 288, .adv_w = 240, .box_w = 15, .box_h = 24, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 180, + {.bitmap_index = 468, .adv_w = 336, .box_w = 21, .box_h = 22, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 411, + {.bitmap_index = 699, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 699, + {.bitmap_index = 987, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 987, + {.bitmap_index = 1275, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 1275, + {.bitmap_index = 1563, .adv_w = 336, .box_w = 21, .box_h = 24, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 1527, + {.bitmap_index = 1815, + .adv_w = 384, + .box_w = 24, + .box_h = 22, + .ofs_x = 0, + .ofs_y = -2}, + {.bitmap_index = 2079, .adv_w = 384, .box_w = 25, .box_h = 25, .ofs_x = -1, .ofs_y = -3}, - {.bitmap_index = 1840, + {.bitmap_index = 2392, + .adv_w = 384, + .box_w = 24, + .box_h = 23, + .ofs_x = 0, + .ofs_y = -2}, + {.bitmap_index = 2668, .adv_w = 384, .box_w = 24, .box_h = 24, @@ -273,12 +360,13 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { * CHARACTER MAPPING *--------------------*/ -static const uint16_t unicode_list_0[] = {0x0, 0xf75, 0xfa5, 0xfa6, - 0xfd0, 0x1072, 0x146e, 0x14c3}; +static const uint16_t unicode_list_0[] = {0x0, 0xb3, 0x1028, 0x1058, + 0x1059, 0x1083, 0x1125, 0x1186, + 0x1521, 0x1551, 0x1576}; static const lv_font_fmt_txt_cmap_t cmaps[] = { - {.range_start = 57524, - .range_length = 5316, + {.range_start = 57345, + .range_length = 5495, .glyph_id_start = 1, .unicode_list = unicode_list_0, .glyph_id_ofs_list = NULL, diff --git a/main/ui/assets/icons_36.c b/main/ui/assets/icons_36.c index b2cfd64..b62f084 100644 --- a/main/ui/assets/icons_36.c +++ b/main/ui/assets/icons_36.c @@ -30,6 +30,60 @@ *----------------*/ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x59, 0xab, 0x95, 0x10, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x7e, 0xff, 0xff, 0xff, 0xe8, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc2, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1e, 0xff, + 0xff, 0xff, 0xfd, 0x43, 0xbf, 0xff, 0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xf3, 0x0, 0x1f, 0xff, + 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, + 0xff, 0xff, 0xf2, 0x0, 0xe, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, 0xff, 0xff, 0xfa, 0x0, 0x7f, 0xff, + 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0xff, + 0xff, 0xff, 0xff, 0xed, 0xff, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2d, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x2, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2d, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x2, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x40, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2d, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xcd, 0xff, 0xfb, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x2, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x11, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2d, 0xff, 0xff, 0xff, 0xfe, 0xbb, + 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xcf, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xff, 0xff, 0xff, 0xff, 0xe6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0x70, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0x50, 0x0, 0x0, + 0xff, 0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xef, 0x50, 0x0, 0x0, 0xcf, 0xff, 0xff, 0x40, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0x50, 0x0, 0x0, + 0x4, 0x44, 0x42, 0x0, 0xe, 0xf8, 0xbe, 0xd5, 0x0, 0xff, 0x40, 0x2f, + 0xf2, 0x0, 0xef, 0x8b, 0xed, 0x50, 0x0, 0x0, 0x0, 0x0, 0xe, 0xfd, + 0x24, 0xff, 0x30, 0xff, 0x40, 0x2f, 0xf2, 0x0, 0xef, 0xd2, 0x4f, 0xf3, + 0x0, 0x0, 0x0, 0x0, 0xe, 0xf7, 0x0, 0xbf, 0x80, 0xff, 0x40, 0x2f, + 0xf2, 0x0, 0xef, 0x70, 0xb, 0xf8, 0x0, 0x0, 0x0, 0x0, 0xe, 0xf6, + 0x0, 0xaf, 0xa0, 0xff, 0x40, 0x2f, 0xf2, 0x0, 0xef, 0x60, 0xa, 0xfa, + 0x0, 0x0, 0x0, 0x0, 0xe, 0xf7, 0x0, 0xbf, 0x80, 0xff, 0x50, 0x3f, + 0xf2, 0x0, 0xef, 0x70, 0xb, 0xf8, 0x0, 0x0, 0x0, 0x0, 0xe, 0xfd, + 0x24, 0xff, 0x30, 0xcf, 0x91, 0xaf, 0xf2, 0x0, 0xef, 0xd2, 0x4f, 0xf3, + 0x0, 0x0, 0x0, 0x0, 0xe, 0xf8, 0xbe, 0xd5, 0x0, 0x3c, 0xec, 0x6f, + 0xf2, 0x0, 0xef, 0x8b, 0xed, 0x50, 0x0, 0x0, 0x0, 0x0, 0xe, 0xf5, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xe, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xf5, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x61, 0x0, 0x16, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0xa0, 0x9, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xfd, 0x0, 0xdf, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @@ -325,65 +379,167 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6e, 0xff, 0xff, 0x91, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x47, 0x52, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x10, 0x6f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf5, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x5, 0x78, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x50, 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, 0x12, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x0, 0x0, 0xbf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfb, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0, 0xbf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfb, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0, 0xbf, + 0xff, 0xff, 0xff, 0xfe, 0x76, 0x66, 0x66, 0x66, 0x66, 0x67, 0xef, 0xff, + 0xff, 0xff, 0xfb, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xf7, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0, 0xbf, + 0xff, 0xff, 0xff, 0xf6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, + 0xff, 0xff, 0xfb, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xfe, 0x64, 0x44, + 0x44, 0x44, 0x44, 0x46, 0xef, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0, 0xbf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfb, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0, 0xbf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfb, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0, 0xbf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfb, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0, 0xbf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfb, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0, 0xbf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfb, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x5f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xf5, 0x0, 0x0, 0xb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x0, 0x0, 0x0, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x34, 0x44, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 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, 0x5, 0x66, 0x30, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x5e, 0xff, 0xff, 0xea, 0x62, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5f, 0xff, 0xff, 0xff, + 0xff, 0xfd, 0x95, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc8, 0x40, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xea, 0x20, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x9f, 0xff, 0xe4, 0x3, 0xdf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xf7, + 0x0, 0x5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, 0x50, 0x0, 0x3f, 0xff, 0xff, 0xff, + 0xfd, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, + 0xfb, 0x0, 0xa, 0xff, 0xff, 0xff, 0xb1, 0x3, 0xef, 0xff, 0xe0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xfd, 0x9c, 0xff, 0xff, 0xff, + 0xf3, 0x0, 0x8, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x0, 0x7f, 0xff, 0xc0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xbe, + 0xff, 0xf9, 0x0, 0x2d, 0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, + 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x1c, 0xff, 0xfd, 0xbe, 0xff, 0xff, + 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0x50, + 0x0, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xe, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x5, 0xff, 0xff, 0xff, 0xff, + 0xfb, 0x0, 0xb, 0xff, 0xc7, 0x0, 0x4, 0xff, 0xff, 0xeb, 0xdf, 0xff, + 0xc1, 0x1, 0xcf, 0xff, 0xff, 0xff, 0xff, 0x70, 0x1, 0xff, 0xff, 0xfb, + 0x0, 0x8f, 0xff, 0xe2, 0x0, 0x9f, 0xff, 0xeb, 0xef, 0xff, 0xff, 0xff, + 0xff, 0xf3, 0x0, 0x4f, 0xff, 0xff, 0xf7, 0xb, 0xff, 0xf7, 0x0, 0x2, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0, 0x8, 0xff, 0xff, + 0xff, 0xc0, 0xdf, 0xff, 0x80, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xc9, 0xdf, + 0xff, 0xff, 0xa0, 0x0, 0xdf, 0xff, 0xff, 0xff, 0xe, 0xff, 0xfe, 0x30, + 0x1b, 0xff, 0xff, 0xff, 0xa0, 0x0, 0xbf, 0xff, 0xf6, 0x0, 0x2f, 0xff, + 0xff, 0xff, 0xf0, 0xaf, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xf3, 0x0, + 0x5, 0xff, 0xff, 0x20, 0x6, 0xff, 0xff, 0xff, 0xff, 0x3, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0x0, 0x7f, 0xff, 0xd0, 0x0, 0xaf, + 0xff, 0xff, 0xff, 0xf0, 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0x30, 0x4e, 0xff, 0xf9, 0x0, 0xe, 0xff, 0xff, 0xff, 0xff, 0x0, 0x3, + 0xae, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0x50, 0x3, + 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x4, 0x8c, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xd0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x0, + 0x0, 0x0, 0x0, 0x1, 0x59, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x0, + 0xc, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x26, 0xae, 0xff, 0xff, 0xe5, 0x0, 0x4, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x67, 0x50, 0x0, + 0x1, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xcf, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x4, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x7, 0xd9, 0x53, 0x23, 0x6b, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, + 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd4, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x36, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x41, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x68, + 0x88, 0x88, 0x88, 0x88, 0x86, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xc, 0xff, 0xfd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdf, 0xff, + 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0x60, + 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0xf, 0xff, 0x60, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, + 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xff, 0x60, + 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x5, 0xab, 0xbf, 0xff, 0xdb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbd, 0xff, + 0xfb, 0xba, 0x50, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x0, 0x0, + 0x9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x90, 0x0, 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x9, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x90, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xdf, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0x10, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x1, + 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x0, 0x1f, + 0xff, 0xff, 0xff, 0xff, 0xf2, 0x0, 0x9f, 0xff, 0xff, 0xff, 0xff, 0x99, + 0x99, 0x99, 0x99, 0x95, 0x0, 0x19, 0x99, 0x99, 0x99, 0x99, 0x91, 0x0, + 0x59, 0x99, 0x99, 0x99, 0x99, 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, 0x5, 0x66, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5e, 0xff, 0xff, 0xea, - 0x62, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x95, 0x10, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xc8, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xea, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xff, 0xe4, - 0x3, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0xd, 0xff, 0xf7, 0x0, 0x5, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xff, 0xff, - 0x50, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xfa, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x6f, 0xff, 0xfb, 0x0, 0xa, 0xff, 0xff, 0xff, - 0xb1, 0x3, 0xef, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0xff, - 0xff, 0xfd, 0x9c, 0xff, 0xff, 0xff, 0xf3, 0x0, 0x8, 0xff, 0xfe, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x20, 0x0, 0x7f, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, - 0xff, 0xff, 0xff, 0xff, 0xfe, 0xbe, 0xff, 0xf9, 0x0, 0x2d, 0xff, 0xf9, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, - 0x1c, 0xff, 0xfd, 0xbe, 0xff, 0xff, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, - 0xbf, 0xff, 0xff, 0xff, 0xff, 0x50, 0x0, 0x5f, 0xff, 0xff, 0xff, 0xff, - 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xff, 0xff, 0xff, 0xff, 0xf5, - 0x0, 0x5, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0, 0xb, 0xff, 0xc7, 0x0, - 0x4, 0xff, 0xff, 0xeb, 0xdf, 0xff, 0xc1, 0x1, 0xcf, 0xff, 0xff, 0xff, - 0xff, 0x70, 0x1, 0xff, 0xff, 0xfb, 0x0, 0x8f, 0xff, 0xe2, 0x0, 0x9f, - 0xff, 0xeb, 0xef, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x0, 0x4f, 0xff, 0xff, - 0xf7, 0xb, 0xff, 0xf7, 0x0, 0x2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xfe, 0x0, 0x8, 0xff, 0xff, 0xff, 0xc0, 0xdf, 0xff, 0x80, 0x0, - 0x3f, 0xff, 0xff, 0xff, 0xc9, 0xdf, 0xff, 0xff, 0xa0, 0x0, 0xdf, 0xff, - 0xff, 0xff, 0xe, 0xff, 0xfe, 0x30, 0x1b, 0xff, 0xff, 0xff, 0xa0, 0x0, - 0xbf, 0xff, 0xf6, 0x0, 0x2f, 0xff, 0xff, 0xff, 0xf0, 0xaf, 0xff, 0xff, - 0xdf, 0xff, 0xff, 0xff, 0xf3, 0x0, 0x5, 0xff, 0xff, 0x20, 0x6, 0xff, - 0xff, 0xff, 0xff, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, - 0x0, 0x7f, 0xff, 0xd0, 0x0, 0xaf, 0xff, 0xff, 0xff, 0xf0, 0x6, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x30, 0x4e, 0xff, 0xf9, 0x0, 0xe, - 0xff, 0xff, 0xff, 0xff, 0x0, 0x3, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xef, 0xff, 0xff, 0x50, 0x3, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0, - 0x0, 0x4, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, 0x0, - 0x7f, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x59, 0xdf, - 0xff, 0xff, 0xff, 0xff, 0xf5, 0x0, 0xc, 0xff, 0xff, 0xff, 0xff, 0xf0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0xae, 0xff, 0xff, 0xe5, 0x0, - 0x4, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x3, 0x67, 0x50, 0x0, 0x1, 0xdf, 0xff, 0xff, 0xff, 0xff, - 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xdf, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xd9, 0x53, 0x23, - 0x6b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaf, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xd4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x36, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x41, 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, 0xff, + 0xff, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x0, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x2f, + 0xff, 0xff, 0xff, 0xff, 0xf3, 0x0, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x85, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x58, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x9f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf9, 0x1d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd1, 0x2, + 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfb, 0x20, 0x0, 0x1, 0x34, 0x44, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x24, 0x57, 0x75, 0x32, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @@ -453,48 +609,66 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, {.bitmap_index = 0, + .adv_w = 576, + .box_w = 36, + .box_h = 36, + .ofs_x = 0, + .ofs_y = -3}, + {.bitmap_index = 648, .adv_w = 352, .box_w = 23, .box_h = 37, .ofs_x = 0, .ofs_y = -5}, - {.bitmap_index = 426, + {.bitmap_index = 1074, .adv_w = 512, .box_w = 32, .box_h = 33, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 954, + {.bitmap_index = 1602, .adv_w = 576, .box_w = 36, .box_h = 37, .ofs_x = 0, .ofs_y = -5}, - {.bitmap_index = 1620, + {.bitmap_index = 2268, .adv_w = 576, .box_w = 36, .box_h = 37, .ofs_x = 0, .ofs_y = -5}, - {.bitmap_index = 2286, + {.bitmap_index = 2934, .adv_w = 576, .box_w = 36, .box_h = 37, .ofs_x = 0, .ofs_y = -5}, - {.bitmap_index = 2952, + {.bitmap_index = 3600, .adv_w = 512, .box_w = 32, .box_h = 37, .ofs_x = 0, .ofs_y = -5}, - {.bitmap_index = 3544, + {.bitmap_index = 4192, + .adv_w = 576, + .box_w = 36, + .box_h = 33, + .ofs_x = 0, + .ofs_y = -3}, + {.bitmap_index = 4786, .adv_w = 576, .box_w = 37, .box_h = 38, .ofs_x = -1, .ofs_y = -5}, - {.bitmap_index = 4247, + {.bitmap_index = 5489, + .adv_w = 576, + .box_w = 36, + .box_h = 35, + .ofs_x = 0, + .ofs_y = -3}, + {.bitmap_index = 6119, .adv_w = 576, .box_w = 36, .box_h = 37, @@ -505,12 +679,13 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { * CHARACTER MAPPING *--------------------*/ -static const uint16_t unicode_list_0[] = {0x0, 0xf75, 0xfa5, 0xfa6, - 0xfd0, 0x1072, 0x146e, 0x14c3}; +static const uint16_t unicode_list_0[] = {0x0, 0xb3, 0x1028, 0x1058, + 0x1059, 0x1083, 0x1125, 0x1186, + 0x1521, 0x1551, 0x1576}; static const lv_font_fmt_txt_cmap_t cmaps[] = { - {.range_start = 57524, - .range_length = 5316, + {.range_start = 57345, + .range_length = 5495, .glyph_id_start = 1, .unicode_list = unicode_list_0, .glyph_id_ofs_list = NULL, diff --git a/tools/bake_icons.py b/tools/bake_icons.py index 3e031d8..0a40ca4 100644 --- a/tools/bake_icons.py +++ b/tools/bake_icons.py @@ -11,12 +11,15 @@ ICONS = [ + ("ICON_XPUB", 0xE001, "custom-xpub-key-badge"), ("ICON_BITCOIN", 0xE0B4, "bitcoin-sign"), ("ICON_QR_CODE", 0xF029, "qrcode"), ("ICON_HELP", 0xF059, "circle-question"), ("ICON_INFO", 0xF05A, "circle-info"), ("ICON_KEY", 0xF084, "key"), ("ICON_DERIVATION", 0xF126, "code-branch"), + ("ICON_BOX_ARCHIVE", 0xF187, "box-archive"), + ("ICON_TOOLBOX", 0xF552, "toolbox"), ("ICON_FINGERPRINT", 0xF577, "fingerprint"), ("ICON_DICE", 0xF522, "dice"), ] @@ -26,7 +29,75 @@ def utf8_c_escape(codepoint): return "".join(f"\\x{byte:02X}" for byte in chr(codepoint).encode("utf-8")) +def pack_bitmap(image): + pixels = list(image.getdata()) + packed = [] + for pos in range(0, len(pixels), 2): + hi = (pixels[pos] + 8) // 17 + lo = (pixels[pos + 1] + 8) // 17 if pos + 1 < len(pixels) else 0 + packed.append((hi << 4) | lo) + return packed + + +def load_text_font(size): + candidates = [ + "/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf", + "/usr/share/fonts/truetype/msttcorefonts/Arial_Bold.ttf", + ] + for candidate in candidates: + path = Path(candidate) + if path.exists(): + return ImageFont.truetype(str(path), size=size) + return ImageFont.load_default(size=size) + + +def render_xpub_badge(font, size): + key = chr(0xF084) + image = Image.new("L", (size, size), 0) + draw = ImageDraw.Draw(image) + + key_size = max(1, int(size * 0.74)) + key_font = font.font_variant(size=key_size) + left, top, right, bottom = key_font.getbbox(key, anchor="ls") + key_h = bottom - top + key_x = max(0, int(size * 0.01) - left) + key_y = max(key_h - bottom, int(size * 0.55)) + draw.text((key_x, key_y), key, font=key_font, fill=255, anchor="ls") + + badge_text = "pub" + badge_font_size = max(6, int(size * 0.38)) + badge_font = load_text_font(badge_font_size) + text_left, text_top, text_right, text_bottom = badge_font.getbbox(badge_text) + text_w = text_right - text_left + text_h = text_bottom - text_top + + draw.text( + ( + max(0, size - text_w - text_left), + max(0, size - text_h - text_top), + ), + badge_text, + font=badge_font, + fill=255, + ) + + bottom_padding = max(1, size // 12) + return { + "bitmap": pack_bitmap(image), + "bitmap_index": 0, + "adv_w": size * 16, + "box_w": size, + "box_h": size, + "ofs_x": 0, + "ofs_y": -bottom_padding, + "bottom": bottom_padding, + } + + def render_glyph(font, codepoint): + if codepoint == 0xE001: + return render_xpub_badge(font, font.size) + char = chr(codepoint) left, top, right, bottom = font.getbbox(char, anchor="ls") width = max(0, right - left) @@ -49,15 +120,8 @@ def render_glyph(font, codepoint): draw = ImageDraw.Draw(image) draw.text((-left, -top), char, font=font, fill=255, anchor="ls") - pixels = list(image.getdata()) - packed = [] - for pos in range(0, len(pixels), 2): - hi = (pixels[pos] + 8) // 17 - lo = (pixels[pos + 1] + 8) // 17 if pos + 1 < len(pixels) else 0 - packed.append((hi << 4) | lo) - return { - "bitmap": packed, + "bitmap": pack_bitmap(image), "bitmap_index": 0, "adv_w": advance * 16, "box_w": width, @@ -253,8 +317,9 @@ def write_header(path): "// The generated 16/24/36 px icon fonts must include these codepoints.", ] for name, codepoint, label in ICONS: + source = "Custom" if label.startswith("custom-") else "FontAwesome" lines.append( - f'#define {name} "{utf8_c_escape(codepoint)}" // FontAwesome U+{codepoint:04X} = {label}' + f'#define {name} "{utf8_c_escape(codepoint)}" // {source} U+{codepoint:04X} = {label}' ) lines.extend( [