Straighten handles

Hi Guys,

Basically I am using the filter ‘Round Corners’ but I am having a problem, some handles, even though they are not corners (green dots), don’t get straight. This is really unfortunate beause I don’t get a smooth curve.

Is there any plug-in to straighten up handles, If I manually nudge the handle it will get straight, but I wouldn’t want to to them one by one.

Some images so you can see what I am reffering too

Before nudge:

After nudge:

Thanks a lot

I also changed the units per Em to 2000, so I have more room to move the handles this specific screenshot is from a thin weight (about 20 units).

The bottom one is still skewed slightly, not as bad as the top one was.

Thanks George, I am aware of that.

That is an inherent problem of a rough grid and a situation where the handle is only a few units deep. If you have many small curves like that, you may want to set a finer grid, e.g. Set the subdivision to 100 in File > Font Info > Other Settings and try rounding again. A UPM of anything but 1000 in an OTF can cause problems.

1 Like

I’m aware of the problem and working on improving plugin to produce better results.


with the grid subdivision I can fix them manually, because the points don’t snap to the grid. However I really would like something to straighten the handles… I did not run a simple ‘Round Corners’ I have three types of angles, and each has a different ‘round corner’ value. I manually did this to every single glyph. So it would be very time consuming to go back and do it all over again.

You know when you hit the arrow key on an handle and the tangent / smooth curves get straight? I would like something to do that in the whole font. Is there something like that?

Thanks again

I have a script called “realingn handles”. Not sure what it does as Glyphs crashes when I try to apply it.

EDIT: I used an earlier version of Glyphs. I doesn’t work in some handles and it doesn’t run on the whole font, only one glyph at a time

where did you get the script? Can you send it that I can have a look?

It is in my scripts. But the problem is that the algorithm has no way of telling which is the correct handle and which one is at the wrong angle. The script just moves every handle a little bit to the side and back again.

I thought that when you moved the handles using this script (and with the grid subdivision set to 100) they would get straight.

But thanks

Such a script would be useful to me too… how about assuming that the longer of the two handles is the correct one? That’s probably true in most cases (at least the ones that escape the designer’s eye).


Btw, the script crashes on glyphs 2.

Is it possible to run on the whole font and not only on a single glyph?

I do have questions regarding the desired straightness.

  1. If I am using a UPM of 1000 with a Grid of 1 sub 100 and one of my curve handles is off by 1 unit, upon export does G2 convert that curve to a corner point or does it just remain slightly off?
  2. How much will being off by 1 unit affect the appearance of the curve?
  3. At what point size would it become very noticeable and possibly objectionable in print?

I will have a look, soon.

No, and there are two reasons:
The way it is implemented is that it uses a method of a tool and that is only available in edit view.
And it shouldn’t, because you are supposed to check if the right handles are aligned. Because it has no way of knowing which handle is the correct one, and it could mess up your glyph significantly.

Postscript does not differentiate between corner and curve nodes. That is just a convenience in editing software. The finer grid remains in OTF/CFF fonts, but not in TTFs.

Depends on the design of course. The only technical problem I see is that it can mess up your hinting because your extremum points can get lost this way.

If you use an UPM of 1000, that means it is a thousandth of the font size. E.g. At 10pts, one unit is the equivalent of one hundredth of a point, or 0.01pt. I doubt it is visible in print. If it is your handle that is off by a unit, that means the curve deviance is even less than that, usually a quarter, i.e. 0.0025pt.

Again, print is not the problem then, but screen rendering could be because the curves may be missing extremum points.

I suppose you will be testing the typeface anyway?

If that is the case then why is it necessary to round to the grid?

Extremums are never a problem; diagonals sometimes are so I pay particular attention to those. It’s just my way of striving for the best.

Testing? Of course; I will always test because it is easy to overlook something. I don’t want it going out the door wrong if I can help it.

The method how none integer coordinates leads to bigger files and there are rare problems with some printers.

There are usually much bigger things to improve than some minimal misalignments of some diagonal curves. Print the glyph with a height of 25 cm and see if you can see it. I doubt that you will.

Related: Cursify filter is also producing these non-symmetrical handles on supposedly smooth points.

Is there no way of getting around this? Even with a finer grid I’m getting horrible bulges in my formerly smooth curves (yes, very noticeable even at small sizes) after running a cursify filter: