PuTTY で ISO 2022 による日本語入力・表示を可能にするパッチをあてた実行ファイル

概要

PuTTY は、Simon Tatham 氏によって作成された、フリーの Win32 用 Telnet/SSH クライアントです。PuTTY は ISO 2022 に対応していないので、対応させるためにパッチを作りました。

これは、そのパッチをあててコンパイルした実行ファイルです。

ファイルの説明

puttyjp.exe
puttykj.patch と puttyjp.patch と putty-imefix.patch をあてた putty.exe です。
puttyjp.lng
ダイアログボックスやメニューの一部を localize するためのファイルです。

設定項目

Font
日本語を表示できるフォントを選んでください。
Translation
コンボボックス Received data assumed to be in which character set で、エンコーディング法を選択してください。従来のパッチの Initialisation code を指定する場合は、"iso2022 " という文字列に続けて指定してください。入力に間違いがある場合は、Tab を押すなどしてフォーカスが変わったときに、表示が変化します。
マイクロソフト漢字コード (Windows のコードページ 932) を使うには
マイクロソフト漢字コードは ISO 2022 準拠ではありませんが、需要があるようなので対応しました。
Initialisation code の例 (これらの設定を使用する場合は、Received data assumed to be in which character set に、"iso2022 " に続けて入力してください)

ASCII のかわりに JIS X 0201 ローマ字を使う場合、上のコードの 1b2842 を 1b284a に置換してください。

文字化けについて

文字化けが発生し戻らないようであれば、メニューの Reset Terminal を選択してください。また、日本語 EUC で使っているとき、Unix の一部のコマンドを使うと、G1 に他の図形文字集合が指示されてしまいその後の日本語 EUC がすべて化けてしまうことがあります。

多くの場合この原因は terminfo の enacs、rmacs、smacs 項目 (または termcap の eA、ae、as) にあります。これは環境変数 TERM に kterm を指定して回避できる場合がありますが、PuTTY や xterm は kterm が対応している status line に対応していないため、別の問題が発生することがあります。enacs の \E)0 を消し、smacs の ^N を消して \E(0、rmacs の ^O を消して \E(B を指定すると正しく動作するようになります。

文字化けが発生しないようにするもう一つの方法

Initialisation code の先頭に lockgr という文字列を入れて、lockgr euc-jp のように指定すると、文字化けを回避できることがあります。面倒なことをせずにとりあえず使いたい場合に便利ですが、ISO 2022 非準拠となるため推奨しません。

Received data assumed to be in which character set で EUC-JP または MS_Kanji を選択した場合、この文字化け回避機能が有効になっています。無効にしたい場合は、"iso2022 EUC-JP" のように指定してください。

問題点

注意事項

このプログラムには暗号機能が含まれます。暗号ソフトウェアの輸出・輸入・利用に制限を設けている国もありますのでご注意ください。

連絡先

本パッチをあてた PuTTY についての連絡は hdk@SoftHome.net までお願いします。本パッチをあてた PuTTY に関する質問・バグ報告等は、オリジナルの作者である Simon Tatham 氏へはしないようにしてください。

謝辞

JIS 漢字コード (JIS X 0208 および JIS X 0212) と UCS の対応表として Tomokazu Matsuo さんの UNIJ_DB を使用させていただきました。

JIS X 0213 と UCS の対応表として earthian さんの JIS X 0213:2000 関連データ jisx0213code-csv.txt を使用させていただきました。

Hideki EIRAKU