Bug 73500 - KHTML is not honoring font sizes
Summary: KHTML is not honoring font sizes
Status: RESOLVED WORKSFORME
Alias: None
Product: konqueror
Classification: Applications
Component: khtml (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-01-25 23:07 UTC by Bart Szyszka
Modified: 2004-02-08 23:31 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
xpdyinfo to help with font sizing issue (14.21 KB, text/plain)
2004-01-27 01:29 UTC, Bart Szyszka
Details
test case (3.13 KB, text/html)
2004-01-27 18:39 UTC, Stephan Kulow
Details
snapshot (291.71 KB, image/jpeg)
2004-01-28 11:25 UTC, Stephan Kulow
Details
Snapshot of Google (35.53 KB, image/png)
2004-01-28 22:05 UTC, Niels
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bart Szyszka 2004-01-25 23:07:36 UTC
Version:           3.1.95-0.fdr.0.1 Red Hat (using KDE 3.1.95-0.fdr.0.1, Red Hat Linux (Yarrow))
Compiler:          gcc version 3.3.2 20031022 (Red Hat Linux 3.3.2-1)
OS:          Linux (i686) release 2.6.1-1.126

I've just upgraded from KDE 3.1 to a release candidate for 3.2 and have noticed that while there are a lot of improvements in Konqueror's page rendering, it doesn't seem to be displaying font sizes as well as it did in 3.1. You can see an example of this by loading an article at CNN.com like the one at http://www.cnn.com/2004/TECH/space/01/25/mars.rovers/index.html . The main text of the article is contained within a div called "cnnStoryContent" which is set to font-size:12px in the CSS file.

On my computer, everywhere I could find a font setting, I've set it to 10, except Konqueror's "Minimum font size", which is set to 8. Changing the "Medium font size" doesn't effect the CNN article's font size, but I can make it bigger by increasing "Minimum font size". If I make it stay at 8, that 12px article text is displayed at 8. So right now, it looks like in order to be able to read most things on the Web comfortably, I'd have to increase the minimum font size to the size I only want to use as my medium, which obviously isn't ideal when a smaller font size is actually supposed to be displayed on a web site.

If someone needs a screenshot or needs any more information I'd be happy to provide it. Everywhere else in KDE, the font sizes are displaying perfectly.
Comment 1 Dirk Mueller 2004-01-26 08:15:09 UTC
xdpyinfo would be nice. it works fine here. 
Comment 2 Stephan Kulow 2004-01-26 17:47:49 UTC
(works fine here too) please note, that the 8 are points while the 12 are pixels, so it can very well be that on very high resolutions this 12 is below
your limit.
Comment 3 Bart Szyszka 2004-01-27 01:29:00 UTC
Created attachment 4369 [details]
xpdyinfo to help with font sizing issue

I'm attaching a text info with my xpdyinfo here. If this is a pt vs. px issue,
then how come I'm not having this same problem in Epiphany, for example? I
looked through my settings in KDE to see if I can find an option for the dpi,
and couldn't find one. If KHTML is using some system setting, maybe there
should be an option to change it in the Control Center?
Comment 4 Stephan Kulow 2004-01-27 18:39:38 UTC
Created attachment 4382 [details]
test case

check yourself
Comment 5 Stephan Kulow 2004-01-27 18:41:46 UTC
For me it stays constant at 7 points and then smoothly increases.
The same from 1-9 pixels (the pixel limit is resolution dependent of course).

I have 101x101 dpy and you have 127x114, so maybe your font stays the same till 10 pixels.
Comment 6 Stephan Kulow 2004-01-27 19:01:05 UTC
I just tried (FC_DEBUG=1 gives you debug output) and mozilla indeed loads by point sizes even if you specify pixel sizes. That might explain the difference you see. 

But then I wonder how it can get fonts right then.
Comment 7 Stephan Kulow 2004-01-27 19:05:50 UTC
If you load the test case, then you notice indeed, that some pixel sizes are the same in mozilla while in konqueror they always increase
Comment 8 Bart Szyszka 2004-01-28 01:23:50 UTC
I'm finding that Mozilla is displaying the sizes exactly like Safari on OS X even and MSIE (Windows and Mac). The only browser between a Mozilla-based one, Safari, MSIE on Windows+Mac, and Konqueror that doesn't display the font sizes consistenylu with the rest is Konqueror. In the test case, Konqueror is showing 14-16 pixel sizes in the same size, 9 and 10, and 12 and 13. Furthermore, and maybe this is a problem with my dpy setting, but I don't know where to change that, I've found that usually a 10px size in any browser (I'm a web designer, so I've dealt with this for a long time) is equivalent to 12 points. So there's a difference between them of 2, with the point being the larger. But right now for me, Konqueror is showing the reverse. 10 px is showing in the equivalent of 8 points. So when cnn.com is asking the site to be displayed in 12 px, it's showing up in 10 points, and all the 10 px parts of the site are shown in 8 points. eonline.com's main body size is 10px, so I have to read everything in 8 points. Sites that use 8px for smaller navigation items get shown in *6* points.
Comment 9 Stephan Kulow 2004-01-28 10:21:05 UTC
you have 114 dpy resolution, so 10px should be 10*72/114=6.3pt (which would be under the minimum font size)

For 10px being equivalent to 12pt you need a resultion of 60dpi,
that's equivalent of 640 dots on my 19'' monitor - when was the last
time you ran on such a resolution?
Comment 10 Stephan Kulow 2004-01-28 11:20:38 UTC
btw: I played a bit with cnn.com and the 12px font-size is rendered the very same as a 13px font-size in mozilla while konqueror renders 12px smaller than 13px (suprise suprise). This was with bitstream vera sans. The more visible difference in mozilla's cnn.com rendering is that it picks another font, which of course makes a huge difference. I'll attach a screenshot comparing mozilla and konqueror rendering.
Comment 11 Stephan Kulow 2004-01-28 11:25:44 UTC
Created attachment 4389 [details]
snapshot

So while the default cnn renders indeed much smaller in konqueror for me, this
is not because of not respecting font sizes but because my sans-serif font is
so much smaller than the font mozilla gets when requesting verdana (which
konqueror currently doesn't do because Qt doesn't support that yet completly)
Comment 12 Stephan Kulow 2004-01-28 15:36:14 UTC
I think, I explained in detail that everything is as supposed to be.
Comment 13 Niels 2004-01-28 18:04:59 UTC
I not so sure that everything is as it's supposed to be.

I use Bitstream Vera Sans everywhere, and pages like google.com have peculiar font sizes. These problems (which aren't big problems, more like annoyances) can't be explained by minimum size and resolution.

There have been several bug reports about font sizes lately, and I suspect something is wrong somewhere. Maybe nothing major, but still.

Upgrading KDE 3.2.94 to 3.2rc1 (and nothing else) certainly changed font sizes on several pages for me.
Comment 14 Stephan Kulow 2004-01-28 20:44:50 UTC
if you can point out web pages, I'm open to take a look. google.com (which redirects me to google.de) doesn't specify a font size, so it should appear in your "medium font size" - which defaults to 10 points
Comment 15 Niels 2004-01-28 22:05:18 UTC
Created attachment 4408 [details]
Snapshot of Google

This is how google.com looks here. There aren't any grave problems, it just
looks a bit odd, and certainly different from KDE 3.2.94 (this is 3.2rc1).
You're right that it defaults to 10 points, but that's only used on the
buttons. The rest of the page is <font size=-1> or similar, and looks too
small.
The vertical alignment in the top four links (over the search input) and the
radio buttons under the seearch buttons is also a bit different from earlier
KDEs.
As I said, nothing major, just a few pixels away from perfect here and there.
Comment 16 Dirk Mueller 2004-01-29 01:28:11 UTC
Subject: kdelibs/khtml

CVS commit by mueller: 

restore KDE 3.1's behaviour of <font size=-1>
CCMAIL: 73500@bugs.kde.org


  M +5 -0      ChangeLog   1.192
  M +2 -1      html/html_inlineimpl.cpp   1.132


--- kdelibs/khtml/ChangeLog  #1.191:1.192
@@ -1,2 +1,7 @@
+2004-01-29  Dirk Mueller  <mueller@kde.org>
+
+        * html/html_inlineimpl.cpp (parseAttribute): restore KDE 3.1 behavior
+        of <font size=-1> (#73500).
+
 2004-01-26  David Faure  <faure@kde.org>
 

--- kdelibs/khtml/html/html_inlineimpl.cpp  #1.131:1.132
@@ -248,6 +248,7 @@ void HTMLFontElementImpl::parseAttribute
             switch (num)
             {
-            case -1:
+            case -2:
             case  1: size = CSS_VAL_X_SMALL;  break;
+            case -1:
             case  2: size = CSS_VAL_SMALL;    break;
             case  0: // treat 0 the same as 3, because people


Comment 17 Niels 2004-01-29 11:46:10 UTC
So, apparently comment #16 fixes something. I don't know if this patch concerns the original reporter's problem, I just hijacked the thread with my google example.
I'm new at this, so: does this patch apply to rc1, or only HEAD? Which will be 3.2.1, right?
Comment 18 Stephan Kulow 2004-01-29 16:35:59 UTC
it fixes the google.de example (in HEAD for now).
Comment 19 Avi Alkalay 2004-02-08 23:31:50 UTC
I don't know if this is the same problem I'm having....
But could the reporter have a look at the screenshots I posted in a similar bug report, please?

http://bugs.kde.org/show_bug.cgi?id=74460