librsvg issueshttps://gitlab.gnome.org/GNOME/librsvg/-/issues2023-06-27T02:00:38Zhttps://gitlab.gnome.org/GNOME/librsvg/-/issues/1[BZ#154931] SVG filters are limited to viewable area.2023-06-27T02:00:38ZBugzilla[BZ#154931] SVG filters are limited to viewable area.## Submitted by Richard Hoelscher
**[Link to original bug (#154931)](https://bugzilla.gnome.org/show_bug.cgi?id=154931)**
## Description
>>>
This SVG file has portions that extend up to 10 pixels above the viewable part
of the imag...## Submitted by Richard Hoelscher
**[Link to original bug (#154931)](https://bugzilla.gnome.org/show_bug.cgi?id=154931)**
## Description
>>>
This SVG file has portions that extend up to 10 pixels above the viewable part
of the image...
http://rahga.com/svg/gnotski.svg
When I apply filters for lighting and a drop shadow, I expected something
similar to the way Adobe's SVG view rendered the file, with the shadows extend
up past the top of the viewable area.
http://rahga.com/svg/gnotski_adobe.png
However, in RSVG, the filter effects seem limited to the viewable area, which
create odd effects when blurs and offsets come into play. The blocks in the
image don't seem to extend past the top of the viewable area.
http://rahga.com/svg/gnotski-rsvg.png
>>>https://gitlab.gnome.org/GNOME/librsvg/-/issues/683rsvg-convert fails when tries convert svg with scale specific value with Cair...2023-05-25T06:29:13ZOleksandr Khylobokyirsvg-convert fails when tries convert svg with scale specific value with Cairo "out of memory" error (w/ minimal repro)I am getting crash in `rsvg-tools` with error `Cairo "out of memory"` when trying convert [case.svg](/uploads/028b1646a203b470ac46c3281c9b12f7/case.svg) with params:
`rsvg-convert -u -w 1000 -h 1000 -z 6 -o test.png case.svg`
But when ...I am getting crash in `rsvg-tools` with error `Cairo "out of memory"` when trying convert [case.svg](/uploads/028b1646a203b470ac46c3281c9b12f7/case.svg) with params:
`rsvg-convert -u -w 1000 -h 1000 -z 6 -o test.png case.svg`
But when i've decreased zoom value rsvg-convert has rasterized successfully image:
`rsvg-convert -u -w 1000 -h 1000 -z 5 -o test.png case.svg`
Why do i get this error ? I can't understand, because i have a lot of free memory.
**Error**:
```
thread 'main' panicked at 'Cairo error "out of memory"', /Users/akhll/.cargo/registry/src/github.com-1ecc6299db9ec823/cairo-rs-0.8.1/src/enums.rs:274:13
stack backtrace:
0: 0x106b0fdf4 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::ha0848bb2602b5d05
1: 0x106b2deb0 - core::fmt::write::h9f3ccac2ef682b93
2: 0x106b0cb66 - std::io::Write::write_fmt::h0a47673aab280496
3: 0x106b11bd9 - std::panicking::default_hook::{{closure}}::h850c6aaf5e80c2f5
4: 0x106b1189d - std::panicking::default_hook::h037801299da6e1c6
5: 0x106b1225b - std::panicking::rust_panic_with_hook::h76436d4cf7a368ac
6: 0x106b11d85 - std::panicking::begin_panic_handler::{{closure}}::h516c76d70abf04f6
7: 0x106b10268 - std::sys_common::backtrace::__rust_end_short_backtrace::h653290b4f930faed
8: 0x106b11cea - _rust_begin_unwind
9: 0x106b3d52b - std::panicking::begin_panic_fmt::he778de6995efc6f5
10: 0x1069e85d6 - cairo::context::Context::restore::h78e29abe9ea37ccf
11: 0x1068ee783 - librsvg::drawing_ctx::DrawingCtx::draw_shape::h3f1e8d537428e7f8
12: 0x1068e0551 - <librsvg::shapes::Path as librsvg::element::Draw>::draw::h5087b734b4241ec1
13: 0x1068a4ce1 - <librsvg::element::ElementInner<T> as librsvg::element::Draw>::draw::{{closure}}::h553f671790ee9c79
14: 0x1068ec54c - librsvg::drawing_ctx::DrawingCtx::with_saved_transform::hc7c185d24adf7cfd
15: 0x1068abc0d - <librsvg::element::Element as librsvg::element::Draw>::draw::h9ead76deaeb371fb
16: 0x106989954 - <rctree::Node<librsvg::node::NodeData> as librsvg::node::NodeDraw>::draw::h406b34a1e3d847c2
17: 0x1068f1caf - librsvg::drawing_ctx::DrawingCtx::draw_node_from_stack::h96a34abfb8fa4f6d
18: 0x106989c24 - <rctree::Node<librsvg::node::NodeData> as librsvg::node::NodeDraw>::draw_children::h296fa6c33c8a0055
19: 0x10696cf1f - <librsvg::structure::Svg as librsvg::element::Draw>::draw::{{closure}}::h41d1a86b0dec8ead
20: 0x1068e9124 - librsvg::drawing_ctx::DrawingCtx::with_discrete_layer::{{closure}}::h1750398184c71905
21: 0x10696ce81 - <librsvg::structure::Svg as librsvg::element::Draw>::draw::h45bc37e4e7f2a462
22: 0x1068a4c41 - <librsvg::element::ElementInner<T> as librsvg::element::Draw>::draw::{{closure}}::h4ada904e6a65644b
23: 0x1068ec54c - librsvg::drawing_ctx::DrawingCtx::with_saved_transform::hc7c185d24adf7cfd
24: 0x1068abc0d - <librsvg::element::Element as librsvg::element::Draw>::draw::h9ead76deaeb371fb
25: 0x106989954 - <rctree::Node<librsvg::node::NodeData> as librsvg::node::NodeDraw>::draw::h406b34a1e3d847c2
26: 0x1068f1caf - librsvg::drawing_ctx::DrawingCtx::draw_node_from_stack::h96a34abfb8fa4f6d
27: 0x1068e6939 - librsvg::drawing_ctx::draw_tree::h28ac4391e337546b
28: 0x10692dd16 - librsvg::handle::Handle::render_layer::he38b27d3e25345e1
29: 0x1069b7f0a - librsvg::api::CairoRenderer::render_document::h1040397e6f6edfc4
30: 0x10684c6e1 - rsvg_convert::main::h13c94e8062e895b1
31: 0x10685060a - std::sys_common::backtrace::__rust_begin_short_backtrace::h990ec2a91f2899db
32: 0x10684ee4c - std::rt::lang_start::{{closure}}::hf740b4cdc1da995a
33: 0x106b126b4 - std::rt::lang_start_internal::h36ccce6e8a047133
34: 0x10684db39 - _main
```https://gitlab.gnome.org/GNOME/librsvg/-/issues/733part of the image with <pattern> not rendered2022-09-23T18:23:42ZJohannes Kalliauerpart of the image with <pattern> not renderedReported downstream in https://phabricator.wikimedia.org/T20463 aswell as in https://commons.wikimedia.org/wiki/Librsvg_bugs#Pattern (also reported in https://github.com/RazrFalcon/resvg/issues/385)
According to [T20463](https://phabri...Reported downstream in https://phabricator.wikimedia.org/T20463 aswell as in https://commons.wikimedia.org/wiki/Librsvg_bugs#Pattern (also reported in https://github.com/RazrFalcon/resvg/issues/385)
According to [T20463](https://phabricator.wikimedia.org/T20463) it might be a duplicate of #19 and #27
----
## https://commons.wikimedia.org/wiki/File:Provinzen_kastilien.svg
### svg
![20100415112424Provinzen_kastilienCSOUOCC_S_inkUOSCp.svg](/uploads/2321a814a6c76afcfe2821cbc94401c1/20100415112424Provinzen_kastilienCSOUOCC_S_inkUOSCp.svg)
### png
|librsvg 2.40|librsvg 2.50|librsvg 2.51|resvg|inkscape|batik|
|---|---|---|---|---|---|
|![20100415112424Provinzen_kastilienCSOUOCC_S_inkUOSCp_librsvg240](/uploads/e4e92d1c2e12e03553f8cdc242d51781/20100415112424Provinzen_kastilienCSOUOCC_S_inkUOSCp_librsvg240.png)|![20100415112424Provinzen_kastilienCSOUOCC_S_inkUOSCp_librsvg](/uploads/9692bceec29a09c8d43f00505b25ee99/20100415112424Provinzen_kastilienCSOUOCC_S_inkUOSCp_librsvg.png)|![20100415112424Provinzen_kastilienCSOUOCC_S_inkUOSCp_librsvg251](/uploads/dda487884e9b661d5a295c194956c9ac/20100415112424Provinzen_kastilienCSOUOCC_S_inkUOSCp_librsvg251.png)|![20100415112424Provinzen_kastilienCSOUOCC_S_inkUOSCp_rendersvg](/uploads/8c802f9ef6bbafbad730e9e6ac4f1304/20100415112424Provinzen_kastilienCSOUOCC_S_inkUOSCp_rendersvg.png)|![20100415112424Provinzen_kastilienCSOUOCC_S_inkUOSCp_Inkscape](/uploads/7f19e7656875ca4997b9938b83d69df4/20100415112424Provinzen_kastilienCSOUOCC_S_inkUOSCp_Inkscape.png)|![20100415112424Provinzen_kastilienCSOUOCC_S_inkUOSCp_batik](/uploads/7e46520e36efeea2ba6cd3b646cc01d5/20100415112424Provinzen_kastilienCSOUOCC_S_inkUOSCp_batik.png)
### copyright
source https://commons.wikimedia.org/wiki/File:Provinzen_kastilien.svg
author https://commons.wikimedia.org/wiki/User_talk:Marnal
license https://creativecommons.org/licenses/by/3.0
## https://commons.wikimedia.org/wiki/File:Grundriss_Burg_Hageneck.svg
### svg
![20150613092109Grundriss_Burg_HageneckCSOUOCC_SinkUOSCp.svg](/uploads/8b0d3c302315d09f6b3b38708f59c1ec/20150613092109Grundriss_Burg_HageneckCSOUOCC_SinkUOSCp.svg)
### png
|librsvg 2.40|librsvg 2.50|librsvg 2.51|resvg|inkscape|batik|
|---|---|---|---|---|---|
|![20150613092109Grundriss_Burg_HageneckCSOUOCC_SinkUOSCp_librsvg240](/uploads/9fb50bc32a7541e3021338c52f9ce19c/20150613092109Grundriss_Burg_HageneckCSOUOCC_SinkUOSCp_librsvg240.png)|![20150613092109Grundriss_Burg_HageneckCSOUOCC_SinkUOSCp_librsvg](/uploads/d735ab18b6238c49a7999743461afcd4/20150613092109Grundriss_Burg_HageneckCSOUOCC_SinkUOSCp_librsvg.png)|![20150613092109Grundriss_Burg_HageneckCSOUOCC_SinkUOSCp_librsvg251](/uploads/f9c574cd885bd52aab2e4ebebaa84591/20150613092109Grundriss_Burg_HageneckCSOUOCC_SinkUOSCp_librsvg251.png)|![20150613092109Grundriss_Burg_HageneckCSOUOCC_SinkUOSCp_rendersvg](/uploads/24c63625ce64cd143ae1b084bb02ce9c/20150613092109Grundriss_Burg_HageneckCSOUOCC_SinkUOSCp_rendersvg.png)|![20150613092109Grundriss_Burg_HageneckCSOUOCC_SinkUOSCp_Inkscape](/uploads/d2bd4b934386e2919fc5e3ecf45ea250/20150613092109Grundriss_Burg_HageneckCSOUOCC_SinkUOSCp_Inkscape.png)|![20150613092109Grundriss_Burg_HageneckCSOUOCC_SinkUOSCp_batik](/uploads/68d8c20103ec866dd2726736d4d3ed61/20150613092109Grundriss_Burg_HageneckCSOUOCC_SinkUOSCp_batik.png)|
### copyright
source https://commons.wikimedia.org/wiki/File:Grundriss_Burg_Hageneck.svg
author https://commons.wikimedia.org/wiki/User:Sir_Gawain
license https://creativecommons.org/licenses/by-sa/4.0
## https://commons.wikimedia.org/wiki/File:Segments_racleurs_piston-fr.svg?uselang=az
### svg
![Segments_racleurs_pistonfrCSOUOCC_SOSCp.svg](/uploads/bbfe0a94eefcf750cf7b36136f8c997c/Segments_racleurs_pistonfrCSOUOCC_SOSCp.svg)
### png
|librsvg 2.40|librsvg 2.50|librsvg 2.51|resvg|inkscape|batik|
|---|---|---|---|---|---|
|![Segments_racleurs_pistonfrCSOUOCC_SOSCp_librsvg240](/uploads/8e3e5e8ea5acdf1eca7cd26508a734d7/Segments_racleurs_pistonfrCSOUOCC_SOSCp_librsvg240.png)|![Segments_racleurs_pistonfrCSOUOCC_SOSCp_librsvg](/uploads/f58fbbe92c9ebe114bc6a0ad7ee29faa/Segments_racleurs_pistonfrCSOUOCC_SOSCp_librsvg.png)|![Segments_racleurs_pistonfrCSOUOCC_SOSCp_librsvg251](/uploads/c1efc736060b6f4ab50a80a8894c75af/Segments_racleurs_pistonfrCSOUOCC_SOSCp_librsvg251.png)|![Segments_racleurs_pistonfrCSOUOCC_SOSCp_rendersvg](/uploads/6471ef5682d188c5c0fc82d5167d6c9f/Segments_racleurs_pistonfrCSOUOCC_SOSCp_rendersvg.png)|![Segments_racleurs_pistonfrCSOUOCC_SOSCp_Inkscape](/uploads/1354a7dbf55e6b7d494eb09f5a3cf770/Segments_racleurs_pistonfrCSOUOCC_SOSCp_Inkscape.png)|![Segments_racleurs_pistonfrCSOUOCC_SOSCp_batik](/uploads/6c3e92ba885495a13ebac7db9ced2887/Segments_racleurs_pistonfrCSOUOCC_SOSCp_batik.png)|
![Bildschirmfoto_von_2021-05-16_14-01-29](/uploads/b98cc265495b127b6ec7b0dd39e5f2d1/Bildschirmfoto_von_2021-05-16_14-01-29.png)
### copyright
source https://commons.wikimedia.org/wiki/File:Segments_racleurs_piston-fr.svg?uselang=az
author https://commons.wikimedia.org/wiki/User:Emmanuel.boutet
license https://creativecommons.org/licenses/by-sa/3.0https://gitlab.gnome.org/GNOME/librsvg/-/issues/734hairline crack rendering2022-09-22T23:58:31ZJohannes Kalliauerhairline crack renderingreported downstream https://phabricator.wikimedia.org/T20936 on https://en.wikipedia.org/wiki/File:Crowned_Portcullis.svg
However https://commons.wikimedia.org/wiki/File:Hairline_crack.svg and https://commons.wikimedia.org/wiki/File:Si...reported downstream https://phabricator.wikimedia.org/T20936 on https://en.wikipedia.org/wiki/File:Crowned_Portcullis.svg
However https://commons.wikimedia.org/wiki/File:Hairline_crack.svg and https://commons.wikimedia.org/wiki/File:Silversmith_BMP2SVG_accelerated-i-o_300.svg are imho better examples.
reported "parallelstream"
- resvg: https://github.com/RazrFalcon/resvg/issues/234 (closed as malformed svg)
- inkscape: https://gitlab.com/inkscape/inkscape/-/issues/928#note_570343962
Basically everyone (except GPU-scaling adobe illustrator) renders them wrong. The Adobe Illustator-images are "stolen" from [a inkscape-bugreport](https://gitlab.com/inkscape/inkscape/-/issues/928#note_570549502).
## https://commons.wikimedia.org/wiki/File:Hairline_crack.svg
### svg
![Hairline_crack.svg](/uploads/205641a30b0787329ae7971af194e7ce/Hairline_crack.svg)
```xml
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" width="191" height="95.5" viewBox="0 0 198 99">
<rect width="198" height="99" fill="#FFF"/>
<rect x="0" y="0" width="99" height="99"/>
<rect width="99" height="99" x="99" y="0"/>
</svg>
```
### png
|librsvg 2.40|librsvg 2.50|librsvg 2.51|resvg|inkscape|batik|
|---|---|---|---|---|---|
|![Hairline_crack_librsvg240](/uploads/b150ca9e9a9e9d6a93b0004f67bbeac0/Hairline_crack_librsvg240.png)|![Hairline_crack_librsvg](/uploads/062e592d180710670668bee201742c49/Hairline_crack_librsvg.png)|![Hairline_crack_librsvg251](/uploads/725a0dc2c795d72812e4c0bed2fa5e4c/Hairline_crack_librsvg251.png)|![Hairline_crack_rendersvg](/uploads/8cfb93bb162be865ae6b3acc86a298ef/Hairline_crack_rendersvg.png)|![Hairline_crack_Inkscape](/uploads/e04ad26b89b74b803f0a1d67872cb8eb/Hairline_crack_Inkscape.png)|![Hairline_crack_batik](/uploads/6f77ee30ba2cab699170470c30fd593a/Hairline_crack_batik.png)|
### copyright
source https://commons.wikimedia.org/wiki/File:Hairline_crack.svg
author https://commons.wikimedia.org/wiki/User_talk:Sarang
license public domain
## https://commons.wikimedia.org/wiki/File:Silversmith_BMP2SVG_accelerated-i-o_300.svg
### svg
![file](https://upload.wikimedia.org/wikipedia/commons/8/89/Silversmith_BMP2SVG_accelerated-i-o_300.svg)
### png
|librsvg 2.50|resvg|inkscape|batik|expected|Adobe Illustrator(CPU)|Adobe Illustrator(GPU)
|---|---|---|---|---|---|---|
|![50](https://phab.wmfusercontent.org/file/data/blxzywman453a64inf7l/PHID-FILE-3yrldw7eql7wcxj3u2fa/Silversmith_BMP2SVG_accelerated-i-o_300_librsvg.png)|![re](https://phab.wmfusercontent.org/file/data/2tryguoontnzwav2gvz5/PHID-FILE-kxbjrujaurlk4hzseim5/Silversmith_BMP2SVG_accelerated-i-o_300_rendersvg.png)|![ink](https://phab.wmfusercontent.org/file/data/i5p4qpae4b2zsms3bmny/PHID-FILE-agxkxghgmqal2kx66m7o/Silversmith_BMP2SVG_accelerated-i-o_300_Inkscape.png)|![batik](https://phab.wmfusercontent.org/file/data/gxhvxywy6oikrh6gnhan/PHID-FILE-xspjnwnifgld32qnoatm/Silversmith_BMP2SVG_accelerated-i-o_300_batik.png)|![expected](https://phab.wmfusercontent.org/file/data/7s6bpt2nxg2jqppezo6y/PHID-FILE-rnp7uhimjksf4zuniae7/preview-Silversmith.jpg)|![Ai](https://gitlab.com/inkscape/inkscape/uploads/6a1750c1d099673e746260448f1d6a35/Silversmith_BMP2SVG_accelerated-i-o_300.png)|![gui](https://gitlab.com/inkscape/inkscape/uploads/423b8a443cfcb1905687e8662d0a65ad/image.png)
![vdiff](https://phab.wmfusercontent.org/file/data/xwnykjifmjclok46lcit/PHID-FILE-3rkrymc3afq4qi7dprer/Bildschirmfoto_von_2021-05-07_22-04-28.png)
### Detail from resvg
![re](https://phab.wmfusercontent.org/file/data/vk75jzk74b6xk6b7te52/PHID-FILE-hmopkag4y3lbdknxk4d2/68747470733a2f2f757365722d696d616765732e67697468756275736572636f6e74656e742e636f6d2f31353638373538312f37353439313437302d34653430613230302d353962362d313165612d396463652d3933336130626336613563302e706e67.png)
### copyright
source: https://commons.wikimedia.org/wiki/File:Silversmith_BMP2SVG_accelerated-i-o.svg
author: https://commons.wikimedia.org/wiki/User:DancingPhilosopher
license: https://creativecommons.org/licenses/by-sa/3.0/
## https://commons.wikimedia.org/wiki/File:T20936_Hairline_cracks.svg
### svg
![svg](https://upload.wikimedia.org/wikipedia/commons/3/3e/T20936_Hairline_cracks.svg)
## 512 px
|SVG|Inkscape|resvg|librsvg|batik|expected|AI(CPU)|AI(GPU)|
|---|---|---|---|---|---|---|---|
|![T20936_Hairline_cracks.svg](https://gitlab.com/inkscape/inkscape/uploads/6ec70f4ee0b293219345dbb4c085ca60/T20936_Hairline_cracks.svg)|![T20936_Hairline_cracks_Inkscape](https://gitlab.com/inkscape/inkscape/uploads/c453ffbe01fa2578baab597e001fc4bf/T20936_Hairline_cracks_Inkscape.png)|![T20936_Hairline_cracks_rendersvg](https://gitlab.com/inkscape/inkscape/uploads/719d9477d4e7f25f5e66065f84d3d6a5/T20936_Hairline_cracks_rendersvg.png)|![T20936_Hairline_cracks_librsvg](https://gitlab.com/inkscape/inkscape/uploads/5621bcbc3003790b90b9e84f8706885b/T20936_Hairline_cracks_librsvg.png)|![T20936_Hairline_cracks_batik](https://gitlab.com/inkscape/inkscape/uploads/c1b88ce5cf9ce63db7707e82e26b62f1/T20936_Hairline_cracks_batik.png)|![Two_way_complex_manifold_.svg](https://gitlab.com/inkscape/inkscape/uploads/8eeb3355fca1547953495a852ef4a0bd/Two_way_complex_manifold_.svg)|![cpu](https://gitlab.com/inkscape/inkscape/uploads/5c5e472f13f27cb4c49a14c591b5ef6b/image.png)|![gpu](https://gitlab.com/inkscape/inkscape/uploads/12a0c35e90b5865e80dd1781ca561871/image.png)
## copyright
source: https://commons.wikimedia.org/wiki/File:T20936_Hairline_cracks.svghttps://gitlab.gnome.org/GNOME/librsvg/-/issues/88Text with textLength and lengthAdjust not supported2022-02-01T23:19:38ZBugzillaText with textLength and lengthAdjust not supported## Submitted by Frédéric Scherma
**[Link to original bug (#730875)](https://bugzilla.gnome.org/show_bug.cgi?id=730875)**
## Description
>>>
I'm using rsvg to convert svg to png and I've a text with tspan into and a mono font family ...## Submitted by Frédéric Scherma
**[Link to original bug (#730875)](https://bugzilla.gnome.org/show_bug.cgi?id=730875)**
## Description
>>>
I'm using rsvg to convert svg to png and I've a text with tspan into and a mono font family and I specify 'textLength' and 'lengthAdjust' to 'spacingAndGlyphs'.
My rendering is perfect into most common web browsers, but when I use rsvg textLength and lenghAdjust they have not effects on the text rendering. I've tryed alternatives using a scale but I cannot have a correct alignement of my caracters.
I use rsvg with Python binding, and I've tryed with rsvg-convert tool too.
I've also tryied this test case: http://www.w3.org/Graphics/SVG/Test/20061213/svg/text-text-01-b.svg
It is ok into web browsers but not using the rsvg-convert tool.
>>>https://gitlab.gnome.org/GNOME/librsvg/-/issues/48[BZ#641823] transform="rotate(x)" causes incorrect gradient rendering.2021-10-22T00:07:09ZBugzilla[BZ#641823] transform="rotate(x)" causes incorrect gradient rendering.## Submitted by Gary van der Merwe
**[Link to original bug (#641823)](https://bugzilla.gnome.org/show_bug.cgi?id=641823)**
## Description
>>>
Created attachment 180378
minimal test case
If you have a svg file with a with a element ...## Submitted by Gary van der Merwe
**[Link to original bug (#641823)](https://bugzilla.gnome.org/show_bug.cgi?id=641823)**
## Description
>>>
Created attachment 180378
minimal test case
If you have a svg file with a with a element that uses a gradient, and it has a rotate transform, then the offset of the gradient is rendered incorrectly.
I've attached a minimal test case. The offsets are correct at 0° multiples of 90°. It is worst at multiples 45°.
My use case is this file: http://en.wikipedia.org/wiki/File:Rowing_Blade_Template.svg, and the many files based on it. Sometimes they are rendered correctly, e.g.: http://en.wikipedia.org/wiki/File:Josephine_Butler_College_Boat_Club_Blade.svg, but if I download them, and run convert manually on my computer, then they are allways wrong. So I think that this was not a bug in some version of rsvg installed on wikipedia in the past, and they are showing a cached version.
**Attachment 180378**, "minimal test case":
![elem.svg](/uploads/2e5bd553b6601a6e4fdfd05c21ede914/elem.svg)
>>>https://gitlab.gnome.org/GNOME/librsvg/-/issues/183Support "x", "y", "dx", "dy" as list-of-length in text elements2021-10-21T22:56:16ZFederico Mena QuinteroSupport "x", "y", "dx", "dy" as list-of-length in text elementsWe only parse the first number from the `x`, `y`, `dx`, `dy` attributes of `text` and `tspan` elements. The spec says that these are list-of-length, and specifies how to interpret them for each rendered glyph.We only parse the first number from the `x`, `y`, `dx`, `dy` attributes of `text` and `tspan` elements. The spec says that these are list-of-length, and specifies how to interpret them for each rendered glyph.https://gitlab.gnome.org/GNOME/librsvg/-/issues/668font-variant="small-caps" / style="font-variant:small-caps" are ignored2021-06-23T00:15:00ZAndre Klapperfont-variant="small-caps" / style="font-variant:small-caps" are ignoredUpstreaming from https://phabricator.wikimedia.org/T270836
Ref: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-variant
**Steps to reproduce:**
1. Pull https://upload.wikimedia.org/wikipedia/commons/archive/2/23/202012...Upstreaming from https://phabricator.wikimedia.org/T270836
Ref: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-variant
**Steps to reproduce:**
1. Pull https://upload.wikimedia.org/wikipedia/commons/archive/2/23/20201226141533%21Wikifunctions_wordmark.svg , basically: `<text x="78" y="16.5" style="font-family:Montserrat;font-weight:bold;font-style:normal;font-variant:small-caps;stroke:none;font-size:17px;line-height:1.6;text-anchor:middle;text-align:center"><tspan>Wikifunctions</tspan></text>`
2. Open it in e.g. `eog` which uses `librsvg2-2.50.2`
**Expected outcome:**
The PNG thumbnail looks like SVG; All letters are upper case; all letters except for first letter have less height than the first letter
**Actual outcome:**
In the PNG thumbnail, all letters except for first letter are lower case
**Other info:**
* Same problem in Inkscape 1.0.1 though (which AFAIK does not use librsvg2).
* No problem in Firefox 84 or Chromium 87.https://gitlab.gnome.org/GNOME/librsvg/-/issues/87Partial textPath support2021-05-21T08:26:34ZBugzillaPartial textPath support## Submitted by Mika Heiskanen
**[Link to original bug (#725558)](https://bugzilla.gnome.org/show_bug.cgi?id=725558)**
## Description
>>>
Created attachment 270767
Patch to add textPath support
librsvg lacks textPath support. The a...## Submitted by Mika Heiskanen
**[Link to original bug (#725558)](https://bugzilla.gnome.org/show_bug.cgi?id=725558)**
## Description
>>>
Created attachment 270767
Patch to add textPath support
librsvg lacks textPath support. The attached patch implements partial support for textPath.
Related issues:
https://bugzilla.gnome.org/show_bug.cgi?id=167708
https://bugzilla.gnome.org/show_bug.cgi?id=644624
The following SVG shows working features:
- relative and fixed length startOffsets
- text alignment on paths
- tspan on text path
- stretching of glyphs
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="12cm" height="3.6cm" viewBox="0 0 1000 300" version="1.1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<path id="Wave"
d="M 100 200
C 200 100 300 0 400 100
C 500 200 600 300 700 200
C 800 100 900 100 900 100" />
<path id="Circle" d="M100 100 A 200 200 0 0 0 500 100 L500 70" />
<path id="Line" d="M100 100 L 900 100"/>
</defs>
<use xlink:href="#Wave" fill="none" stroke="red" stroke-width="2" />
<use xlink:href="#Circle" fill="none" stroke="red" stroke-width="2" />
<use xlink:href="#Line" fill="none" stroke="red" stroke-width="2" />
<text font-family="Verdana" font-size="40" fill="blue" >
<textPath method="stretch" xlink:href="#Wave" startOffset="100px">
We go
<tspan dy="-20" fill="red">up</tspan>
<tspan dy="20">, then we go</tspan>
<tspan dy="20" fill="red">down</tspan>
<tspan dy="-20">, then up again</tspan>
</textPath>
</text>
<text font-family="Verdana" font-size="40" fill="blue" text-anchor="middle">
<textPath method="stretch" xlink:href="#Circle" startOffset="50%">Circle-Circle</textPath>
</text>
<text font-family="Verdana" font-size="40" fill="blue" >
<textPath xlink:href="#Line" startOffset="50%">Line</textPath>
</text>
</svg>
**Patch 270767**, "Patch to add textPath support":
[0001-Added-partial-support-for-the-textPath-element.patch](/uploads/eeda157d104ed464602835c907eda6b8/0001-Added-partial-support-for-the-textPath-element.patch)
>>>https://gitlab.gnome.org/GNOME/librsvg/-/issues/257fill using radialGradient not rendered2021-05-16T15:25:10ZJohannes Kalliauerfill using radialGradient not renderedOn the right side of
https://commons.wikimedia.org/wiki/File:LibrsvgBug_T193942.svg
something is missing.
How it is rendered:
![LibrsvgBug_T193942.svg](/uploads/42022110211f0683ed823e1a180bd621/LibrsvgBug_T193942.svg.png)
How it should...On the right side of
https://commons.wikimedia.org/wiki/File:LibrsvgBug_T193942.svg
something is missing.
How it is rendered:
![LibrsvgBug_T193942.svg](/uploads/42022110211f0683ed823e1a180bd621/LibrsvgBug_T193942.svg.png)
How it should be rendered
![MCM_Margolin2ocs_nscos_e2](/uploads/dae15eb1f0cfaeecca6efb718be23129/MCM_Margolin2ocs_nscos_e2.png)
```
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'>
<svg xmlns:xlink="http://www.w3.org/1999/xlink" fill-rule="evenodd" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" viewBox="0 0 74213 43403" xmlns="http://www.w3.org/2000/svg" width="742.13" height="434.03">
<radialGradient id="a" cx="31807" cy="34229" r="25550" gradientUnits="userSpaceOnUse">
<stop stop-color="#bbb" offset="0"/>
<stop offset="1" stop-color="#000"/>
</radialGradient>
<path d="m23209 7036.7 44790-298c839 1555 1299 3174 879 4461 859 487 1499 994 1830 1810 111 472 73 556-33 761l-102 101-145 61-363-81c-2893-1049-5202 535-5148 2996 538 6483 10121 10648 9251 24121-179 239-894 348-1825 803-566 277-1338 204-2108 182-1349 933-6308 2174-11028 883-73-26-206-280-160-339 47-58 120-212 271-212 882-1 2089-482 1887-1106-615-1893-1382-3875-2441-6500l-3765-9336c-341-846-185-597-449-1191-116-260-732-894-1178-1370-309-329-1405-497-1830-515l-9780 297c-1160 33-2560-493-3327-1406-51-60-465-719-514-784-1635-2151 795-7215-4902-7014l-9899 134z" fill="url(#a)" stroke="#000" stroke-width="21"/>
</svg>
```https://gitlab.gnome.org/GNOME/librsvg/-/issues/600Conversion fails when gradientTransform includes very small (scientific notat...2021-05-14T23:36:25ZAntiCompositeNumberConversion fails when gradientTransform includes very small (scientific notation) numbersrsvg-convert version 2.48.4 encounters a fatal error when processing [this file](https://upload.wikimedia.org/wikipedia/commons/archive/3/3d/20190201134717%21Crossed_swords.svg) ([source](https://commons.wikimedia.org/wiki/File:Crossed_s...rsvg-convert version 2.48.4 encounters a fatal error when processing [this file](https://upload.wikimedia.org/wikipedia/commons/archive/3/3d/20190201134717%21Crossed_swords.svg) ([source](https://commons.wikimedia.org/wiki/File:Crossed_swords.svg)) that includes very small numbers in some of the gradientTransform matrices.
```xml
<linearGradient
id="_Linear1" x1="0" y1="0" x2="1" y2="0"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.922988,1.13033e-16,-1.13033e-16,-0.922988,4.31613,0.876733)"
>
<stop offset="0" style="stop-color:rgb(176,176,176);stop-opacity:1"/>
<stop offset="1" style="stop-color:rgb(232,232,233);stop-opacity:1"/>
</linearGradient>
```
```rust
$ RUST_BACKTRACE=full rsvg-convert -w 512 -f png -u -o 20190201134717!Crossed_swords.svg.png 20190201134717!Crossed_swords.svg
thread '<unnamed>' panicked at 'Cairo error "out of memory"', /home/ac/.cargo/registry/src/github.com-1ecc6299db9ec823/cairo-rs-0.8.1/src/enums.rs:274:13
stack backtrace:
0: 0x7fb895d710f5 - backtrace::backtrace::libunwind::trace::he332cdcbba52aaad
at /build/rust/src/rustc-1.44.1-src/vendor/backtrace/src/backtrace/libunwind.rs:86
1: 0x7fb895d710f5 - backtrace::backtrace::trace_unsynchronized::hef03e255f1bf514f
at /build/rust/src/rustc-1.44.1-src/vendor/backtrace/src/backtrace/mod.rs:66
2: 0x7fb895d710f5 - std::sys_common::backtrace::_print_fmt::hb165a755ba92b1b4
at src/libstd/sys_common/backtrace.rs:78
3: 0x7fb895d710f5 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h45e432f08dbe7d76
at src/libstd/sys_common/backtrace.rs:59
4: 0x7fb895db383c - core::fmt::write::h73c3f84d9cf018c3
at src/libcore/fmt/mod.rs:1069
5: 0x7fb895d627c3 - std::io::Write::write_fmt::h8ac7e773e542f3e7
at src/libstd/io/mod.rs:1504
6: 0x7fb895d75f30 - std::sys_common::backtrace::_print::he776a3581f8527e1
at src/libstd/sys_common/backtrace.rs:62
7: 0x7fb895d75f30 - std::sys_common::backtrace::print::h969151019a7e30fc
at src/libstd/sys_common/backtrace.rs:49
8: 0x7fb895d75f30 - std::panicking::default_hook::{{closure}}::hac98c3c5d7e976ca
at src/libstd/panicking.rs:198
9: 0x7fb895d75c7c - std::panicking::default_hook::h4e2eee37e61c3121
at src/libstd/panicking.rs:218
10: 0x7fb895d765d1 - std::panicking::rust_panic_with_hook::heb6c94442a23e0d6
at src/libstd/panicking.rs:511
11: 0x7fb895d761bb - rust_begin_unwind
at src/libstd/panicking.rs:419
12: 0x7fb895d7612b - std::panicking::begin_panic_fmt::hc94e0c124ccb9400
at src/libstd/panicking.rs:373
13: 0x7fb895b0865f - cairo::enums::Status::ensure_valid::hd6191aa94860f3e3
at /home/ac/.cargo/registry/src/github.com-1ecc6299db9ec823/cairo-rs-0.8.1/src/enums.rs:274
14: 0x7fb895b0865f - cairo::context::Context::ensure_status::hfa67c6804a513a01
at /home/ac/.cargo/registry/src/github.com-1ecc6299db9ec823/cairo-rs-0.8.1/src/context.rs:158
15: 0x7fb895a6f95b - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_cr::hf90afa02f8b54f73
at rsvg_internals/src/drawing_ctx.rs:718
16: 0x7fb895a6f95b - rsvg_internals::drawing_ctx::DrawingCtx::with_discrete_layer::hed0abaeb14f870e7
at rsvg_internals/src/drawing_ctx.rs:483
17: 0x7fb895a6f95b - rsvg_internals::drawing_ctx::DrawingCtx::draw_path::h98927437d948c834
at rsvg_internals/src/drawing_ctx.rs:987
18: 0x7fb895ac69b7 - rsvg_internals::shapes::Shape::draw::h20e91fc7e029b8b4
at rsvg_internals/src/shapes.rs:45
19: 0x7fb895ac69b7 - <rsvg_internals::shapes::Path as rsvg_internals::node::NodeTrait>::draw::h16127ed5b3960751
at rsvg_internals/src/shapes.rs:145
20: 0x7fb895ab4c25 - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}}::h377f5252a50cbe1d
at rsvg_internals/src/node.rs:514
21: 0x7fb895a6c492 - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_transform::h9c203864a7dbc3f7
at rsvg_internals/src/drawing_ctx.rs:656
22: 0x7fb895ab4a0c - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::h0a56b7af4e87e7c8
at rsvg_internals/src/node.rs:513
23: 0x7fb895a7160b - rsvg_internals::drawing_ctx::DrawingCtx::draw_node_from_stack::h16c36180f0989c43
at rsvg_internals/src/drawing_ctx.rs:1106
24: 0x7fb895ab4f70 - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw_children::h5906702c42329072
at rsvg_internals/src/node.rs:536
25: 0x7fb895acb8f5 - <rsvg_internals::structure::Group as rsvg_internals::node::NodeTrait>::draw::{{closure}}::h4143bbacef73ae53
at rsvg_internals/src/structure.rs:40
26: 0x7fb895a6919b - rsvg_internals::drawing_ctx::DrawingCtx::with_discrete_layer::{{closure}}::he5b1be538be65245
at rsvg_internals/src/drawing_ctx.rs:627
27: 0x7fb895acb89f - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_cr::hf90afa02f8b54f73
at rsvg_internals/src/drawing_ctx.rs:717
28: 0x7fb895acb89f - rsvg_internals::drawing_ctx::DrawingCtx::with_discrete_layer::hed0abaeb14f870e7
at rsvg_internals/src/drawing_ctx.rs:483
29: 0x7fb895acb89f - <rsvg_internals::structure::Group as rsvg_internals::node::NodeTrait>::draw::hd8a5a9f0b3663dd6
at rsvg_internals/src/structure.rs:39
30: 0x7fb895ab4c25 - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}}::h377f5252a50cbe1d
at rsvg_internals/src/node.rs:514
31: 0x7fb895a6c492 - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_transform::h9c203864a7dbc3f7
at rsvg_internals/src/drawing_ctx.rs:656
32: 0x7fb895ab4a0c - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::h0a56b7af4e87e7c8
at rsvg_internals/src/node.rs:513
33: 0x7fb895a7160b - rsvg_internals::drawing_ctx::DrawingCtx::draw_node_from_stack::h16c36180f0989c43
at rsvg_internals/src/drawing_ctx.rs:1106
34: 0x7fb895ab4f70 - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw_children::h5906702c42329072
at rsvg_internals/src/node.rs:536
35: 0x7fb895acb8f5 - <rsvg_internals::structure::Group as rsvg_internals::node::NodeTrait>::draw::{{closure}}::h4143bbacef73ae53
at rsvg_internals/src/structure.rs:40
36: 0x7fb895a6919b - rsvg_internals::drawing_ctx::DrawingCtx::with_discrete_layer::{{closure}}::he5b1be538be65245
at rsvg_internals/src/drawing_ctx.rs:627
37: 0x7fb895acb89f - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_cr::hf90afa02f8b54f73
at rsvg_internals/src/drawing_ctx.rs:717
38: 0x7fb895acb89f - rsvg_internals::drawing_ctx::DrawingCtx::with_discrete_layer::hed0abaeb14f870e7
at rsvg_internals/src/drawing_ctx.rs:483
39: 0x7fb895acb89f - <rsvg_internals::structure::Group as rsvg_internals::node::NodeTrait>::draw::hd8a5a9f0b3663dd6
at rsvg_internals/src/structure.rs:39
40: 0x7fb895ab4c25 - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}}::h377f5252a50cbe1d
at rsvg_internals/src/node.rs:514
41: 0x7fb895a6c492 - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_transform::h9c203864a7dbc3f7
at rsvg_internals/src/drawing_ctx.rs:656
42: 0x7fb895ab4a0c - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::h0a56b7af4e87e7c8
at rsvg_internals/src/node.rs:513
43: 0x7fb895a7160b - rsvg_internals::drawing_ctx::DrawingCtx::draw_node_from_stack::h16c36180f0989c43
at rsvg_internals/src/drawing_ctx.rs:1106
44: 0x7fb895ab4f70 - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw_children::h5906702c42329072
at rsvg_internals/src/node.rs:536
45: 0x7fb895acd65a - <rsvg_internals::structure::Svg as rsvg_internals::node::NodeTrait>::draw::{{closure}}::h89558813bfbd40f7
at rsvg_internals/src/structure.rs:263
46: 0x7fb895a6919b - rsvg_internals::drawing_ctx::DrawingCtx::with_discrete_layer::{{closure}}::he5b1be538be65245
at rsvg_internals/src/drawing_ctx.rs:627
47: 0x7fb895acd4c7 - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_cr::hf90afa02f8b54f73
at rsvg_internals/src/drawing_ctx.rs:717
48: 0x7fb895acd4c7 - rsvg_internals::drawing_ctx::DrawingCtx::with_discrete_layer::hed0abaeb14f870e7
at rsvg_internals/src/drawing_ctx.rs:483
49: 0x7fb895acd4c7 - <rsvg_internals::structure::Svg as rsvg_internals::node::NodeTrait>::draw::h8ce269e49ffc4f01
at rsvg_internals/src/structure.rs:259
50: 0x7fb895ab4c25 - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}}::h377f5252a50cbe1d
at rsvg_internals/src/node.rs:514
51: 0x7fb895a6c492 - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_transform::h9c203864a7dbc3f7
at rsvg_internals/src/drawing_ctx.rs:656
52: 0x7fb895ab4a0c - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::h0a56b7af4e87e7c8
at rsvg_internals/src/node.rs:513
53: 0x7fb895a7160b - rsvg_internals::drawing_ctx::DrawingCtx::draw_node_from_stack::h16c36180f0989c43
at rsvg_internals/src/drawing_ctx.rs:1106
54: 0x7fb895aa830a - rsvg_internals::handle::Handle::render_layer::h2fd964055d842fe4
at rsvg_internals/src/handle.rs:261
55: 0x7fb895a16761 - rsvg_c_api::c_api::CHandle::render_layer::hde0b2b3204fcb899
at librsvg/c_api.rs:960
56: 0x7fb895a18084 - rsvg_c_api::c_api::CHandle::render_cairo_sub::h22ea0596a07efc9d
at librsvg/c_api.rs:899
57: 0x7fb895a18084 - rsvg_rust_handle_render_cairo_sub
at librsvg/c_api.rs:1332
58: 0x556c9af319ae - main
at /usr/src/debug/librsvg/rsvg-convert.c:602
59: 0x7fb8951ac002 - __libc_start_main
60: 0x556c9af327ee - _start
61: 0x0 - <unknown>
fatal runtime error: failed to initiate panic, error 5
fish: “RUST_BACKTRACE=full rsvg-conver…” terminated by signal SIGABRT (Abort)
```
Conversion works as expected after rounding the scientific notation numbers down to 0. [20190201134717_Crossed_swords-fixed.svg](/uploads/d07798f9f613ec5940df7281aa43f4ad/20190201134717_Crossed_swords-fixed.svg)
This issue was originally reported in librsvg 2.40.16 at https://phabricator.wikimedia.org/T215067. 2.40.16 outputs a 0-byte png with no error messages when trying to convert the file.https://gitlab.gnome.org/GNOME/librsvg/-/issues/611rsvg-convert panics with 'Cairo error "out of memory"' at small sizes of spec...2021-01-11T01:58:17ZAntiCompositeNumberrsvg-convert panics with 'Cairo error "out of memory"' at small sizes of specific SVG filersvg-convert 2.48.8 and earlier panic when trying to convert [this file](https://upload.wikimedia.org/wikipedia/commons/1/1f/Hematopoiesis_%28human%29_diagram_en.svg) ([source](https://commons.wikimedia.org/wiki/File:Hematopoiesis_(human...rsvg-convert 2.48.8 and earlier panic when trying to convert [this file](https://upload.wikimedia.org/wikipedia/commons/1/1f/Hematopoiesis_%28human%29_diagram_en.svg) ([source](https://commons.wikimedia.org/wiki/File:Hematopoiesis_(human)_diagram_en.svg)) to PNG with a width < 97px. Widths 97px or greater are processed without incident. This file makes heavy use of linear and radial gradients, but does not have very small numbers like #600.
```rust
$ RUST_BACKTRACE=full rsvg-convert -w 80 -f png -u -o Hematopoiesis_\(human\)_diagram_en.svg.png Hematopoiesis_\(human\)_diagram_en.svg
thread '<unnamed>' panicked at 'Cairo error "out of memory"', /home/ac/.cargo/registry/src/github.com-1ecc6299db9ec823/cairo-rs-0.8.1/src/enums.rs:274:13
stack backtrace:
0: 0x7f954e5b60f5 - backtrace::backtrace::libunwind::trace::he332cdcbba52aaad
at /build/rust/src/rustc-1.44.1-src/vendor/backtrace/src/backtrace/libunwind.rs:86
1: 0x7f954e5b60f5 - backtrace::backtrace::trace_unsynchronized::hef03e255f1bf514f
at /build/rust/src/rustc-1.44.1-src/vendor/backtrace/src/backtrace/mod.rs:66
2: 0x7f954e5b60f5 - std::sys_common::backtrace::_print_fmt::hb165a755ba92b1b4
at src/libstd/sys_common/backtrace.rs:78
3: 0x7f954e5b60f5 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h45e432f08dbe7d76
at src/libstd/sys_common/backtrace.rs:59
4: 0x7f954e5f883c - core::fmt::write::h73c3f84d9cf018c3
at src/libcore/fmt/mod.rs:1069
5: 0x7f954e5a77c3 - std::io::Write::write_fmt::h8ac7e773e542f3e7
at src/libstd/io/mod.rs:1504
6: 0x7f954e5baf30 - std::sys_common::backtrace::_print::he776a3581f8527e1
at src/libstd/sys_common/backtrace.rs:62
7: 0x7f954e5baf30 - std::sys_common::backtrace::print::h969151019a7e30fc
at src/libstd/sys_common/backtrace.rs:49
8: 0x7f954e5baf30 - std::panicking::default_hook::{{closure}}::hac98c3c5d7e976ca
at src/libstd/panicking.rs:198
9: 0x7f954e5bac7c - std::panicking::default_hook::h4e2eee37e61c3121
at src/libstd/panicking.rs:218
10: 0x7f954e5bb5d1 - std::panicking::rust_panic_with_hook::heb6c94442a23e0d6
at src/libstd/panicking.rs:511
11: 0x7f954e5bb1bb - rust_begin_unwind
at src/libstd/panicking.rs:419
12: 0x7f954e5bb12b - std::panicking::begin_panic_fmt::hc94e0c124ccb9400
at src/libstd/panicking.rs:373
13: 0x7f954e34d65f - cairo::enums::Status::ensure_valid::hd6191aa94860f3e3
at /home/ac/.cargo/registry/src/github.com-1ecc6299db9ec823/cairo-rs-0.8.1/src/enums.rs:274
14: 0x7f954e34d65f - cairo::context::Context::ensure_status::hfa67c6804a513a01
at /home/ac/.cargo/registry/src/github.com-1ecc6299db9ec823/cairo-rs-0.8.1/src/context.rs:158
15: 0x7f954e2b495b - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_cr::hf90afa02f8b54f73
at rsvg_internals/src/drawing_ctx.rs:718
16: 0x7f954e2b495b - rsvg_internals::drawing_ctx::DrawingCtx::with_discrete_layer::hed0abaeb14f870e7
at rsvg_internals/src/drawing_ctx.rs:483
17: 0x7f954e2b495b - rsvg_internals::drawing_ctx::DrawingCtx::draw_path::h98927437d948c834
at rsvg_internals/src/drawing_ctx.rs:987
18: 0x7f954e30b9b7 - rsvg_internals::shapes::Shape::draw::h20e91fc7e029b8b4
at rsvg_internals/src/shapes.rs:45
19: 0x7f954e30b9b7 - <rsvg_internals::shapes::Path as rsvg_internals::node::NodeTrait>::draw::h16127ed5b3960751
at rsvg_internals/src/shapes.rs:145
20: 0x7f954e2f9c25 - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}}::h377f5252a50cbe1d
at rsvg_internals/src/node.rs:514
21: 0x7f954e2b1492 - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_transform::h9c203864a7dbc3f7
at rsvg_internals/src/drawing_ctx.rs:656
22: 0x7f954e2f9a0c - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::h0a56b7af4e87e7c8
at rsvg_internals/src/node.rs:513
23: 0x7f954e2b660b - rsvg_internals::drawing_ctx::DrawingCtx::draw_node_from_stack::h16c36180f0989c43
at rsvg_internals/src/drawing_ctx.rs:1106
24: 0x7f954e2f9f70 - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw_children::h5906702c42329072
at rsvg_internals/src/node.rs:536
25: 0x7f954e3108f5 - <rsvg_internals::structure::Group as rsvg_internals::node::NodeTrait>::draw::{{closure}}::h4143bbacef73ae53
at rsvg_internals/src/structure.rs:40
26: 0x7f954e2ae19b - rsvg_internals::drawing_ctx::DrawingCtx::with_discrete_layer::{{closure}}::he5b1be538be65245
at rsvg_internals/src/drawing_ctx.rs:627
27: 0x7f954e31089f - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_cr::hf90afa02f8b54f73
at rsvg_internals/src/drawing_ctx.rs:717
28: 0x7f954e31089f - rsvg_internals::drawing_ctx::DrawingCtx::with_discrete_layer::hed0abaeb14f870e7
at rsvg_internals/src/drawing_ctx.rs:483
29: 0x7f954e31089f - <rsvg_internals::structure::Group as rsvg_internals::node::NodeTrait>::draw::hd8a5a9f0b3663dd6
at rsvg_internals/src/structure.rs:39
30: 0x7f954e2f9c25 - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}}::h377f5252a50cbe1d
at rsvg_internals/src/node.rs:514
31: 0x7f954e2b1492 - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_transform::h9c203864a7dbc3f7
at rsvg_internals/src/drawing_ctx.rs:656
32: 0x7f954e2f9a0c - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::h0a56b7af4e87e7c8
at rsvg_internals/src/node.rs:513
33: 0x7f954e2b660b - rsvg_internals::drawing_ctx::DrawingCtx::draw_node_from_stack::h16c36180f0989c43
at rsvg_internals/src/drawing_ctx.rs:1106
34: 0x7f954e2f9f70 - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw_children::h5906702c42329072
at rsvg_internals/src/node.rs:536
35: 0x7f954e3108f5 - <rsvg_internals::structure::Group as rsvg_internals::node::NodeTrait>::draw::{{closure}}::h4143bbacef73ae53
at rsvg_internals/src/structure.rs:40
36: 0x7f954e2ae19b - rsvg_internals::drawing_ctx::DrawingCtx::with_discrete_layer::{{closure}}::he5b1be538be65245
at rsvg_internals/src/drawing_ctx.rs:627
37: 0x7f954e31089f - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_cr::hf90afa02f8b54f73
at rsvg_internals/src/drawing_ctx.rs:717
38: 0x7f954e31089f - rsvg_internals::drawing_ctx::DrawingCtx::with_discrete_layer::hed0abaeb14f870e7
at rsvg_internals/src/drawing_ctx.rs:483
39: 0x7f954e31089f - <rsvg_internals::structure::Group as rsvg_internals::node::NodeTrait>::draw::hd8a5a9f0b3663dd6
at rsvg_internals/src/structure.rs:39
40: 0x7f954e2f9c25 - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}}::h377f5252a50cbe1d
at rsvg_internals/src/node.rs:514
41: 0x7f954e2b1492 - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_transform::h9c203864a7dbc3f7
at rsvg_internals/src/drawing_ctx.rs:656
42: 0x7f954e2f9a0c - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::h0a56b7af4e87e7c8
at rsvg_internals/src/node.rs:513
43: 0x7f954e2b660b - rsvg_internals::drawing_ctx::DrawingCtx::draw_node_from_stack::h16c36180f0989c43
at rsvg_internals/src/drawing_ctx.rs:1106
44: 0x7f954e2f9f70 - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw_children::h5906702c42329072
at rsvg_internals/src/node.rs:536
45: 0x7f954e31265a - <rsvg_internals::structure::Svg as rsvg_internals::node::NodeTrait>::draw::{{closure}}::h89558813bfbd40f7
at rsvg_internals/src/structure.rs:263
46: 0x7f954e2ae19b - rsvg_internals::drawing_ctx::DrawingCtx::with_discrete_layer::{{closure}}::he5b1be538be65245
at rsvg_internals/src/drawing_ctx.rs:627
47: 0x7f954e3124c7 - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_cr::hf90afa02f8b54f73
at rsvg_internals/src/drawing_ctx.rs:717
48: 0x7f954e3124c7 - rsvg_internals::drawing_ctx::DrawingCtx::with_discrete_layer::hed0abaeb14f870e7
at rsvg_internals/src/drawing_ctx.rs:483
49: 0x7f954e3124c7 - <rsvg_internals::structure::Svg as rsvg_internals::node::NodeTrait>::draw::h8ce269e49ffc4f01
at rsvg_internals/src/structure.rs:259
50: 0x7f954e2f9c25 - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::{{closure}}::h377f5252a50cbe1d
at rsvg_internals/src/node.rs:514
51: 0x7f954e2b1492 - rsvg_internals::drawing_ctx::DrawingCtx::with_saved_transform::h9c203864a7dbc3f7
at rsvg_internals/src/drawing_ctx.rs:656
52: 0x7f954e2f9a0c - <rctree::Node<rsvg_internals::node::NodeData> as rsvg_internals::node::NodeDraw>::draw::h0a56b7af4e87e7c8
at rsvg_internals/src/node.rs:513
53: 0x7f954e2b660b - rsvg_internals::drawing_ctx::DrawingCtx::draw_node_from_stack::h16c36180f0989c43
at rsvg_internals/src/drawing_ctx.rs:1106
54: 0x7f954e2ed30a - rsvg_internals::handle::Handle::render_layer::h2fd964055d842fe4
at rsvg_internals/src/handle.rs:261
55: 0x7f954e25b761 - rsvg_c_api::c_api::CHandle::render_layer::hde0b2b3204fcb899
at librsvg/c_api.rs:960
56: 0x7f954e25d084 - rsvg_c_api::c_api::CHandle::render_cairo_sub::h22ea0596a07efc9d
at librsvg/c_api.rs:899
57: 0x7f954e25d084 - rsvg_rust_handle_render_cairo_sub
at librsvg/c_api.rs:1332
58: 0x55c1ca54d9ae - main
at /usr/src/debug/librsvg/rsvg-convert.c:602
59: 0x7f954d9f1002 - __libc_start_main
60: 0x55c1ca54e7ee - _start
61: 0x0 - <unknown>
fatal runtime error: failed to initiate panic, error 5
fish: “RUST_BACKTRACE=full rsvg-conver…” terminated by signal SIGABRT (Abort)
```
This issue was originally reported at https://phabricator.wikimedia.org/T258334 in rsvg-convert version 2.40.20. In pre-Rust versions of librsvg, rsvg-convert outputs a 0-byte file with no error message.https://gitlab.gnome.org/GNOME/librsvg/-/issues/442Thin stroke-width=".02" not rendered until ~250% zoom level2019-03-10T20:14:55ZAndre KlapperThin stroke-width=".02" not rendered until ~250% zoom levelhttps://upload.wikimedia.org/wikipedia/commons/f/f9/T199618.svg does not render anything in `librsvg2-2.45.5` until I reach a certain zoom level (about 250% in librsvg).
Upstreamed from https://phabricator.wikimedia.org/T199618https://upload.wikimedia.org/wikipedia/commons/f/f9/T199618.svg does not render anything in `librsvg2-2.45.5` until I reach a certain zoom level (about 250% in librsvg).
Upstreamed from https://phabricator.wikimedia.org/T199618