选中内容(绿色)时除了会搜索文章名,还会搜索文章内容
点击结果中的文章名进入文章界面后可以按Ctrl+F在页面内搜索
  • 版权:CC BY-SA 4.0
  • 创建:2023-11-01
  • 更新:2023-11-01


生成字体

https://lvgl.io/tools/fontconverter 生成字体:

  • 下载自己的字体,比如 思源雅黑: https://github.com/adobe-fonts/source-han-sans/releases
  • 下载 FontAwesome 的字体 : https://lvgl.io/assets/others/FontAwesome5-Solid+Brands+Regular.woff
  • 设置字体名字, 选择 Bpp,越大越清晰越占用内存渲染速度越慢
  • 选择自己的字体,可以指定字 unicode 范围, 基本汉字的编码范围是 0x4E00-0x9FA5,数字、拉丁字母、标点符号的编码范围是0x20-0x7E,也可以选择 输入 Symbols来生成指定的汉字,Range 和 Symbols 的并集为最后要生成的字符。
  • 点击添加额外字体,选择 FontAwesome 字体文件,选择使用 LVGL 使用到的0xF001, 0xF008, 0xF00B, 0xF00C, 0xF00D, 0xF011, 0xF013, 0xF015, 0xF019, 0xF01C, 0xF021, 0xF026, 0xF027, 0xF028, 0xF03E, 0xF043, 0xF048, 0xF04B, 0xF04C, 0xF04D, 0xF051, 0xF052, 0xF053, 0xF054, 0xF067, 0xF068, 0xF06E, 0xF070, 0xF071, 0xF074, 0xF077, 0xF078, 0xF079, 0xF07B, 0xF093, 0xF095, 0xF0C4, 0xF0C5, 0xF0C7, 0xF0C9, 0xF0E0, 0xF0E7, 0xF0EA, 0xF0F3, 0xF11C, 0xF124, 0xF15B, 0xF1EB, 0xF240, 0xF241, 0xF242, 0xF243, 0xF244, 0xF287, 0xF293, 0xF2ED, 0xF304, 0xF55A, 0xF7C2, 0xF8A2 字符(从 lv_symbol_def.h 找到定义),这样内置的一些图标才能显示。

    注意LV_SYMBOL_FILE 在宏定义中注释Unicode 0xF158是错误的应该是0xF15B, 参考lvgl使用私有字库时显示自带的图标
    font

使用字体

将生成的代码 zh_fonts.c,复制到工程中,

  1. // 声明变量
  2. LV_FONT_DECLARE(zh_fonts);
  3. lv_obj_set_style_text_font(root, &zh_fonts, LV_PART_MAIN);

当然你也可以不用在字体内自己添加 SYMBOL, 在用到了 SYMBOL 的地方手动用内置字体设置比如:

  1. lv_obj_set_style_text_font(mbox, &lv_font_montserrat_16, LV_PART_INDICATOR);

然后注意源码文件必须是UTF-8编码格式,建议用 vscode 编写,右下角可以看到文件编码。
在设置文字内容时直接写汉字就可以了,比如

  1. lv_label_set_text(label, "你好");
文章有误?有想法想讨论?查看或者发起勘误/讨论 主题
(发起评论需要先登录 github)

/wallpaper/wallhaven-eymj5k.jpg