Adjust Control Handle Lengths Symmetrically in FontForge
Adjusting control handle lengths symmetrically in FontForge ensures smooth, balanced curves across your glyph outlines. While FontForge maintains collinear angles on smooth curve points by default, keeping both handles at identical lengths requires designating the point as a curve point and either balancing them numerically through the Point Info dialog or aligning them manually using coordinate readouts.
Step 1: Set the Point Type to Curve
Before balancing handle lengths, the on-curve point must be set to maintain collinear handles:
- Double-click the glyph in the font view to open the Outline Glyph View.
- Select the on-curve anchor point between the two control handles you wish to balance.
- Navigate to Point in the top menu and select
Curve (or press
Ctrl + Alt + Con Windows/Linux,Cmd + Opt + Con macOS).
Curve points appear as circles rather than squares. Moving one handle's angle will now automatically mirror the angle of the opposite handle, keeping the path smooth.
Step 2: Set Equal Lengths via Point Info
FontForge does not dynamically lock handle lengths together during freehand mouse drags, so the most precise way to achieve symmetrical length is through the Point Info window:
- Right-click the on-curve point and select Get Info,
or select the point and press
Ctrl + I(Cmd + Ion macOS). - In the Point Info dialog, locate the coordinates for the base point, the Prev CP (Previous Control Point), and the Next CP (Next Control Point).
- Switch the coordinate display mode from absolute to relative (offset from the base point) if available, or observe the distance field.
- Calculate or choose your desired handle distance from the base
point. Enter matching offset lengths for both
Prev CPandNext CPso they extend equally in opposite directions. - Click OK to apply the changes.
Step 3: Interactive Visual Adjustment
If you prefer adjusting handles visually while monitoring symmetry:
- Open the Info Window by selecting Window > Open Info Window if it is not already visible.
- Click and drag a control handle. Hold
Shiftwhile dragging to constrain movement along the existing angle of the handle. - Observe the length or delta (\(dx, dy\)) in the Info Window.
- Drag the opposite handle while holding
Shiftuntil its displayed length matches the first handle.