Skip to content
/ libmsvg Public

libmsvg is a work in progress for making a minimal and generic library to read and write SVG files.

License

Notifications You must be signed in to change notification settings

malfer/libmsvg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to libmsvg version 0.90
===============================

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:  libmsvg0090.tar.gz or msvg0090.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 libmsvg0090.tar.gz
     or
         unzip msvg0090.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 <malfer at telefonica.net>

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

About

libmsvg is a work in progress for making a minimal and generic library to read and write SVG files.

Resources

License

Stars

Watchers

Forks

Packages

No packages published