2007年6月10日の日記の3番目の記事へのコメント

PidginでIRC文字化け問題

結局のところ,Windows側のlibiconvがISO-2022-JP-MSに対応してないのが悪いわけで,パッチを当てて対応させたiconv.dllをPidginと一緒に配布すればいいだけの話なんではないかということに気づきました.

というわけで,libiconv-1.9.1にパッチを適用してMinGWで普通にconfigureしてmake・・・が,makeでこけます.ググったら1.9.2だとうまくいくという情報が出てきたので,1.9.2と何が違うのかと思って見てみたら,1.9.1の方には↓が無かったり.この辺足したら通りました.

#if defined _WIN32 || defined __WIN32__
# define WIN32_LEAN_AND_MEAN
# include <windows.h>
#endif

が,make installしてもiconv.dllはできず.これってもしかして手で作らねばならんのか? 調べてみたら,ここに説明がありました.MinGWのツールで普通に手で作れるのか.で,これをやるためにはdefファイルというのが要るみたいなんですが,これをどうやって作ればよいのだろうか・・・と彷徨ってたらこちらでナイスなツールが紹介されていました.

./tiny_impdef.exe 'c:\cygwin\home\nosuke\compile\pidgin\gtk_installer\gtk_install_files\bin\iconv.dll'

のように既存のiconv.dllを食わせてやったら iconv.def とか適当なファイル名でdefファイルを書き出してくれました.素晴らしい.これを使って↓のような感じで手リンク.

dllwrap -k -def iconv.def --driver-name gcc -o iconv.dll \
 ./lib/.libs/iconv.o ./lib/.libs/localcharset.o \
 ./lib/.libs/relocatable.o

iconv.dll ができました.よし早速置き換え.・・・あれ,ISO-2022-JP-MSが出てこねーぞ?EUC-JP-MSはあるみたいだけど・・・.ぐはっ,ISO-2022-JP-MSが出てきたのは1.10からか・・・.

そんなわけで,今度はlibiconv-1.10にパッチを当てて作り直し.手順はまったく同じで,普通にiconv.dllができました.Pidginと一緒に入るGTKのを置き換えてやったら,ばっちりISO-2022-JP-MSが指定できるようになり,IRCで半角カタカナとか「〜」とかが化けなくなりました.次からはこれをWindows版のPidginに同梱するのが良さそうですね・・・.

お名前:  メールアドレス(省略可):
メールアドレスも表示されます
ここに名前その他を書いてはいけません: ここにメールアドレスその他を書いてはいけません:

2007年6月10日の日記の3番目の記事へのコメント

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2007年6月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ