SVG Import Filter

From Apache OpenOffice Wiki
Jump to: navigation, search
SVG Import
(external impl.)
Source code
Group opacity
Elliptic arcs
Path semantics
Coordinate systems

SVG support is the most requested feature in So far, there exists 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 also Issue:49991.

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 side of the page.

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.

SVG Bounty

Created --JZA 23:39, 18 August 2009 (UTC)

This proposal submited to the CC for evaluation under the development budget to fund a bounty to solve the SVG issue.

SVG issue in is one of the most needed features for the Art project. It would enable to take care of project such as OpenClipart and OpenTemplate repositories.

It will also conclude one of the most voted and oldest issues in the Issue Tracker. Around 8 years old and more than 486 votes to implement it.

We are asking the budget holders to approve a $ 2,000 bounty to implement the SVG solution. As a recommendation we broke down the bounty by milestones.

  • Identify what is needed 300 (15%)
  • review the current patches 500 (25%)
  • Create the native UNO service 800 (50%)
  • Debug and support the features 400 (20%)

We will also have an Open Tip Jar, which will collect additional funding from individuals that want this issue solved. Through pay pal we will set up an account specifically for this issue.


The launch of the bounty will go public a few weeks after the approval and would be published with help of the Marketing list, call for action on Planet, Education Efforts, BizDev Project, and non-OOo related blogs and podcast like The Linux Action Show, The Linux Link Tech Show, Digg, LinuxJournal, Otto's Club and Slashdot.


We think on giving an early bird notice to recognized developers like:

  • Thorsten Behrens
  • Eric Bachard (code review, and some well defined tasks)
  • Jesus Corrius
  • Kendy
  • (volunteers, please add yourself)

The task could e.g. be realized with the help of students and professors from Seneca College (Toronto, Canada)

The code should be working on a native C++ implementation within a UNO service that can render the SVG wtih gradient and transparency support.

See also

Personal tools