wumpus-core: Pure Haskell PostScript and SVG generation.

[ bsd3, graphics, library ] [ Propose Tags ]

Wumpus-Core is a low-level library for generating static 2D vector pictures, its salient feature is portability due to no FFI dependencies. It can generate PostScript (EPS) files and SVG files. The generated PostScript code is plain and reasonably efficient as the use of stack operations, i.e gsave and grestore, is minimized.

Although Wumpus-Core only generates vector output, the generated PostScript can be interpreted by GraphicsMagick or a similar tool to convert EPS files into bitmap image files (e.g JPEGs).

Wumpus-Core makes pictures from paths and text labels. Paths themselves are made from points. The usual affine transformations (rotations, scaling, translations) can be applied to Pictures. Unlike PostScript there is no notion of a current point, Wumpus-Core builds pictures in a coordinate-free style.


For actually building pictures, diagrams, etc. Wumpus-Core is very low-level. There are two supplementary packages Wumpus-Basic and Wumpus-Drawing also on Hackage that aim to be a higher-level basis for creating certain types of diagram, but they are experimental - functionality is added and dropped between releases and curently the API is too unstable to write code upon (they should be considered a technology preview rather than re-usable libraries).

Also, some of the design decisions made for Wumpus-Core are not sophisticated - e.g. how path and text attributes like colour are handled, and how the bounding boxes of text labels are calculated. Compared to other systems, Wumpus might be rather limited, however, the design permits a fairly simple implementation.


v0.41.0 to v0.42.0:

  • Removed the function oboundingBox from Core.BoundingBox. It was unused in Wumpus-Core and had unwise error handling baked-in.

  • Renamed direction in Wumpus.Core.Geometry, it is now vdirection.

  • Fixed internal Foldable instances for JoinList. The left and right folds worked in the wrong direction.

  • Some improvements to the Haddock documentation.


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.12.0, 0.13.0, 0.13.1, 0.14.0, 0.15.0, 0.16.0, 0.17.0, 0.18.0, 0.19.0, 0.20.0, 0.21.0, 0.22.0, 0.23.0, 0.30.0, 0.31.0, 0.32.0, 0.33.0, 0.34.0, 0.35.0, 0.36.0, 0.37.0, 0.40.0, 0.41.0, 0.42.0, 0.42.1, 0.43.0, 0.50.0, 0.51.0, 0.52.0, 0.52.1
Change log CHANGES
Dependencies base (<4.5), containers (>=0.3 && <=0.6), time (>=1.1.3 && <1.6), vector-space (>=0.6 && <1.0) [details]
License BSD-3-Clause
Copyright Stephen Tetley <stephen.tetley@gmail.com>
Maintainer Stephen Tetley <stephen.tetley@gmail.com>
Revised Revision 1 made by HerbertValerioRiedel at 2015-11-07T11:46:14Z
Category Graphics
Home page http://code.google.com/p/copperbox/
Uploaded by StephenTetley at 2011-01-14T21:15:27Z
Distributions NixOS:0.52.1
Downloads 24365 total (121 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]