以前に,Enscript を使うと C++ ソース等の部分が文字化けする件について書いた.当時は WebSVN 2.0 beta 7 でしか確認していなかったが,2.0 RC4 になっている今もその状況は変わっていない.
最近になって websvn/include/config.inc を見直していたら,単に Enscript のラッパーを用意して,それを WebSVN に使わせれば十分じゃん,という事に気づいた.
#!/bin/sh
/usr/bin/enscript $* | nkf -w
// For syntax colouring, if option enabled...
$config->setEnscriptPath("/home/iihoshi/local/bin");
(中略)
$config->useEnscript();
要は,元の Enscript の出力結果 (確か EUC-JP) を nkf で UTF-8 に変換してやるだけ.WebSVN が出力する HTML 文書が UTF-8 だから.
もう一つ気づいたのは,WebSVN 1.x では実装されていた,タブ文字を任意の字数の半角空白に置換する機能が,2.0 では削除されるらしい事.編集時と表示時とでタブ文字の桁数が変わる (4 桁 vs. 8 桁) のは見苦しい事この上ないので,なんとかしたいところ.でもやっぱ,8 桁のままでコーディングするのが一番手っ取り早いんだろうなぁ.