fontforge - create, modify, and view font files
fontforge [-c string]
[-cmap maptype] [-depth pixeld]
[-display str] [-lang=ff] [-lang=py]
[-help] [-keyboard ktype] [-new]
[-nosplash] [-recover mode]
[-script file] [-sync] [-usage]
[-vc class] [-version]
[fontfile ...]
FontForge will read PostScript (pfa, pfb, ps, cid), OpenType (otf),
TrueType (ttf, ttc), Macintosh resource fonts (dfont, bin, hqx), Scaled Vector
Graphics (svg), TeX bitmap (pk), Glyph Bitmap Distribution Format (bdf), and
X11 bitmap (pcf) fonts. Font files may be compressed with gzip (for example,
myfont.pcf.gz). FontForge will also read its own format: Spline Font
Database (sfd) files.
If the argument list contains a font file name (or several),
fontforge opens a fontview window for each font displaying the
characters of 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.
If no fontfiles are specified, and neither is -new,
and there is nothing to recover, then FontForge will produce an open
font dialogue box.
If a scriptfile is specified then FontForge will not
open the X display, nor will it process any additional arguments. It will
execute the scriptfile and give it any remaining arguments
If the first argument is an executable filename, and that file's
first line contains "fontforge", then it will be treated as a
scriptfile.
- -new
- Creates a new font.
- -last
- Loads the last sfd file closed.
- -recover none|auto|inquire|clean
- Control error recovery. none suppresses crash revcovery.
auto performs automatic recover if the program crashed before
saving changes; this is the default. inquire asks what to do with
auto-saved crash recovery files. clean deletes recovery
information.
- -allglyphs
- Load all glyphs in the 'glyf' table. of a TrueType collection.
- -nosplash
- Suppress display of the splash screen.
- -quiet
- Don't print non-essential information to stderr.
- -unique
- If a copy of fontforge is already running, open all arguments in it and
have this process exit.
- -display display-name
- Employ the X display specified by the string display-name (for
example: localhost:0).
- -depth pixeld
- Attempt to employ a visual that matches the specified pixel depth,
pixeld.
- -vc val
- Sets the visual class if possible.
- -cmap current|copy|private
- Sets the type of color map. current attempts to allocate colors int
he current (shared) color map. The program will likely not find everything
it requires. copy allocates what can be allocated, then copies the
current color map; it can thus make use of cells other programs are using.
private creates a new color map and fills it with the required
colors.
- -dontopenxdevices
- In case that fails.
- -sync
- Syncs the display, debugging.
- -keyboard ibm|mac|sun|ppc
- Generates appropriate hotkeys in menus. Use ibm on an
IBM-compatible PC. Use mac on a Mac computer running Mac OS.
Use sun on a Sun workstation. Use ppc on Power PC Mac
running SUSE GNU/Linux.
- -usecairo=yes|no
- Use (or not) the cairo library for drawing.
- -help
- Displays a help message and exits.
- -docs
- Displays help file output and then invokes a browser using the
BROWSER environment variable.
- -version
- Prints the version of fontforge and exits.
- -lang=py
- Use Python for scripts (may precede -script).
- -lang=ff
- Use fontforge's legacy scripting language.
- -script scriptfile
- Executes scriptfile. Must be the first option (or follow
-lang). All other arguments are passed to scriptfile.
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 script file 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
script file 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.
- -dry scriptfile
- Syntax checks scriptfile (dry run). Must be the first option. All
other arguments are passed to scriptfile. This option can only be
used with fontforge's own scripting language, not with Python.
- -c script-string
- Executes argument as scripting commands. Must be the first option. All
other arguments are passed to the script.
Sample usage:
fontforge myfont.ttf &
- BROWSER
- Specifies the name of a browser program for examining online
documentation.
- AUTOTRACE
- Specifies the location of the autotrace program. Usually FontForge can
figure this out without help, but not always.
- MF
- Specifies the location of the metafont program.
- FONTFORGE_VERBOSE
- Turns on verbose mode in scripting. Each statement is printed as it is
executed.
- ~/.FontForge/autosave
- Crash recovery directory.
- /usr/share/fontforge/*.ui
- Translations for user interfaces.
- /usr/share/fontforge/doc/*.html
- Optional location for online documentation.
- /usr/share/fontforge/*.cidmap
- "Encoding" files for Adobe's cid formats, from
http://fontforge.sourceforge.net/cidmaps.tgz.
sfddiff(1)
The HTML version of the FontForge manual, available online
at: http://fontforge.sourceforge.net/.
FontForge used to be called PfaEdit.
FontForge is Copyright © 2000–2014 by George Williams, and
is currently maintained by the FontForge development team. See
/usr/share/doc/fontforge/AUTHORS for a comprehensive list of contributors.
FontForge is licensed under GPLv3+: GNU GPL version 3 or later
(http://gnu.org/licenses/gpl.html) with many parts covered by a BSD license
(http://fontforge.org/license.html). Please read the LICENSE file included in
the FontForge distribution for details, or see
https://github.com/fontforge/fontforge/blob/master/LICENSE.
FontForge is available as a whole under the terms of the GNU GPL
(http://www.gnu.org/copyleft/gpl.html), version 3 or any later version.
However, almost all of its parts are available under the "revised BSD
license" (http://www.law.yi.org/~sfllaw/talks/bsd.pdf) because
FontForge was mostly written by George Williams, using that license.
The Revised BSD License is very permissive, and allows for code to
be combined with other code under other licenses.
There are many useful libraries available under copyleft libre
licenses, such as the LGPL and GPL, which FontForge started to use in
2012.
For example, Pango and Cairo are available under the LGPL.
Some features added since 2012 are licensed by their individual
developers under the GPLv3.
See the FontForge Github Issue Tracker, at
https://github.com/fontforge/fontforge/issues/.