the break position was calculated as br = draw_w - draw_x + (left_gap / list.font_w); adding left_gap/font_w was making br too large, so lines were allowed to go past the drawable area and the last character got clipped. changed to: br = draw_w - draw_x; br /= list.font_w; just the remaining pixels divided by char width, no left_gap needed here Co-authored-by: Burer <burer@kolibrios.org> Reviewed-on: KolibriOS/kolibrios#386 Reviewed-by: Burer <burer@kolibrios.org> Co-authored-by: jaskaran-singh-77 <jassijatt951@gmail.com> Co-committed-by: jaskaran-singh-77 <jassijatt951@gmail.com>