Summary: | Konsole --noxft switch doesn't work | ||
---|---|---|---|
Product: | kcontrol | Reporter: | Artem S. Tashkinov <aros> |
Component: | kcmfonts | Assignee: | rik |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | gekylafas |
Priority: | NOR | ||
Version: | 3.5 | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Attachments: | Konsole snapshot |
Description
Artem S. Tashkinov
2005-10-19 06:31:48 UTC
Created attachment 13052 [details]
Konsole snapshot
In this snapshot you can see that konsole is being run with --noxft switch but
fonts are antialiased.
I have also KDE 3.4.2 installed from sources and this switch works OK. I did an investigation and found out that this problem is possibly a QT/Xft/X.org problem. Everyhting works right if my .fonts.conf file like like this (1): <?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <match target="font" > <edit mode="assign" name="hinting" > <bool>true</bool> </edit> </match> <match target="font" > <edit mode="assign" name="hintstyle" > <const>hintfull</const> </edit> </match> <match target="font" > <edit mode="assign" name="rgba" > <const>rgb</const> </edit> </match> </fontconfig> But when this file looks like this Konsole fonts are always antialiased (2): <?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <match target="font" > <edit mode="assign" name="rgba" > <const>rgb</const> </edit> </match> <match target="font" > <edit mode="assign" name="hinting" > <bool>true</bool> </edit> </match> <match target="font" > <edit mode="assign" name="hintstyle" > <const>hintfull</const> </edit> </match> <match target="font" > <edit mode="assign" name="antialias" > <bool>true</bool> </edit> </match> </fontconfig> To sort everything out I created a new user and logged under it to KDE. Then I run KControl and enabled antialiasing settings, that made KDE produce the file (1). When I relogon'ed and started KControl settings I disabled and reenabled antialiasing setting. Strangely this time KDE produced the file (2). And with the second file Konsole doesn't work properly ... Here's the code Konsole uses for this: void TEWidget::setVTFont(const QFont& f) { QFont font = f; if (!s_antialias) font.setStyleStrategy( QFont::NoAntialias ); QFrame::setFont(font); fontChange(font); } I would say this is a Qt/KDE/X issue. Konsole can't really do anything about it. Should we reassign the bug to someone else? This bug persists in KDE 3.5.1/QT 3.3.5/X.org 6.8.2/Xft 2.8.1/fontconfig 2.2.3 as well. *** This bug has been confirmed by popular vote. *** This is the information I've just received from trolltech developer: -------------------------------------------------------------------- I can reproduce the behavior you are experiencing using the file you sent, but it is not actually a bug in Qt. Calling QFont::setStyleStrategy() is just a hint to the font match system about which fonts should be used, but if there is actually a rule in the .fonts.conf file such as: <match target="font" > <edit mode="assign" name="antialias" > <bool>true</bool> </edit> </match> Then Qt can not do anything about it because you are explicitly forcing all fonts to be anti-aliased. To change this behavior, either remove the above option from your .fonts.conf or put a size restriction on it so that it only happens at certain sizes. Regards, -- Jason Barron, Support Engineer Trolltech AS, Oslo - http://www.trolltech.com -------------------------------------------------------------------- So indeed, it's KDE KCM Fonts module bug - it should not ever add this portion <match target="font" > <edit mode="assign" name="antialias" > <bool>true</bool> </edit> </match> to the $HOME/.fonts.conf file. Confirmed that removing the specified section from .fonts.conf fixes the problem. Re-assigning to KControl / kcmfonts This bug seems to be resolved in KDE 4.x |