Original author(s) | Raph Levien |
---|---|
Developer(s) | GNOME Project |
Stable release | 2.57.0
/ 13 September 2023 |
Repository | |
Written in | C, Rust |
Type | Graphics library |
License | GPLv2, LGPLv2 |
Website | wiki |
librsvg is a free software SVG rendering library written as part of the GNOME project, intended to be lightweight and portable.[1] The Linux command-line program rsvg-convert 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:
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.[4] It was once picked for these web applications because it was decidedly "fast but not very accurate", according to MediaWiki.[5] As of May 2023, Wikipedia and Wikimedia Commons use a version of librsvg 2.44 to render SVG as PNG.[6][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 December 2017 version 2.40.20.[10] The rsvg-view manual page is also available online.[11]
Version history
product name | date |
---|---|
1.0.0 | 2001-05-08 |
1.1.6 | 2002-03-07 |
2.0.0 | 2002-06-19 |
2.1.0 | 2002-09-27 |
2.2.0 | 2003-01-20 |
2.3.0 | 2003-04-08 |
2.4.0 | 2003-09-08 |
2.5.0 | 2003-12-07 |
2.6.0 | 2004-03-08 |
2.7.0 | 2004-03-10 |
2.8.0 | 2004-09-03 |
2.9.0 | 2005-01-25 |
2.11.0 | 2005-08-25 |
2.12.0 | 2005-09-15 |
2.13.0 | 2005-10-21 |
2.14.0 | 2006-02-25 |
2.15.0 | 2006-05-11 |
2.16.0 | 2006-08-31 |
2.18.0 | 2007-07-24 |
2.20.0 | 2008-01-19 |
2.22.0 | 2008-02-21 |
2.26.0 | 2009-03-16 |
2.31.0 | 2010-07-02 |
2.32.0 | 2010-09-27 |
2.34.0 | 2011-04-03 |
2.35.0 | 2011-11-14 |
2.36.0 | 2012-03-26 |
2.37.0 | 2013-01-10 |
2.39.0 | 2013-08-16 |
2.40.0 | 2013-10-14 |
2.40.16 | 2016-06-09 |
2.40.17 | 2017-04-07 |
2.40.20 | 2017-12-16 |
2.40.21 | 2020-02-26 |
2.41.0 | 2017-01-04 |
2.42.0 | 2018-01-09 |
2.43.0 | 2018-06-12 |
2.44.0 | 2018-08-23 |
2.45.0 | 2018-11-17 |
2.45.6 | 2019-05-14 |
2.45.92 | 2019-09-02 |
2.46.0 | 2019-09-09 |
2.47.0 | 2019-10-29 |
2.48.0 | 2020-03-07 |
2.48.9 | 2020-11-05 |
2.49.0 | 2020-05-29 |
2.49.5 | 2020-09-04 |
2.50.0 | 2020-09-10 |
2.50.3 | 2021-01-28 |
2.51.0 | 2021-02-03 |
2.51.4 | 2021-07-09 |
2.52.0 | 2021-09-15 |
2.53.0 | 2022-01-18 |
2.53.1 | 2022-02-12 |
2.53.2 | 2022-03-12 |
2.54.0 | 2022-03-16 |
2.54.1 | 2022-04-23 |
2.54.2 | 2022-05-13 |
2.54.3 | 2022-05-14 |
2.54.4 | 2022-06-10 |
2.54.5 | 2022-08-26 |
2.55.0 | 2022-08-03 |
2.55.1 | 2022-09-05 |
2.55.2 | 2023-03-16 |
Usage
On Linux with the librsvg2-bin package installed,[12] 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, XML, and valid SVG.
References
- ↑ "librsvg is a library to render SVG files using cairo". librsvg. GNOME. Retrieved May 10, 2012.
- ↑ "Librsvg 2.41.0 is released". mail.gnome.org. 2017-01-03. Retrieved 2018-11-20.
- ↑ Quintero, Federico Mena (2017). Replacing C library code with Rust: What I learned with librsvg (PDF). Manchester, UK: GUADEC. Archived from the original (PDF) on 2017-09-28. Retrieved 2018-11-20.
- ↑ Lucideer (April 27, 2009). "Manual:Image Administration - MediaWiki". MediaWiki. Retrieved April 6, 2011.
- ↑ "SVG benchmarks - MediaWiki". MediaWiki. Retrieved April 6, 2011.
- ↑ "Update librsvg to ≥2.42.3 (2.44.10)". Wikimedia Phabricator. Retrieved 2023-11-22.
- ↑ "librsvg bugs". Wikimedia Commons. Retrieved 2023-11-22.
- ↑ 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
- ↑ 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.
- ↑ TumaGonx Zakkum (2012-06-10). "RSVG-Convert SVG image conversion tool". Open Source Software and Windows 32-bit. Retrieved 2017-01-31.
- ↑ Paul Brossier; Dom Lachowicz; Alex Larsson; et al. "rsvg-view" (man page). Archived from the original on 2014-12-28. Retrieved 2014-12-28.
- ↑ "Debian -- Details of package librsvg2-bin in buster".