a6cdebde62
- D-6 目录规范化:docs 根目录散落文档归入 UI设计/子系统设计/架构设计/审查记录/ 环境与部署/网络 等子目录,去掉目录名空格,重命名 嵌入式C语言代码规范_V1.0.md - D-7 三档一致性门禁:新增 scripts/check_doc_links.py(链接存在性)、 scripts/gen_task_table.py(FreeRTOS 任务表数值)、scripts/check_mem_numbers.py (内存/Flash 体积),均支持 --check/--write/--diff,pre-commit 钩子同步注册 - D-5 文档索引:新建 docs/README.md,新建 docs/文档规范.md 约束目录命名与链接写法 - D-1 芯片手册瘦身:删除 1069 张无引用孤儿图片(77.06 MB), docs/芯片手册 120 MB → 41 MB,已引用图片零断链 - 同步 C 源码注释中的文档路径引用(D-6 重组后),构建 0 错误 0 警告
2.2 KiB
2.2 KiB
name, description
| name | description |
|---|---|
| font-regen | 重生成中文子集字体 ui_font_cn_12(extract_cn 提取 → make_font 生成 → diff 检查,固定 4 步,.venv 解释器)。Use when UI 代码新增中文文案、用户报告屏幕缺字/空白块、或提交任何含新汉字的 UI 字符串之前。 |
中文字体重生成
本工程唯一字体 ui_font_cn_12(宋体 12px 1bpp 子集,MCU/模拟器双端共用)。缺字渲染为空白——新增汉字必须走以下固定顺序,不得跳过或调换。详细原理见 docs/UI设计/UI_中文字体生成与配置.md。
固定顺序(仓库根目录执行)
# 1. 代码落库(新界面字符串已写入 ui_menu.c / ui_content_page.c 等 UI 源码)
# 2. 提取字符集(纯标准库,任意 python3 均可)
python tools/font_gen/extract_cn.py # 扫描 UI 源码字符串 → 仓库根 ui_cn_chars.txt
# 3. 生成字体(需 fontTools,一律用 .venv;宋体 .ttc 的 face0 抽取与 ▶ 箭头补回均自动完成,幂等)
.venv\Scripts\python.exe tools/font_gen/make_font.py
# 变体:--bpp 2(宋体细笔画发虚时)/ --font C:/path/to/font.ttf(换字体)
# 4. diff 检查:新增字在位、旧字不变、生成物 Opts 行字符集与预期一致
提交清单
ui_cn_chars.txt(仓库根)+ Drivers/BSP/UI/ui_font_cn_12.c 随代码一起提交,缺一个都会让另一端/下次构建字体与字集不一致。
坑
- 不要用 PATH 默认
python(msys64,无 fonttools)跑 make_font.py;.venv缺失时按 AGENTS.md「Python 环境」重建 requirements.txt必须纯 ASCII(Windows 下 pip 按 GBK 解码,中文注释 → UnicodeDecodeError)- 生僻字(宋体可能无字形)→ 写码前先手动验证字形,避免"代码写完才发现是空白"
- 生成成功后跑
ui-verifyskill 全回归;黄金参考因字形变化而 FAIL 属预期 →check_content_pages.py --update刷新 - 字数变化时同步更新文档中的字符集计数(当前 97 汉字 + ASCII 0x20-0x7E,共 193 字形):
UI_中文字体生成与配置.md、UI_界面制作流程.mdC3、UI_设计架构.md、simulator/README.md已知坑 #4