rjvbb created this revision.
Restricted Application added a project: Plasma.
Restricted Application added a subscriber: plasma-devel.

REVISION SUMMARY
  Applying the default, hardwired QFont::styleName to one of the standard fonts 
which then gets changed to a user-selected font can break expectations because 
of the way Qt handles such canonical stylenames, letting them override the 
effects of other QFont methods invoked subsequently. It can for instance become 
impossible to make the font bold afterwards: see 
https://bugs.kde.org/show_bug.cgi?id=378523, 
https://bugreports.qt.io/browse/QTBUG-63792 or 
https://bugs.kde.org/show_bug.cgi?id=387467 .
  
  This may be a Qt "feature" that's here to stay, sadly.
  
  The change proposed here makes it possible (again) for users to prevent font 
weight rendering regressions by removing the stylename extension from 
configuration files manually as documented in several locations. This approach 
is useless when the KDE platform theme plugin then applies the default 
stylename, an issue that can be avoided by calling QFont::setStyleName() only 
when no user-specified font is available.
  
  Evidently the manual intervention could be replaced with a change in the way 
font settings are stored; this would also require the current change.

TEST PLAN
  Works as intended on Linux. An equivalent modification in my osx-integration 
fork of the platform theme plugin for Mac has the same effect (without it 
"Segoe UI Semi-bold" is no longer made bold where it should in dialogs).
  
  I don't think there are possible side-effects:
  
  - a stylename still gets set either if there is no user-selected font or if 
that selection includes a stylename extension
  - font specifications should still contain all the required information they 
always had; not applying a guessed stylename only means that no conflict can 
arise with the combined set of numeric style and weight attributes.

REPOSITORY
  R135 Integration for Qt applications in Plasma

REVISION DETAIL
  https://phabricator.kde.org/D9070

AFFECTED FILES
  src/platformtheme/kfontsettingsdata.cpp

To: rjvbb
Cc: plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, 
abetts, sebas, apol, mart

Reply via email to