Kozea / CairoSVG

Convert your vector images
https://courtbouillon.org/cairosvg
GNU Lesser General Public License v3.0
752 stars 149 forks source link

Problem with rendering text #427

Open vincentfpgarcia opened 1 month ago

vincentfpgarcia commented 1 month ago

Here is an input SVG image: https://upload.wikimedia.org/wikipedia/commons/7/7d/Roll_pitch_yaw_mnemonic.svg

When rendering it, the text is off:

output_cairosvg

The SVG code contains 2 tspan tags nested within a text tag. By removing one tspan, the text displays correctly.

As pointed https://stackoverflow.com/questions/78807441/problem-with-text-rendering-using-cairosvg/78807953?noredirect=1#comment138959543_78807953, the problem might come from a bug in the interpretation of the text-anchor: middle style.

liZe commented 1 month ago

the problem might come from a bug in the interpretation of the text-anchor: middle style.

Yes, that’s exactly the problem.

As the bug doesn’t happen in WeasyPrint, that uses a code that’s close to CairoSVG’s code, I think that it’s fixed by https://github.com/Kozea/WeasyPrint/commit/1460522596d6b14d8bd959f8d89651839da3168c in WeasyPrint.

Would you like to try to backport it?