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 目录结构加入说明
31 lines
1.1 KiB
Markdown
31 lines
1.1 KiB
Markdown
# 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` |
|
||
|
||
## 使用方式
|
||
|
||
```bash
|
||
# 新增含汉字的 UI 文案后:先提取字符集,再生成字库
|
||
& '.venv\Scripts\python.exe' tools/font_gen/extract_cn.py
|
||
& '.venv\Scripts\python.exe' tools/font_gen/make_font.py
|
||
```
|
||
|
||
## ⚠️ 注意
|
||
|
||
- **含新汉字的 UI 文案提交前必须重跑**(走 `font-regen` skill)——否则新字显示为空白/方块
|
||
- 产物 `ui_font_cn_12.c` **带 UTF-8 BOM**,勿手改(由脚本生成)
|
||
- 字库大小直接影响 Flash 占用,只嵌入实际使用的字符
|
||
- 依赖 `fontTools` / `Pillow`(已装在 `.venv`)
|
||
|
||
## 相关文档
|
||
|
||
- `docs/UI设计/UI_中文字体生成与配置.md`
|
||
- `docs/UI设计/UI_设计架构.md`
|