Files
STM32F4-Base/tools/font_gen/README.md
T
wandering1 39bd06adea 为自建代码目录补齐 README,建立目录级导航体系
- 新增 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 目录结构加入说明
2026-09-26 12:25:36 +08:00

31 lines
1.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`