-
Notifications
You must be signed in to change notification settings - Fork 3
/
readme
139 lines (91 loc) · 3.8 KB
/
readme
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
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