Missing glyphs, problem with font fallback

So recently I have noticed this issue where my TW install is not able to show some emojis anymore.

I must have something broken, because on a VM with the ~same snapshot as my system, the behavior is the expected one.

The context is the following:

  • install Inter (zypper in inter-fonts)
  • set Inter Display as the UI font via KDE’s Font settings
  • open the KDE emoji picker (Meta + .)
  • start typing/search “penguin”
  • click on the emoji and check the notification that appears to inform it’s been copied to the clipboard

On my system, I see “[gibberish] copied to the clipboard”:

image

On the VM, I see “[emoji rendered correctly] copied to the clipboard”

image

My system is on 20240427 while the VM is on 20240428

They are both running Plasma 6.0.4 and frameworks 6.1.0, Qt 6.7.0, and the session is Wayland for both.

I’m sure that this used to work on my PC, but I thought that the KDE6 release has broken some font fallback, whereas now it seems that some config is broken on my install only, since on the VM I get the expected behavior (same on Fedora 40, BTW).

Any ideas?

Thanks :slight_smile:

P.S. the Noto Color Emoji font is of course installed on my system (as it is on the VM)

I created a test user on my install and it works fine.

So now the problem is down to my user config.

While I keep investigating on my own, if anyone’s aware of any per-user font preferences, please let me know :slight_smile:

Thanks

Problem solved, I’m copy-pasting the process from my post in the KDE Matrix room:

Well I finally figured out, the problem was coming from one of the fonts I had installed at user level (~/.fonts)

I came to this conclusion after using konsave to save my current KDE config files and applying them to the “test” user, and the test user started exhibiting the same problem immediately

I then progressively removed items from the konsave backup until nothing font specific was left in terms of config files, at this point I created a new test user, restored the konsave backup expecting that this time the issue would not come back, since no font specific config would be restored.

And yet, to my surprise, the issue came back!

So I started looking at what else konsave could be backing up that would break the test user as well, and the only thing that made sense were the user fonts themselves

So I went back to my day-to-day user session and immediately trashed my ~/.fonts folder, and the issue was instantly GONE

This proved that my intuition was correct. At that point even without a test user on my system, I could just bisect the list of user installed fonts and remove them half at a time until I found the offenders, and I came up with a list of fonts that, if present under ~/.fonts, will cause the issue.

Here it is:

Mark_Simonson___Proxima_Nova_Alt_Black_Italic.otf
Mark_Simonson___Proxima_Nova_Alt_Black.otf
Mark_Simonson___Proxima_Nova_Alt_Bold_Italic.otf
Mark_Simonson___Proxima_Nova_Alt_Bold.otf
Mark_Simonson___Proxima_Nova_Alt_Condensed_Black_Italic.otf
Mark_Simonson___Proxima_Nova_Alt_Condensed_Black.otf
Mark_Simonson___Proxima_Nova_Alt_Condensed_Bold_Italic.otf
Mark_Simonson___Proxima_Nova_Alt_Condensed_Bold.otf
Mark_Simonson___Proxima_Nova_Alt_Condensed_Extrabold_Italic.otf
Mark_Simonson___Proxima_Nova_Alt_Condensed_Extrabold.otf
Mark_Simonson___Proxima_Nova_Alt_Condensed_Light_Italic.otf
Mark_Simonson___Proxima_Nova_Alt_Condensed_Light.otf
Mark_Simonson___Proxima_Nova_Alt_Condensed_Regular_Italic.otf
Mark_Simonson___Proxima_Nova_Alt_Condensed_Regular.otf
Mark_Simonson___Proxima_Nova_Alt_Condensed_Semibold_Italic.otf
Mark_Simonson___Proxima_Nova_Alt_Condensed_Semibold.otf
Mark_Simonson___Proxima_Nova_Alt_Condensed_Thin_Italic.otf
Mark_Simonson___Proxima_Nova_Alt_Condensed_Thin.otf
Mark_Simonson___Proxima_Nova_Alt_Extrabold_Italic.otf
Mark_Simonson___Proxima_Nova_Alt_Extrabold.otf
Mark_Simonson___Proxima_Nova_Alt_Extra_Condensed_Black_Italic.otf
Mark_Simonson___Proxima_Nova_Alt_Extra_Condensed_Black.otf
Mark_Simonson___Proxima_Nova_Alt_Extra_Condensed_Bold_Italic.otf
Mark_Simonson___Proxima_Nova_Alt_Extra_Condensed_Bold.otf
Mark_Simonson___Proxima_Nova_Alt_Extra_Condensed_Extrabold_Italic.otf
Mark_Simonson___Proxima_Nova_Alt_Extra_Condensed_Extrabold.otf
Mark_Simonson___Proxima_Nova_Alt_Extra_Condensed_Light_Italic.otf
Mark_Simonson___Proxima_Nova_Alt_Extra_Condensed_Light.otf
Mark_Simonson___Proxima_Nova_Alt_Extra_Condensed_Regular_Italic.otf
Mark_Simonson___Proxima_Nova_Alt_Extra_Condensed_Regular.otf
Mark_Simonson___Proxima_Nova_Alt_Extra_Condensed_Semibold_Italic.otf
Mark_Simonson___Proxima_Nova_Alt_Extra_Condensed_Semibold.otf
Mark_Simonson___Proxima_Nova_Alt_Extra_Condensed_Thin_Italic.otf
Mark_Simonson___Proxima_Nova_Alt_Extra_Condensed_Thin.otf
Mark_Simonson___Proxima_Nova_Alt_Light_Italic.otf
Mark_Simonson___Proxima_Nova_Alt_Light.otf
Mark_Simonson___Proxima_Nova_Alt_Regular_Italic.otf
Mark_Simonson___Proxima_Nova_Alt_Regular.otf
Mark_Simonson___Proxima_Nova_Alt_Semibold_Italic.otf
Mark_Simonson___Proxima_Nova_Alt_Semibold.otf
Mark_Simonson___Proxima_Nova_Alt_Thin_Italic.otf
Mark_Simonson___Proxima_Nova_Alt_Thin.otf
Mark_Simonson___Proxima_Nova_Black_Italic.otf
Mark_Simonson___Proxima_Nova_Black.otf
Mark_Simonson___Proxima_Nova_Bold_Italic.otf
Mark_Simonson___Proxima_Nova_Bold.otf
Mark_Simonson___Proxima_Nova_Condensed_Black_Italic.otf
Mark_Simonson___Proxima_Nova_Condensed_Black.otf
Mark_Simonson___Proxima_Nova_Condensed_Bold_Italic.otf
Mark_Simonson___Proxima_Nova_Condensed_Bold.otf
Mark_Simonson___Proxima_Nova_Condensed_Extrabold_Italic.otf
Mark_Simonson___Proxima_Nova_Condensed_Extrabold.otf
Mark_Simonson___Proxima_Nova_Condensed_Light_Italic.otf
Mark_Simonson___Proxima_Nova_Condensed_Light.otf
Mark_Simonson___Proxima_Nova_Condensed_Regular_Italic.otf
Mark_Simonson___Proxima_Nova_Condensed_Regular.otf
Mark_Simonson___Proxima_Nova_Condensed_Semibold_Italic.otf
Mark_Simonson___Proxima_Nova_Condensed_Semibold.otf
Mark_Simonson___Proxima_Nova_Condensed_Thin_Italic.otf
Mark_Simonson___Proxima_Nova_Condensed_Thin.otf
Mark_Simonson___Proxima_Nova_Extrabold_Italic.otf
Mark_Simonson___Proxima_Nova_Extrabold.otf
Mark_Simonson___Proxima_Nova_Extra_Condensed_Black_Italic.otf
Mark_Simonson___Proxima_Nova_Extra_Condensed_Black.otf
Mark_Simonson___Proxima_Nova_Extra_Condensed_Bold_Italic.otf
Mark_Simonson___Proxima_Nova_Extra_Condensed_Bold.otf
Mark_Simonson___Proxima_Nova_Extra_Condensed_Extrabold_Italic.otf
Mark_Simonson___Proxima_Nova_Extra_Condensed_Extrabold.otf
Mark_Simonson___Proxima_Nova_Extra_Condensed_Light_Italic.otf
Mark_Simonson___Proxima_Nova_Extra_Condensed_Light.otf
Mark_Simonson___Proxima_Nova_Extra_Condensed_Regular_Italic.otf
Mark_Simonson___Proxima_Nova_Extra_Condensed_Regular.otf
Mark_Simonson___Proxima_Nova_Extra_Condensed_Semibold_Italic.otf
Mark_Simonson___Proxima_Nova_Extra_Condensed_Semibold.otf
Mark_Simonson___Proxima_Nova_Extra_Condensed_Thin_Italic.otf
Mark_Simonson___Proxima_Nova_Extra_Condensed_Thin.otf
Mark_Simonson___Proxima_Nova_ScOsf_Black_Italic.otf
Mark_Simonson___Proxima_Nova_ScOsf_Black.otf
Mark_Simonson___Proxima_Nova_ScOsf_Bold_Italic.otf
Mark_Simonson___Proxima_Nova_ScOsf_Bold.otf
Mark_Simonson___Proxima_Nova_ScOsf_Condensed_Black_Italic.otf
Mark_Simonson___Proxima_Nova_ScOsf_Condensed_Black.otf
Mark_Simonson___Proxima_Nova_ScOsf_Condensed_Bold_Italic.otf
Mark_Simonson___Proxima_Nova_ScOsf_Condensed_Bold.otf
Mark_Simonson___Proxima_Nova_ScOsf_Condensed_Extrabold_Italic.otf
Mark_Simonson___Proxima_Nova_ScOsf_Condensed_Extrabold.otf
Mark_Simonson___Proxima_Nova_ScOsf_Condensed_Light_Italic.otf
Mark_Simonson___Proxima_Nova_ScOsf_Condensed_Light.otf
Mark_Simonson___Proxima_Nova_ScOsf_Condensed_Regular_Italic.otf
Mark_Simonson___Proxima_Nova_ScOsf_Condensed_Regular.otf
Mark_Simonson___Proxima_Nova_ScOsf_Condensed_Semibold_Italic.otf
Mark_Simonson___Proxima_Nova_ScOsf_Condensed_Semibold.otf
Mark_Simonson___Proxima_Nova_ScOsf_Condensed_Thin_Italic.otf
Mark_Simonson___Proxima_Nova_ScOsf_Condensed_Thin.otf
Mark_Simonson___Proxima_Nova_ScOsf_Extrabold_Italic.otf
Mark_Simonson___Proxima_Nova_ScOsf_Extrabold.otf
Mark_Simonson___Proxima_Nova_ScOsf_Extra_Condensed_Black_Italic.otf
Mark_Simonson___Proxima_Nova_ScOsf_Extra_Condensed_Black.otf
Mark_Simonson___Proxima_Nova_ScOsf_Extra_Condensed_Bold_Italic.otf
Mark_Simonson___Proxima_Nova_ScOsf_Extra_Condensed_Bold.otf
Mark_Simonson___Proxima_Nova_ScOsf_Extra_Condensed_Extrabold_Italic.otf
Mark_Simonson___Proxima_Nova_ScOsf_Extra_Condensed_Extrabold.otf
Mark_Simonson___Proxima_Nova_ScOsf_Extra_Condensed_Light_Italic.otf
Mark_Simonson___Proxima_Nova_ScOsf_Extra_Condensed_Light.otf
Mark_Simonson___Proxima_Nova_ScOsf_Extra_Condensed_Regular_Italic.otf
Mark_Simonson___Proxima_Nova_ScOsf_Extra_Condensed_Regular.otf
Mark_Simonson___Proxima_Nova_ScOsf_Extra_Condensed_Semibold_Italic.otf
Mark_Simonson___Proxima_Nova_ScOsf_Extra_Condensed_Semibold.otf
Mark_Simonson___Proxima_Nova_ScOsf_Extra_Condensed_Thin_Italic.otf
Mark_Simonson___Proxima_Nova_ScOsf_Extra_Condensed_Thin.otf
Mark_Simonson___Proxima_Nova_ScOsf_Light_Italic.otf
Mark_Simonson___Proxima_Nova_ScOsf_Light.otf
Mark_Simonson___Proxima_Nova_ScOsf_Regular_Italic.otf
Mark_Simonson___Proxima_Nova_ScOsf_Regular.otf
Mark_Simonson___Proxima_Nova_ScOsf_Semibold_Italic.otf
Mark_Simonson___Proxima_Nova_ScOsf_Semibold.otf
Mark_Simonson___Proxima_Nova_ScOsf_Thin_Italic.otf
Mark_Simonson___Proxima_Nova_ScOsf_Thin.otf
Mark_Simonson___Proxima_Nova_Semibold_Italic.otf
Mark_Simonson___Proxima_Nova_Semibold.otf
Mark_Simonson___Proxima_Nova_Thin_Italic.otf
Mark_Simonson___Proxima_Nova_Thin.otf
MesloLGLDZNerdFont-BoldItalic.ttf
MesloLGLDZNerdFont-Bold.ttf
MesloLGLDZNerdFont-Italic.ttf
MesloLGLDZNerdFontMono-BoldItalic.ttf
MesloLGLDZNerdFontMono-Bold.ttf
MesloLGLDZNerdFontMono-Italic.ttf
MesloLGLDZNerdFontMono-Regular.ttf
MesloLGLDZNerdFontPropo-BoldItalic.ttf
MesloLGLDZNerdFontPropo-Bold.ttf
MesloLGLDZNerdFontPropo-Italic.ttf
MesloLGLDZNerdFontPropo-Regular.ttf
MesloLGLDZNerdFont-Regular.ttf
MesloLGLNerdFont-BoldItalic.ttf
MesloLGLNerdFont-Bold.ttf
MesloLGLNerdFont-Italic.ttf
MesloLGLNerdFontMono-BoldItalic.ttf
MesloLGLNerdFontMono-Bold.ttf
MesloLGLNerdFontMono-Italic.ttf
MesloLGLNerdFontMono-Regular.ttf
MesloLGLNerdFontPropo-BoldItalic.ttf
MesloLGLNerdFontPropo-Bold.ttf
MesloLGLNerdFontPropo-Italic.ttf
MesloLGLNerdFontPropo-Regular.ttf
MesloLGLNerdFont-Regular.ttf
MesloLGMDZNerdFont-BoldItalic.ttf
MesloLGMDZNerdFont-Bold.ttf
MesloLGMDZNerdFont-Italic.ttf
MesloLGMDZNerdFontMono-BoldItalic.ttf
MesloLGMDZNerdFontMono-Bold.ttf
MesloLGMDZNerdFontMono-Italic.ttf
MesloLGMDZNerdFontMono-Regular.ttf
MesloLGMDZNerdFontPropo-BoldItalic.ttf
MesloLGMDZNerdFontPropo-Bold.ttf
MesloLGMDZNerdFontPropo-Italic.ttf
MesloLGMDZNerdFontPropo-Regular.ttf
MesloLGMDZNerdFont-Regular.ttf
MesloLGMNerdFont-BoldItalic.ttf
MesloLGMNerdFont-Bold.ttf
MesloLGMNerdFont-Italic.ttf
MesloLGMNerdFontMono-BoldItalic.ttf
MesloLGMNerdFontMono-Bold.ttf
MesloLGMNerdFontMono-Italic.ttf
MesloLGMNerdFontMono-Regular.ttf
MesloLGMNerdFontPropo-BoldItalic.ttf
MesloLGMNerdFontPropo-Bold.ttf
MesloLGMNerdFontPropo-Italic.ttf
MesloLGMNerdFontPropo-Regular.ttf
MesloLGMNerdFont-Regular.ttf
MesloLGSDZNerdFont-BoldItalic.ttf
MesloLGSDZNerdFont-Bold.ttf
MesloLGSDZNerdFont-Italic.ttf
MesloLGSDZNerdFontMono-BoldItalic.ttf
MesloLGSDZNerdFontMono-Bold.ttf
MesloLGSDZNerdFontMono-Italic.ttf
MesloLGSDZNerdFontMono-Regular.ttf
MesloLGSDZNerdFontPropo-BoldItalic.ttf
MesloLGSDZNerdFontPropo-Bold.ttf
MesloLGSDZNerdFontPropo-Italic.ttf
MesloLGSDZNerdFontPropo-Regular.ttf
MesloLGSDZNerdFont-Regular.ttf
MesloLGSNerdFont-BoldItalic.ttf
MesloLGSNerdFont-Bold.ttf
MesloLGSNerdFont-Italic.ttf
MesloLGSNerdFontMono-BoldItalic.ttf
MesloLGSNerdFontMono-Bold.ttf
MesloLGSNerdFontMono-Italic.ttf
MesloLGSNerdFontMono-Regular.ttf
MesloLGSNerdFontPropo-BoldItalic.ttf
MesloLGSNerdFontPropo-Bold.ttf
MesloLGSNerdFontPropo-Italic.ttf
MesloLGSNerdFontPropo-Regular.ttf
MesloLGSNerdFont-Regular.ttf

Hard work :wink:

1 Like

@andrea.ippo

I’m sure this is against the forum rules, but I’m a newb. I actually don’t use SUSE. I use KDE Neon. However, I created an account just to thank you for this post of yours: https://forums.opensuse.org/t/guide-ssh-agent-kwallet-to-store-ssh-private-key-passphrases - Thank you! I was able to tweak your guide just a hair to get things working in Neon. I also want to drop massive kudos for actually explaining the reasoning behind the actions. It really helped me understand what we were doing through the guide. Obviously, I would have left this on the guide post, but I can’t. I also tried to send a PM, but I’m not sure that’s possible on the openSUSE forums. So, here’s me hijacking this thread to give you thanks.

1 Like

Well thanks so much!

It means a lot to me to know that my post has been useful for someone. I had struggled quite a lot with that setup on multiple occasions, and all the info I found online were quite fragmented and we’re not really doing a good job explaining at WHY they’d let you do some of the things, so once I finally got a better grasp of the topic, I tried to do a little gesture to give back to the community.

Hope you have a nice day! :blush:

As I experience this with more and more fonts, I start to think that there is indeed an issue with KDE.

I just installed Geist and special glyphs are once again not taken from a fallback font. This happens even without setting Geist as my main font, just having it in my ~/.fonts folder is enough to trigger the problem

Additional testing shows that it’s not the fault of Geist in my ~/.fonts directory

I uninstalled some system fonts while keeping Geist in my user fonts directory, and the issue disappeared again, as if one of the fonts I had installed system-wide is triggering it as soon as some new fonts are added to the user directory.

I guess I’ll just keep system-wide fonts at their defaults, and then download additional ones in my ~/.fonts. It’s a bit inconvenient though, as they won’t stay automatically updated (unless I can somehow instruct zypper to override the destination dir with some extra arguments, to use when installing fonts…)

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.