Installing Inkscape from the repos breaks emojis in KDE

I installed Inkscape, without any optional dependencies, using Pamac GUI on Plasma and noticed that all emojis in KDE applications (Konsole, Kate, Emoji picker) display as missing character rectangles. They work in Firefox just fine. Uninstalling Inkscape did not help, emojis remain broken.

Thankfully, I use timeshift, so I restored a snapshot I took an hour earlier and emojis work fine. Installed Inkscape again, emojis broken again. Restored the snapshot again, since I like having emojis in the terminal emulator.

How strange is that?

I have Inkscape on my laptop, which I installed a few months ago, and emojis there work fine.


EDIT:

These are the dependencies that get installed with Inkscape:

gsl-2.6-1
gtkmm-1:2.24.5-3
gtkspell-2.0.16-7
libcdr-0.1.6-1
libmagick6-6.9.11.4-1
librevenge-0.0.4-2
libwpd-0.10.3-1
poppler-glib-0.87.0-1
potrace-1.16-1
python2-2.7.17-2
ttf-dejavu-2.37-2

I'm suspecting the last one, ttf-dejavu is the culprit. Maybe I should try installing only that, see if emojis are broken, and then restore the snapshot again, if so...


EDIT 2:

Yeah, that's the culprit: installing ttf-dejavu breaks emojis in KDE applications. Removing it fixes emojis, no need to restore the snapshot.

Now what? :thinking:

1 Like

Try to Install Inkscape again and remove ttf-dejavu afterwards using pacman so that pamac gui doesn't take Inkscape (and a whole load of other unrelated stuff) off again due to a bug with it?

If that's not possible, there's always the official Inkscape Snap as an option. It would be sandboxed and you wouldn't have to have ttf-dejavu actually installed on your system to use it.

BTW lots of mainstream things depend on it .. like steam and firefox.
But of course that means different things to everyone.

I mean .. sure .. just for testing purposes you could

sudo pacman -Rndd ttf-dejavu

OR if starting from beginning

sudo pacman -S inkscape --assume-installed ttf-dejavu

..And for what its worth it seemed to work for me

PS - Citation:

$ man pacman

  -d, --nodeps
      Skips dependency version checks. Package names are still checked. Normally,
      pacman will always check a package’s dependency fields to ensure that all
      dependencies are installed and there are no package conflicts in the system.
      Specify this option twice to skip all dependency checks.

  --assume-installed <package=version>
      Add a virtual package "package" with version "version" to the transaction to
      satisfy dependencies. This allows to disable specific dependency checks without
      affecting all dependency checks. To disable all dependency checking, see the
      --nodeps option.

Even if I could make it work (which I'll try, just for testing purposes) the question remains: why does installing this package (which is a dependency of so many software) break emojis in KDE, is this normal behaviour?

If the answer is not, then avoiding installing that package (especially since "lot's of mainstream things depend on it") and trying to trick other software not to use it is obviously missing the point.

Are you sure Firefox depends on it? Because I use Firefox. I looked at Firefox dependencies and I could not find it. I did find some other font packages (like noto fonts), but not ttf-dejavu.

Btw, installing steam-manjaro does not break emojis in KDE.

my output is (slightly trimmed):

$ pacman -Qi ttf-dejavu
Name            : ttf-dejavu
Version         : 2.37-2
Description     : Font family based on the Bitstream Vera Fonts with a wider range of
                  characters
Architecture    : any
URL             : https://dejavu-fonts.github.io/
Licenses        : custom
Groups          : None
Provides        : ttf-font
Depends On      : fontconfig  xorg-fonts-encodings  xorg-mkfontscale  xorg-mkfontdir
Optional Deps   : None
Required By     : firefox  inkscape  onlyoffice-bin  steam-manjaro  thunderbird

Then we are probably looking at the wrong clue, because installing Firefox and Steam does not break emojis in KDE.


EDIT: just looked at pactree for Steam and Firefox, they need ttf-fonts which, I assume, can be provided by ttf-dejavu or some other package (in my case noto-fonts).

~$ pactree steam-manjaro | grep ttf
├─noto-fonts provides ttf-font
~$ pactree firefox | grep ttf
├─noto-fonts provides ttf-font

@cscs, if you could please run pactree firefox | grep ttf, do you get ttf-dejavu provides ttf-font as a result?

Oh hm. Yeah I just tried again .. and it looks like the way Qi is reporting 'required by' is that it is one of possible deps .. I have noto installed as well.

On my laptop (where I don't have this issue) if I sudo pacman -Rdd ttf-dejavu and then sudo pacman -S ttf-dejavu nothing changes, emojis still work in KDE applications. So it is not simply that installing ttf-dejavu breaks emojis, at least not in every case.

So the question remains: why does installing ttf-dejavu on this desktop computer break emojis in KDE? How can I discover the difference between these two superficially identical situations?

The only thing comes to mind is the fact I installed Manjaro on my laptop quite a while ago, while on this computer, it was only recently.

That shouldn't make a difference with a rolling distribution but you never know. I know some people see snaps as the root of all evil but I can definitely see a usage case here, plus you aren't waiting for arch packagers to catch up with Inkscape upstream when new versions are released.

As for snaps, my main objection against using them is that, according on my experience, they are quite slow to update to the latest version of the application. Flatpak is way more faster to deliver up-to-date programs. Since we use a rolling distro, I guess most users do prefer to receive upstream releases faster, which flatpak usually manages to do without a huge delay like snap does.

Apparently ttf-dejavu has some kind of built-in emoji support, which can cause issues if the font has higher priority in the system over other fonts. I guess that this has to be addressed using fontconfig.

There is even a bug report about this issue that could possibly (?) explain the problem on your end:
https://bugs.freedesktop.org/show_bug.cgi?id=108978

The bug report mentions a package called ttf-dejavu-emojiless which can be found in the AUR and has the description:

In case you're in a testing mood and before messing with fontconfig, you can give this package a try.

  • Install Inkscape (ttf-dejavu will be installed also)
  • Install ttf-dejavu-emojiless from the AUR replacing ttf-dejavu and see if that makes a difference regarding emojis.

Another option would be using fontconfig to customize the fonts.
Create the file ~/.config/fontconfig/fonts.conf and use this content for it as an example:

<?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>

After that run fc-cache -vf and test the emoji support in the applications you mentioned.

You might want to read on fontconfig at the Arch Wiki for making adjustments in the above example:
https://wiki.archlinux.org/index.php/Font_configuration

3 Likes

Personally I would rather run Windows than snapd.

My goal with this thread is not to get Inkscape running at every cost, to trick it into ignoring dependencies, use a statically linked package or anything of the sort.

I'm interested in getting to understand this rather strange issue to the point I can solve it properly (that is, install from the repos and have the program working without any negative effects), or make a proper bug report for the upstream (if that's really the case, I don't know).

I am also interested in discovering the differences between this computer and my laptop. Both are maintained in exactly the same way, and I have not done anything special when installing Inkscape on the laptop.

I have Inkscape 0.92.4 running in KDE.
ttf-dejavu : 2.37-2
Emoji-picker is largely intact with just icons 6 missing: pepper, mousetrap, conga drum, Russian dolls, flip flop, lift. All replaced with rectangles as you describe.

edit: desktop

Thanks for the info. Fascinating stuff. On closer inspection, I am missing the exact emojis on my laptop, too. All other work fine (also on ttf-dejavu 2.37-2, and inkscape 0.92.4, which are the current versions in the stable repos). On this desktop, where at present I don't have ttf-dejavu installed, the same emojis are missing, too.

So I'm guessing this is the "normal" behaviour". Perhaps these emojis are simply missing in the Noto font.

However, if I install ttf-dejavu on the desktop, all of the emojis are missing (but only in KDE applications, not in the web browser). I'm trying to figure out why that happens (and why is it not a problem on the laptop).

Now here's a weird thing.
Just tried to add emoji to your last post - the emoji choice comes up empty - just a greyed out square.

I don't use emojis often so I hadn't noticed this before.

Yeah, coincidentally, emojis reactions have been broken on the forum for couple of days now. Some plugin for the forum software got messed up on the server due to an update.

It is unrelated to this issue, but a funny coincidence.

2 Likes

I made an interesting discovery. I was going through the list of installed packages on the desktop computer where I'm having this issue and the laptop, where the issue does not exist and I noticed I have ttf-ms-fonts from the AUR installed on the desktop.

So I installed it on the laptop, logged out and logged back in, and what do you know, all emojis broke, in the exact same way as on the desktop. So I removed ttf-ms-fonts from both the laptop and the desktop and installed Inkscape (and ttf-dejavu with it, as a dependency) on the desktop.

And something even stranger happened: now most of the emojis work, but some are monochrome and some are in colour.

So it seems that the combination of ttf-ms-fonts from the AUR and ttf-dejavu causes complete breakage of emojis (if someone could test this, that'd be great!), but ttf-dejavu breaks only some of them in some other circumstance.

This is quite a tangled mess :smiley:

1 Like

I face the same problem with the package mathjax2.
But some emojis are monochrome even on the fresh downloaded stable image.
A temporary solution is appeared there before, but without any fixes, on clear OS image, it will be a problem for newbies.

I have the same problem. I don't have inkspace, I don't have ttf-dejavu. This is a fresh install of manjaro. Emoji Picker broke sometime after installing the extra programs I use which are : jack2, musescore, cadence, ardour and steam + dota2.
What I find weird is that they "work" in the sense that if I click and paste : :grinning::smiley::smile::grin::laughing::sweat_smile: :cloud_with_rain: it outputs emojis in color, but the Emoji Picker show only empty rectangles and a few monochrome emojis.

Forum kindly sponsored by