しらいです。

In article <m3k742l8bk.fsf@kzin.dip.jp>, Mito  <co_mon@ybb.ne.jp> wrote:
>でも、VT100 では色が表示できなかったので、termcap なんかには
>「色表示できません」みたいな情報が入っているわけで、curses 
>はこれを見て、ほんじゃ色を付けるためのエスケープシーケンスを
>出力しても無駄だから出さないねっていう感じで処理するんだと思
>います。

 話としては逆ですよね。「色表示出来ません」と書かれている訳
ではなくて、「色表示出来ます」と書かれていないというのが正解
です。結果としては同じことかも知れませんが。
 色関連の capability が現れたのは SVR4 以降のことなので、そ
れ以前に現役を退いた端末 entry には「出来ます」とも「出来ま
せん」とも書かれていないことが多いと思います。


>termcap の場合、/etc/termcap に Co#8 みたいなのがある端末は
>色を表示できるものと思ってかまわないと思います。(厳密には違
>いますが。)

 Co は max_colors なので、実際に色属性指定 sequence を表し
ている AF とか Sf とかの方がもっと重要だと思いますよ。
 libncurses の色関数だと厳密に見ているので、この他 pa とか
op とか色々必要になりますが、termcap/terminfo 情報を見て色指
定する時に最低限見なくてはならないのは AF なり Sf なりですよ
ね。これが判らないんじゃどうやって色指定していいんだか。


>そういや、kon.cfg とかで TERM を指定することができるかどうか
>は知りません。できるようだったら私も知りたいです。

 残念ながら FreeBSD の実装では hard coat されているみたいで
すね。
 Linux だと TERM=kon という entry がわざわざ用意されていて、
ちゃんと色関連の設定も書かれているので、vt100 とはまた別物と
して扱えるのですが。
 そもそも kon の vt100 emulation は完全ではないので、素直に
termcap/terminfo から vt100 entry を拾ってくると、瑣末な差異
のせいで色々と支障が生じるんですよね。

 Linux が kon を OS の一部として扱っているのに対して、*BSD
では飽くまでも ports というよそ者扱いなので、その違いが元凶
になっているのかも知れません。
-- 
                                               しらい たかし