Harmonizing Curves and Smart Nodes

Harmonization adjusts a curve relationship toward a defined smoothness condition. Choose the operation according to what may move: the node, its handles, or both as part of an ongoing constraint. Use the curvature comb to diagnose the join, then check the filled letter after the adjustment.

Harmonizing Nodes and Handles

Harmonize nodes

Select a suitable smooth PS node and choose Contour > Harmonize Nodes. The operation moves the node between its existing handles to make the curvature agree across the join. The handles retain their positions.

For a single node, Option/Alt-double-click provides the corresponding gesture. Check the new node position against any height or alignment that matters to the design. A smoother join may be less useful if the node has moved away from an intended reference.

This is a one-time adjustment. Subsequent changes to the surrounding curves can create another mismatch.

Harmonize handles

To keep the node in place, select it and choose Contour > Handles > Harmonize, or use Ctrl+Alt-double-click. This adjusts the adjacent handles instead. The operation is intended for suitable smooth PS joins; an endpoint or incompatible segment arrangement may not provide the geometry it needs.

Use a small selection first. Compare the comb on both sides and inspect the neighboring segments, since changing a handle also changes the curve leading toward the next node. Integer rounding can limit how closely the requested relationship is represented.

Balance tension or equalize lengths

Select the intended curve segment and choose Contour > Balance to balance the proportional tension of its two handles. Their physical lengths need not become equal: the proportions relate each handle to its own node and the intersection of the handle directions.

To equalize the handles at a smooth node, select that node and choose Contour > Handles > Equalize. This gives its two adjacent handles equal lengths while retaining their combined length. It is a different operation on a different relationship. Equal handle lengths alone do not guarantee equal curvature across two differently shaped neighboring segments.

The Node panel provides tension controls and Set proportional curve as another route to segment balancing. Drag its Tension control to adjust the selected curves while watching their shape. Tunni controls also offer balancing gestures. Use these commands to establish a starting relationship, then judge the actual curve rather than assuming a balanced number is always the desired shape.

Superharmonize and G3

Choose Contour > Handles > Superharmonize for a stronger adjustment of a suitable smooth join. It moves handles toward a G3 relationship, matching the progression of curvature as well as curvature itself, while retaining the node position.

The result often becomes rounder and more uniform. Try it where that is the intended character—for example, an uneven transition along a broad curved section. Compare before and after at the same zoom and then at text size.

It is generally a poor default for condensed forms, deliberately angular curves, or an extremum whose neighboring shape has been carefully tuned. A stronger continuity constraint can take away the tension or asymmetry that gives the letter its character. If the result improves the comb but weakens the silhouette, undo it.

Older documentation used “Harmonize Handles” for the operation now called Superharmonize. In the current menu, Harmonize and Superharmonize are separate choices; do not treat the older name as an instruction to use either interchangeably.

Genius and Spike Nodes

Maintain a smooth relationship with Genius

A Genius node retains an automatic curvature relationship while you edit. At a suitable smooth curve-to-curve join, FontLab derives the node's position from the surrounding handles so that the curvature matches. Moving a handle can therefore also move the node itself. Option/Alt-dragging a Genius handle adjusts the opposite handle’s angle. On a handle, Shift+Option/Alt-double-click retracts it, rather than applying the node gesture; see Editing Modes and Modifiers.

Select a smooth node and choose Contour > Nodes > Genius, or use the Genius control in the Node panel. Shift+Option/Alt-double-click is the direct gesture. Inspect the position immediately after applying it; converting an ordinary smooth node can move it into the constrained position.

At an eligible line-to-curve join, Genius can also maintain G2 continuity. FontLab derives the curvature-matched transition for the resulting outline without rewriting the source contour into that expanded construction. Check the comb and filled result rather than assuming every line-to-curve join is eligible.

Use Detect Genius to identify already suitable smooth joins and give them persistent behavior without moving their positions. Recheck the result under the font's current coordinate precision.

Genius is useful when you want the relationship to survive later edits. A one-time Harmonize operation is preferable when you need to evaluate and then retain an ordinary editable result. Turning Genius off removes the automatic constraint. Use Undo when you need to reverse an earlier edit.

Genius nodes participate in broader point-movement operations such as Power Nudge. If a node also has a Servant property, the Genius constraint takes precedence. Remove Genius first when you need the node to follow a Servant positioning relationship instead.

For a batch change, the Convert Nodes action in Tools > Actions can clear Genius or Servant properties independently. Choose only the properties you intend to remove and check the glyph and master scope before applying.

Recognize the experimental corner behavior

The Node panel can apply its Genius control to a corner node, producing the experimental behavior called a Spike node. Its adjacent handles can adjust automatically as the corner moves. Genius maintains a continuity relationship; Spike is an experimental aid to shape adjustment during a drag, not a G2 constraint. Its detailed behavior is not fully established, so inspect the result before relying on it.

Use it only when that automatic corner behavior is intentional, and inspect the adjoining curves after a trial movement. The menu's Genius operation is aimed at smooth nodes; the corner behavior is exposed through the panel. Keep a source version before using an experimental constraint broadly. Ordinary corner editing remains the clearer choice when you need independent control of the handles.

Recommendations for Harmonizing

Begin with the design and the node structure. A misplaced node is not repaired simply by giving it a higher continuity level. An unnecessary node may be better removed, allowing a longer segment to carry the intended curve naturally.

Use the smallest operation that addresses the actual problem. Move a node when its position is flexible; move handles when the node must remain fixed; use Genius when the relationship should remain live. Check adjoining segments and the filled letter after each choice.

Deliberate corners and curvature changes are valid parts of a design. Do not harmonize an entire glyph merely because some joins are not G2 or G3. Learn from the adjusted geometry, but retain the shape that serves the font.