Below (and this live demo here) is the HTML that produced these 2 screenshots. The first is in Chrome on Windows 10, and the second is from Chrome on iOS 12.
Notice that Win 10 correctly flattens and colors red all of the characters in the bottom line. But in the top line, it incorrectly does not stylize the ⚠️, even though elsewhere (also on Win 10) I see it correctly displayed in yellow, such as here.
Also notice that iOS 12 correctly stylizes all the emojis but does not flatten and color red the first 2 characters (︎ ︎).
How can I control (across all devices and browsers) whether a character is displayed as the emoji version or text version?
This is NOT a duplicate of other questions because (as you can see from the HTML) I already know about the text variation selector ︎
, and I've experimented with tons of different local fonts (such as https://emojisymbols.com) and Google Fonts.
- How to prevent Unicode characters from rendering as emoji in HTML from JavaScript?
- https://apple.stackexchange.com/q/347993/53510
<link href="https://fonts.googleapis.com/css?family=Raleway&display=swap" rel="stylesheet">
<div style='text-align: right; font-family: "Raleway"; margin: auto; display: inline-block; font-size: 22px;'>
emojis 🌄
💬
⌛
⚡
⚠
<div style="color: red;">
using text variation selector
🌄︎
💬︎
⌛︎
⚡︎
⚠︎
</div>
</div>