FONTFORGE(1)
๐ FONTFORGE โ like, the whole manual, bestie
okay so real talk: this is fontforge, from the General Commands Manual section (iykyk), and it literally creates, modifies, and views font files. that's the whole vibe. let's get into it โจ
๐ธ NAME ๐ธ
fontforge โ create, modify, and view font files ๐
โจ SYNOPSIS โจ
fontforge [-allglyphs] [-c string] [-cmap maptype] [-depth pixeld]
[-display str] [-lang=ff] [-lang=py] [-help] [-keyboard ktype] [-last]
[-new] [-nosplash] [-quiet] [-recover mode] [-script file] [-skippyfile]
[-skippyplug] [-sync] [-unique] [-usage] [-vc class] [-version]
[fontfile ...]
๐ DESCRIPTION ๐
so FontForge will read all of these, no cap:
- 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) - X11 bitmap (
pcf)
and bestie, font files can be compressed with gzip โ like, for example myfont.pcf.gz is totally valid. ๐
FontForge also reads its own format: Spline Font Database (sfd) files. home turf fr fr.
If the argument list contains a font file name (or several of them, the more the merrier), fontforge opens a fontview window for each font, displaying the characters of that font. and if there are, like, no options or arguments at all? the program opens a file-picker window so you can browse your disk to find a font file, or create a new one. very main character energy tbh. ๐ฆ
ngl this manual page is intended only as a rudimentary overview โ see the HTML Users Manual for the complete tea. โ
If no fontfiles are specified, and neither is -new, and there is nothing to recover, then FontForge will produce an open font dialogue box. simple as.
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. ๐ (yes, really โ it just hands them off.)
And if the first argument is an executable filename, and that file's first line contains fontforge, then it will be treated as a scriptfile. sneaky but iconic.
๐ OPTIONS ๐
-newโ Creates a new font. blank canvas era.-lastโ Loads the lastsfdfile closed. the "u up?" of file loading. ๐-recover none|auto|inquire|cleanโ Control error recovery.nonesuppresses crash revcovery.autoperforms automatic recover if the program crashed before saving changes โ and this is the default.inquireasks what to do with auto-saved crash recovery files.cleandeletes recovery information. choose ur fighter. ๐ซถ-allglyphsโ Load all glyphs in theglyftable. of a TrueType collection. all of them. every last one.-nosplashโ Suppress display of the splash screen. no logo, straight to business.-quietโ Don't print non-essential information tostderr. shhh ๐คซ-uniqueโ If a copy of fontforge is already running, open all arguments in it and have this process exit. sharing is caring.-displaydisplay-name โ Employ the X display specified by the string display-name (for example:localhost:0).-depthpixeld โ Attempt to employ a visual that matches the specified pixel depth, pixeld.-vcval โ Sets the visual class if possible. "if possible" doing a lot of work there ๐-cmap current|copy|privateโ Sets the type of color map.currentattempts to allocate colors int he current (shared) color map โ and ngl, the program will likely not find everything it requires.copyallocates what can be allocated, then copies the current color map; it can thus make use of cells other programs are using.privatecreates a new color map and fills it with the required colors. โจ-dontopenxdevicesโ In case that fails. (that's it. that's the whole description. love that for us.)-syncโ Syncs the display, debugging. tech girlies know.-keyboard ibm|mac|sun|ppcโ Generates appropriate hotkeys in menus. Useibmon an IBM-compatible PC. Usemacon a Mac computer running Mac OS. Usesunon a Sun workstation. Useppcon Power PC Mac running SUSE GNU/Linux. pick ur era.-helpโ Displays a help message and exits.-docsโ Displays help file output and then invokes a browser using theBROWSERenvironment variable. ๐ฅ๏ธ-versionโ Prints the version of fontforge and exits.-lang=pyโ Use Python for scripts (may precede-script). python girlies rise ๐-lang=ffโ Use fontforge's legacy scripting language.-scriptscriptfile โ Executes scriptfile. Must be the first option (or follow-lang). All other arguments are passed toscriptfile. 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 stringfontforge, then the argument-scriptmay be omitted. This means that FontForge can be used as an interpreter. ๐คฏ-dryscriptfile โ 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.-cscript-string โ Executes argument as scripting commands. Must be the first option. All other arguments are passed to the script.-skippyfileโ Do not execute Python init scripts when initializing. skipping, not skimping.-skippyplugโ Do not load (enabled) Python plugins when initializing. same energy, different plugins.
๐ EXAMPLE ๐
Sample usage:
fontforge myfont.ttf &
(the & at the end is giving "I'll be here in the background, living my life" ๐ซถ)
๐ฆ ENVIRONMENT ๐ฆ
BROWSERโ Specifies the name of a browser program for examining online documentation.AUTOTRACEโ Specifies the location of theautotraceprogram. Usually FontForge can figure this out without help, but not always. (relatable.)MFโ Specifies the location of themetafontprogram.FONTFORGE_VERBOSEโ Turns on verbose mode in scripting. Each statement is printed as it is executed. loud and proud ๐ข
๐ FILES ๐
~/.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, fromhttp://fontforge.sourceforge.net/cidmaps.tgz.
โญ SEE ALSO โญ
The HTML version of the FontForge manual, available online at: http://fontforge.sourceforge.net/.
๐ NOTE ๐
FontForge used to be called PfaEdit. glow-up of the century, honestly. โจ
๐ AUTHORS ๐
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. absolute legends, all of them ๐ซถ
๐ธ LICENSE ๐ธ
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.
๐ BUGS ๐
See the FontForge Github Issue Tracker, at https://github.com/fontforge/fontforge/issues/. (not me filing a bug at 2amโฆ ๐)
aww okay that's the whole page bestie, you ate that fr fr. this was the General Commands Manual entry for fontforge, dated 2017 Jun 18 โ mwah, go make something iconic ๐
โจ๐
๐ฆ where this page comes from
- alpine 3.24: fontforge-doc 20251009-r1 ยท GPL-3.0-or-later
- arch rolling: fontforge 20251009-5 ยท GPL-3.0-or-later
- fedora 44: fontforge 20251009-2.fc44 ยท GPL-3.0-or-later
- fedora 44: fontforge 20251009-2.fc44 ยท GPL-3.0-or-later
- nixos 26.05: fontforge 20251009
- nixpkgs unstable: fontforge 20251009
- opensuse-leap 16.0: fontforge 20251009-160000.3.1 ยท GPL-3.0-or-later
- opensuse-leap 16.0: fontforge 20251009-160000.3.1 ยท GPL-3.0-or-later
- opensuse-leap 16.0: fontforge 20251009-160000.3.1 ยท GPL-3.0-or-later
- opensuse-leap 16.0: fontforge 20251009-160000.3.1 ยท GPL-3.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms