[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
Re: font :height setting
- X-ml-count: 7133
- Subject: Re: font :height setting
- From: MIYOSHI Masanori <miyoshi@xxxxxxxxxxx>
- Date: Thu, 20 Jul 2006 02:19:04 +0900
- User-agent: Gnus/5.110006 (No Gnus v0.6) Meadow-3.00-dev (KIKU)
>>>>> [meadow-users-jp : No.7130] にて
>>>>> 矢木さんは書きました:
> ><ORIENTATION>が抜けてました。Wiki の記述を修正しておきました。
> それだけでなく ITALIC-P と STRIKEOUT-P の間に UNDERLINE-P が
> 必要だと思います。
> あとページの後半がばっさり削除されてしまっているような。
修正しました。
> 高さに -16 を指定すると 16dot にならないのですね。
> (w32-query-get-logfont) ;; Courier New 12pt を選択
> => (w32-logfont "Courier New" 0 -16 400 0 nil nil nil 0 1 3 49)
> (mapcar (lambda (size)
> (let ((lf `(w32-logfont "Courier New" 0 ,size 400 0
> nil nil nil 0 1 3 49)))
> (cdr (assq 'height (w32-get-logfont-info lf)))))
> '(-16 -13 13 16))
> => (18 16 12 16)
> よくわからん。
;; どの部分がわからないのかが分からないのですが...
w32-logfont の height と、w32-get-logfont-info の返す height の違
いに注意してください。
w32-logfont の height は Windows GDI の LOGFONT 構造体の lfHeight
そのものです。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/fontext_1wmq.asp
つまり、値が正の時にはセルの高さを、負の時には文字の高さを意味しま
す。ここで、
http://phys.cool.ne.jp/physjpn/htextmetric.htm
の図を使って説明すると、
セルの高さ = tmHeight
文字の高さ = tmHeight - tmInternalLeading
です。
それに対して、w32-get-logfont-info の返す height はセルの高さです。
> 高さに -16 を指定すると 16dot にならないのですね。
この例では、文字の高さとして16ドットを指定することを意味します。こ
の場合、Courier New を選んだ場合には、セルの高さは16ドットではなく
18ドットであることが、上記の実行例から分かります。ただし、あくまで
も文字の高さは16ドットです。
--
三好 雅則 http://miyoshi.meadowy.org/