第三方 FreeType 库支持
4 Dec 2024
Read time: 1 minute(s)
如需在 LVGL 中使用 FreeType 字体,执行以下配置流程:
-
使用 scons --menuconfig 或 me 进入配置菜单,选中 freetype 包。
Local packages options ---> Third-party packages options ---> [*] freetype ---
-
打开头文件 luban-lite/packages/artinchip/lvgl-ui/lv_conf.h ,并定义宏 LV_USE_FREETYPE。
#define LV_USE_FREETYPE 1
-
编写 FreeType 字体调用代码,并将其添加在项目中。
FreeType 字体调用示例如下:void lv_example_freetype_1(void) { /*Create a font*/ static lv_ft_info_t info; /*FreeType uses C standard file system, so no driver letter is required.*/ // 需要设置字库文件在系统目录下的路径 info.name = "/rodata/lvgl_data/font/Lato-Regular.ttf"; info.weight = 24; info.style = FT_FONT_STYLE_NORMAL; info.mem = NULL; if(!lv_ft_font_init(&info)) { LV_LOG_ERROR("create failed."); } /*Create style with the new font*/ static lv_style_t style; lv_style_init(&style); lv_style_set_text_font(&style, info.font); lv_style_set_text_align(&style, LV_TEXT_ALIGN_CENTER); /*Create a label with the new style*/ lv_obj_t * label = lv_label_create(lv_scr_act()); lv_obj_add_style(label, &style, 0); // 添加字库 style 到 label 控件 lv_label_set_text(label, "Hello world\nI'm a font created with FreeType"); lv_obj_center(label); }
- 编译项目。
确保所有依赖项都已正确安装。编译完成后,可在屏幕上看到使用 FreeType 字体渲染的文本。