See also: test suite home, source
| Font stack | Forced Emoji | Ambiguous | Non-Emoji | Emoji Sampler | ||||
|---|---|---|---|---|---|---|---|---|
| Simple System (v1) | ❤️☺️✈️ | ❤☺✈ | ❤︎☺︎✈︎ | 👨❤️👨 🤘🏿 🥀 | 👋 🤢 💩 | 🐶 🥃 🛬 | 🌉 🔫 🎶 | 🏁 🏳️🌈 🇩🇴 |
| Alan (v1) | ❤️☺️✈️ | ❤☺✈ | ❤︎☺︎✈︎ | 👨❤️👨 🤘🏿 🥀 | 👋 🤢 💩 | 🐶 🥃 🛬 | 🌉 🔫 🎶 | 🏁 🏳️🌈 🇩🇴 |
| GitHub (2017) | ❤️☺️✈️ | ❤☺✈ | ❤︎☺︎✈︎ | 👨❤️👨 🤘🏿 🥀 | 👋 🤢 💩 | 🐶 🥃 🛬 | 🌉 🔫 🎶 | 🏁 🏳️🌈 🇩🇴 |
| GitHub (early version) | ❤️☺️✈️ | ❤☺✈ | ❤︎☺︎✈︎ | 👨❤️👨 🤘🏿 🥀 | 👋 🤢 💩 | 🐶 🥃 🛬 | 🌉 🔫 🎶 | 🏁 🏳️🌈 🇩🇴 |
| Medium (2017) | ❤️☺️✈️ | ❤☺✈ | ❤︎☺︎✈︎ | 👨❤️👨 🤘🏿 🥀 | 👋 🤢 💩 | 🐶 🥃 🛬 | 🌉 🔫 🎶 | 🏁 🏳️🌈 🇩🇴 |
| WordPress Admin (2017) | ❤️☺️✈️ | ❤☺✈ | ❤︎☺︎✈︎ | 👨❤️👨 🤘🏿 🥀 | 👋 🤢 💩 | 🐶 🥃 🛬 | 🌉 🔫 🎶 | 🏁 🏳️🌈 🇩🇴 |
| Nathan (v1) | ❤️☺️✈️ | ❤☺✈ | ❤︎☺︎✈︎ | 👨❤️👨 🤘🏿 🥀 | 👋 🤢 💩 | 🐶 🥃 🛬 | 🌉 🔫 🎶 | 🏁 🏳️🌈 🇩🇴 |
| Emoji-only (v1) | ❤️☺️✈️ | ❤☺✈ | ❤︎☺︎✈︎ | 👨❤️👨 🤘🏿 🥀 | 👋 🤢 💩 | 🐶 🥃 🛬 | 🌉 🔫 🎶 | 🏁 🏳️🌈 🇩🇴 |
| Emoji-only (v2) | ❤️☺️✈️ | ❤☺✈ | ❤︎☺︎✈︎ | 👨❤️👨 🤘🏿 🥀 | 👋 🤢 💩 | 🐶 🥃 🛬 | 🌉 🔫 🎶 | 🏁 🏳️🌈 🇩🇴 |
The emoji-only stack is only suitable for wrapping emoji, not text.
Forced emoji and non-emoji refer to the opt-in and opt-out mechanism, called “font variants,” introduced to allow an ambiguous code point to be shown as symbol or emoji (️ and ︎, respectively).
The two-men-kissing emoji is actually a composite:
👨‍❤️‍👨,
or “man + joiner + ambiguous heart + emoji font variant selector + joiner + man.”
Similarly, the rainbow / pride flag is “(ambiguous) flag + emoji font variant selector + joiner + rainbow.”