iPhoneで「lang="ja"」有りと無しで絵文字の表示が異なる

Unicodeの絵文字を調べていて、面白い事象を発見した。
私が所持しているのがiPhone5Sなので、新しいiPhoneでは発生しないのかもしれませんが、自分としてはかなり衝撃でしたので記録しておきます。

iPhoneで、htmlファイルを

<html lang="ja">
と書くと、一部の絵文字がテキストモードで表示されます。
「lang="ja"」を外せば絵文字モードで表示されます。

テキストモードと絵文字モードは、UnicodeEmoji variation sequences によって定義されているもので、「晴れ」絵文字なら、絵文字コード(&#x2600;)の後ろに「&#xFE0E;」がつけばテキストモードに、

&#x2600;&#xFE0E;

文字コードの後ろに「&#xFE0F;」がつけば絵文字モードとなる。

&#x2600;&#xFE0F;

では何もつけなかった場合はどうなるかと言うと、タイトルの通り、私のiPhone5Sでは「lang="ja"」有りと無しで絵文字の表示が異なる。

lang="ja"有り

<html lang="ja">
<body>
<p>&#x2600;</p>
</body>
</html>



lang="ja"無し

<html>
<body>
<p>&#x2600;</p>
</body>
</html>


lang="ja"を外せば解決するのですが、何か腑に落ちない感じです。

それじゃ、lang="en"ではどうかと言うと、

lang="en"

<html lang="en">
<body>
<p>&#x2600;</p>
</body>
</html>


な、なんじゃ こりゃー💢