diagrams-pdf is a work in progress, and some features are not implemented yet. However, it is functional enough.
cabal update && cabal install diagrams-pdf
A simple example that uses diagrams-pdf to draw a square.
import Diagrams.Prelude import Diagrams.Backend.Pdf.CmdLine b1 = square 20 # lw 0.002 main = defaultMain (pad 1.1 b1)
Save this to file named
Square.hs and compile this program:
ghc --make Square.hs
This will generate an executable which, when run produces a Pdf file. Run the
executable with the
--help option to find out more about how to call it.
$ ./Square --help Command-line diagram generation. Square [OPTIONS] Common flags: -w --width=INT Desired width of the output image (default 400) -h --height=INT Desired height of the output image (default 400) -o --output=FILE Output file -c --compressed Compressed PDF file -? --help Display help message -V --version Print version information
You must pass an output file name with a
$ ./Square -o square.pdf
Two goals of the HPDF library were : powerful typesetting and no dependence on the OS libraries (for better portability). But, HPDF was also my first big library mainly done to learn. So I had to limit myself.
As a consequence, HPDF is only using the standard fonts defined in the PDF specification. It is not (yet) possible to include and use any other fonts.
So, for diagrams it is causing a problem : the face setting has nearly no meaning. Face is currently selected from the Italic and Oblique settings. Times is the default but when oblique is chosen, Helvetica is used.
I hope to improve this in future releases.
Here is a list of the fonts in HPDF: