Idea for extending Fit Curve to control all nodes of a segment

With using Fit Curve as a way of maintaining/recreating consistent curvature but what I am finding it lacks is a way of controlling all parts of a curve segment.

There are essentially 4 nodes in a segment that would control the shape of a curve. Fit Curve adjusts the balance of the off-curve handles and the on-curve nodes have to be adjusted manually.

I find it is a lot of back and forth trying out a curvature in the Fit Curve in sidebar palette and then going back to the outline in edit view window.

I wish there was a way to also control the positioning of on-curve nodes in the segment all from the palette sidebar. Maybe this is a separate thing in the sidebar (maybe like when fit curve had the 2D view) or maybe there is a way to embed it with the current Fit Curve. In any case, it would be incredibly useful to be able to control these 4 points with precision and consistency.

This would be particularly useful when used in tandem with Corner Components which already create a level of abstraction from the outline…it would be a step in reducing that abstraction and allowing for greater control.

Also, this would be helpful for curves with angled handles so that if you’re changing the position of the on-curve nodes, it would retain the existing angle relationship with its corresponding handle.

Only addressing this one point.

One can use Control-Option-1 through Control-Option-8 to select the Fit Curve palette options. So, there’s no need to go back and forth between the palette and the Edit View. fyi.

I don’t really understand what should happen with the oncurve nodes. Can you be more specific?

The control option method is okay but still requires lots of selecting/deselecting nodes and holding down extra keys.

Here is a mock-up to try and get the idea across. It’s using a smart component but imagine that the oncurve nodes and handles would still be visible.

ezgif.com-gif-maker (4)

In this example, the handle 1 and handle 2 axes moving together essentially do what the fit curve does by adjusting the length of those handles based on some proportion to the fixed oncurve nodes.

In practice, after changing the curvature, the oncurve nodes also need some adjustment to transition smoothly into a straight segment.

So what I am imagining is if there was a way of also adjusting the position of the oncurve nodes – while a segment is selected – in relation to the handles via a palette so they can be used in conjunction with fit curve tool.

—
Maybe this can develop to be a general palette plugin tool to provide another way of moving nodes instead of tapping arrow keys. So if any nodes or segment was selected that it would bring up the option of moving those nodes via slider(s).

A test of imagining switching between segments to quickly find the right curvature and balance while retaining control for fine-tuning by having access to the most immediate nodes which affect the curves.

ezgif.com-gif-maker (5)

Fit Curve sets offcurves’ positions relative to the oncurves, which gives the precision/consistency no matter what shape and proportions the segment is. In your suggestion, relative to what would you move the oncurves? How do you see them being reusable if the shape/proportions of the segment changes?

I guess the way I’m thinking about it is being able to quickly test to find the desired curve.

So while Fit Curve sets the offcurves relative to the oncurves…the question I ask myself are the oncurves in the ideal location to begin with? if not, then I would like to move them in the least amount of controls/movements and then run Fit Curve again and see if that result is better. For me, it feels like an iterative process of moving oncurves <–> fit curve handles.

The idea is to be able to do that process from a single location. So by selecting a segment, you can test a curvature with Fit Curve, adjust oncurves, rerun Fit Curve again until reaching the desired curve…this would all take place in the sidebar palette.

The benefit of controlling those points in the sidebar palette is that you can do this process by either selecting a segment in an entire outline or, more abstractly, in a corner component, then you can rearrange the edit view zoom level to whatever is comfortable in judging the shape of the curve to the overall glyph/word…and via the sidebar making those changes to both oncurve and offcurves.

I have never used “fit-curve” and don’t understand what it is for?

I’m a convert to Fit Curve and now use it all the time.

When a segment is selected, you simply click one of the boxes in the Fit Curve panel and both handles snap to the desired tension. This means you can make sure all the curves between different letters, or between different masters have the same tension, or are differing in controlled ways. For different fonts, you can enter higher values in the % boxes so that a squarish design would have longer handles than a more circular design. The little dots that appear inside the circles tell you what tension the curves have in the current segment, so it’s a good indicator if your curves are consistent between masters.

It’s also useful because it makes sure both handles share the tension of the curve equally, same as the Tunnify filter. If we have one long handle and one short handle, it can disguise poor node placement, and doesn’t produce good interpolations if the other masters share the segment’s tension differently.

I’d been hesitant to use Fit Curve for the longest time but there is something appealing in getting feedback and controlling the tension of a curve (although I am not quite sure what it means and how to best use it in practice.)

@Bendy how does adjusting the oncurve nodes fall into your process?

I tend to place nodes rather precisely nowadays. Sometimes the node position needs to be in a particular spot (e.g to align with another node, or to be centred between other things, or just so the eye is happy with the curves). Other times, the actual position is less important than ensuring the curvature is the same speed on both sides of a node (using SpeedPunk), so I’d slide the nodes around until the curvature is G2 continuous.

1 Like

Thanks, everyone! I will have to look at it. I have always use the option>arrow key method to move the point to best balance

Is this the main reason? Because I agree with this part and would love Glyphs to have a better integration of “draw big, see small” workflow, which currently is only possible with the preview panel/window. Wouldn’t it be better, instead of moving oncurves with a slider, to have a separate window showing your letter/word/paragraph in any size? :slight_smile:

It’s a reason…and it ties to some things that I noticed relating about the limitations of moving oncurve nodes and preview options (Sorry to push some of these other posts but I think they are things that are related).

Moving nodes with sliders is probably too off-topic but relating back Fit Curve with maybe just be a final idea.

So if Fit Curve keeps the oncurve nodes and moves handles to control tension…what if there was the opposite where handles stay in their position and the oncurve nodes change their position?

In the animation, you can see the first few images are switching between dot 4 and 5 of tension. Then, with the tension set at 4 and after manually moving the oncurve nodes away from the handles by 10 units, the tension reading changes to 5. Maybe this is a way of moving oncurve nodes in predictable increments of ratios that relate to how Fit Curve is working.

But maybe wouldn’t isn’t useful so I’m okay with tabling the topic.

ezgif.com-gif-maker (6)

In cases like this, I usually use the info box. Select the lower right transformation origin and put the cursor into the width or height field and use the arrow keys to respite the curve.

That can work fine in an upright design where the curves go into horizontals or verticals but with any slant/italic angle that method breaks down.

The example you show can be done with pulling the selection bounding box or stepping through the measurements of the selection in the grey info box.

The problem with moving the on-curves is that it is not clear what should happen and how, because the next segment can be another curve and it may not just be perpendicular, or may be short etc. But that is solved by changing its bounding box, nudging, or by option-moving the on-curves.

Opt-move them?

Opt-move doesn’t work on oncurve nodes in slanted corner components as described here

Hi, perhaps you can try with Supertool that include Tunni lines for balanced and control of tension curves.