在开发过程中,一般需要不断新增新需要字文字。
而我们的自定义字体一开始不可能包含所有文字。
这个文件主要是学会:自定义的字体xxx.c中怎么添加一个新的文字。
lv_font_conv工具
- 安装,官方web网站也是用这个工具
npm install lv_font_conv
lv_font_conv -v
- 执行命令
lv_font_conv \
--bpp 2 \
--size 20 \
--no-compress \
--font 'E:\fonts\simhei.ttf' \
--symbols '你好沟槽的世界新' \
--range 0-127 \
--format lvgl \
-o 'SimHei_20.c'
lv_font_conv ^
--bpp 2 ^
--size 20 ^
--no-compress ^
--font "E:\fonts\simhei.ttf" ^
--symbols "你好沟槽的世界新" ^
--range 0-127 ^
--format lvgl ^
-o "SimHei_20.c"
| 参数 | 值 | 含义与影响 |
|---|---|---|
--bpp 2 | 2 | 设置每像素位数。2 表示 4 级抗锯齿(2^2=4),字体边缘会有淡淡的过渡灰阶。相比 bpp=4(16级)文件更小,比 bpp=1(无锯齿)更平滑,是嵌入式场景的折中之选。1,2,3,4,8几种可选 |
--size 20 | 20 | 输出字体的像素高度。生成的字模高为 20px,宽度按字符比例自动缩放。 |
--no-compress | 开启 | 关闭 RLE 压缩。开启后位图数据会原样存储,文件体积会显著变大(尤其对汉字而言),但 LVGL 渲染时无需解压,读取速度更快(以 Flash 空间换 CPU 算力)。 |
--font | 路径 | 指定源字体为黑体 (SimHei)。注意路径中的 C:\path\ 是占位符,实际执行时必须替换为真实路径(如 C:\Windows\Fonts\simhei.ttf)。 |
--symbols | 字符串 | 显式白名单。仅包含 你好沟槽的世界新 这 10 个汉字。 |
--range 0-127 | ASCII | 额外包含基础 ASCII 码(英文字母、数字、标点)。这样你的 UI 既能显示英文,也能显示指定的中文。 |
--format lvgl | lvgl | 输出适配 LVGL 内部结构体(lv_font_t)的 C 数组格式。 |
-o | 文件名 | 输出文件名为 SimHei_20.c。 |