Web Open Font Format

From HandWiki
Short description: File format for fonts in web pages
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 byW3C
Type of formatFont file
Container forSFNT 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.

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:

  • Google Chrome (since version 36),[27]
  • Edge (since version 14),[28]
  • Opera (since version 26),[29]
  • Firefox (since version 35)[30]
  • Safari (since version 10).[31]

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

References

  1. 1.0 1.1 1.2 "Media Types". IANA. 2017-10-12. https://www.iana.org/assignments/media-types/media-types.xhtml. 
  2. 2.0 2.1 Lilley, Chris (February 2017). The "font" Top-Level Media Type. IETF. doi:10.17487/RFC8081. https://tools.ietf.org/html/rfc8081. Retrieved 2017-10-17. 
  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, https://people.mozilla.org/~jkew/woff/woff-spec-latest.html, retrieved 2010-01-30 
  4. WOFF conversion reference code, https://people.mozilla.org/~jkew/woff/, 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, http://blogs.msdn.com/b/ie/archive/2010/04/23/meet-woff-the-standard-web-font-format.aspx 
  7. Team Comment on "WOFF File Format 1.0" Submission
  8. WOFF - Now loading fonts on websites, The H, 2010-07-28, http://www.h-online.com/open/news/item/WOFF-Now-loading-fonts-on-websites-1047073.html 
  9. Buckler, Craig (2010-08-17), W3C Backs the WOFF WebFont Standard, SitePoint, http://www.sitepoint.com/blogs/2010/08/17/w3c-backs-the-woff-webfont-standard/ 
  10. "WOFF File Format 1.0". https://www.w3.org/TR/WOFF/Overview.html. 
  11. Reference WOFF2 generation code, https://github.com/google/woff2, 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, http://typegirl.tumblr.com/post/142912558/most-of-the-important-foundries-are-supporting-webfont, retrieved 2010-02-05 
  14. 14.0 14.1 Kew (Mozilla), Jonathan; Leming (Type Supply), Tal; van Blokland (LettError), Erik (2009-10-23), WOFF File Format (draft of 2009-10-23), Mozilla Foundation, https://people.mozilla.org/~jkew/woff/woff-spec-latest.html, retrieved 2010-01-30 
  15. Stefanov, Stoyan (2009-10-20), @font-face gzipping - take II, PHPied.com, http://www.phpied.com/font-face-gzipping-take-ii, retrieved 2010-01-30 
  16. "The Typekit Blog | Type rendering: Font outlines and file formats". http://blog.typekit.com/2010/12/08/type-rendering-font-outlines-and-file-formats/. 
  17. Shapiro, Melissa (2009-10-20), Mozilla Supports Web Open Font Format, Mozilla Foundation, http://blog.mozilla.com/blog/2009/10/20/mozilla-supports-web-open-font-format/, retrieved 2010-02-05 
  18. Colyer, Matt (2010-09-21), Typekit adds Chrome 6 WOFF support, Typekit, http://blog.typekit.com/2010/09/21/typekit-adds-chrome-6-woff-support/ 
  19. Hachamovitch, Dean (2010-06-23), HTML5, Native: Third IE9 Platform Preview Available for Developers, Microsoft, http://blogs.msdn.com/b/ie/archive/2010/06/23/html5-native-third-ie9-platform-preview-available-for-developers.aspx 
  20. KDE SVN Revision 1088984, KDE Bugzilla, 2010-02-12, http://websvn.kde.org/?view=revision&revision=1088984, retrieved 2011-10-14 
  21. A first glimpse at Opera 11.10 "Barracuda", Opera Software, 2011-02-17, http://my.opera.com/desktopteam/blog/2011/02/17/a-first-glimpse-at-barracuda, retrieved 2011-02-17 
  22. Web specifications support in Opera Presto 2.7, Opera, //www.opera.com/docs/specs/presto27/ 
  23. Safari Features, Apple, 2011-06-06, https://www.apple.com/macosx/whats-new/features.html#safari, retrieved 2011-10-14 
  24. Safari 5.1 Changelog, FileHippo.com, http://www.filehippo.com/download_safari/changelog/10252/, retrieved 2011-10-14 
  25. Bug 38217 - [chromium] Add WOFF support, WebKit, https://bugs.webkit.org/show_bug.cgi?id=38217 
  26. Bug 31302 - Add WOFF support for @font-face, WebKit, https://bugs.webkit.org/show_bug.cgi?id=31302 
  27. Chromium 36 Release Notes, Google, //blog.chromium.org/2014/05/chrome-36-beta-elementanimate-html.html 
  28. Speed up page load with WOFF 2.0 fonts in Microsoft Edge, Microsoft, 3 May 2016, https://blogs.windows.com/msedgedev/2016/05/03/woff2-fonts-in-microsoft-edge/ 
  29. Opera 26 Release Notes, Opera Software ASA, https://dev.opera.com/blog/opera-23/ 
  30. Firefox 35 Release Notes, Mozilla Developer Network, https://developer.mozilla.org/en-US/Firefox/Releases/35 
  31. What's new in Safari, Apple, https://developer.apple.com/library/content/releasenotes/General/WhatsNewInSafari/Articles/Safari_10_0.html 
  32. CSS Fonts Module Level 3
  33. "Webfonts are not loading in Firefox". Fontspring. //www.fontspring.com/support/troubleshooting/webfonts-are-not-loading-in-firefox. 

External links