Edit online

第三方 FreeType 库支持

4 Dec 2024
Read time: 1 minute(s)

如需在 LVGL 中使用 FreeType 字体,执行以下配置流程:

  1. 使用 scons --menuconfigme 进入配置菜单,选中 freetype 包。
      Local packages options  --->
        Third-party packages options  --->
        [*] freetype  ---
  2. 打开头文件 luban-lite/packages/artinchip/lvgl-ui/lv_conf.h ,并定义宏 LV_USE_FREETYPE
    #define LV_USE_FREETYPE 1
  3. 编写 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);
    }
  4. 编译项目。

    确保所有依赖项都已正确安装。编译完成后,可在屏幕上看到使用 FreeType 字体渲染的文本。