全屏滑条统一路径+对比色(112/115) + 字体索引+查列表+丢失降级(113) + 文档刷新(114) + svcd CLI文档+mips-repo拆bins/mpk(116)
This commit is contained in:
1 parent
b75ecce5de
commit
19a001f007
22 files changed
+666
-129
No files matched your search
@@ -117,6 +117,54 @@ int meow_font_config_multifont(int on,
|
||||
int meow_font_import_zip(const char *zip_path); /* TODO:MeowPanel */
|
||||
int meow_font_export_zip(const char *family, const char *out_zip); /* TODO:MeowPanel */
|
||||
|
||||
/* ================================================================== */
|
||||
/* M2.58 字体索引 + 应用字库查询(规格 §5.7:索引文件 / 查列表 / 丢失降级默认) */
|
||||
/* ================================================================== */
|
||||
/* 系统字体列表的持久化快照 = TF 卡 <card_root>/MeowOS/config/fonts/index(CSV,每套一条:
|
||||
* "family","weight","path","label","tier",glyph_count
|
||||
* path = 卡根相对 font.png(如 MeowOS/fonts/misans/regular/font.png)
|
||||
* label = 显示名(含字重 + 尺寸标记,如 `MiSans Regular(common≈4k)`)
|
||||
* tier = common|gbk|full(档位,信息用 + 驱动按需加载)
|
||||
* launcher 扫描 MeowOS/fonts/<family>/<weight>/ 后写该文件(覆盖,含默认行 index0);
|
||||
* SDK 侧 meow_font_get_available_count()/enumerate() 只从这个文件读,不依赖 launcher 内存数组;
|
||||
* 无卡/无 index → 仅 1 项板载默认(family=default)。 */
|
||||
#define MEOW_FONT_INDEX_REL "MeowOS/config/fonts/index"
|
||||
|
||||
/* 权威列表数据模型(SDK 侧快照,枚举时填充;规格 §5.7.1)。 */
|
||||
#ifndef MEOW_FONT_INFO_DEFINED
|
||||
#define MEOW_FONT_INFO_DEFINED
|
||||
typedef struct meow_font_info {
|
||||
char family[64]; /* family slug = MeowOS/fonts/<family>/ 一级目录名 */
|
||||
char name[64]; /* 显示名(index 无单列 → 回退 family) */
|
||||
char weight[32]; /* weight slug(regular|bold|…,缺省 regular) */
|
||||
char tier[8]; /* 档位 common|gbk|full(info 用) */
|
||||
int glyph_count; /* font.json glyph_count(info 用) */
|
||||
char label[128]; /* index 显示名(含字重 + 尺寸标记) */
|
||||
int size_list[16]; /* 原生字号表(index 无 → 空) */
|
||||
int size_count; /* 有效字号数 */
|
||||
int bit_depth; /* 4|8(index 无 → 0) */
|
||||
char path_png[320]; /* 卡根相对 MeowOS/fonts/<family>/<weight>/font.png */
|
||||
} meow_font_info;
|
||||
#endif
|
||||
|
||||
/* 卡根:env MEOW_CARD_ROOT 优先,否则默认 /usr/data/mnt/sd_0。 */
|
||||
const char *meow_font_card_root(void);
|
||||
/* <card_root>/MeowOS/config/fonts/index 绝对路径写入 out;0=成功。 */
|
||||
int meow_font_index_path(char *out, int olen);
|
||||
/* 读 index → 填充 out 数组(最多 max 条),返回「总条数」(无 index/不可读/空 → 1=合成默认行)。
|
||||
* 注意 out[i].path_png 为「卡根相对」路径,需经卡根解析为绝对路径再使用。 */
|
||||
int meow_font_index_load(meow_font_info *out, int max);
|
||||
|
||||
/* 应用可读 TF 卡字体列表(规格 §5.7.2):
|
||||
* - get_available_count():可用字库数(含默认;无卡 → 1)。
|
||||
* - enumerate(idx, out):按序号取,越界返回 0;idx=0=默认行(family=default)。
|
||||
* - select_by_id(id):id=0 跟随系统默认(font.file,经 env MEOW_FONT_PNG/IDX);
|
||||
* id>0 会话内固定用该套;该套字库缺失 → 降级默认(不丢请求)+ WARN 日志
|
||||
* (meow_log→app 日志)。成功 0,越界负值。 */
|
||||
int meow_font_get_available_count(void);
|
||||
int meow_font_enumerate(int idx, meow_font_info *out);
|
||||
int meow_font_select_by_id(int id);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in new issue
Block a user