Difference between revisions of "SVG Import Filter"
(Fixed broken issue links (due to missing inter wiki definition for issue zilla).) |
|||
Line 1: | Line 1: | ||
{{SVGTOC}} | {{SVGTOC}} | ||
− | SVG support is | + | SVG support is [http://qa.openoffice.org/iz_votes.html the most requested feature] in OpenOffice.org. So far, there exist an external filter that has quite strong dependencies, and a proof-of-concept implementation of an internal one. [[Summer_of_Code_2007#Draw.2FImpress:_SVG_Import_Filter|Google Summer of Code 2007 project]] was accepted to get the internal implementation to a shape that would be acceptable for integration. |
− | + | The associated issues are [http://qa.openoffice.org/issues/show_bug.cgi?id=2497 Issue:2497], and [http://qa.openoffice.org/issues/show_bug.cgi?id=49991 Issue:49991] (for an intermediate solution). | |
+ | |||
+ | == External implementation == | ||
+ | |||
+ | The external filter (provided [http://haumacher.de/svg-import/ here]) tries to translate the SVG vocabulary (or parts thereof) into native [[OpenDocument]] primitives that can be manipulated with Draw. | ||
+ | |||
+ | You can go to the following locations. Keep in mind that these pages are "wiki" and you can add improvements and comments everywhere. Just press the edit button at the bottom of the page. | ||
<ul> | <ul> | ||
Line 13: | Line 19: | ||
</ul> | </ul> | ||
+ | == Internal implementation == | ||
+ | |||
+ | The external implementation unfortunately has very strong dependencies - [http://java.sun.com/javase/downloads/index.jsp Java 5.0], and [http://xmlgraphics.apache.org/batik/ Batik]. The goal of the internal implementation is to create a new import filter that does not require any too big libraries. | ||
+ | |||
+ | A proof of concept implementation written in C++ using the [[Uno|UNO]] [http://api.openoffice.org/docs/common/ref/com/sun/star/drawing/module-ix.html Drawing API] and a lighweight [http://cairographics.org/libsvg libsvg library] exists [http://svn.gnome.org/viewcvs/ooo-build/trunk/patches/src680/svg-import.diff here], but it needs a lot of work to be really usable. Another problem is that libsvg does not seem to be too actively maintained; so the real implementation should use OOo's [http://wiki.services.openoffice.org/wiki/FastParser internal XML parser]. | ||
− | + | Mark Paruzel was accepted as a Google Summer of Code 2007 participant to work on this. |
Revision as of 21:48, 15 April 2007
SVG Import (external impl.) |
---|
Overview |
Download |
Source code |
Features |
Restrictions |
FAQ |
TODO |
OpenDocument |
Gradients |
Group opacity |
Elliptic arcs |
Path semantics |
Coordinate systems |
SVG support is the most requested feature in OpenOffice.org. So far, there exist an external filter that has quite strong dependencies, and a proof-of-concept implementation of an internal one. Google Summer of Code 2007 project was accepted to get the internal implementation to a shape that would be acceptable for integration.
The associated issues are Issue:2497, and Issue:49991 (for an intermediate solution).
External implementation
The external filter (provided here) tries to translate the SVG vocabulary (or parts thereof) into native OpenDocument primitives that can be manipulated with Draw.
You can go to the following locations. Keep in mind that these pages are "wiki" and you can add improvements and comments everywhere. Just press the edit button at the bottom of the page.
- Download the filter.
- Check out the supported features of the import filter.
- Find out, what's currently on the unsupported features list.
- Get the filter source code and build instructions.
- Report your experiences using the filter.
Internal implementation
The external implementation unfortunately has very strong dependencies - Java 5.0, and Batik. The goal of the internal implementation is to create a new import filter that does not require any too big libraries.
A proof of concept implementation written in C++ using the UNO Drawing API and a lighweight libsvg library exists here, but it needs a lot of work to be really usable. Another problem is that libsvg does not seem to be too actively maintained; so the real implementation should use OOo's internal XML parser.
Mark Paruzel was accepted as a Google Summer of Code 2007 participant to work on this.