なぜ右矢印はiPhoneで絵文字にならないのか

  • もうすぐMacでカラー絵文字が使えるようになる。そうすると当然、Macで入力した絵文字(Unicode絵文字)をiPhoneiPadで目にすることになるだろう。というわけで、その状況を先取りし、Unicode絵文字(私用領域ではない符号位置で表現したもの)をiPad*1表示してみた結果が、前回のエントリの最後の図。iPhone/iPadでは絵文字として表示されないものが、いくつかあった。たとえば「⬆⬇➡⬅」のなかでは「➡」が、iPhoneでは絵文字にならない(下図)。


  • このような「絵文字として表示されない文字」は、おそらくiPhone/iPadのフォント・フォールバック機構において、絵文字フォントよりも優先順位が高いフォントのグリフが表示されているのだと思われる。そこで、すべてのフォントのレパートリを調べてみた。下図では、より上に位置するフォントほど、表示の優先順位が上位となる*2


  • 上図において絵文字フォントは、Helvetica NeueにU+00A9を、.PhoneFallbackにU+27A1を、HKGPW3UIにU+303Dを“食われて”しまっている。かといって絵文字フォントを最優先にすると、普通の(Basic Latinの)数字(0123456789)まで絵文字として表示されてしまうので、Helvetica Neueのような欧文フォントが絵文字フォントの上位に置かれているのは、当然。不思議なのは、.PhoneFallbackが絵文字フォントより上位に置かれていることで、ちょっと理由が思いつかない*3

*1:iPhoneでも同じ。

*2:この優先順位は、「こう仮定すれば説明がつく」というだけのものであって、正しい保証はない。

*3:.PhoneFallbackなんて、すごく優先順位の低そうな名前のフォントだし。