From: Araki K. <j00...@ip...> - 2002-01-06 01:55:03
|
荒木です:-) とりあえず、ISCII の注文がくるまえに、たまっている問題の処理を... Subject: Re: [Mlterm-dev-ja] mlterm and w3m From: hs...@mt... (Hironori Sakamoto) Message-ID: <200...@mt...> Date: Thu, 3 Jan 2002 22:05:29 +0900 (JST) > eA, as, ae には良く使われているパターンとして、 > * eA = ESC ) 0, as = ^N, ae = ^O > eA で G1 に alternative charset を指示しておいて、 > as で GL に呼び出して使い、ae で G0 を GL に呼び戻す。 > * eA = 無し, as = ESC ( 0, ae = ESC ( B > as で G0 に alternative charset を指示しておいて、 > GL で使い、ae で G0 への指示を ASCII に戻す。 > があります。 > # 手元では xterm-r6 が前者、XFree86 xterm は後者です。 > 化ける場合は、おそらく前者の方だと思います。 > 理由は、GR に呼び出されている G1 の文字集合(EUC-JP なら JIS X 0208) > を eA で変えているのに、ae で戻していないからです。 > ESC ) 0 を ISO 2022 の拡張として処理する端末なら、化けるべくして > 化けるわけです。 わたし(NetBSD 1.5Y) 環境では、xterm-r6 の termcap も、 ae=\E(B as=\E(0 となっています。 > # 本来の終端文字は 0x40(@)〜0x7E(~)の範囲なので、終端文字としての > # 0x30(0) は ISO 2022 には従っていない。 http://www.ecma.ch/ecma1/STAND/ECMA-035.HTM の、ESMA-035.PDF というファイルには、 13.1 Structure of escape sequences ... Final bytes shall be any of the 79 positions of columns 03 to 07 of the code table excluding position 0 7/15; とありますし、 http://www.euc.jp/i18n/charcode.ja.html などにも、終端文字は、0x30〜0x7E とありましたので、0x30 も、ISO2022 には、 従っているのだと思っていました。 XCOMPOUND TEXT でも、 ESC / % 1 ESC / % 2 というのを使用していますし(非準拠なのかもしれませんが) > 端末の仕様と termcap のミスマッチの結果ですので、 > mlterm 側では自前の termcap を用意して後者の設定に固定するのが、 > 本質的な解決策と思います。 これは、さすがに.... > ESC ) 0 での G1 への指示は GL に呼び出した時にのみ有効とする > 次善策もありますが、ISO 2022 パーサに特殊処理が入るので、 > 嫌なのですよね > 荒木さん はい、できれば勘弁していただいたほうがありがたいです_o_ > # そうそう、こういう化けた後 mlterm だと ISO 2022 を理解していないと > # 自分では復帰できないので、kterm のメニュー(Ctrl+中ボタン)にある > # Do Full Reset 相当の機能が以前から欲しかったのでした。 > # mlconfig に加えられませんか? 了解しました。 たしかに、~/.mlterm/key の INIT_PARSER って、わかる人にしかわからない機 能でしょうね。 # FULL_RESET という名前に変えるか、なくしてしまったほうがよいかもしれま # せんね。 > # ついでに、mlcofing で Apply, Cannel だけでなく、 > # OK (現行の Apply), Apply (mlconfig を終了しない), Cannel > # として欲しいです。 これは、すぐに実装するのは、ちょっと難しいです。 mlconfig は、mlterm 本体と async で動かしていますが、現状では SIGCHILD シグナルを mlconfig からの command をうけとるタイミングに利用しております。 # そもそも、当座のしのぎという位置付けで、設定画面を別プロセスに分けた名残 # なんですが。 mlconfig を終了せずに apply するとなりますと、pty / X Window の file descriptor といっしょに mlconfig の file descriptor も select()してまちうける必要が ありますが、現状ではそこを考慮した実装にはなっておりませんので、TODO には いれておきますが、当面はこのままということで了解ください。 では -- kiken j00...@ip... |