| Summary: | Konsole --noxft switch doesn't work | ||
|---|---|---|---|
| Product: | [Unmaintained] kcontrol | Reporter: | Artem S. Tashkinov <aros> |
| Component: | kcmfonts | Assignee: | rik |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | gekylafas |
| Priority: | NOR | ||
| Version First Reported In: | 3.5 | ||
| Target Milestone: | --- | ||
| Platform: | unspecified | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| 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 |