svgpathtools
svgpathtools copied to clipboard
A collection of tools for manipulating and analyzing SVG Path objects and Bezier curves.
Any plan for path boolean operations and path simplification? These are common operations on svg paths.
I'm trying to save my list of paths to svg using 'cm' as units. I call disvg with `viewport` and `baseunit` parameters set (but not `dimentions`). The `baseunit` value is...
The current parsing works great on well formed path but could be improved when it comes to handling invalid cases: 1. the "Unallowed implicit command" error message mentions an internal...
If a bbox degenerates into an interval (x_min=x_max or y_min=y_max), then corresponding width=0 and [intersection](https://github.com/mathandy/svgpathtools/blob/fcb648b9bb9591d925876d3b51649fa175b40524/svgpathtools/bezier.py#L247) is not counted
This is a rollup of my fixes for Issues [208](https://github.com/mathandy/svgpathtools/issues/208), [209](https://github.com/mathandy/svgpathtools/issues/209), and [210](https://github.com/mathandy/svgpathtools/issues/210).
The processing of SVG elements occurs by type (in order: path, polyline, polygon, line, ellipse, circle, and rect) by calling `doc.getElementsByTagName()` for each type. This ends up returning the paths...
Got this error today trying to read a huge (33MiB) SVG Inkscape export. ``` File "/home/bcwhite/.local/lib/python3.9/site-packages/svgpathtools/svg_to_paths.py", line 253, in svg2paths2 return svg2paths(svg_file_location=svg_file_location, File "/home/bcwhite/.local/lib/python3.9/site-packages/svgpathtools/svg_to_paths.py", line 207, in svg2paths d_strings +=...
In processing an SVG file in preparation for display, I find myself in need of information from parent "g" tags as well as the global "style" tag. What do you...
Hi @mathandy. Thanks for your work on this library! We use it for all kinds of stuff. Just wondering if you had any insight on this issue we're experiencing parsing...
for a closed path ```python path1 = parse_path('M 300 100 C 100 100 200 200 200 300 L 250 350 Z') path1.isclosed() # is True d = path1.d() # 'M...