PuffinPlot issue tracker

Bug: a88/b23

ID : b23ecedb-f1f5-476e-963e-03fbaf724bf7
Short name : a88/b23
Status : open
Severity : minor
Assigned :
Reporter : Pontus Lurcock <pont@talvi.net>
Creator : Pontus Lurcock <pont@talvi.net>
Created : Thu, 10 May 2012 16:46:09 +0000
Target : 1.6
Summary : Native PDF/SVG export [227]

Comment: --------- Comment ---------
ID: 21a1f175-dd25-4dd9-b558-82b210512f28
Short name: a88/b23/21a
From: Pontus Lurcock <pont@talvi.net>
Date: Thu, 10 May 2012 16:46:09 +0000

I should consider implementing PDF and SVG export within PuffinPlot
itself. At first sight this seems insanely laborious -- it would 
indeed be laborious, but the labour would be far less than that 
required to implement full SVG and PDF export libraries -- after
all, PuffinPlot uses only a tiny subset of the full specifications
of these formats.

Probably, the way to go would be to create an internal API for all
PuffinPlot's graphics operations -- really not much more than lines,
text, and outlined and filled polygons and circles. Then just write
back-ends that plug into the interface. A lot of boilerplate, but
the benefits would be a much smaller executable size, faster export,
more compact and well-structured exported files, and (most 
importantly) full control over the file format. No more trying
to second-guess how iText et al. are going to deal with various
Graphics2D calls.

Comment: --------- Comment ---------
ID: 479683de-5b31-4078-81aa-18f764273106
Short name: a88/b23/479
From: Pontus Lurcock <pont@talvi.net>
Date: Thu, 10 May 2012 16:46:16 +0000

This will probably not be done soon!

Comment: --------- Comment ---------
ID: 785752f4-3118-4706-adc8-177b37bdb700
Short name: a88/b23/785
From: Pontus Lurcock <pont@talvi.net>
Date: Mon, 14 May 2012 21:19:48 +0000

Another advantage with defining an internal vector graphics API:
I can include things which Graphics2D doesn't support. At present
I am thinking specifically of grouping graphics elements, which
is very handy for post-processing of SVG files (it would be nice
to get one group per plot) but can't AFAIK be represented in
Graphics2D -- it's irrelevant for drawing to the screen, after all.