0

有点晦涩 - 我希望那里的人对 Webkit 的内部有一定的了解。

SVG 规范是这样描述字体大小的:“在多行布局环境中将多行文本设置为实线时,此属性指的是从基线到基线的字体大小。对于 SVG,如果提供的 a 没有单位标识符(例如, 一个不合格的数字,例如 128),SVG 用户代理将其处理为当前用户坐标系中的高度值。”

我想知道的是 Webkit 如何将此值映射到 OS X 中的实际 NSFont pointSize。

简单地将这个值传递给 NSFont 作为大小似乎是不够的,甚至考虑到用户坐标和点的一些缩放。我猜这是因为 NSFont 的 pointSize 与 SVG 显然使用的基线到基线测量不对应。所以问题是 - 如何从这里到达那里?

4

1 回答 1

0

在 CSS 标准中,像素(“px”)定义为 1/96 英寸。一个点是 1/72 英寸。

假设 SVG 以 1:1 的比例呈现(即没有影响缩放),“128”与“128px”相同。

所以给定 px:pt 的比例是 4:3,“128”应该对应 96pt。

这回答了你的问题了吗?

于 2014-02-06T17:05:48.273 回答