Coordinate Precision

A font unit defines the scale of a coordinate. Coordinate precision determines whether an outline point can sit between whole units. Choose this deliberately: rounding can change a drawing, and the format you export may impose different limits from the format in which you work.

Integer and Fractional Coordinates

Integer coordinates use whole font units, such as 120 or −35. Fractional coordinates include positions between them, such as 120.25 or −35.5.

Fractional precision is useful when positioning fine details or transforming artwork before its final size is settled. For example, half of 35 units is 17.5 units. If an intermediate operation rounds that to a whole unit, doubling it afterward cannot recover 35 exactly. Fractional coordinates reduce this kind of rounding loss, though they do not make every editing operation mathematically reversible.

The available precision also depends on the format:

Format Coordinate behavior to account for
FontLab native working formats, UFO, and .glyphs Can preserve fractional outline coordinates; export settings can still request rounding
OpenType PS with CFF outlines Can preserve fractional outline points; ordinary positioning data such as anchors has separate integer requirements, and export profiles can round outlines
TrueType outlines in OpenType TT Outline points are rounded to whole font units on output
Legacy VFB Requires integer coordinates on output

A source format's ability to retain fractions does not mean that every exported font retains them. Keep the editable source, and judge the result produced by the intended export profile. Fractional CFF coordinates can also require more storage than equivalent integer coordinates.

The Round Coordinates Setting

File > Font Info > Family Dimensions > Round coordinates controls the current font's editing precision. With it enabled, ordinary outline editing uses whole font units. With it disabled, outline points can retain fractional positions. The concrete node and handle model is taught in Contours, Nodes, and Handles.

Enabling it can change existing outlines. Save a native working copy first if you need to preserve their fractional positions.

  1. Open File > Font Info > Family Dimensions.
  2. Enable or disable Round coordinates.
  3. Apply the change with Apply or OK.
  4. If FontLab displays Coordinates Rounding, choose Round to round the existing coordinates, or Keep fractional to retain them and leave fractional editing enabled.
  5. Inspect fine curves, narrow details, and transformed artwork after rounding.

Turning the setting off permits future fractional values; it does not reconstruct fractions that an earlier rounding operation removed. The setting is saved with native font data, so reopening the source preserves the intended editing regime.

The matching Round coordinates preference under Preferences > Open Fonts governs rounding choices when opening fonts or importing fractional artwork. A font's saved native setting and the decisions you make in a rounding prompt also matter; do not assume that the preference silently rounds every font you open.

With fractional editing enabled, Contour > Coordinates > Preview Rounding shows a rounded view without committing rounded coordinates. One-time rounding operations are covered in Basic Node and Handle Operations; export precision is covered in Export Profiles.

Choosing a Precision Strategy

This manual recommends integer coordinates as the practical starting point for ordinary font development, especially when TrueType output is your target. This keeps the drawing you edit closer to the positions the final outlines can retain. It also makes repeated measurements and comparisons easier to interpret.

If whole units are too coarse, prefer a higher UPM with proportional scaling before relying on fractional output; this keeps the recommendation independent of rasterizer-specific fractional behavior. Moving from 1000 to 2000 UPM doubles the number of integer positions per em: one unit in the enlarged coordinate system represents half an original unit. It does not provide tenths or hundredths of the original unit; the improvement follows the actual scaling ratio.

Fractional editing remains useful for importing artwork, performing transformations, or controlling curves between integer positions. A more specialized workflow can keep on-curve points on an integer grid while allowing fractional curve-control points. That requires separate snapping choices; merely disabling Round coordinates permits fractions throughout outline editing.

Whichever strategy you choose, avoid repeated cycles of rounding, scaling down, and scaling back up. Preserve the source before a final precision change and compare the exported result at the sizes where the font will be used. Increasing precision is useful only if the resulting outline and its output behave as intended.