确定渲染到黑匣子左边的字体部分?

时间:2011-01-12 15:47:31

标签: c# .net flex fonts tlf

我有一个字体 - '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渲染那些被切断的部分,那也会有效!]

如果有人有任何见解,我将深表感激!

- 埃里克

1 个答案:

答案 0 :(得分:0)

你确定LeftSideBearings没有涵盖这个吗?

  

物业价值

     

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

     

<强>说明

     

LeftSideBearings   左边缘的值为正   黑匣子里面的   由...定义的对齐矩形   提前宽度和字体单元格高度。

     

LeftSideBearings值为负数   当黑匣子的左边缘   悬在对齐矩形上。

这应该为您提供所需的数字作为否定数字。

相关问题