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
日本語を表示できるフォントを選んでください。MS ゴシック等を選ぶとダイアログのフォント名のところに正しく表示されませんが、動作に問題はありません。
Translation
チェックボックス Translate ISO 2022 from/to UTF-8 と、テキストボックス Initialisation code が追加されていると思います。EUC-JP を使う場合、チェックボックスにチェックを入れ、テキストボックスに euc-jp と入力し、その上のコンボボックスは UTF-8 を選択してください。テキストボックスに指定する文字列によって、その他のエンコーディング法も使えるようになっています。
Windows 95 で fullwidth 文字がうまく表示されない場合
Initialisation code の先頭に w95 という文字を入れてください。たとえば euc-jp の場合は w95euc-jp のようになります。
マイクロソフト漢字コード (Windows のコードページ 932) を使うには
マイクロソフト漢字コードは ISO 2022 準拠ではありませんが、需要があるようなので対応しました。Initialisation code に ms_kanji を指定してください。
Initialisation code の例

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 非準拠となるため推奨しません。

問題点

注意事項

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

連絡先

本パッチをあてた 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