Anyone having issues with Noto-color-emoji?

My emojis never worked. When displayed via a notification, they are white outlined, and often missing.

They are not the color emojis I wanted, and I have no idea how to change that.

Using various font editors I already looked throug the Unicode symbols, and “Emojis” are splattered all over.

I think core problems are:

  1. There is no “emoji” font you can set in KDEs settings
  2. You cant set “override fonts”, that only contain the emojis
  3. Noto-sans contains some weird emojis already

I saw some old Reddit (lol) threads, but they are all dead afaik.

Did you find a solution for that? The best would be to have seperate fonts for emojis and text, but I can imagine the only solution would be to merge any Emojis package with any font package. This looks pretty complicated, only trying to compile Apple color emojis failed for me for Error code 127.

Experiment

I set Apple color emojis as my main font.

  • Emoji Picker still as always showed Google Noto Color Emojis
  • The “copied” dialog in EmojiPicker used Apple Emojis!
  • The notifications, as well as Kate (native app) used these white outlined emojis

Also the downloadable .ttf font from the Github project seems to contain some monospace Font too, I think this should be possible to replace with Ubuntu, Noto Sans, Opensans and whatnot.

2 Likes

Not many apps offer support for OpenType’s color glyph, LibreOffice gained support for that just a couple of years ago, in version 6 or something, so I don’t think KDE font rendering support that yet.

The “emoji selector” show color emojis and allow you to copy them to the clipboard, but if you paste that into any KDE application they will show mono-crome. Maybe that app only show pictures of those glyphs instead of the “real thing”?

1 Like

Edit your ~/.config/fontconfig/fonts.conf (if it doesn’t exist, create it), to something like:

<?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>
   </prefer> 
 </alias>

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

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

hmm, I think its correct

<?xml version='1.0' encoding='UTF-8'?>
    <fontconfig>
     <alias>
      <family>serif</family>
      <prefer>
       <family>Noto Sans</family>
       <family>Noto Color Emoji</family>
      </prefer>
     </alias>
     <alias>
      <family>sans-serif</family>
      <prefer>
       <family>Noto Sans</family>
       <family>Noto Color Emoji</family>
      </prefer>
     </alias>
     <alias>
      <family>monospace</family>
      <prefer>
       <family>Noto Sans</family>
       <family>Noto Color Emoji</family>
      </prefer>
     </alias>
     <dir>~/.fonts</dir>
    </fontconfig>

I already got the idea, maybe the emoji display itself is broken? All fonts have emoji set as second default. I dont know if Noto Sans includes emojis, in that case it may not help.

Adding <family>Noto Color Emoji</family> to the end of each section of <family>...</family> like the examples above always worked for me… if I use a different emoji pack some of the icons wont be displayed properly, so I just stick to the default.
Also, it might happen that some Flatpak installed apps wont show emojis. In that case, a workaround I found is to copy the fontconfig to the (flatpak) config folder of a each individual app: cp -r ~/.config/fontconfig ~/.var/app/<app>/config/.
I’m on KDE Neon btw.

hm weird, I edited the config so that now its

<?xml version='1.0' encoding='UTF-8'?>
    <fontconfig>
     <alias>
      <family>serif</family>
      <prefer>
       <family>Noto Sans</family>
       <family>Noto Color Emoji</family>
       <family>Noto Emoji</family>
      </prefer>
     </alias>
     <alias>
      <family>sans-serif</family>
      <prefer>
       <family>Noto Sans</family>
       <family>Noto Color Emoji</family>
       <family>Noto Emoji</family>
      </prefer>
     </alias>
     <alias>
      <family>monospace</family>
      <prefer>
       <family>Noto Sans</family>
       <family>Noto Color Emoji</family>
       <family>Noto Emoji</family>
      </prefer>
     </alias>
     <dir>~/.fonts</dir>
    </fontconfig>

I dont know what “noto emoji” is but I have set that too. Its still the same. Some emojis somehow shown, but they are white. Actually pretty awesome emojis, but not in color.

Also running sudo fc-cache -f -v to reload the fonts didnt change anything, logging out and in also not.