使用 DirectWrite 和 Direct2D1,我试图模仿 Illustrator CS6 对区域文本框的渲染。CS6 有一个选项,基线可以放置在距离区域文本框顶部的距离处,该距离等于字体的“em 框大小”。例如,使用 Trajan Pro 字体,100pt 磅值,基线距离区域文本框顶部 87.5pt。
从 IDWriteFontFace 对象,我可以获得上升、下降、designUnitsPerEm 值等。
似乎缺少的是相对于 em 框顶部的基线位置。
有没有办法获得设计单位中相对于 em 框顶部的基线位置?
DWRITE_FONT_METRICS 没有它。我查看了 DWRITE_LINE_METRICS,但它的基线值是 ascent + lineGap 并且不匹配。