Delete All Kerning Pairs in FontForge
This guide provides a direct walkthrough on how to completely remove all kerning pairs from a font using FontForge. Whether you need to reset spacing issues, eliminate unwanted OpenType tables, or rebuild your metric pairs from scratch, you will learn the fastest and most reliable method to wipe all kerning data using the Font Info interface.
Method: Remove Kerning via the Font Info Window
In modern fonts, kerning pairs are stored as OpenType GPOS (Glyph Positioning) lookups. Deleting these lookups removes all existing kerning pairs instantly.
Open Your Font
Launch FontForge and open the font file you wish to edit.Open Font Info
Click on the Element menu at the top of the window and select Font Info (or pressCtrl + Shift + Fon Windows/Linux,Cmd + Shift + Fon macOS).Navigate to GPOS Lookups
In the left-hand sidebar of the Font Info dialog, click on Lookups. Then, look at the top tabs and select GPOS.Locate Kerning Lookups
Browse the list of lookups for entries designated for pair positioning. These typically have names starting with or containing'kern'(for example,'kern' Horizontal Kerning in Latin lookup 0or feature tagkern).Delete the Lookup
Click on the kerning lookup to highlight it, then click the Delete button on the right side of the window. A confirmation prompt may appear asking if you want to delete the lookup and all of its subtables; confirm by selecting Yes. Repeat this step if there are multiple kerning lookups (such as right-to-left kerning or separate script lookups).Apply and Save
Click the OK button at the bottom of the Font Info window to commit the changes.Generate the Font
Go to File > Generate Fonts... to export your updated font file without any kerning pair data.
Alternative: Remove Kerning Using Python Scripting
If you prefer using the FontForge command-line interface or Python automation, you can strip all GPOS kerning lookups using the following script:
import fontforge
font = fontforge.open("your-font.sfd")
# Iterate through GPOS lookups and remove those with the 'kern' feature
for lookup in font.getLookupSubtables("GPOS"):
info = font.getLookupInfo(lookup)
for feature in info[2]:
if feature[0] == "kern":
font.removeLookup(lookup)
break
font.generate("your-font-cleaned.otf")This script scans the font's GPOS table, identifies any lookup
associated with the kern feature tag, removes it entirely,
and generates a new font file.