you could use curvePoint() (or bezierPoint(), depending on type of curve) to decimate the curve into a polygonal approximation, then calc polygon area (google or wiki for it, it's simple: abs(sum(v[i] X v[i-1])/2) in pseudocode), increase decimation as necessary to better approximate