Ticket #85 (new proposed-project)
Haven vector graphics
|Reported by:||Leon P Smith||Owned by:||none|
Description (last modified by Leon P Smith) (diff)
Haven is a vector grapics library for Haskell, currently implemented via the Java 2D rendering API. While potentially very useful, Haven is also unmaintained, undocumented, and tricky to get working. Problems have also cropped up with the toolchain it depends on. For example, GCJNI hasn't had a release in several years and changes to Cygwin have made it tricky to compile on Windows platforms.
Goals for this project would be to:
- Implement a stand-alone backend that generates output in Adobe's ubiquitous PDF format.
- Time permitting, implement a binding from Haven to Apple's Quartz rendering API.
- Write documentation for Haven.
- Place Haven into the Cabal.
Implementing the PDF generator would give this library functionality very comparable to ReportLab and PDF::Writer, two libraries for Python and Ruby respectively. These libraries have a very similar API. A major annoyance of mine is that points are passed as two floating-point arguments, preventing the composition of functions. Haven's API is quite a bit different. Much effort was put into making Haven's API compositional, above and beyond this annoyance.
- Leon P Smith <leon.p.smith@…>