Disabling fonts isn't working

I disabled some fonts via Plasma settings, then run sudo fc-cache -fv, but disabled fonts are always loaded in new opened apps.

I even logout then login but they always appears, the file /etc/fonts/disabledfonts.xml is filled with entries of disabled fonts.

I tried to search where fontconfig includes that modifed file /etc/fonts/disabledfonts.xml but got nothing.

Operating System: Manjaro Linux 
KDE Plasma Version: 6.7.5
KDE Frameworks Version: 6.30.0
Qt Version: 6.11.2
Kernel Version: 7.2.9-1-MANJARO (64-bit)
Graphics Platform: Wayland

I’m on Manjaro also, and can confirm this also happens on my system (I just tried it), but I don’t have time to troubleshoot just now. Will try to later.

Why? I would assume Plasma Settings does all the necessary steps when you click Apply.

I have tested this further and disabling a font in system-settings seems to rename the font file to have a preceding “.” so font.ttf becomes .font.ttf. Additionally a list of disabled fonts is kept in /etc/fonts/disabledfonts.xml.

Each font I have disabled still appears in both native and non-native applications as OP has mentioned. I suspect this is a bug, but I cannot find anything similar on bugs.kde.org

Can anyone NOT on Manjaro confirm this is also an issue?

Same system specs as OP.

It seems that generated file /etc/fonts/disabledfonts.xml holds the list of renamed fonts from "fontName.ext" to ".fontName.ext".

But fonconfig is loading them even if they start with a point.

fc-list
/usr/share/fonts/noto/.NotoSansNagMundari-Bold.ttf: Noto Sans Nag Mundari:style=Bold
/usr/share/fonts/noto/.NotoSansTamilUI-Regular.ttf: Noto Sans Tamil UI:style=Regular

Even clearing the following cache dirs then running fc-cache -fv has no effect:

~/.cache/fontconfig/
/var/cache/fontconfig/

So, the mechanism adopted by Plasma to disable fonts by adding a point at the beginning is no longer reliable.

But if I created a test file in /etc/fonts/conf.d/99-disabled-fonts.conf using rejectfont tag and then run fc-cache -fv, it seems to effectively disable the desired fonts:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
  <selectfont>
    <rejectfont>
      <glob>/usr/share/fonts/noto/.NotoSansCypriot-Regular.ttf</glob>
    </rejectfont>
  </selectfont>
</fontconfig>