Emoji and Discourse


(Jeff Atwood) #1

We’ve always had a great relationship with Emoji in Discourse. From the earliest days of Discourse, you could add Emoji to your posts by by typing : and using our handy Emoji autocomplete. Of course : just so happens to be the first character of the most common ASCII smiley, our old friend :)


This topic is for comments on the original blog entry at: Emoji and Discourse


(Rafael dos Santos Silva) #2

Emoji support is great!

Since I’m using the Android ones, I can’t wait for the Android 6.0.1 new ones to be avaliable :smiley:


(Jeff Atwood) #3

Yay! @eviltrout just updated us so we officially support Unicode 7.0 emoji, released June 2014, and Unicode 8.0 emoji, released June 2015.

He confirmed all four emoji sets have 144 standard emoji additions and this enhancement will of course be an official Discourse 1.5 feature.

Let the :taco: countdown begin. You get a :taco: and you get a :taco: and you get a :taco:


(Rafael dos Santos Silva) #4

Wow! Very nice!

I’m upgrading my instance now because of this :vulcan:.

Ps.: I guess the skin tone interface will be kinda tricky…


(Gerhard Schlager) #5

That’s great!

@eviltrout Are you going to update the existing emojis as well?
For example lots of the emojis in Twemoji 2.0 changed and I’m not sure if the EmojiOne set is up to date. :wink:


(Robin Ward) #6

This time around I was focused on adding all the missing emoji we had. Just doing that for all 4 sets was quite a bit of work. And @codinghorror I actually added 196 emoji, including all new ones for Unicode 8. The one thing we’re missing is skin tones because we’d need to change our interface around for that.


(Jeff Atwood) #7

OK, I edited my post to clarify.

That means you added +52 other emoji to make the total 196?


(Robin Ward) #8

Yes, basically I extracted the current versions of all 4 sets we use. I then wrote a script to get the intersection of emoji that are present in each set that weren’t previously in discourse and there were 196.

I’m not sure if we were missing some from Unicode 6 or if all sets happened to include more emoji that is later than unicode 8. Each set had quite different numbers of emoji that weren’t in Discourse, so I’m not sure if they speculatively try out new emoji or what, but the good news is we have many more to use!


(Gerhard Schlager) #9

Well, there are still some Emojis missing. Some of them are even part of Unicode 6.
For example, :flag_at: should exist and according to Emojipedia it’s available in all the Emoji sets we use.


(Robin Ward) #10

It wasn’t in the Android set I have access to:

find . | grep "flag_at"
./apple/output/flag_at.png
./eone/output/flag_at.png
./twitter/output/flag_at.png

According to Emojipedia the codepoint should be 1f1e6-1f1f9 which is not in the repository of android icons we use.


(Rafael dos Santos Silva) #11

What about this:

https://github.com/iamcal/emoji-data/blob/master/img-google-136/1f1e6-1f1f9.png

This repo looks quite nice for what you guys do with Emoji. If you would like help adjusting the import I can try and help!


(Robin Ward) #12

Oh neat! That repo wasn’t on my radar. If you want to see the tools we used to extract the emojis they’re all in this repo:

In order to merge them into discourse we need the emojis

  1. Present in all 4 sets.
  2. Renamed to the emoji.json name
  3. Minified using zopflipng

Then they can be put into a PR after they are:

  1. copied into the discourse repo
  2. updated emoji.json in our repo with what is present
  3. Increment emoji version

(It’s a lot of work but all the tools are there)