Я пытаюсь создать SVG с одним единственным текстовым элементом. Размер svg должен определяться исключительно размером шрифта текста, и он должен идеально соответствовать тексту. Самое близкое, что я пришел к тому, что я ищу, это:
txt_img = Vips::Image.svgload_buffer %(
<svg height="#{font_size}*2">
<g>
<text
font-family="some value"
font-size="#{font_size}"
font-weight="some value"
fill="some value"
fill-opacity="some value"
stroke="some value"
stroke-width="some value"
dominant-baseline="hanging"
text-anchor="start"
x="0"
y="#{font_size}"
>
#{txt}
</text>
</g>
</svg>
)
Но, как вы можете видеть на прикрепленном изображении, нижняя часть текста обрезается, особенно буквы, которые висят под базовый уровень. Как изменить размер svg так, чтобы он идеально соответствовал тексту? Поскольку это не отображается в среде браузера, решение не должно включать css.
Также обратите внимание, что вывод отображается с помощью Vips, который не предлагает опцию svg saver, поэтому вывод в формате png.
[!] [текст преобразован в png] [1]] [1] [1]: https://i.stack.imgur.com/Bx7gJ.png