Jump to content

Bug in SVG imports

Recommended Posts


There appears to be a bug in the SVG import process, specifically when using clones and applying scaling & translations. I noticed this following a change in how Matplotlib in Python exports SVGs - since this change, text characters end up on top of one another rather than being spaced apart when imported into AD. There are no problems importing into Inkscape, Chrome, etc.

Here is a minimal example, with a lowercase L followed by a dash (the SVG file to recreate this is attached). This is how it (correctly) appears when imported into Inkscape.


And this is how it appears imported into AD.


The problem seems to lie in the application of x/y positioning to clones when importing into AD. When the paths themselves are scaled (in this example by 0.015625), the X offset is applied before the scaling rather than after, meaning the X offset of the characters is 0.015625 times what it should be. Everything is fine if the "x" value is replaced by an equivalent translation.

# This doesn't work
<use x="27.783203" xlink:href="#DejaVuSans-45"/>

# This works, replacing the "x" argument with a translation
<use transform="translate(27.783203 0)" xlink:href="#DejaVuSans-45"/>


More discussion related to this issue can be found in this thread.


Link to comment
Share on other sites

  • 9 months later...

Are there any updates on this issue?

I have run into the same problem with figures created in current Matplotlib versions.  SVGs are displayed fine in all other software I tested (Mac Finder Preview, Firefox, Safari. Ubuntu Inkscape, ImageViewer), but are mangled in Affinity Designer 1.10.5 (and in Affinity Publisher too).

Edit: I didn't realize the original post was in a Windows-bug section. I should have looked for the MacOS bug section instead before posting. Anyways, this problem seems to be OS-independent.



Edited by amphioxus
Added note that this in not just Windows bug
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...

Important Information

Please note there is currently a delay in replying to some post. See pinned thread in the Questions forum. These are the Terms of Use you will be asked to agree to if you join the forum. | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.