packages feed

SVGFonts-0.3: README

SVGFonts

This library parses the SVG-Fonts format which is in XML, so it is easy to manipulate by hand (See http://www.w3.org/TR/SVG/fonts.html).

Features:
  - Complete implementation of the SVG-Font format
  - Outline generation with elimination of holes for easy extrusion
  - Kerning (i.e. the two characters in "VA" have a shorter distance than in "VV")
  - Rasterization with with antialiasing (subsampling with 256 grey values) (soon)
  - Font-Cache

Usage:
  You can 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 even cooler: help me with a patch to make this library more robust.
  Remember that a lot of fonts are not allowed to be distributed freely.

  src/Test/Font.hs is an example how to use this library.
  You can navigate around the 3d string with w,a,s,d, + arrows

  The main function to generate a visual representation of a string is:

  displayString :: String -> (Int,Int) -> Mode -> Spacing -> O -> V -> V -> P -> [AObj]

  The list [AObj] can contain various data:
  - Textures that can be used directly by OpenGL (TextureObject)
  - Names of texture files in the fontcache (collada-output needs this)
  - Extruded or non extruded outlines

  The data to generate can be specified by the last argument, the property-function:
    type P = [Char] -> [(Char,[CharProp])]
  that assigns properties to every character of the string (i.e. color of a char in syntaxhighlighting, Font)

  The [AObj] list has to be converted to whatever types you use