- From: Christoph Päper <christoph.paeper@crissov.de>
- Date: Sat, 28 Aug 2010 12:48:44 +0200
- To: "www-style@w3.org list" <www-style@w3.org>
Tab Atkins Jr.:
> On Fri, Aug 27, 2010 at 5:22 AM, Christoph Päper
>>>
>>> h1 { font-size: 2.6e-4em }
>>
>> Uch, it really looks like 2.6 e minus 4 em.
>
> Subtraction isn't valid outside of calc().
h1 {font-size: calc(2.6e-4em)}
doesn’t look any less like substraction. Don’t mind the whitespace rules.
> These types of numbers can be useful, for example, for serializing transformation matrices.
I guess they’re used in the Transformations and Animations drafts which I haven’t checked out yet. Anyhow, do you need units there? Unitless, E notation looks less evil (still evil, though).
> If we were solving this problem for the first time, it would make sense to look at multiple solutions.
It still does, at least where units are involved.
> We're not, though - SVG already has a notation for small/large numbers that would be nice to reuse if it isn't too horrible.
I thought it was breaking the (core) grammar, which I would value as horrible.
But it seems units, i.e. everything after the first, numeric part of DIMENSION, are defined as just {ident} which is (without escaping and Unicode) “[-]?[_a-z][_a-z0-9-]*” where I would have expected something like “[_a-z-]+” or “[-]?[_a-z]|[-]?[_a-z][_a-z-]*[a-z]”. {ident} includes “[e][-]?[0-9]+{ident}”, except that e.g. “2.6e-4-5” and “2.6e-4-5em” were legal, too, where “0.00026-5” and “0.00026-5em” would not have been.
The ‘e’ and exponent cannot be part of NUMBER = {num} in CSS (without changing the grammar) and therefore even a unitless number is parsed as DIMENSION. Otherwise it works like SI prefixes in ‘cm’ or ‘mm’ , which is kind of odd, because you’re introducing an infinite amount of unit prefixes.
I also dislike the plus sign being illegal where the minus sign can be used.
> it's a common, well-known notation used fairly regularly in handwritten math and science (…)
I’ve never seen it handwritten, except, perhaps, from 8th-graders (or so) who just copied whatever their calculator spilled at them.
> Authors are familiar with it,
Some are familiar with {num}[e][-]?[0-9]+, but noone is used to {num}[e][-]?[0-9]+{ident}.
> SVG is already using it,
And never should have been, just like X11 color names etc.
> it's compact and easily understandable,
Like #ABCDEF colors, it’s a coder style that is opaque to newbies. “2e3” can be guessed as meaning 8 at least as easy as it meaning 2000.
> and it's completely unambiguous.
Technically maybe, but not necessarily so for authors, who might read “2.6e-4em” and think: “Huh, you can do substraction in CSS? But the author forgot a letter, I’ll just fix and evaluate it to ‘-1.4em’, whatever that does.”
Received on Saturday, 28 August 2010 10:49:22 UTC