diff --git a/UI/UI_global.h b/UI/UI_global.h index c356e14..8d56568 100644 --- a/UI/UI_global.h +++ b/UI/UI_global.h @@ -196,12 +196,13 @@ void CallUI_UsbConfirm(void); #define UI0902_SUB_SEP_Y 38 /* 0904 / 0902-07 系统设置四行(稿面行框 ≈x16 w207) */ -#define UI0902_SET_ROW_X 16 -#define UI0902_SET_ROW_W 207 -#define UI0902_SET_ROW_H 58 -#define UI0902_SET_ROW_Y0 51 -#define UI0902_SET_ROW_PITCH 63 -#define UI0902_SET_ROW_FONT UI0902_FONT_BODY /* 13 */ +/* 与设置入口卡片同一套:x=8、宽 223、圆角 12、间距 8。四行排不下 66 高,改为 62。 */ +#define UI0902_SET_ROW_X 8 +#define UI0902_SET_ROW_W 223 +#define UI0902_SET_ROW_H 62 +#define UI0902_SET_ROW_Y0 42 +#define UI0902_SET_ROW_PITCH 70 +#define UI0902_SET_ROW_FONT UI0902_FONT_HERO /* 0904 / 0902-08 恢复出厂:竖排确认(灰)/取消(蓝) */ #define UI0902_RESTORE_BTN_X 10 diff --git a/device/LCD_ILI9341/Drv_ILI9341_Lcd_Image_SysSet.c b/device/LCD_ILI9341/Drv_ILI9341_Lcd_Image_SysSet.c index c1bc465..46c93c9 100644 --- a/device/LCD_ILI9341/Drv_ILI9341_Lcd_Image_SysSet.c +++ b/device/LCD_ILI9341/Drv_ILI9341_Lcd_Image_SysSet.c @@ -2,302 +2,332 @@ /* Auto-generated by tools/gen_sysset_font.py — MiSans Medium */ -const unsigned char gImage_SysSet_Title_64x16[128] = { /* 64x16 1-bit MSB */ - 0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x1F,0xFC,0x18,0x60,0x31,0xF8,0x3F,0xFC, - 0x3F,0xFC,0x13,0xFE,0x39,0xF8,0x26,0x64,0x07,0x10,0x33,0xFE,0x19,0x98,0x3F,0xFC, - 0x0C,0x38,0x6C,0xC0,0x03,0x1E,0x01,0x80,0x3F,0xE0,0x7D,0x98,0x77,0x0E,0x7F,0xFE, - 0x1F,0xD0,0x7B,0x0C,0x70,0x00,0x01,0x80,0x07,0x38,0x13,0xFE,0x33,0xFC,0x1F,0xF8, - 0x3E,0xFC,0x31,0xF4,0x33,0x0C,0x1F,0xF8,0x3F,0xFE,0x7C,0xB0,0x31,0x98,0x1F,0xF8, - 0x01,0x84,0x71,0xB0,0x35,0xD8,0x1F,0xF8,0x1D,0xB8,0x01,0xB2,0x3C,0xF0,0x18,0x18, - 0x39,0x9C,0x7D,0xB2,0x38,0xF8,0x1F,0xF8,0x77,0x86,0x7F,0x1E,0x37,0x9E,0x7F,0xFE, - 0x07,0x80,0x06,0x1E,0x06,0x06,0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +const unsigned char gImage_SysSet_Title_72x18[162] = { /* 72x18 1-bit MSB */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x03,0x0C,0x03,0x0F,0xE0, + 0xFF,0xFC,0x3F,0xFF,0x06,0x0E,0x03,0x8F,0xE0,0xFF,0xFC,0x3F,0xC0,0x06,0x7F,0xE1, + 0xCC,0x60,0xCC,0xCC,0x07,0x0C,0x0C,0xFF,0xC0,0x8C,0x60,0xFF,0xFC,0x0E,0x1C,0x1D, + 0x99,0x00,0x18,0x78,0x03,0x00,0x1F,0xF0,0x1F,0x31,0x87,0x30,0x79,0xFF,0xFE,0x1F, + 0xE8,0x1F,0x61,0xC7,0x80,0x00,0x03,0x00,0x03,0x8C,0x06,0x7F,0xC1,0x9F,0xF0,0x7F, + 0xF8,0x1E,0x0E,0x0C,0x7F,0x61,0x9F,0xF0,0x60,0x18,0x3F,0xFF,0x0F,0x13,0x01,0x98, + 0x60,0x7F,0xF8,0x3F,0xE3,0x1F,0x13,0x01,0x8C,0xE0,0x60,0x18,0x04,0xC8,0x00,0x33, + 0x21,0xE7,0xC0,0x7F,0xF8,0x0C,0xDE,0x01,0x33,0x61,0xE3,0x80,0x60,0x18,0x38,0xC7, + 0x1F,0xF3,0x61,0xCF,0xC0,0x7F,0xF8,0x73,0xC3,0x9F,0xE3,0xE3,0xBC,0xF9,0xFF,0xFE, + 0x03,0xC0,0x00,0xC3,0xC0,0x30,0x39,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00, }; -const SysSetGlyph g_SysSet_Title = { gImage_SysSet_Title_64x16, 64, 16, 64, 0, 0 }; +const SysSetGlyph g_SysSet_Title = { gImage_SysSet_Title_72x18, 72, 18, 72, 0, 0 }; -const unsigned char gImage_SysSet_LblVer_51x13[91] = { /* 51x13 1-bit MSB */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xC1,0x08,0x14,0x18,0x08,0x00,0xFF,0xE1, - 0x68,0x3D,0xF8,0x08,0x00,0xC4,0x63,0x7E,0x3D,0x01,0xFF,0xC0,0xFF,0xE3,0x7F,0x3D, - 0xF0,0x1C,0x00,0xC4,0x67,0xC8,0x3F,0xF8,0x3E,0x00,0xDF,0x67,0xC8,0x31,0xD8,0x2A, - 0x00,0xDF,0x67,0x0C,0x3D,0xD0,0x6B,0x00,0xD1,0x63,0xFF,0x3D,0x70,0xC9,0x80,0xDF, - 0x63,0x08,0x35,0x71,0xBE,0xC0,0xC0,0x63,0x08,0x37,0x71,0x7F,0x40,0xFF,0xE3,0x08, - 0x26,0xD8,0x08,0x00,0xC0,0x62,0x08,0x24,0x88,0x08,0x00, +const unsigned char gImage_SysSet_LblVer_71x18[162] = { /* 71x18 1-bit MSB */ + 0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x06,0x0C,0x06,0xC0,0x60, + 0x06,0x00,0x7F,0xFE,0x06,0xCC,0x06,0xDF,0xF0,0x06,0x00,0x61,0x86,0x0C,0xCC,0x06, + 0xDF,0x81,0xFF,0xF8,0x61,0x86,0x0C,0xFF,0x86,0xD8,0x03,0xFF,0xFC,0x7F,0xFE,0x1C, + 0xFF,0xC6,0xD8,0x00,0x0F,0x00,0x7F,0xFE,0x1D,0x8C,0x07,0xFF,0xE0,0x1F,0x80,0x61, + 0x86,0x3D,0x8C,0x07,0xDF,0xE0,0x1F,0x80,0x6F,0xF6,0x3D,0x8C,0x06,0x1E,0x60,0x36, + 0xC0,0x6F,0xF6,0x2C,0x0C,0x07,0xDE,0x60,0x76,0xE0,0x6C,0x36,0x2D,0xFF,0xC7,0xDB, + 0x40,0xE6,0x70,0x6C,0x36,0x0D,0xFF,0xC6,0xDB,0xC1,0xC6,0x38,0x6F,0xF6,0x0C,0x0C, + 0x06,0xD9,0xC3,0xBF,0xDC,0x67,0xE6,0x0C,0x0C,0x06,0xF1,0x83,0x3F,0xCC,0x60,0x06, + 0x0C,0x0C,0x04,0xF3,0xC0,0x06,0x00,0x7F,0xFE,0x0C,0x0C,0x0C,0xFE,0x70,0x06,0x00, + 0x7F,0xFE,0x0C,0x0C,0x0C,0xEC,0x30,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00, }; -const SysSetGlyph g_SysSet_LblVer = { gImage_SysSet_LblVer_51x13, 51, 13, 51, 0, 0 }; +const SysSetGlyph g_SysSet_LblVer = { gImage_SysSet_LblVer_71x18, 71, 18, 71, 0, 0 }; -const unsigned char gImage_SysSet_LblUsb_52x13[91] = { /* 52x13 1-bit MSB */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x90,0x02,0x80,0x61,0x9F, - 0x3F,0x0B,0xFC,0x02,0x40,0x61,0xB3,0x3F,0x9E,0x90,0xFF,0xE0,0x61,0xA0,0x31,0x9D, - 0xFC,0xFF,0xE0,0x61,0xB0,0x31,0x8D,0x0C,0x03,0x00,0x61,0xBC,0x3F,0x1D,0xFC,0xFF, - 0x00,0x61,0x8F,0x3F,0x9F,0xFC,0x7B,0x00,0x61,0x83,0xB1,0x98,0x60,0x33,0x00,0x61, - 0x21,0xB1,0x8B,0xFC,0x31,0x20,0x73,0x33,0x33,0x88,0x70,0x3D,0xA0,0x3E,0x3F,0x3F, - 0x09,0xD8,0xF8,0xE0,0x00,0x00,0x00,0x0B,0x0C,0x00,0xC0, +const unsigned char gImage_SysSet_LblUsb_70x18[162] = { /* 70x18 1-bit MSB */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x08,0x80, + 0x01,0xA0,0xC0,0x61,0xF0,0xFF,0x03,0x7F,0xF0,0x01,0xB8,0xE0,0xE3,0xFC,0xFF,0x83, + 0x7F,0xF0,0x01,0x98,0xE0,0xE7,0x1C,0xE3,0xCF,0x88,0x83,0xFF,0xFC,0xE0,0xE6,0x00, + 0xE1,0xCF,0xBF,0xE3,0xFF,0xFC,0xE0,0xE6,0x00,0xE1,0xC3,0x3F,0xE0,0x01,0x80,0xE0, + 0xE7,0x00,0xE3,0x87,0x3F,0xE0,0x01,0x80,0xE0,0xE3,0xE0,0xFF,0x07,0xBF,0xE3,0xFD, + 0x80,0xE0,0xE1,0xF8,0xFF,0x8F,0xF0,0x61,0xFD,0x80,0xE0,0xE0,0x3C,0xE1,0xCF,0x3F, + 0xE0,0x61,0x80,0xE0,0xE0,0x0E,0xE0,0xCB,0x06,0x00,0x61,0x80,0xE0,0xE0,0x0E,0xE0, + 0xEB,0x7F,0xF0,0x60,0xCC,0x70,0xC6,0x0C,0xE1,0xC3,0x7F,0xE0,0x7E,0xCC,0x7F,0xC7, + 0xFC,0xFF,0xC3,0x0F,0x83,0xFE,0xEC,0x3F,0x83,0xF8,0xFF,0x03,0x79,0xE3,0xF0,0x78, + 0x00,0x00,0x00,0x00,0x03,0x70,0x70,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00, }; -const SysSetGlyph g_SysSet_LblUsb = { gImage_SysSet_LblUsb_52x13, 52, 13, 52, 0, 0 }; +const SysSetGlyph g_SysSet_LblUsb = { gImage_SysSet_LblUsb_70x18, 70, 18, 70, 0, 0 }; -const unsigned char gImage_SysSet_LblAuto_51x13[91] = { /* 51x13 1-bit MSB */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x08,0x08,0x60,0xC0,0x00,0x7F,0xC7, - 0xC8,0x0C,0x40,0xCF,0x00,0x7F,0xC0,0x3F,0x1F,0xF1,0xE9,0x00,0x40,0x40,0x3F,0x1F, - 0xF1,0xE9,0x00,0x7F,0xC7,0xD9,0x01,0x00,0xC9,0x00,0x7F,0xC3,0x1B,0x03,0x00,0xE9, - 0x00,0x40,0x43,0x9B,0x3F,0xF9,0xF9,0x00,0x7F,0xC2,0xDB,0x03,0x81,0xC9,0x00,0x60, - 0x46,0x53,0x03,0x80,0xD9,0x40,0x40,0x47,0xF3,0x0E,0xE0,0xD9,0x40,0x7F,0xC4,0x3F, - 0x38,0x78,0xF1,0xC0,0x40,0x40,0x26,0x30,0x18,0xF0,0xC0, +const unsigned char gImage_SysSet_LblAuto_69x18[162] = { /* 69x18 1-bit MSB */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x10,0x03,0x03,0x01, + 0x80,0x00,0x06,0x00,0x3F,0x10,0x01,0x86,0x01,0x8F,0xC0,0x7F,0xFC,0x3F,0x10,0x01, + 0x8E,0x01,0x8F,0xC0,0x7F,0xFC,0x00,0x7F,0x0F,0xFF,0xC7,0xEC,0xC0,0x60,0x1C,0x00, + 0x7F,0x0F,0xFF,0xC7,0xEC,0xC0,0x60,0x1C,0x7F,0x31,0x00,0x30,0x01,0x8C,0xC0,0x7F, + 0xFC,0x7F,0xB1,0x00,0x30,0x01,0x8C,0xC0,0x60,0x1C,0x18,0x31,0x00,0x30,0x03,0xEC, + 0xC0,0x60,0x1C,0x18,0x31,0x1F,0xFF,0xE3,0xFC,0xC0,0x7F,0xFC,0x1A,0x31,0x0F,0xFF, + 0xC7,0xAC,0xC0,0x7F,0xFC,0x33,0x33,0x00,0x78,0x07,0x8C,0xC8,0x60,0x1C,0x33,0x33, + 0x00,0xFC,0x05,0x8C,0xD8,0x60,0x1C,0x7F,0xE3,0x01,0xCE,0x01,0x98,0xD8,0x7F,0xFC, + 0x7F,0xE3,0x07,0x87,0x01,0x98,0xD8,0x7F,0xFC,0x00,0xFF,0x1F,0x03,0xE1,0xB0,0xF8, + 0x60,0x1C,0x00,0xCE,0x1C,0x00,0xE1,0xB0,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00, }; -const SysSetGlyph g_SysSet_LblAuto = { gImage_SysSet_LblAuto_51x13, 51, 13, 51, 0, 0 }; +const SysSetGlyph g_SysSet_LblAuto = { gImage_SysSet_LblAuto_69x18, 69, 18, 69, 0, 0 }; -const unsigned char gImage_SysSet_LblRestore_78x13[130] = { /* 78x13 1-bit MSB */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x00,0xC0,0x00,0x80,0x00, - 0x02,0x3C,0x1F,0xF0,0x37,0xF1,0xFF,0x88,0x88,0x7F,0xE3,0x3E,0x36,0xD8,0x7F,0xF3, - 0x80,0x08,0x88,0x60,0x01,0x66,0x3F,0xF8,0x7A,0xC3,0xFF,0x08,0x88,0x60,0x00,0x67, - 0x03,0x80,0x76,0xD1,0xFF,0x0F,0xF8,0x60,0x06,0x40,0x3F,0xF8,0x77,0xF1,0x81,0x0F, - 0xF8,0x60,0x02,0x7E,0x1F,0xF0,0x77,0xE1,0xFF,0x00,0x80,0x60,0x02,0x66,0x1F,0xF0, - 0x3D,0xC0,0xC0,0x18,0x8C,0x60,0x02,0x26,0x1F,0xF0,0x3D,0xC1,0xFF,0x18,0x8C,0x40, - 0x03,0xBC,0x1F,0xF0,0x39,0x63,0x7E,0x18,0x8C,0xC0,0x03,0x9C,0x1F,0xF0,0x37,0x30, - 0xFF,0x1F,0xFC,0xC0,0x03,0xF7,0x18,0x30,0x34,0x13,0xC3,0x80,0x0C,0x80,0x00,0xC1, - 0x3F,0xF8, +const unsigned char gImage_SysSet_LblRestore_108x18[252] = { /* 108x18 1-bit MSB */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0xC0, + 0x03,0x00,0x00,0x0C,0x00,0x00,0x00,0x30,0xFE,0x0F,0xFF,0xC0,0x18,0xC0,0x07,0xFF, + 0xE1,0x0C,0x20,0x7F,0xFE,0x38,0xFE,0x0F,0xFF,0xC0,0x1B,0xFF,0x87,0xFF,0xC3,0x0C, + 0x30,0x7F,0xFE,0x1C,0xC6,0x0C,0xCC,0xC0,0x7C,0xC0,0x0F,0xFF,0x83,0x0C,0x30,0x60, + 0x00,0x08,0xC6,0x0F,0xFF,0xC0,0x7E,0xC8,0x1F,0xFF,0x83,0x0C,0x30,0x60,0x00,0x01, + 0x87,0x80,0x30,0x00,0x78,0xD8,0x16,0x01,0x83,0x0C,0x30,0x60,0x00,0x73,0x07,0x9F, + 0xFF,0xE0,0x79,0xD9,0x87,0xFF,0x83,0xFF,0xF0,0x60,0x00,0x78,0x00,0x00,0x30,0x00, + 0x59,0xFB,0x06,0x01,0x81,0xFF,0xE0,0x60,0x00,0x19,0xFF,0x07,0xFF,0x80,0x59,0xFB, + 0x07,0xFF,0x80,0x0C,0x00,0x60,0x00,0x19,0xFF,0x06,0x01,0x80,0x19,0xBE,0x01,0x80, + 0x03,0x0C,0x30,0x60,0x00,0x19,0x86,0x07,0xFF,0x80,0x1B,0x1C,0x03,0xFF,0x83,0x0C, + 0x30,0x60,0x00,0x18,0xCE,0x06,0x01,0x80,0x1B,0x3C,0x07,0xFF,0x83,0x0C,0x30,0xE0, + 0x00,0x1E,0x7C,0x07,0xFF,0x80,0x1E,0x36,0x1D,0xC7,0x03,0x0C,0x30,0xC0,0x00,0x1E, + 0x38,0x06,0x01,0x80,0x1E,0x67,0x08,0x7E,0x03,0x0C,0x30,0xC0,0x00,0x1C,0xFC,0x07, + 0xFF,0x80,0x19,0xC3,0x83,0xFF,0xC3,0xFF,0xF1,0xC0,0x00,0x3B,0xCF,0x9F,0xFF,0xE0, + 0x19,0x81,0x9F,0x83,0xE0,0x00,0x31,0x80,0x00,0x03,0x03,0x9F,0xFF,0xE0,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, }; -const SysSetGlyph g_SysSet_LblRestore = { gImage_SysSet_LblRestore_78x13, 78, 13, 78, 0, 0 }; +const SysSetGlyph g_SysSet_LblRestore = { gImage_SysSet_LblRestore_108x18, 108, 18, 108, 0, 0 }; -const unsigned char gImage_SysSet_UsbUpdate_52x13[91] = { /* 52x13 1-bit MSB */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x20,0x20,0x61,0x9F, - 0x3F,0x1F,0xFC,0xFF,0xE0,0x61,0xB3,0x3F,0x8F,0xF8,0x5B,0x00,0x61,0xA0,0x31,0x8F, - 0xF8,0x5B,0x00,0x61,0xB0,0x31,0x8D,0xC8,0xFF,0xE0,0x61,0xBC,0x3F,0x0F,0xF8,0x33, - 0xE0,0x61,0x8F,0x3F,0x8C,0xC8,0xFF,0x40,0x61,0x83,0xB1,0x8F,0xF8,0xFB,0x40,0x61, - 0x21,0xB1,0x85,0x80,0xFA,0x40,0x73,0x33,0x33,0x87,0x80,0xBE,0x40,0x3E,0x3F,0x3F, - 0x0F,0xFC,0xF6,0x40,0x00,0x00,0x00,0x18,0x3C,0x64,0x40, +const unsigned char gImage_SysSet_UsbUpdate_71x18[162] = { /* 71x18 1-bit MSB */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xF0, + 0x60,0x08,0xC0,0x61,0xF0,0xFF,0x0F,0xFF,0xF1,0xFD,0xFC,0xE0,0xE3,0xFC,0xFF,0x80, + 0x18,0x03,0xFD,0xF0,0xE0,0xE7,0x1C,0xE3,0xC3,0xFF,0xC0,0x99,0x80,0xE0,0xE6,0x00, + 0xE1,0xC3,0xFF,0xE0,0xD9,0x80,0xE0,0xE6,0x00,0xE1,0xC2,0x18,0x63,0xFD,0x80,0xE0, + 0xE7,0x00,0xE3,0x83,0xFF,0xE3,0xFF,0xFC,0xE0,0xE3,0xE0,0xFF,0x03,0xFF,0xE0,0x21, + 0xFC,0xE0,0xE1,0xF8,0xFF,0x82,0x18,0x60,0x71,0x90,0xE0,0xE0,0x3C,0xE1,0xC3,0xFF, + 0xE3,0xFD,0x90,0xE0,0xE0,0x0E,0xE0,0xC3,0xFF,0xC0,0x61,0x90,0xE0,0xE0,0x0E,0xE0, + 0xE3,0x98,0x01,0xB9,0x90,0x70,0xC6,0x0C,0xE1,0xC1,0xF0,0x01,0x2F,0x90,0x7F,0xC7, + 0xFC,0xFF,0xC0,0xF8,0x03,0x27,0x10,0x3F,0x83,0xF8,0xFF,0x07,0xFF,0xF3,0xE3,0x10, + 0x00,0x00,0x00,0x00,0x0F,0x03,0xF0,0xE6,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00, }; -const SysSetGlyph g_SysSet_UsbUpdate = { gImage_SysSet_UsbUpdate_52x13, 52, 13, 52, 0, 0 }; +const SysSetGlyph g_SysSet_UsbUpdate = { gImage_SysSet_UsbUpdate_71x18, 71, 18, 71, 0, 0 }; -const unsigned char gImage_SysSet_UsbMidi_59x12[96] = { /* 59x12 1-bit MSB */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x9F,0x3F,0x00,0xC0,0xCD,0xF8,0x60, - 0x61,0xB3,0x3F,0x80,0xC1,0xCD,0xFC,0x60,0x61,0xA0,0x31,0x80,0xE1,0xCD,0x86,0x60, - 0x61,0xB0,0x31,0x80,0xF3,0xCD,0x86,0x60,0x61,0xBC,0x3F,0x00,0xF2,0xCD,0x86,0x60, - 0x61,0x8F,0x3F,0x80,0xDE,0xCD,0x82,0x60,0x61,0x83,0xB1,0x80,0xCC,0xCD,0x86,0x60, - 0x61,0x21,0xB1,0x80,0xC8,0xCD,0x86,0x60,0x73,0x33,0x33,0x80,0xC0,0xCD,0xBC,0x60, - 0x3E,0x3F,0x3F,0x00,0xC0,0xCD,0xF8,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +const unsigned char gImage_SysSet_UsbMidi_80x16[160] = { /* 80x16 1-bit MSB */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x61,0xF0,0xFF,0x00,0x38, + 0x03,0x31,0xFE,0x06,0xE0,0xE3,0xFC,0xFF,0x80,0x38,0x07,0x39,0xFF,0x07,0xE0,0xE7, + 0x1C,0xE3,0xC0,0x3C,0x0F,0x39,0xC3,0x87,0xE0,0xE6,0x00,0xE1,0xC0,0x3C,0x0F,0x39, + 0xC1,0xC7,0xE0,0xE6,0x00,0xE1,0xC0,0x3E,0x1F,0x39,0xC0,0xC7,0xE0,0xE7,0x00,0xE3, + 0x80,0x37,0x1B,0x39,0xC0,0xE7,0xE0,0xE3,0xE0,0xFF,0x00,0x33,0x33,0x39,0xC0,0xE7, + 0xE0,0xE1,0xF8,0xFF,0x80,0x33,0xF3,0x39,0xC0,0x67,0xE0,0xE0,0x3C,0xE1,0xC0,0x31, + 0xE3,0x39,0xC0,0xE7,0xE0,0xE0,0x0E,0xE0,0xC0,0x30,0xE3,0x39,0xC0,0xE7,0xE0,0xE0, + 0x0E,0xE0,0xE0,0x30,0xC3,0x39,0xC0,0xC7,0x70,0xC6,0x0C,0xE1,0xC0,0x30,0x03,0x39, + 0xC3,0xC7,0x7F,0xC7,0xFC,0xFF,0xC0,0x30,0x03,0x39,0xFF,0x87,0x3F,0x83,0xF8,0xFF, + 0x00,0x30,0x03,0x39,0xFE,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, }; -const SysSetGlyph g_SysSet_UsbMidi = { gImage_SysSet_UsbMidi_59x12, 59, 12, 59, 0, 0 }; +const SysSetGlyph g_SysSet_UsbMidi = { gImage_SysSet_UsbMidi_80x16, 80, 16, 80, 0, 0 }; -const unsigned char gImage_SysSet_Off_25x13[52] = { /* 25x13 1-bit MSB */ - 0x00,0x00,0x00,0x00,0x10,0xC1,0x3F,0x00,0x18,0x81,0xBF,0x80,0x3F,0xE0,0x89,0x80, - 0x3F,0xE3,0x0D,0x80,0x02,0x03,0xFF,0x80,0x06,0x03,0x1D,0x80,0x7F,0xF3,0x3D,0x80, - 0x07,0x03,0x6D,0x80,0x07,0x03,0xCD,0x80,0x1D,0xC3,0x9D,0x80,0x70,0xF3,0x3F,0x80, - 0x60,0x33,0x07,0x00, +const unsigned char gImage_SysSet_Off_34x18[90] = { /* 34x18 1-bit MSB */ + 0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x00,0x00,0x0C,0x30,0x0E,0xFF,0x80,0x0C, + 0x70,0x06,0x01,0x80,0x7F,0xFE,0x10,0x19,0x80,0x7F,0xFE,0x18,0x19,0x80,0x01,0x80, + 0x1B,0xFF,0x80,0x01,0x80,0x1B,0xFF,0x80,0x01,0x80,0x18,0x79,0x80,0xFF,0xFF,0x18, + 0x79,0x80,0x7F,0xFE,0x18,0xD9,0x80,0x03,0xC0,0x19,0x99,0x80,0x07,0xE0,0x1F,0x19, + 0x80,0x0E,0x70,0x1E,0x19,0x80,0x3C,0x38,0x18,0xF9,0x80,0xF8,0x1F,0x18,0x7F,0x80, + 0xE0,0x07,0x18,0x07,0x80,0x00,0x00,0x00,0x00,0x00, }; -const SysSetGlyph g_SysSet_Off = { gImage_SysSet_Off_25x13, 25, 13, 25, 0, 0 }; +const SysSetGlyph g_SysSet_Off = { gImage_SysSet_Off_34x18, 34, 18, 34, 0, 0 }; -const unsigned char gImage_SysSet_D0_8x13[13] = { /* 8x13 1-bit MSB */ - 0x00,0x3C,0x76,0x62,0x63,0x43,0x43,0x63,0x63,0x76,0x3C,0x00,0x00, +const unsigned char gImage_SysSet_D0_10x25[50] = { /* 10x25 1-bit MSB */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x7F,0x00,0x63,0x80, + 0xE1,0x80,0xE1,0xC0,0xC1,0xC0,0xC1,0xC0,0xC1,0xC0,0xC1,0xC0,0xC1,0xC0,0xE1,0x80, + 0x63,0x80,0x7F,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00, }; -const SysSetGlyph g_SysSet_D0 = { gImage_SysSet_D0_8x13, 8, 13, 8, 0, 0 }; +const SysSetGlyph g_SysSet_D0 = { gImage_SysSet_D0_10x25, 10, 25, 12, 1, 0 }; -const unsigned char gImage_SysSet_D1_4x13[13] = { /* 4x13 1-bit MSB */ - 0x00,0x30,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00, +const unsigned char gImage_SysSet_D1_5x25[25] = { /* 5x25 1-bit MSB */ + 0x00,0x00,0x00,0x00,0x00,0x38,0xF8,0xF8,0x98,0x18,0x18,0x18,0x18,0x18,0x18,0x18, + 0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00, }; -const SysSetGlyph g_SysSet_D1 = { gImage_SysSet_D1_4x13, 4, 13, 6, 0, 0 }; +const SysSetGlyph g_SysSet_D1 = { gImage_SysSet_D1_5x25, 5, 25, 8, 1, 0 }; -const unsigned char gImage_SysSet_D2_7x13[13] = { /* 7x13 1-bit MSB */ - 0x00,0x3C,0x6E,0x46,0x06,0x0C,0x0C,0x18,0x30,0x60,0xFE,0x00,0x00, +const unsigned char gImage_SysSet_D2_10x25[50] = { /* 10x25 1-bit MSB */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x3F,0x80,0x71,0x80, + 0x61,0x80,0x01,0x80,0x01,0x80,0x03,0x80,0x07,0x00,0x0E,0x00,0x1C,0x00,0x18,0x00, + 0x38,0x00,0x7F,0xC0,0x7F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00, }; -const SysSetGlyph g_SysSet_D2 = { gImage_SysSet_D2_7x13, 7, 13, 8, 0, 0 }; +const SysSetGlyph g_SysSet_D2 = { gImage_SysSet_D2_10x25, 10, 25, 11, 0, 0 }; -const unsigned char gImage_SysSet_D3_7x13[13] = { /* 7x13 1-bit MSB */ - 0x00,0xFC,0xFC,0x18,0x30,0x78,0x0C,0x04,0x04,0xCC,0x78,0x00,0x00, +const unsigned char gImage_SysSet_D3_9x25[50] = { /* 9x25 1-bit MSB */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0xFF,0x00,0x07,0x00, + 0x0E,0x00,0x1C,0x00,0x38,0x00,0x3E,0x00,0x1F,0x00,0x03,0x80,0x01,0x80,0x01,0x80, + 0xC3,0x80,0xFF,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00, }; -const SysSetGlyph g_SysSet_D3 = { gImage_SysSet_D3_7x13, 7, 13, 8, 1, 0 }; +const SysSetGlyph g_SysSet_D3 = { gImage_SysSet_D3_9x25, 9, 25, 11, 1, 0 }; -const unsigned char gImage_SysSet_D4_8x13[13] = { /* 8x13 1-bit MSB */ - 0x00,0x0C,0x1C,0x1C,0x34,0x24,0x64,0xFE,0xFF,0x04,0x04,0x00,0x00, +const unsigned char gImage_SysSet_D4_11x25[50] = { /* 11x25 1-bit MSB */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x07,0x80,0x0F,0x80, + 0x0F,0x80,0x1D,0x80,0x19,0x80,0x39,0x80,0x31,0x80,0x61,0x80,0x7F,0xC0,0xFF,0xE0, + 0x03,0x80,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00, }; -const SysSetGlyph g_SysSet_D4 = { gImage_SysSet_D4_8x13, 8, 13, 8, 0, 0 }; +const SysSetGlyph g_SysSet_D4 = { gImage_SysSet_D4_11x25, 11, 25, 11, 0, 0 }; -const unsigned char gImage_SysSet_D5_7x13[13] = { /* 7x13 1-bit MSB */ - 0x00,0xFC,0xF8,0xC0,0xC0,0xF8,0xCC,0x04,0x04,0xCC,0x78,0x00,0x00, +const unsigned char gImage_SysSet_D5_9x25[50] = { /* 9x25 1-bit MSB */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x7F,0x00,0x60,0x00, + 0x60,0x00,0xE0,0x00,0xFC,0x00,0xFF,0x00,0xF7,0x80,0x01,0x80,0x01,0x80,0x01,0x80, + 0xC3,0x80,0xFF,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00, }; -const SysSetGlyph g_SysSet_D5 = { gImage_SysSet_D5_7x13, 7, 13, 8, 1, 0 }; +const SysSetGlyph g_SysSet_D5 = { gImage_SysSet_D5_9x25, 9, 25, 11, 1, 0 }; -const unsigned char gImage_SysSet_D6_8x13[13] = { /* 8x13 1-bit MSB */ - 0x00,0x18,0x18,0x30,0x30,0x7E,0x66,0x43,0x43,0x66,0x3C,0x00,0x00, +const unsigned char gImage_SysSet_D6_10x25[50] = { /* 10x25 1-bit MSB */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x1C,0x00,0x18,0x00, + 0x38,0x00,0x30,0x00,0x7E,0x00,0x7F,0x00,0xE3,0x80,0xC1,0x80,0xC1,0x80,0xC1,0x80, + 0xE1,0x80,0x7F,0x80,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00, }; -const SysSetGlyph g_SysSet_D6 = { gImage_SysSet_D6_8x13, 8, 13, 8, 0, 0 }; +const SysSetGlyph g_SysSet_D6 = { gImage_SysSet_D6_10x25, 10, 25, 11, 1, 0 }; -const unsigned char gImage_SysSet_D7_7x13[13] = { /* 7x13 1-bit MSB */ - 0x00,0xFE,0x7E,0x0C,0x0C,0x18,0x18,0x10,0x30,0x30,0x60,0x00,0x00, +const unsigned char gImage_SysSet_D7_9x25[50] = { /* 9x25 1-bit MSB */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x80,0xFF,0x80,0x03,0x80, + 0x03,0x00,0x03,0x00,0x07,0x00,0x06,0x00,0x0E,0x00,0x0C,0x00,0x1C,0x00,0x18,0x00, + 0x18,0x00,0x38,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00, }; -const SysSetGlyph g_SysSet_D7 = { gImage_SysSet_D7_7x13, 7, 13, 7, 0, 0 }; +const SysSetGlyph g_SysSet_D7 = { gImage_SysSet_D7_9x25, 9, 25, 10, 0, 0 }; -const unsigned char gImage_SysSet_D8_8x13[13] = { /* 8x13 1-bit MSB */ - 0x00,0x3C,0x66,0x62,0x66,0x3C,0x7E,0x63,0x43,0x67,0x3E,0x00,0x00, +const unsigned char gImage_SysSet_D8_10x25[50] = { /* 10x25 1-bit MSB */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x7F,0x00,0x63,0x80, + 0xE1,0x80,0x61,0x80,0x73,0x80,0x3F,0x00,0x7F,0x00,0xE1,0x80,0xC1,0xC0,0xC1,0xC0, + 0xE1,0xC0,0x7F,0x80,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00, }; -const SysSetGlyph g_SysSet_D8 = { gImage_SysSet_D8_8x13, 8, 13, 8, 0, 0 }; +const SysSetGlyph g_SysSet_D8 = { gImage_SysSet_D8_10x25, 10, 25, 12, 1, 0 }; -const unsigned char gImage_SysSet_D9_8x13[13] = { /* 8x13 1-bit MSB */ - 0x00,0x3C,0x66,0x42,0xC2,0x66,0x7E,0x1C,0x0C,0x18,0x18,0x00,0x00, +const unsigned char gImage_SysSet_D9_11x25[50] = { /* 11x25 1-bit MSB */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x3F,0x80,0x71,0xC0, + 0x60,0xC0,0x60,0xC0,0x60,0xC0,0x71,0xC0,0x3F,0xC0,0x1F,0x80,0x03,0x80,0x03,0x00, + 0x07,0x00,0x0E,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00, }; -const SysSetGlyph g_SysSet_D9 = { gImage_SysSet_D9_8x13, 8, 13, 8, 0, 0 }; +const SysSetGlyph g_SysSet_D9 = { gImage_SysSet_D9_11x25, 11, 25, 11, 0, 0 }; -const unsigned char gImage_SysSet_Dot_2x13[13] = { /* 2x13 1-bit MSB */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0x00,0x00, -}; - -const SysSetGlyph g_SysSet_Dot = { gImage_SysSet_Dot_2x13, 2, 13, 3, 1, 0 }; - -const unsigned char gImage_SysSet_Back_29x24[96] = { /* 29x24 1-bit MSB */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x00, - 0x00,0x78,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0xFF,0xFE,0x00,0x01,0xFF,0xFE,0x00, - 0x01,0xFF,0xFE,0x00,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x3C,0x00,0x00, - 0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +const unsigned char gImage_SysSet_Dot_3x25[25] = { /* 3x25 1-bit MSB */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00, }; -const SysSetGlyph g_SysSet_Back = { gImage_SysSet_Back_29x24, 29, 24, 29, 0, 0 }; +const SysSetGlyph g_SysSet_Dot = { gImage_SysSet_Dot_3x25, 3, 25, 5, 1, 0 }; -const unsigned char gImage_SysSet_Chevron_10x17[34] = { /* 10x17 1-bit MSB */ +const unsigned char gImage_SysSet_Back_16x10[20] = { /* 16x10 1-bit MSB */ + 0x1E,0x00,0x3C,0x00,0x38,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0x78,0x00,0x3C,0x00, + 0x1E,0x00,0x0E,0x00, +}; + +const SysSetGlyph g_SysSet_Back = { gImage_SysSet_Back_16x10, 16, 10, 16, 0, 0 }; + +const unsigned char gImage_SysSet_Chevron_10x16[32] = { /* 10x16 1-bit MSB */ 0xC0,0x00,0x60,0x00,0x78,0x00,0x3C,0x00,0x1E,0x00,0x07,0x00,0x03,0x80,0x01,0xC0, 0x01,0xC0,0x03,0xC0,0x07,0x80,0x0E,0x00,0x3C,0x00,0x78,0x00,0x70,0x00,0xE0,0x00, - 0x00,0x00, }; -const SysSetGlyph g_SysSet_Chevron = { gImage_SysSet_Chevron_10x17, 10, 17, 10, 0, 0 }; +const SysSetGlyph g_SysSet_Chevron = { gImage_SysSet_Chevron_10x16, 10, 16, 10, 0, 0 }; -const unsigned char gImage_SysSet_TriL_22x21[924] = { /* 22x21 RGB565 BE */ - 0x00,0x00,0x00,0x00,0x08,0x62,0x08,0x83,0x08,0x83,0x08,0x83,0x08,0x83,0x08,0x83, +const unsigned char gImage_SysSet_TriL_19x18[684] = { /* 19x18 RGB565 BE */ + 0x00,0x00,0x00,0x20,0x08,0x62,0x08,0x83,0x08,0x83,0x08,0x83,0x08,0x83,0x08,0x83, 0x08,0x83,0x08,0x83,0x08,0x83,0x08,0x83,0x08,0x83,0x08,0x83,0x08,0x83,0x08,0x83, - 0x08,0x83,0x08,0x83,0x08,0x83,0x08,0x62,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x83, + 0x08,0x62,0x00,0x20,0x00,0x00,0x00,0x20,0x08,0x83,0x10,0x83,0x10,0xA4,0x10,0xA4, 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0x83,0x08,0xA4,0x00,0x21,0x08,0x62,0x08,0x84, 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x08,0xA4,0x00,0x00,0x08,0x62,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x08,0x83,0x08,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x08,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x6B,0x6E,0xE7,0x1C,0x7B,0xF0,0x10,0xA4,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x10,0xC4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83, + 0x08,0x83,0x08,0x63,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83,0x00,0x01,0x08,0x63,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83,0x08,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x08,0x83,0x10,0xA4,0x10,0xA4,0x08,0x83,0x00,0x22,0x39,0xE8, + 0xA5,0x34,0x4A,0x8B,0x08,0x63,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83, + 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83,0x10,0xA4,0x10,0xA4,0x08,0x63,0x08,0x63, + 0x29,0x67,0xA5,0x34,0xEF,0x7D,0xFF,0xFF,0xA5,0x35,0x00,0x42,0x10,0xA4,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x08,0x83,0x10,0xA4,0x10,0xA4,0x08,0x83,0x10,0xC4,0x08,0x63, + 0x00,0x01,0x29,0x67,0x84,0x31,0xE7,0x5D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xA5,0x55, + 0x00,0x42,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83,0x10,0xA4,0x08,0x83, + 0x10,0xA4,0x00,0x01,0x21,0x25,0x4A,0x69,0xE7,0x5D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xF7,0xDE,0xFF,0xFF,0xA5,0x35,0x00,0x42,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, + 0x08,0x83,0x10,0xA4,0x10,0xA4,0x08,0x83,0x31,0xA7,0xBE,0x18,0xFF,0xFF,0xFF,0xFF, + 0xF7,0xDE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xA5,0x35,0x00,0x42,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83,0x10,0xA4,0x10,0xC4,0x00,0x01,0x94,0xB3, + 0xFF,0xFF,0xF7,0xDE,0xF7,0xDE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xA5,0x35,0x00,0x42,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83,0x10,0xA4, + 0x10,0xA4,0x08,0x83,0x19,0x25,0x6B,0x8E,0xDE,0xFC,0xFF,0xFF,0xFF,0xFF,0xF7,0xDE, + 0xF7,0xDE,0xFF,0xFF,0xFF,0xFF,0xA5,0x35,0x00,0x42,0x10,0xA4,0x10,0xA4,0x10,0xA4, + 0x10,0xA4,0x08,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x63,0x08,0x63,0x21,0x46, + 0x94,0x92,0xEF,0x9D,0xFF,0xFF,0xFF,0xFF,0xF7,0xDE,0xFF,0xFF,0xA5,0x35,0x00,0x42, 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x5B,0x0D, - 0xE7,0x1C,0xFF,0xFF,0xFF,0xFF,0xC6,0x39,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x08,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x4A,0x8B,0xC6,0x39,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xC6,0x39,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x08,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x00,0x00, - 0xC6,0x39,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC6,0x39, + 0x10,0xA4,0x10,0xA4,0x08,0x83,0x08,0x63,0x21,0x46,0x94,0xB2,0xE7,0x3C,0xFF,0xFF, + 0xFF,0xFF,0xAD,0x96,0x00,0x22,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83, 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x00,0x00,0xA5,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC6,0x39,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0xC6,0x39,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC6,0x39,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x08,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0xA5,0x55, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xC6,0x39,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x08,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x4A,0x8B,0xC6,0x39, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC6,0x39, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x6B,0x6E,0xE7,0x1C, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC6,0x39,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x6B,0x6E,0xE7,0x1C, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC6,0x39,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x08,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x00,0x00,0x8C,0x52,0xF7,0x9E, - 0xFF,0xFF,0xC6,0x39,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x08,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x00,0x00,0x7B,0xF0,0x00,0x00, + 0x00,0x00,0x31,0xA7,0xA5,0x34,0xDE,0xFB,0x73,0xCF,0x08,0x63,0x10,0xA4,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x08,0x62,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xC4,0x08,0x83,0x00,0x00,0x31,0xA7,0x00,0x00, + 0x10,0xA4,0x08,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83,0x10,0xA4,0x10,0xA4, 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83,0x10,0xA4, + 0x10,0xC5,0x08,0x63,0x10,0xC4,0x10,0xA3,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0xA4, + 0x00,0x21,0x10,0xA4,0x08,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83,0x10,0xA4,0x08,0x83,0x10,0xA4,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x08,0x62,0x00,0x00,0x08,0x82,0x10,0xA4,0x10,0xA4,0x10,0xA4, 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x08,0xA4,0x00,0x00,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x62, - 0x00,0x00,0x08,0x62,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83,0x00,0x00, + 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0x83,0x08,0x83,0x00,0x00, }; -const SysSetGlyph g_SysSet_TriL = { gImage_SysSet_TriL_22x21, 22, 21, 22, 0, 1 }; +const SysSetGlyph g_SysSet_TriL = { gImage_SysSet_TriL_19x18, 19, 18, 19, 0, 1 }; -const unsigned char gImage_SysSet_TriR_21x21[882] = { /* 21x21 RGB565 BE */ - 0x00,0x00,0x00,0x00,0x08,0x63,0x08,0x83,0x08,0x83,0x08,0x83,0x08,0x83,0x08,0x83, - 0x08,0x83,0x08,0x83,0x08,0x83,0x08,0x83,0x08,0x83,0x08,0x83,0x08,0x83,0x08,0x83, - 0x08,0x83,0x08,0x83,0x08,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0xA4,0x10,0xA4, +const unsigned char gImage_SysSet_TriR_18x18[648] = { /* 18x18 RGB565 BE */ + 0x00,0x00,0x00,0x21,0x08,0x63,0x08,0x82,0x08,0x83,0x08,0x83,0x08,0x83,0x08,0x83, + 0x08,0x83,0x08,0x83,0x08,0x83,0x08,0x83,0x08,0x83,0x08,0x83,0x08,0x82,0x08,0x83, + 0x00,0x21,0x00,0x00,0x00,0x21,0x10,0xA4,0x08,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4, 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x62,0x10,0xA4,0x08,0x83,0x10,0xA4,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x10,0xC4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83,0x10,0xA4,0x08,0x83,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x00,0x22,0x00,0x22,0x08,0x83,0x10,0xA4,0x08,0x83, 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x08,0x62,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x63,0x73,0xD0,0x8C,0x72,0x19,0x25, + 0x00,0x42,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x00,0x22,0xDF,0x1B, + 0xFF,0xDF,0xE7,0x3C,0x5B,0x0C,0x00,0x20,0x08,0x83,0x08,0x63,0x10,0xC4,0x10,0xA4, + 0x08,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, + 0x00,0x22,0xDE,0xFB,0xFF,0xFF,0xFF,0xFF,0xF7,0x9E,0xD6,0xDA,0x39,0xE8,0x10,0xA4, + 0x00,0x21,0x08,0x83,0x10,0xA4,0x08,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x00,0x22,0xDE,0xFB,0xFF,0xFF,0xF7,0xDE,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xBE,0x18,0x39,0xE7,0x10,0xC4,0x00,0x21,0x10,0xA4,0x08,0x83,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x00,0x22,0xDE,0xFB,0xFF,0xFF,0xF7,0xDE, + 0xFF,0xFF,0xFF,0xFF,0xF7,0xDE,0xFF,0xFF,0xFF,0xFF,0x9C,0xD3,0x18,0xE4,0x08,0x84, + 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x00,0x22,0xDE,0xFB, + 0xFF,0xFF,0xF7,0xDE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xBE,0xFF,0xFF,0xFF,0xFF, + 0x4A,0x6A,0x00,0x42,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, + 0x00,0x22,0xDE,0xFB,0xFF,0xFF,0xF7,0xDE,0xF7,0xDE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xB5,0xB6,0x31,0xA6,0x18,0xE5,0x08,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x00,0x22,0xDE,0xFB,0xFF,0xFF,0xF7,0xDE,0xFF,0xFF,0xFF,0xFF, + 0xD6,0xDB,0x6B,0x6E,0x10,0xC4,0x00,0x01,0x08,0x83,0x08,0x83,0x10,0xA4,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x00,0x22,0xE7,0x3C,0xFF,0xFF,0xFF,0xFF, + 0xD6,0xDB,0x6B,0xAF,0x18,0xE5,0x08,0x63,0x08,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x00,0x42,0xB5,0xF7, + 0xDE,0xFB,0x94,0x92,0x21,0x46,0x00,0x42,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83, 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, + 0x08,0x83,0x21,0x26,0x29,0x87,0x00,0x01,0x08,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0x83,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83,0x08,0x83,0x10,0xC4,0x10,0xA4,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0x83, + 0x08,0xA3,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, + 0x10,0xA4,0x10,0xA4,0x00,0x20,0x08,0xA3,0x10,0x83,0x10,0xA4,0x10,0xA4,0x10,0xA4, 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0xB5,0xB7, - 0xC6,0x39,0x4A,0x8B,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC6,0x39, - 0x00,0x00,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xA5,0x55,0x00,0x00, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x94,0xD4,0x00,0x00,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0x9E,0x8C,0x52,0x00,0x00,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0x8C,0x52,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x6B,0x6E, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xA5,0x55,0x00,0x00,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC6,0x39,0x4A,0x8B,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xC6,0x39,0x4A,0x8B,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0xFF,0xFF,0xFF,0xFF,0xE7,0x1C,0x6B,0x6E,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x4A,0x8B,0x6B,0x6E, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0xA3, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x00,0x00,0x08,0xA3,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4, - 0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x10,0xA4,0x08,0xA4, - 0x00,0x00, + 0x10,0xA4,0x10,0x83,0x08,0xA4,0x00,0x20, }; -const SysSetGlyph g_SysSet_TriR = { gImage_SysSet_TriR_21x21, 21, 21, 21, 0, 1 }; +const SysSetGlyph g_SysSet_TriR = { gImage_SysSet_TriR_18x18, 18, 18, 18, 0, 1 }; diff --git a/device/LCD_ILI9341/Drv_ILI9341_Lcd_Image_SysSet.h b/device/LCD_ILI9341/Drv_ILI9341_Lcd_Image_SysSet.h index 39e951c..4b510ec 100644 --- a/device/LCD_ILI9341/Drv_ILI9341_Lcd_Image_SysSet.h +++ b/device/LCD_ILI9341/Drv_ILI9341_Lcd_Image_SysSet.h @@ -37,23 +37,23 @@ extern const SysSetGlyph g_SysSet_Chevron; extern const SysSetGlyph g_SysSet_TriL; extern const SysSetGlyph g_SysSet_TriR; -#define SYSSET_BACK_X 8 -#define SYSSET_BACK_Y 7 -#define SYSSET_CHEV_X 203 -#define SYSSET_CHEV_Y 261 -#define SYSSET_TRIL_X 100 -#define SYSSET_TRIL_DY 18 -#define SYSSET_TRIR_X 191 -#define SYSSET_TRIR_DY 18 +#define SYSSET_BACK_X 15 +#define SYSSET_BACK_Y 14 +#define SYSSET_CHEV_X 211 +#define SYSSET_CHEV_Y 275 +#define SYSSET_TRIL_X 96 +#define SYSSET_TRIL_DY 22 +#define SYSSET_TRIR_X 203 +#define SYSSET_TRIR_DY 22 #define SYSSET_TITLE_Y 12 #define SYSSET_LABEL_DX 12 -#define SYSSET_VAL_X 122 -#define SYSSET_VAL_W 69 -#define SYSSET_PILL_DX 143 -#define SYSSET_PILL_DY 18 -#define SYSSET_PILL_W 54 -#define SYSSET_PILL_H 22 -#define SYSSET_PILL_R 4 -#define SYSSET_CARD_R 7 +#define SYSSET_VAL_X 119 +#define SYSSET_VAL_W 80 +#define SYSSET_PILL_DX 140 +#define SYSSET_PILL_DY 14 +#define SYSSET_PILL_W 73 +#define SYSSET_PILL_H 33 +#define SYSSET_PILL_R 6 +#define SYSSET_CARD_R 12 #endif diff --git a/tools/gen_sysset_font.py b/tools/gen_sysset_font.py index dd8d4a6..1015151 100644 --- a/tools/gen_sysset_font.py +++ b/tools/gen_sysset_font.py @@ -13,9 +13,20 @@ OUT_C = CODE / "device" / "LCD_ILI9341" / "Drv_ILI9341_Lcd_Image_SysSet.c" OUT_H = CODE / "device" / "LCD_ILI9341" / "Drv_ILI9341_Lcd_Image_SysSet.h" PREVIEW = CODE / "tools" / "out" / "sysset_preview.png" -TITLE_PX = 16 -LABEL_PX = 13 -VALUE_PX = 13 +# 设置入口字墨高约 19px。USB 行还要放下左右箭头,18px 是同一行里能对齐的最大字号。 +TITLE_PX = 18 +LABEL_PX = 18 +VALUE_PX = 18 + +CARD_X = 8 +CARD_W = 223 +CARD_H = 62 +CARD_Y0 = 42 +CARD_PITCH = 70 +CARD_R = 12 +LABEL_DX = 12 +RIGHT_PAD = 10 +CTRL_GAP = 4 def render_phrase(text, px): @@ -29,32 +40,30 @@ def render_phrase(text, px): return scratch.crop(bbox) -CELL_H = 13 -BASELINE = 11 - - def render_glyph(ch, px): """Fixed-height cell so '.' shares the digit baseline. Horizontal crop only.""" font = ImageFont.truetype(str(FONT), px) - origin = 8 - scratch = Image.new("RGBA", (72, CELL_H), (0, 0, 0, 0)) + ascent, descent = font.getmetrics() + cell_h = ascent + max(descent, 1) + baseline = ascent + origin = 4 + scratch = Image.new("RGBA", (96, cell_h), (0, 0, 0, 0)) dr = ImageDraw.Draw(scratch) try: - dr.text((origin, BASELINE), ch, font=font, fill=(255, 255, 255, 255), anchor="ls") + dr.text((origin, baseline), ch, font=font, fill=(255, 255, 255, 255), anchor="ls") except TypeError: - ascent, _ = font.getmetrics() - dr.text((origin, BASELINE - ascent), ch, font=font, fill=(255, 255, 255, 255)) + dr.text((origin, 0), ch, font=font, fill=(255, 255, 255, 255)) alpha = np.array(scratch)[:, :, 3] cols = np.where(alpha.max(axis=0) >= 40)[0] adv = max(1, int(round(font.getlength(ch)))) if len(cols) == 0: - im = Image.new("RGBA", (adv, CELL_H), (0, 0, 0, 0)) + im = Image.new("RGBA", (adv, cell_h), (0, 0, 0, 0)) return im, 0, adv x0, x1 = int(cols[0]), int(cols[-1]) - im = scratch.crop((x0, 0, x1 + 1, CELL_H)) + im = scratch.crop((x0, 0, x1 + 1, cell_h)) bear = x0 - origin if bear < 0: - pad = Image.new("RGBA", (im.size[0] - bear, CELL_H), (0, 0, 0, 0)) + pad = Image.new("RGBA", (im.size[0] - bear, cell_h), (0, 0, 0, 0)) pad.paste(im, (-bear, 0)) im = pad bear = 0 @@ -112,6 +121,11 @@ def is_card(r, g, b): return 24 <= r <= 48 and 32 <= g <= 56 and 44 <= b <= 72 +def scale_to_h(im, h): + w = max(1, int(round(im.size[0] * h / im.size[1]))) + return im.resize((w, h), Image.Resampling.LANCZOS) + + def to_1bit(im): """MSB-first ink. About 1/16 the size of RGB565, which is what internal flash can hold.""" im = im.convert("RGBA") @@ -161,12 +175,43 @@ def main(): print(f"glyph {ch!r:4} {im.size} bear {bear} adv {adv}") back, back_x, back_y = crop_widget(screen, 8, 6, 36, 32, is_page_bg) - chev, chev_x, chev_y = crop_widget(screen, 198, 255, 218, 282, lambda r, g, b: is_card(r, g, b) or is_page_bg(r, g, b)) - tri_l, tlx, tly = crop_widget(screen, 100, 132, 121, 152, is_card) - tri_r, trx, try_ = crop_widget(screen, 191, 132, 211, 152, is_card) + chev, _, _ = crop_widget(screen, 198, 255, 218, 282, lambda r, g, b: is_card(r, g, b) or is_page_bg(r, g, b)) + tri_l, _, _ = crop_widget(screen, 100, 132, 121, 152, is_card) + tri_r, _, _ = crop_widget(screen, 191, 132, 211, 152, is_card) + chev = scale_to_h(chev, 16) + tri_l = scale_to_h(tri_l, 18) + tri_r = scale_to_h(tri_r, 18) + + midi_w = pics["UsbMidi"].size[0] + upd_w = pics["UsbUpdate"].size[0] + val_w = max(midi_w, upd_w, pics["Off"].size[0]) + trir_x = CARD_X + CARD_W - RIGHT_PAD - tri_r.size[0] + val_x = trir_x - CTRL_GAP - val_w + tril_x = val_x - CTRL_GAP - tri_l.size[0] + tri_dy = (CARD_H - tri_l.size[1]) // 2 + label_end = CARD_X + LABEL_DX + pics["LblUsb"].size[0] + if label_end + 4 > tril_x: + raise SystemExit( + "USB row overflow: label ends %d, left arrow at %d" % (label_end, tril_x) + ) + ver_w = text_w("0.2.35", glyphs) + gh = glyphs["0"][0].size[1] + pill_h = gh + 8 + pill_w = ver_w + 18 + pill_dy = (CARD_H - pill_h) // 2 + pill_dx = CARD_W - RIGHT_PAD - pill_w + if LABEL_DX + pics["LblVer"].size[0] + 8 > pill_dx: + raise SystemExit("version row overflow") + row3 = CARD_Y0 + CARD_PITCH * 3 + chev_x = CARD_X + CARD_W - RIGHT_PAD - chev.size[0] + chev_y = row3 + (CARD_H - chev.size[1]) // 2 + if LABEL_DX + pics["LblRestore"].size[0] + 8 > (chev_x - CARD_X): + raise SystemExit("restore row overflow") + title_y = max(6, (CARD_Y0 - pics["Title"].size[1]) // 2) print("back", back.size, back_x, back_y) print("chev", chev.size, chev_x, chev_y) - print("triL", tri_l.size, tlx, tly, "triR", tri_r.size, trx, try_) + print("triL", tri_l.size, tril_x, "triR", tri_r.size, trir_x, "val", val_x, val_w) + print("pill", pill_dx, pill_dy, pill_w, pill_h, "title_y", title_y) h_lines = [ "#ifndef __DRV_ILI9341_LCD_IMAGE_SYSSET_H", @@ -233,20 +278,20 @@ def main(): f"#define SYSSET_BACK_Y {back_y}", f"#define SYSSET_CHEV_X {chev_x}", f"#define SYSSET_CHEV_Y {chev_y}", - f"#define SYSSET_TRIL_X {tlx}", - f"#define SYSSET_TRIL_DY {tly - 114}", - f"#define SYSSET_TRIR_X {trx}", - f"#define SYSSET_TRIR_DY {try_ - 114}", - "#define SYSSET_TITLE_Y 12", - "#define SYSSET_LABEL_DX 12", - "#define SYSSET_VAL_X 122", - "#define SYSSET_VAL_W 69", - "#define SYSSET_PILL_DX 143", - "#define SYSSET_PILL_DY 18", - "#define SYSSET_PILL_W 54", - "#define SYSSET_PILL_H 22", - "#define SYSSET_PILL_R 4", - "#define SYSSET_CARD_R 7", + f"#define SYSSET_TRIL_X {tril_x}", + f"#define SYSSET_TRIL_DY {tri_dy}", + f"#define SYSSET_TRIR_X {trir_x}", + f"#define SYSSET_TRIR_DY {tri_dy}", + f"#define SYSSET_TITLE_Y {title_y}", + f"#define SYSSET_LABEL_DX {LABEL_DX}", + f"#define SYSSET_VAL_X {val_x}", + f"#define SYSSET_VAL_W {val_w}", + f"#define SYSSET_PILL_DX {pill_dx}", + f"#define SYSSET_PILL_DY {pill_dy}", + f"#define SYSSET_PILL_W {pill_w}", + f"#define SYSSET_PILL_H {pill_h}", + "#define SYSSET_PILL_R 6", + f"#define SYSSET_CARD_R {CARD_R}", "", "#endif", "", @@ -254,8 +299,10 @@ def main(): OUT_H.write_text("\n".join(h_lines), encoding="utf-8", newline="\n") OUT_C.write_text("\n".join(c_lines), encoding="utf-8", newline="\n") print("wrote", OUT_C.stat().st_size, OUT_H.stat().st_size, "payload", payload[0]) - preview(screen, pics, glyphs, back, (back_x, back_y), chev, (chev_x, chev_y), - tri_l, (tlx, tly), tri_r, (trx, try_)) + preview(pics, glyphs, back, (back_x, back_y), chev, (chev_x, chev_y), + tri_l, (tril_x, CARD_Y0 + CARD_PITCH + tri_dy), + tri_r, (trir_x, CARD_Y0 + CARD_PITCH + tri_dy), + val_x, val_w, pill_dx, pill_dy, pill_w, pill_h, title_y) def fill_round(canvas, x, y, w, h, r, color): @@ -311,42 +358,42 @@ def draw_text(canvas, x, y, s, glyphs): x += adv -def preview(screen, pics, glyphs, back, back_xy, chev, chev_xy, tri_l, tl, tri_r, tr): +def preview(pics, glyphs, back, back_xy, chev, chev_xy, tri_l, tl, tri_r, tr, + val_x, val_w, pill_dx, pill_dy, pill_w, pill_h, title_y): canvas = np.zeros((320, 240, 3), dtype=np.uint8) - canvas[:, :] = (0, 8, 16) - card = (32, 40, 56) + canvas[:, :] = (0, 8, 19) + card = (36, 43, 58) for i in range(4): - fill_round(canvas, 16, 51 + 63 * i, 207, 58, 7, card) + fill_round(canvas, CARD_X, CARD_Y0 + CARD_PITCH * i, CARD_W, CARD_H, CARD_R, card) paste(canvas, back, back_xy[0], back_xy[1]) title = pics["Title"] - paste(canvas, title, (240 - title.size[0]) // 2, 12) + paste(canvas, title, (240 - title.size[0]) // 2, title_y) labels = ["LblVer", "LblUsb", "LblAuto", "LblRestore"] for i, name in enumerate(labels): im = pics[name] - y = 51 + 63 * i + (58 - im.size[1]) // 2 - paste(canvas, im, 16 + 12, y) - # buttons on rows 1 and 2 - for row_y in (114, 177): - paste(canvas, tri_l, tl[0], row_y + (tl[1] - 114)) - paste(canvas, tri_r, tr[0], row_y + (tr[1] - 114)) - # version - fill_round(canvas, 159, 51 + 18, 54, 22, 4, (0, 8, 16)) + y = CARD_Y0 + CARD_PITCH * i + (CARD_H - im.size[1]) // 2 + paste(canvas, im, CARD_X + LABEL_DX, y) + for row_y in (CARD_Y0 + CARD_PITCH, CARD_Y0 + CARD_PITCH * 2): + paste(canvas, tri_l, tl[0], row_y + (tl[1] - (CARD_Y0 + CARD_PITCH))) + paste(canvas, tri_r, tr[0], row_y + (tr[1] - (CARD_Y0 + CARD_PITCH))) + fill_round(canvas, CARD_X + pill_dx, CARD_Y0 + pill_dy, pill_w, pill_h, 6, (0, 8, 19)) ver = "0.2.35" tw = text_w(ver, glyphs) gh = glyphs["0"][0].size[1] - draw_text(canvas, 159 + (54 - tw) // 2, 51 + 18 + (22 - gh) // 2, ver, glyphs) - upd = pics["UsbUpdate"] - paste(canvas, upd, 122 + (69 - upd.size[0]) // 2, 114 + (58 - upd.size[1]) // 2) + draw_text(canvas, CARD_X + pill_dx + (pill_w - tw) // 2, + CARD_Y0 + pill_dy + (pill_h - gh) // 2, ver, glyphs) + midi = pics["UsbMidi"] + paste(canvas, midi, val_x + (val_w - midi.size[0]) // 2, + CARD_Y0 + CARD_PITCH + (CARD_H - midi.size[1]) // 2) num = "15" tw = text_w(num, glyphs) - draw_text(canvas, 122 + (69 - tw) // 2, 177 + (58 - gh) // 2, num, glyphs) + draw_text(canvas, val_x + (val_w - tw) // 2, + CARD_Y0 + CARD_PITCH * 2 + (CARD_H - gh) // 2, num, glyphs) paste(canvas, chev, chev_xy[0], chev_xy[1]) PREVIEW.parent.mkdir(parents=True, exist_ok=True) Image.fromarray(canvas).save(PREVIEW) - ref = np.array(screen.convert("RGB")) - d = np.abs(canvas.astype(int) - ref.astype(int)).sum(axis=2) - print("preview", PREVIEW, "mean", round(float(d.mean()), 2), "pct>40", round(float((d > 40).mean()), 4)) - print("USB MIDI w", pics["UsbMidi"].size, "关闭", pics["Off"].size) + print("preview", PREVIEW) + print("USB MIDI", pics["UsbMidi"].size, "关闭", pics["Off"].size) if __name__ == "__main__":