I try to wrap my head around the
auto property in CSS 3's
font-size-adjust. The spec says:
Behaves just like
<number>, except the number used is the aspect value calculated by user agents for the first font in the list of fonts defined for the initial value of the ‘font-family’ property. Effectively this is the default font used when ‘font-family’ is not otherwise specified.
Authors can use this value to specify that font size should be normalized across fonts based on the x-height without the need to specify the aspect ratio explicitly.
In my narrowed little world I thought,
font-size-adjust is necessary, when your first choice of font doesn't load. Then you can adapt the size of the fallback font.
Now, how does the browser calculate the aspect value for a non-existing font? If it doesn't and isn't intended to, where did I take the wrong turn and what does
auto really do?
The expression “the first font in the list of fonts defined for the initial value of the ‘font-family’ property” means the browser’s primary default font, typically (but of course not necessarily) Times New Roman. “Initial value” is something defined for every property in CSS specifications. It is usually browser-independent, but for
font-family, it has explicitly been defined to be defined by the browser.
auto value in this case means the aspect ratio of that default font.
Assuming the user sets his default UA font to have the perfect legibility for himself, then any FSA:auto font would match that. In CSS the presumption is that the user (not the designer) is ultimately right, so this just goes along with that.