【问题标题】:Converting SVG's font-size to an NSFont size将 SVG 的字体大小转换为 NSFont 大小
【发布时间】:2014-03-03 12:12:05
【问题描述】:

这个有点晦涩 - 我希望有人知道 Webkit 的内部结构。

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

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

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

【问题讨论】:

  • 在别人说之前,我可能应该说是的,我可以看看WebKit的源代码。其实我已经开始看了,但是里面的代码很多,还没找到相关的位:)

标签: cocoa svg webkit font-size nsfont


【解决方案1】:

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

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

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

这能回答你的问题吗?

【讨论】:

    猜你喜欢
    • 2019-01-31
    • 2020-12-05
    • 1970-01-01
    • 2016-10-23
    • 1970-01-01
    • 2021-03-02
    • 2015-02-17
    • 2020-10-23
    • 1970-01-01
    相关资源
    最近更新 更多