iPhoneで「lang="ja"」有りと無しで絵文字の表示が異なる
Unicodeの絵文字を調べていて、面白い事象を発見した。
私が所持しているのがiPhone5Sなので、新しいiPhoneでは発生しないのかもしれませんが、自分としてはかなり衝撃でしたので記録しておきます。
iPhoneで、htmlファイルを
<html lang="ja">
と書くと、一部の絵文字がテキストモードで表示されます。「lang="ja"」を外せば絵文字モードで表示されます。
テキストモードと絵文字モードは、Unicodeで Emoji variation sequences によって定義されているもので、「晴れ」絵文字なら、絵文字コード(☀)の後ろに「︎」がつけばテキストモードに、
☀︎
↓絵文字コードの後ろに「️」がつけば絵文字モードとなる。
☀️
↓では何もつけなかった場合はどうなるかと言うと、タイトルの通り、私のiPhone5Sでは「lang="ja"」有りと無しで絵文字の表示が異なる。
lang="ja"無し
<html> <body> <p>☀</p> </body> </html>
lang="ja"を外せば解決するのですが、何か腑に落ちない感じです。
それじゃ、lang="en"ではどうかと言うと、