Thank you so much @anandjoshi , this is a very exciting feature which would hopefully solve most of my issues with the very limited text functionality that we currently have. My answers to your questions are below:
1. Overall, what is your first impression of this ?
Awesome, I'm very excited about it.
2. As a novice user - is it Ok to have text on path as an option within Text command ?
I think it could be a good idea to make Text and Text On Path two separate functions. They could be nested inside a Text function group the same way the 3 different Arc functions are nested under "Arc" in the Sketch Create menu.
3. How would users like to precisely position text on the path?
I would like to be able to define the position in the following ways:
- Make the text automatically stretch out across the full path (it seems like this is already under development)
- Be able to choose the percent of the path to be covered in text (0.5 for half of it, 1.0 for all of it), the same way that the sweep function allows
- Be able to set spacing between letters (either center to center or gap), the way that the rectangular pattern function allows
- Have an option for automatically adjusting the height/size of the text based on the path length. This way, the text will be spread across the length of the path, and the height will be adjusted so the spacing of the letters (kerning) is correct based on how that font normally looks in a text document. So if the path is longer, the text becomes larger to fill it out. If the path is shorter, the text will become smaller to fit.
- The user should be able to choose how to align the text to the path with these options
- Align to bottom (default)
- Align to left (for vertical text)
- Align to right (for vertical text)
- Align to top
a. How will justification be affected by precise path positioning?
I think there should be two main ways to space letters - by spacing or extent like when using the pattern function. I would think the spacing option should allow for center-to-center or for edge-to-edge spacing (i.e. the actual gap between the letters). When using spacing, the justification will be determined by the chosen spacing, and when using extent, it would be determined by stretching out the normal kerning for that font (or if the user selects automatic text height, the text will just have the normal spacing and the height will be adjusted to match.
4. If the text string is longer than path, what you expect to happen in such case ?
As stated above, perhaps the font height could be adjusted automatically, so if it is too long, it will be made smaller to fit. This could be an option the user could check/uncheck. If they choose to uncheck it and the text is too long, just display a warning message saying "The text is too long to fit along path. Choose automatic text size or shorten text."
5. Do you expect that when you move text or path, the other one will follow ?
I would expect the path to drive the text, not the other way around. If the path is changed, the font moves with it. The text can't be moved on its own.
6. Do you expect that when you delete the path, ability to associate the text with a new path would be helpful or prefer deleting the associated text ?
I would expect the text to be deleted as well but it could be useful to have it remain in some way so that all of the writing is not lost. Maybe it would change to a normal text box, and the user could choose to re-associate it with a different path.
7. Is there any need to define multiple texts strings on a single path with different styling ?
Yes this would be useful, the dialogue box could use a + button to add more strings, the same way the fillet, and chamfer dialogues do, with a list showing all of the currently defined strings. This seems like a nice add on though, and I would say this could wait until after the base functionality is working.
Thanks again, I really hope we see this feature soon!
-Sam