Skip to content

Instantly share code, notes, and snippets.

@SohamG
Last active March 13, 2024 13:09
Show Gist options
  • Star 44 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save SohamG/6b8830cc08a22bc5bc24c76ef799510a to your computer and use it in GitHub Desktop.
Save SohamG/6b8830cc08a22bc5bc24c76ef799510a to your computer and use it in GitHub Desktop.
Fix emoji in Linux and get color emoji in Discord! Place this fontconfig file in ~/.config/fontconfig/fonts.conf
<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- REQUIRES Noto fonts (along with Noto Color Emoji)
run `fc-list | grep -i -e "noto sans" -e "noto serif" -e "noto color emoji"` to confirm
-->
<!-- Change the string in the family tag to whatever font -->
<family>serif</family>
<prefer><family>Noto Serif</family></prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer><family>Noto Sans</family></prefer>
</alias>
<alias>
<family>sans</family>
<prefer><family>Noto Sans</family></prefer>
</alias>
<alias>
<family>monospace</family>
<prefer><family>Noto Mono</family></prefer>
</alias>
<!-- This adds Noto Color Emoji to the font families sans, serif, sans-serif and monospace -->
<match target="pattern">
<test name="family"><string>monospace</string></test>
<edit name="family" mode="append"><string>Noto Color Emoji</string></edit>
</match>
<match target="pattern">
<test name="family"><string>sans</string></test>
<edit name="family" mode="append"><string>Noto Color Emoji</string></edit>
</match>
<match target="pattern">
<test name="family"><string>serif</string></test>
<edit name="family" mode="append"><string>Noto Color Emoji</string></edit>
</match>
<!-- Discord loads the system's sans-serif font family, add Noto Color Emoji to it -->
<match target="pattern">
<test name="family"><string>sans-serif</string></test>
<edit name="family" mode="append"><string>Noto Color Emoji</string></edit>
</match>
<!-- Add emoji generic family -->
<alias binding="strong">
<family>emoji</family>
<default><family>Noto Color Emoji</family></default>
</alias>
<!-- Alias requests for the other emoji fonts -->
<alias binding="strong">
<family>Apple Color Emoji</family>
<prefer><family>Noto Color Emoji</family></prefer>
<default><family>emoji</family></default>
</alias>
<alias binding="strong">
<family>Segoe UI Emoji</family>
<prefer><family>Noto Color Emoji</family></prefer>
<default><family>emoji</family></default>
</alias>
<!-- Run "fc-cache -fv" after saving the file and kill and restart whichever app (like discord) and enjoy emoji -->
</fontconfig>
@joellidin
Copy link

joellidin commented May 25, 2021

Unfortunately, this does not work for me. Previously it worked when I used Snap and changed the font config in a ~/snap/discord folder. But as of today, because I needed to update discord, I had to install Discord with the deb file. Now when adding this to the default font config, it won't work. Does anyone have any suggestions?

@Brin-o
Copy link

Brin-o commented May 25, 2021

@joellidin did you edit the font config in ~/.config/fontconfig/fonts.conf ?

I'm on the new version of Discord today as and it works for me with the font config file thats provided above.

The file is not created by default so you might need to make it. Otherwise, do you have noto-sans-emoji installed?

@joellidin
Copy link

Yeah, this is really embarrassing, but I noticed I accidentally had used font.conf instead of fonts.conf...

@MatveyM11
Copy link

Thanks!

@Akitakek
Copy link

This should be default for all discord installs honestly, sooo much better.
Thanks for your work, spread the word around to fellow linux users!

@shiggitay
Copy link

I just reinstalled Void Linux on my rig here and I was having the stupid boxy issue in Discord channel names. Installing a crapton of unicode emoji fonts as well as placing this fonts.conf file into ~/.config/fontsconfig/ fixed the issue for me! Thanks for posting it!

@Jojodicus
Copy link

Jojodicus commented Feb 15, 2022

missing <alias> between line 7 and 8

@SohamG
Copy link
Author

SohamG commented Feb 15, 2022 via email

@Shijikori
Copy link

there's a <alias> beacon missing between line 7 & 8 in the current revision.

Thanks a lot for the snippet. I've been using for quite a while :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment