Import Metadata from an Existing Font in FontForge

Yes, you can import and transfer metadata from an existing font into FontForge, though the program handles the process through specific workflows rather than a single dedicated "import metadata" button. When you open any supported font format (such as TTF, OTF, or WOFF), FontForge automatically reads and extracts all associated metadata into its database. To apply that existing metadata to a new or different font project, you can use FontForge's native font merging feature, OpenType feature files, or its built-in Python scripting environment.

Viewing Extracted Metadata Directly

When you open an existing font file via File > Open, FontForge immediately parses all metadata tables (including name records, OS/2 values, copyright details, and OpenType features).

To inspect this data:

  1. Navigate to Element > Font Info.
  2. Browse categories such as PS Names, TTF Names, and OS/2 to view the exact metadata values stored inside the file.

Transferring Metadata Using the Merge Method

If you want an existing font's complete metadata applied to a new set of glyphs without writing code, use the donor font as a template:

  1. Open the font containing the desired metadata (File > Open).
  2. Select all glyphs (Edit > Select > Select All) and delete their outlines (Edit > Clear).
  3. Go to Element > Merge Fonts.
  4. Select the font file containing your actual glyph outlines.
  5. When prompted, preserve the base font's properties. FontForge will populate the empty slots with your new glyphs while keeping the original font's naming, metrics, and metadata intact.

Transferring Metadata via Python Scripting

For precise control or automation, FontForge's Python scripting interface provides the cleanest way to copy metadata attributes directly from one font file to another.

You can run the following script inside FontForge's Python console (File > Execute Script):

import fontforge

# Open the donor font and the target font
donor = fontforge.open("donor_font.ttf")
target = fontforge.open("target_font.sfd")

# Copy basic naming metadata
target.fontname = donor.fontname
target.familyname = donor.familyname
target.fullname = donor.fullname
target.weight = donor.weight
target.copyright = donor.copyright
target.version = donor.version

# Copy OS/2 table data
target.os2_vendor = donor.os2_vendor
target.os2_weight = donor.os2_weight
target.os2_width = donor.os2_width

# Save changes to the target font
target.save()

Importing Specific Metadata Tables

If your metadata includes custom OpenType layout tables (lookups, ligatures, kerning pairs), you can export and import them independently:

  1. In the donor font, open Element > Font Info > Lookups.
  2. Select Save Feature File to generate an Adobe OpenType Feature (.fea) file.
  3. Open your target font, return to the Lookups pane, and click Load Feature File to apply those rules and metadata directly to your project.