wumpus-core: Pure Haskell PostScript and SVG generation.
Wumpus 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 [1] and reasonably
efficient as the use of stack operations, i.e gsave
and
grestore
, is minimized.
Pictures in Wumpus are made 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 builds pictures in a coordinate-free style.
GENERAL DRAWBACKS...
For actually drawing pictures, diagrams, etc. Wumpus is very
low level. There is a supplemantary package wumpus-basic
available that helps create certain types of diagram, but it is
experimental - functionality is added and dropped between
releases.
Some of the design decisions made for Wumpus-core are not sophisticated (e.g. how attributes like colour are handled, and how the bounding boxes of text labels are calculated), so Wumpus might be limited compared to other systems. However, the design permits a fairly simple implementation, which is a priority.
\[1\] Because the output is simple, straight-line PostScript code, it is possible to use GraphicsMagick or a similar tool to convert EPS files generated by Wumpus to many other formats (bitmaps).
Changelog:
33.0 to 0.34.0:
Clipping paths fixed. Previously they did not work for SVG or PostScript.
picOver
fixed. Drawing order was changed in version 0.33.0, butpicOver
was not updated accordingly (so it actually started drawing pictures under). It now works correctly.The lexer for escape characters embedded in label strings has been rewritten. It now supports octal and hexadecimal codes.
32.0 to 0.33.0:
Major change - reworked support for text encoding. Encoding maps are now linked with fonts - it was spotted that the Symbol font does not use the Latin1 names. The
TextEncoder
data type has been changed and there is a newFontEncoder
data type. There are also new modules for the Symbol Font encoder table and for the Default Encoder which accommodates both Latin1 and the Symbol font. This has also mandated changes to theFontFace
data type.Major change - the printing order has been changed. The first element in a
frame
of Prims is draw first. This means it appears first in the output file (this makes sense) - it also means it is at the back in the Z-Order. This latter point might not be so intuitive, but changing the printing order at least makes Wumpus-Core match SVG and PostScript.Changed the visiblity of the new colours (yellow, cyan, magenta) to be hidden at the top level. They can be exposed by importing
Wumpus.Core.Colour
.Wumpus.Core.FontSize
- addedspacerWidth
function.
Modules
[Index]
- Wumpus
- Wumpus.Core
- Wumpus.Core.AffineTrans
- Wumpus.Core.BoundingBox
- Wumpus.Core.Colour
- Wumpus.Core.FontSize
- Wumpus.Core.Geometry
- Wumpus.Core.GraphicsState
- Wumpus.Core.OutputPostScript
- Wumpus.Core.OutputSVG
- Wumpus.Core.Picture
- Wumpus.Core.PtSize
- Wumpus.Core.TextDefaultEncoder
- Wumpus.Core.TextEncoder
- Wumpus.Core.TextLatin1
- Wumpus.Core.TextSymbolFont
- Wumpus.Core.VersionNumber
- Wumpus.Core.WumpusTypes
- Wumpus.Core
Downloads
- wumpus-core-0.34.0.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
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
Candidates
- 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 | algebra (>=0.0.0.1 && <0.1), base (<5), containers (>=0.3 && <=0.4), time (>=1.1.3 && <1.2), vector-space (>=0.6 && <1.0) [details] |
License | BSD-3-Clause |
Copyright | Stephen Tetley <stephen.tetley@gmail.com> |
Author | |
Maintainer | Stephen Tetley <stephen.tetley@gmail.com> |
Revised | Revision 1 made by HerbertValerioRiedel at 2015-11-07T12:27:15Z |
Category | Graphics |
Home page | http://code.google.com/p/copperbox/ |
Uploaded | by StephenTetley at 2010-10-02T17:25:40Z |
Distributions | |
Reverse Dependencies | 5 direct, 0 indirect [details] |
Downloads | 25775 total (0 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] |