iOS 8.3が昨日リリースされた。
ぼくはiPad miniはアップデートしてみたがiPhone 6 Plusはまだアップデートしていない。
このiOS 8.3が、絵文字の人種多様性サポートという大変大きな機能を実装した。

歴史的経緯

iOS 8.3ではUnicode 8.0で搭載される予定の、Emoji Modifier Fitzpatrickというものが使えるようになった。
これは、人間を表す絵文字の直後にこの字を書くと、文字が合成されて、肌の色が変わるというものだ。

もともと携帯の絵文字というのは日本の携帯会社が内々で使っているもので、文字コードとしては外字領域に入っていた。
他の国とのインターネット通信を考えていないどころか、携帯会社によっても違っていた。
「xx社の携帯ではハートマークが揺れるから可愛い」とか言って、それが売りになったことがあったのだ。
言うところのガラパゴス現象の極致である。

ソフトバンクがiPhoneを日本で売りだしたとき、絵文字はまだ使えなかった。
それを孫社長がアメリカに直々に飛んでAppleと交渉し、「日本では絵文字が使えないとメールとは言えない」と言って、ソフトバンクの絵文字も表示させた。
この時点ではまだUnicodeの外字領域を使っていた。

その後Apple/Google提案でUnicodeの標準領域に絵文字が搭載された。
この時点で日本のガラパゴス絵文字の欠陥が露呈された。
地球儀の絵文字が日本中心だったり、国旗が日本やアメリカなど数種類しかなかったり、政治的にいろいろ偏りがあったのだ。
もともと日本人が適当に内々で使っていたのでしょうがないが、国際標準になるとしたらこれは政治問題になる。
結局侃々諤々の議論の結果、大量の文字が追加されて絵文字が標準化された。

標準化されたあとも日本のガラケー会社はおのおの勝手なガラパゴス絵文字を使い続けたので、ドコモからGmailにメールを送ると音符がうんこになるなどの悲惨な文字化けが起こった。

ドコモからGmailにメールを送ると「音符」の絵文字が「うんこ」になる - 強火で進め

今ではAppleとGoogleのスマホが圧倒的にノしてきたので、Unicode絵文字が世界の標準になっている。
ただ、Unicode規格は文字の名前と概念を番号にマッピングして関しているわけで、同じ「雪だるま」などという概念の文字でも会社によって、機種によって違う。

絵文字がiPhoneで使えるようになって、意外と諸外国でも爆発的に使われるようになった。
文字数が稼げるので「🚗に乗るから🍺は飲めない😂」みたいな表現をTwitterなどで使う人が増えたそうだ。

すると、アメリカの黒人女優さんが「なぜ絵文字には白人しかいないのか」とTwitterで声を上げたことをきっかけに、世界中で絵文字の人種多様性を表現できるようにすべきだという声が澎湃と湧き起こった。
Unicode 8.0におけるスキントーン修飾子の対応は、この需要に答えたものである。

Unicode Technical Report #51の提案

UTR #51: Unicode Emoji

いまUnicodeコンソーシアムで提案されている実装は以下の様なものである。

 ・現状の人間および人体の一部(手とか鼻とか)の絵文字は白人の明るい肌色だが、これを一般的な色にする
 ・一般的な(generic)色とは、通常の人間ではありえない黄色とかオレンジのことである
 ・一般的な肌色の絵文字の直後に、絵文字修飾文字を書く
 ・絵文字修飾文字は、皮膚病学で一般的に使われているフィッツパトリック・スケールの6段階を5段階にしたものである
  (原文では「darmatology」だが、これを辞書で引くと「皮膚病学」になる)
 ・一般的な人間および人体の一部の絵文字+修飾文字は1つの文字として結合し、特定の肌色を持つ人間になる

この時点でいろいろ疑問が湧く。

 ・人種の多様性って肌の色だけか?(眼の色とか、アジア人は目が細いとかそういうのは?)
 ・肌の色の違いって濃い薄いだけか?(赤い人とかいるんじゃないか?)
  (フィッツパトリック・スケールはもともと日焼けの度合いを示すもので、人種用に作られたものではない)
 ・黄色い人ってありえないのか?

黄色い人=ありえない人、だから一般的な人(人間のデフォルト)として使う、という発想は、スマイルマークから来ているそうだ。
日本人はアジア人で、アジア人は黄色い、と教えられてきた身としては、奇異な印象がある。
赤い人も省かれているので、現状のUnicodeにおける肌色の多様性は、明るいか暗いかだけを5段階で示している、ということだろう。

ところが、この黄色い人、スマイルマークのような真っ黄色(#FFCC22)の人が、アジア人を示すと思われて誤解された。
俺達はこんなに黄色くない! 俺達がこんなに黄色いと思ってるのか!と、中国人や日本人で怒る人がいたのだ。
これは誤解であり、上記のように黄色い肌色はスマイルマーク由来のありえない人間の色、ということだ。
だったら青とか緑にすればいいと思うのだが、スマイルマークやシンプソンズのように、黄色い人はデフォルトの人、という観念が、西洋人にはあるらしい。

Apple iOS 8.3、Yosemite 10.10.3での実装

さて、2015年の中盤の発表に向けて作業中のUnicode 8.0だが、この肌色を変える機能をAppleはフライングでiOS8.3に搭載した。
Mac用のYosemite10.10.3にも搭載されているようだ。

では早速入力の模様を見てみよう。

iOS8.3のiPadで絵文字キーボードを出すと、人間が真っ黄色になっている。
これがデフォルトの(ありえない)人間である。

20150410_kaomoji_ios83

UnicodeのUTR#51では、髪の色のデフォルトは黒にすべきだ、と書いているのだが、Appleはなぜか髪の毛も黄色にした。
この事情はよく分からない。

さて、真っ黄色の赤ちゃんを長押しすると、5つの赤ちゃんのカラーバリエーションが出てくる。

20150410_kaomoji_ios83_nagaoshi

これで人種的に赤ちゃんを表現できる。
さっそくデフォルトの赤ちゃん、赤ちゃん1、赤ちゃん2を入力したGmailを作ってみた。

20150410_kaomoji_gmail

これをiPhoneのGmailで受信して見てみると、iPhoneはまだiOS8.3に上げていないので、デフォルトの赤ちゃん+お豆腐という状態で表示される。

20150410_kaomoji_mojibake

このお豆腐は肌色修飾子が文字化けした状態だ。
(肌色修飾子、というのはぼくが便宜上いま定めた用語で、Unicodeの正式な用語ではないので注意)
UTR#51には「肌色修飾が出来ない環境では、肌色修飾子を色見本(各々の肌の色の四角形)にすれば、一般的な人間の絵文字と各々の肌の色の四角形を並べて見ることで、発信者がどんな肌の色の人間を発信したかったかを、受信者は推し量ることができる」と書いている。
それってどうなんだろうね・・・。

Macで見てみると、もうちょっと親切に、お豆腐の中に肌色修飾子の文字コード(16進数)が入っている。

20150410_kaomoji_mojibake_mac

デフォルトの赤ちゃんには肌色修飾子がついていない。
赤ちゃん1は四角の中に横書きに01F3FBと書いているが、これはUnicodeスカラー値のU+1F3FBで、EMOJI MODIFIER FITZPATRICK TYPE-1-2という肌色修飾子である。(一番色が薄い)
赤ちゃん2は同じくU+1F3FCで、EMOJI MODIFIER FITZPATRICK TYPE-3という肌色修飾子である。(二番目に色が薄い)

Gmailからこのデフォルトの赤ちゃん+肌色修飾子1をCotEditorでコピペしてUTF-32BEで保存し、0xEDというバイナリーエディターで表示してみた。

20150410_kaomoji_DUMP

CotEditorでは化け文字が四角に①みたいな表示になっているが、0xEDのダンプ画面を見ると、デフォルトの赤ちゃんの文字コードは0x0001F476、肌色修飾子1の文字コードは0x0001F3FBであることが分かる。
ということでデフォルトの赤ちゃんのUnicodeスカラー値はU+1F476だが、これはBABYというUnicodeだ。

👶 Baby Emoji (U+1F476/U+E51A)

ミニマルセットとオプショナルセット

さて、UTR#51には肌色修飾が出来る絵文字の種類も定めている。

UTR #51: Unicode Emoji

最小限定めるべきミニマルセットが26字で、サンタクロース🎅、少年👦、女性👩、警察官👮、花嫁👰、お姫様👸、赤ちゃんの天使👼、受付の人💁、警備員💂、フェイシャルエステをしてもらっている人💆、ヘアカットをしてもらっている人💇、などなどである。

いろんな宗教の人が使うのにサンタクロースとか天使とか出てくるのが不穏当な気がするし、受付が女の人で警備員が男の人っていうのも気になるが、これは日本のガラパゴス仕様を引きずっている。

オプションで定められるのが97字だが、スマイルマーク😋とか、悪魔👿とか、手✋とか、鼻👃とか、サーファー🏄とかが定められている。

悪魔に人種があるのかって気がするし、もともとのAppleカラー絵文字がドむらさきなので、ここからどう変色させるのかって気がするが、現状のiOS8.3ではMinimalの方だけサポートしてい、Optionalの方はサポートしていないようだ。
黒人のサンタは表示できるが、黒人の悪魔は表示出来ない。
もしフルセットでサポートされれば「4月4日にサウスカロライナ州で白人の警官が黒人の男性を射殺した」という文章も非常に短く書けることになるが、そんな文は特に書かなくていい気もする。

オプショナルセットにも入っていない複数人の絵文字?

さて、AppleのiOS8.3の絵文字キーボードを表示して気づいたのだが、UTR#51で肌色修飾の対象になっていない家族👪、手をつなぐ2人の人(男+男👬、男+女👫、女+女👭、あとなぜかバニーガール2人👯)が髪の色も肌色も真っ黄色のデフォルト人間(ありえない人間)で表現されていることだ。

20150410_kaomoji_ios83


このうちの1つ、3人家族はFAMILY(U+1F46A)というUnicodeだ。

👪 Family - iPhone, Android, Twitter, & Facebook Emojis

これらはiOS8.3の肌色修飾の対象外であり、長押ししてもカラバリが出てこない。

これ、iOS8.3では修飾の範囲から外したが、そのうち実装するのだろうか。
でもそうすると、カップルや家族は、全員同じ肌の色ということになる。
家庭やカップルは全員同じ人種しか出せないということになり、非常に大問題である。
あるいは、白人男性と黒人女性が手をつなぐところ、中間の女性と白人の女性が手をつなぐところ、のようにバリエーションを作るのだろうか。
そうすると2人の場合は5×5で25パターン、3人の場合は125パターン用意しないといけない。
それは非現実的である。

だから、この真っ黄色のデフォルト家族、デフォルトカップルは、UnicodeとしてもAppleとしても色のバリエーションはサポートされない、と考えた方がいいだろう。
じゃあなぜ真っ黄色のデフォルト人間にしたかというと、なぜ白人の家族やカップルやバニーガールだけ作ったのか、という批判をかわすためだろう。
基本的に肌色が変えられない人間は真っ黄色にする、それは人間としてありえない色だから、という認識のようだ。

(※注:ちなみに、3人家族は上記のようにFAMILYとしてUnicodeに登録されているが、4人家族は登録されていない。
では、iPadのキーボードでどうやって入力できるかというと、2人の大人と2人の子供をゼロ幅接合子(ZERO-WIDTH JOINER U+200D)というUnicodeの機能文字でくっつけている。 だからお父さんは黒人でお母さんは白人という4人家族も、これを使えば表現できる。)

黄色はありえない人間か。
ぼくは、アジア人は黄色い、と思い込んで生きてきたので違和感がある。
ありえない人間なら緑とか紫とかシマシマにして欲しい気もする。
Unicodeの人も、Appleの人もどうしようもなく西洋の人だと思うが、西洋の人の間では黄色い人はスマイルマークやシンプソンズのようにありえない人、という認識ががっちり出来ているのだろうか。

まあでも、ここは世界中の誰もが納得して使え、しかも簡単に実装できて簡単に使えるソリューションを考えるのはものすごく難しく、絶対に無理かもしれないから、妥協して使うしかないのかもしれない。
日本の携帯会社なんかが遊びで、内々でやっていたものが、世界の規格に乗ってしまったために大騒ぎになってしまって、日本人のひとりとして慚愧に堪えない。

※2015-05-31追記:

「ありえない肌色とは黄色のことだ」と、Unicode consortiumおよびAppleが主張している、という前提にもたれよりかかって書いている本文だが、Unicode consortiumは「such as yellow, orange, or silhouette」(黄色やオレンジやシルエットのような)と書いていて、と主張していて、たまたまAppleがその中でド黄色を選んだ、ということらしい。
2015-05-01に発表されたドラフト第9版では、黄色の他に青や灰色も例示されているそうだ。

また、髪の毛はダーク(黒)が望ましいとUTR #51に書かれていたのに、Appleが髪の毛も黄色にしているのはおかしい、とも書いているが、UTR #51は2015-05-01に発表されたドラフト第9版で変更されて特定の髪の色を推奨しないことになったそうだ。
Appleの実装が黄色の髪色にしたのは、黄色の肌に黒い髪の毛というのがiOS 8.3ベータ2でアジア人差別という誤解に基づく批判を浴びたからだそうだ。
以上は以下の記事に詳しい。

黄色い絵文字の意図は「ありえない肌の色」 -INTERNET Watch