Kiva is a multi-platform DisplayPDF drawing engine that supports multiple output backends, including Windows, GTK, and Macintosh native windowing systems, a variety of raster image formats, PDF, and Postscript.
Kiva is available independently, or as part of the Enthought Tool Suite (whose dependencies can be had as part of the Enthon Python distribution)
DisplayPDF is more of a convention than an actual specification. It is a path-based drawing API based on a subset of the Adobe PDF specification. Besides basic vector drawing concepts such as paths, rects, line sytles, and the graphics state stack, it also supports pattern fills, antialiasing, and transparency. Perhaps the most popular implementation of DisplayPDF is Apple's Quartz 2D graphics API in Mac OS X.
Kiva currently implements the following features:
- paths and compiled paths; arcs, bezier curves, rectangles
- graphics state stack
- clip stack, disjoint rectangular clip regions
- raster image blitting
- arbitrary affine transforms of the graphics context
- bevelled and mitered joins
- line width, line dash
- Freetype or native fonts
- RGB, RGBA, or grayscale color depths
- transparency