Inkscape: how to move text along path?


When attaching text to a path in Inkscape, it seems to attach the text to the start of the path. If it's a shape, such as an ellipse then it's often placed at the start of one of the 4 ordinal points. Regardless, this is rarely where you actually want the text to be positioned so you end up nudging it into location with some spaces.

Thinking this is kind of hacky (using the spaces) I did some googling and watched several YouTube tutorials and found they are all doing the exact same thing...using spaces.

Given that other vector software typically offers up a draggable handle to allow you to move the text along the path, I thought maybe Inkscape would have something similar but I haven't found such a feature. Does it exist? Or is spaces simply the way to take care of it in Inkscape?

9/15/2015 7:54:00 AM

Accepted Answer

There is not a way to do this in Inkscape in the UI (see this bug), but you can do this using Inkscape's XML Editor.

According to the SVG specifications, you can use the startOffset attribute to indicate where you want the text to begin. So all you need to do is add that attribute to the <textPath>.

  1. In Inkscape, open the XML Editor Ctrl+Shift+X.
  2. In the XML Editor, find the <svg:text>. (You can click the text in Inkscape to jump to it in the XML Editor.)
  3. Select the <svg:textPath> child of the <svg:text>.
  4. On the right side of the XML Editor in the box next to the Set button, enter startOffset. Below it, enter the value you want to move along the path.
  5. Click Set.

This isn't ideal, but it's more exact and cleaner that using spaces or manually adjusting the kerning. If Inkscape did have a feature in its UI for doing this, it would probably be setting this attribute in the XML.

9/15/2015 1:22:00 PM

Found this bit in the Inkscape Manual. It actually says to use kerning to adjust the starting position of your text on a path (which isn’t far off from using spaces, unfortunately).

enter image description here

Text can be adjusted or moved relative to the path. Left: the text has been adjusted and kerned with the Alt+arrow keys. Placing the cursor at the beginning of the text and using the Alt+arrow keys will move the starting position of the text. Right: the text has been moved independently of the path by selecting the text only and dragging it to its new position with the mouse.

There is also a control element to adjust kerning in the toolbar if you select the text, when using the text tool:

enter image description here

This allows you to precisely select the offset.