# FontForge

FontForge is a FOSS font editor which supports many common font formats. Developed primarily by George Williams until 2012, FontForge is free software and is distributed under a mix of the GNU General Public License Version 3 and the 3-clause BSD license. It is available for operating systems including Linux, Windows, and macOS, and is localized into 12 languages.
To facilitate automated format conversion and other repetitive tasks, FontForge implements two scripting languages: its own language and Python. FontForge can run scripts from its GUI, from the command line, and also offers its features as a Python module, so it can be integrated into any Python program.
FontForge supports Adobe's OpenType feature file specification (with its own extensions to the syntax). It also supports the unofficial Microsoft mathematical typesetting extensions (MATH table) introduced for Cambria Math and supported by Office 2007, XeTeX and LuaTeX. At least one free OpenType mathematical font has been developed in FontForge.
FontForge uses FreeType for rendering fonts on screen. Since the November 15, 2008 release, FontForge uses libcairo and libpango software libraries for graphics and text rendering, providing anti-aliased graphics and complex text layout support.
FontForge can use Potrace or AutoTrace to auto trace bitmap images and import them into a font.
Parts of FontForge's code are used by the LuaTeX typesetting engine for reading and parsing OpenType fonts.
The FontForge source code includes a number of utility programs, including 'showttf', which shows the contents of binary font files, and a WOFF converter and deconverter.

## Supported formats

FontForge supports a wide variety of font formats. Its native Spline Font Database format (.sfd file name extension) is text-based and facilitates collaboration between designers, as difference files can be easily created. FontForge also supports the interoperable UFO source format, which is based on XML.
The software supports many other font formats and converts fonts from one format to another. Supported font formats include: TrueType (TTF), TrueType Collection (TTC), OpenType (OTF), PostScript Type 1, TeX Bitmap Fonts, X11 OTB bitmap (only sfnt), Glyph Bitmap Distribution Format (BDF), FON (Windows), FNT (Windows), and Web Open Font Format (WOFF). FontForge also imports and exports fonts to and from the Scalable Vector Graphics (SVG) format and the Unified Font Object (UFO) format.

## Development history

The FontForge project was founded by George Williams as a retirement project, and initially published from 2001 to March 2004 as PfaEdit.
Williams actively developed, maintained and supported the program and related utilities for around 12 years. In mid-2011, Dave Crossland began contributing to the project and the project moved from SourceForge to GitHub. Crossland began offering introductory type design workshops through the TeX Users Group (TUG) to raise funds to hire contract developers to maintain and develop the program. FontForge's development became more active, and Khaled Hosny and Barry Schwartz were notable contributors, but in late 2012 they and Crossland disagreed about the direction of the project so they forked FontForge as SortsMill Tools.
In 2011, FontForge was packaged for easier installation on Mac OS X by Dr. Ben Martin with support from TUG. Meanwhile, Matthew Petroff published his Windows Build System and unofficial Windows builds. In 2013, the FontForgeBuilds project was started on SourceForge to extend this; it was subsequently entirely rewritten, and is today maintained by Jeremy Tan as a Windows application.
In 2012, Crossland organized a new project website to be hosted on GitHub Pages, fontforge.github.io, and used funds raised from teaching FontForge to beginners to hire a contract web designer. With his support Martin added a real time collaboration feature that was presented by them both as a keynote at the Libre Graphics Meeting 2013 in Madrid.
In 2014, with financial support from Google, Frank Trampe added full support for the UFO font source format.

## Fonts developed with FontForge

* Amiri (typeface)
* Asana-Math
* Cantarell (typeface)
* DejaVu fonts
* GNU FreeFont,(Free UCS Outline Fonts)
* Inconsolata
* Junicode
* Linux Libertine
* M+ FONTS
* OCR-A (recreation in 2004)
* Squarish Sans
* XITS font project