Fix status-bar battery to match mode.png with intact percent.
Replace the mistaken fill bitmap that embedded "80%" text with a solid level bar, right-align size-9 "N%" with reserved 100% width, and refresh Free/Expert battery updates. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
e56f480135
commit
8f0d0a3a52
|
|
@ -27,13 +27,7 @@ void UI_ExpertMode_Process(DisplayTaskMessage_Type msg)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MSG_ID_BATTERY_VALUE:
|
case MSG_ID_BATTERY_VALUE:
|
||||||
// if(usb_charging_state)
|
Draw_Status_Battery_Icon(percentage);
|
||||||
// {
|
|
||||||
// Draw_Battery_Icon(180, 5, msg.DataU16[1], 1, GREEN, BLACK, GREEN);
|
|
||||||
// }else
|
|
||||||
// {
|
|
||||||
// Draw_Battery_Icon(180, 5, msg.DataU16[1], 1, WHITE, BLACK, WHITE);
|
|
||||||
// }
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MSG_ID_TAP_SPEED:
|
case MSG_ID_TAP_SPEED:
|
||||||
|
|
|
||||||
|
|
@ -28,13 +28,7 @@ void UI_FreeMode_Process(DisplayTaskMessage_Type msg)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MSG_ID_BATTERY_VALUE:
|
case MSG_ID_BATTERY_VALUE:
|
||||||
// if(usb_charging_state)
|
Draw_Status_Battery_Icon(percentage);
|
||||||
// {
|
|
||||||
// Draw_Battery_Icon(180, 5, msg.DataU16[1], 1, GREEN, BLACK, GREEN);
|
|
||||||
// }else
|
|
||||||
// {
|
|
||||||
// Draw_Battery_Icon(180, 5, msg.DataU16[1], 1, WHITE, BLACK, WHITE);
|
|
||||||
// }
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MSG_ID_TAP_SPEED:
|
case MSG_ID_TAP_SPEED:
|
||||||
|
|
|
||||||
|
|
@ -271,27 +271,43 @@ void Draw_Status_Battery_Icon(uint8_t battery_percent)
|
||||||
{
|
{
|
||||||
uint8_t Info[8];
|
uint8_t Info[8];
|
||||||
uint16_t fill_w;
|
uint16_t fill_w;
|
||||||
uint16_t text_w;
|
uint16_t slot_w;
|
||||||
|
uint16_t actual_w;
|
||||||
uint16_t bat_x;
|
uint16_t bat_x;
|
||||||
uint16_t text_x;
|
uint16_t text_x;
|
||||||
uint16_t text_y;
|
uint16_t text_y;
|
||||||
|
uint16_t fill_x1, fill_y1, fill_x2, fill_y2;
|
||||||
|
uint8_t adv = UI0902_ASCII_W(UI0902_BATTERY_TEXT_SIZE);
|
||||||
|
|
||||||
if (battery_percent > 100)
|
if (battery_percent > 100)
|
||||||
battery_percent = 100;
|
battery_percent = 100;
|
||||||
|
|
||||||
sprintf((char *)Info, "%d%%", battery_percent);
|
sprintf((char *)Info, "%d%%", battery_percent);
|
||||||
text_w = (uint16_t)(strlen((char *)Info) * (UI0902_BATTERY_TEXT_SIZE / 2));
|
actual_w = (uint16_t)(strlen((char *)Info) * adv);
|
||||||
bat_x = (uint16_t)(240 - UI0902_BATTERY_RIGHT_MARGIN - text_w
|
/* 固定按「100%」占位,右对齐,切换位数时图标不跳、% 不被切 */
|
||||||
|
slot_w = (uint16_t)(4u * adv);
|
||||||
|
|
||||||
|
bat_x = (uint16_t)(240 - UI0902_BATTERY_RIGHT_MARGIN - slot_w
|
||||||
- UI0902_BATTERY_TEXT_GAP - UI0902_BATTERY_W);
|
- UI0902_BATTERY_TEXT_GAP - UI0902_BATTERY_W);
|
||||||
text_x = (uint16_t)(bat_x + UI0902_BATTERY_W + UI0902_BATTERY_TEXT_GAP);
|
text_x = (uint16_t)(bat_x + UI0902_BATTERY_W + UI0902_BATTERY_TEXT_GAP
|
||||||
text_y = (uint16_t)((UI_STATUS_BAR_H - UI0902_BATTERY_TEXT_SIZE) / 2);
|
+ (slot_w - actual_w));
|
||||||
|
text_y = (uint16_t)(UI0902_BATTERY_Y
|
||||||
|
+ ((int16_t)UI0902_BATTERY_H - (int16_t)UI0902_BATTERY_TEXT_SIZE) / 2);
|
||||||
|
if ((int16_t)text_y < 0)
|
||||||
|
text_y = 0;
|
||||||
|
|
||||||
LCD_FillByColor(bat_x > 2 ? (uint16_t)(bat_x - 2) : 0, 0, 240, UI_STATUS_BAR_H,
|
LCD_FillByColor(bat_x > 2 ? (uint16_t)(bat_x - 2) : 0, 0, 240, UI_STATUS_BAR_H,
|
||||||
UI0902_BG_COLOR);
|
UI0902_BG_COLOR);
|
||||||
|
|
||||||
|
/* 实心电量条(旧 fill 图误含「80%」文字) */
|
||||||
fill_w = (uint16_t)((22UL * battery_percent) / 100);
|
fill_w = (uint16_t)((22UL * battery_percent) / 100);
|
||||||
LCD_WR_PIC_ClipX(bat_x + 3, UI0902_BATTERY_Y + 2, 22, 9, fill_w,
|
if (fill_w > 0) {
|
||||||
gImage_UI0902_BatteryFill_22x9);
|
fill_x1 = (uint16_t)(bat_x + 3);
|
||||||
|
fill_y1 = (uint16_t)(UI0902_BATTERY_Y + 2);
|
||||||
|
fill_x2 = (uint16_t)(fill_x1 + fill_w - 1);
|
||||||
|
fill_y2 = (uint16_t)(fill_y1 + 8);
|
||||||
|
LCD_FillByColor(fill_x1, fill_y1, fill_x2, fill_y2, WHITE);
|
||||||
|
}
|
||||||
LCD_WR_PIC_Trans(bat_x, UI0902_BATTERY_Y, UI0902_BATTERY_W, UI0902_BATTERY_H,
|
LCD_WR_PIC_Trans(bat_x, UI0902_BATTERY_Y, UI0902_BATTERY_W, UI0902_BATTERY_H,
|
||||||
gImage_UI0902_BatteryOutline_29x12, BLACK);
|
gImage_UI0902_BatteryOutline_29x12, BLACK);
|
||||||
LCD_ShowString(text_x, text_y, Info, WHITE, UI0902_BG_COLOR,
|
LCD_ShowString(text_x, text_y, Info, WHITE, UI0902_BG_COLOR,
|
||||||
|
|
|
||||||
|
|
@ -122,10 +122,10 @@ void CallUI_RestoreSelect(void);
|
||||||
#define UI0902_BT_Y 5
|
#define UI0902_BT_Y 5
|
||||||
#define UI0902_BATTERY_W 29
|
#define UI0902_BATTERY_W 29
|
||||||
#define UI0902_BATTERY_H 12
|
#define UI0902_BATTERY_H 12
|
||||||
#define UI0902_BATTERY_Y 7
|
#define UI0902_BATTERY_Y 14 /* mode.png 状态栏电池顶 ≈y14 */
|
||||||
#define UI0902_BATTERY_RIGHT_MARGIN 8
|
#define UI0902_BATTERY_RIGHT_MARGIN 6
|
||||||
#define UI0902_BATTERY_TEXT_GAP 4
|
#define UI0902_BATTERY_TEXT_GAP 4
|
||||||
#define UI0902_BATTERY_TEXT_SIZE 12
|
#define UI0902_BATTERY_TEXT_SIZE 9 /* mode.png 百分比字号 ≈9,完整显示 % */
|
||||||
#define UI0902_NAV_UNIVERSAL 0 /* 底栏:万能模式 */
|
#define UI0902_NAV_UNIVERSAL 0 /* 底栏:万能模式 */
|
||||||
#define UI0902_NAV_NORMAL 1 /* 底栏:普通模式 */
|
#define UI0902_NAV_NORMAL 1 /* 底栏:普通模式 */
|
||||||
#define UI0902_NAV_EXPERT 2 /* 底栏:专业模式 */
|
#define UI0902_NAV_EXPERT 2 /* 底栏:专业模式 */
|
||||||
|
|
|
||||||
|
|
@ -954,64 +954,64 @@ const unsigned char Chinese_font_12[][24] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
const unsigned char Chinese_font_9[][18] = {
|
const unsigned char Chinese_font_9[][18] = {
|
||||||
{0x18,0x00,0x60,0x00,0xFA,0x80,0x22,0x80,0x32,0x80,0x2A,0x80,0x6A,0x80,0x23,0x80,0x20,0x00},/*"和",0*/
|
{0x18,0x00,0x60,0x00,0xF2,0x80,0x32,0x80,0x32,0x80,0x2A,0x80,0x22,0x80,0x23,0x80,0x20,0x00},/*"和",0*/
|
||||||
{0xE4,0x00,0x22,0x00,0xE2,0x00,0x85,0x00,0x8E,0x00,0xE0,0x00,0x22,0x00,0x9E,0x80,0x48,0x80},/*"弦",1*/
|
{0xE4,0x00,0x36,0x00,0xF6,0x00,0x84,0x00,0x8E,0x00,0xE0,0x00,0x20,0x00,0x1E,0x80,0x48,0x80},/*"弦",1*/
|
||||||
{0x08,0x00,0x7F,0x00,0x08,0x00,0xFF,0x80,0x08,0x00,0x08,0x00,0x0F,0x00,0x68,0x00,0x9F,0x80},/*"走",2*/
|
{0x08,0x00,0x7F,0x00,0x08,0x00,0xFF,0x80,0x08,0x00,0x08,0x00,0x0F,0x00,0x68,0x00,0x9F,0x80},/*"走",2*/
|
||||||
{0x10,0x00,0x20,0x00,0x81,0x00,0xBD,0x00,0xA5,0x00,0xA5,0x00,0xBD,0x00,0x81,0x00,0x83,0x00},/*"向",3*/
|
{0x10,0x00,0x30,0x00,0x81,0x00,0x99,0x00,0xA5,0x00,0xB5,0x00,0x99,0x00,0x81,0x00,0x83,0x00},/*"向",3*/
|
||||||
{0xE4,0x00,0x22,0x00,0xE2,0x00,0x85,0x00,0x8E,0x00,0xE0,0x00,0x22,0x00,0x9E,0x80,0x48,0x80},/*"弦",4*/
|
{0xE4,0x00,0x36,0x00,0xF6,0x00,0x84,0x00,0x8E,0x00,0xE0,0x00,0x20,0x00,0x1E,0x80,0x48,0x80},/*"弦",4*/
|
||||||
{0x08,0x00,0x7F,0x00,0x14,0x00,0xFF,0x80,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x3E,0x00},/*"音",5*/
|
{0x08,0x00,0x7F,0x00,0x14,0x00,0xFF,0x80,0x00,0x00,0x3E,0x00,0x22,0x00,0x22,0x00,0x3E,0x00},/*"音",5*/
|
||||||
{0x10,0x00,0x3E,0x00,0x7F,0x00,0x89,0x00,0x09,0x00,0x3F,0x00,0x00,0x00,0x00,0x80,0x3F,0x80},/*"色",6*/
|
{0x10,0x00,0x3E,0x00,0x7F,0x00,0xE9,0x00,0x29,0x00,0x3F,0x00,0x00,0x00,0x00,0x80,0x3F,0x80},/*"色",6*/
|
||||||
{0x4A,0x00,0x0A,0x00,0x12,0x00,0xDF,0x80,0x04,0x00,0x04,0x80,0x08,0x80,0x60,0x00,0x9F,0x80},/*"选",7*/
|
{0x4A,0x00,0x0E,0x00,0x06,0x00,0xDF,0x80,0x06,0x00,0x00,0x80,0x00,0x80,0x60,0x00,0x9F,0x80},/*"选",7*/
|
||||||
{0x44,0x00,0x03,0x00,0x09,0x00,0xC9,0x00,0x04,0x00,0x04,0x00,0x12,0x00,0x09,0x00,0x10,0x80},/*"择",8*/
|
{0x44,0x00,0x03,0x00,0x09,0x00,0xC9,0x00,0x04,0x00,0x04,0x00,0x30,0x00,0x21,0x00,0x10,0x80},/*"择",8*/
|
||||||
{0xFA,0x00,0x12,0x00,0x94,0x80,0xFC,0x00,0x10,0x00,0xD0,0x00,0x93,0x00,0x14,0x80,0x38,0x80},/*"歌",9*/
|
{0xFA,0x00,0x12,0x00,0xD4,0x80,0xFC,0x00,0x10,0x00,0xD0,0x00,0xD3,0x00,0x14,0x80,0x18,0x80},/*"歌",9*/
|
||||||
{0x12,0x00,0x12,0x00,0x52,0x80,0x52,0x80,0x52,0x80,0x7F,0x80,0x52,0x80,0x7F,0x80,0x40,0x80},/*"曲",10*/
|
{0x12,0x00,0x16,0x00,0x5E,0x80,0x52,0x80,0x52,0x80,0x7F,0x80,0x52,0x80,0x7F,0x80,0x40,0x80},/*"曲",10*/
|
||||||
{0x10,0x00,0x3E,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x3E,0x00,0x00,0x00},/*"自",11*/
|
{0x10,0x00,0x3E,0x00,0x00,0x00,0x3E,0x00,0x22,0x00,0x3E,0x00,0x00,0x00,0x3E,0x00,0x22,0x00},/*"自",11*/
|
||||||
{0x08,0x00,0x08,0x00,0x49,0x00,0x49,0x00,0x7F,0x00,0x49,0x00,0x49,0x00,0x7F,0x00,0x41,0x00},/*"由",12*/
|
{0x08,0x00,0x08,0x00,0x49,0x00,0x49,0x00,0x7F,0x00,0x49,0x00,0x49,0x00,0x7F,0x00,0x41,0x00},/*"由",12*/
|
||||||
{0x00,0x00,0xFF,0x80,0x10,0x00,0x1E,0x00,0x10,0x00,0x10,0x00,0x20,0x00,0x00,0x00,0x46,0x00},/*"万",13*/
|
{0x00,0x00,0xFF,0x80,0x10,0x00,0x1E,0x00,0x12,0x00,0x10,0x00,0x20,0x00,0x00,0x00,0x46,0x00},/*"万",13*/
|
||||||
{0x02,0x00,0x53,0x00,0x02,0x80,0x7B,0x80,0x48,0x00,0x7B,0x00,0x4A,0x00,0x4A,0x80,0x5B,0x80},/*"能",14*/
|
{0x02,0x00,0xD3,0x00,0x02,0x00,0x7B,0x80,0x48,0x00,0x7B,0x00,0x4A,0x00,0x4A,0x80,0x5B,0x80},/*"能",14*/
|
||||||
{0x4E,0x00,0x08,0x00,0x11,0x80,0xC0,0x00,0x1F,0x00,0x09,0x00,0x04,0x00,0x04,0x00,0x39,0x80},/*"设",15*/
|
{0x4E,0x00,0x08,0x00,0x01,0x80,0xC0,0x00,0x1F,0x00,0x09,0x00,0x24,0x00,0x24,0x00,0x39,0x80},/*"设",15*/
|
||||||
{0x7F,0x00,0x55,0x00,0x08,0x00,0xFF,0x80,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0xFF,0x80},/*"置",16*/
|
{0x7F,0x00,0x5D,0x00,0x08,0x00,0xFF,0x80,0x22,0x00,0x3E,0x00,0x22,0x00,0x22,0x00,0xFF,0x80},/*"置",16*/
|
||||||
{0x22,0x00,0xC7,0x80,0xF5,0x00,0x02,0x00,0x2C,0x00,0x13,0x80,0x44,0x80,0x00,0x00,0x0E,0x00},/*"移",17*/
|
{0x22,0x00,0xC7,0x80,0xF0,0x00,0x62,0x00,0x2E,0x00,0x43,0x80,0x44,0x80,0x00,0x00,0x0E,0x00},/*"移",17*/
|
||||||
{0x5F,0x80,0x12,0x80,0xD2,0x80,0x1F,0x80,0x10,0x80,0x16,0x80,0x14,0x80,0x10,0x80,0x21,0x80},/*"调",18*/
|
{0x5F,0x80,0x16,0x80,0xD6,0x80,0x5F,0x80,0x10,0x80,0x16,0x80,0x36,0x80,0x30,0x80,0x21,0x80},/*"调",18*/
|
||||||
{0x42,0x00,0x3F,0x80,0x1F,0x80,0xD2,0x80,0x1F,0x80,0x06,0x00,0x0B,0x00,0x62,0x00,0x9F,0x80},/*"速",19*/
|
{0x42,0x00,0x3F,0x80,0x0F,0x80,0xD6,0x80,0x1F,0x80,0x06,0x00,0x02,0x00,0x62,0x00,0x9F,0x80},/*"速",19*/
|
||||||
{0x08,0x00,0x7F,0x80,0x7F,0x00,0x52,0x00,0x5E,0x00,0x40,0x00,0x7E,0x00,0x8C,0x00,0xB3,0x00},/*"度",20*/
|
{0x08,0x00,0x7F,0x80,0x7F,0x00,0x56,0x00,0x5C,0x00,0x40,0x00,0x5E,0x00,0x8C,0x00,0xB3,0x00},/*"度",20*/
|
||||||
{0x42,0x00,0x1F,0x80,0xBF,0x80,0x62,0x00,0x0F,0x00,0x0B,0x00,0xCF,0x00,0x4F,0x00,0x59,0x80},/*"演",21*/
|
{0x42,0x00,0x1F,0x80,0x1F,0x80,0x36,0x00,0x0F,0x00,0x0F,0x00,0xCF,0x00,0x4F,0x00,0x59,0x80},/*"演",21*/
|
||||||
{0x08,0x00,0x7F,0x00,0xFF,0x80,0x22,0x00,0x3E,0x00,0xC9,0x80,0x3E,0x00,0x22,0x00,0x41,0x00},/*"奏",22*/
|
{0x08,0x00,0x7F,0x00,0xFF,0x80,0x36,0x00,0x3E,0x00,0xC9,0x80,0x3E,0x00,0x00,0x00,0x41,0x00},/*"奏",22*/
|
||||||
{0x36,0x00,0x44,0x00,0x69,0x80,0x40,0x00,0x6F,0x00,0x49,0x00,0x44,0x00,0x44,0x00,0x59,0x80},/*"段",23*/
|
{0x36,0x00,0x44,0x00,0x61,0x80,0x40,0x00,0x6F,0x00,0x49,0x00,0xC4,0x00,0xC4,0x00,0x59,0x80},/*"段",23*/
|
||||||
{0x22,0x00,0xFF,0x80,0x4E,0x00,0x18,0x00,0x86,0x00,0x68,0x00,0x11,0x80,0x48,0x00,0x4E,0x00},/*"落",24*/
|
{0x22,0x00,0xFF,0x80,0x06,0x00,0x0A,0x00,0x86,0x00,0x68,0x00,0x01,0x80,0xCA,0x00,0x4E,0x00},/*"落",24*/
|
||||||
{0x00,0x00,0xFF,0x80,0x10,0x00,0x1E,0x00,0x10,0x00,0x10,0x00,0x20,0x00,0x00,0x00,0x46,0x00},/*"万",25*/
|
{0x00,0x00,0xFF,0x80,0x10,0x00,0x1E,0x00,0x12,0x00,0x10,0x00,0x20,0x00,0x00,0x00,0x46,0x00},/*"万",25*/
|
||||||
{0x02,0x00,0x53,0x00,0x02,0x80,0x7B,0x80,0x48,0x00,0x7B,0x00,0x4A,0x00,0x4A,0x80,0x5B,0x80},/*"能",26*/
|
{0x02,0x00,0xD3,0x00,0x02,0x00,0x7B,0x80,0x48,0x00,0x7B,0x00,0x4A,0x00,0x4A,0x80,0x5B,0x80},/*"能",26*/
|
||||||
{0x22,0x00,0x7F,0x00,0x14,0x00,0xFF,0x80,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x3E,0x00},/*"普",27*/
|
{0x22,0x00,0x7F,0x00,0x14,0x00,0xFF,0x80,0x00,0x00,0x3E,0x00,0x22,0x00,0x22,0x00,0x3E,0x00},/*"普",27*/
|
||||||
{0x5F,0x00,0x04,0x00,0x12,0x80,0xDF,0x80,0x12,0x80,0x1F,0x80,0x12,0x80,0x60,0x00,0x9F,0x80},/*"通",28*/
|
{0x5F,0x00,0x07,0x00,0x1E,0x80,0xDF,0x80,0x12,0x80,0x1F,0x80,0x12,0x80,0x60,0x00,0x9F,0x80},/*"通",28*/
|
||||||
{0x08,0x00,0x3F,0x00,0x08,0x00,0xFF,0x80,0x10,0x00,0x3F,0x00,0x00,0x00,0x04,0x00,0x02,0x00},/*"专",29*/
|
{0x08,0x00,0x3F,0x00,0x08,0x00,0xFF,0x80,0x10,0x00,0x1F,0x00,0x00,0x00,0x04,0x00,0x00,0x00},/*"专",29*/
|
||||||
{0x12,0x00,0x12,0x00,0x92,0x80,0x53,0x00,0x13,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0xFF,0x80},/*"业",30*/
|
{0x12,0x00,0x12,0x00,0x12,0x80,0x12,0x00,0x13,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0xFF,0x80},/*"业",30*/
|
||||||
{0x04,0x00,0x1F,0x80,0x0F,0x00,0x29,0x00,0x5F,0x00,0x49,0x00,0x9F,0x80,0x04,0x00,0x19,0x80},/*"模",31*/
|
{0x07,0x00,0x7F,0x80,0x6F,0x00,0x29,0x00,0x7F,0x00,0x49,0x00,0x0F,0x80,0x04,0x00,0x19,0x80},/*"模",31*/
|
||||||
{0x04,0x00,0x05,0x00,0xFF,0x80,0x04,0x00,0x74,0x00,0x24,0x00,0x22,0x00,0x30,0x80,0xC1,0x80},/*"式",32*/
|
{0x04,0x00,0x04,0x00,0xFF,0x80,0x04,0x00,0x74,0x00,0x24,0x00,0x22,0x00,0x30,0x80,0xC1,0x80},/*"式",32*/
|
||||||
{0x7F,0x80,0x48,0x80,0x7E,0x80,0x48,0x80,0x7E,0x80,0x62,0x80,0x62,0x80,0x40,0x80,0x7F,0x80},/*"固",33*/
|
{0x7F,0x80,0x48,0x80,0x7E,0x80,0x48,0x80,0x5C,0x80,0x62,0x80,0x76,0x80,0x40,0x80,0x7F,0x80},/*"固",33*/
|
||||||
{0x22,0x00,0x2A,0x00,0x1F,0x00,0x62,0x00,0x82,0x00,0x1F,0x80,0x02,0x00,0x02,0x00,0x02,0x00},/*"件",34*/
|
{0x22,0x00,0x2A,0x00,0x0F,0x00,0x66,0x00,0xA2,0x00,0x0F,0x80,0x02,0x00,0x02,0x00,0x02,0x00},/*"件",34*/
|
||||||
{0x21,0x00,0x6E,0x00,0x7F,0x80,0x4D,0x00,0x4B,0x00,0x6B,0x00,0x68,0x00,0xAB,0x00,0xB4,0x80},/*"版",35*/
|
{0x21,0x00,0x6C,0x00,0x7F,0x80,0x4D,0x00,0x49,0x00,0x6B,0x00,0x68,0x00,0xAB,0x00,0xB4,0x80},/*"版",35*/
|
||||||
{0x08,0x00,0x08,0x00,0x1C,0x00,0x2A,0x00,0x2A,0x00,0x08,0x00,0x49,0x00,0x08,0x00,0x08,0x00},/*"本",36*/
|
{0x08,0x00,0x08,0x00,0x1C,0x00,0x08,0x00,0x2A,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00},/*"本",36*/
|
||||||
{0x22,0x00,0xFF,0x80,0x64,0x00,0x67,0x00,0x6A,0x00,0x20,0x00,0x7F,0x00,0x55,0x00,0xFF,0x80},/*"蓝",37*/
|
{0x22,0x00,0xFF,0x80,0x24,0x00,0x67,0x00,0x6A,0x00,0x33,0x00,0x7F,0x00,0x55,0x00,0xFF,0x80},/*"蓝",37*/
|
||||||
{0x7F,0x80,0x02,0x00,0x02,0x00,0x7F,0x80,0x06,0x00,0x0A,0x00,0x12,0x00,0xC2,0x00,0x06,0x00},/*"牙",38*/
|
{0x7F,0x80,0x02,0x00,0x02,0x00,0x7F,0x80,0x06,0x00,0x0A,0x00,0x12,0x00,0xC2,0x00,0x06,0x00},/*"牙",38*/
|
||||||
{0x42,0x00,0x57,0x80,0x84,0x00,0xFF,0x80,0x08,0x00,0xFF,0x80,0x08,0x00,0x34,0x00,0x13,0x80},/*"链",39*/
|
{0x42,0x00,0x57,0x80,0x84,0x00,0xFF,0x80,0x6B,0x00,0xFF,0x80,0x08,0x00,0x30,0x00,0x33,0x80},/*"链",39*/
|
||||||
{0x02,0x00,0x1F,0x80,0x04,0x00,0x1F,0x80,0x22,0x00,0x5F,0x80,0x85,0x00,0x03,0x00,0xDC,0x80},/*"接",40*/
|
{0x02,0x00,0x7F,0x80,0x60,0x00,0x0F,0x80,0x22,0x00,0x4F,0x80,0x05,0x00,0x03,0x00,0xDC,0x80},/*"接",40*/
|
||||||
{0x10,0x00,0x3E,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x3E,0x00,0x00,0x00},/*"自",41*/
|
{0x10,0x00,0x3E,0x00,0x00,0x00,0x3E,0x00,0x22,0x00,0x3E,0x00,0x00,0x00,0x3E,0x00,0x22,0x00},/*"自",41*/
|
||||||
{0x02,0x00,0x72,0x00,0x07,0x80,0xFA,0x80,0x02,0x80,0x02,0x80,0x52,0x80,0x14,0x80,0x09,0x00},/*"动",42*/
|
{0x02,0x00,0x72,0x00,0x07,0x80,0xFE,0x80,0x22,0x80,0x02,0x80,0xD0,0x80,0x14,0x80,0x09,0x00},/*"动",42*/
|
||||||
{0x00,0x00,0x22,0x00,0x08,0x00,0x08,0x00,0xFF,0x00,0x08,0x00,0x14,0x00,0x00,0x00,0xC1,0x80},/*"关",43*/
|
{0x00,0x00,0x36,0x00,0x08,0x00,0x08,0x00,0xFF,0x00,0x08,0x00,0x14,0x00,0x00,0x00,0xC1,0x80},/*"关",43*/
|
||||||
{0x00,0x00,0x0E,0x00,0xF8,0x00,0x08,0x00,0x68,0x00,0x58,0x00,0x88,0x00,0x10,0x80,0x21,0x80},/*"机",44*/
|
{0x00,0x00,0x0E,0x00,0xF8,0x00,0x68,0x00,0x68,0x00,0x48,0x00,0x88,0x00,0x00,0x00,0x21,0x80},/*"机",44*/
|
||||||
{0x04,0x00,0x1F,0x80,0x94,0x00,0x88,0x00,0x8A,0x80,0x15,0x00,0x20,0x00,0x05,0x00,0x08,0x80},/*"恢",45*/
|
{0x04,0x00,0x3F,0x80,0xB4,0x00,0x88,0x00,0x8A,0x80,0x31,0x00,0x20,0x00,0x05,0x00,0x08,0x80},/*"恢",45*/
|
||||||
{0x00,0x00,0x3F,0x80,0xBE,0x00,0x00,0x00,0x3E,0x00,0x20,0x00,0x3E,0x00,0x0C,0x00,0xF3,0x80},/*"复",46*/
|
{0x20,0x00,0x7F,0x80,0xFE,0x00,0x22,0x00,0x3E,0x00,0x30,0x00,0x3E,0x00,0x0C,0x00,0xF3,0x80},/*"复",46*/
|
||||||
{0x08,0x00,0x49,0x00,0x49,0x00,0x7F,0x00,0x08,0x00,0x88,0x80,0x88,0x80,0x88,0x80,0xFF,0x80},/*"出",47*/
|
{0x08,0x00,0x49,0x00,0x49,0x00,0x7F,0x00,0x08,0x00,0x88,0x80,0x88,0x80,0x88,0x80,0xFF,0x80},/*"出",47*/
|
||||||
{0x00,0x00,0x3F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x80,0x00},/*"厂",48*/
|
{0x00,0x00,0x3F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x80,0x00},/*"厂",48*/
|
||||||
{0x4E,0x00,0x08,0x00,0x11,0x80,0xC0,0x00,0x1F,0x00,0x09,0x00,0x04,0x00,0x04,0x00,0x39,0x80},/*"设",49*/
|
{0x4E,0x00,0x08,0x00,0x01,0x80,0xC0,0x00,0x1F,0x00,0x09,0x00,0x24,0x00,0x24,0x00,0x39,0x80},/*"设",49*/
|
||||||
{0x7F,0x00,0x55,0x00,0x08,0x00,0xFF,0x80,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0xFF,0x80},/*"置",50*/
|
{0x7F,0x00,0x5D,0x00,0x08,0x00,0xFF,0x80,0x22,0x00,0x3E,0x00,0x22,0x00,0x22,0x00,0xFF,0x80},/*"置",50*/
|
||||||
{0x44,0x00,0x1F,0x80,0x0A,0x00,0xDF,0x00,0x02,0x00,0x1F,0x80,0x02,0x00,0x62,0x00,0x9F,0x80},/*"连",51*/
|
{0x44,0x00,0x0F,0x80,0x00,0x00,0xCF,0x00,0x02,0x00,0x0F,0x80,0x02,0x00,0x62,0x00,0x9F,0x80},/*"连",51*/
|
||||||
{0x3E,0x00,0x20,0x00,0x20,0x00,0x3E,0x00,0x00,0x00,0xFF,0x80,0x08,0x00,0x68,0x00,0x9F,0x80},/*"是",52*/
|
{0x3E,0x00,0x32,0x00,0x32,0x00,0x3E,0x00,0x00,0x00,0xFF,0x80,0x08,0x00,0x68,0x00,0x9F,0x80},/*"是",52*/
|
||||||
{0x22,0x00,0xFF,0x80,0x00,0x00,0x7E,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00},/*"节",53*/
|
{0x22,0x00,0xFF,0x80,0x00,0x00,0x7E,0x00,0x12,0x00,0x10,0x00,0x12,0x00,0x10,0x00,0x10,0x00},/*"节",53*/
|
||||||
{0x08,0x00,0x2A,0x00,0x2A,0x00,0x08,0x00,0x41,0x00,0x08,0x00,0xFF,0x80,0x22,0x00,0xC1,0x80},/*"类",54*/
|
{0x08,0x00,0x3E,0x00,0x3E,0x00,0x08,0x00,0x00,0x00,0x08,0x00,0xFF,0x80,0x00,0x00,0xC1,0x80},/*"类",54*/
|
||||||
{0x7D,0x00,0x13,0x00,0xFF,0x00,0x13,0x00,0x11,0x00,0x59,0x00,0x08,0x00,0x08,0x00,0xFF,0x80},/*"型",55*/
|
{0x7D,0x00,0x13,0x00,0xFF,0x00,0x77,0x00,0x11,0x00,0x09,0x00,0x08,0x00,0x08,0x00,0xFF,0x80},/*"型",55*/
|
||||||
{0x02,0x00,0x0A,0x00,0xEB,0x00,0x0F,0x00,0x1B,0x00,0x0B,0x00,0x0B,0x00,0xC8,0x80,0x07,0x80},/*"地",56*/
|
{0x02,0x00,0x0A,0x00,0xEB,0x00,0x6F,0x00,0x1B,0x00,0x0B,0x00,0x2B,0x00,0xC8,0x80,0x07,0x80},/*"地",56*/
|
||||||
{0x3E,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x3E,0x00,0x00,0x00},/*"目",57*/
|
{0x3E,0x00,0x00,0x00,0x3E,0x00,0x22,0x00,0x22,0x00,0x3E,0x00,0x00,0x00,0x3E,0x00,0x22,0x00},/*"目",57*/
|
||||||
};
|
};
|
||||||
|
|
||||||
const unsigned char Chinese_font_11[][22] = {
|
const unsigned char Chinese_font_11[][22] = {
|
||||||
|
|
|
||||||
|
|
@ -996,8 +996,8 @@ const unsigned char ascii_94[][9]={
|
||||||
{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x08},/*"!",1*/
|
{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x08},/*"!",1*/
|
||||||
{0x00,0x00,0x00,0x14,0x14,0x14,0x00,0x00,0x00},/*""",2*/
|
{0x00,0x00,0x00,0x14,0x14,0x14,0x00,0x00,0x00},/*""",2*/
|
||||||
{0x24,0x24,0x7E,0x24,0x24,0x12,0x7F,0x12,0x12},/*"#",3*/
|
{0x24,0x24,0x7E,0x24,0x24,0x12,0x7F,0x12,0x12},/*"#",3*/
|
||||||
{0x00,0x0C,0x02,0x02,0x0C,0x10,0x10,0x0C,0x00},/*"$",4*/
|
{0x0C,0x0C,0x02,0x02,0x0C,0x10,0x10,0x0C,0x0C},/*"$",4*/
|
||||||
{0x00,0x02,0x15,0x0D,0x2A,0x54,0x50,0x20,0x00},/*"%",5*/
|
{0x02,0x25,0x12,0x08,0x24,0x52,0x20,0x00,0x00},/*"%",5*/
|
||||||
{0x0C,0x12,0x12,0x0A,0x26,0x25,0x19,0x09,0x36},/*"&",6*/
|
{0x0C,0x12,0x12,0x0A,0x26,0x25,0x19,0x09,0x36},/*"&",6*/
|
||||||
{0x00,0x00,0x00,0x08,0x08,0x08,0x00,0x00,0x00},/*"'",7*/
|
{0x00,0x00,0x00,0x08,0x08,0x08,0x00,0x00,0x00},/*"'",7*/
|
||||||
{0x08,0x00,0x04,0x04,0x04,0x04,0x04,0x00,0x08},/*"(",8*/
|
{0x08,0x00,0x04,0x04,0x04,0x04,0x04,0x00,0x08},/*"(",8*/
|
||||||
|
|
@ -1024,7 +1024,7 @@ const unsigned char ascii_94[][9]={
|
||||||
{0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x00},/*"=",29*/
|
{0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x00},/*"=",29*/
|
||||||
{0x00,0x00,0x02,0x1C,0x20,0x18,0x06,0x00,0x00},/*">",30*/
|
{0x00,0x00,0x02,0x1C,0x20,0x18,0x06,0x00,0x00},/*">",30*/
|
||||||
{0x1C,0x22,0x20,0x20,0x10,0x08,0x08,0x00,0x08},/*"?",31*/
|
{0x1C,0x22,0x20,0x20,0x10,0x08,0x08,0x00,0x08},/*"?",31*/
|
||||||
{0x3C,0x40,0x6D,0x53,0x1B,0x25,0x01,0x1E,0x00},/*"@",32*/
|
{0x3C,0x40,0x4D,0x53,0x13,0x05,0x01,0x1E,0x00},/*"@",32*/
|
||||||
{0x08,0x14,0x14,0x14,0x22,0x3E,0x22,0x41,0x41},/*"A",33*/
|
{0x08,0x14,0x14,0x14,0x22,0x3E,0x22,0x41,0x41},/*"A",33*/
|
||||||
{0x1F,0x21,0x21,0x21,0x1F,0x21,0x21,0x21,0x1F},/*"B",34*/
|
{0x1F,0x21,0x21,0x21,0x1F,0x21,0x21,0x21,0x1F},/*"B",34*/
|
||||||
{0x3C,0x42,0x01,0x01,0x01,0x01,0x01,0x42,0x3C},/*"C",35*/
|
{0x3C,0x42,0x01,0x01,0x01,0x01,0x01,0x42,0x3C},/*"C",35*/
|
||||||
|
|
@ -1041,13 +1041,13 @@ const unsigned char ascii_94[][9]={
|
||||||
{0x41,0x43,0x43,0x45,0x49,0x49,0x51,0x61,0x41},/*"N",46*/
|
{0x41,0x43,0x43,0x45,0x49,0x49,0x51,0x61,0x41},/*"N",46*/
|
||||||
{0x1C,0x22,0x41,0x41,0x41,0x41,0x41,0x22,0x1C},/*"O",47*/
|
{0x1C,0x22,0x41,0x41,0x41,0x41,0x41,0x22,0x1C},/*"O",47*/
|
||||||
{0x1F,0x21,0x21,0x21,0x1F,0x01,0x01,0x01,0x01},/*"P",48*/
|
{0x1F,0x21,0x21,0x21,0x1F,0x01,0x01,0x01,0x01},/*"P",48*/
|
||||||
{0x0C,0x12,0x21,0x21,0x21,0x21,0x12,0x00,0x18},/*"Q",49*/
|
{0x0C,0x00,0x21,0x21,0x21,0x21,0x12,0x0C,0x18},/*"Q",49*/
|
||||||
{0x3F,0x41,0x41,0x41,0x3F,0x09,0x11,0x21,0x41},/*"R",50*/
|
{0x3F,0x41,0x41,0x41,0x3F,0x09,0x11,0x21,0x41},/*"R",50*/
|
||||||
{0x1E,0x21,0x01,0x06,0x18,0x20,0x20,0x31,0x1E},/*"S",51*/
|
{0x1E,0x21,0x01,0x06,0x18,0x20,0x20,0x31,0x1E},/*"S",51*/
|
||||||
{0x7F,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},/*"T",52*/
|
{0x7F,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},/*"T",52*/
|
||||||
{0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x22,0x1C},/*"U",53*/
|
{0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x22,0x1C},/*"U",53*/
|
||||||
{0x41,0x41,0x22,0x22,0x22,0x14,0x14,0x14,0x08},/*"V",54*/
|
{0x41,0x41,0x22,0x22,0x22,0x14,0x14,0x14,0x08},/*"V",54*/
|
||||||
{0x00,0x49,0x4D,0x36,0x36,0x36,0x12,0x00,0x00},/*"W",55*/
|
{0x00,0x49,0x4D,0x36,0x36,0x36,0x12,0x12,0x00},/*"W",55*/
|
||||||
{0x41,0x22,0x14,0x0C,0x08,0x14,0x14,0x22,0x41},/*"X",56*/
|
{0x41,0x22,0x14,0x0C,0x08,0x14,0x14,0x22,0x41},/*"X",56*/
|
||||||
{0x41,0x22,0x14,0x14,0x08,0x08,0x08,0x08,0x08},/*"Y",57*/
|
{0x41,0x22,0x14,0x14,0x08,0x08,0x08,0x08,0x08},/*"Y",57*/
|
||||||
{0x3E,0x20,0x10,0x10,0x08,0x04,0x04,0x02,0x3E},/*"Z",58*/
|
{0x3E,0x20,0x10,0x10,0x08,0x04,0x04,0x02,0x3E},/*"Z",58*/
|
||||||
|
|
@ -1079,7 +1079,7 @@ const unsigned char ascii_94[][9]={
|
||||||
{0x08,0x08,0x1C,0x08,0x08,0x08,0x08,0x08,0x10},/*"t",84*/
|
{0x08,0x08,0x1C,0x08,0x08,0x08,0x08,0x08,0x10},/*"t",84*/
|
||||||
{0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x3C,0x00},/*"u",85*/
|
{0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x3C,0x00},/*"u",85*/
|
||||||
{0x00,0x22,0x22,0x14,0x14,0x14,0x14,0x08,0x00},/*"v",86*/
|
{0x00,0x22,0x22,0x14,0x14,0x14,0x14,0x08,0x00},/*"v",86*/
|
||||||
{0x00,0x00,0x49,0x36,0x36,0x36,0x00,0x00,0x00},/*"w",87*/
|
{0x00,0x00,0x49,0x0C,0x36,0x36,0x00,0x00,0x00},/*"w",87*/
|
||||||
{0x00,0x22,0x14,0x14,0x08,0x14,0x14,0x22,0x00},/*"x",88*/
|
{0x00,0x22,0x14,0x14,0x08,0x14,0x14,0x22,0x00},/*"x",88*/
|
||||||
{0x22,0x22,0x14,0x14,0x14,0x0C,0x08,0x08,0x06},/*"y",89*/
|
{0x22,0x22,0x14,0x14,0x14,0x0C,0x08,0x08,0x06},/*"y",89*/
|
||||||
{0x00,0x3E,0x20,0x10,0x08,0x04,0x02,0x3E,0x00},/*"z",90*/
|
{0x00,0x3E,0x20,0x10,0x08,0x04,0x02,0x3E,0x00},/*"z",90*/
|
||||||
|
|
|
||||||
|
|
@ -90,6 +90,11 @@ def make_battery_outline():
|
||||||
return im
|
return im
|
||||||
|
|
||||||
|
|
||||||
|
def make_battery_fill():
|
||||||
|
"""Solid white 22x9 level strip (do NOT use 电池电量 mockup — it embeds \"80%\" text)."""
|
||||||
|
return Image.new("RGBA", (22, 9), (255, 255, 255, 255))
|
||||||
|
|
||||||
|
|
||||||
def make_cancel_button():
|
def make_cancel_button():
|
||||||
"""Generate 取消 106x56 dialog button matching 控件-10 style."""
|
"""Generate 取消 106x56 dialog button matching 控件-10 style."""
|
||||||
im = Image.new("RGBA", (106, 56), (0, 0, 0, 0))
|
im = Image.new("RGBA", (106, 56), (0, 0, 0, 0))
|
||||||
|
|
@ -107,7 +112,7 @@ def make_cancel_button():
|
||||||
INTERNAL = [
|
INTERNAL = [
|
||||||
("gImage_UI0902_Volume_20x15", "02_顶部图标/音量图标-10.png"),
|
("gImage_UI0902_Volume_20x15", "02_顶部图标/音量图标-10.png"),
|
||||||
("gImage_UI0902_Bluetooth_11x17", "02_顶部图标/蓝牙图标-10.png"),
|
("gImage_UI0902_Bluetooth_11x17", "02_顶部图标/蓝牙图标-10.png"),
|
||||||
("gImage_UI0902_BatteryFill_22x9", "02_顶部图标/电池电量-10-11.png"),
|
# BatteryFill generated by make_battery_fill() — not from mockup PNG
|
||||||
("gImage_UI0902_TabSetting_Sel_36x28", "03_底部图标/底部图标-10.png"),
|
("gImage_UI0902_TabSetting_Sel_36x28", "03_底部图标/底部图标-10.png"),
|
||||||
("gImage_UI0902_TabSetting_Not_35x28", "03_底部图标/底部图标-11.png"),
|
("gImage_UI0902_TabSetting_Not_35x28", "03_底部图标/底部图标-11.png"),
|
||||||
("gImage_UI0902_TabMixer_Sel_35x27", "03_底部图标/底部图标-12.png"),
|
("gImage_UI0902_TabMixer_Sel_35x27", "03_底部图标/底部图标-12.png"),
|
||||||
|
|
@ -208,6 +213,11 @@ def main():
|
||||||
h_lines.append("extern const unsigned char gImage_UI0902_BatteryOutline_29x12[];")
|
h_lines.append("extern const unsigned char gImage_UI0902_BatteryOutline_29x12[];")
|
||||||
total_int += len(data)
|
total_int += len(data)
|
||||||
|
|
||||||
|
data, w, h = rgba_to_rgb565(make_battery_fill())
|
||||||
|
emit_c_array(c_lines, "gImage_UI0902_BatteryFill_22x9", data, w, h)
|
||||||
|
h_lines.append(f"extern const unsigned char gImage_UI0902_BatteryFill_22x9[{len(data)}];")
|
||||||
|
total_int += len(data)
|
||||||
|
|
||||||
for name, rel in INTERNAL:
|
for name, rel in INTERNAL:
|
||||||
data, w, h = rgba_to_rgb565(Image.open(SRC / rel))
|
data, w, h = rgba_to_rgb565(Image.open(SRC / rel))
|
||||||
emit_c_array(c_lines, name, data, w, h)
|
emit_c_array(c_lines, name, data, w, h)
|
||||||
|
|
|
||||||
|
|
@ -129,6 +129,24 @@ def ascii_cell_width(size: int) -> int:
|
||||||
}.get(size, max(3, size // 2))
|
}.get(size, max(3, size // 2))
|
||||||
|
|
||||||
|
|
||||||
|
def percent_pixels(dst_w: int, dst_h: int) -> list[int]:
|
||||||
|
"""Clear 1bpp percent for status bar — Liberation small % is too sparse."""
|
||||||
|
# Classic 7-wide pattern (row-major), scaled/centered into dst cell
|
||||||
|
src_w, src_h = 7, 9
|
||||||
|
src = [
|
||||||
|
0,1,0,0,0,0,0,
|
||||||
|
1,0,1,0,0,1,0,
|
||||||
|
0,1,0,0,1,0,0,
|
||||||
|
0,0,0,1,0,0,0,
|
||||||
|
0,0,1,0,0,1,0,
|
||||||
|
0,1,0,0,1,0,1,
|
||||||
|
0,0,0,0,0,1,0,
|
||||||
|
0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,
|
||||||
|
]
|
||||||
|
return fit_to_cell(src_w, src_h, src, dst_w, dst_h)
|
||||||
|
|
||||||
|
|
||||||
def fit_to_cell(src_w, src_h, pixels, dst_w, dst_h) -> list[int]:
|
def fit_to_cell(src_w, src_h, pixels, dst_w, dst_h) -> list[int]:
|
||||||
"""Place glyph into dst cell. Never crop ink — scale to fit.
|
"""Place glyph into dst cell. Never crop ink — scale to fit.
|
||||||
Only add 1px margin when the cell is wide enough; tiny cells keep solid strokes.
|
Only add 1px margin when the cell is wide enough; tiny cells keep solid strokes.
|
||||||
|
|
@ -167,7 +185,9 @@ def fit_to_cell(src_w, src_h, pixels, dst_w, dst_h) -> list[int]:
|
||||||
|
|
||||||
def glyph_pixels(ch: str, size: int, latin: bool = False) -> list[int]:
|
def glyph_pixels(ch: str, size: int, latin: bool = False) -> list[int]:
|
||||||
code = ord(ch)
|
code = ord(ch)
|
||||||
# 调号用正常拉丁字母 b(Db/Eb…),不用手绘降号——降号竖笔过长、与 D 高低不一致
|
# 调号用正常拉丁字母 b(Db/Eb…);状态栏 % 用手绘清晰点阵
|
||||||
|
if latin and ch == "%" and size <= 12:
|
||||||
|
return percent_pixels(ascii_cell_width(size), size)
|
||||||
if latin or (32 <= code < 127):
|
if latin or (32 <= code < 127):
|
||||||
bdf_name = SIZE_TO_LATIN_BDF.get(size, SIZE_TO_BDF[size])
|
bdf_name = SIZE_TO_LATIN_BDF.get(size, SIZE_TO_BDF[size])
|
||||||
gmap = load_bdf(bdf_name)
|
gmap = load_bdf(bdf_name)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue