iPhone Mailが送信するWindows外字の謎

  • iPhone Mailで@me.comや@gmail.comなどの(@i.softbank.jp以外の)アカウントからプレーンテキスト(標準テキスト)のメッセージを送信すると、Windows外字はcharset=Shift_JIS(実際にはWindows-31J)で符号化される。
  • 下図は、Windows外字の符号表。漢字に関しては、ピンク地と黄色地の領域が(レパートリも並び順もまったく同じで)重複している。


  • で、UnicodeWindows-31Jに変換する際、iPhone Mailは、どちらの領域を使うのか。その選択によって、送信したメッセージをApple Mailで受信したときの化け方*1が変わってくる*2
  • 下図は、iPhone 4によるテスト結果。iPhone Mailの送信するcharset=Shift_JISのメッセージでは、色地の文字が使われるようだ*3。つまり、字種によって「NEC選定IBM拡張文字」か「IBM拡張文字」かが決まるらしいのだが*4、どうしてそんな仕様になっているのかまったく理解できないし、色地と白地の境界の意味も*5見当がつかない。

*1:うん。どっちにしろ化けるんだけど。

*2:ピンク地の文字(IBM拡張文字)はその文字だけが化ける。黄色地の文字(NEC選定IBM拡張文字)を含むメッセージは、全文が化ける。

*3:ただし、黄色地の文字とピンク地の文字(字種として)が混在する場合、NEC選定IBM拡張文字の側に統一されるようだ。このことから、単一の不思議な変換テーブルが使われているわけではなく、何らかの条件に応じて複数の変換テーブルが使われるものと推測される。

*4:以前のエントリでこの問題を取り上げたとき、わたしはまだiPhoneを持っていなかったので、当時入手できたサンプルから「iPhone Mailのバージョンによって変わる」という推測を述べましたが、それは間違っていたようです。すみません。

*5:決してキリのいい数値でもないし。