JOrendorff@ixl.com wrote:
>
> Erik wrote:
> > The OS/2 table contains 3 fields called typoAscender, typoDescender
> > and typoLineGap. The sum of these 3 fields gives you the recommended
> > baseline-to-baseline. The sum of the ascender and descender does not
> > always give you the em height. So what is your minimum recommended
> > baseline-to-baseline? Ascender + descender? Or em?
>
> I think we've addressed CSS2's vagueness somewhat. Vagueness in the
> TrueType/OpenType spec(s) is another matter.
See the following:
http://lists.w3.org/Archives/Public/www-font/1999OctDec/0010.html
> If fonts don't contain accurate metrics, you're in trouble already.
Some fonts may contain inaccurate metrics, and that would be a problem
too, but even more troubling is the fact that several experts have said
that it is up to the font designer how much of a glyph to fit into the
em. This total freedom is great from an "artistic" point of view, but a
nightmare from an implementor's point of view.
> Refining the CSS spec won't help with that.
If the implementors decide to tackle the font size problem(s), but
tackle them differently, that would suck. That's what we have specs for.
To try to get the implementors to implement it in the same way.
> Write a heuristic to determine whether the font's metrics are accurate.
> For fonts with good metrics, use (ascender+descender+lineGap). For
> fonts with bad metrics, calculate better values from the glyphs.
Yes, I mentioned this idea already. The question is whether or not to
write it up in the spec.
> I don't like 'unitsPerEm' for this; what does it mean? [1][2][3]
>
> Resources that don't explain unitsPerEm:
> [1] http://fonts.apple.com/TTRefMan/RM06/Chap6head.html
> [2] http://partners.adobe.com/asn/developer/opentype/vhea.htm
> [3] http://www.microsoft.com/typography/OTSPEC/vhea.htm
The number of units per em is irrelevant. It could be 1000, it could be
2048, it doesn't matter. The glyphs themselves are specified in terms of
those units. So the rasterizer must simply scale the glyphs down (or up)
to the requested size. I.e. if there are 1000 units per em, and glyph A
goes from 900 to 100, then asking for a 100px rasterization yields an A
from 90 to 10.
Erik