FontForge is a free software font editing tool. It was originally named pfaedit, but renamed as its capabilities grew far beyond the ability to edit PostScript Type 1 fonts (pfa files). Currently, it has support for TrueType, PostScript (Types 1, 3 and 0), OpenType, CFF, Type42 and SVG font formats. It also supports BDF, NFNT, FON, FNT, and TTF/OTF and PS Type3 bitmaps.
The interface is loosely based on Fontographer 4, down to the menu organization, keystrokes, the organization of editing windows, and the tools and operations available. If you are familiar with Fontographer, you will have no problem learning FontForge.
The biggest detriment to the interface is that it uses its own homegrown widget set, which causes some display and interaction problems. The dependence on low level X11 code also causes portability problems, especially on Windows. Mac OS X users can use the X server included with OS X, but the UI experience will be far from that of a native Mac OS X application.
FontForge contains both its own scripting language, described in the documentation as “a mixture of C and shell commands”, and Python scripting. The “native” scripting language cannot edit glyph shapes, but is useful for conversions, re-encodings, etc. The python scripting support is quite new, but has more powerful access to FontForge’s features.
FontForge is an open-source project under active development. The author, George Williams, is very accessible and responsive to comments and bug reports.