ミラクルリナックスの森山です。 IPA 2005年度下期オープンソースソフトウェア活用基盤整備事業のプロジェク トとして採択された、「オープンソースソフトウェアにおける統一したレガ シーエンコーディングの変換機能の開発」で、作成した、ruby 1.8.4 の NKF モジュールの CP932, eucJP-ms, ISO-2022-JP-MS に対してユーザー定義文字 を追加するパッチを公開しました。 パッチファイル: ruby-1.8.4-nkf207-20061025.patch テストフレームワーク: legacy-encoding-0.1.tar.gz ダウンロード: 以下の場所からダウンロードが可能です。 http://sourceforge.jp/projects/legacy-encoding このパッチを適用後の NKF モジュールの変換で、次のような問題がある事が 分かっています。 o eucJP-ms から cp932 への変換で、ユーザー定義文字が正しく変換されな い。(パッチに問題) o 入力に cp51932、eucJP-ms を指定した場合に、0x1B を変換できない。 o 次の変換で、半角カナが全角のカタカナに変換されてしまう。 --ic=cp932 --oc=cp50220 / --ic=cp51932 --oc=cp50220 / --ic=eucJP-ms --oc= cp50220 / --ic=cp50220 --oc=utf-8 / --ic=cp50221 --oc=utf-8 / --ic=iso-2022-jp-ms --oc=utf-8 / --ic=utf-8 --oc=utf-8 o 次の変換で、―〜‖−¢£¬ を正しく変換できない。 --ic=cp50220 --oc=utf-8 / --ic=cp50221 --oc=utf-8 o UTF-8 から UTF-8 の変換で IBM拡張文字が正しく変換されない。 o UTF-8 から UTF-8 への変換を行なうと、次の文字のコードポイントが変更 されてしまう。ただし、--no-best-fit-chars オプションを付ければコード ポイントの変更はされない。 UTF-8 UTF-8 ― 0xE28095 (U+2015) → 0xE28094 (U+2014) 〜 0xEFBD9E (U+FF5E) → 0xE3809C (U+301C) ‖ 0xE288A5 (U+2225) → 0xE28096 (U+2016) − 0xEFBC8D (U+FF0D) → 0xE28892 (U+2212) ¢ 0xEFBFA0 (U+FFE0) → 0xC2A2 (U+00A2) £ 0xEFBFA1 (U+FFE1) → 0xC2A3 (U+00A3) ¬ 0xEFBFA2 (U+FFE2) → 0xC2AC (U+00AC) o 次の変換で、NEC選択IBM拡張文字をユーザー定義文字に変換してしまう。 --ic=cp932 --oc=eucJP-ms / --ic=cp51932 --oc=eucJP-ms -- 森山 将之 moriyama / miraclelinux.com ミラクル・リナックス株式会社