How to Scale Glyphs Proportionally in FontForge

Scaling multiple glyphs at once while maintaining their exact proportions is an essential workflow in FontForge for adjusting weight, optical size, or matching different font designs. This guide provides a straightforward, step-by-step method to select a group of glyphs in FontForge, apply a uniform scale factor across both the X and Y axes, and correctly adjust glyph metrics to keep your spacing consistent.

Step 1: Select Your Glyphs

  1. Open your font file in FontForge to view the main Font View window.
  2. Select the glyphs you wish to resize:
    • Click and drag your mouse across a range of glyphs.
    • Hold Shift while clicking to select a continuous range.
    • Hold Control (or Command on macOS) while clicking to select individual, non-contiguous glyphs.
    • Press Ctrl + A (or Cmd + A) to select all glyphs in the font.

Step 2: Open the Transform Dialog

  1. With the desired glyphs selected, navigate to the top menu bar.
  2. Go to Element > Transform... (or press the keyboard shortcut Ctrl + \ / Cmd + \).

Step 3: Configure the Proportional Scale

  1. In the Transform window, click the dropdown menu for the transformation type and select Scale Uniformly... (or choose Scale... depending on your FontForge version).
  2. Enter your desired scale percentage:
    • To make the glyphs larger, enter a value greater than 100% (e.g., 110%).
    • To make the glyphs smaller, enter a value less than 100% (e.g., 90%).
    • If using the general Scale... option, ensure you enter the exact same percentage for both the X and Y fields to maintain proportionality.

Step 4: Set the Origin and Metrics

  1. Origin: Choose the origin point for the scale operation:
    • Glyph Origin (0,0): Scales the glyph relative to the baseline and left side bearing origin. This is usually the best choice for font-wide edits.
    • Center: Scales each glyph from its individual center.
  2. Transform Widths / Metrics: Check the box labeled Transform Widths (or Transform Metrics) if you want the glyphs' advance widths to scale proportionally alongside the outlines. If left unchecked, only the visual shapes will change size, leaving the original character spacing intact.

Step 5: Apply and Verify

  1. Click OK to apply the transformation.
  2. Inspect the glyphs in the Font View or double-click an individual glyph to open the Outline View.
  3. If point coordinates end up on fractional pixels, choose Element > Round > To Int to snap all control points back to integer values, ensuring optimal rendering and standard TrueType/OpenType compatibility.