Kerning slider resets to 0 in SVG Font Editor after saving and reopening an SVG font.

Summary:

I created a kerning pair in the SVG font editor, moved the kerning slider to the right move letters further apart and then saved my work. When I reopen the saved file and select the kerning pair again, the kerning is reset to 0 and the kerning slider can no longer be moved to the right (it's maxed out).

Inspecting the saved SVG file reveals that in fact the kerning pair was saved with the correct kerning value. Only when I reopen the file in Inkscape select the kerning pair to make further adjustments, the kerning resets and can no longer be adjusted to negative values.

Some further investigation: The kerning slider's range lock also occurs when initially moving to the left (moving two glyphs closer together). in this case the kerning is preserved when selecting the previously created pair. However it is still not possible to adjust the spacing further than the horizontal advance value of the first letter (similar result as above, just less apparent)

Steps to reproduce:

  • open Inkscape
  • open the SVG font editor
  • create a new font and set up the canvas (exact values don't seem to matter)
  • create 2 glyphs
    • to see the effect, ideally the horizontal advance should be set so that both glyphs overlap when typed next to each other
  • create a new kerning pair with the two glyphs in the kerning tab
  • adjust the kerning so the two glyphs don't overlap anymore
  • save the file and close Inkscape
  • open the file in a text editor to confirm the kerning value
  • reopen the saved file in Inkscape
  • go to SVG font editor
  • type the kerning pair into the preview window
    • kerning should still be fine at this point
    • this step is to visualize the reset
  • go to the kerning tab
  • select the kerning pair previously created
    • at this point you should be able to watch how the kerning resets in the preview window
    • the kerning slider can now no longer be adjusted to move glyphs further apart than the horizontal advance of the first glyph
    • also Inkscape should now indicate unsaved changes even though nothing was actively changed by the user
  • save the file
  • open the SVG file in a text editor and confirm that the kerning value of the created pair is in fact 0 even though the slider was maxed out

What happened?

After reopening a saved SVG font and selecting an existing kerning pair the pair can no longer be kerned to negative values.

What should have happened?

The kerning slider should always allow for a full range of positive and negative values.

Sample attachments:

To fully visualize the issue a new file needs to be created. But here is a sample file. gitlab-issue.svg

Version info

Version info for both the Arch Linux package version and the flathub version (tested with both).

Inkscape 1.4 (e7c3feb100, 2024-10-09)

                      Compile  (Run)
    GLib version:     2.82.4
    GTK version:      3.24.43 (3.24.43)
    glibmm version:   2.66.7
    gtkmm version:    3.24.9
    libxml2 version:  2.13.5
    libxslt version:  1.1.42
    Cairo version:    1.18.2 (1.18.2)
    Pango version:    1.54.0 (1.54.0)
    HarfBuzz version: 10.1.0 (10.1.0)

    OS version:       Arch Linux

Inkscape 1.4 (e7c3feb100, 2024-10-09)

                      Compile  (Run)
    GLib version:     2.82.2
    GTK version:      3.24.43 (3.24.43)
    glibmm version:   2.66.1
    gtkmm version:    3.24.5
    libxml2 version:  2.13.4
    libxslt version:  1.1.42
    Cairo version:    1.18.2 (1.18.2)
    Pango version:    1.54.0 (1.54.0)
    HarfBuzz version: 9.0.0 (9.0.0)

    OS version:       GNOME 47 (Flatpak runtime)
Edited by Paul Hillmann
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information