1. ホーム
  2. unicode

赤いハートの絵文字はコードポイントが2つ必要ですが、他の色のハートは1つでよいのはなぜですか?

2023-09-24 16:09:34

質問

赤いハートの絵文字(❤️) "\u2764uFE0F" は、2つのユニコードコードポイントを必要とするようです。 重い黒ハート の後に バリエーションセレクター . しかし blue ? , green ? , yellow ? そして 紫色? はそれぞれ単一のコードポイントを持っています。

赤はなぜこんなに違うのでしょうか?

どのように解決するのですか?

歴史的な理由からです。元々、U+2764 HEAVY BLACK HEART しかありませんでしたが、Emojis をサポートする最初のアプリケーションは赤いハートとしてレンダリングすることを決定しました。これらの初期のアプリケーションでは、常にU+2764をEmojiとしてレンダリングしていました。後に、これは良くない考えであることがわかり、Emojisのバリエーションセレクタが標準化されました。ハートの絵文字が追加されたとき、赤いハートはもう必要ないため、省略されました。その代わりに黒いハートの絵文字U+1F5A4が別にあります。

理論的には、アプリケーションは、絵文字のバリエーション セレクタを他のハートのコード ポイントにも付加することを要求できます。しかし、PURPLE HEART のような文字を非 Emoji としてレンダリングすることは、あまり意味がありません。しかし、HEAVY BLACK HEART の場合は違いがあります。これは、しばしば、オリジナルのプレーンなヘビー ブラック ハート文字としてレンダリングされることを意図しています。