W3C home > Mailing lists > Public > www-style@w3.org > January 2008

RE: Line layout in browsers

From: David Perrell <davidp@hpaa.com>
Date: Wed, 23 Jan 2008 17:10:14 -0800
To: <www-style@w3.org>

Bruno Fassino wrote:
| If you add a bordered span wrapping your text, you will see that 
| this span (which I believe delimits what the spec calls content 
| area) is correctly vertically centered in the inline box. Your 
| glyphs are apparently appear low inside this area, but if you 
| consider that there are characters with a higher ascent that 
| those that you used (like È) then all looks correct (that's your 
| page with these additions http://brunildo.org/test/test/lh_span.html .)

Yes, testing a font for which I have metrics (and including Ô and some underlining in the text), I'd since confirmed that the text is centered on the height of the bounding box (half-leading = .5 * (container height - bounding box height)). Which brings up the question: For whom is CSS intended? For me, inserting space - with no option to eliminate it - for rarely (if ever) used characters is not good behavior because it precludes positioning that is more suitable when only a subset of glyphs - such as all caps English language, for example - is used.

I vaguely recall some discussion about this back in 1999 (I've been away from the list for a long time), at which time I posted an image of three positioning options (http://www.hpaa.com/css1/font-position.html). Can you honestly say that the last - positioned on the space between ascenders and descenders - isn't the most attractive in this instance?

Methinks what is needed is a text-align-vertical property to describe how a line of text is centered with respect to the line box. The property would have 5 options:

   bbox | xheight | capheight | ascdesc | <length>

where bbox centers on the midpoint between the top and bottom of the bounding box (default), xheight centers on the vertical midpoint of a capital letter, ascdesc centers on the midpoint between the ascender top and descender bottom, and <length> centers on a point above (positive) or below (negative) the baseline (0 centers on the baseline).

David Perrell
Received on Thursday, 24 January 2008 01:10:41 UTC

This archive was generated by hypermail 2.3.1 : Monday, 2 May 2016 14:27:33 UTC