feat(launcher): 字体扫描迁移三级目录 (agent-193) — <family>/<weight>/<tier>/ 支持(两级向后兼容); FONT_PRESETS_MAX 17→64; 设置页 family→weight 两级不变,同weight多tier按加载大字库开关选档(关=common优先/开=gbk优先); index 落盘含三级条目

launcher ab8e610f→d3cae88b; test_font_tier/test_font_weight PASS
已知缺口: SDK meow_font.c MEOW_FONT_INDEX_MAX=32 截断(>32套需同步提); S_NET_MAX=8 family 上限; default 字体仍两级
This commit is contained in:
MeowOS committed 2026-08-31 05:09:42 +08:00
1 parent 6603e6686c
commit 3fd4726198
5 files changed
+366 -54

No files matched your search

@@ -115,7 +115,11 @@ extern "C" {
#define UI_FONT_PNG_SYS "/usr/share/meowos/font/font.png"
#define UI_FONT_IDX_SYS "/usr/share/meowos/font/font.idx"
#define MEOW_FONTS_CFG "MeowOS/fonts"
#define FONT_PRESETS_MAX 17 /* 1 默认 + ≤16 卡内字体(防爆) */
/* 字体 preset 上限(FONT_SYSTEM 三级定案后按 (family,weight,tier) 一套一 preset):
* 1 默认 + 卡内各套(如 source_han_sans_cn:7 字重 common + regular/medium/bold gbk = 10 套,
* 叠加既有 6 套 + 后续多语言/多档位余量)。静态有界、非堆,全数组 BSS 约 36KB,可接受。
* 注:SDK meow_font.c MEOW_FONT_INDEX_MAX=32 读 index 时取前 32 条(sdk/ 并行作业,未同步改)。 */
#define FONT_PRESETS_MAX 64
#define ROW_H 52
#define ROW_TOP 96
#define EXIT_ROW 640
@@ -511,6 +515,7 @@ extern int fb_fd;
extern const char *font_preset_fams[FONT_PRESETS_MAX];
extern const char *font_preset_labels[FONT_PRESETS_MAX];
extern const char *font_preset_names[FONT_PRESETS_MAX];
extern const char *font_preset_tiers[FONT_PRESETS_MAX];
extern const char *font_preset_wts[FONT_PRESETS_MAX];
extern const char *font_presets[FONT_PRESETS_MAX];
extern int font_presets_n;