FontForge Find Problems Tool Explained

The Find Problems tool in FontForge is an automated diagnostic utility designed to scan glyphs and identify design flaws, geometry errors, and technical inconsistencies before generating a final font file. Accessing this tool allows type designers to catch subtle defects—such as self-intersecting contours, non-integral coordinates, missing extrema points, and improper path directions—that could cause rendering artifacts or validation failures in operating systems and rasterizers.

Path and Contour Errors

The tool thoroughly inspects outline paths to ensure they meet standard digital typography formats (PostScript and TrueType). It reports:

  • Self-intersecting Paths: Contours that cross over themselves, which can cause erratic rendering or fill errors in different text engines.
  • Open Paths: Incomplete contours that are not closed, which can prevent proper filling of the glyph.
  • Incorrect Path Direction: Clockwise or counter-clockwise paths that do not conform to the winding rules required by the target font format (e.g., PostScript requires outer contours to be counter-clockwise, while TrueType requires them to be clockwise).
  • Intersecting Contours: Distinct contours that overlap one another, which should ideally be removed using union operations prior to exporting.

Point and Coordinate Discrepancies

Precise point placement is critical for hint generation and crisp screen rendering. The tool flags:

  • Missing Extrema: Segments that reach a vertical or horizontal maximum or minimum without having an on-curve point located exactly at that extreme.
  • Non-Integral Coordinates: Points and control handles that rest on fractional coordinates rather than whole integer values, which can introduce rounding errors when exporting to integer-based formats like TrueType.
  • Overlapping Points: Multiple points placed directly on top of one another or within an imperceptible distance, creating unnecessary control data.
  • Control Points Out of Bounds: Bézier control points that extend unreasonably far away from their respective on-curve anchors.

Reference and Component Issues

For glyphs constructed using components (such as accented characters built from base letters and diacritics), the tool checks:

  • Flipped References: Components that have been mirrored or inverted, which can cause rasterizer calculation issues or invert path directions.
  • Nested or Recursive References: Glyphs that reference themselves, directly or indirectly, creating infinite loops during rendering.
  • Unlinked References: Missing or broken links to base glyphs that have been deleted or renamed elsewhere in the font database.

Hinting and Metric Inconsistencies

The tool also identifies metadata and rendering aid problems:

  • Hint Conflicts: Overlapping horizontal or vertical stem hints that violate hinting specifications.
  • Missing Hints: Stems or critical visual features that lack hinting data altogether in formats where hints are expected.
  • Anchor and Metric Errors: Mismatched anchor points used for mark-to-base positioning, duplicate anchors, or discrepancies in glyph advance widths across related variants.