diff --git a/system/ui/text.py b/system/ui/text.py index 1337887d9b..e8db956fa9 100755 --- a/system/ui/text.py +++ b/system/ui/text.py @@ -27,8 +27,10 @@ def wrap_text(text, font_size, max_width): continue indent = re.match(r"^\s*", paragraph).group() current_line = indent - for word in paragraph.split(): - test_line = current_line + word + " " + words = re.split("(\s+)", paragraph[len(indent):]) + while len(words): + word = words.pop(0) + test_line = current_line + word + (words.pop(0) if words else "") if rl.measure_text_ex(font, test_line, font_size, 0).x <= max_width: current_line = test_line else: