OS X Lionの絵文字はUnicode 6に追加されたコードを使っており、フォントとしてはApple Color Emoji.ttfがバンドルされています。ここまではシンプル。ただ、ふたを開けると大混乱です。
一例として、絵文字の「☀」を取り上げます。
この文字はもともとUnicodeで定義されている「BLACK SUN WITH RAYS」という文字であり、Unicode6の絵文字としても従来の文字が採用されました。
実際に文字パレットで確認すると、同じ「BLACK SUN WITH RAYS」が、絵文字と象形文字で異なる表示になっていることがわかります。この時点でUnicode的には微妙な気がします。
さらに調べて行くと面白いことがわかりました。
これはSafariの検索窓です。「SMILING FACE WITH OPEN MOUTH AND SMILING EYES」「BLACK SUN WITH RAYS」の順で入力すると普通に表示されます。
次に、この二文字をまとめてコピーし、ペーストしてもそのまま表示されます。しかし、「BLACK SUN WITH RAYS」だけをコピーしてペーストすると黒い文字になります。
以下は僕の予想です。
Appleの文字表示ポリシーは「表示する」ことを重視しており、選択中のフォントで表示できない文字があると自動的に表示できるフォントに切り替わります。これは描画レイヤーに近い部分で行われており、フォント選択できない領域でも発生します。
「SMILING FACE WITH OPEN MOUTH AND SMILING EYES」は通常フォントにないためEMOJIフォントに切り替わり、絵文字に存在しない文字が現れるまで絵文字フォントが使用されます。
これで説明はつくのですが、かなり混沌としていますね。
0 件のコメント:
コメントを投稿