- From: Dr. Olaf Hoffmann <Dr.O.Hoffmann@gmx.de>
- Date: Thu, 19 Jun 2008 19:47:21 +0200
- To: www-svg@w3.org
Even a viewer for SVG tiny 1.2 needs to be able to interprete four digits in the fractional part of numbers: "Conforming SVG Tiny 1.2 content must use <number> s which have no more than 4 decimal digits in the fractional part of their decimal expansion and are in the range '-32,767.9999 to +32,767.9999'. It is recommended that higher precision floating point storage and computation be performed on operations such as coordinate system transformations to provide the best possible precision and to prevent round-off errors." http://www.w3.org/TR/SVGMobile12/types.html And the accuracy of presentation has to be within one device pixel for the intial view: http://www.w3.org/TR/SVGMobile12/conform.html#ConformingSVGViewers Therefore I think, there is nothing wrong with a document using font-size="1" or font-size="0.01" together with somehow useful transformations of a related viewBox. For such numbers rounding errors can be typically assumed by the author to be neglectable. The main problem with this one: ><svg xmlns="http://www.w3.org/2000/svg" > viewBox="9502.27 -47240.23 108.06 0173.79"> ><title>Map of Liechtenstein</title> > <rect x="9502.2" y="-47240.23" width="108.06" height="173.79" >fill="silver"/> > <circle cx="9522.09" cy="-47139.35" r="2" /> > <text x="9522.09" y="-47139.35" font-size="4">Vaduz</text> ></svg> tiny viewers are not required to display this, because -47240.23 is smaller than -32767.9999 For better accessibility it would be better to devide all coordinates by a factor of 2 to 10 to get into the tiny range... (or maybe to shift everything about 20.000). Multiplication with more than a factor 0.5 would be contraproductive for compatibility. I think, firefox is not a tiny viewer, therefore it should support a wider range for numbers anyway. But for example with Opera I found already some funny things too within the tiny range, therefore it is not really a surprise, that other viewers have problems here too. But there are already some drafts for tests about this in the SVG tiny 1.2 test suite ... About affine transformations: This is something like this x' = a x +b If one has an object between x=0 and x=6 (distance 6) one will get with a=2: x'(x=0) = b and x'(x=6) = 12 +b (distance 12) Therefore an object with a previous size of 6 will have a size of exactly 12 but is translated by b, whatever b is. Or in general: the b is not important to determine the distance or the scaling after the transformation, this depends only on the scaling factor a.
Received on Thursday, 19 June 2008 17:57:18 UTC