Nobuyuki Tsuchimura
tutim****@nn*****
2005年 10月 29日 (土) 00:04:22 JST
土村です。 From: Takanori Uchiyama <uchiy****@appi*****> Subject: Re: xdvi-jp j1.31 Date: Fri, 28 Oct 2005 23:39:55 +0900 (JST) Message-ID: <20051****@appi*****> > ソースをみました. > > 修正以前のソースがそもそも意味不明の計算をしています. > ascender が本当に ascender を取得し, descender が本当に descender を取 > 得しているなら, > font->face->ascender - font->face->descender > は, 意味不明な計算です. 私もそう思ったのですが、 http://freetype.sourceforge.net/freetype2/docs/reference/ft2-base_interface.html#FT_FaceRec を読んでみると、descender の欄には、 "This field's value is negative for values below the baseline. " と書いてあって、常にマイナスの値が書いてあるようなものなのです。 実際に sazanami ではマイナスでした。 ベースラインが y 座標の 0 で、ascender, descender は y座標を符号付きであらわしてるのでしょう。 それから、この ascender, descender は > PostScript の和文フォントや, 中身が PostScript の OpenType フォントで > は, ベースラインは 0.88 : 0.12 の位置にあるのですが, いずれも 880, このベースラインによる位置と一致してると思います。 実際にはみだす文字もあります。(濁点つきの平仮名などで。) dvipdfmx のソースは...すいません、これから読んでみます。 > 縦書きの場合, baseline は, 仮想ボディの中央を縦につらぬくようになりま > す. xdvi のように, ビットイメージを配置しなければならない場合には, > baseline の計算は必要になりますが, 単純にビットイメージの幅の 1/2 でよ > いはずです. そうなんですか...なるほど、y の値は、 縦横入れ替わることに気付いてませんでした。 何もしないでよいですね。 ----- 土村 展之 Nobuyuki Tsuchimura