Structural Soundness

A useful outline has the points needed to describe its design, placed so that the curves are easy to inspect and edit. Use as few nodes as the design needs, and no fewer. Point count is a consequence of the shape, not a quality score by itself.

Node Requirements

A sharp change in direction needs a node at the corner. A curve also benefits from deliberate divisions at its local extrema, where it reaches a top, bottom, left, or right turning point.

An extremum is local to the curve being considered. A small bowl can have a local top below the glyph's global highest point. On a regular smooth curve, the tangent is horizontal at a vertical extremum and vertical at a horizontal extremum. A horizontal or vertical tangent alone does not prove that the curve turns there; inspect the path as well.

Put useful control at extrema

Nodes at extrema make height, width, and alignment explicit. Ordinary cubic Bézier segments approximate elliptical arcs rather than representing them exactly; dividing a rounded construction at extrema gives manageable segments with axis-aligned tangents. Separately, extrema nodes support rasterizing, hinting, and coordinated interpolation structure. TrueType hinting expects extrema to be on-curve; missing points there can impair small-size rendering. Treat them as a sound construction convention, especially when the target workflow expects them; their absence is not universally an invalid outline in every font format.

Select the intended segments and choose Contour > Nodes at Extremes to insert missing extreme points. The single-node insertion gestures are covered in Basic Node and Handle Operations. With no selection, the scope is broader in the current drawing. Check the new nodes: an existing point near an extremum may remain beside the newly inserted point, leaving a short segment that needs attention.

Adding extrema does not make a curve an exact ellipse or automatically improve its optical shape. It divides the representation at useful positions. Keep the intended silhouette as the criterion for any later adjustment.

Inspect inflections

An inflection is a change in the curve's bending direction. A deliberate S-shaped segment can contain one. Traditional outline construction often divided curves at inflections, but inserting a node at every sign change is not a universal requirement.

Keep an inflection when it serves the drawing. Investigate a weak, unintended reversal near a node: it can be caused by an awkward handle relationship. FontAudit's Weak inflection repair can reshape the curve rather than simply adding a node. Compare the repaired shape with the intended one.

Check handles and coincident points

A zero-length, or retracted, handle deserves inspection. It is permitted in some curve constructions, but at a join intended to be smooth it can make the tangent behavior degenerate and cause trouble during editing, rounding, or interpolation. Use an ordinary line or corner where that is the intended structure; use meaningful handle lengths where a curve transition is intended.

Coincident nodes can also conceal an unwanted short segment. FontLab can mark duplicates with a rhombus indicator. Remove accidental duplicates, but do not delete them blindly from interpolation sources: corresponding point structures can intentionally use coincident positions. See Interpolation and Compatibility.

FontAudit can report extrema, inflections, zero-length handles, and related conditions; see Font Audit. Its findings identify places to inspect; the design and output requirements determine the appropriate correction.

Node Economy

A simple geometric oval may need only four main nodes, while an asymmetrical or distinctive letter can need more. There is no rule that every o must have a particular count.

Too many points divide a flowing curve into short segments that are difficult to coordinate. Too few force a shape into geometry that cannot express its intended character. To judge an intermediate node, ask what it controls: a deliberate change of curvature, a corner, a necessary extremum, or simply residue from tracing and previous edits.

Clean up conservatively

Select the contours and choose Contour > Clean Up to remove technically unnecessary points. This is the conservative pass: it removes redundant structure without adding nodes and aims to retain the drawing.

Compare before and after, particularly where tiny details matter. “Cleanup” describes the purpose of the operation; it is not permission to ignore the result.

Simplify an approximate outline

Contour > Simplify performs a more substantial approximation. It can reduce node count and insert extrema where needed. It can also change TT representation to PS curves, so check the curve type if preserving TT structure matters.

Use it on a representative contour first, especially after autotracing. Inspect both the silhouette and the new point distribution. A lower count is not an improvement if a distinctive curve has been flattened or a sharp feature softened.

For a local section, the Eraser's Simplify path sub-tool lets you choose the span between two nodes. That can be more controlled than processing the whole contour.

Coordinate Rounding

When the intended output requires integer outline coordinates, assess the drawing on that grid before spending time on final continuity adjustments. Rounding later can move nodes and handles and disturb the relationships you just refined. FontAudit fix operations also generally work better with integer coordinates; this is another reason to follow the integer-first recommendation for output that will be rounded.

Use Contour > Coordinates > Apply Rounding for the targeted contour-level rounding operation. Use Contour > Coordinates > Round Selection when only the selected nodes and handles should be rounded. Make the selection explicit and inspect fine details after applying either command.

These are one-time changes to the stored values. Round coordinates in Font Info is the ongoing editing regime. Turning the ongoing mode off does not restore fractions already discarded.

If fractional output is intentional, do not round merely to satisfy a general habit. Preserve a native source, use the precision appropriate to the target, and assess the actual exported result. Even after an integer-first workflow, check again after conversion or interpolation because those operations can introduce another rounding step.