里飞网

 找回密码
 立即注册
查看: 3284|回复: 11
打印 上一主题 下一主题

LVGL7.11 加载中文字库,无法正常显示

[复制链接]

45

主题

291

帖子

2508

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2508
楼主
发表于 2022-1-2 19:04:53 | 显示全部楼层
本帖最后由 阿里兄 于 2022-1-2 19:07 编辑

LVGL 7版本,应该是你没有正确设置字体,给个参考,你也可以参考LV的例程。
  1. #include "lvgl/lvgl.h"

  2. LV_FONT_DECLARE(myFont)

  3. static lv_style_t style_label;

  4. void lvgl_test(void)
  5. {
  6. //    lv_obj_t *scr = lv_disp_get_scr_act(NULL);/* 获取当前屏幕 */
  7. //    lv_obj_t *image = lv_img_create(scr,NULL);/* 创建 image 控件 */
  8. //    lv_img_set_src(image,&img_human); /* 为控件设置图片 */
  9. //    lv_obj_align(image,NULL,LV_ALIGN_IN_TOP_MID,0,0);/* 设置控件的对齐方式,相对坐标 */

  10.     lv_style_init(&style_label);
  11.     lv_style_set_bg_opa(&style_label, LV_STATE_DEFAULT, LV_OPA_COVER);
  12.     lv_style_set_text_font(&style_label, LV_STATE_DEFAULT, &myFont);

  13.     lv_theme_t * th = LV_THEME_DEFAULT_INIT(LV_COLOR_BLACK, LV_COLOR_BLACK,
  14.                                                  0, &myFont, &myFont,
  15.                                                  &myFont, &myFont);
  16.     lv_theme_set_act(th);

  17.     lv_obj_t *scr = lv_disp_get_scr_act(NULL);/* 获取当前屏幕 */
  18.     lv_scr_load(scr);

  19.     lv_obj_t *label1 = lv_label_create(scr,NULL); /* 创建 label 控件 */
  20.     //lv_obj_set_style(label1,&style_label); /* 为控件设置新的 style */
  21.     lv_obj_set_pos(label1,0,0); /* 设置控件的坐标 */
  22.     lv_label_set_text(label1,"Hello你好世界"); /* 设置文字 */
  23.     lv_obj_align(label1,NULL,LV_ALIGN_IN_TOP_MID,0,100); /* 设置控件的对齐方式-相对坐标 */
  24. }
复制代码


回复

使用道具 举报

45

主题

291

帖子

2508

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2508
沙发
发表于 2022-1-4 13:48:07 | 显示全部楼层
feihongkld 发表于 2022-1-4 13:44
测试了,还是不行,void lvgl_test(void)
{
    lv_style_init(&style_label);

你可以转一个内部字体测试一下先,字体工具用起来很简单的
回复

使用道具 举报

45

主题

291

帖子

2508

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2508
板凳
发表于 2022-1-4 13:59:57 | 显示全部楼层
feihongkld 发表于 2022-1-4 13:47
这是我用工具4.0生成的字库文件,

字体测试没有问题,完整测试代码和运行效果如下:
  1. void lvgl_test(void)
  2. {
  3.     lv_obj_t *scr = lv_disp_get_scr_act(NULL);/* 获取当前屏幕 */

  4.     lv_theme_t * th = lv_theme_material_init(LV_COLOR_BLACK, LV_COLOR_BLACK,0,
  5.                                              &myFont1, &myFont1,
  6.                                              &myFont1, &myFont1);
  7.     lv_theme_set_act(th);

  8.     lv_scr_load(scr);

  9.     lv_obj_t *label1 = lv_label_create(scr,NULL); /* 创建 label 控件 */
  10.     lv_obj_set_pos(label1,0,0); /* 设置控件的坐标 */
  11.     lv_label_set_text(label1,"你好,里飞网:www.lfly.xyz\n参数\n配置\n维护"); /* 设置文字 */
  12.     lv_obj_align(label1,NULL,LV_ALIGN_IN_TOP_MID,0,240); /* 设置控件的对齐方式-相对坐标 */
  13. }
复制代码



回复

使用道具 举报

45

主题

291

帖子

2508

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2508
地板
发表于 2022-1-4 14:10:04 | 显示全部楼层
feihongkld 发表于 2022-1-4 14:05
0x007a,        /*(z)*/
    0x007b,        /*({)*/
    0x007c,        /*(|)*/

字模有问题,字体选择不对,不要勾TTF,这样使用就会简单一些,转换的是否正常,一看字模就能知道。
回复

使用道具 举报

45

主题

291

帖子

2508

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2508
5#
发表于 2022-1-4 14:16:38 | 显示全部楼层
feihongkld 发表于 2022-1-4 14:14
英文显示正常了,中文还是不显示 ,中文编码对吗

MDK使用ANSI编码,C文件使用UTF8编码,具体请看工具里面的帮助说明。就这样吧。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|里飞网  

GMT+8, 2024-5-4 12:03 , Processed in 0.088113 second(s), 6 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表