How to Create Superscript Figures in FontForge

This guide outlines the complete process of creating superscript figures in FontForge. You will learn how to locate standard Unicode slots, generate scaled glyphs from existing numerals, adjust their weight and position, set proper metrics, and configure OpenType features so software can automatically substitute regular numbers with superscripts.

Step 1: Locate the Unicode Slots

Superscript numbers are split across two separate blocks in standard Unicode:

  • Superscript 1, 2, and 3: U+00B9, U+00B2, and U+00B3 (Latin-1 Supplement)
  • Superscript 0 and 4 through 9: U+2070 and U+2074 through U+2079 (Superscripts and Subscripts block)

To navigate to these slots:

  1. Open your font project in FontForge.
  2. Go to View > Goto (or press Ctrl+Shift+>).
  3. Enter the Unicode value (for example, U+2070 for superscript zero) and click OK.

Step 2: Copy and Scale Existing Numerals

Rather than drawing superscripts from scratch, derive them from your base figures:

  1. Select your standard figures (0 through 9) in the font view.
  2. Press Ctrl+C to copy them.
  3. Paste each figure into its matching superscript slot.
  4. Select all pasted superscript glyphs.
  5. Go to Element > Transformations > Transform.
  6. Set the dropdown to Scale Uniformly.
  7. Enter a scale factor between 55% and 65% (60% is standard) and click OK.

Step 3: Compensate for Stroke Weight

Directly scaling glyphs makes the strokes too thin compared to the surrounding text. To fix this:

  1. Select the scaled glyphs.
  2. Go to Element > Styles > Change Weight.
  3. Add a small stroke value (typically 5 to 20 font units, depending on your em size) to restore visual balance with the base font.
  4. Run Element > Correct Direction (Ctrl+Shift+D) to resolve any overlapping contours or inverted paths.

Step 4: Reposition to Superscript Height

Superscript figures generally align with the font's cap-height or ascender:

  1. Open a superscript glyph alongside a standard capital letter in the Metrics window to determine the target height.
  2. Select all superscript glyphs in the font view.
  3. Go to Element > Transformations > Transform.
  4. Select Move from the dropdown.
  5. Enter a positive value in the Y field (typically 300 to 450 units on a 1000-unit em square) so the tops of the figures align with the cap height.
  6. Click OK.

Step 5: Adjust Metrics and Side Bearings

Scaled figures require proportionally reduced left and right side bearings:

  1. Select the superscript figures.
  2. Go to Metrics > Set Width or manually drag bearings in the Metrics window.
  3. Tighten the left and right side bearings to match the spacing density of the primary numerals.

Step 6: Map to the OpenType sups Feature

To make superscripts functional in modern layout software via OpenType:

  1. Go to Element > Font Info.
  2. Click Lookups in the left sidebar, then select the GSUB (Glyph Substitution) tab.
  3. Click Add Lookup.
  4. Set the Type to Single Substitution, and add the Feature tag sups (Superscript).
  5. Click OK, then select the newly created lookup and click Add Subtable.
  6. In the subtable mapping list, assign each regular numeral (zero through nine) to its corresponding superscript glyph (zerosuperior, onesuperior, etc.).
  7. Click OK to save and apply your OpenType tables.