Make Emoji Work in Linux

Noah Petherbridge
kirsle
Posted by Noah Petherbridge on Thursday, April 04 2013 @ 09:31:49 AM
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...

Categories:

[ Blog ]

Comments

There are 17 comments on this page.

guest
guest
Posted on Saturday, May 04 2013 @ 02:40:55 AM by James.

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

Avatar
kirsle
Posted on Saturday, May 11 2013 @ 10:31:00 PM by Noah Petherbridge.

Corrected in the original post. Thanks! :)

guest
guest
Posted on Monday, July 01 2013 @ 09:55:34 PM by joshu.

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.

guest
guest
Posted on Saturday, November 16 2013 @ 11:22:19 AM by Niesjejjh.

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
guest
Posted on Thursday, December 26 2013 @ 01:52:13 AM by Liz Mills.

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

guest
guest
Posted on Friday, February 28 2014 @ 03:10:56 PM by Ned.

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

Thank you Kirsle :)

guest
guest
Posted on Friday, March 21 2014 @ 08:26:30 AM by Beau.

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

Avatar
guest
Posted on Wednesday, June 04 2014 @ 12:02:10 PM by riking.

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
guest
Posted on Monday, June 23 2014 @ 08:45:14 AM by Jim.

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
guest
Posted on Monday, June 30 2014 @ 04:51:29 AM by fox.

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
guest
Posted on Thursday, October 23 2014 @ 06:05:32 AM by Vincent Petry.

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

guest
guest
Posted on Tuesday, March 24 2015 @ 12:08:43 PM by Anonymous.

πŸ’ 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
kirsle
Posted on Tuesday, March 24 2015 @ 12:52:38 PM by Noah Petherbridge.

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.

guest
guest
Posted on Saturday, April 04 2015 @ 08:22:36 AM by Anonymous.

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 :)

guest
guest
Posted on Sunday, May 17 2015 @ 12:52:54 PM by Bodo.

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

emerge symbola

or

cave resolve symbola -x

for portage and paludis respectively.

guest
guest
Posted on Monday, June 01 2015 @ 08:45:33 AM by Andrew.

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).

guest
guest
Posted on Sunday, August 02 2015 @ 06:10:18 PM by trlkly.

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.

Add a Comment

Your name:
Your Email:
Message:
Comments can be formatted with Markdown, and you can use
emoticons in your comment.

If you can see this, don't touch the following fields.



Kirsle
Channels
Creativity
Software
Web Tools
Subdomains
Miscellany
Links


Fan Club