0

私はフォントを持っています-「Saginaw」は、レンダリング時にグリフの一部が開始位置/ボックスの「左」にある:

【写真はこちら】 http://i.imgur.com/1lP3C.png

上記のスニップは、Photoshop のフォントです。ブラック ボックスを表示するために「すべて選択」を行いました。

そのオフセット/値が何であるかを把握しようとしています [ボックスの左側にレンダリングされた W の部分]

これまで、AdvancedWidths、LeftSideBearings、DistancesFromHorizo​​ntalBaselienToBlackBottom など、多くの興味深い機能を備えたSystem.Windows.Media.GlyphTypeFaceについて詳しく調べてきました。

ただし、フォントから見た値を適用して、そのオフセットに対応する値を計算する方法はよくわかりません。

最後に、このフォント メタデータを取得して、Flex RichEditableTextArea でフォント/テキストをレンダリングしようとしています。ここでは、フォントの曲線の左側が切り取られています。

【写真はこちら】http://i.imgur.com/Hjm7V.png

Flex TLF には、Font データのその部分をピアリングできるものはまだありません。

【きっと私から隠れているだけだと思います】

私が見た実験では、RichEditableTextArea のパディングを設定してフォントをシフトし、それ自体の内部で「切り取られた」部分をレンダリングできます。

フォント/グリフの「左シフト」の量を見つけたいと思っていました。次に、適切なパディングを適用して補償します。

[代わりに、RichEditableTextArea が切り取られている部分を強制的にレンダリングする方法を誰かが知っていれば、それもうまくいくでしょう!]

誰かが何か洞察を持っているなら、私は深く感謝します!

--エリック

4

1 に答える 1

0

LeftSideBearings がこれをカバーしていないと確信していますか?

プロパティ値

型: System.Collections.Generic.IDictionary グリフの距離情報を表すキーと値のペアを含む IDictionary オブジェクト。キーは、グリフ インデックスを識別する UInt16 です。値は、距離を表す Double です。

備考

ブラック ボックスの左端が、送り幅とフォント セルの高さによって定義された配置長方形内にある場合、LeftSideBearings 値は正です。

ブラック ボックスの左端が配置用の四角形からはみ出している場合、LeftSideBearings の値は負になります。

これにより、必要な数が負として得られるはずです。

于 2011-01-12T16:16:11.127 に答える