packages feed

SVGFonts-1.4: SVGFonts.cabal

Name:             SVGFonts
Version:          1.4
Synopsis:         Fonts from the SVG-Font format
Description:      Native font support for the diagrams framework (<http://projects.haskell.org/diagrams/>). 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 <http://fontforge.sourceforge.net/>, 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:
                    <http://hackage.haskell.org/package/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