Highlight Imprecise Italic Angle – reporter plugin

Highlight Imprecise Italic Angle

This plugin highlights the path segments which angle is not precise (or not closest) to Italic Angle of the selected master and is within observed angle range (±10 degrees around Italic Angle). Also it adds placeholder dots around the nodes to indicate the horizontal direction and position for better node placement where segment’s angle will be precise to Italic Angle.

PreviewAnimation

Links

Install from Plugin Manager
Page on GitHub

Italic Angle

The Italic Angle is taken from Font Info → Masters.

Rounding options

If the precise italic angle lies between two integer coordinates, here are two options of rounding that could be toggled by right click context menu item called “Round down to a smaller italic angle if it’s between integer coordinates. When unchecked, it will round to a closest coordinate.”.

  • When toggled on (by default), it will round down to a coordinate with a smaller angle.
  • When toggled off, it will round the angle to the closest coordinate. If you are working with an angle like just 11° or 12° which is not based on integer ratios, there will be a lot of “almost precise” angle coordinates where you may prefer to round up to +0.02° instead of round down to -0.98°.

Distance

The distance from a node to the placeholder dot is displayed in number next to the placeholder dot, so it is easier to know how much the node should be moved to fit the correct position. For example, if you see the number 4, you need to press the left or right arrow key 4 times. It makes the correction faster.

Background

The issue of path correction after interpolation is always relevant, especially for italic styles. Usually the glyph shape has its own differences in different masters, so after interpolation (and more often after extrapolation) there are possible kinks, broken rounded nodes, and deviations from the Italic Angle. Read more about the issue in topic Is there a quick way to fix paths after interpolation?. Usually, RMX Tools is used to correct such a kinks and deviations. On the other hand, Highlight Imprecise Italic Angle is more intended for manual review of each glyph, because sometimes it should be estimated by eye and the correction is not always needed.

10 Likes

Here’s an update.

The reporter now also displays the distance from a node to the placeholder dot, in number, so it is easier to know how much the node should be moved to fit the correct position. I made some tests and realised that knowing the distance in advance make the correction faster.

1 Like

I found this tool very useful when I worked on some italics last week. Thanks for publishing it!

Here is a thought (or a feature request):

When designing an italic, it’s often not possible to get the exact angle, because of integer coordinates. Think about the angle of the bars of a sans-serif E, or a hyphen. In that case, my personal rule is: (1) make the angle as close as possible to the precise angle, and (2) the angle must not be greater than the precise italic angle.

For example, if the angle is 11.3099 degrees (1:5 ratio), and the hyphen has a thickness of 14, I’ll give the terminal 2:14 even though 3:14 would be is closer, but it would be greater than the precise angle. Hope this makes sense.

Would it be possible to implement that reasoning, so that the tool does not complain when I have 2:14?

Hi Tim. While I was faced with the choice of making the angle greater or smaller (from precise angle), I also always chose the smaller one to make some shapes less sharp and peaky. It was instinctive. So it is important for me to hear another opinion that confirms this. However, I should clarify about priority of rules 1 and 2.

Should the rule 2 only be applied in a controversial situation where both coordinates are equally distant from the precise angle? Like choosing 11.7° in the following case when 12° isn’t available:
11.7° < 12° > 12.3°

Or should it be the permanent rule for any controversial situation, even if the greater angle will be much closer to precise angle? Like anyway choosing 11.3° in the following case when 12° isn’t available?
11.3° < 12° > 12.1°

My personal preference would be the latter.

1 Like

@TimAhrens hi! I published an update for your request. For the situations where italic angle lies between two integer coordinates, the rounding down will happen – to coordinate with a smaller angle. This option is by default now. However, I also added the possibility to toggle between two rounding options using right click context menu. So you can decide which mode is best for your italic angle or for your personal preference.

  • When toggled on (by default), it will round down to a coordinate with a smaller angle.
  • When toggled off, it will round the angle to the closest coordinate. Why this option is preserved? If you are working with an angle like just 11° or 12° which is not based on integer ratios, there will be a lot of “almost precise” angle coordinates where you may prefer to round up to +0.02° instead of round down to -0.98°.

This looks good!

Maybe, instead of insisting on a certain principle, the tool could implement a (very small) tolerance?

Another thing I noticed: at smooth connections between a straight and a curve (so-called tangent points), I have cases in which the tool complains about the handle but not the straight line. It’s easy to understand how this can happen with integer co-ordinates but it seems strange to see the tool give a warning about the part which is enforced by Glyphs, i.e. the angle of the handle.

Are you talking about “rounding down” tolerance? Like … sometimes round up, if there is about 0.2 point to closest coordinate with a greater angle, and/or if the new angle will not be greater of “italic angle + 0.1 degree”? If so, then the question is – what the threshold should be there to round up?

My five cents for this useful tool.
Thanks!

Hi Eduardo!

So, if segment has 0 degree angle, and if Italic Angle is not 0 degree, then the segment should be highlighted with different color (or perhaps should not be highlighted at all). Thank you for this great example, I will fix it in the next update.

1 Like

I have released an update with 3 exceptions that prevents highlighting some segments that shouldn’t be highlighted.

1. Vertical segments with 0 degrees.
Prevents to highlight vertical segments with an exact angle of 0 degrees, like a handles above/below the left/right extreme points.

2. Line + tangent node + handle.
Prevents to highlight the handle if the line has correct angle, and if handle is not broken. The broken handle is always highlighted (when the difference between line’s angle and handle’s angle is greater of 0.5 degrees). Sometimes, if the handle segment is very short, the handle can still be wrongly highlighted (like a broken handle, it happens due to a rounding to integer coordinate when the angle may vary too much), but it is a rare case.

3. Handle + smooth node + handle.
Prevents to always highlight one of the handles around a smooth node if there is no way to set both of them simultaneously to a better position. In this scenario, the better option (without highlighting either of two handles) would be one where both handles would have an average angle closer to Italic Angle (the tool pre-calculates the angles after possible correction and compares it with the current angles before the correction). If the Rounding Down mode is active (by default), the better option (without highlighting either of two handles) would be one where both handles would have an angle smaller or equal (but not greater) of Italic Angle.

3

1 Like