Unicode symbol as text or emoji

John 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. Emoji skin tone modifier example

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 Apple heart emoji ❤️ ❤︎
U+21A9 Apple return emoji ↩️ ↩︎
U+25B6 Apple play emoji ▶️ ▶︎

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.

  1. 🏻🏼🏽🏾🏿 Each skin tone is based on the Fitzpatrick Scale

  2. Support for skin tone modifiers was shipped in iOS 8.3 and OS X 10.10.3

  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.