2007年01月17日

Cygwinでもw3m (の最新版!)

どこでもw3mシリーズ…第何弾だ?

今回はCygwin上で最新のw3mを使えるようにします。(Cygwinのパッケージに含まれているのはmixiパッチ等が当たっていない無印の0.5.1なので)

まずは事前準備。コンパイルに必要なパッケージを導入します。
環境により追加しなければならない物はまちまちだと思うのですが、私の場合は、

・automake
・gcc
・make
・openssl-devel


の4つ(とその従属パッケージ)を追加しています。
今後の手順でwgetcvsも使うので、入れてない方は併せて導入してください。

−追記:2007/01/19−
どうやらコンパイル時に nkf msgfmt msgunfmt などを使用するみたいなので、Cygwinの日本語メッセージ文字化け対策を先に実施した方がよいようです。(コンパイルと文字化けは直接関係ありませんが手順の中でこれらのコマンドを入れているため) ただその場合は automake gcc make はそっちで入れないと駄目ですね…鶏と卵だ。(汗)

で、早速コンパイル。
基本的には以前の手順と大きくは変わりません。

最初にGCの導入。現在の最新版は6.8なので以下の手順で。
cd /tmp
wget http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.8.tar.gz
tar zxvf gc6.8.tar.gz
cd gc6.8
./configure
make
make install

そしてw3mの導入。まずはCVSリポジトリにログインします。
cvs -d:pserver:anonymous@w3m.cvs.sourceforge.net:/cvsroot/w3m login

パスワードを聞かれるので、何も打たずにEnterキーを押します。
(要するにパスワードは空)

そして最新版のソースコードを入手します。
cd /tmp
cvs -z3 -d:pserver:anonymous@w3m.cvs.sourceforge.net:/cvsroot/w3m co -P w3m
cd w3m

−追記:2007/01/22−
ソースコードの一部に直接EUCJPで日本語が記述されているため、このままコンパイルすると一部の機能で文字化けを起こしてしまいます。コンパイルを行う前に対象ファイルの文字コードをSJISに変更しておきます。(w3mhelperpanelの方はどこで使われるかよく分かってないので変換が必要かどうか定かではありませんが…)
mv w3mbookmark.c w3mbookmark.c.euc
nkf -s w3mbookmark.c.euc > w3mbookmark.c
mv w3mhelperpanel.c w3mhelperpanel.c.euc
nkf -s w3mhelperpanel.c.euc > w3mhelperpanel.c

で、あとはいつもどおり configure;make;make install…と行きたいところですが、このままだとエラーが出てしまいます。どうやらGCライブラリの導入先が問題になっているらしいことが分かったので、こちらの記述を参考にしつつ、configureのオプションを全面的に見直して、最終的には以下のようにしました。
./configure \
--enable-japanese=S \
--disable-xface \
--disable-mouse \
--disable-nntp \
--disable-dict \
--disable-w3mmailer \
--disable-ipv6 \
--with-charset=Shift_JIS \
--with-ssl=/usr/local/ssl \
--with-gc=/usr/local
make
make install

しかし、このままだと日本語がうまく表示されないことが判明。
原因はw3mがデフォルトで、

 Locale(LC_CTYPE) に従ってシステムの文字コードを設定

してしまうため。CygwinだとLC_CTYPEは設定されていないようなので、強制的に英語表示になってしまうようです。

これを変更するためにオプション設定画面を出したいのですが、ここの日本語まで化けてしまうのでちょっとたちが悪い。仕方がないので英語モードでw3mを起動します。
LANG=C w3m -v

"o"を押すとオプション設定画面が出てくるので、"Charset Settings"の"System charset follows locale(LC_CTYPE)"を"NO"に変更します。

これで完了。日本語表示もばっちりのはずです。
それでもまだ化けている場合は、オプション設定画面で、

・表示用文字コード
・文書の標準の文字コード
・システムの文字コード


の3つを"Japanese (Shift_JIS, CP932)"に設定してください。

これでWindowsでもw3mが使えます。便利だぁ〜♪
(と感じる人はとっても少数派でしょうけどね笑)


posted by 月水和尚 (とも) at 12:52 | Comment(0) | TrackBack(0) | Cygwin
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。