2006-10-27

Encode::EUCJPMSのバージョンが上がってるじゃん。

 メーリングリストを見ていたら、ミラクリナックスの森山さんからレガシーエンコーディングプロジェクトの報告が。ざっとながめると

※ Encode::EUCJPMS で CP50220 と CP50221 が利用できるため、ISO-2022-JP-MS ではなく、そちらの方を使用するのが望ましいと思われます。

――という記述がある。

 あれ? と思ってCPANのEncode::EUCJPMSを見ると、8月にCP5022x対応版が上がってるじゃないですか。知らなかった……。

 というわけで前に書いた

 Encode::CP5022x相当が実装されれば、Classic部分を削除してCPANに登録しよう……。Jcode::CP932 - 0.04

――が、実装可能になったのでぼちぼち作業しようかと思うのですが、何かご意見がありましたらよろしくお願いいたします*1

 それはそれとして。

 僕がレガシーエンコーディングプロジェクトに期待していたのは主に

 森山さんは「JIS系とCP932系の相互変換は出来ないと考えておいた方が無難」と書かれていますが、問題が生じる可能性があることを認識のうえで――例えば「相互変換」ではなくどちらかに寄せる対応になると認識したうえで正規化する変換はあったほうが良いと思うのです。

 なぜならUTF-8Unicode)で流通しているテキストをレガシーエンコーディングに変換する必要がまだあって、そのUnicodeなテキストがCP932系なのかJIS系なのかは判別することができないからです。そういう時はなんらかのポリシー(CP932系にするかJIS系にするか)で正規化するようにしないと困ったことになるような気がします。

 確かAmazonのデータはCP932系らしく「~」はU+FF5Eで送られてきたと思うのですが*1、本当にCP932系なのであればそれをJIS系のエンコードに変換すると問題が生じたりするはずですし。そういう時に変換できないと困るんじゃないかと思うのです。とりあえずレガシーエンコーディングプロジェクトの成果待ち

――だったのですが、これへの対策は特にないんですね。うーん、どうしたものか。

 とりあえず

   文字 SJIS     EUC      JIS       Unicode   Unicode での
         コード値 コード値 コード値  コード値  文字の名前
   ----- -------- -------- --------- --------  ----------------------
    ―    0x815C   0xA1BD   0x213D    U+2015    HORIZONTAL BAR
    ~    0x8160   0xA1C1   0x2141    U+FF5E    FULLWIDTH TILDE
    ∥    0x8161   0xA1C2   0x2142    U+2225    PARALLELE TO
    -    0x817C   0xA1DD   0x215D    U+FF0D    FULLWIDTH HYPHEN-MINUS
    ¢    0x8191   0xA1F1   0x2171    U+FFE0    FULLWIDTH CENT SIGN
    £    0x8192   0xA1F2   0x2172    U+FFE1    FULLWIDTH POUND SIGN
    ¬    0x81CA   0xA2CC   0x224C    U+FFE2    FULLWIDTH NOT SIGN

だけ正規化すれば問題なし?

はてなグループのファイル共有って、有料オプションを外したら消えちゃうorアクセスできなくなっちゃうの?

 もしそうなのならちゃんと書いておいてくださいよ……>g:hatena:id:hatenagroup

 ファイルのアップはできなくてもダウンロードは継続されるものだとずっと思ってました。

 さて、どうしたものか。