[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
[MD:7461] 非 TrueType フォントの bold 表示について
- X-ml-count: 7461
- Subject: [MD:7461] 非 TrueType フォントの bold 表示について
- From: "M.Fujii" <boochang@xxxxxxxxxxxx>
- Date: Sat, 09 Sep 2006 09:04:20 +0900 (JST)
- X-mailer: Mew version 4.2 on Emacs 22.0.50 / Mule 5.0 (SAKAKI)
藤井です。
ticket:136 について質問があります。
ticket:136 の問題の原因は、mw32_glyph_metric での非 TrueType 時の
lbearing, rbearing の計算が誤っていることにあると考えています。
ですが、正しい値の計算について分からない 2 点がありますので、
御意見ください。なければ、ticket:136 のパッチを commit します。
1. 非 TrueType の bold の扱い。
非 TrueType のフォントでは、bold は normal の字体をずらして重ね合わせて
いるという扱いになっており、そのずれ幅が overhang として扱われています。
Meadow の論理フォント層でもこれを overhang として扱うべきでしょうか?
(現在は Windows API で取得した overhang がそのまま設定されるので、
overhang として扱われています)
これを overhang として扱うこととすると、以下のような問題がでてくるので
はないかと思っています。ですので、できれば overhang として処理するので
はなく、bold 化によって文字幅が広がったものとして扱うようにしたいと考え
ています。
- bold 化して文字幅が広がった分が、描画時に欠ける可能性がある。(現在
italic の overhang 部分が描画で欠けるのと同じ現象が起きる可能性が考
えられる)
- TrueType では spacing を -1 に設定して normal と文字ピッチを合わせ
るというのがフォント設定の定番になっているが、非 TrueType ではこの
spacing 設定をすると逆に文字ピッチが狭くなる。Windows フォントは同
じ設定が使えた方が良いのではないか。
2. 非 TrueType での bold-italic の扱いについて
bold の場合は overhang が字体の幅増加分となるので、方針が決まれば修正は
効くと思うのですが、bold-italic の場合は別の問題があります。
bold-italic の overhang は italic が元々持っている overhang に上記の
bold 化による幅増加分の合計となります。
また、GetTextExtentPoint32 API で取得できる幅は normal の幅に、bold 化
による幅増加分が足された値になります。
このため、rbearing, lbearing の計算をどうすれば良いのか分かりません。
--
藤井 正行 / Masayuki FUJII