Strange rendering of fonts on lv_label

Dear LVGL Developers and Contributors,

First of all I would like to express my gratitude for this wonderful tool that you are making!
I fell in love with this library and I will be using it with all my projects. I hope very much that you will continue all your work and polish it to perfection. But it is already fully impressive!
I will gladly share my projects when any of them will be more or less mature.

I am trying to make a simple port to STM32F429 with connected E-paper display from Waveshare.
It is all success so far and LVGL draws perfectly on the display.

Till this moment I experienced only one strange behaviour when updating text on lv_label object
When started the label looks just fine:

When updated, it can randomly distort the text:


I managed to “fix” this behaviour only by setting the lv_label size to bigger than actual text:


When leaving the label’s size to default, this strange rendering happens after most of the lv_label_set_text calls.
I used only very standard features, but if you will need any details that could help to find the cause of this, I will gladly supply everything what I can.

The same goes for both build-in and custom fonts.

With very best regards, Igor

It might be an issue with your display driver. When you update the label LVGL will try to only render the changed area, which usually has a different width and height from your whole screen. Perhaps check if you have an off-by-one error in the driver as that usually causes the staggered effect.

Thank you very much for the hint!

I have finally solved it by adding such rounder:

void rounder(lv_disp_drv_t * disp_drv, lv_area_t *area) {
area->x1 = area->x1 & ~(0x7);
area->x2 = area->x2 | (0x7);
}