On 27.09.2011 10:18, Armin Le Grand wrote:
Hi *,

I wanted to keep you up to date that I started looking for a replacement
of SVG embedding functionality in the trunk version. This is needed
since cairo and librsvg are gpl/lgpl and thus need to be avoided for an
Apache release.

        Hi *,

I just wanted to keep you all updated on what is going on SVG replacement. I have now invested one week and there are three basic possibilities:

(a) Deactivate building the SVG rendering component vcl/source/components/rasterizer_rsvg.cxx. This would be the minimal solution for solving the copyright problems.

Advantages:
- Quick and easy to do

Disadvantages:
- Losing some SVG functionality again
- Inserting SVG would be possible, would not be interpreted (shown/printed/exported). It would be saved and loaded - Loading files where SVG was inserted is possible, the alternate visualisation in the metafile data would be used - Other office version loading a AOO 3.4 file and having SVG support would work

(b) Replacing the SVG renderer component to use something else (Batik would be the best candidate with Apache licence compatibility as it seems)

Advantages:
- SVG would stay supported, as bitmap graphic as currently

Disadvantages:
- mem/speed concerns with java
- still an external renderer, screen and all outputs would use a bitmap visualization

(c) Write an own SVG importer for AOO

Advantages:
- vector graphic stays vector graphic, esp. in all outputs. No pixel blocks when zooming in - future migration way to not only integrate, but also break up in SdrObjects and edit content - Needs to interpreted only once (to primitives), not each time an external renderer needs to create a new bitmap replacement
- future usage of included animations possible (smil)

Disadvantages:
- Huge task, but not rocket science, well documented
- Timeframe is not clear

I experimented with (a) and (c) up to now. I invested ca. one week in (c) to estimate the do-ability. I can already import the tiger and other examples quite well, but still a lot has to be done. The abstract SVG importer I started needs to be extended, but has shown the last days to be a good base to do so. Representing SVG as primitives is also pretty well doable, showing that this goes in the right direction.

I will spend another week and see how I can progress. If I will not be able to advance with the necessary speed, I will probably fallback to (b).


Sincerely,
Armin
--
ALG

Reply via email to