FontForge
Encyclopedia
FontForge is a typeface (font) editor
program developed by George Williams. FontForge is free software
and is distributed under the BSD license. FontForge is available for several operating system
s and is localized in several languages.
, PostScript
, OpenType
, and SVG
. It can convert fonts from one format to another, or can store fonts in its native "spline
font database" format (
can be easily created, but users usually need to use the same Fontforge version, otherwise the
To facilitate automated format conversions and other transformations, Fontforge implements two scripting language
s: its own legacy language, and more recently Python
. FontForge can be built as a python module to be loaded from python scripts.
Fontforge supports Adobe's OpenType feature file specification (with its own extensions to the syntax). It also supports the unofficial Microsoft
mathematical typesetting extensions (
and supported by Office 2007, XeTeX
and LuaTeX
. At least one free OpenType mathematical font has been developed in FontForge (see below).
FontForge uses FreeType
for rendering fonts on screen. Since the November 15, 2008 release, FontForge can use 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 code are used by the LuaTeX
typesetting engine for reading and parsing OpenType
fonts.
Font editor
A font editor is a class of application software specifically designed to create or modify computer font files.Font editors differ greatly depending if they are designed to edit bitmap fonts or outline fonts. Modern font editors mostly deal with the outline fonts, because bitmap fonts are an older...
program developed by George Williams. FontForge is free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
and is distributed under the BSD license. FontForge is available for several operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
s and is localized in several languages.
Features
Fontforge supports many font formats, including TrueTypeTrueType
TrueType is an outline font standard originally developed by Apple Computer in the late 1980s as a competitor to Adobe's Type 1 fonts used in PostScript...
, PostScript
PostScript
PostScript is a dynamically typed concatenative programming language created by John Warnock and Charles Geschke in 1982. It is best known for its use as a page description language in the electronic and desktop publishing areas. Adobe PostScript 3 is also the worldwide printing and imaging...
, OpenType
OpenType
OpenType is a format for scalable computer fonts. It was built on its predecessor TrueType, retaining TrueType's basic structure and adding many intricate data structures for prescribing typographic behavior...
, and SVG
Scalable Vector Graphics
Scalable Vector Graphics is a family of specifications of an XML-based file format for describing two-dimensional vector graphics, both static and dynamic . The SVG specification is an open standard that has been under development by the World Wide Web Consortium since 1999.SVG images and their...
. It can convert fonts from one format to another, or can store fonts in its native "spline
Spline (mathematics)
In mathematics, a spline is a sufficiently smooth piecewise-polynomial function. In interpolating problems, spline interpolation is often preferred to polynomial interpolation because it yields similar results, even when using low-degree polynomials, while avoiding Runge's phenomenon for higher...
font database" format (
.sfd
file name extension), which has the advantage of being text-based. This format facilitates designer collaboration, because difference filesDiff
In computing, diff is a file comparison utility that outputs the differences between two files. It is typically used to show the changes between one version of a file and a former version of the same file. Diff displays the changes made per line for text files. Modern implementations also...
can be easily created, but users usually need to use the same Fontforge version, otherwise the
.sfd
text representation can differ too much to be useful for difference reviewing.To facilitate automated format conversions and other transformations, Fontforge implements two scripting language
Scripting language
A scripting language, script language, or extension language is a programming language that allows control of one or more applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the...
s: its own legacy language, and more recently Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
. FontForge can be built as a python module to be loaded from python scripts.
Fontforge supports Adobe's OpenType feature file specification (with its own extensions to the syntax). It also supports the unofficial Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
mathematical typesetting extensions (
MATH
table) introduced for Cambria MathCambria (typeface)
Cambria is part of the suite of fonts that comes with Microsoft Windows Vista, Windows 7, Microsoft Office 2007, Microsoft Office 2008 for Mac and Microsoft Office 2011 for Mac, specifically designed for on-screen reading and to be aesthetically pleasing when printed at small sizes. It is a...
and supported by Office 2007, XeTeX
XeTeX
XeTeX is a TeX typesetting engine using Unicode and supporting modern font technologies such as OpenType or Apple Advanced Typography...
and LuaTeX
LuaTeX
LuaTeX is a TeX based computer typesetting system which started as a version of pdfTeX with a Lua scripting engine embedded. After some experiments it was adopted by the pdfTeX team as a successor to pdfTeX . Later in the project some functionality of Aleph was included...
. At least one free OpenType mathematical font has been developed in FontForge (see below).
FontForge uses FreeType
FreeType
FreeType is a software library written in C that implements a font rasterization engine. It is used to render text on to bitmaps and provides support for other font-related operations.-Details:...
for rendering fonts on screen. Since the November 15, 2008 release, FontForge can use libcairo
Cairo (graphics)
cairo is a software library used to provide a vector graphics-based, device-independent API for software developers. It is designed to provide primitives for 2-dimensional drawing across a number of different backends...
and libpango
Pango
Pango is an LGPL licensed open source computing library used by software developers for laying out and rendering text in high quality, emphasising support for multilingual text...
software libraries for graphics and text rendering providing anti-aliased graphics and complex text layout support.
FontForge can use Potrace
Potrace
Potrace is an open-source, cross-platform computer program which converts bitmapped images into vector graphics. It is written and maintained by Peter Selinger....
or AutoTrace to auto trace bitmap images and import them into a font.
Parts of FontForge code are used by the LuaTeX
LuaTeX
LuaTeX is a TeX based computer typesetting system which started as a version of pdfTeX with a Lua scripting engine embedded. After some experiments it was adopted by the pdfTeX team as a successor to pdfTeX . Later in the project some functionality of Aleph was included...
typesetting engine for reading and parsing OpenType
OpenType
OpenType is a format for scalable computer fonts. It was built on its predecessor TrueType, retaining TrueType's basic structure and adding many intricate data structures for prescribing typographic behavior...
fonts.
Supported font formats
- SFD (Fontforge's native file format)
- TTF (TrueType font)
- (PostScript, Type 1 font)
- (TeX Bitmap Fonts)
- OTB (X11 bitmap only sfntSfntSfnt is a font file format used for PostScript, TrueType and OpenType fonts. Sfnt stands for spline font, and was originally developed for Apple Computer's QuickDraw....
) - BDF (Glyph Bitmap Distribution FormatGlyph Bitmap Distribution FormatThe Glyph Bitmap Distribution Format by Adobe is a file format for storing bitmap fonts. The content is presented as a text file that is intended to be human and computer readable. BDF is typically used in Unix environments.-Overview:...
) - FON (Windows)
- FNT (Windows)
- OTF (OpenTypeOpenTypeOpenType is a format for scalable computer fonts. It was built on its predecessor TrueType, retaining TrueType's basic structure and adding many intricate data structures for prescribing typographic behavior...
) - SVG
- TTC (TrueType Collection)
- WOFF (Web Open Font FormatWeb Open Font FormatThe Web Open Font Format is a font format for use in web pages. It was developed during 2009 and is in the process of being standardized as a recommendation by the World Wide Web Consortium Web Fonts Working Group....
)
Free fonts developed with FontForge
- Free UCS Outline FontsFree UCS Outline FontsFree UCS Outline Fonts is a project that produces a family of free computer fonts collectively known as GNU FreeFont, which are high-quality outline fonts, containing as much of the Universal Character Set as possible...
- Linux LibertineLinux LibertineLinux Libertine is a digital typeface created by the Libertine Open Fonts Project, which aims to create free and open alternatives to Proprietary software typefaces such Times Roman...
- DejaVu fontsDejaVu fontsThe DejaVu fonts are modifications of the Bitstream Vera fonts designed for greater coverage of Unicode, as well as providing more styles. The Bitstream Vera family was limited mainly to the characters in the Basic Latin and Latin-1 Supplement portions of Unicode but was released with a license...
- Asana-MathAsana-MathAsana-Math is a Palatino-like OpenType mathematical font with advanced layout features based on the undocumented Microsoft mathematical OpenType layout extensions. It was developed by Apostolos Syropoulos, based on the Type 1 pxfonts by Young Ryu. Asana-Math is freely available under the Open Font...
- BetecknaBetecknaBeteckna is a sans-serif typeface created by Johan Mattson, and released under the GPL. It features Normal, Bold, Italic, Bold Italic and Small Caps weights. It is inspired by Paul Renner's popular Futura typeface, but bears some obvious dissimilarities, most noticeably in the terminals of some of...
- InconsolataInconsolataInconsolata is an open source font created by Raph Levien and released under the SIL Open Font License. It is a monospaced font designed for source code listing, terminal emulators, and similar uses. Its design was largely inspired by humanist designs...
- JunicodeJunicodeJunicode is a free old-style serif typeface developed by Peter S. Baker of the University of Virginia. The design is based on a 17th century typeface used in Oxford, England....
- OCR-A
- M+ FontsM+ FontsM+ FONTS are Japanese font families designed by Coji Morishita. The 'M' stands for 'Minimum', while the plus sign means above minimum.-M+ BITMAP FONTS:M+ BITMAP FONTS consists of raster fonts, originally developed in 2002.-Font list:...
- XITS font projectXITS font projectThe XITS font project is an OpenType implementation of STIX Fonts project fonts with math support for mathematical and scientific publishing. The main mission of the Times-like XITS typeface is to provide a version of STIX fonts enriched with the OpenType MATH extension.-Features:* OpenType...
External links
- "I think the ideas behind it are beautiful in my mind": long interview with George Williams, July 8, 2007