0

I would like to create my own library of symbols in inkscape.

I managed, thanks to this answer, to do it.

Unfortunately, when I save the symbol, and I import it, the thickness of the lines are different.

What it looks like when I save the symbol:

enter image description here

What it looks like when imported in another file:

enter image description here

How can this behavior be fixed?

[Edit]: The issue actually also occurs with a copy/paste of an svg in-between files in inkscape.

[Edit2]:

7
  • 1
    It would really help if you add the inkscape version, and the steps to reproduce this effect starting from scratch (simplest sketch where this effect takes place).
    – Juancho
    Commented Feb 8, 2023 at 14:10
  • I can't reproduce the problem. Is the symbol one that you made yourself in Inkscape, or was it made by someone else, in other software perhaps?
    – Billy Kerr
    Commented Feb 8, 2023 at 17:24
  • @Juancho I provided the files now. Simply doing a copy/paste from one to the other produces the issue in my computer (no need to use the "symbol" actually).
    – StarBucK
    Commented Feb 9, 2023 at 13:01
  • @BillyKerr look at the files I uploaded
    – StarBucK
    Commented Feb 9, 2023 at 14:32
  • @StarBucK I've updated my answer.
    – Xrott
    Commented Feb 9, 2023 at 16:01

1 Answer 1

1

There are a couple of things that could be happening here, but one thing that comes to mind is that maybe the stroke-width is not properly defined on the objects in the symbols.

Some attributes in SVG are inherited if not declared on the elements directly (just like in HTML/CSS, since there is a lot of overlap between those standards). Elements inside <symbol>-definitions inherit the values of the <use>-element.

Make sure to explicitly set the stroke-width on the objects inside groups, not only on the group itself before converting it to a symbol. Inkscape usually sets properties recursively, but there could be situations where it doesn't.

Edit: After examining your files and some testing, it seems the problem is with the 'Display Units' in the document properties being set to 'mm' instead of 'px'. This may be a bug in Inkscape – I'd have to look into it some more to know for sure.

Anyway, try setting it to 'px' while importing your symbol. You can set it back to 'mm' after that. Also, maybe try only using 'px' units when making symbol sets.

There is also a duplicate symbol definition with the same id already in your second document, which will overwrite the symbol if you try to import it again. Delete all objects referencing the wrong symbol, then use 'File → Clean Up Document' to remove all unused definitions in the file before reinserting it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.