How to Fix FontForge Sticked Points Warning
The "Sticked points" warning in FontForge indicates an error where two or more control handles or path nodes occupy the exact same spatial coordinates, creating collapsed Bézier paths. This article outlines why this geometry error happens during font development and provides practical, step-by-step methods to resolve it both automatically and manually to ensure clean font compilation.
Why the "Sticked Points" Warning Appears
In vector typography, outlines are defined by on-curve anchor points and off-curve control points (handles). A "sticked points" warning occurs when:
- Zero-Length Handles: An off-curve control handle is pulled directly onto its associated on-curve point, giving the handle a length of zero.
- Coincident Control Points: Two handles for adjacent curves sit precisely at the same coordinates.
- Overlapping Anchor Points: Two distinct on-curve points share the exact same X and Y position on the grid.
Rendering engines and font format specifications (OpenType, TrueType, and PostScript) struggle to calculate curvature mathematically when control vectors have no length or direction. This can cause rendering artifacts, hinting failures, or compilation errors when exporting to OTF or TTF formats.
Method 1: Automatic Fix via FontForge Validation
FontForge includes built-in tools to detect and repair geometry issues automatically:
- Open your font and navigate to the glyph producing the error, or
select all glyphs in the font view with
Ctrl+A(Cmd+Aon macOS). - Go to Element > Validation > Find Problems...
- In the dialog box, go to the Paths tab.
- Check the box for Check for control points which are stuck to points.
- Choose Fix instead of Error if you want FontForge to attempt an automatic repair, then click OK.
Method 2: Merge Overlapping Nodes with Simplify
If the stuck points are redundant anchor nodes:
- Open the affected glyph in the Glyph Edit window.
- Select the entire outline by pressing
Ctrl+A. - Go to Element > Simplify >
Simplify (or press
Ctrl+Shift+M). - To remove stubborn micro-segments, run Element > Simplify > Simplify More to merge duplicate coordinates into single, clean nodes.
Method 3: Manual Adjustment
For high-precision design work where automatic tools might alter the shape of the curve:
- Open the glyph in the Glyph Edit window.
- Zoom in closely to the flagged coordinates indicated by the validation tool.
- If an anchor has a zero-length handle, click and drag the handle away from the node to give it direction, or right-click the point and change its type to a Corner point or a Line segment to eliminate the unnecessary Bézier handle entirely.
- If two on-curve points overlap, select one of the nodes and press
Deleteto remove the redundant point while maintaining the closed path.
Once adjusted, run Element > Validation > Validate to confirm the warning has cleared before generating your final font files.