Sohdaさんがまとめたrxvt-2.7.2-10-j01-p2をベースに、W11ライブラリ部分のXlocale周りを(適当に)実装し、rxvt本体部分からの独立性を高めました。eucjモードがだいぶ実用的になります。
それとは別に、sjis/eucj両モード対応の半角カナパッチを作りました。こちらはrxvtのバージョンが2.7.2に近ければ一般のX環境で動くと思います。
(わざわざこんなにパッチを切り分けてどうするのか。パズル状態。)
rxvt-2.7.2-10
本来のサイトはこちらだが、最新版はCygwin本家から配布されている。
rxvt-2.7.2-6j01 rxvt-2.7.2-10-j01-p2 rxvt-2.7.2-10-j01-j05.patch rxvt-2.7.2-10-j+20020718.diff |
rxvt-2.7.2-lsp.patch rxvt-2.7.2-rk.patch rxvt-2.7.2-10-j05+.patch |
rxvt-2.7.2-10-j05.1.patch
j05->j05.1修正差分。単純なバグ。IME入力コード変換。
rxvt-2.7.2-10-j05.2.patch
j05.1->j05.2修正差分。Xlocale手直し。非Cygwinコマンド実行時DOS窓が出たりする問題を修正。
左右どちらかのパッチを全部当てたソースコードはこちら。
rxvt-2.7.2-10-j05.2+-src.tar.bz2
rxvt-2.7.2-10やrxvt-2.7.2-6j01の中の一部のファイルに、改行コードがCRLFになっているものがあります。私は先にすべてのファイルをLFに直してからdiffをとっていますので、パッチを当てるときは注意してください。
configureにW11を読ませてXlocaleが実装されていることを認識させる関係で、config.shでは1つ上のディレクトリにW11というsymbolic-linkを作るようになっています。手作業で./configureする場合はconfig.shの記述を参考にするか./configure後config.hを書き換えるなどしてください。 Cygwin DLLのi18nが進めば#define NO_XLOCALEでコンパイルしてもうまく動くはずです。(ごめんなさい、試してません。)
ファイルの一覧はこちら。
src/
rxvt本体の実装を見ると、selection (Copy&Paste)は-kmオプション等ではなくrxvt起動時のlocale設定に従ってコード変換が行われます。私のパッチはその点について本来の動作にあわせてありますので、eucjで日本語をCopy&Pasteしたい場合は事前にLANG環境変数等を設定する必要があります。autoexec.batに書くなど各自で対策してください。
msminchoとmsgothicは例外として、日本語フォントを指定するときは-fn 'ぱうフォント'-16-jisx0201 -fm 'ぱうフォント'-16-jisx0208などと書体の種類をそれっぽく書いてください。
未だIMEからの入力はそのままsjisで渡されます。emacsenならC-x C-k iで入力コードを切り替えれば日本語入力できますが、そうすると今度はselectionが文字化けしてしまいます。
(あと私の環境ではjedを使う場合は.jedrcで"SLang_code = SJIS;"と指定する必要がありました)
IMEを使う人は今しばらくsjisで使ったほうが幸せかも知れません。
bash(readline全般?)でeucjで半角カナを使うと行送りがおかしくなるのは仕様です。ktermでもなるし。
jedで文字化けさせるとrxvtがstackdumpで落ちる場合があるのですが調査中。もっと基本的にバグってました。修正後は今のところ特有の現象は確認してません。
rxvt系列はなぜか半角カナパッチって見当たらないんですが探し方が悪いのでしょうか。つーか最近は*-src.rpmとか読めない人は置いてきぼりなのかも?
rxvt-2.7.8-rk.patch
Cygwin使っている人いますか? part5
Google 検索: rxvt
[ RXVT.ORG ]
SourceForge.net: Project Info - rxvt
Using Cygwin. - コンパイルしてみたもの
xc/lib/X11/
SourceForge.net: Project Info - libW11
Google 検索: AllocConsole
2002-3 Winners Field Diary