В настоящее время я пытаюсь выяснить, как SVG. js вычисляет скорректированный ограничивающий прямоугольник x, y координаты (верхний левый угол) из текстового объекта SVG.
Мой объект SVG выглядит следующим образом :
<svg xmlns="http://www.w3.org/2000/svg" width="266" height="59" viewBox="0 0 266 59">
<text id="TText" data-name="TText" fill="#707070" font-size="50" font-family="Boogaloo"><tspan x="0" y="0">TText</tspan></text>
</svg>
Если я добавлю этот код в SVG. js, тогда позиция будет смещена по оси y на 11 пикселей (я предполагаю, что это позиция, учитывая, что SVG основан на базовой линии) , Может кто-нибудь объяснить, как вычисляются координаты x и y в ограничительной рамке. Я пытался решить это, копаясь в репозитории SVG. js, но не смог решить это сам.
Я бы предположил, что это основано на шрифте? Если это так, как можно извлечь эту информацию из файла шрифтов?
Вот мой код SVG. js, который показывает исправленные координаты ограничивающего прямоугольника X, Y.
var draw = SVG().addTo('body');
var text = draw.text('TText');
text.font({
family: 'Boogaloo',
size: 50,
});
console.log(text.bbox());