Color emoji SVGinOT font using Twitter Unicode 9.0 emoji with diversity and country flags. Linux/MacOS/Windows
Makefile Shell
Latest commit 086e9a7 Sep 22, 2016 @eosrei svg: twemoji v2.2 - Gender equal & new professions
upstream: twitter/twemoji@6060723

Note from upstream:
Includes additions to address gender equality, expanded professions,
increased skin tone support, family representations, and minor
modifications to some existing emojis.

Many of the additions included are based on the [Emoji 4.0 draft
spec](http://unicode.org/reports/tr51/proposed.html) and are subject to
change prior to ratification.

README.md

Twitter Color Emoji SVGinOT Font

A color and B&W emoji SVGinOT font built from the Twitter Emoji for Everyone artwork with support for ZWJ, skin tone diversity and country flags.

The font works in all operating systems, but will currently only show color emoji in Firefox, Thunderbird and other Mozilla Gecko-based applications. This is not a limitation of the font, but of the operating systems and applications. Regular B&W outline emoji are included for backwards/fallback compatibility.

Do you prefer EmojiOne graphics?

Table of Contents

Examples

Demo in Firefox on Linux. Firefox color emoji in Linux

What is SVGinOT?

SVG in Open Type is a standard by Adobe and Mozilla for color OpenType and Open Font Format fonts. It allows font creators to embed complete SVG files within a font enabling full color and even animations. There are more details in the SVGinOT proposal and the OpenType SVG table specifications.

SVGinOT Font demos (Firefox only):

Install on Linux

The font can be installed for a user or system-wide. Get the latest version from releases: https://github.com/eosrei/twemoji-color-font/releases

Note: This requires Bitstream Vera is installed and will change your systems default serif, sans-serif and monospace fonts.

Why Bitstream Vera

The default serif, sans-serif and monospace font for most Linux distributions is DejaVu. DejaVu includes a wide range of symbols which override the EmojiOne Color characters. The previous solution was to make EmojiOne Color the default system font, but that causes a number of issues. A better solution is a different font that doesn't override any emoji characters such as Bitstream Vera. Bitstream Vera is the source of the glyphs used in DejaVu, so it's not very different. 99%+ of people will not notice the difference.

Additional default font options

The Noto and Roboto font families conflict far less than DejaVu. You may want to try them. Primary issues are the 0x2639 and 0x263a characters.

Known issues

Manual install on any Linux

Install for the current user without root:

# 1. Download the latest version
wget https://github.com/eosrei/twemoji-color-font/releases/download/v1.1/TwitterColorEmoji-SVGinOT-Linux-1.1.tar.gz
# 2. Uncompress the file
tar zxf TwitterColorEmoji-SVGinOT-Linux-1.1.tar.gz
# 3. Run the installer
cd TwitterColorEmoji-SVGinOT-Linux-1.1
./install.sh

Install on Ubuntu Linux

Launchpad PPA: https://launchpad.net/~eosrei/+archive/ubuntu/fonts

sudo apt-add-repository ppa:eosrei/fonts
sudo apt-get update
sudo apt-get install fonts-twemoji-svginot

Install on Arch Linux

AUR package: https://aur.archlinux.org/packages/twemoji-color-font/

yaourt -S twemoji-color-font

Install on Gentoo Linux

Gentoo repository: https://github.com/jorgicio/jorgicio-gentoo

# Install layman using Portage with USE="git" enabled, the default.
emerge layman
# Add the repo.
layman -s jorgicio
# Install the package.
emerge twemoji-color-font

Install on OS X

Both SVGinOT versions are available from releases: https://github.com/eosrei/twemoji-color-font/releases

  1. TwitterColorEmoji-SVGinOT-1.1.zip - The regular version of the font installs like any other font and can be specifically selected, but OS X will default to the Apple Color Emoji font for emojis.
  2. TwitterColorEmoji-SVGinOT-OSX-1.1.zip - A hack to replace the Apple Color Emoji font by using the same internal name. Install and accept the warning in Font Book.

A Homebrew package is available.

# Tap the caskroom/fonts keg, if needed.
brew tap caskroom/fonts
# Install the font using brew
brew cask install font-twitter-emoji-color

Reiterating: Only FireFox supports the SVGinOT color emoji for now. Safari and Chrome will use the fallback black and white emoji.

Install on Windows

The font installs like any other font and can be specifically selected, but the system will default to the Segoe UI Emoji font.

It can be manually selected in CSS, but making it the default is still TBD.

Building

Overview:

  1. B&W SVGs are generated on-the-fly from the color SVGs
  2. The B&W SVGs are imported based on their filename to create either regular glyphs or ligature glyphs.
  3. The color SVGs are imported to override both types of glyphs.

Requires:

  • Inkscape
  • Imagemagick
  • potrace/mkbitmap
  • FontTools 3.0+
  • FontForge 20160405+
  • SVGO
  • make
  • SCFBuild (Created for this project!)

Setup and build on Ubuntu 14.04 LTS:

sudo add-apt-repository ppa:fontforge/fontforge
sudo apt-get update
sudo apt-get install inkscape potrace npm nodejs nodejs-legacy fontforge \
python-fontforge python-pip imagemagick git make
sudo npm install -g svgo
sudo pip install fonttools
git clone https://github.com/eosrei/twemoji-color-font.git
cd twemoji-color-font
git clone https://github.com/eosrei/scfbuild.git SCFBuild
make -j 4

License

The artwork and TTF fonts are licensed CC-BY-4.0. Please see LICENSE.md for details.