bohoomil / fontconfig-ultimate

freetype2-infinality run-time settings => infinality compatible fontconfig => infinality-bundle
454 stars 38 forks source link

Different font rending between KDE4 & KDE5 after update freetype to 1.6 #121

Open thnt opened 8 years ago

thnt commented 8 years ago

On my system openSUSE Leap 42.1, i installed both konsole(KDE5) and yakuake(KDE4), it's using same shell profile: font: Source Code Pro, size: 11, but font rending is different: Left: Konsole (bigger and lighter) , right: Yakuake (smaller and bolder)

Addition, the bold fonts seem bolder and not render normally. Preview on chrome:

bohoomil commented 8 years ago

The maintainer of the openSUSE packages used a wrong patch. This is not a problem with the official Infinality patchset.

beniked commented 8 years ago

Updating OpenSUSE packages, wrong patch reverted. Bohoomil goodness only.

thnt commented 8 years ago

Thank @beniked. Bold font is better now, but rending on Konsole and Yakuake is still different.

beniked commented 8 years ago

hmm I wonder if this happens because of qt5/qt4 differences? are you sure your font settings for kde4/kde5 are exactly the same? @bohoomil, any ideas?

thnt commented 8 years ago

The difference is obvious with some fonts: Source Code Pro, Monaco, some others is not too much. Preview with Monaco 11, Yakuake (below) is better.

beniked commented 8 years ago

could it be that kde4 pulls settings of the same font from different configuration files than kde5?

related? https://bugreports.qt.io/browse/QTBUG-41590

bohoomil commented 8 years ago

@beniked & @thik Qt4 and Qt5 behave differently as far as font rendering is concerned. I've never done a side by side comparison of the apps but can see the difference between e.g. VirtualBox and Kid3 for instance. Konsole and Yakuake should IMO look identically as the latter depends on the former. Unfortunately, I've no clue why they actually don't. Being myself, I'd just decrease the font size by .5pt in Konsole: it isn't a clean solution but should do the job.