18 lines
617 B
Python
18 lines
617 B
Python
|
from Assets import path, defaultfont
|
||
|
from PIL import ImageFont
|
||
|
|
||
|
def wrap_text_with_font (text, width, font):
|
||
|
words = text.split(' ')
|
||
|
result = ""
|
||
|
for index, word in enumerate(words):
|
||
|
until_current = (result + " " + word).strip()
|
||
|
txt_width, _ = font.getsize_multiline(until_current)
|
||
|
if txt_width > width:
|
||
|
result += '\n'
|
||
|
else:
|
||
|
result += ' '
|
||
|
result += word
|
||
|
return result.strip()
|
||
|
|
||
|
def wrap_text (text, width, font_size, font_family = defaultfont):
|
||
|
return wrap_text_with_font(text, width, ImageFont.truetype(path + font_family, font_size))
|