山ライオンMailの絵文字に関する仕様変更
- OS X 10.7 Lion以降のMailは、ケータイのアカウント宛にケータイのエンコーディングで絵文字を送ることができる(LionのMailはケータイと絵文字のやりとりができるよ!)。OS X 10.8 Mountain Lionでは、その仕様が変更された。良くなったのか、悪くなったのか。
- 下図の例では、LionもMountain Lionも、ドコモのアカウント(@docomo.ne.jp)に対して、太陽の絵文字をドコモのShift_JISで送っている。iモードにはないバラの絵文字がメッセージに含まれるとき、Lionはメッセージ全体をcharset=utf-8で送信する。太陽とバラの両方がメッセージに含まれる場合、Lionでは(バラを含むために)charset=utf-8となり、iモードにある太陽の絵文字まで「・」になってしまう。一方Mountain Lionは、iモードにはないバラの絵文字を「〓」に置き換えて、ドコモのShift_JISを貫き通す。このため太陽が道連れになって化けることはない。つまり、「ドコモのガラケー宛」という面では、Mountain Lionの仕様のほうが優れていると考えられる。
- では、auのガラケー宛の場合はどうだろう。auのゲートウェイは、charset=utf-8で送られてくるUnicode絵文字の変換に対応している。このため(au絵文字に存在しないハムスターが「〓」になるのは当然として)ハムスターに道連れにされてパンダが化けるようなことはない。つまり、「auのガラケー宛」という面では、LionでもMountain Lionでも(「〓」に変換されるタイミングは異なるものの)結果は変わらない。
- Lion/Mountain LionのMailは、相手のアカウントによってキャリアを判別して動作を変える。@ezweb.ne.jpは(iPhoneでも使われるが)auのガラケーと見なされる。また、@i.softbank.jpは(iPhone用のアカウントなのだが)なぜかSoftBankのガラケーと見なされるようだ。その結果、送信先がiPhoneで@ezweb.ne.jpまたは@i.softbank.jpアカウントを利用していた場合、Mountain Lionの仕様では、iPhoneなら表示できる絵文字でも(キャリアの絵文字に含まれなければ)「〓」に変換してしまう(下図)*1。つまり、「iPhone宛」という面では、Lionの仕様のほうが優れている。
- というわけで、一長一短ではあるのだが、時代を考えるとLion方式のほうがいいような気もする。ただしMountain Lionでも、文字化け回避の呪文「♡」「⌘」「◉」などを使えば、すべての絵文字をcharset=utf-8で送ることができる。
- 以上は送信(エンコード)時の話だが、Mountain LionのMailでは、ケータイから送られてきた絵文字入りのメッセージの表示(デコード)における挙動も変わった。件名に含まれる絵文字は今までどおり正しく表示できるのだが、本文中の絵文字は化けてしまう。これは仕様変更というよりバグかな。
*1:akane_nekoさんにご協力いただいてテストしました。ありがとうございます!