Below is a brief summary of the IRC session from today:<br><br>-------BEGIN-------<br>For introducing SVG support into MapServer, we had 3 options in terms of libraries:<br><ol><li>librsvg</li><li>libsvg-cairo and cairo</li>
<li>agg and svg-viewer</li></ol>While librsvg and cairo cater to our
purposes well and are simple to use, they have a lot of dependencies.
On the the other hand, the advantage of using AGG is that it is already
present in MapServer (while Cairo is still unimplemented as of now). We
were unsure of the SVG capabilities of AGG but after a confirmation
from Assefa, we have decided that it is sufficient for our uses.
Implementing the missing subset of features would be a laborious task
as it would be sure to be non-trivial. Instead we will ensure that all
the unimplemented features are mentioned clearly in the documentation
to avoid frustration at the user-end.<br>
<br>The plan of action now is to start implementing the SVG parser
using AGG/SVG Viewer and make it render into an in-memory pixmap. This
will go into a single function so that we can modify it later once
Cairo is included into MapServer (or any another library). We will also
store a cache of different SVG symbols based on size and orientation
(stored as gdImages) so that these can be fed easily to any renderer.
This will make it easy to modify in the future.<br>
-------END-------<br><br>The below are the next steps of the project:<br><br>1- Create SVN sandbox for the project (done):<br>
<a href="http://svn.osgeo.org/mapserver/sandbox/svgsymbols/mapserver/" target="_blank">http://svn.osgeo.org/mapserver/sandbox/svgsymbols/mapserver/</a><br>
<br>
2- Import the AGG/SVG code in mapserver/renderers/agg/svg and change
namespace from agg:: to mapserver:: as was done for the rest of the AGG
code.<br>
<br>
3- Start experimenting with the AGG/SVG code and working on a RFC<br>
<br>Tell me if any changes should be made.<br><br>Regards<br><font color="#888888">Kiran</font>