Erlang SVG library
******************
Copyright (c) 2012, Dmitry Kolesnikov
This library is free software; you can redistribute it and/or modify
it under the terms of the Apache License, version 2.0 as published by
http://www.apache.org/licenses/LICENSE-2.0
Introduction
============
The library provides interface to render SVG graphics from Erlang
application. The current version targets server-side rendering use-cases
with help of ImageMagic command line tool 'convert'. The library internal
uses xmerl for XML output.
Compile and build
=================
git clone https://github.com/fogfish/svg.git
cd svg
make
Supported features
==================
The following features are supported by current library release
See SVG specification http://www.w3.org/TR/SVG/ for detailed
features descriptions.
* SVG version 1.1
* styling using presentation attributes
- font properties
- text properties
- other visual properties
* grouping element 'g'
* 'path' element
- absolute line-to primitive
- absolute Bezier curve primitive
- closepath primitive
* 'rect' element
* 'circle' element
* 'ellipse' element
* 'text' element
- font styling
- basic text draw at defined point
* 'defs' element
* 'line' element
* 'polyline' element
Feature backlog
===============
The following features to be supported in following releases
* 'symbol' element
* 'use' element
* styling
- gradient, patterns
- 'style' element (css styling)
* 'path' element
- quadratic Bezier curve
- elliptical arc
* 'text' element
- list of coordinates to 'x', 'y' attributes
- inner 'tspan' element
- shift the current text position {dx, dy}
- layout feature
- 'textPath' element
* 'image' element
* common attributes: 'id', 'class'
* coordinate system, transform
* clipping, masking, filtering
* 'color-profile' element
Not supported features
======================
The following features is nice-to-have but they are not required
for server side rending use-cases.
* xsl styling
* svg metadata: 'desc', 'title'
* 'switch' element (conditional processing)
* 'path' element
- horizontal line-to primitive
- vertical line-to primitive
* text
- 'altGlyph', 'altGlyphDef', 'altGlyphItem', 'glyphRef' elements
* 'cursor' element
* animation
Interface and examples
======================
See src/svg.erl for api specification
See test/svg_test.erl for api example