Different language in same label

I want show different language in one label.Like

void _demoLabel()
{
    LV_FONT_DECLARE(winChineseFonts);

    lv_obj_t* screen = lv_scr_act();
    lv_obj_t* lable = lv_label_create(screen);
    lv_label_set_text(lable, "正在使用Lvgl中...");
    lv_obj_align(lable, LV_ALIGN_CENTER, 0, 0);
    //lv_obj_set_style_text_color(lable, lv_palette_main(LV_PALETTE_BROWN), 0);

    static lv_style_t style;
    lv_style_init(&style);
    lv_style_set_text_font(&style, &winChineseFonts);
    lv_style_set_text_color(&style, lv_palette_main(LV_PALETTE_BROWN));

    lv_obj_add_style(lable,&style,0);
}

But I find out one label cannot have two fonts.Like Pic

This means I have to convert all words which already exist and need to be used to my font.
That takes up unnecessary memory.
How to show different fonts in same label?
So it can use default font when it don’t exist in my font.

Description

What MCU/Processor/Board and compiler are you using?

lv_port_pc_visual_studio-release-v8.3.

What LVGL version are you using?

  • @file lv_conf.h
  • Configuration file for v8.3.4

What do you want to achieve?

When I write words which don’t exist in my font, it will turn to default font in one label.

What have you tried so far?

Trying method 3.I have install lv_font_conv and python.But I don’t know how to do next.

And it could work?(use default font when user font don’t have the words).

Code to reproduce

Add a code snippet which can run in the simulator. It should contain only the relevant code that compiles without errors when separated from your main code base.

The code block(s) should be formatted like:

void _demoLabel()
{
    LV_FONT_DECLARE(winChineseFonts);

    lv_obj_t* screen = lv_scr_act();
    lv_obj_t* lable = lv_label_create(screen);
    lv_label_set_text(lable, "正在使用Lvgl中...");
    lv_obj_align(lable, LV_ALIGN_CENTER, 0, 0);
    //lv_obj_set_style_text_color(lable, lv_palette_main(LV_PALETTE_BROWN), 0);

    static lv_style_t style;
    lv_style_init(&style);
    lv_style_set_text_font(&style, &winChineseFonts);
    lv_style_set_text_color(&style, lv_palette_main(LV_PALETTE_BROWN));

    lv_obj_add_style(lable,&style,0);
}

Screenshot and/or video

Have installed nobe.js.

Need a instruction.

Examples
Merge english from Roboto Regular and icons from Font Awesome, and show debug info:

env DEBUG=* lv_font_conv --font Roboto-Regular.ttf -r 0x20-0x7F --font FontAwesome.ttf -r 0xFE00=>0x81 --size 16 --format bin --bpp 3 --no-compress -o output.font

Merge english & russian from Roboto Regular, and show debug info:

env DEBUG=* lv_font_conv --font Roboto-Regular.ttf -r 0x20-0x7F -r 0x401,0x410-0x44F,0x451 --size 16 --format bin --bpp 3 --no-compress -o output.font

Dump all Roboto glyphs to inspect icons and font details:

lv_font_conv --font Roboto-Regular.ttf -r 0x20-0x7F --size 16 --format dump --bpp 3 -o ./dump

Note. Option --no-compress exists temporary, to avoid confusion until LVGL adds compression support.