[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

[MD:536]bdf backend (Re: high level API による font の設定について)



山本@夜行性です。

Miyashita Hisashi(宮下 尚:HIMI) <himi@xxxxxxxxxxxxxxxxxxxxxxxxx> writes:

> > 2) bdf の w32-get-logfont-info で返す height って何なのでしょう?
> >    現在、bdffontp->ury - bdffontp->lly となっていますが、
> >    PIXEL_SIZE (= bdffontp->ury ?) ではないのでしょうか。
> >    たとえば、jiskan16.bdf は FONTBOUNDINGBOX 16 16 0 2 なので、
> >    height は 14 ?
> 
> です。BDFのSpec.を見てください。

BDF の spec の最新版って、Version 2.2 (22 March 1993) なのでしょうか?
(adobe から持ってきました。)
これには、FONT_ASCENT, FONT_DESCENT などが、定義されていませんでした。

ところで、mw32bdf.c を読んでいたのですが、FONTBOUNDINGBOX より、
FONT_ASCENT, FONT_DESCENT の方を優先していますよね?

例えば、

jiskan16.bdf:
FONTBOUNDINGBOX 16 16 0 2
FONT_ASCENT 14
FONT_DESCENT 2

だと、ury = 14, lly = -2, すなわち、height = 16 になるのでは? と思っ
たのですが、そうなりません。よーく眺めてみると、

--- mw32bdf.c.orig	Thu Feb 26 03:37:06 1998
+++ mw32bdf.c	Thu Feb 26 03:37:14 1998
@@ -103,6 +103,7 @@
   flag = proceed_file_line("STARTPROPERTIES", start, &len, &p, &q);
   if (!flag) return 1;
 
+  flag = 0;
   do {
     start = q;
     if (search_file_line("PIXEL_SIZE", start, len, &p, &q) == 1)

では、ないですか? 元のままだと、STARTPROPERTIES の直後に、else に達
しないと即終了してしまいます。

;; やまもと