Original author(s) | George Williams |
---|---|
Developer(s) | Frank Trampe, Ben Martin, Adrien Tétar, Khaled Hosny, Jeremy Tan |
Initial release | April 1, 2004 |
Stable release | 20230101 [1] / January 1, 2023 |
Repository | |
Written in | C |
Type | Font editor |
License | Mix of GNU General Public License v3 and BSD license |
Website | 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. [2] It is available for operating systems including Linux, Windows, [3] and macOS, [4] and is localized into 12 languages.[ which? ][ citation needed ]
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.
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.
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
In 2014, with financial support from Google, Frank Trampe added full support for the UFO font source format.
BitchX is a free IRC client that has been regarded as the most popular ircII-based IRC client. The initial implementation, written by "Trench" and "HappyCrappy", was a script for the IrcII chat client. It was converted to a program in its own right by panasync. BitchX 1.1 final was released in 2004. It is written in C and is a TUI application utilizing ncurses. GTK+ toolkit support has been dropped. It works on all Unix-like operating systems, and is distributed under a BSD license. It was originally based on ircII-EPIC, and eventually it was merged into the EPIC IRC client. It supports IPv6, multiple servers and SSL, and a subset of UTF-8 with an unofficial patch.
gnuplot is a command-line and GUI program that can generate two- and three-dimensional plots of functions, data, and data fits. The program runs on all major computers and operating systems . Originally released in 1986, its listed authors are Thomas Williams, Colin Kelley, Russell Lang, Dave Kotz, John Campbell, Gershon Elber, Alexander Woo "and many others." Despite its name, this software is not part of the GNU Project.
Metafont is a description language used to define raster fonts. It is also the name of the interpreter that executes Metafont code, generating the bitmap fonts that can be embedded into e.g. PostScript. Metafont was devised by Donald Knuth as a companion to his TeX typesetting system.
Typesetting is the composition of text for publication, display, or distribution by means of arranging physical type in mechanical systems or glyphs in digital systems representing characters. Stored types are retrieved and ordered according to a language's orthography for visual display. Typesetting requires one or more fonts. One significant effect of typesetting was that authorship of works could be spotted more easily, making it difficult for copiers who have not gained permission.
OpenType is a format for scalable computer fonts. Derived from TrueType, it retains TrueType's basic structure but adds many intricate data structures for describing typographic behavior. OpenType is a registered trademark of Microsoft Corporation.
Scribus is free and open-source desktop publishing (DTP) software available for most desktop operating systems. It is designed for layout, typesetting, and preparation of files for professional-quality image-setting equipment. Scribus can also create animated and interactive PDF presentations and forms. Example uses include writing newspapers, brochures, newsletters, posters, and books.
Irrlicht is an open-source game engine written in C++. It is cross-platform, officially running on Windows, macOS, Linux and Windows CE and due to its open nature ports to other systems are available, including FreeBSD, Xbox, PlayStation Portable, Symbian, iPhone, AmigaOS 4, Sailfish OS via a Qt/QML wrapper, and Google Native Client.
Xfig is a free and open-source vector graphics editor which runs under the X Window System on most UNIX-compatible platforms.
Computer Modern is the original family of typefaces used by the typesetting program TeX. It was created by Donald Knuth with his Metafont program, and was most recently updated in 1992. Computer Modern, or variants of it, remains very widely used in scientific publishing, especially in disciplines that make frequent use of mathematical notation.
ConTeXt is a general-purpose document processor. Like LaTeX, it is derived from TeX. It is especially suited for structured documents, automated document production, very fine typography, and multilingual typesetting. It is based in part on the TeX typesetting system, and uses a document markup language for manuscript preparation. The typographical and automated capabilities of ConTeXt are extensive, including interfaces for handling microtypography, multiple footnotes and footnote classes, and manipulating OpenType fonts and features. Moreover, it offers extensive support for colors, backgrounds, hyperlinks, presentations, figure-text integration, and conditional compilation. It gives the user extensive control over formatting while making it easy to create new layouts and styles without learning the low-level TeX macro language.
Cairo is an open-source graphics library that provides a vector graphics-based, device-independent API for software developers. It provides primitives for two-dimensional drawing across a number of different backends. Cairo uses hardware acceleration when available.
A computer font is implemented as a digital data file containing a set of graphically related glyphs. A computer font is designed and created using a font editor. A computer font specifically designed for the computer screen, and not for printing, is a screen font.
IronPython is an implementation of the Python programming language targeting the .NET and Mono frameworks. The project is currently maintained by a group of volunteers at GitHub. It is free and open-source software, and can be implemented with Python Tools for Visual Studio, which is a free and open-source extension for Microsoft's Visual Studio IDE.
Notepad++ is a free and open-source text and source code editor for use with Microsoft Windows. It supports tabbed editing, which allows working with multiple open files in a single window. The product's name comes from the C postfix increment operator; it is sometimes referred to as npp or NPP.
There are Unicode typefaces which are open-source and designed to contain glyphs of all Unicode characters, or at least a broad selection of Unicode scripts. There are also numerous projects aimed at providing only a certain script, such as the Arabeyes Arabic font. The advantage of targeting only some scripts with a font was that certain Unicode characters should be rendered differently depending on which language they are used in, and that a font that only includes the characters a certain user needs will be much smaller in file size compared to one with many glyphs. Unicode fonts in modern formats such as OpenType can in theory cover multiple languages by including multiple glyphs per character, though very few actually cover more than one language's forms of the unified Han characters.
This article provides basic comparisons for notable text editors. More feature details for text editors are available from the Category of text editor features and from the individual products' articles. This article may not be up-to-date or necessarily all-inclusive.
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 TeX Live distribution as a successor to pdfTeX. Later in the project some functionality of Aleph was included. The project was originally sponsored by the Oriental TeX project, founded by Idris Samawi Hamid, Hans Hagen, and Taco Hoekwater.
MathJax is a cross-browser JavaScript library that displays mathematical notation in web browsers, using MathML, LaTeX and ASCIIMathML markup. MathJax is released as open-source software under the Apache License.
The Unified Font Object (UFO) is an XML-based source file format for digital fonts. It was created by Tal Leming, Just van Rossum and Erik van Blokland. Contributors to the format also include Ben Kiel and Frederik Berlaen. According to its creators, the UFO is a "future proof" open format that is designed to be "application independent", "human readable and human editable".
Media related to Fontforge at Wikimedia Commons