Jump to content

Unified Font Object

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Colinmford (talk | contribs) at 22:30, 21 February 2022 (Subeadings for history, technical format). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
  • Comment: github is not a source. No indication of notability as established by independent in depth coverage Slywriter (talk) 16:41, 14 February 2022 (UTC)
  • Comment: Thank you for including references in your submission. Please help our volunteer reviewers by identifying, on the draft's talk page, the WP:THREE best sources that establish notability of the subject. ~Kvng (talk) 21:40, 31 January 2022 (UTC)

Unified Font Object (UFO)
Filename extension
.ufo, .ufoz
Developed byTal Leming, Just van Rossum, Erik van Blokland, Ben Kiel, Frederik Berlaen
Initial releaseUFO 1
Latest release
UFO 3
Type of format macOS Package, XML, Property List
Free format?Yes
Websitehttp://unifiedfontobject.org

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.[1] Contributors to the format also include Ben Kiel and Frederik Berlaen.[1] According to its creators, the UFO is a "future proof" open format that is designed to be "application independent", "human readable and human editable".[2]

History

The first version of the UFO format was created in 2003.[3] The most recent version, UFO 3, was released in 2012.[2]

RoboFog (1996–2003)

The idea for the Unified Font Object originated with a customized version of the font editor Fontographer 3.5.[4] Petr van Blokland, together with Just van Rossum and Erik van Blokland, and with assistance from David Berlow and Steven Paul of the Font Bureau, created and distributed on a subscription basis a customized version of Fontographer called RoboFog in 1996.[4][5] RoboFog allowed users to script in Python, a language Just's brother Guido van Rossum invented two years prior in 1994.[4][5][6] The tool became very popular among type designers because of the ability to automate tasks.[5]

In 1998, FontLab, rival font editor developer to Fontographer (then owned by Macromedia) added Python to version 2.0 of their application, partially due to the popularity of RoboFog.[4] On March 24, 2001, Apple released Mac OS X 10.0, a major rewrite of the Mac operating system.[7] Fontographer was by then too old to be ported to Mac OS X, so the RoboFog developers turned their attention to FontLab.[5]

RoboFab (2003–2009)

In February, 2003, at the TypoTechnica conference in Heidelberg, van Rossum, van Blokland and Baltimore-based type designer Tal Leming combined their existing FontLab API scripts into a Python module called RoboFab.[6][3] The group started going by the name "The RoboFab Consortium".[6] With RoboFab came a need for an interchange file format for transferring font data between RoboFog and FontLab.[4] In April, 2003, van Rossum started work on an XML-based file format for glyph data called the Glyph Interchange Format (GLIF).[3] In July, 2003, the group started work on the first UFO file format (later known as "UFO 1"), which used "GLIF for glyph information and Apple's .plist (also XML based and entirely cross platform) for any other data as listings, indices, etc."[3] The group intended to present it at the 2003 RoboThon conference in The Hague, but its launch was delayed until March 14, 2004.[6][3]

The group introduced the UFO with the following manifesto:[4]

  1. The data must be human readable and human editable.
  2. The data should be application independent.
  3. Data duplication should be avoided unless absolutely necessary.

In the consortium's view, font data should be independent of font editors to avoid issues like Software rot, which the field of type design is particularly prone to, due to the long period of time that fonts take to develop and the relative lack of variety in font editing applications.[6]

Beyond FontLab (2009–Present)

In 2009, UFO version 2 was announced at RoboThon 2009, bringing minor changes to the format.[8] A variety of applications outside of FontLab using the UFO format started to be written at around this time, such as Leming's kerning application MetricsMachine, van Blokland's interpolation application, Superpolator, and Frederik Berlaen's parametric design application, KalliCulator.[4][9]

At the request of David Berlow and Petr van Blokland, Frederik Berlaen started work in 2009 on a font editor that used the UFO as a native format.[4] Because of the network of apps now being used in the "UFO workflow", "the dependency of FontLab as a central drawing environment had created a bottleneck", in their view.[10] Berlaen presented his font editor RoboFont at ATypI 2001 in Reykjavík,[10] and gave it the tagline, "The missing UFO font editor".[11]

At RoboThon 2012, UFO 3 was announced, and Tal Leming was named “Benevolent Dictator for life” of the UFO format.[11] Major changes to the UFO include a reworking of how the format organizes design layers, and an introduction of a ZIP-compressed "UFOZ" format.[12]

The fourth version of the format, "UFO 4", is currently in the concept phase.[13]

Technical format

On macOS, the UFO appears as a package; a file system directory that presents as a single file. On Windows and other operating systems, it appears as a file system directory.

UFOs are organized with XML-based Property List files in the main UFO file system directory, describing informational data about a font, like font name and weight, as well as interactions between glyphs, like glyph groups and kerning.

Files containing glyph outline data are contained in a directory one level down, and are in an XML-based format called "Glyph Interchange Format (GLIF)".[14] These files have a filename extension of ".glif".[14] GLIF files can describe glyph Bézier curves in cubic or quadratic formats.[15]

OpenType features in AFDKO feature syntax are stored in a plain text file in the main UFO file system directory, with the filename extension ".fea"[16]

Criticism

A common criticism of the format is that its structure (of sometimes hundreds of files) does not work well with online file hosting services like Dropbox.[17] This criticism led to the proposal and adoption of the "UFOZ" format, which is a UFO (version 3 and up) compressed into a ZIP archive.[12]

Use in programming

The UFO file format translates easily to object-based representation[18] in code.

Reception

The font editing program RoboFont uses UFO as its only source file format.[11][19] Other font editing programs, such as Glyphs,[11][20] FontLab[21] and FontForge[22] can read and write the UFO format natively.

The UFO format is a popular choice among open source font projects because the XML-based format is compatible with version control systems like Git.[23] Open source font projects that have used UFO as their main format include Source Sans Pro, Source Code Pro, and Source Serif Pro by Adobe Originals, and the IBM Plex superfamily. Parts of the Noto fonts project are available in the UFO format.[24]

See also

References

  1. ^ a b "Contributors". unifiedfontobject.org. Archived from the original on 2021-11-05. Retrieved 2021-11-05.
  2. ^ a b "Overview". unifiedfontobject.org. Archived from the original on 2021-11-05. Retrieved 2021-11-05.
  3. ^ a b c d e "RoboFab Release History". web.archive.org. 2008-10-04. Retrieved 2022-02-21.
  4. ^ a b c d e f g h Arista, Roberto (Autumn 2016). "RoboTools: L'influenza dell'open source sugli strumenti di produzione del carattere tipografico" [RoboTools: The influence of open source on typeface production tools]. Progetto Grafico 30 (in Italian and English). AIAP Edizioni: 33–39.{{cite journal}}: CS1 maint: unrecognized language (link)
  5. ^ a b c d Middendorp, Jan (2004). Dutch type. Rotterdam: 010 Publishers. p. 187. ISBN 90-6450-460-1. OCLC 54880333.
  6. ^ a b c d e Kiel, Ben (May 4, 2005). "An Introduction to RoboFab". Typographica. Archived from the original on 2022-02-21. Retrieved 2022-02-21. {{cite web}}: |archive-date= / |archive-url= timestamp mismatch; 2022-02-15 suggested (help)
  7. ^ Siracusa, John (2001-04-02). "Mac OS X 10.0". Ars Technica. Archived from the original on 2022-02-21. Retrieved 2022-02-21.
  8. ^ "UFO 2". unifiedfontobject.org. Archived from the original on 2022-02-21. Retrieved 2022-02-21. {{cite web}}: |archive-date= / |archive-url= timestamp mismatch; 2020-10-19 suggested (help)
  9. ^ Typeface as program : applied research and development in typography = Le caractère typographique comme programme : recherche appliquée et développement en typographie. Peter Bilak, François Rappo, Pierre Keller, École cantonale d'art de Lausanne. Lausanne, Switzerland: ECAL/University of art and design. 2010. ISBN 3-03764-072-3. OCLC 630189661.{{cite book}}: CS1 maint: others (link)
  10. ^ a b RoboFont. "The history of RoboFont". robofont.com. Archived from the original on 2022-02-21. Retrieved 2022-02-21. {{cite web}}: |archive-date= / |archive-url= timestamp mismatch; 2022-01-26 suggested (help)
  11. ^ a b c d "Robothon 2012, RoboHint, and the Gerrit Noordzij Prize". Typographica. Retrieved 2022-02-14.
  12. ^ a b "UFO 3". unifiedfontobject.org. Archived from the original on 2022-02-21. Retrieved 2022-02-21. {{cite web}}: |archive-date= / |archive-url= timestamp mismatch; 2022-01-20 suggested (help)
  13. ^ "UFO 4". unifiedfontobject.org. Archived from the original on 2022-02-21. Retrieved 2022-02-21.
  14. ^ a b "Glyph Interchange Format". unifiedfontobject.org. Retrieved 2022-02-14.
  15. ^ "UFO: Unified Font Object". luc.devroye.org. Retrieved 2022-02-14.
  16. ^ "features.fea". unifiedfontobject.org. Archived from the original on 2022-02-21. Retrieved 2022-02-21. {{cite web}}: |archive-date= / |archive-url= timestamp mismatch; 2020-10-18 suggested (help)
  17. ^ Simonson, Mark (2014-06-12). "I didn't quite realize until recently: .ufo + Dropbox kind of sucks". @marksimonson. Retrieved 2020-05-28.
  18. ^ Beckmann, Tom (2019). The font engineering platform collaborative font creation in a self-supporting programming environment. Justus Hildebrand, Corinna Jaschek, Eva Krebs, Alexander Löser, Marcel Taeumel, Tobias Pape. Potsdam. p. 72. ISBN 978-3-86956-464-7. OCLC 1169672607.{{cite book}}: CS1 maint: location missing publisher (link)
  19. ^ RoboFont. "Welcome to RoboFont!". robofont.com. Archived from the original on 2021-11-05. Retrieved 2021-11-05.
  20. ^ "Working with UFO | Glyphs". glyphsapp.com. Archived from the original on 2021-11-05. Retrieved 2021-11-05.
  21. ^ "Font Formats". help.fontlab.com. Archived from the original on 2021-11-05. Retrieved 2021-11-05.
  22. ^ "Technical Bulletin: UFO 3 Export". fontforge.org. Archived from the original on 2021-11-05. Retrieved 2021-11-05.
  23. ^ "LWN.net Weekly Edition for August 29, 2013 [LWN.net]". lwn.net. Archived from the original on 2021-11-05. Retrieved 2021-11-05.
  24. ^ Liputan6.com (2020-11-25). "Inisiatif Google Melestarikan Bahasa Terancam Punah Lewat Noto Font". liputan6.com (in Indonesian). Retrieved 2021-11-05.{{cite web}}: CS1 maint: numeric names: authors list (link)

Category:XML-based standards Category:Font formats Category:Typography Category:Typography software