丸付き数字に関するApple Mail(Tiger)の謎な仕様


Mac OS X 10.4以降のApple Mailでは、受信したcharset=ISO-2022-JPのメールに含まれる丸付き数字をU+FFFD REPLACEMENT CHARACTERとして表示するようになった。わたしはしばらくの間、この仕様変更を「本来ISO-2022-JPではJIS X 0208に含まれていない文字を送信すべきではないし、受信側も不正な符号をサポートすべきではない」というAppleの主張なのだと解釈していた。言い換えれば、Mac OS X 10.4のApple Mailは、よりstrictに動作するようになったのだと思っていた。


が、それにしては変だ。Mac OS X 10.4(10.4.2および10.4.6で確認)のApple Mailで丸付き数字を含んだメールを自分宛に送信してみると、(丸付き数字を正しく送信できるUTF-8ではなく)以前と同様ISO-2022-JP(もどき)で符号化されている。で、これを受信すると、丸付き数字はU+FFFD REPLACEMENT CHARACTERに置き換えて表示される。自分でISO-2022-JPもどきで送信しておきながらその表示を拒否しているわけで、かなり謎な動作だ。


メールの送受信における丸付き数字の符号化については、理論的には以下の4通りの方法が考えられる。

  1. ISO-2022-JPもどきで符号化して送信し、受信メールのISO-2022-JPもどきを許容(解釈し表示)する。【多数派・現実派】
  2. ISO-2022-JPもどきでは符号化せず、受信メールのISO-2022-JPもどきを許容しない。【厳格派】
  3. ISO-2022-JPもどきでは符号化しないが、受信メールのISO-2022-JPもどきを許容(解釈し表示)する。【厳格派指向の現実派】
  4. ISO-2022-JPもどきで符号化して送信するが、受信メールのISO-2022-JPもどきを許容しない。【意味不明派】

Mac OS X 10.3までのApple Mailは1だったが、Mac OS X 10.4のApple Mailは4。


ちなみに、自分宛に送った丸付き数字入りの(化けた)メールに返信すると、今度はcharset=UTF-8になる。丸付き数字を含むからではない。丸付き数字の表示に用いているREPLACEMENT CHARACTERをU+FFFDとして符号化するからだ。これもちょっとどうかと思う。


2006-08-31追記:上の文章には誤解に基づく部分が含まれているので、読まれた方は「Apple MailのISO-2022-JP-90pv(適当に命名)について」も参照してください。Mac OS X 10.3までのApple Mailが【多数派・現実派】であるという見解は取り消します。