wcwidth patch 暫定版 for cygwin-1.7.x

Created: 2009-04-21

更新履歴


これは何か?

Cygwin-1.7 で ja_JP.UTF-8 が使えるようになったのはいいのですが、wcwidth/wcswidthが腐ってるので、これに依存しているアプリ(bashとか)では、あいかわらず悲しい思いをします。

ということで、急遽でっち上げたのが、このパッチです。ちなみに環境変数 LANG もしくは LC_CHARWIDTH (暫定名称) の先頭2文字が ja, kr, vi, zh の場合は CJK width = 2 として処理されます。

当然のことながら無保証なので、使うならば自己責任でどーぞ。


基本方針


Download

cygwin-1.7.0-46


ソースからビルドする方法

  1. パッチを取得して、適当なディレクトリに配置する。ここでは /tmp に置くと仮定する。
  2. Cygwin Setup (setup.exe) でパッケージ「cygwin」を探し、「Src?」のチェックボックスをオンにしてインストール。/usr/src に展開される。
  3. 以下のコマンドでビルドする。(所々ドキュメント関連で fail するが気にしなくてよい)
    cd /usr/src/cygwin-VERSION
    patch -p1 < /tmp/cygwin-VERSION-wcwidth.diff
    ./configure
    make all-target-winsup
    
    目的のファイルは、/usr/src/cygwin-VERSION/i686-pc-cygwin/winsup/cygwin/new-cygwin1.dll に生成される。
  4. Cgywin アプリの全プロセスを停止し、元の cygwin1.dll を適当にリネーム、生成された new-cygwin1.dll をコピーし、cygwin1.dll にリネームする。

終わりに

あとで書く。


[BACK] | [TOP]