Here's my GSoC application, any comments/critiques are welcome!
I would like to implement a PGF output extension for Inkscape. Currently,
the TeX exporter in Inkscape utilizes the PSTricks macros, which are not
portable and do not work with pdftex/pdflatex.
PGF is a Portable Graphics Format for use with TeX/LaTeX/ConTeXt and works
with all major back-end drivers.
There are several feature requests which will be solved by this project:
https://bugs.launchpad.net/inkscape/+bug/170802 : PS + LaTeX export
https://bugs.launchpad.net/inkscape/+bug/171141 : Richer text layout
https://bugs.launchpad.net/inkscape/+bug/172195 : Export LaTeX with PGF/TikZ
https://bugs.launchpad.net/inkscape/+bug/172022 : Combined PDF/LaTeX export
The implementation will be rather straightforward due to Inkscape's
extension system. A new output extension (latex-pgf) will be developed
which provides TeX output using the PGF macro package.
PGF has two interface layers: the base system (PGF) and the front-end
interface (TikZ). While exporting TikZ code might make subsequent editing
easier, the base PGF layer is much more flexible and therefore will be used
for this project.
While I haven't used GTK or worked with the Inkscape code base (aside from a
simple bug fix for proof-of-competency:
https://bugs.launchpad.net/inkscape/+bug/168349/comments/10), I have
extensive experience with C++ and have used other widget toolkits such as
JUCE. I have contributed small patches to several open source projects
including Django and Lazy C++.
I am also very familiar with LaTeX, having used it to typeset many reports
over the last several years, and I use the PGF/TikZ package whenever I need
to typeset drawings and diagrams.
I also work well alone, and require little hand-holding. I have completed
numerous projects on my own and am currently working on a software metrics
visualization application in C++ which I plan to open source.
The PGF exporter will have support for the following features:
* Fill styles
* Stroke styles
- Dashes, Dots, etc.
The first order of business will be to get a very basic export working.
This will include support for paths, and nothing more. After this, features
will be added on incrementally until the full export extension is complete.
After basic path support is working, text output will be added. An option
will be provided to either escape text or pass it through as-is so that it
will be processed by TeX, allowing for formulas and other TeX trickery.
Strokes styles, fills, and gradients will be implemented next. These all
have direct equivalents in PGF.
Finally, more esoteric features such as pattern fills and clipping will be
implemented. Although these are supported in PGF, they are far less likely
to be used than the other output functionality and thus will be implemented