在开发过程中,一般需要不断新增新需要字文字。

而我们的自定义字体一开始不可能包含所有文字。

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