No. 139/622 Index Prev Next
Path: titcca!nttlab!kuis!hewey!tsuiki
From: tsuiki@kaba.JUNET (Tsuiki Hideki)
Newsgroups: fj.kanji
Subject: Re: question about Wnn
Message-ID: < 248@kaba.JUNET>
Date: 17 Aug 87 15:05:15 GMT
References: < 3112@etlcom.etl.JUNET> < 3161@etlcom.etl.JUNET>
Distribution: fj
Organization: Kyoto Artificial Brain Associates, Kyoto, Japan
Lines: 100
> > > > Wnnはやたらこういうシーケンスを発生させます。
> > > > なんとかならないのでしょうか。
> 例えばwnnのもとで次のようなことをします。
> %cat > temp
> 漢字漢字
> ^D
> %
> ただし、二つの"漢字"の間で一度仮名漢変換をしないモードに抜けて、再び仮
> 名漢変換モードに入ります。すると、
> %od -c temp
> 0000000 033 $ B 4 A ; z 033 ( J 033 $ B 4 A ;
> 0000020 z 033 ( J \n ^^^^^^^^^^^ ^^^^^^^^^^^
> 0000025 goto-ascii goto-kanji
> というように、例のシーケンスが現れます。
仮名漢字変換モードから抜けないでも、
Wnnはアプリケーションの方に文字列を送る単位毎にコード変換を行い、
その度に、最後に goto-ascii を付け加えています。
これには、訳が有ります。
というのは、Wnnとアプリケーションは、端末を共有しているために、
お互いに、一固まりの出力が終わった後で端末のモードを ascii にするなどの
約束をしておかないと、出力が混ざった時にめちゃくちゃになります。
(アプリケーションの出力は、Wnnを通るので、Wnnがちゃんとモードを
見ていれば、問題ないのですが。)
しかし、アプリケーションや pty は、こんな事を考えてくれては
いません。アプリケーションに対する入力文字列が、
常に ascii-mode で終わっていれば、
アプリケーション側の出力も、ascii で終わる事が多いだろうと
思われるからこうしているのです。
こうしておかないと、例えば、pty の echo と Wnn の出力が混ざってしまって、
どうしようも無くなると思うのですが。
>>In < 3112@etlcom.etl.JUNET> , handa@etlcom.etl.JUNET (Kenichi Handa) writes:
> > > > Wnnは、現在大変便利に使わせて貰っているのですが、インストールが何か
> > > > 間違っているのか、ときどきWnnを起動した直後に、
> > > >
> > > > 頻度ファイルが、指定された辞書の頻度ファイルではありません。
> > > > :/usr/local/lib/dic/kihon_1
> > > >
> > > > というメッセージが出て、以降漢字の変換がめちゃくちゃになります。
> > > > 何かアドバイスはありませんか。
> > >
> > > しかし、「時々」怒られるというのは、わけがわかりません。どのような状況
> > > で起こっているのか、もう少し詳しく分からないでしょうか?
>
> 残念ながら、ときどきとしか言いようがないのです。強いて言えば、おなじマ
> シンで、二人目がwnnを使おうとし始めたときかなー。ただしこれも、決し
> て「常に」ではありません。
Wnnでは、ユーザー毎に頻度ファイルを持っています。ですから、これは、
ユーザーによってはこのメッセージが出るという事ではないですか?
このメッセージが出た時に、そのユーザーの ($home)/Nihongo の
下の、怒られた辞書に対応する頻度ファイルを消してみて下さい。
> > > > wnnを起動するとxon/xoffのフロー制御が働かなくなります。
> > > > どうしたらよいのでしょう?
> > >
> > > 一応フロー制御は効いてはいます(と思います)。しかしpty側でやっているの
> > > で、tty側への反映がどうしても遅く、フロー制御が鈍いように感じられたり、も
> > > しくは全く効かないように見えたりすると思います。
>
> もう少し何とかならないでしょうか。
金崎克己さん :
> 多分 pty のパケット・モードを使えば、普通は(tty 側で)フロー制御し、
> (速い端末で)emacs を使う場合などはフロー制御をやめるようにできるので
> しょうが、私はそこまでやっていません。
ここら当たりは、 omron の SX9100 という機械に対しては、
ちゃんと作って有ります。
この機械の上では pty をパケット・モードで使用していて、
ioctrlによって pty でフロー制御をするようにすると、
それを tty 側に反映して、 tty 側でフロー制御をするようにします。
その他にも、ioctrlによって
Wnnをそれこそ完全に切り離したり、くっつけたりも出来ます。
SUN では、どのようなパケット・モードがあるのか良く知らないので、
何とも言えませんが、もし簡単に出来るのなら考えて見ます。
(しかし、Wnnの開発に参加した人間はみんな今忙しそうなので、
もし可能だとしても、しばらくは無理でしょうが)
それから、端末のスクロール・リージョン設定を行うシークエンスを
Wnn が取ってしまうために、emacs などが非常に遅くなって悲しいという
意見がありましたが、色々実験して見た所、別に pty の termcap から、
このエントリー(cs)を消してしまう必要はどうも無いようです。
どうしても cs が無いと困るという人は、Wnnを起動する度に
環境変数の TERMCAP の中身をいじるか、
ソースに手を加えて(ji/termcap.c )このエントリーを消している所を
取り除いてみて下さい。
次のリリースでどうするかは、もう少し実験してから決めたいと思います。
立木秀樹 (ついき ひでき)
Next
Continue