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

[MD:3664] w32-list-fonts and XLFD.



>>>>> meadow-develop の No. 3649
>>>>> Message-Id: <ulm5lsy4e.fsf@xxxxxxxxxxxxxxxxx> で、
>>>>> "himi" == MIYASHITA Hisashi (宮下 尚:HIMI) <himi@xxxxxxxxxxx>さま曰く...

>> さて, woman.el をロードできないという話を読んだもので少し眺めて
>> みたのですが, woman.el には NTEmacs 用 (eq window-system 'w32)
>> の時にはシンボル系の font を使う,なんてコードが入っています。

himi> ...もう、なんというのか、せっかくGerdが入れた、faceによる
himi> 調整機構はどうなったというのだろうか。;_;

himi> ## そんなものを理解している人が殆どいないせいか?
himi> ## でも、そうでなかったら、window system毎に怪しげなフォント選択を
himi> ## する、Emacs Lispがぼこぼこ入っちゃうのになぁ。;_;

Patch でもつくって開発側に文句^H^Hお願いするというのが正しい姿か
な? まだ,数は少なそうだから早いうちに芽を摘んでおけば,その後は
そのコードを参照して... ということで,良い方向に向かうのではない
かと。

;; だれかやらない? ^^;;

himi> でも、symbolといっても、encodingが違う可能性が高いし、ある
himi> 意味では仕方ないのかもしれないけどねぇ。でも、本来は、
himi> charsetを定義して、表示するべきものだと思うんだが。こうい
himi> う発想は、いわゆるI18N/M17Nの考え方に触れていない人々には、
himi> なじんでないということは言えそうだけど。ぶちぶち。

charset って現状もう作れないんじゃなかったっけ?

>> で, woman.el をロードできないのは, x-list-fonts
>> (w32-list-fonts) が現状では動かないというのが原因なので,これは
>> 何とかするとして...

himi> おっと、こっちは直してなかったけど、単にfontsetのlist部分
himi> が問題になっているだけだよね。多分、Meadowでは、もう、
himi> fontsetの必要は無いと思うけど、一応、互換性の為にfontset
himi> nameのlistupもするようにしときますか。 かえって混乱の種だっ
himi> たりして。^^;;;

Font ととして list up するのではなくて, fontset として list up
した方が感覚的に合うような気がするのだけれど,そんなことはない?

>> woman.el はシンボル系の font を探すのに x-list-fonts の結果を 
>> XLFD 形式で検索していますので,たとえ w32-list-fonts を直したと
>> しても font 指定は文字列を前提にしているようですので, Meadow と
>> は非互換になってしまいそうです。

himi> ん、Meadowでも、互換性を保つ為にFR layerの指定方法は、単に
himi> 名前としてのstringで行います。だから、symbol系のfontのFR
himi> nameを、その文字列matchに合致するような名前で登録しておけ
himi> ば良いのですけどね。なんだかばかばかしい気もするけど。:-P

>> それと Emacs の x-list-fonts って, X で使える font は全部と
>> れますね。この辺もどうしましょ。

himi> これはどういうことが問題になるでしょうか?

NTEmacs:

1. Elisp package が system の font 名(XLFD "-SYMBOL-")と内容を知っ
   ている。
2. x-list-fonts (System にある font 群)のなかから,都合の良いも
   のを探して使う。

Meadow:

1. Elisp package が system の font 名(w32での名前 "Symbol")と内
   容を知っている。
2. x-list-fonts (Meadow に登録されているもののみ)の中から,都合
   の良いものを探すが,フツー symbol 何てものを登録する人はいな
   いので見つからない。

Meadow でやろうとすると...

2. w32-enum-logfont の中から,都合の良いものを探す。

ようにしないとうまく行かないと思う。想定できる状態できれい(作者
の思惑どおり)に表示しようとすると,これができないと辛いんじゃな
いかな?

思うに, x-list-fonts は, w32-enum-logfont の結果を XLFD の 
list として返すようにする。

... ただ,こうしたところで
(set-face-font 'woman-symbol-face woman-symbol-font
			(and (frame-live-p woman-frame)
			woman-frame))
なんてしているだけだから,うまく扱えるわけではないのだけれど。

>> なんだか,これからこういうものが増えてきそうな気がするのですが,
>> どうしましょう。 ;_;

himi> というわけで、一応、そういうことはあらかじめ考えてあるつも
himi> りです。FRは、「font(LF)の選び方」を指定するlayerなので、
himi> その気になれば、かなり滅茶苦茶なことさえ出来るはずです。い
himi> わば、fontsetのchar/charset以外の選択手段も用意された
himi> versionという感じですね。

辛いところではあるけれど,いろいろな font を使えるようになるとい
うことは,現実として,それを駆使したプログラムが出てくることは避
けがたいと思います。

XLFD を捨てるという道を選んだ以上,それらのプログラムに対応する
ためには,何らかの変更が必要になるでしょう。しかし,それらに一つ
一つ対応するのはかなりの労力になると思います。また,労力だけでは
なく「Meadow じゃ動かないんだ。NTEmacs を使おう。」ということに
なるのは悲しいものがあります。

以前,冗談で言いましたが, LF layer (Elisp loader で良いと思いま
す)で, (不毛な作業にはなりそうだけれど)XLFD に対応するのが現実
的なのではないかと思いますが,どうでしょうか?

-- 
鈴木圭一 / keiichi@xxxxxxxxx
PGP finger print (DH/DSS)
0B32 B37E 6DE9 3BC1 68A4  4089 7AAF 2B03 ECBD 614B