Fonts 浏览器如何确定字体基线位置

Fonts 浏览器如何确定字体基线位置,fonts,bounding-box,Fonts,Bounding Box,如果我使用两种字体,大小为100px,并将它们放在一个页面上,它们将在一个公共基线上对齐。这个基线看起来距离顶部约80px(尽管每个浏览器的基线可能有所不同,这是另一个问题) 这个基线是如何计算的?我读过一些建议,例如: 字体大小的2/3(粗略估计) 上升器(错误) 这两种字体都有不同的升序,但基线是相同的-通过查看OpenType.js字体浏览器确认-字体只是有不同的yMax/yMin 最上面的图片是我的浏览器,带有度量的图片是OpenType.js。它们都显示了一个共同的基线。在open

如果我使用两种字体,大小为100px,并将它们放在一个页面上,它们将在一个公共基线上对齐。这个基线看起来距离顶部约80px(尽管每个浏览器的基线可能有所不同,这是另一个问题)

这个基线是如何计算的?我读过一些建议,例如:

  • 字体大小的2/3(粗略估计)
  • 上升器(错误)
这两种字体都有不同的升序,但基线是相同的-通过查看OpenType.js字体浏览器确认-字体只是有不同的yMax/yMin

最上面的图片是我的浏览器,带有度量的图片是OpenType.js。它们都显示了一个共同的基线。在opentype中,他们手动设置基线,然后添加上升/下降器

浏览器如何确定100px字体的基线设置位置?既然我在Safari和Chrome中看到了~10px的差异,我想知道为什么会这样——它们使用不同的方法,我在哪里可以找到所有常用浏览器的资源

理想情况下,我想要一些javascript,我可以使用它以编程方式确定这一点。如果失败,一些OpenGlyph数据可能会有所帮助,我将根据浏览器进行调整。我查看了OP字体数据,没有看到任何信息,getBoundingBox之类的东西似乎没有返回我需要的数据(在上面的例子中,我得到的顶部值为5,高度为115)