SVG和字体指标

Ant*_*kov 15 fonts svg font-size

有没有办法在SVG中获取字体指标?我想得到:下降,上升,最大高度,前进.

我需要这个用于在流程图中一起绘制文本和图形.

例如,我需要在文本周围绘制一个框,并从ex-size(字母'x'的大小)的中间绘制连接线,而不是从框的中心绘制.

Eri*_*röm 5

如果您有DOM访问权限,那么有许多用于文本元素SVG DOM方法.然后是大多数svg元素都可以使用的getBBox方法.

如果您正在处理SVGFonts,那么数据已经以xml格式提供为常规属性,例如上升,下降等.

对于你的用例,我建议getBBox,因为它也可以处理图形元素(如果你想要添加更多的东西而不仅仅是文本到图表).

  • 为了计算下降,这就是我所做的.将SVG中文本元素的"y"设置为零.现在您的基线为零.然后从getBBox获取"y2"属性,这将是你"下降"的高度. (3认同)
  • 我绝对不会推荐使用`getBBox`,因为它只尊重文本的绝对边界.但是,要正确放置文本,必须要尊重上升和下降.SVGTextElement的`y`属性指定_baseline_的垂直位置.因此,仅使用`BBox`无济于事.问题是,SVG DOM方法不允许查询上升和下降信息!我不知道为什么这个缺乏规格. (2认同)