Автозаполнение SVG-объекта текстом (Python / svgwrite)? - PullRequest
0 голосов
/ 17 октября 2019

Я создаю SVG с использованием svgwrite в Python и хотел бы создать некоторый объект, скажем, прямоугольник с размерами xsize и ysize, а также некоторый текст для его заполнения:

import svgwrite 
xsize = 20 
ysize = 30
xcoord = 0 
ycoord = 0 
mystr = 'some text more text'
myfontsize = '20px'
dwg = svgwrite.Drawing(filename='mysvg.svg', debug=True)
dwg.add(dwg.rect((xcoord, ycoord), (xsize, ysize), fill='red'))
dwg.add(dwg.text(mystr, insert=(xcoord, ycoord), font_size=myfontsize, fill='black'))
dwg.save()

Я бы хотел автоматически настроить myfontsize или использовать какой-нибудь лучший способ, чтобы «mystr» всегда подходил к коробке, т.е. соответствовал xsize.

Единственный способ, которым я придумал, - это использовать моноширинный шрифт и разделить xsize на len(mystr).

Есть ли лучшее решение?

...