GNU plotutils now has SVG support

Howdy, SVG people.

This is to let you know that the GNU plotting utilities ("plotutils")
package can now export SVG.  Version 2.4.1 of the package, including a
175-page manual, was released yesterday.  Its home page is
http://www.gnu.org/software/plotutils .

The centerpiece of the package (about 90% of the code) is GNU libplot, a
2-D device-independent vector graphics library.  "Device-independent" means
that its API is independent of the graphics format to be exported.  It can
export many vector formats, including WebCGM, PS/EPS, PCL 5, HP-GL/2, and
Adobe Illustrator.  As of this release, it can also export SVG and PNG.
When exporting a raster format, it uses the GNU libxmi library for
scan-conversion (see http://www.gnu.org/software/libxmi ).

libplot is written in C, but a C++ class library ("libplotter") that
provides an object-oriented interface to its functionality is included.
libplot can be installed out of the box on any GNU/Linux, FreeBSD, or Unix
system.  It's written in ANSI C, so it should be possible to compile and
install it on any platform with an ANSI C compiler.

Our goal is for the libplot API to become the standard 2-D vector graphics
API, at least for technical and scientific graphics.  Features that are of
greatest use in general and business graphics (such as image objects,
paths filled with textures, hyperlinks, etc.) will gradually be added.

By all means give the new release a try!  I'm especially interested in
getting feedback on the quality of the generated SVG.  It conforms to the
3 March 2000 specification, and it's stylable SVG rather than exchange SVG.
However, it does use several features that aren't yet widely implemented in
SVG viewers, such as `baseline-identifier'.

The plotutils package includes a sample command-line program, GNU graph,
which does XY plotting.  You can do, for example,

	echo 0 0 1 1 2 0 | graph -T svg > graph.svg

to prepare an XY plot, in SVG format, from a three-point dataset comprising
the points (0,0), (1,1), and (2,0).  However, the plot labels will be
positioned properly only if your SVG viewer supports `baseline-identifier'.

In later messages I'll comment on the current SVG specification, in the
light of a few problems I encountered while writing libplot's SVG driver.

--Robert

-- 
Robert S. Maier   | Internet: rsm@math.arizona.edu
Dept. of Math.    | 
Univ. of Arizona  | FAX:   +1 520 621 8322
Tucson, AZ  85721 | Voice: +1 520 621 6892 (department)
U.S.A.            |        +1 520 621 2617 (office)

Maintainer of the GNU plotting utilities package
(see http://www.gnu.org/software/plotutils/plotutils.html ).

Received on Wednesday, 5 July 2000 12:25:31 UTC