Arbitrary position for a text on a path

Bug #171005 reported by Irisson
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Low
Jon A. Cruz

Bug Description

Text on path puts the text at the beginning of the
path. It would be very useful to be able to displace
the text along the path. Once the text is attached to
the path, displacing it would displace it along the path.
This will claim for some options to offset the text
from the path (put it exactly on, one pixel above,
three pixels under and so on) wich is now possible by
moving the text but won't be anymore.

Revision history for this message
Jon A. Cruz (jon-joncruz) wrote :

Actually... it depends on how you have things set. At the moment, my
installed inkscape is putting text at the end of the path.

It is controlled by two items. First is the alignment attribute on the
text (start,
middle, end). Second is the startOffset on the textPath element. For text
that
is right-aligned, setting the startOffset to "100%" puts that anchor point
at
the end of the path. "50%" puts it at the middle of the path, etc.

So this Inkscape already supports text at arbitrary positions on a path.

Revision history for this message
thetrivialstuff (thetrivialstuff) wrote :

Does this feature exist yet? This looks like a really old report... in case it doesn't, here's my workaround:

"There is no way to offset the text to an arbitrary point along the path."

There is actually a way to do this, it's not intuitive:

1. Add a new node at the point on the path where you want the text to start.

2. Add another new node immediately before that one.

3. Select the two nodes just created and click the "split path" button -- the path opens there.

After step 3, the node inserted at the desired text starting point becomes the new "starting node" of the path, so the text will start there.

Here's a more elabourate version, for use on closed shapes (e.g. if you need to be able to move the text arbitrarily around an ellipse, but the default "starting node" isn't the one you want and text falls off the end):

1. Insert a new node at the spot you want to designate the "starting node".

2. Insert three more nodes prior to the node added in step 1. i.e. you should have:

----b---b---b---a----

if you want your text to start at "a".

4. Open the path between the middle two nodes:

----b---b b---a----

5. Re-close the path between the two "b" nodes in the middle, then delete those nodes:

----b---b+++b---a----

----b-----------a----

6. Put the text on the path. It will now start at node "a".

What this procedure does:

Basically it's a convaluted way of re-designating a new node to be the "starting node". The purpose of all the extra "b" nodes is to preserve what the path looked like so that it can be restored after it's been opened and closed. It works perfectly for nice regular shapes like ellipses; it might be a bit off for stranger shapes. I imagine you'll get better accuracy by zooming in to maximum and putting the four new nodes as close together as possible.

Revision history for this message
su_v (suv-lp) wrote :

Related:
Bug #171033 “GUI for startOffset attribute of text path”
<https://bugs.launchpad.net/inkscape/+bug/171033>

Revision history for this message
Jon A. Cruz (jon-joncruz) wrote :

Simple control added to text dialog for adjusting the start offset in revision #12270.

Changed in inkscape:
status: Invalid → In Progress
importance: Undecided → Low
milestone: none → 0.49
status: In Progress → Fix Committed
Bryce Harrington (bryce)
Changed in inkscape:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.