The SVGFonts package

[Tags:bsd3, library]

Native font support for the Diagrams library. The SVG-Font format is easy to parse and was therefore chosen for a font library completely written in Haskell

You can convert your own font to SVG with or use the included LinLibertine, Bitstream


XML speed issues can be solved by trimming the svg file to only those characters that are used (or maybe binary xml one day)

Version 1.0 of this library supports texturing which would only make sense in a Diagrams Backend that does rasterization in Haskell.


  # LANGUAGE NoMonomorphismRestriction #

 import Diagrams.Prelude
 import Diagrams.Backend.Cairo.CmdLine
 import Graphics.SVGFonts.ReadFont (textSVG)

 main = defaultMain ( (text' "Hello World") <> (rect 8 1) # alignBL )

 text'  t = stroke (textSVG t 1) # fc purple # fillRule EvenOdd
 text'' t = stroke (textSVG_ $ TextOpts t lin INSIDE_H KERN 1 1 ) # fc purple # fillRule EvenOdd

[Skip to Readme]


Versions 0.1, 0.2, 0.3, 0.4, 1.0, 1.1, 1.1.1, 1.1.2, 1.2, 1.2.1, 1.3,,, 1.4,,,,,,,
Dependencies attoparsec-text, base (==4.*), containers (==0.4.*), data-default, diagrams-lib, directory (>=1.0 && <1.2), parsec, split, text, tuple, vector, vector-space, xml (==1.3.*) [details]
License BSD3
Author Tillmann Vogt
Category Graphics
Uploaded Tue Dec 13 17:44:27 UTC 2011 by TillmannVogt
Distributions LTSHaskell:, NixOS:, Stackage:, Tumbleweed:
Downloads 7202 total (133 in the last 30 days)
0 []
Status Docs uploaded by user
Build status unknown [no reports yet]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for SVGFonts

Readme for SVGFonts-1.1


  Convert your favourite font (i.e.  .ttf) into a .svg file with fontforge (the menu item under
  "Save All"). If a font converted on your own doesn't work, try the repair options, and if this still
  doens't work edit the file by hand or tell me.
  Remember that a lot of fonts are not allowed to be distributed freely.