Why the difference? (File issue) Fill rule Corel

True! (At least it’s something to try…) :smile:

Most of my work is in Corel to SVG to GFUI. I don’t often filter them through Inkscape. On some of my computers I don’t have Corel so it’s Inkscape or AI (probably in that order). I’ve been using it since forever so I’m more used to CD but the kids are AI-ers and class is Inkscape for uniformity across the students. So I had to be multi-lingual :smiling_face:

This is a GFUI issue with how they’re handling SVG - just happens to be CD but it’s years worth since folks have recreated it with some pretty old versions. I’d expect they’ll fix it. It’s not like taking DXF off the list because SVG is pretty central to their marketing position and CD is pretty prevalent in the education space.

I don’t import SVGs. I just use File|Open. Haven’t noticed any issues (but I do have issues sometimes with DXF files🙁).

I do make sure I save my files in whatever program as SVG, not Inkscape SVG or compressed SVG - even in Inkscape.

3 Likes

Its been the ones posted in here mainly…I assume many are from Inkscape…

Do you have a method for handling un-engraved areas in the center of a filled area? (And if so, how are you pulling it off? Is there a setting we’re missing somewhere?)

Oh wow. Supporting both winding rules (even-odd and non-zero) is super important. No SVG (or PDF, or Postscript, etc.) implementation can get by with only supporting one of them. If this is indeed the problem, Glowforge needs to fix this ASAP!

6 Likes

They are defined to be empty in the SVG but the GFUI interprets them incorrectly. There are two ways of defining a hole in SVG. The default is fill-rule:nonezero which is a complicated way of saying the direction of the path (clockwise / anti-clockwise) known as the winding order specifies whether it is a hole or an island. The other way is fill-rule:evenodd which is specified as an attribute in the SVG files @kittski is having problems with.

 <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="8.5in" 
   height="11in" version="1.1" style="shape-rendering:geometricPrecision;
   text-rendering:geometricPrecision; image-rendering:optimizeQuality; 
   fill-rule:evenodd;  clip-rule:evenodd" viewBox="0 0 8500 11000" 
   xmlns:xlink="http://www.w3.org/1999/xlink">

That specifies the winding order is irrelevant, the nesting order determines if a path loop defines a hole or an island.

The text is inside the rectangles so it should be holes. The inside of the O’s, A’s, P’s and B’s, etc is inside the hole which is the letter, so it should be interpreted as an island. If the number of boundaries you need to cross to get to the outside is odd then it is a fill, else it is a hole.

If I remove the fillrule:oddeven attribute from the original file then it displays in InkScape just the same as the GFUI proving that the GFUI ignores that attribute, which is part of the SVG standard.

9 Likes

@smcgathyfay FWIW, I’ve had a few issues with Inkscape SVG’s here too. I can tell you it’s not the norm though as I have no issues with the vast majority of SVG files in general. I just open them directly vs importing them. I didn’t use them much when just creating graphics for myself, but once I got into selling prints, shirts and such, it was one of the few universal file types the printers asked for so I just got into the habit of saving a SVG version of my work.

2 Likes

@palmercr Thanks for the explanation, it really helps me understand what is happening. Without your efforts, I don’t think we would have figured it out. Although I would have rather not have spent the 10 hours or so working on my files trying to figure out what I was doing wrong, it was worth the learning experience :slight_smile:

7 Likes

I love solving mysteries and I now know a lot more about SVG files than I did last week. I found a great Python library called svgpathtools that allowed me to break up the compound paths and display each loop.

10 Likes

Great thread - filing some bugs out of this for the team to follow up on.

We have a lot more test mileage on SVGs than PDFs, so while this might work, I would use it as a backup and not a primary approach.

3 Likes

We had much better success using pdfs created with that software than the SVG files. Much cleaner prints from the pdfs.

1 Like

Good Day, the nice thing about standards is you have so many to choose from…

2 Likes

Not sure of your point. GF chose to use SVG, which has a W3C standard, but don’t implement the full SVG rules.

Not meant to offend, it’s just my joke that’s I’ve been running since the 80’s. It’s meant to point out the moving target we have to deal with in terms of standards. And the fact like its trying to shoot/hit a moving target…

1 Like