fontforge man page

fontforge — create and modify PostScript, TrueType and SVG fonts


fontforge [-c string] [-cmap maptype] [-depth pixeld] [-display str] [-lang=ff] [-lang=py] [-last] [-library-status] [-help] [-keyboard ktype] [-new] [-nosplash] [-recover mode] [-script file] [-sync] [-usage] [-vc vclass] [-version] fontfile ...


The program fontforge allows you to create and modify font files, accepting input in the following formats (with associated file extensions appearing in parentheses):

Glyph Bitmap Distribution (.bdf)
Macintosh resource fonts (.dfont, .bin, .hqx)
OpenType (.otf)
fontforge spline font database (.sfd)
POSTSCRIPT, which includes:

ASCII format (.pfa)

Binary format (.pfb)

CID-keyed fonts, Adobe convention used primarily for Asian characters (.cid, .otf)

POSTSCRIPT Type 0 (.ps)

POSTSCRIPT Type 3 (.ps)

Scaleable vector graphics fonts (.svg)

TeX bitmap (.pk)

TrueType (.ttf, .ttc)

X11 bitmap (.pcf)

If the argument list contains a font file name (or several), fontforge opens a fontview window for each font displaying the characters of the that font. In the absence of options or arguments, the program opens a file-picker window, allowing you to browse your disk to find a font file, or create a new one.

This manual page is intended only as a rudimentary overview; see the HTML Users Manual for more complete information.


-c string
Must be the first argument. Executes "string" as a set of scripting commands. Any additional arguments will be passed to the script.
-cmap maptype

Employ the specified method to control 8-bit colormaps, where maptype assumes one of these three values:

Attempt to allocate colors in the current (shared) colormap. The program will likely not find everything it requires.
Allocate what can be allocated, then copy the current colormap; it can thus make use of cells other programs are using.
Create a new colormap and fill it with the required colors.
-depth pixeld
Attempt to employ a visual that matches the specified pixel depth, pixeld.
-display str
Employ the X display specified by the string str (for example: localhost:0).
Display the usage description and start a web client displaying the online documentation.
-keyboard ktype

Alter the displayed menus to employ modifier keys appropriate to the specified keyboard type, where ktype assumes one of the following four values:

IBM PC type keyboard.
Apple Macintosh keyboard.
Sun workstation keyboard.
Macintosh keyboard, but on a system running SuSe linux (the mappings differ from those used under MacOS X).
Opens whatever font you last edited with fontforge. If you specify n -last fontforge will open the last n fonts.
Interpret the script with the fontforge interpreter.
Interpret the script with the python interpreter.
Prints information about optional libraries.
Create a new font with the ISO 8859-1 encoding (the international encoding standard for western Europe, and the standard for most X fonts).
Suppress display of the splash screen.
-recover mode

Control the crash recovery mechanism (helpful if crash recovery causes problems), where mode takes on one of three allowed settings:

perform automatic recovery (default) if the program crashed before saving changes.
Delete recovery information.
Suppress crash recovery.
-script file
Execute the script named file. Does not open the X display. This must be the first argument passed to fontforge. Any other arguments are handled by the scriptfile itself. Any other command line arguments will be passed to the script. The program contains a command interpreter which allows access to most but not all of its interactive features. If a scriptfile is executable, and if its first line contains the string "fontforge", then the argument -script may be omitted. This means that fontforge can be used as an interpreter.
Make X synchronous. Used primarily for debugging, this option slows X down.
Display the usage description.
-vc vclass
Attempt to use a visual that matches the class, vclass, specified as either the name of a visual class or an integer enumerating a visual class.
Display the current version (a six digit string containing the date stamp of the source files).


If any of the following environment variables exist, they are used:

Specifies the name of a browser program for examining documentation.
Specifies the location of the autotrace program (usually FontForge can figure this out without help, but not always).
Specifies the location of the metafont program.
Turns on verbose mode in scripting. Each statement is printed as it is executed.


crash recovery directory
translations for the user interface
optional location for online documentation.
"encoding" files for Adobe's cid formats from http://fontforge.sourceforge.net/cidmaps.tgz

See Also


The HTML version of the fontforge manual, available online at:



fontforge used to be called pfaedit.


Copyright (C) 2000-2007 by George Williams (gww@silcom.com). Original manual page by Tom Harvey, subsequently modified by George Williams. Heavily rewritten and modified to use standard -man (5) macros by R.P.C. Rodgers (rodgers@nlm.nih.gov), 23 October 2002.


Undoubtedly many, but unknown and ever changing. See

http://fontforge.sourceforge.net/#known-bugs for a current list.

Referenced By

fontimage(1), fontlint(1), fontmatrix(1), gbdfed(1), getinstrs(1), mftrace(1), mkeot(1), sfddiff(1), ttx(1), unifont(5), xgfconfig(1), xgridfit(1).

Explore man page connections for fontforge(1).

2 March 2004