Name: SVGFonts
Version: 1.4
Synopsis: Fonts from the SVG-Font format
Description: Native font support for the diagrams framework (). Note that this package can be used with any diagrams backend, not just the SVG backend. The SVG-tont 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 and Bitstream fonts.
.
Features:
.
* Complete implementation of the features that Fontforge produces (though not the complete SVG format)
.
* Kerning (/i.e./ the two characters in \"VA\" are closer than the characters in \"VV\")
.
* Unicode
.
* Ligatures
.
* An example that shows how to do text boxes with syntax highlighting using highlighting-kate:
.
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, though this would only sense in a diagrams backend that does rasterization in Haskell.
.
Example:
.
> # LANGUAGE NoMonomorphismRestriction #
>
> import Diagrams.Prelude
> import Diagrams.Backend.Cairo.CmdLine
> import Graphics.SVGFonts.ReadFont (textSVG)
>
> main = defaultMain (text' "Hello World")
>
> text' t = stroke (textSVG t 1) # fc purple # fillRule EvenOdd
> text'' t = stroke (textSVG' $ TextOpts t lin INSIDE_H KERN False 1 1 ) # fillRule EvenOdd
> text''' t = (textSVG_ $ TextOpts t lin INSIDE_H KERN True 1 1 ) # fillRule EvenOdd
.
category: Graphics
License: BSD3
License-file: LICENSE
Author: Tillmann Vogt
Maintainer: diagrams-discuss@googlegroups.com
build-type: Custom
Cabal-Version: >=1.10
data-files: fonts/*.svg
extra-source-files: diagrams/*.svg
source-repository head
type: git
location: https://github.com/diagrams/SVGFonts.git
Library
hs-source-dirs: src
ghc-options: -W -Wall -O2 -fno-warn-unused-do-bind
other-modules: Paths_SVGFonts
build-depends:
attoparsec,
base == 4.*,
containers >= 0.4 && < 0.6,
data-default-class < 0.1,
diagrams-lib >= 0.7 && < 0.8,
directory >= 1.1,
blaze-svg >= 0.3.3,
blaze-markup >= 0.5,
parsec,
split,
text,
tuple,
vector,
vector-space,
xml
exposed-modules:
Graphics.SVGFonts
Graphics.SVGFonts.ReadFont
Graphics.SVGFonts.CharReference
Graphics.SVGFonts.ReadPath
Graphics.SVGFonts.WriteFont
default-language: Haskell2010