I have 2D closed vector paths, specified in SVG paths-like syntax - i.e. these paths include straight lines and various Bezier curves. Is there anything like a small, nice & discrete library (preferably in C, Java or Ruby, but any language will do if this library is clean and easy to use) that allows to do boolean operations like union, intersection and subtraction with these paths?
What I've found so far includes:
- Huge and pricey commercial vector graphic products (such as Autodesk AutoCAD or Adobe Illustrator) that can be called using some sort of API or scripted to do boolean 2D paths operations - which is clearly an overkill for my purposes.
- Inkscape developed in-house lib2geom library which lacks documentation, bindings, has some compilation issues, seems to be used in no projects besides Inkscape itself and looks fairly complex.
- CGAL is a huge and pretty complex computational geometry library, that works in pretty weird object space (i.e. you have crazy mix of templates, imperative style functions to do operations on these templated data structures, etc, etc), and doesn't seem to have sane bindings to other languages beside C++. Python bindings to CGAL seem to be abandoned and don't look very friendly to me.
- JTS seems to be GIS-centred and deals only with straight lines, while I need to deal with SVG-like Bezier curves.
So, the question is, is there are any other small, nice & easy libraries floating around to deal with boolean operations on SVG-like paths?