0

我有一个字体 - “Saginaw”,当渲染时,字形的某些部分位于起始位置/框的“左侧”:

[图片在这里] http://i.imgur.com/1lP3C.png

上面的片段是 Photoshop 中的字体。我做了一个“全选”来显示黑框。

我试图弄清楚那个偏移量/值是什么[框外左侧呈现的 W 部分]

到目前为止,我一直在研究System.Windows.Media.GlyphTypeFace,它有很多有趣的东西,包括 AdvancedWidths、LeftSideBearings、DistancesFromHorizo​​ntalBaselienToBlackBottom 等。

但是,我不太了解如何应用我从字体中看到的值来计算与该偏移相对应的值。

最后,我尝试获取此字体元数据并将字体/文本呈现在 Flex RichEditableTextArea 中,其中字体的弯曲左侧被切断:

[图片在这里] http://i.imgur.com/Hjm7V.png

我还没有在 Flex TLF 中看到任何可以让我查看字体数据部分的内容。

[我敢肯定它可能只是对我隐瞒]

通过实验,我看到我可以在 RichEditableTextArea 中设置填充以移动字体,然后在自身内部呈现“切断”部分。

我希望找到字体/字形“左移”的数量;然后应用适当的填充来补偿。

[或者,如果有人知道如何强制 RichEditableTextArea 呈现被截断的部分,那也可以!]

如果有人有任何见解,我将不胜感激!

——埃里克

4

1 回答 1

0

你确定 LeftSideBearings 不包括这个吗?

适当的价值

类型:System.Collections.Generic.IDictionary 一个 IDictionary 对象,其中包含表示字形距离信息的键/值对。键是标识字形索引的 UInt16。该值是表示距离的 Double。

评论

当黑框的左边缘位于由提前宽度和字体单元格高度定义的对齐矩形内时,LeftSideBearings 值为正。

当黑框的左边缘超出对齐矩形时,LeftSideBearings 值为负。

这应该给你你需要的数字作为负数。

于 2011-01-12T16:16:11.127 回答