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.[2] It is available for operating systems including Linux, Windows,[3] and macOS,[4] and is localized into 12 languages.[which?][citation needed]

FontForge
Original author(s)George Williams
Developer(s)Frank Trampe, Ben Martin, Adrien Tétar, Khaled Hosny, Jeremy Tan
Initial releaseApril 1, 2004; 20 years ago (2004-04-01)
Stable release
20230101[1] / January 1, 2023; 23 months ago (2023-01-01)
Repository
Written inC
TypeFont editor
LicenseMix of GNU General Public License v3 and BSD license
Websitefontforge.org

To facilitate automated format conversion and other repetitive tasks, FontForge implements two scripting languages: its own language and Python.[5] 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.[6]

FontForge supports Adobe's OpenType feature file specification (with its own extensions to the syntax).[7] It also supports the unofficial Microsoft mathematical typesetting extensions (MATH table)[8] 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.[9] Since the November 15, 2008 release, FontForge uses libcairo and libpango software libraries for graphics and text rendering,[10] 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.[11]

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

edit

FontForge supports a wide variety of font formats.[12] Its native Spline Font Database format (.sfd file name extension) is text-based[13] 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

edit

The FontForge project was founded by George Williams as a retirement project, and initially published from 2001 to March 2004 as PfaEdit.[14][15]

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.[16]

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

edit
 
Sample of the Sans Guilt[17] font, a reinterpretation of the Gill Sans by OSP,[18] a Belgian design collective in collaboration with students from the Royal College of Art, available under OFL.

See also

edit

References

edit
  1. ^ "Releases · fontforge/fontforge · GitHub". GitHub. frank-trampe. Archived from the original on 2023-06-30. Retrieved 2023-08-06.
  2. ^ fontforge (8 October 2021). "fontforge/LICENSE at master · fontforge/fontforge · GitHub". GitHub. Archived from the original on 16 February 2019. Retrieved 27 February 2015.
  3. ^ Gurdy Leete; Mary Leete (12 June 2007). Microsoft Expression Blend Bible. John Wiley & Sons. p. 295. ISBN 978-0-470-05503-8. Archived from the original on 28 February 2023. Retrieved 6 August 2012.
  4. ^ James, Daniel (2009-12-04). Crafting Digital Media: Audacity, Blender, Drupal, GIMP, Scribus, and other Open Source Tools (1 ed.). Berkeley, CA: Apress. p. 114. ISBN 978-1430218876.
  5. ^ "Writing scripts to change fonts in FontForge". Fontforge.sourceforge.net. Archived from the original on 2004-07-21. Retrieved 2009-11-09.
  6. ^ "Writing python scripts to change fonts in FontForge". Fontforge.sourceforge.net. Archived from the original on 2009-12-02. Retrieved 2009-11-09.
  7. ^ "FontForge's implementation of Adobe's Feature File syntax". Fontforge.sourceforge.net. Archived from the original on 2009-04-16. Retrieved 2009-11-09.
  8. ^ "MATH typesetting information". Fontforge.sourceforge.net. 2007-08-04. Archived from the original on 2007-08-28. Retrieved 2009-11-09.
  9. ^ "Building FontForge from source". Fontforge.sourceforge.net. Archived from the original on 2009-12-07. Retrieved 2009-11-09.
  10. ^ "Change log for FontForge". Fontforge.sourceforge.net. Archived from the original on 2009-07-23. Retrieved 2009-11-09.
  11. ^ "LuaTeX — Taco Hoekwater, July 24, TUG 2008" (PDF). Archived (PDF) from the original on 2010-07-17. Retrieved 2009-11-09.
  12. ^ Lunde, Ken (2009-01-13). CJKV Information Processing. Sebastopol, CA: O'Reilly. p. 447. ISBN 9780596514471.
  13. ^ "Spline Font Database File Format". Fontforge.sourceforge.net. Archived from the original on 2010-01-24. Retrieved 2009-11-09.
  14. ^ Yannis Haralambous (3 October 2007). Fonts & Encodings (1 ed.). O'Reilly Media, Inc. pp. 444, 988. ISBN 978-0-596-10242-5. Archived from the original on 27 February 2023. Retrieved 6 August 2012.
  15. ^ "The history of the development of FontForge". Fontforge.sourceforge.net. Archived from the original on 2009-04-23. Retrieved 2009-11-09.
  16. ^ "SortMill Tools". Barry Schwartz. Archived from the original on 2015-02-27. Retrieved 2015-02-27.
  17. ^ "OSP-foundry» Blog Archive » Sans Guilt". Archived from the original on 2016-02-22. Retrieved 2016-02-15.
  18. ^ "OSP (Open Source Publishing) →". osp.kitchen. Archived from the original on 2019-08-06. Retrieved 2019-08-10.
  19. ^ "Project page on SourceForge.net". Archived from the original on 2022-11-28. Retrieved 2023-01-28.
edit

  Media related to Fontforge at Wikimedia Commons