Roller bug? Middle value is wrong with font_20 but correct for font_18


The roller widget will not display correctly if I use lv_font_montserrat_20. The middle value is screwed up (the value in the blue square). If I change the default font to lv_font_montserrat_18, the middle value is correct. I have included 2 photos of the screen. The first one is for font_18 and the second one is with font_20. The font_18 is correct but the fontt_20 is incorrect.

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


What LVGL version are you using?

Version 8.3

What do you want to achieve?

I want to use lv_font_montserrat_20 but for a roller that uses 31 items it won’t display the middle value correctly. Font_montserrat_18 works great.

What have you tried so far?

I have tried different sizes of font. 14, 16 and 18 work but 20 and 22 do not work properly

Code to reproduce

 * An infinite roller with the days of the month
void lv_day_roller(void)
    roller2 = lv_roller_create(lv_scr_act());
    		"30\n31", LV_ROLLER_MODE_INFINITE);
    lv_roller_set_visible_row_count(roller2, 5);
    lv_obj_align(roller2, LV_ALIGN_CENTER, -100, 0);
    lv_obj_add_event_cb(roller2, event_handlerDay, LV_EVENT_VALUE_CHANGED, NULL);


Anybody have any ideas why this is happening?

I can’t be the only one with this issue. Can someone help?

I’m not sure why this is happening, but often times the fix for this is setting
the configuration option LV_USE_LARGE_COORD to 1.


It worked. I don’t understand why but I’ll take it.

Thanks for helping.