为什么浏览器呈现的SVG文本的宽度和高度与字体文件中的宽度和高度不一致?

为什么浏览器呈现的SVG文本的宽度和高度与字体文件中的宽度和高度不一致?,svg,text,browser,Svg,Text,Browser,我使用了很多字体设计工具来读取字体的宽度和高度,而我的svg文本在浏览器中呈现的宽度和高度似乎不一致 是什么导致浏览器有额外的空白 这里有一个例子 如何在不操作dom的情况下计算其真实高度?字体必须允许字符下降到字体线以下,例如p、y、g。字母中低于字体标准线的部分称为a 同样,字体也可以有一些部分,例如,在大多数字母的正常顶部上方呈现的重音 仅仅因为您选择的字母都没有,并不意味着字体不允许它们。你不会希望你的文本仅仅因为你添加了一个额外的字母,而恰好包含了升序或降序 如果您想获取此信息,有一种

我使用了很多字体设计工具来读取字体的宽度和高度,而我的svg文本在浏览器中呈现的宽度和高度似乎不一致

是什么导致浏览器有额外的空白

这里有一个例子


如何在不操作dom的情况下计算其真实高度?

字体必须允许字符下降到字体线以下,例如p、y、g。字母中低于字体标准线的部分称为a

同样,字体也可以有一些部分,例如,在大多数字母的正常顶部上方呈现的重音

仅仅因为您选择的字母都没有,并不意味着字体不允许它们。你不会希望你的文本仅仅因为你添加了一个额外的字母,而恰好包含了升序或降序


如果您想获取此信息,有一种方法可能很有用,但SVG没有提供获取此信息的API。

我可以使用
canvasrendingcontext2d.prototype.measureText
方法获取与浏览器渲染不一致的宽度吗?