- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Mon, 26 Aug 2013 19:55:55 -0700
- To: "Levantovsky, Vladimir" <Vladimir.Levantovsky@monotype.com>
- Cc: Andrew Cunningham <lang.support@gmail.com>, John Daggett <jdaggett@mozilla.com>, W3C Style <www-style@w3.org>, "www-style@gtalbot.org" <www-style@gtalbot.org>
On Mon, Aug 26, 2013 at 7:01 PM, Levantovsky, Vladimir <Vladimir.Levantovsky@monotype.com> wrote: > On Sunday, August 25, 2013 12:52 PM Tab Atkins wrote: >> >> On Sat, Aug 24, 2013 at 9:37 AM, Levantovsky, Vladimir >> <Vladimir.Levantovsky@monotype.com> wrote: >> > Does it mean that if I define >> > >> > font-family: Verdana, Futura, Times (with Times being also the default >> > font) >> > font-size-adjust: auto >> > >> > and I do have Verdana installed on my platform the font choice will be >> > Verdana but its aspect value will be adjusted to match Times? If this >> > is the case, this would be counter-productive since we would adjust >> > legible font to make the text less legible. >> >> Yes, it does mean that it'll be adjusted to match Times. Whether this >> makes the font less legible is up to individual interpretation, I >> suppose. > > Not so. According to the spec "the relative height of lowercase letters compared to their uppercase counterparts is a determining factor of legibility". Adjusting a font with larger x-height to match the lower x-height will harm the legibility. font-size-adjust doesn't change the relative heights. It can't, without warping the glyphs. So this seems irrelevant. >> > This also supports my claim that the spec is misleading. It 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. >> > >> > One may read "calculated by user agents for the first font in the >> list >> > of fonts" and assume that it will match the aspect value of Verdana >> if >> > it is present, but the reality and the outcome of defining >> > font-size-adjust: auto is way different. And the results will be >> > different for different users on different platforms. So, i am going >> > back to my question: why the <auto> value is needed? >> >> Specs are indeed misleading if you regularly read only the first half >> of normative sentences. The "defined for the initial value of the >> 'font-family' property" is a necessary part of that sentence which >> makes it clear what is meant - the "initial value" of a property is a >> term of art in CSS that is defined in the propdef tables. >> > > Agree, but there is also a second sentence there that says that "Effectively this is the default font used when ‘font-family’ is not otherwise specified." Since in my case (and also in Example 3) the font-family is specified, it "effectively" renders the second half of the normative sentence irrelevant, and the fact that Figure 19 also shows the result of the adjustment when every font in the font-family is adjusted to match the x-height of the first font Verdana visually reinforces the assumption that this is the expected behavior. I don't understand the first part of this paragraph. What effect can a correct non-normative elaboration have on a normative requirement? As for the second half, Figure 19 doesn't specify what value it's using. It's merely illustrating the effects of a possible font-size-adjust use. I'm not sure why you're apparently assuming it's incorrectly illustrating the effect of 'auto'. >> The use-case for <auto> has been explained - it provides a useful >> number without the author having to take the time to measure things >> themselves, and there's a good chance that it matches the font >> currently being used, since most pages just uses the browser default >> fonts for most text. The default font for the browser is presumably >> nicely legible, such that matching its x-height is acceptable. > > This "useful number" will vary from one platform to another, which makes its usability highly questionable, especially considering the very first sentence that says "For any given font size, the apparent size and legibility of text varies across fonts". If the author knows the right value to use for their desired font, they should obviously use that anyway, regardless of whether or not 'auto' exists. If they don't know and don't care to calculate it (it's somewhat annoying to do so - blow up the text size and break out your ruler?), without 'auto' they have to guess. >> Having all of your fonts match *some* reasonable x-height is useful all >> by itself; you don't need the ability to specify a specific x-height to >> make this functionality useful. >> > > Fonts are designed with different x-heights and varied proportions for a reason. And, as far as x-heights are concerned, what is reasonable for one typeface design may be not so for another. My objection to having <auto> value is because it encourages authors to use it blindly, not knowing (and having no chance to know precisely) what the effect will be on any given platform. Yes, fonts are designed with varied x-heights for a reason. And font-size-adjust helps when you don't care, because the desired effect is to have them all have the same x-height. Unless a platform has a bizarre default font, auto should provide a reasonable value. ~TJ
Received on Tuesday, 27 August 2013 02:56:42 UTC