里飞网

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

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

[复制链接]

2

主题

9

帖子

34

积分

新手上路

Rank: 1

积分
34
跳转到指定楼层
楼主
发表于 2022-1-2 17:08:02 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 feihongkld 于 2022-1-2 17:09 编辑


/* Optionally declare your custom fonts here.
* You can use these fonts as default font too
* and they will be available globally. E.g.
* #define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(my_font_1) \
*                                LV_FONT_DECLARE(my_font_2)
*/
#define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(myFont1)        //myfont1是字体名

/* Enable it if you have fonts with a lot of characters.


#define LV_USE_THEME_MONO        1

#define LV_THEME_DEFAULT_INCLUDE            <stdint.h>      /*Include a header for the init. function*/
#define LV_THEME_DEFAULT_INIT               lv_theme_material_init
#define LV_THEME_DEFAULT_COLOR_PRIMARY      lv_color_hex(0x01a2b1)
#define LV_THEME_DEFAULT_COLOR_SECONDARY    lv_color_hex(0x44d1b6)
#define LV_THEME_DEFAULT_FLAG               LV_THEME_MATERIAL_FLAG_LIGHT
#define LV_THEME_DEFAULT_FONT_SMALL         &lv_font_montserrat_16
#define LV_THEME_DEFAULT_FONT_NORMAL        &myFont1
#define LV_THEME_DEFAULT_FONT_SUBTITLE      &lv_font_montserrat_16
#define LV_THEME_DEFAULT_FONT_TITLE         &lv_font_montserrat_16

/*=================


已经设置了,可是无法正常显示,


void lv_ex_get_started_1(void)
{
          const char* str1 = "测试按钮";
          static lv_style_t style1;  //style变量不能是局部变量,否则函数退出将销毁,绘制将会不正确
       
    lv_obj_t * btn = lv_btn_create(lv_scr_act(), NULL);     /*Add a button the current screen*/
    lv_obj_set_pos(btn, 150, 10);                            /*Set its position*/
    lv_obj_set_size(btn, 120, 50);                          /*Set its size*/
    lv_obj_set_event_cb(btn, btn_event_cb);                 /*Assign a callback to the button*/

       
    lv_obj_t * label = lv_label_create(btn, NULL);          /*Add a label to the button*/
          lv_label_set_text(label, str1);
       
          lv_style_init(&style1);
    lv_style_set_text_font(&style1, LV_STATE_DEFAULT, &myFont1);
    lv_obj_add_style(label, LV_LABEL_PART_MAIN, &style1);
}

void lv_chinest_test(void)
{
        static lv_style_t style2;
        lv_obj_t * label2;
       
        label2 =lv_label_create(lv_scr_act(), NULL);
        lv_obj_set_pos(label2, 250, 10);                            /*Set its position*/
        lv_obj_set_size(label2, 120, 50);                          /*Set its size*/

       
        lv_style_init(&style2);
        lv_style_set_text_font(&style2, LV_STATE_DEFAULT, &myFont1);
        lv_obj_add_style(label2, LV_LABEL_PART_MAIN, &style2);
        lv_label_set_text(label2, "中文测试");

}

回复

使用道具 举报

2

主题

9

帖子

34

积分

新手上路

Rank: 1

积分
34
沙发
 楼主| 发表于 2022-1-4 13:44:23 | 显示全部楼层
测试了,还是不行,void lvgl_test(void)
{
    lv_style_init(&style_label);
    lv_style_set_bg_opa(&style_label, LV_STATE_DEFAULT, LV_OPA_COVER);
    lv_style_set_text_font(&style_label, LV_STATE_DEFAULT, &myFont1);

    lv_theme_t * th = LV_THEME_DEFAULT_INIT(LV_COLOR_BLACK, LV_COLOR_BLACK,
                                                 0, &myFont1, &myFont1,
                                                 &myFont1, &myFont1);
    lv_theme_set_act(th);
    lv_obj_t *scr = lv_disp_get_scr_act(NULL);/* 获取当前屏幕 */
    lv_scr_load(scr);

    lv_obj_t *label1 = lv_label_create(scr,NULL); /* 创建 label 控件 */
    //lv_obj_set_style(label1,&style_label); /* 为控件设置新的 style */
    lv_obj_set_pos(label1,0,0); /* 设置控件的坐标 */
    lv_label_set_text(label1,"Hello你好世界"); /* 设置文字 */
    lv_obj_align(label1,NULL,LV_ALIGN_IN_TOP_MID,0,100); /* 设置控件的对齐方式-相对坐标 */
}
结果见附件图片,是不是我中文字库的问题,能否把你的中文字库.C文件发给我一下我试试[img][/img]

1.jpg (168.59 KB, 下载次数: 543)

1.jpg
回复

使用道具 举报

2

主题

9

帖子

34

积分

新手上路

Rank: 1

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

myFont1.rar

3.37 MB, 下载次数: 923

回复

使用道具 举报

2

主题

9

帖子

34

积分

新手上路

Rank: 1

积分
34
地板
 楼主| 发表于 2022-1-4 14:05:49 | 显示全部楼层
    0x007a,        /*(z)*/
    0x007b,        /*({)*/
    0x007c,        /*(|)*/
    0x007d,        /*(})*/
    0x007e,        /*(~)*/
    0x007f,        /*()*/
    0x516c,        /*(公)*/
    0x5229,        /*(利)*/
    0x53f8,        /*(司)*/
    0x5929,        /*(天)*/
    0x5f00,        /*(开)*/
    0x6d25,        /*(津)*/
    0x8fbe,        /*(达)*/
    0x0000,    /*End indicator*/
};
中文,英文都不能显示了 ,是什么原因呢

myFont1.rar

2.46 KB, 下载次数: 898

回复

使用道具 举报

2

主题

9

帖子

34

积分

新手上路

Rank: 1

积分
34
5#
 楼主| 发表于 2022-1-4 14:09:21 | 显示全部楼层
能否把你的这个字库文件发给我一下,或者把你的工程文件发给我测试一下,我是7.11版本,谢谢!
回复

使用道具 举报

2

主题

9

帖子

34

积分

新手上路

Rank: 1

积分
34
6#
 楼主| 发表于 2022-1-4 14:14:52 | 显示全部楼层
本帖最后由 feihongkld 于 2022-1-4 14:16 编辑

/* 司 */
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x30,0x00,  //...................+....
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8e,0xe8,0x00,  //..................+@@+..
0x00,0x00,0xaf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x30,  //....%@@@@@@@@@@@@@@@@@..
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xaf,0xe5,0x00,  //..................%@@+..
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8a,0x00,0xaf,0xe5,0x00,  //..............+%..%@@+..
0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xef,0xc0,0xaf,0xe5,0x00,  //..............@@%.%@@+..
0x05,0xef,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xaf,0xe5,0x00,  //.+@@@@@@@@@@@@@@@%%@@+..
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xaf,0xe5,0x00,  //..................%@@+..
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xaf,0xe5,0x00,  //..................%@@+..
0x00,0x00,0x8c,0xa3,0x00,0x00,0xcc,0x50,0x00,0xaf,0xe5,0x00,  //....+%%.....%%+...%@@+..
0x00,0x00,0x8e,0xff,0xff,0xff,0xff,0xfa,0x00,0xaf,0xe5,0x00,  //....+@@@@@@@@@@%..%@@+..
0x00,0x00,0x8e,0xe3,0x00,0x03,0xef,0xc0,0x00,0xaf,0xe5,0x00,  //....+@@.....@@%...%@@+..
0x00,0x00,0x8e,0xe3,0x00,0x03,0xef,0xc0,0x00,0xaf,0xe5,0x00,  //....+@@.....@@%...%@@+..
0x00,0x00,0x8e,0xe3,0x00,0x03,0xef,0xc0,0x00,0xaf,0xe5,0x00,  //....+@@.....@@%...%@@+..
0x00,0x00,0x8e,0xe3,0x00,0x03,0xef,0xc0,0x00,0xaf,0xe5,0x00,  //....+@@.....@@%...%@@+..
0x00,0x00,0x8e,0xff,0xff,0xff,0xff,0xc0,0x00,0xaf,0xe5,0x00,  //....+@@@@@@@@@%...%@@+..
0x00,0x00,0x8e,0xe3,0x00,0x03,0xef,0xc0,0x00,0xaf,0xe5,0x00,  //....+@@.....@@%...%@@+..
0x00,0x00,0x8e,0xe3,0x00,0x03,0x85,0x00,0x00,0xaf,0xe5,0x00,  //....+@@.....++....%@@+..
0x00,0x00,0x35,0x00,0x00,0x00,0x03,0x33,0x00,0xaf,0xe5,0x00,  //.....+............%@@+..
0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x8c,0xff,0xff,0xe3,0x00,  //..............+%@@@@@...
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8e,0xff,0xc0,0x00,  //................+@@@%...
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0xe8,0x00,0x00,  //.................@@+....

};

英文显示正常了,中文还是不显示 ,中文编码对吗
回复

使用道具 举报

2

主题

9

帖子

34

积分

新手上路

Rank: 1

积分
34
7#
 楼主| 发表于 2022-1-4 14:21:51 | 显示全部楼层
本帖最后由 feihongkld 于 2022-1-4 14:24 编辑

明白了,我一直以为字体库文件是UTF8编码就OK,而其他调用的C文件 没有注意是不是UTF8,  谢谢!测试OK了,
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 23:13 , Processed in 0.083832 second(s), 6 queries , File On.

Powered by Discuz! X3.3

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

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