Welcome to libmsvg version 0.72 =============================== libmsvg is a work in progress to make a minimal and generic library to read and write SVG files. SVG stand for Scalable Vector Graphics and is a standard defined by the World Wide Web Consortium. See http://www.w3.org/Graphics/SVG/ To be useful, libmsvg concentrates in a small subset of the SVG Tiny 1.2 specification. Supported platforms =================== libmsvg is programmed in ANSI-C, so it must compile in every plattform, you only have to build the makefiles. We provide the makefiles for these three supported platforms: Linux using the gcc compiler and gmake DOS using the DJGPP compiler and gmake Win32 using the TDM-GCC compiler (a Mingw distribution) and mingw32-make Dependencies ============ libmsvg only depends of libexpat 1.2 (http://www.jclark.com/xml/expat.html), but we include our own copy of the expat library, so there are no depndencies at all. Render svg files with libmsvg ============================= libmsvg is a generic library and can't render svg files by itself, it needs a graphic library to do the job. The distribution comes with two examples in the subdirectories mgrx and gd using the MGRX library and the GD library to render svg files. API lack of stability ===================== libmsvg is a work in progress so be warned the API could change in every new version to accommodate new ideas and expand the supported SVG subset. libmsvg installation instructions ================================= Requirements: ------------- The source files: libmsvg0072.tar.gz or msvg0072.zip This document: readme A. Unpacking the libmsvg archive -------------------------------- 1) Choose and download the .tar.gz or .zip package. You can use either. Usually Linux users choose the .tar.gz and DJGPP/Mingw users choose the .zip. 2) 'cd' to a directory where you want the libmsvg file tree to be created as a subdirectory. Examples are: DJGPP : cd C:\DJGPP\contrib Mingw : cd C:\MINGW\contrib Linux : cd /usr/local/src 3) unpack the libmsvg archive: tar xzvf libmsvg0072.tar.gz or unzip msvg0072.zip This will create the subdirectory 'libmsvg'. B. Compiling libmsvg -------------------- 1) Go to libmsvg base dir. 2) Edit the "makedefs" file and set to 'y' only one of this variables: LINUX_VERSION DJGPP_VERSION MINGW_VERSION By default the LINUX_VERSION is checked 3) Run 'make' ('mingw32-make' for Mingw users) Note for DJGPP/Mingw users: Do _not_ use an environment variable `SHELL' leading to `bash', e.g. `SHELL=/djgpp/bin/bash.exe'. Some parts of the DJGPP/Mingw Makefiles require `command.com'. C. Testing libmsvg ------------------ 1) Go to the 'test' subdir. 2) run the test programs. D. Installing libmsvg --------------------- Copy the library 'libmsvg.a' from 'src' subdir to the system library directory. Copy the header file 'msvg.h' from 'src' subdir to your system include directory. Or you can let makefiles do it for you, running 'make install'. You can uninstall the library running 'make uninstall'. Note for Linux users: probably you must be root to do that. Help ==== Read the programmer's guide in the 'doc' subdir or online http://www.fgrim.com/libmsvg/prog_guide.html Check the libmsvg site http://www.fgrim.com/libmsvg for updates, etc Send me a mail License ======= libmsvg is free software. You can redistribute it and/or modify it under the Expat license. See the 'copying.txt' file for details. the 'mgrx' subdir is not part of libmsvg, it contains example programs to render svg files using the MGRX graphics library and libmsvg of course, some day they will be part of the MGRX library under the LGPL license. Enjoy, Mariano Alvarez