Bug 502206

Summary: Parses fontconfig settings differently depending on whether there is one match statement or many
Product: [Applications] systemsettings Reporter: Peter <sunspark>
Component: generalAssignee: Plasma Bugs List <plasma-bugs-null>
Status: RESOLVED DOWNSTREAM    
Severity: normal    
Priority: NOR    
Version First Reported In: 5.27.10   
Target Milestone: ---   
Platform: SteamOS   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Peter 2025-03-30 16:26:49 UTC
SUMMARY
The default when setting font settings from the system settings app will generate a .fonts.conf file with many MATCH tags for each condition. Since all of them are assigned to match target=font I thought I would clean up the file a bit and get rid of all the match tags except for one to make it easier to read/edit. What I have noticed is that the system does NOT like that. I was noticing colour-fringing in right-click menus and buttons, etc. that should have been greyscale.

STEPS TO REPRODUCE
1. Have a .fonts.conf file with many match tags (default) and one with only 1 match tag and all the conditions in it.

OBSERVED RESULT
With many match tags it will produce more or less the expected output. With one match tag it starts ignoring things and using subpixel with no lcd filter, etc. when the file is set to use greyscale. Basically it expects to receive only 1 condition so an assignment has to be done over and over.

EXPECTED RESULT
Output should look the same, whether it is many match tags in .fonts.conf or a single tag.

SOFTWARE/OS VERSIONS
Operating System: SteamOS 3.6.22 Build: 20250224.1
KDE Plasma Version: 5.27.10
KDE Frameworks Version: 5.115.0
Qt Version: 5.15.12


ADDITIONAL INFORMATION
To give an example of the formatting I am talking about, shouldn't the system interpret both of these layouts exactly the same because "font" is the same target?

 <match target="font">
  <edit name="lcdfilter" mode="assign">
   <const>lcdnone</const>
  </edit>
 </match>
 <match target="font">
  <edit name="rgba" mode="assign">
   <const>none</const>
  </edit>
 </match>

vs

 <match target="font">
  <edit name="lcdfilter" mode="assign">
   <const>lcdnone</const>
  </edit>
  <edit name="rgba" mode="assign">
   <const>none</const>
  </edit>
 </match>
Comment 1 Bug Janitor Service 2025-03-30 16:33:39 UTC
Thank you for the bug report!

However Plasma 5.27.10 is no longer eligible for support or maintenance from KDE; supported versions are 5.27. (LTS), and 6.3 (non-LTS) or newer. Please upgrade to a supported version as soon as your distribution makes it available to you. Plasma is a fast-moving project, and bugs in one version are often fixed in the next one.

If you need support for Plasma 5.27.10, please contact your distribution, who bears the responsibility of providing support for older releases that are no longer supported by KDE.

If you can reproduce the issue after upgrading to a supported version, feel free to re-open this bug report.