Kirsle.net logo Kirsle.net

Make Emoji Work in Linux

April 4, 2013 by Noah
I've discovered how to get the full range of Emoji icons to render on Linux systems.

tl;dr. - Just install the Symbola font (the link on the right half of this page: Unicode Fonts for Ancient Scripts) into your /usr/share/fonts or ~/.fonts folders. Ubuntu users can sudo apt-get install ttf-ancient-fonts. For Fedora users, you can yum install gdouros-symbola-fonts (thanks James in the comments for correcting the spelling. I typed this command for the blog instead of copying/pasting from my terminal. ;)).


I ranted about the poor Emoji support in non-Apple systems before, then updated the post with screenshots showing exactly how various users will see (or not) your Emoji icons, but I got curious again to figure out what can be done to make Linux support them.

I heard (inaccurately) that Ubuntu should support them (in actuality, the person I heard this from had installed the Symbola font, so he could see Emojicons, but the default Ubuntu user can't). I also heard that it was up to the individual typefaces to include all the Emoji symbols, and if your chosen font doesn't include them, they don't render.

Testing the latter theory, I yanked the Segoe UI font from Windows 8, which is the default font, and I know that Windows 8 fully supports Emoji. This font in Linux though didn't render Emoji icons any better than all my other fonts did.

I heard about Symbola from a Google search, but the blog post I saw that mentioned it was talking specifically about how to use Emoji on your web pages... and it sounded like, "you embed Symbola.ttf using HTML5's new feature, and use that font family for each Emoji icon you want to include on your page... i.e. <span style="font-family: Symbola">emoji symbol here</span>.

Then a coworker mentioned that the typefaces don't need to include the Emoji icons, as long as font substitution is supported... so I was curious if Linux could do such a thing, so I simply dropped Symbola.ttf in my ~/.fonts folder, and within 2 seconds, all the unrenderable Emoji symbols I saw in my Pidgin chat logs suddenly transformed into the correct symbols like some kind of magic.

So, that's how you do it.

But now I'm curious about what kind of black magic Linux did to suddenly render these symbols. Maybe, when it finds an unrenderable symbol, it scans through the installed fonts until it finds one that provides that symbol...

Tags:

Comments

There are 20 comments on this page. Add yours.

Avatar image
James posted on May 4, 2013 @ 09:40 UTC

Just to correct you, the package name in Fedora is gdouros-symbola-fonts, not gdourus-symbola-fonts

Avatar image
Noah (@kirsle) posted on May 12, 2013 @ 05:31 UTC

Corrected in the original post. Thanks! :)

Avatar image
joshu posted on July 2, 2013 @ 04:55 UTC

Found this when searching for Emoji support for Linux โ€“ thanks for the tip!

But now I'm curious about what kind of black magic Linux did to suddenly render these symbols. Maybe, when it finds an unrenderable symbol, it scans through the installed fonts until it finds one that provides that symbol...

It does indeed โ€“ glyph substitution has been around in Linux for probably about 10 years if my memory serves me, and http://www.undermyhat.org/blog/2009/09/understanding-font-substitution-in-browsers/ indicates that itโ€™s been present in Firefox for at least 4.

Avatar image
Niesjejjh posted on November 16, 2013 @ 19:22 UTC

Thank you, With your help, I solved it this way in Linux Mint:

Download http://users.teilar.gr/~g1951d/Symbola.ttf , open it (with the GNOME font viewer), and install it.

Regards

Avatar image
Liz Mills posted on December 26, 2013 @ 09:52 UTC

Thank you for this help. After a friend told me about emoji I was searching for a way to do it (ie: a way that I could understand) on my Linux Mint 16 system. Following your advice, I found the font on users.teilar.gr, copied it into my ~/.fonts folder and saw all the symbols as if by magic.

Thank you, thank you xx

Avatar image
Ned posted on February 28, 2014 @ 23:10 UTC

For Ubuntu users: sudo apt-get install ttf-ancient-fonts

Thank you Kirsle :)

Avatar image
Beau posted on March 21, 2014 @ 15:26 UTC

thanks for the post... fixed firefox rendering issue of emoji in Ubuntu 12.04

Avatar image
riking posted on June 4, 2014 @ 19:02 UTC

I'm guessing that the font renderer had an inotify(7) open on the ~/.fonts folder, so when you put the file in it triggered a rescan which then cascaded to all your open applications using the system font renderer.

Avatar image
Jim posted on June 23, 2014 @ 15:45 UTC

Hi there. Thank you for sharing, it's nice to have emojis on Ubuntu. But I wonder, is there a convenient way to input them? I can't find any emoji on character map (Ubuntu 14.04).

For now, I copy paste them from iemoji.com

Cheers!

Avatar image
fox posted on June 30, 2014 @ 11:51 UTC

Hi there. Thank you for sharing, it's nice to have emojis on Ubuntu. But I wonder, is there a convenient way to input them? I can't find any emoji on character map (Ubuntu 14.04).

Hey, ibus-table-emoji (most likely comes with different name in Ubuntu) should help. Asians and scholars nowadays use iBus to type their characters on keyboards (which, as you may surmised, can't fit any meaningful number of those), and it should help with typing in any complex character set. You will have to replace default X's layout control with iBus system though.

Avatar image
Vincent Petry posted on October 23, 2014 @ 13:05 UTC

Not sure about ibus-table-emoji but it seems to only contain Asian emojis rendered using ASCII characters.

I personally use fcitx and the provided emojis are also only the Asian ones.

The tables can be extended manually, but would need to recompile the tables plugin.

Here's a tentative to get the unicode emojis merged into fcitx-table-other: https://github.com/fcitx/fcitx-table-other/pull/5

Avatar image
Anonymous posted on March 24, 2015 @ 19:08 UTC

๐Ÿ’ I have kitKat 4.4 and I see Google emojis and I want yo see them the way iPhone people do it would be wonderful if you could make a post about that. ๐Ÿ˜ƒ

Avatar image
Noah (@kirsle) posted on March 24, 2015 @ 19:52 UTC

Before Google's SMS apps (Hangouts and Messaging) supported emojis, I used Handcent SMS with an Emoji plugin that used the iOS icons. The down side is that last time I checked, Handcent SMS doesn't do well with Group SMS or other "advanced" features.

I don't know of any way to globally replace Android's icons so that all apps would use iOS icons. It would probably need root to do, if possible.

Avatar image
Anonymous posted on April 4, 2015 @ 15:22 UTC

I use Ubuntu 12.04 and I have install ttf-ancient-fonts, but still some of the emojis can't be read. are there any steps that I need to do after install it? and do you know how to get emoji for firefox so I can use it on twitter? thanks :)

Avatar image
Bodo posted on May 17, 2015 @ 19:52 UTC

On gentoo the package is simply called 'symbola'. So do:

emerge symbola

or

cave resolve symbola -x

for portage and paludis respectively.

Avatar image
Andrew posted on June 1, 2015 @ 15:45 UTC

Cheers; Emoji support on Linux has always frustrated me. Nice to know that installing Symbola and relying on glyph substitution makes this a pretty painless fix. Worked right away in Ubuntu 12.04; didn't even need to restart my browser (just reload a webpage). Thanks a bunch!

A quick Google shows that Arch Linux provides ttf-symbola in the official repositories so it should be similarly easy (sudo pacman -S ttf-symbola).

Avatar image
trlkly posted on August 3, 2015 @ 01:10 UTC

Segoe UI doesn't actually have the color emoji in it from Windows 8. They are stored in a separate file called Segoe UI Emoji.

I still don't know if they work in Linux, though.

Avatar image
Brad posted on June 11, 2016 @ 17:13 UTC

I've made a full color Unicode 9.0 emoji font for Linux. PPA, AUR, and Gentoo packages available. Details: https://github.com/eosrei/emojione-color-font Install in Ubuntu:

sudo apt-add-repository ppa:eosrei/fonts
sudo apt-get update
sudo apt-get install fonts-emojione-svginot
Avatar image
Nikรธ posted on March 9, 2017 @ 16:57 UTC

I've Ubuntu 12.04, but the repo eosrei doesn't work..

"W: Impossibile recuperare http://ppa.launchpad.net/eosrei/fonts/ubuntu/dists/precise/main/source/Sources 404 Not Found W: Impossibile recuperare http://ppa.launchpad.net/eosrei/fonts/ubuntu/dists/precise/main/binary-i386/Packages 404 Not Found E: Impossibile scaricare alcuni file di indice: saranno ignorati o verranno usati quelli vecchi."

How to fix??

Avatar image
mark johnson posted on November 1, 2018 @ 08:34 UTC

Positive site, where did u come up with the information on this posting?I have read a few of the articles on your website now, and I really like your style. Thanks a million and please keep up the effective work. emoticons text

Add a Comment

Used for your Gravatar and optional thread subscription. Privacy policy.
You may format your message using GitHub Flavored Markdown syntax.