LVGL 字体生成步骤

LVGL 字体生成步骤 概述带屏的电子产品需要卖到国外显示多国语言(i18n)国际化产品。都离不开字库的生成。一、准备工作1、下载全字库这里我以“NotoSansCJKsc-Medium.otf”为例链接如下https://raw.githubusercontent.com/notofonts/noto-cjk/main/Sans/OTF/SimplifiedChinese/NotoSansCJKsc-Medium.otf2、创建 gen_all.bat 文件脚本的代码如下所示echo off chcp 65001 nul cls echo echo 全语种 LVGL 字库批量生成工具 echo 支持 40 国家语言 12/20/24/30 号 echo echo 字符范围说明 echo 0x20-0x7F 基础英文、数字、符号 echo 0x00A0-0x024F 欧洲语言(法德意西荷捷波等) echo 0x0370-0x03FF 希腊语 echo 0x0400-0x058F 俄语、乌克兰语等斯拉夫语 echo 0x0600-0x06FF 阿拉伯语、波斯语 echo 0x0900-0x097F 印地语、梵文、孟加拉语 echo 0x0E00-0x0E7F 泰语 echo 0x0F00-0x0FFF 蒙古语 echo 0x1000-0x109F 缅甸语 echo 0x1780-0x17FF 高棉语 echo 0x19E0-0x19FF 希伯来语 echo 0x3040-0x30FF 日语 echo 0x3130-0x318F 韩文兼容字母 echo 0xAC00-0xD7AF 韩文完整字符 echo 0x4E00-0x9FFF 简体、繁体中文 ech0 ech0 ech0 --format lvgl echo :: 检查字体 if not exist NotoSansCJKsc-Medium.otf ( echo 错误未找到字体 NotoSansCJKsc-Medium.otf pause nul exit /b 1 ) :: 创建输出目录 if not exist output mkdir output :: 字符范围 set RANGE--range 0x20-0x7F --range 0x00A0-0x00FF --range 0x0100-0x017F --range 0x0180-0x024F --range 0x0370-0x03FF --range 0x0400-0x04FF --range 0x0500-0x052F --range 0x0530-0x058F --range 0x0600-0x06FF --range 0x0900-0x097F --range 0x0E00-0x0E7F --range 0x0F00-0x0FFF --range 0x1000-0x109F --range 0x1780-0x17FF --range 0x19E0-0x19FF --range 0x3040-0x30FF --range 0x3130-0x318F --range 0x4E00-0x9FFF --range 0xAC00-0xD7AF :: 生成 12 echo. echo 正在生成 12px 字库... lv_font_conv --bpp 4 --size 12 --font NotoSansCJKsc-Medium.otf %RANGE% --no-compress --format bin--output output/font_12.c if %errorlevel% neq 0 (echo 12px 生成失败 pause nul exit /b 1) echo 12px 生成成功 :: 生成 20 echo. echo 正在生成 20px 字库... lv_font_conv --bpp 4 --size 20 --font NotoSansCJKsc-Medium.otf %RANGE% --no-compress --format bin--output output/font_20.c if %errorlevel% neq 0 (echo 20px 生成失败 pause nul exit /b 1) echo 20px 生成成功 :: 生成 24 echo. echo 正在生成 24px 字库... lv_font_conv --bpp 4 --size 24 --font NotoSansCJKsc-Medium.otf %RANGE% --no-compress --format bin--output output/font_24.c if %errorlevel% neq 0 (echo 24px 生成失败 pause nul exit /b 1) echo 24px 生成成功 :: 生成 30 echo. echo 正在生成 30px 字库... lv_font_conv --bpp 4 --size 30 --font NotoSansCJKsc-Medium.otf %RANGE% --no-compress --format bin --output output/font_30.c if %errorlevel% neq 0 (echo 30px 生成失败 pause nul exit /b 1) echo 30px 生成成功 echo. echo echo ✅ 全部生成完成文件在 output 文件夹 echo echo. echo 请按任意键退出... pause nul3、生成好的文件