Using SVG module from Skia

Michael Stahl mst at libreoffice.org
Tue Apr 25 15:20:15 UTC 2023


On 25/04/2023 14:19, Hossein Nourikhah wrote:
> Hello,
> 
> I have studied some of the bugs from the svgio module of LibreOffice. As 
> described in the svgio/README.md, "svgio module uses sax for reading xml 
> and turns it into drawinglayer primitives. The rendering is done via 
> drawinglayer primitives".

[skia is faster...]

> 5. Architecture
> It may be possible to bypass svgio/cairo/etc. for creating the output, 
> or when the Skia backend is used in GUI. Then it would make sense to 
> create the output, or load the SVG in GUI, much faster.

hi Hossein,

this is ancient history now, but before 4.0 or 4.1, LO bundled librsvg 
(and its dependencies) to import/render SVG files.

(see commit e10124b20efb8cb7caf0f02fc537147a6505aa1d)

this was replaced by Armin's svgio component primarily because of 
architectural reasons:

with librsvg, all you get is a bitmap rendering.

with svgio, you get a decomposition of the SVG into drawinglayer 
primitives, which can then be further processed as a scene graph or even 
edited (there is some Break context menu that splits it into separate 
Draw objects).

so performance and SVG feature support is not the only concern, there is 
currently some functionality that would be difficult/impossible to 
implement with a third-party SVG filter.


More information about the LibreOffice mailing list