kimoa / svg-edit

Automatically exported from code.google.com/p/svg-edit
MIT License
3 stars 0 forks source link

Tree of life doesn't render properly #720

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Open Johan's Tree of Life (attached or from github)
2.
3.

What is the expected output? What do you see instead?
Labels should be around the tree, but instead they are all on top of each other 
at the top left of the image.

Please use labels and text to provide additional information.
Illustrator renders the same as svg-edit, but Inkscape renders as intended. Not 
sure if we should worry about this or not?

Original issue reported on code.google.com by adrianbj...@gmail.com on 14 Oct 2010 at 10:35

Attachments:

GoogleCodeExporter commented 9 years ago
Ooh, that's a cool image. It seems to work okay in Opera...Firefox has a 
problem rendering just the image in the first place. And Chrome...whoa! :)

I'm pretty sure the problem lies with the matrix values that remove technically 
unnecessary spaces, like here: matrix(.0809 .9967-.9967 .0809 315.47 549.74). I 
suspect both Firefox and our transform-parser-for-webkit have a problem with 
the ".9967-.9967" part. Think that ought to be easy to fix, so will give it a 
shot (this is valid, btw, just not too common).

Original comment by adeve...@gmail.com on 14 Oct 2010 at 12:46

GoogleCodeExporter commented 9 years ago
On first glance it appears we take this:

    "matrix(.9979-.0647 .0647 .9979 459.87 389.03)"

and turn it into this:

    "matrix(0.9979,0.0647,0.9979,459.87,389.03,0) "

This is clearly not the same thing.  I think we are taking the string 
".9979-.0647" and parsing that as "0.9979", thus we are losing one of the 
matrix numbers.

Original comment by codedr...@gmail.com on 14 Oct 2010 at 4:55

GoogleCodeExporter commented 9 years ago
Yep, it's right here on Line 1711

                var val_arr = val_bits[1].split(/[, ]+/);

We are splitting the value by comma and space.  You could sweep through first 
and replace any minus sign with ' -' (ie inject a space before all minus or 
plus signs).  That'd be an easy way to do the fix and reuse all your other 
parsing regex'es.

Original comment by codedr...@gmail.com on 14 Oct 2010 at 5:00

GoogleCodeExporter commented 9 years ago
Yup. Fixed in r1804.

Original comment by adeve...@gmail.com on 14 Oct 2010 at 5:54

GoogleCodeExporter commented 9 years ago
Looks great, but I noticed that svg-edit is stripping out the font-family 
declaration. Not sure if this is the reason or not, but most of the text labels 
on the left,top and bottom are still not in their correct position. Inkscape is 
getting this correct - assuming of course that the svg is correct and that it 
isn't working around a bug in Inkscape :)

Original comment by adrianbj...@gmail.com on 14 Oct 2010 at 7:34

GoogleCodeExporter commented 9 years ago
Fixed in r1807...though the file's still far from being properly editable. 
Changing status to "Started" instead.

Currently when you select a label, it changes its style to the default 
(fill=black and no stroke), which of course it shouldn't...it's just doing that 
because it doesn't look like it has any styles, as the styles were assigned to 
the group element. Will need to figure out how to deal with that best.

Another issue is that the path is largely uneditable, probably uses segment 
types that we don't support yet.

Original comment by adeve...@gmail.com on 15 Oct 2010 at 4:15