39bd06adea
- 新增 26 份目录 README:App/(+log,task,util,protocol)、Drivers/BSP/(+8子系统)、 Src/、Inc/、scripts/、tools/(+6子工具)、test/、MDK-ARM/、simulator/(+sim,tests) - 每份含:定位、文件清单表、关键约束/陷阱、指向 docs 权威文档 - 第三方库与生成代码目录排除(CMSIS/HAL/Middlewares/Lib/SDL2) - docs/文档规范.md 新增 §1.1b 代码目录 README 约定;根 README 目录结构加入说明
tools/font_gen/ — 中文字库生成
从字符集清单生成 LVGL 用的中文字库 C 文件(子集化,只嵌入用到的汉字以节省 Flash)。
脚本一览
| 脚本 | 作用 |
|---|---|
extract_cn.py |
提取汉字:扫描 UI 源码的字符串字面量,输出字符集清单 ui_cn_chars.txt |
make_font.py |
生成字库:按字符集从 TTF 生成 Drivers/BSP/UI/ui_font_cn_12.c |
使用方式
# 新增含汉字的 UI 文案后:先提取字符集,再生成字库
& '.venv\Scripts\python.exe' tools/font_gen/extract_cn.py
& '.venv\Scripts\python.exe' tools/font_gen/make_font.py
⚠️ 注意
- 含新汉字的 UI 文案提交前必须重跑(走
font-regenskill)——否则新字显示为空白/方块 - 产物
ui_font_cn_12.c带 UTF-8 BOM,勿手改(由脚本生成) - 字库大小直接影响 Flash 占用,只嵌入实际使用的字符
- 依赖
fontTools/Pillow(已装在.venv)
相关文档
docs/UI设计/UI_中文字体生成与配置.mddocs/UI设计/UI_设计架构.md