Web Open Font Format

Last updated
Web Open Font Format
Filename extension
  • .woff
  • .woff2
Internet media type
  • font/woff
  • font/woff2
  • application/font-woff (deprecated) [1] [2]
Magic number
  • 77 4F 46 46 ("wOFF" in ASCII)
  • 77 4F 46 32 ("wOF2" in ASCII)
Developed by W3C
Type of format Font file
Container for SFNT fonts
Website

The Web Open Font Format (WOFF) is a font format for use in web pages. WOFF files are OpenType or TrueType fonts, with format-specific compression applied and additional XML metadata added. The two primary goals are first to distinguish font files intended for use as web fonts from fonts files intended for use in desktop applications via local installation, and second to reduce web font latency when fonts are transferred from a server to a client over a network connection.

Contents

Standardization

The first draft of WOFF 1 was published in 2009 by Jonathan Kew, Tal Leming, and Erik van Blokland, [3] with reference conversion code written by Jonathan Kew. [4] Following the submission of WOFF to the World Wide Web Consortium (W3C) by the Mozilla Foundation, Opera Software and Microsoft in April 2010, [5] [6] the W3C commented that it expected WOFF to soon become the "single, interoperable [font] format" supported by all browsers. [7] The W3C published WOFF as a working draft in July 2010. [8] [9] The final draft was published as a W3C Recommendation on 13 December 2012. [10]

WOFF 2.0, with reference code provided by Google, [11] has an improved compression scheme, using Brotli for byte-level compression, and became a W3C Recommendation in March 2018. [12]

Each version of the format has received the backing of many type foundries. [13]

Specification

WOFF is a wrapper containing SFNT-based fonts (TrueType or OpenType) that have been compressed using a WOFF-specific encoding tool so they can be embedded in a Web page. [14] WOFF Version 1 uses the widely available zlib compression (specifically, the compress2 function), [14] typically resulting in a file size reduction for TrueType files of over 40%. [15] Since OpenType CFF files (with PostScript glyph outlines) are already compressed, their reduction is typically smaller. [16]

Browser support

Major web browsers support WOFF:

WOFF 2.0 is supported in:

Some browsers enforce a same-origin policy, preventing WOFF fonts from being used across different domains. This restriction is part of the CSS 3 Fonts module, [32] where it applies to all font formats and can be overridden by the server providing the font.

Some servers may require the manual addition of WOFF's MIME type to serve the files correctly. [33] Since February 2017, the proper MIME type is font/woff for WOFF 1.0 and font/woff2 for WOFF 2.0. [1] [2] Prior to February 2017, the standard MIME type for WOFF 1.0 was application/font-woff, and some applications may still use the old type, though it is now deprecated. [1]

See also

Related Research Articles

SVG is an XML-based vector image format for defining two-dimensional graphics, having support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium since 1999.

<span class="mw-page-title-main">KHTML</span> Discontinued web browser engine

KHTML is a discontinued browser engine that was developed by the KDE project. It originated as the engine of the Konqueror browser in the late 1990s, but active development ceased in 2016. It was officially discontinued in 2023.

<span class="mw-page-title-main">Favicon</span> Icon associated with a particular web site

A favicon, also known as a shortcut icon, website icon, tab icon, URL icon, or bookmark icon, is a file containing one or more small icons associated with a particular website or web page. A web designer can create such an icon and upload it to a website by several means, and graphical web browsers will then make use of it. Browsers that provide favicon support typically display a page's favicon in the browser's address bar and next to the page's name in a list of bookmarks. Browsers that support a tabbed document interface typically show a page's favicon next to the page's title on the tab, and site-specific browsers use the favicon as a desktop icon.

<span class="mw-page-title-main">Browser wars</span> Competition between web browsing applications for share of worldwide usage

A browser war is a competition for dominance in the usage share of web browsers. The "first browser war," (1995–2001) pitted Microsoft's Internet Explorer against Netscape's Navigator. Browser wars continued with the decline of Internet Explorer's market share and the popularity of other browsers including Firefox, Google Chrome, Safari, Microsoft Edge and Opera.

In computing, the User-Agent header is an HTTP header intended to identify the user agent responsible for making a given HTTP request. Whereas the character sequence User-Agent comprises the name of the header itself, the header value that a given user agent uses to identify itself is colloquially known as its user agent string. The user agent for the operator of a computer used to access the Web has encoded within the rules that govern its behavior the knowledge of how to negotiate its half of a request-response transaction; the user agent thus plays the role of the client in a client–server system. Often considered useful in networks is the ability to identify and distinguish the software facilitating a network session. For this reason, the User-Agent HTTP header exists to identify the client software to the responding server.

MHTML, an initialism of "MIME encapsulation of aggregate HTML documents", is a Web archive file format used to combine, in a single computer file, the HTML code and its companion resources that are represented by external hyperlinks in the web page's HTML code. The content of an MHTML file is encoded using the same techniques that were first developed for HTML email messages, using the MIME content type multipart/related. MHTML files use an .mhtml or .mht filename extension.

This is a comparison of both historical and current web browsers based on developer, engine, platform(s), releases, license, and cost.

DOM Events are a signal that something has occurred, or is occurring, and can be triggered by user interactions or by the browser. Client-side scripting languages like JavaScript, JScript, VBScript, and Java can register various event handlers or listeners on the element nodes inside a DOM tree, such as in HTML, XHTML, XUL, and SVG documents.

In computing, quirks mode is an approach used by web browsers to maintain backward compatibility with web pages designed for old web browsers, instead of strictly complying with web standards in standards mode. This behavior has since been codified, so what was previously standards mode is now referred to as simply no quirks mode.

Embedded OpenType (EOT) fonts are a compact form of OpenType fonts designed by Microsoft for use as embedded fonts on web pages. These files use the extension .eot. They are supported only by Microsoft Internet Explorer, as opposed to competing WOFF files.

In HTML, a file-select control is a component of a web form with which a user can select a local file. When the form is submitted, the file is uploaded to the web server. There, when the file arrives, some action usually takes place, such as saving the file on the web server. However, the particular action that takes place is determined by the server-side script to which the form is submitted.

<span class="mw-page-title-main">Acid3</span> Online HTML rendering test

The Acid3 test is a web test page from the Web Standards Project that checks a web browser's compliance with elements of various web standards, particularly the Document Object Model (DOM) and JavaScript.

<span class="mw-page-title-main">Internet Explorer 9</span> Web browser for Windows released in 2011

Internet Explorer 9 or IE9 is the ninth version of the Internet Explorer web browser for Windows. It was released by Microsoft on March 14, 2011, as the ninth version of Internet Explorer and the successor to Internet Explorer 8. Microsoft released Internet Explorer 9 as a major out-of-band version that was not tied to the release schedule of any particular version of Windows, unlike previous versions. It is the first version of Internet Explorer not to be bundled with a Windows operating system, although some OEMs have installed it with Windows 7 on their PCs. Internet Explorer 9 is the last version that is called Windows Internet Explorer. The software was rebranded simply as Internet Explorer starting in 2012 with the release of Internet Explorer 10.

<span class="mw-page-title-main">Web typography</span> Publishing considerations for the Web

Web typography, like typography generally, is the design of pages – their layout and typeface choices. Unlike traditional print-based typography, pages intended for display on the World Wide Web have additional technical challenges and – given its ability to change the presentation dynamically – additional opportunities. Early web page designs were very simple due to technology limitations; modern designs use Cascading Style Sheets (CSS), JavaScript and other techniques to deliver the typographer's and the client's vision.

Web storage, sometimes known as DOM storage, is a standard JavaScript API provided by web browsers. It enables websites to store persistent data on users' devices similar to cookies, but with much larger capacity and no information sent in HTTP headers. There are two main web storage types: local storage and session storage, behaving similarly to persistent cookies and session cookies respectively. Web Storage is standardized by the World Wide Web Consortium (W3C) and WHATWG, and is supported by all major browsers.

The HTML5 specification introduced the video element for the purpose of playing videos, partially replacing the object element. HTML5 video is intended by its creators to become the new standard way to show video on the web, instead of the previous de facto standard of using the proprietary Adobe Flash plugin, though early adoption was hampered by lack of agreement as to which video coding formats and audio coding formats should be supported in web browsers. As of 2020, HTML5 video is the only widely supported video playback technology in modern browsers, with the Flash plugin being phased out.

WebRTC is a free and open-source project providing web browsers and mobile applications with real-time communication (RTC) via application programming interfaces (APIs). It allows audio and video communication to work inside web pages by allowing direct peer-to-peer communication, eliminating the need to install plugins or download native apps.

HTML5 Audio is a subject of the HTML5 specification, incorporating audio input, playback, and synthesis, as well as in the browser. iOS

Encrypted Media Extensions (EME) is a W3C specification for providing a communication channel between web browsers and the Content Decryption Module (CDM) software which implements digital rights management (DRM). This allows the use of HTML5 video to play back DRM-wrapped content such as streaming video services without the use of heavy third-party media plugins like Adobe Flash or Microsoft Silverlight. The use of a third-party key management system may be required, depending on whether the publisher chooses to scramble the keys.

Brotli is a lossless data compression algorithm developed by Google. It uses a combination of the general-purpose LZ77 lossless compression algorithm, Huffman coding and 2nd-order context modelling. Brotli is primarily used by web servers and content delivery networks to compress HTTP content, making internet websites load faster. A successor to gzip, it is supported by all major web browsers and has become increasingly popular, as it provides better compression than gzip.

References

  1. 1 2 3 "Media Types". IANA. 2017-10-12. Retrieved 2017-10-17.
  2. 1 2 Lilley, Chris (February 2017). "The "font" Top-Level Media Type". IETF. doi:10.17487/RFC8081. RFC   8081 . Retrieved 2017-10-17.{{cite journal}}: Cite journal requires |journal= (help)
  3. Kew (Mozilla), Jonathan; Leming (Type Supply), Tal; van Blokland (LettError), Erik (2009-10-23), WOFF File Format (draft of 2009-10-23), Mozilla Foundation, archived from the original on 2010-03-09, retrieved 2010-01-30
  4. WOFF conversion reference code , retrieved May 8, 2016
  5. WOFF File Format 1.0 Submission Request to W3C
  6. Galineau, Sylvain (2010-04-23), Meet WOFF, The Standard Web Font Format, Microsoft, archived from the original on 29 May 2010
  7. Team Comment on "WOFF File Format 1.0" Submission
  8. WOFF - Now loading fonts on websites, The H, 2010-07-28
  9. Buckler, Craig (2010-08-17), W3C Backs the WOFF WebFont Standard, SitePoint
  10. "WOFF File Format 1.0". www.w3.org. Retrieved 2019-08-31.
  11. Reference WOFF2 generation code , retrieved May 8, 2016
  12. W3C: WOFF File Format 2.0
  13. Wardle, Tiffany (2009-07-16), "Most of the important foundries are supporting #webfont", Typegirl, retrieved 2010-02-05 via tumblr
  14. 1 2 Kew (Mozilla), Jonathan; Leming (Type Supply), Tal; van Blokland (LettError), Erik (2009-10-23), WOFF File Format (draft of 2009-10-23), Mozilla Foundation, archived from the original on 2010-03-09, retrieved 2010-01-30
  15. Stefanov, Stoyan (2009-10-20), @font-face gzipping - take II, PHPied.com, retrieved 2010-01-30
  16. "The Typekit Blog | Type rendering: Font outlines and file formats".
  17. Shapiro, Melissa (2009-10-20), Mozilla Supports Web Open Font Format, Mozilla Foundation, retrieved 2010-02-05
  18. Colyer, Matt (2010-09-21), Typekit adds Chrome 6 WOFF support, Typekit
  19. Hachamovitch, Dean (2010-06-23), HTML5, Native: Third IE9 Platform Preview Available for Developers, Microsoft
  20. KDE SVN Revision 1088984, KDE Bugzilla, 2010-02-12, retrieved 2011-10-14
  21. A first glimpse at Opera 11.10 "Barracuda", Opera Software, 2011-02-17, retrieved 2011-02-17
  22. Web specifications support in Opera Presto 2.7, Opera
  23. Safari Features, Apple, 2011-06-06, retrieved 2011-10-14
  24. Safari 5.1 Changelog, FileHippo.com, retrieved 2011-10-14
  25. Bug 38217 - [chromium] Add WOFF support, WebKit
  26. Bug 31302 - Add WOFF support for @font-face, WebKit
  27. Chromium 36 Release Notes, Google
  28. Speed up page load with WOFF 2.0 fonts in Microsoft Edge, Microsoft, 3 May 2016
  29. Opera 26 Release Notes, Opera Software ASA
  30. Firefox 35 Release Notes, Mozilla Developer Network
  31. What's new in Safari, Apple
  32. CSS Fonts Module Level 3
  33. "Webfonts are not loading in Firefox". Fontspring. Retrieved 2013-01-01.