Unicode symbol as text or emoji
21 Apr 2015John Gruber asked on Twitter how to force a unicode symbol to render as text insted of emoji. Jason Weather replied that appending U+FE0E
forces the symbol to render as text.
I had recently researched a bit on the inner-working of the new emoji skin tone modifiers1 in Unicode 7.0.2 The basics: if a emoji skin tone modifier immediately follows certain characters they should be rendered as a single glyph.
See Unicode technical report #51 for more info.
Standardized variants
The character mentioned by Jason on Twitter is a variation selector under the standardized variants sequence in Unicode 7.0, U+FE0E
is named VARIATION SELECTOR-15
.
Variation selectors:
“Combining characters; in conjunction with the preceding character these indicate a predetermined choice of variant glyph”
— Unicode Consortium U+FE00 code chart
The basic functionality of variation selectors are comparable to the emoji skin tone modifiers in that they choose a certain variation of the preceding character.
Currently only VS-1, VS15 and VS16 have been defined and implemented, check out a list of VS-1
variant glyphs.
Character | Description | Style |
---|---|---|
U+FE0E |
VARIATION SELECTOR-15 |
text style |
U+FE0F |
VARIATION SELECTOR-16 |
emoji style |
Unfortunately it’s a little hard to demonstrate these things since OS and browser support varies so much.
Character | Image | Emoji | Normal | Text |
---|---|---|---|---|
U+2764 |
❤️ | ❤ | ❤︎ | |
U+21A9 |
↩️ | ↩ | ↩︎ | |
U+25B6 |
▶️ | ▶ | ▶︎ |
Result on OS X 10.10.3: Chrome 42 and Safari 8.0.5 - the result on iOS with MobileSafari was identical to Safari. 3
I’ve used the Unicode converter on rishida.net quite a lot to convert to/from different Unicode representations. Taking another look at the solution by Jason and running it through the converter we see that the ↩ vs ↩︎
corresponds to: U+21A9 vs U+21A9U+FE0E
- notice the U+FE0E
at the end of the converted string.
-
🏻🏼🏽🏾🏿 Each skin tone is based on the Fitzpatrick Scale ↩
-
Support for skin tone modifiers was shipped in iOS 8.3 and OS X 10.10.3 ↩
-
Result was the same in MobileSafari on iOS devices running iOS 7.1.2 and iOS 8.3. ↩
Update 1: Anil Dash brought up a good point that the text style version of symbols should be in the options flyout on emojis on iOS.
Update 2: Michael Harry showed that Google were also having problems with symbols being rendered as emojis in their search results.