Hi, seit Qt5 sieht die Schrift bei Qt Programmen unter meinen Ubuntu Systemen (derzeit Xubuntu 14.04) schrecklich verschwommen aus (siehe Bild). Gerade beim QtCreator (Version 3.0, Qt 5.2) stört mich das. Als noch Qt4 genutzt wurde sah die Schrift fantastisch aus (wie GTK Anwendungen), weshalb ich QtCreator bevorzugt unter Ubuntu genutzt habe. Natürlich habe ich mich im Internet darüber informiert und festgestellt, dass ich kein Einzelfall bin. Es scheinen sich aber nur sehr wenige darüber zu beschweren. Der Grund scheint zu sein, dass Qt5 die Einstellungen selbst aus der Umgebung ermittelt, möglicherweise geht dort etwas schief und Qt nutzt nicht die GTK Einstellungen sondern allgemeine generische Einstellungen. Den Parameter "-style gtk" habe ich auch schon versucht, es ändert sich aber nichts. Was jemand etwas näheres darüber oder sogar eine Lösung? Das Downgrade auf eine ältere Qt/QtCreator Version kann jawohl keine Lösung sein.
> schrecklich verschwommen aus (siehe Bild).
Hm, ich sehe da nur ganz normales Antialiasing.
Zum Vergleich ein Bild aus Code::Blocks. Ich verstehe leider nichts von Font-Rendering, was genau ist da anders?
Der Commit hier könnte/sollte das evtl fixen: https://qt.gitorious.org/qt/qtbase/commit/2ad331465c3b19d56edb9b744b66e908f03294d3 Zumindest kannst du dann das Antialiasing über die normale fontconfig-geschichten abschalten.
TriHexagon schrieb: > Zum Vergleich ein Bild aus Code::Blocks. Ich verstehe leider nichts von > Font-Rendering, was genau ist da anders? Das Beispiel aus Code::Blocks verwendet Subpixel-Antialiasing, das Beispiel aus dem QtCreator "gewöhnliches" Antialiasing. Das Subpixel-Antialiasing nutzt die Tatsache, dass die Einzelpixel für die drei Grundfarben jeweils nur ein Drittel der Breite eines vollen Pixels belegen, womit für das Antialiasing effektiv die dreifache horizontale Auflösung zur Verfügung steht. Dadurch erscheinen die Zeichen etwas schärfer, sind aber dafür von leichten Farbsäumen umgeben. Wie du das in Ubuntu bzw. Qt5 umstellen kannst, weiß ich auch nicht, möglicherweise brauchst du tatsächlich den von Ernst genannten Patch. Wenn ich das richtig sehe, entscheidet dieser allerdings nur darüber, ob Antialiasing aktiviert wird oder nicht, nicht aber, welcher Typ von Antialiasing angewandt wird. Für meine Augen sieht aber auch das Subpixel-Antialiasing in deinem zweiten Screenshot noch nicht zufriedenstellend aus. Dessen leichter Gewinn an Schärfe wird durch die Farbsäume wieder zunichte gemacht. Deswegen habe ich in fontconfig das lcdfilter-legacy aktiviert, das dafür sorgt, dass nur schräge und gebogene, nicht aber vertikale Linien geantialiast werden. Dadurch können die einzelnen Zeichen zwar etwas zu breit oder zu schmal erscheinen, wirken aber deutlich schärfer als mit dem lcdfilter-default, da das Antialiasing nur dort angewandt wird, wo es "Treppenstufen" zu kaschieren gilt. Leider funktioniert das Legacy-Filter nur für solche Fonts, die diese intelligente Form des Antialiasing mit entsprechenden Hints unterstützen (die DejaVu-Familie gehört bspw. dazu). Alle anderen Fonts werden schlechter dargestellt als mit dem Default-Filter. Wird Subpixel- Antialiasing aktiviert, sind die Farbsäume viel zu stark ausgeprägt, fast noch stärker als man es von Windows gewohnt ist. Da ich überall, wo es möglich ist (Konsolenfenster, Editor, Web-Browser usw.) sowieso DejaVu als Standardschrift eingestellt habe, passt für mich das Legacy-Filter besser. In den seltenen Fällen, wo ich ich für irgendwelche Dinge "nichtkompatible" Schriften verwende, bekomme ich dann eben Augenkrebs, aber der verheilt schnell wieder, nachdem ich wieder zu normalen Schriften zurückgekehrt bin. Mein nächster Bildschirm wird ein hochauflösender sein. Hoffentlich sieht man dann vom Antialiasing gar nichts mehr. Vielleicht kann man es sogar komplett deaktivieren, ohne dass die Zeichen allzu pixelig werden.
Vielen Dank an euch. Die erweiterte Erläuterung hat mir auch sehr gefallen, das lcdfilter-legacy fontconfig werde ich mir mal ansehen. Noch eine Frage zu dem Patch, muss ich den selbst einpflegen, d.h. die Zeilen einfügen und qtbase selbst kompilieren? Oder gibt es eine komfortablere Lösung?
Hier sind ein paar Beispiele dafür, wie unterscheidliche Fonts in unterscheidlichen Größen mit unterscheidlichen Filteroptionen aussehen. Dazu kommen dann noch die unterscheidlichen Geschmäcker der Betrachter. http://spasche.net/files/lcdfiltering/ Man sieht sofort, dass es leider keine Einstellung gibt, die in allen Situationen gleichgute Ergebnisse bringt. Da ich die folgende Frage nicht beantworten kann, stelle ich sie noch einmal hinten an, damit sie nicht untergeht: TriHexagon schrieb: > Noch eine Frage zu dem Patch, muss ich den selbst einpflegen, d.h. die > Zeilen einfügen und qtbase selbst kompilieren? Oder gibt es eine > komfortablere Lösung?
Ich konnte das Problem lösen! Dank Yalus Erläuterung wusste ich nun nach was ich suchen musste. Ich fand diesen Thread: https://bbs.archlinux.org/viewtopic.php?id=172361 Qt5 scheint die DE-Einstellungen zu ignorieren, wenn es eine local.conf in /etc/fonts gibt. Mit dieser lässt sich das Font-Rendering genau einstellen. Nun habe ich einfach das Sub-Pixel Rendering und den LCD-Filter eingeschaltet und es passt! Hier ist meine local.conf
1 | <?xml version='1.0'?>
|
2 | <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
|
3 | <fontconfig>
|
4 | |
5 | <!-- Hinting -->
|
6 | <match target="font"> |
7 | <edit mode="assign" name="hinting"> |
8 | <bool>true</bool> |
9 | </edit>
|
10 | </match>
|
11 | |
12 | <!-- Hint Style -->
|
13 | <match target="font"> |
14 | <edit mode="assign" name="hintstyle"> |
15 | <const>hintslight</const> |
16 | </edit>
|
17 | </match>
|
18 | |
19 | <!-- Anti-aliasing -->
|
20 | <match target="font"> |
21 | <edit mode="assign" name="antialias"> |
22 | <bool>true</bool> |
23 | </edit>
|
24 | </match>
|
25 | |
26 | <!-- Sub-Pixel -->
|
27 | <match target="font"> |
28 | <edit name="rgba" mode="assign"> |
29 | <const>rgb</const> |
30 | </edit>
|
31 | </match>
|
32 | |
33 | <!-- LCD-Filter -->
|
34 | <match target="font"> |
35 | <edit mode="assign" name="lcdfilter"> |
36 | <const>lcddefault</const> |
37 | </edit>
|
38 | </match>
|
39 | |
40 | </fontconfig>
|
Hier noch eine gute Seite, die das Einstellen erklärt: https://wiki.archlinux.org/index.php/Font_configuration Der Filter lcdlegacy hab ich mal ausprobiert, habe auf die schnelle aber keinen Unterschied an diesem Bildschirm entdeckt. Vielen Dank nochmal!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.