Difference between revisions of "BlueprintRealUnit"

From Inkscape Wiki
Jump to navigation Jump to search
Line 29: Line 29:
=== Flipping the coordinate system ===
=== Flipping the coordinate system ===


Ability to specify the origin of the coordinate system (top-left) vs. (bottom-left).
Inkscape use the SVG standard coordinate system, where the origin is at the
top-left corner. For humans the svg file is more readable if the coordinate system were at the bottom-left corner.
 
Would be nice, if it were an ability to specify the origin of the coordinate system (top-left) vs. (bottom-left).
 
So all the svg object would be defined for human reading and the whole page is flipped using the transform attribute of the svg specification.


== Use cases ==
== Use cases ==

Revision as of 15:38, 6 June 2008

Summary

This blueprint tries to collect all information about how to implement real world units (in, mm) in a standard compliant way.

The problem

Inaccuracy

Inkscape side

Even if the user switch everywhere the unit to mm, inkscape convert it to px unit and write it in the .svg file resulting inaccuracies.

SVG side

All the units in svg drawing needs to be in px unit. The grammar in the SVG specification does not allow other units then pixel: http://www.w3.org/TR/SVG/paths.html#PathDataBNF

More information about coordinate system: http://www.w3.org/TR/SVG/coords.html

Examples: This is invalid in SVG:

 <path d="M 0,0 L 30mm,0 L 30mm,30mm L 45mm,30mm" id="path7887" />

The correct solution would be to specify it in pixel and after tranform it.

Flipping the coordinate system

Inkscape use the SVG standard coordinate system, where the origin is at the top-left corner. For humans the svg file is more readable if the coordinate system were at the bottom-left corner.

Would be nice, if it were an ability to specify the origin of the coordinate system (top-left) vs. (bottom-left).

So all the svg object would be defined for human reading and the whole page is flipped using the transform attribute of the svg specification.

Use cases

1. Bob wants everything in mm

2. Bob wants everything in mm except fonts which he wants in points.

3. Bob wants mix units in mm and inch. But always want to see the original unit.

4. Bob does not care about units he wants just draw something to the web

More resource on the web

Related bug reports

 #168753: SVG defaults to pixels (90dpi) despite default units
 Duplicates: 
   #168516: Inkscape doesn't save page size units in plain svg
   #170738: preserve units
 Viewbox related bug reports:
 #171203: Use viewBox to explicitly define a coordinate system

Related discussions in the past

On the inkscape-dev mailing list:

Problem with real units (mm)

Although attaching parasite information to an svg element is not necessary, but maybe useful if additional information must be keeped about conversion inaccuracy. Please see this thread for more information: Attaching parasite information to an object (or group)