Convert Type 1 Fonts to OpenType with FontForge

FontForge is a free, open-source font editor that fully supports converting legacy PostScript Type 1 fonts into modern OpenType formats. Because major operating systems and applications like Adobe Creative Cloud have deprecated Type 1 font support, migrating legacy typefaces to OpenType is necessary for continued use. This article explains how FontForge handles this conversion, the steps to perform it, and the technical settings required to maintain outline quality and spacing.

To convert a Type 1 font successfully, you need the outline file (typically .pfb on Windows or .pfa on Unix/Mac) and its matching metrics file (.pfm or .afm). Keep both files in the same directory under the same base name. When FontForge opens the outline file, it automatically reads the associated metrics file to preserve critical kerning, tracking, and character width data.

To perform the conversion using the FontForge graphical interface, follow these steps:

  1. Launch FontForge and select File > Open. Browse to your folder and open the .pfb or .pfa file.
  2. Check the character map to verify that all glyphs have imported properly and that encoding matches the original design.
  3. Open Element > Font Info to verify and update metadata such as the Font Name, Family Name, and Version, ensuring modern software recognizes the family structure correctly.
  4. Go to File > Generate Fonts.
  5. Select OpenType (CFF) from the format drop-down list. This generates an .otf file.
  6. Choose a destination folder and click Generate. If FontForge displays a warning about non-standard glyph names or minor self-intersections, review the issues or proceed with generation if the source font was already functioning properly.

Choosing OpenType (CFF) rather than OpenType (TrueType) is the recommended route for Type 1 fonts. Both Type 1 and OpenType-CFF use cubic Bézier curves to define outlines. Selecting OpenType (CFF) allows FontForge to transfer the mathematical outlines directly into the new format without recalculating or approximating the curves. Converting to TrueType (.ttf) forces FontForge to convert cubic curves into quadratic curves, which can introduce subtle rounding changes to glyph geometry and require new hinting.

For users with extensive font libraries, FontForge also supports automated batch conversion via its Python scripting interface or native command-line tool. A basic script can loop through a directory of .pfb files, open each font, and execute the generate() method, enabling rapid migration of entire font collections to the OpenType format without manual user intervention.