Enable colour emoji support on Arch Linux

This tutorial should work for Arch Linux and its derivatives like Manjaro Linux. If you install an emoji font from somewhere else, the activation step should work on other distributions as well.

Install an emoji font

First, a new font needs to be installed which only includes colourful emojis. If the font contains other characters, it will show these instead of our preferred system font.

I suggest the open Noto font by Google which is also used on Android. The package noto-fonts-emoji includes only the emojis of this font.

sudo pacman -S noto-fonts-emoji

Make the system favour the emoji font

Whenever an emoji character is supposed to be displayed, we need the system our freshly installed emoji font. To do this, we will add a custom font configuration to ~/.config/fontconfig/fonts.conf. You may need to create the fontconfig folder and fonts.conf inside.

If you prefer all users on the system to use these fonts, paste this configurations into /etc/fonts/local.conf.

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
 <alias>
   <family>sans-serif</family>
   <prefer>
     <family>Noto Sans</family>
     <family>Noto Color Emoji</family>
     <family>Noto Emoji</family>
     <family>DejaVu Sans</family>
   </prefer> 
 </alias>

 <alias>
   <family>serif</family>
   <prefer>
     <family>Noto Serif</family>
     <family>Noto Color Emoji</family>
     <family>Noto Emoji</family>
     <family>DejaVu Serif</family>
   </prefer>
 </alias>

 <alias>
  <family>monospace</family>
  <prefer>
    <family>Noto Mono</family>
    <family>Noto Color Emoji</family>
    <family>Noto Emoji</family>
   </prefer>
 </alias>
</fontconfig>

To apply these changes, log out from your current user and log in again.

Testing area

Here are some emojis to test your new setup:

  • 🙂 smile
  • 🇨🇦 Canada flag (if your font does not support the flag, this may show up as CA)
  • Pride flag (part of Emoji 4.0; if your font does not support the flag, this may show up as a white flag and a rainbow)
  • 🤩 Star-Struck (part of Emoji 5.0)
  • 🥳 Party head (part of Emoji 11.0)
  • 🦮 Guide Dog (part of Emoji 12.0)

Acknowledgement

This article has been written by me after reading the Tutorial: How to enable system-wide color emoji support by the Manjaro Forum user gabrc52.