Search code examples
dpiinkscape

Upgrading from Inkscape 0.91 to 0.92 or higher breaks object dpi scaling


Following an upgrade from Inkscape 0.91 to any newer version I found that it broke the scaling on a number of my objects which are used for interactive display.

It appears a change in the DPI setting from 90 to 69 is the issue.

When opening some of my old drawings I get a dialogue box prompt asking which action I should take; Having tried all of those with none giving me the expected (working) output.

Convert old file type box

But not all of my drawing files would trigger this dialogue but they would still have there objects rescaled on load/save.

I also tried updating the version number in the .svg file manually but this didn't work either.

How can I work with my original files but gain the rewards of the newer(est) version(s) of Inkscape?


Solution

  • It turns out I was not alone in this problem. After much searching I found this thread over on the Inkscape forum.

    To summarise and make it easy for people to find without wading though all the posts there are two things you need to do/check in order to upgrade without issue.

    • Install the new version to a different path if you are able.
    • Backup your original files.
    • With your favourite sane editor open the original .svg file directly and observe the header section;

    inkscape:version="0.91 r13725"

    That should be replaced with the version of Inkscape you are upgrading too. In my case it is; inkscape:version="1.0 (4035a4fb49, 2020-05-01)"

    • Next look for the height and width settings and note they may not have a unit defined as in my case; width="10000" height="800"

    Check in your original drawing what scale you had been using for your page size. It could be px, mm etc. The update the height/width section to include those units as shows below;

    width="10000px" height="800px"

    • Save the edited .svg file.

    You should then be able to open/work on your old drawings in the current version of Inkscape without breaking scaling and display compatibility.