Hi Taco!
That is hard. The main problem is the word 'arbitrary'. Sorry, I was too general. The paths are a outline of a relatively simple shape (so border cases should rarely occur) with area >0k, not selfintersecting.
* is a point *on* the path in or out? It doesn't matter in my case.
This one seems ok at first glance (extensive testing will probably show border cases that are not covered). I did run some tests. It works like a charm, exactly the way I expect. Thank you very much for this piece of code. If I got it right, your basic idea is to count the times the point inside the boundingbox crosses the border of the shape. And the subpath stuff results of the fact that intersectionpoint/times returns only one intersection even if there are more. Very smart.
I'm grateful for your support. Kind regards Marco