W3C home > Mailing lists > Public > www-svg@w3.org > June 2008

Re: Firefox donīs show very small font size

From: Dr. Olaf Hoffmann <Dr.O.Hoffmann@gmx.de>
Date: Thu, 19 Jun 2008 19:47:21 +0200
To: www-svg@w3.org
Message-Id: <200806191947.21727.Dr.O.Hoffmann@gmx.de>

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."


And the accuracy of presentation has to be within one device pixel
for the intial view:


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" 
>  <circle cx="9522.09" cy="-47139.35" r="2" />
>  <text x="9522.09" y="-47139.35" font-size="4">Vaduz</text>

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

This archive was generated by hypermail 2.3.1 : Wednesday, 8 March 2017 09:47:13 UTC