- From: Todd Fahrner <fahrner@pobox.com>
- Date: Tue, 16 Nov 1999 09:34:06 -0800
- To: erik@netscape.com (Erik van der Poel), www-style@w3.org
At 11:51 PM -0800 11/15/99, Erik van der Poel wrote:
>I'm still concerned about CSS's "font-size". The CSS2 spec and several
>members of the CSS community seem to indicate that the CSS font-size
>includes not only the descenders and ascenders, but also any accents
>that might be placed on top of glyphs (e.g. capital E with acute
>accent).
[snip]
>So, what words of advice do you offer?
Some additions to and qualifications of the data points you're
weighing (and some pretty pictures):
It's my belief that the problems here stem from too ready a grasp for
the calipers. Referring to actual letterform features - ascents,
descents, accents, etc. won't get you very far. In digital as in lead
type design, letterform features have only an approximate relation to
these *invisible* design abstractions. In some fonts, letterform
features will overshoot or fall short of their em (i.e. font-size)
boundaries at some or all sizes, by design or as a consequence of
hinting:
http://style.metrius.com/junk/em.gif
If ascents/descents/accents are not to be trusted, what's left? I
think the only thing left is to trust the font and OS's font
rendering system, just like other apps do. If this approach produces
inconsistent results across platforms *with identical font data* -
then there's a problem.
If this means that one's implementation doesn't match the letter of
either the Postscript handbook or the CSS spec, then I think the
latter provide too literal and oversimplified definitions of
font-size to be useful in this context.
Here's a digital font designer's view of a font:
http://style.metrius.com/junk/enormous.gif
You can see the ascent/descent guidelines. That's all they are. Some
letters overshoot dramatically, others not at all. Even accents on
caps are above and below the ascent guideline. Yet these are
assuredly all displayed at the same *nominal* size.
Here's the result, set solid:
http://style.metrius.com/junk/emtolineheight.gif
Any software that second-guesses the meaning of font-size based on
the actual extent of ascent/descent/accent is going to defeat the
intentions of font designers.
>The old Netscape UA code base used negative lfHeight values, so people
>accustomed to that UA may have come to expect the point size to mean the
>unaccented height of the font. If the new Mozilla code base suddenly
>switches to positive lfHeight values (to comply with CSS2), the height
>will include accents, so "12 point Times" in the new Mozilla becomes a
>smaller font than "12 point Times" in the old Netscape UA.
You're not planning to ship a cross-platform screen renderer whose
default font size is recorded in absolute length units ('12 points'),
are you? Even now that you're synching up the default logical res to
96ppi across platforms, I think you can put a lot of grief behind if
you move to pixels, where pixels are understood first literally, but
in high-res contexts as shorthand for a certain degree of visual
angle, per CSS-1. At low (screen) resolutions, rasterization is
generally more important than literal size. Pixels over points as a
screen unit recognizes this.
Received on Tuesday, 16 November 1999 12:34:14 UTC