librsvg

librsvg
Librsvg.svg
Original author(s)Raph Levien
Developer(s)GNOME Project
Stable release2.45.5 (16 February 2019; 8 months ago (2019-02-16)[1][2]) [±]
Repository Edit this at Wikidata
Written inC, Rust
TypeGraphics library
LicenseGPLv2, LGPLv2
Websitewiki.gnome.org/Projects/LibRsvg

librsvg is a free software SVG rendering library written as part of the GNOME project, intended to be lightweight and portable.[3] The Linux command-line program rsvg uses the library to turn SVG files into raster images.

Backends

librsvg uses two other libraries to perform tasks from reading the file to rendering to the screen.

  • libxml is used to parse the XML code orientation of an SVG file into a form that can be accessed quickly by the library.
  • cairo is used to render the information obtained by libxml to a block of memory.

Since v2.41.0 many parts have been rewritten to Rust.[4][5]

Adoption

librsvg is developed for the GNOME desktop environment and as such is used by GNOME Files but is also intended to be used in other software applications. As a notable example, wikis hosted by Wikimedia use librsvg to render SVG images.[6] It was once picked for these web applications because it was decidedly "fast but not very accurate", according to MediaWiki.[7]

Upon switching to the cairo vector rendering engine in 2005,[8][9] librsvg became more accurate and more visually pleasing. Since 2012 an independent developer published Win32 console ports rsvg-convert.exe, as of March 2016 version 2.40.13.[10] The rsvg-view manual page is also available online.[11]

Usage

On Linux, an SVG file can be converted to PNG as follows:

$ rsvg-convert --format=png --output=diagram.png diagram.svg

Other supported output formats include PDF and XML.

References

  1. ^ "Tags - GNOME / librsvg". GNOME. Retrieved 27 April 2018.
  2. ^ "Releases · GNOME/librsvg · GitHub". GNOME. Retrieved 27 April 2018.
  3. ^ "librsvg is a library to render SVG files using cairo". librsvg. GNOME. Retrieved May 10, 2012.
  4. ^ "Librsvg 2.41.0 is released". mail.gnome.org. 2017-01-03. Retrieved 2018-11-20.
  5. ^ Quintero, Federico Mena (2017). Replacing C library code with Rust: What I learned with librsvg (PDF). Manchester, UK: GUADEC.
  6. ^ Lucideer (April 27, 2009). "Manual:Image Administration - MediaWiki". MediaWiki. MediaWiki. Retrieved April 6, 2011.
  7. ^ "SVG benchmarks - MediaWiki". MediaWiki. MediaWiki. Retrieved April 6, 2011.
  8. ^ Worth, Carl (2 September 2005). "svg shootout". gmane.comp.gnome.lib.librsvg.devel. Retrieved 29 November 2014. the librsvg maintainers … have now added cairo support to librsvg. Many thanks are due to Caleb Moore and Dom Lachowicz for this work. The source can be compiled --with-cairo and it builds separate librsvg-2-cairo.so and librsvg-2-base.so libraries
  9. ^ Moore, Caleb (3 November 2005). "using librsvg cairo". gmane.comp.gnome.lib.librsvg.devel. Retrieved 29 November 2014. Librsvg-2.13 cannot link to libart since that backend was majorly broken when we released 2.13 and thus must link to cairo.
  10. ^ TumaGonx Zakkum (2012-06-10). "RSVG-Convert SVG image conversion tool". Open Source Software and Windows 32-bit. Retrieved 2016-04-02.
  11. ^ Paul Brossier, Dom Lachowicz, Alex Larsson, e.a. "rsvg-view" (man page). Retrieved 2014-12-28.CS1 maint: uses authors parameter (link)

External links


This page was last updated at 2019-11-14 12:26 UTC. Update now. View original page.

All our content comes from Wikipedia and under the Creative Commons Attribution-ShareAlike License.


Top

If mathematical, chemical, physical and other formulas are not displayed correctly on this page, please useFirefox or Safari