Re: ascender, descender, cap-height and x-height

All,

I haven't heard from anybody since my last message, and I'm wondering
whether that might be because you don't understand why I'm even asking
that question in the first place. So let me give you some background.

In CSS2, there is a property called font-size-adjust:

  http://www.w3.org/TR/REC-CSS2/fonts.html#font-size-props

The intent of this property is to take into account the fact that some
fonts appear to be bigger than others even when requested at the same
size, due to large x-heights. For example, Verdana's x-height is rather
large, relative to the ascenders.

The claim is that the true subjective size of a font is especially
dependent on the x-height (for text that contains both upper and lower
case letters). Would you agree with this, in the first place?

Assuming this is agreed, I'll continue: The spec defines a term "aspect"
as the ratio of the x-height to the font size (x-height/font-size),
although CSS2 has it backwards in one place.

In order to have a meaningful x-height and font-size, the browser needs
to get that info reliably. The font size is defined extremely vaguely as
"the size of the font when set solid". Subsequent discussions have
revealed that most implementations take this to mean the size that is
passed to the font scaler, which uses the em square (unitsPerEm) to
scale the font to the requested size.

However, it was pointed out that font designers don't all use a single
convention when it comes to deciding how much of a glyph should be
inside the em square. One claim is that some European fonts place the
accents above upper case letters inside the em square, while many
American fonts place those accents outside.

So, if the actual glyphs have such a loose relationship with the em
square, and font size is defined in terms of em square, then
font-size-adjust becomes ill-defined too, since aspect is defined in
terms of font size (and x-height).

I think the font size should be the sum of the "nominal" ascender and
the nominal descender for fonts with upper and lower case letters, and
some other nominal value for other fonts. That's why I'd like to know
whether I can reliably determine ascender, descender and x-height, and
how to do that.

Thanks,

Erik

Received on Tuesday, 25 January 2000 17:09:59 UTC