Apple絵文字は間違ってる?
Apple絵文字の問題
iPhone 3Gが絵文字に対応したのが2008年11月、Unicodeに絵文字(Emoticons)が入ったのが2010年10月でした。それから時がたって2014年、今では世界中で絵文字が使われています。英語圏で「ホットドッグの絵文字がない!」「黒人がいないのは差別じゃないか?」などが話題になると、日本語圏では「emojiが英語になってる? 知らなかった!」なんていう話題になったり。今ではOS XもWindowsもAndroidも絵文字に対応しています。Unicodeだから、誰とでも絵文字やり取りし放題。バリバリ使っちゃうぞー!?
Unicodeや他のフォントと異なるAppleカラー絵文字
左: The Unicode Standard, Version 6.3 のコードチャート
右: OS X Mavericks の Apple Color Emoji pic.twitter.com/1kAoZLIblj
— Ryusei@入学手続き (@mandel59) April 15, 2014
UnicodeのコードチャートとApple Color Emojiを見比べると、ちょっとこれは違うんじゃないのという絵文字があることが分かると思います。少し異なるところがある、程度なら問題ないのですが、意味が変わってしまっている絵文字がいくつかあります。
他のフォントと比べてみたのが次の図です。
左: Apple Color Emoji
中: Android Emoji
右: DejaVu Sans pic.twitter.com/XoE3ef3690
— Ryusei@入学手続き (@mandel59) April 15, 2014
U+1F632 ASTONISHED FACEは「びっくりした顔」ですが、Apple Color EmojiのASTONISHED FACEはU+1F635 DIZZY FACEとほとんど違いがなく、「びっくりした顔」とは違うものであるように思います。また、U+1F640 WEARY CAT FACEは他のフォントではU+1F629 WEARY FACEと同様「疲れた顔」になっているのに対して、Apple EmojiではU+1F631 FACE SCREAMING IN FEARと同じ顔になっています。なぜこういうことになってしまったのでしょうか。
Apple Color Emojiの歴史と原因
Apple Color Emojiはもともとソフトバンク向けの絵文字フォントだったものを拡張し、Unicodeに対応させたものです。どのように拡張されてきたかは次の記事を参照してください。Appleカラー絵文字は10.7.3でどう変わったのか - Mac OS Xの文字コード問題に関するメモ。これを見ると、ASTONISHED FACEはE群(SoftBank互換のUnicode絵文字)に、DIZZY FACEはA群(10.7.3でモノクロからカラーになった)にあることがわかります。A群の絵文字はUnicodeに登録されてからApple Color Emojiに収録された絵文字なのに対して、E群はもとからソフトバンク絵文字の為に収録されていた絵文字です。
U+1F632 ASTONISHED FACEは、ソフトバンク絵文字の何にあたるのでしょうか? Unicode Character DatabaseにあるEmojiSources.txtによれば、U+1F632はSoftBank Shift-JIS codeのFB50に対応しています。つまり、U+1F632 ASTONISHED FACEの絵文字は、本来SoftBank Shift-JIS codeのFB50のための絵文字でした。
実は、ソフトバンクはiPhoneが絵文字に対応するより前の2008年6月に絵文字をリニューアルしています。(ユーザー好感度NO.1新デザイン絵文字の提供を開始 | ソフトバンクモバイル株式会社 | グループ企業 | 企業・IR | ソフトバンク)そして、旧絵文字ではFB50は「びっくり」だったのに、新絵文字では目がバツ印になっている「表情(ふらふら)」に変わってしまいました。
http://t.co/BcmH4uFX2Y より、SJIS FB50に対応する絵文字 pic.twitter.com/6nPXV2Npi3
— Ryusei@入学手続き (@mandel59) April 15, 2014
(左が2008年6月以降の新絵文字、右が2008年6月以前の旧絵文字です。)
結局、こういうことだと思います。まず、iPhoneがソフトバンクの新絵文字に対応したApple Color Emojiを搭載しました。その後、Unicodeに絵文字が登録されたのですが、その時に公開されたUnicode Character DatabaseのSoftBank Shift-JIS codeとUnicodeの対応表は、なぜか旧絵文字を前提としたもので、本来であれば新絵文字のFB50はU+1F635 DIZZY FACEに対応するのに、FB50がU+1F632 ASTONISHED FACEに対応していました。その後、Apple Color EmojiがUnicode Character Databaseの対応表を使ってUnicodeに変換されたため、ソフトバンク絵文字の新旧で互換性のない部分が正しく変換されず、その後他のUnicode絵文字を拡充した結果、ASTONISHED FACEとDIZZY FACEはほとんど同じ物になってしまった。
そういうわけでASTONISHED FACEの原因はなんとなく分かったんですけど、WEARY CAT FACE はなんでこうなっているのかよく分かりません。
これから
Apple Color EmojiがUnicodeに準拠していないことで、どのような問題が起きるでしょうか。それは、文字化けです。すでにApple Color Emoji以外の絵文字フォントがありますし、これから先もどんどん新しい絵文字フォントが作られることになるでしょう。そこで、Unicodeを参考に作った絵文字フォントと、Apple Color Emojiを参考に作った絵文字フォントとでは異なる絵文字が表示されてしまうのです。
文字化けにはどう対策すればいいでしょうか。文字化けする絵文字を使わない。相手の環境が分かっている場合だけ絵文字を使う。代わりに画像を送る。ウェブフォントを使う。色々考えられます。
Windowsや新しいAndroidの絵文字は確認していませんが、おそらくUnicodeに準拠したものであるはずです。一方、Twitterが最近絵文字を画像に変換して、フォントをインストールしていないブラウザーでも絵文字を表示できるようにする機能を実装しましたが、Twitter絵文字はApple Color Emojiを下敷きにしています。日本語圏で昔から問題になっていたキャリアー間での絵文字の非互換が、Unicodeへの登録によって解消されるかと思われましたが、どうやらそうはいかないようです。