5

I am trying to find a suitable font that contains the Unicode Emoticon set.

When an iPhone user sends me some emoticons over Google Hangouts they render either incorrectly or not at all.

The problem can be seen from the following screenshot from this Wikipedia page:

Emoticon set Human diversity emoji

As you can see the Diversity emoticons are particularly problematic.

iPhone users can simply pick a "colour" (skin colour) and that's them done. Apparently the font used on the iPhone is Helvetica.

Those of us with Linux (in my case Ubuntu and Android) are stuck with an emoticon and an undefined symbol: Unrendered modifier glyph. The second glyph is supposed to modify the colour of the first glyph.

Obviously, this is because the font does not have the required glyph.

Now, I have been Googling around for a few hours and read a few pages, some of which pointing here, and there has been no solution at all. This includes all of the answers across the StackExchange network. Perhaps I'm asking the wrong question.

I have tried:

  • Symbola
  • Symbola706
  • CODE2001
  • CODE2002
  • xfonts-wqy
  • ttf-unifont
  • fonts-linuxlibertine
  • Open Sans Emoji
  • EmojiSymbols
  • Helvetica (though I can't remember where I downloaded it from)
  • Google Noto

None of them work. Either they are still missing the required symbols, they're missing all emoticon symbols despite claiming otherwise, they simply don't work, they don't show up as an option to select in Chrome (no idea why) or I simply can't make sense of them.

This page lists the symbols for "Google" as missing. I assume it means Android as I am receiving the message from an iPhone running the Google Hangouts app.

So, has anyone found a font that contains all the required symbols?

6
  • I am almost 100% certain that these unicode font items aren't going to be completely available for all environments, Chrome, Touch, Android, etc. included. (This is why emojis are discouraged in emails and such)
    – Thomas Ward
    Feb 19, 2016 at 1:25
  • Your best bet would be the fonts-noto package. On Arch Linux, I use the extra/noto-fonts-emoji package - both are derived from the same source, the Google Noto fonts, the font used in Android. The aim is coverage of as many glyphs as possible. See i.stack.imgur.com/tFggb.png (yes, it's lacking colour support).
    – muru
    Feb 19, 2016 at 1:35
  • Noto Color Emoji from google.com/get/noto/#emoji-qaae-color provides the fonts I already see. That and the monochrome version seems to be the only emoji fonts that Google Fonts provides. Oh well, I shall continue looking.
    – Ken Sharp
    Feb 20, 2016 at 22:14
  • Are you saying you're still seeing just boxes after installing Noto?
    – muru
    Feb 20, 2016 at 23:09
  • Yeah I don't know why. I really don't understand what's going on. I've updated the font cache but.... sigh
    – Ken Sharp
    Feb 21, 2016 at 0:05

3 Answers 3

3

Noto Color Emoji from google.com/get/noto/#emoji-qaae-color is only usable in Android. On Windows, that font will not install (it is considered broken.invalid), because the Windows text renderers do not support colors in fonts. To display those colorful emojis, you'll need a plugin in your browser that will substitute SVG images (if the browser supports SVG), otherwise a scaled down bitmap (scaled bitmaps can be rescaled in HTML with simple CSS, on browsers that support zoom in CSS, or geometric transforms in the Canvas, so that the image will render at the expected font-size).

However I have no problem at all displaying all emojis listed in the Unicode charts on Wikipedia with my browser (Chrome on Windows 10).

But it's true that I have installed the FULL Noto font collection (except the Color Emojis font that Windows does not want), and even made it the default in my browser (because it has coherent metrics across all scripts) and supports almost all of them, many with various styles, and most of them are well hinted.

"Noto" is a fabulous collection of free fonts (with a free licence). Its development continues as Google wants it for Android in all languages of the world. Things are regularly updated to fix minor quirks. It is intended to cover all characters standardized in the Unicode/ISO 10646 repertoire.

"Robo" was an initial "fast" fallback collection created with less care but that provided missing characters for the huge ideographic scripts. But its design was not so careful. Progressively, characters are integrated to Noto and removed from the Robo collection. Also Robo exists in only one style (for other styles such as bold and italic, the text renderer of the browser will synthesize them, notably in Chrome, but italics may be too much slanted, and strokes may collide ungracefully in complex scripts with many strokes such as sinograms: there's no such problem with Noto that even provides 6 font-weights for CJK sinograms). So, use it only as a fallback for those that have old versions of Noto in CSS like as following: font-family:Noto,Robo,sans-serif;

That's all what is needed (you don't need more fonts, the last fallback to sans-serif allows getting access to some OS-specific fonts that would be present for implementing characters not found in Noto and not even in early versions of Robo when using early versions of Noto).

I really love Noto. Thanks to Google for making it fully open-sourced (and to all those that have contributed to extend it and fix quirks in complex scripts). It's definitely a huge improvement compared to what Microsoft did in the past (but only for Windows, and still with many mis-matching across world scripts).

3
sudo apt-get update
sudo apt-get install ttf-ancient-fonts

That fixed it for me on Ubuntu 14.04.

1

It turns out that my version of Ubuntu (14.04) predates the relevant Unicode standards. Ubuntu 16.04, for example, includes updated Unicode packages.

After installing fonts-symbola the emoticons are shown.

Emoticons

Human emoji

There are still issues with the colour modifiers but I'm hoping that this will be resolved in a later release. fonts-symbola is not available in the repositories until Ubuntu 16.04 (Xenial).

1
  • In Ubuntu 18.04 the colour modifiers work correctly. From testing I find that U+FE0E (render as text) and U+FE0F (render as emoji) have no effect and the system simply does as it pleases (varying between the two with different characters). Perhaps we'll see this fixed in the next version!
    – Ken Sharp
    Jun 19, 2019 at 20:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .