Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/fogfish/svg


https://github.com/fogfish/svg

Last synced: 16 days ago
JSON representation

Awesome Lists containing this project

README

        

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