What Does Auto Width Do in FontForge?

The Auto Width function in FontForge is an automated metrics tool designed to calculate and assign balanced horizontal spacing to font glyphs. Spacing individual letters manually is one of the most time-consuming aspects of type design, and Auto Width accelerates this workflow by setting the Left Side Bearing (LSB) and Right Side Bearing (RSB) based on optical algorithms. This article explains how the function operates, what parameters influence it, and how to effectively integrate it into your font development process.

How Auto Width Operates

When you run Auto Width, FontForge analyzes the contours and shapes of selected glyphs rather than simply measuring their bounding boxes. The primary objective of the tool is to create an optically uniform amount of white space between characters when they are set next to one another.

Instead of applying fixed padding, the algorithm evaluates:

  • Glyph Shape and Curvature: Characters with straight vertical stems (like "H" or "I") require more side bearing space to prevent them from colliding visually, whereas round characters (like "O" or "C") or open characters (like "T" or "V") require tighter side bearings because their whitespace naturally bleeds into adjacent characters.
  • Optical Center and Weight: FontForge attempts to gauge the visual mass of the glyph to distribute the space evenly on both sides.
  • Target Spacing: The algorithm asks the user for a desired spacing value (or allows the program to guess a value) to determine the intended overall density of the text.

How to Use the Feature

The function can be accessed directly from the main font window or the metrics window:

  1. Select the glyphs you want to space (typically an entire alphabet or specific case group).
  2. Navigate to the top menu and select Metrics > Auto Width (or press Ctrl + Shift + W).
  3. A dialog box will appear asking for the desired optical space between characters. You can enter a specific unit value or let FontForge approximate it based on existing font parameters.
  4. Click OK to apply the metrics across all selected glyphs.

Auto Width vs. Auto Kern

It is important to distinguish Auto Width from Auto Kern. Auto Width establishes the baseline advance width and side bearings for each character in isolation, which handles general character tracking. Auto Kern, on the other hand, creates specific exceptions for problematic character pairs (such as "AV" or "To") where default side bearings are insufficient to eliminate awkward visual gaps. Auto Width should always be executed and refined before generating kerning pairs.

Best Practices and Limitations

While Auto Width provides a solid foundation, it is rarely a final solution for production-ready typography. Optical algorithms can struggle with complex symbols, asymmetrical scripts, diacritics, and heavily stylized display typefaces.

For the best results, use Auto Width as a rapid starting point to establish rough proportions. Afterward, open the Metrics Window to manually fine-tune side bearings using standard spacing test strings (such as "HHOHOO", "nnono", and "HAmbugefontsiv") to ensure smooth, natural reading rhythm across all text sizes.