Version: 3.4.0 (using KDE 3.4.0, Gentoo) Compiler: gcc version 3.3.5 (Gentoo Linux 3.3.5-r1, ssp-3.3.2-3, pie-8.7.7.1) OS: Linux (i686) release 2.6.10-gentoo-r6 The texts lines next to pictures are seperated too much from each other. If there are no pictures the alignment looks allright.
I can see it.
Same with SVN r575787
Created attachment 19150 [details] testcase
SVN commit 620738 by ggarand: Make vertical-align text-top/bottom more CSS 2.1 compliant: we are looking for the parent's font or font strut's *content area* (as per 10.6.1) so do not use its baselinePosition. Add the missing half-leading for both text-top and text-bottom (mozilla/css_1/vertical_align_texttop.html): that's also part of content area. Using baselinePosition on parent was even more bogus because of the major semantic differences in CSS between baseline in table context and other baselines. A mess that was the origin of #103039 BUG: 103039 M +2 -10 render_object.cpp --- trunk/KDE/kdelibs/khtml/rendering/render_object.cpp #620737:620738 @@ -1864,27 +1864,19 @@ return vpos - style()->verticalAlignLength().width( lineHeight( firstLine ) ); const QFont &f = ref->font( firstLine ); - int fontheight = ref->lineHeight( firstLine ); int fontsize = f.pixelSize(); - int halfleading = ( fontheight - fontsize ) / 2; if ( va == SUB ) vpos += fontsize/5 + 1; else if ( va == SUPER ) vpos -= fontsize/3 + 1; else if ( va == TEXT_TOP ) { -// qDebug( "got TEXT_TOP vertical pos hint" ); -// qDebug( "parent:" ); -// qDebug( "CSSLH: %d, CSS_FS: %d, basepos: %d", fontheight, fontsize, ref->baselinePosition( firstLine ) ); -// qDebug( "this:" ); -// qDebug( "CSSLH: %d, CSS_FS: %d, basepos: %d", lineHeight( firstLine ), style()->font().pixelSize(), baselinePosition( firstLine ) ); - vpos += ( baselinePosition( firstLine ) - ref->baselinePosition( firstLine ) + - halfleading ); + vpos += baselinePosition( firstLine ) - (QFontMetrics(f).ascent() + QFontMetrics(f).leading()/2); } else if ( va == MIDDLE ) { QRect b = QFontMetrics(f).boundingRect('x'); vpos += -b.height()/2 - lineHeight( firstLine )/2 + baselinePosition( firstLine ); } else if ( va == TEXT_BOTTOM ) { - vpos += QFontMetrics(f).descent(); + vpos += QFontMetrics(f).descent() + QFontMetrics(f).leading()/2; if ( !isReplaced() ) vpos -= fontMetrics(firstLine).descent(); } else if ( va == BASELINE_MIDDLE )