Telnet for Win32 TNT version 1.06 1999/03/28 Win32のコンソールで---つまりWindowsNTとWindow95のコマンドプロンプトの中で--- 動くtelnetです。 なんとなくUNIXの仕組みが知りたくなったのと、Windowsで、telnetと打つと ウィンドウが開いてしまって「うわー」なので作りました。 僕の個人的ライバルがtelnetクライアントを含むServices for UNIXなるもの を発売するようなので、対抗して公開することにします。 Win32のコンソールはエスケープシーケンスに対応していたりはもちろん しないのでWin32コンソールAPIを使って実装しています。 受信文字コードは、ISO-2022-JP(RFC1468,通称JUNETコード)、EUC、SJISが使えます。 送信文字コードは、SJISとEUCが使えます。 Ctrl+Alt+F1 で受信がISO-2022-JPとEUC、送信が EUC Ctrl+Alt+F2 で受信がISO-2022-JPとSJIS 送信が SJIS になります。 Ctrl+Alt+F3 で送信がISO-2022-JPになります。 起動時は、受信がISO-2022-JPとEUC、送信がEUCです。 IMEを使って mule に日本語を入力するには、 M-x set-keyboard-coding-system で、*euc-japan* 、 *iso-2022-jp* 、*sjis* のいずれかを選んで下さい。 ISO-2022-JPについては以下の5種類の文字セット呼び出しのみ対応しています。 ・ESC $ B → JIS X 0208-1983 ・ESC $ @ → JIS X 0208-1983(異体字) 異体字フォントはないのでふつうのまま ・ESC ( B → US ASCII ※JIS X 0201 ラテンと同じになっています。 ・ESC ( J → JIS X 0201 ラテン ・ESC ( I → 半角カナ ※RFC1468には入ってません よってハートマークはでません。(フォントもないし。) telnetプロンプトがありませんし、常にコンソールAPIを使用するので、 Mule for Win32のtelnetモードで使うことはできません。 一応研究中ではあります。(判定の仕方はわかった) NTのコマンドプロンプトのプロパティで簡易編集モードをチェックしておけば、 マウスでカット&ペーストもふつうにできます。 左ドラッグで範囲指定。右クリックでコピー。さらに右クリックでペースト。 95ではできません。 ライセンスはGPL (Gnu Public License) Version 2 に従うものとします。 Applause こと 寺川 愛印 http://www.tky.3web.ne.jp/~applause/ ご意見、ご感想、お叱り等ありましたらメール下さい。 e-mail: applause@tky.3web.ne.jp 仕様など ・Telnet OptionのTerminalTypeに対応していますが、ktermに固定です。 ・Telnet OptionのNAWS(Negotiate About Window Size)に対応しています。 ・resizeコマンドが使えます。 ・NTではIMEが使えます。 ・コンソールの最下行が空いているのはIMEを表示するためです。 ・インテンシティーをボールドのために使っているので通常の文字が灰色です。 ・telnetプロンプトはありません。 ・NTでは快適に動きますが、95ではあまり実用的とは言えません。 これは、95のWin32コンソールAPIが遅いためです。 (MS-DOSサブシステムの上にのっけてあるらしい。) ・Ctrl+Alt+Backspace で強制切断します。 履歴 ○version 1.06 ・FreeBSD 3.1 の telnetd との接続でデッドロックする問題を修正。 サーバのWILLに対してなにも返してしなかったのが原因。 ・tcshなどで、カーソルの動きが見えにくい問題を修正。 カーソルを右に進める動作は既に画面にあるのと同じ文字を出力する事で 実現されているが、WriteConsole がちらつきを防ぐために一定時間カーソルを 消してしまうために、見にくくなっていた。 ・DL-DeleteLine 及び IL-InsertLine の不具合を修正。 ○version 1.05 ・一部の2バイトキャラクタをペーストできなくしていたNTのバグに対処。 ・less や、mule を使った後にバッファの状態を使う前の状態に戻すようにした。 ○version 1.04 ・エスケープシーケンスICH-InsertCharacterのデフォルトのキャラクタ数が -1だったのを1に修正。 ・エスケープシーケンスSet Text Parameters のタイトル文字列設定に対応。 ・マージン処理に関してCRの動作にまた別なバグが入っていたのを修正。 ・[ESC]$@ , [ESC](J をそれぞれ、[ESC]$B , [ESC](B と同じ機能とした。 ・送信漢字コードで、EUC,ISO-2022-JP をサポート。 ○version 1.03 ・TerminalTypeをkterm固定に変更した。 ・ISO-2022-JP(一部),EUCの表示ができるようになった。 ・出力のバッファリングにより高速化。 ・サーバー側への出力もバッファリングした。ペーストした場合など  1パケットで送られるようになる。 ・改行の直後にCtrl+SPACEが入力できないバグを修正 ・ウィンドウサイズの変更に応じてNAWSをするようにした。 ・ALTキーを使えるようにした。 ・ファンクションキー、PageUp、PageDownなどを使えるようにした。 ・95でホスト名に10.0.0.1とかを指定すると接続できないバグを修正。 ・マージン処理に関してCRの動作が不適当だったのを修正。 ○version 1.02 ・[ESC]M , [ESC]D のスクロール範囲の初期値がなかったバグを修正。 ○version 1.01 ・[ESC][PnJの処理にバグがあったのを修正。 ・[ESC]Hを無視するように修正。 ○version 1.00 ・祝初リリース