Symbols on buttons on lvgl - is there a bug or is it me?

Hi from Germany,

I’m very new to programming, so please remember that :grimacing:

I’m working on lvgl solutions for my TFT display. ISo far, so good. Works so far, but I cannot get symbols shown on buttons.

lvgl:
  color_depth: 16
  update_interval: 100ms
  buffer_size: 10%
  displays: my_display
  touchscreens: my_touchscreen
  pages:
    - id: home_page
      widgets:
        - label:
            text: "Touch Timer"
            text_font: font_48
            align: CENTER
            y: -40
        - button:
            id: go_timer_btn
            align: CENTER
            width: 160
            height: 80
            on_click:
              then:
                - lambda: |-
                    ESP_LOGI("ui", "Go Timer tapped");
                - lvgl.page.show:
                    id: timer_page
                    animation: FADE_IN
            widgets:
              - label:
                  text: "\uE425"
                  text_font: font_symbols
                  align: CENTER
        - button:
            id: settings_btn
            align: CENTER
            y: 80
            width: 160
            height: 80
            on_click:
              then:
                - lambda: |-
                    ESP_LOGI("ui", "Settings tapped");
                - lvgl.page.show:
                    id: settings_page
                    animation: FADE_IN
            widgets:
              - label:
                  text: "\uE8B8"
                  text_font: font_symbols
                  align: CENTER

    - id: timer_page
      widgets:
        - label:
            text: "Shot Timer"
            text_font: font_36
            text_color: my_green
            align: TOP_MID
            y: 10
        - label:
            id: timer_display
            text: !lambda |-
              return str_sprintf("%02d:%02d", id(timer_seconds)/60, id(timer_seconds)%60);
            text_font: font_48
            text_color: my_red
            align: CENTER
            y: -20
        - button:
            id: start_btn
            align: BOTTOM_LEFT
            x: 20
            y: -20
            width: 80
            height: 60
            on_click:
              then:
                - lambda: |-
                    ESP_LOGI("timer", "Start/Stop tapped");
                    id(timer_active) = !id(timer_active);
                    if (id(timer_active)) id(timer_seconds)=25;
                - lvgl.label.update:
                    id: start_btn_label
                    text: !lambda |-
                      return std::string(id(timer_active)? "\uE034" : "\uE037");
            widgets:
              - label:
                  id: start_btn_label
                  text: "\uE037"
                  text_font: font_symbols
                  align: CENTER
        - button:
            id: reset_btn
            align: BOTTOM_RIGHT
            x: -20
            y: -20
            width: 80
            height: 60
            on_click:
              then:
                - lambda: |-
                    ESP_LOGI("timer", "Reset tapped");
                    id(timer_active)=false; id(timer_seconds)=25;
                - lvgl.label.update:
                    id: timer_display
                    text: !lambda |-
                      return str_sprintf("%02d:%02d", id(timer_seconds)/60, id(timer_seconds)%60);
                - lvgl.label.update:
                    id: start_btn_label
                    text: "\uE037"
            widgets:
              - label:
                  text: "\uE5D5"
                  text_font: font_symbols
                  align: CENTER
        - button:
            id: back_btn
            align: BOTTOM_MID
            y: -20
            width: 60
            height: 50
            on_click:
              then:
                - lambda: |-
                    ESP_LOGI("ui", "Back tapped");
                - lvgl.page.show:
                    id: home_page
                    animation: FADE_OUT
            widgets:
              - label:
                  text: "\uE5C4"
                  text_font: font_symbols
                  align: CENTER

    - id: settings_page
      widgets:
        - label:
            text: "Settings"
            text_font: font_36
            align: TOP_MID
            y: 10
        - button:
            id: back_settings_btn
            align: BOTTOM_MID
            y: -20
            width: 60
            height: 50
            on_click:
              then:
                - lambda: |-
                    ESP_LOGI("ui", "Back from settings tapped");
                - lvgl.page.show:
                    id: home_page
                    animation: FADE_OUT
            widgets:
              - label:
                  text: "\uE5C4"
                  text_font: font_symbols
                  align: CENTER

interval:
  - interval: 1s
    then:
      - if:
          condition:
            lambda: 'return id(timer_active);'
          then:
            - lambda: |-
                id(timer_seconds)--;
                if (id(timer_seconds) <= 0) { id(timer_active)=false; id(timer_seconds)=0; }
            - lvgl.label.update:
                id: timer_display
                text: !lambda |-
                  return str_sprintf("%02d:%02d", id(timer_seconds)/60, id(timer_seconds)%60);
            - lvgl.label.update:
                id: start_btn_label
                text: !lambda |-
                  return std::string(id(timer_active)? "\uE034" : "\uE037");

Can you see a reason why the symbols are not there, just a box. Tried different fonts, but nothing helped. I know, a lot changed in the last few weeks, but I thought, I followed the rules.

Thanks for help

Karl-Heinz Fink

Post your yaml where you have defined your fonts, as a hint you will probably need to define the glyphs you are using.

Thanks for the hint…will be back on the project only next week, but I found out that can get some symbols showing already.