But when I tried to test this idea, I found that the coordinates are allways relative if the preference"allow relative coordinates" is checked. I thought that this behavior maybe changed in a newer version, so I upgraded from 0.47 to 0.48.1, but still all coordinates are allways relative.
I'm not entirely sure what you mean. If you think you have found a case where Inkscape makes the "wrong" decision (that is, it outputs a longer string than necessary), that would be a bug and I'd love to hear about it. If you're seeing it mostly choose relative coordinates, that is because it favors relative coordinates when all things are equal (this tends to avoid switching between the two, as relative coordinates are hardly ever worse than absolute coordinates).
I meant that I took the path presented by the author of the original question, that is
m 105,0 c 21,1 21,26 8,32 c 42,23 82,78 32,113 c 10,5 10,5 10,30 l -28,0 c 0,23 0,23 61,23 c 17,1 19,12 22,22 c -85,0 -95,5 -105,-23 C 95,225 85,220 0,220 c 3,-10 5,-21 22,-22 c 61,0 61,0 61,-23 l -28,0 c 0,-25 0,-25 10,-30 C 15,110 55,55 97,32 C 84,26 84,1 105,0 z
and tried to move it to and fro on various positions, but I did not found any place where any of the coordinates would be absolute. But this may be caused by the the fact that the coordinates became badly rounded.
(BTW, the the length of the path data would be better minimized were the coordinates smartly rounded instead of such values as -113.000006 or -12.99999)
Especially the -113.000006 has me worried a bit, is it from an actual path?
This was done on the 0.47. Now I downloaded 0.48+devel r10300 (from 14-Jun-2011) made a new svg file and copied into it the abovementioned path.
If I drag it with the mouse, the result is for example
m 106.17,0.71299 c 21,1.00001 21,26.00001 8,32.00001 42,23 82,78.007 32,113.007 10,5 10,5 10,30 l -28,0 c 0,23 0,23 61,23 17,1 19,12 22,22 -85,0 -95,5 -105,-23 -10.003,28 -20.002,23 -105.0021,23 2.9996,-10 4.9996,-21 22.0001,-22 61,0 61,0 61,-23 l -28,0 c 0,-25 0,-25 10,-30 -50,-35 -10,-90.007 31.999,-113.007 -12.999,-6 -12.999,-31 8.003,-32.00001 z
The preferences are: Allow relative coordinates: yes Numeric precision: 5 Store transformation: Optimalized
But then I reread the original message and realised that the author probably meant moving with the arrow keys, which gives results well rounded and I can now see how the relative and absolute coordinates change at different positions.
m 105,0 c 21,1 21,26 8,32 42,23 82,78 32,113 10,5 10,5 10,30 l -28,0 c 0,23 0,23 61,23 17,1 19,12 22,22 -85,0 -95,5 -105,-23 -10,28 -20,23 -105,23 3,-10 5,-21 22,-22 61,0 61,0 61,-23 l -28,0 C 55,150 55,150 65,145 15,110 55,55 97,32 84,26 84,1 105,0 z
So I can perform the experiment I was talking about: I added to the layer transform = "translate(-200,-200)" and returned by the arrow keys the drawing to its original position, and as I expected the coordinates are relative:
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(-200,-200)"> <path style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 305,200 c 21,1 21,26 8,32 42,23 82,78 32,113 10,5 10,5 10,30 l -28,0 c 0,23 0,23 61,23 17,1 19,12 22,22 -85,0 -95,5 -105,-23 -10,28 -20,23 -105,23 3,-10 5,-21 22,-22 61,0 61,0 61,-23 l -28,0 c 0,-25 0,-25 10,-30 -50,-35 -10,-90 32,-113 -13,-6 -13,-31 8,-32 z" id="path4201" inkscape:connector-curvature="0" /> </g>
P.A.