From: Araki K. <j00...@ip...> - 2002-01-18 16:19:32
|
荒木です:-) たてつづけですが、commit log です。 * DynaFont problem is fixed by checking 'i' character width before 'W' character. (thanks to Asaki Takumi san) * font,aafont are read before vfont,vaafont for variable column width fonts. Subject: Re: [Mlterm-dev-ja] mlterm anti alias + DynaFont From: Takumi ASAKI <as...@os...> Message-ID: <200...@os...> Date: Sat, 19 Jan 2002 00:09:21 +0900 >> 通常 ~/.mlterm/aafont でフォントを指定して使用すると仮定してよいと思われ >> ますので、そこで指定された Font Family 文字列(get_xft_col_width() の family >> 引数にそれが入っています)が、DynaFont のそれであれば、'W' によるコラム幅 >> チェックを行なわない、とすることでいけるかなと思ったんですが。 > 少なくともDynaFontにこの手法は通じないと思います。 > というのは、DynaFontはフォント名をなぜかSJISで持っており、 > Qt/KDEの用にフォント名に日本語を想定してないような環境で利用するために、 > 1. フォントファイル中のフォント名を書き換える > 2. XftCache中ののフォント名を書き換える > のどちらかを行なって利用している人も多いと思われるからです。 > # 私は2の手法を使っています。 > そのため、DynaFontのようなフォントには決まった形式のフォント名があることを > 期待しない方がいいです。 あ、そうですね。 KDE ユーザ会の Web に、そのように書いてあったことを思いだしました。 # このことには、全く気付いておりませんでした。 # 失礼いたしました。 >> ただ、これですと、たとえば手元では、fontsize 10 に対して、'W' の幅が本当 >> に 10 になるプロポーショナルフォントがあったりしますので、その場合に、 >> 一部文字の右端が切れてしまう副作用が生じてしまいます。 > たとえば、'I'や'l'についても文字幅を求めてやるというので逃げられませんか。 > これらの文字についてもfontsizeと同じになるプロポーショナルフォントが > あるとは思えないのですが。 なるほど、その通りですね。 'i'の幅チェックで、全角幅を返すフォントを振り落した上で、'W' の幅チェックで コラム幅決定するように致しました。 # われながら、なんでそれに気付かなかったのか、あきれかえってしまいました^_^; # 頭固すぎでした。ありがとうございます _o_ # これで、ほとんどすべてのフォントに対応できていると思います。 ただ、多分大丈夫だろうとは思いますが、幅チェックのためのフォントを、 XFT_PROPORTIONAL で open しておりますので、もし、Dynalab フォントが、 'i' に対して、fontsize 以下の幅を返してくる場合には、症状が変わらない かもしれません。 >> あ、すみません、説明しておりませんでした _o_ >> ~/.mlterm/vfont は、-V をつけた場合に使用され、~/.mlterm/vaafont >> は、 -V -A をつけた場合に使用されます。 >> それぞれ、font , aafont と同じフォーマットです。 > なるほど。 > となると、これらのファイルがない場合にfont, aafontの内容を > とりあえず代用してもらえるとユーザとしてはうれしいかも。 了解いたしました _o_ font/aafont の内容を、vfont/vaafont で上書きするようにいたしました。 CVS current では、上記修正がはいっております。 お時間があれば、お試しください。 では -- kiken j00...@ip... |