Web Open Font Format

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Web Open Font Format
Filename extension .woff
Internet media type application/font-woff[1]
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 WOFF File Format

The Web Open Font Format (WOFF) is a font format for use in web pages. It was developed during 2009[2] and is now a World Wide Web Consortium (W3C) Recommendation.[3]

WOFF is essentially OpenType or TrueType with compression and additional metadata. The goal is to support font distribution from a server to a client over a network with bandwidth constraints.

Submission as a standard

Following the submission of WOFF by the Mozilla Foundation, Opera Software and Microsoft on April 8, 2010,[4][5] the W3C commented that it expects WOFF to soon become the "single, interoperable [font] format" supported by all browsers.[6] The W3C published WOFF as a working draft on July 27, 2010,[7][8] and it became a W3C Recommendation on 13 December 2012.

WOFF 2.0, a proposed update to the existing WOFF 1.0 with improved compression is currently being evaluated.[9] WOFF 2.0 uses Brotli as the byte-level compression format.

Specification

WOFF is essentially a wrapper that contains SFNT-based fonts (TrueType or OpenType) that have been compressed using a WOFF encoding tool to enable them to be embedded in a Web page.[2] The format uses zlib compression (specifically, the compress2 function),[2] typically resulting in a file size reduction from TTF of over 40%.[10] Like OpenType fonts, WOFF supports both PostScript and TrueType outlines for the glyphs.[11]

Vendor support

The format has received the backing of many of the main font foundries[12] and has been supported by all major browsers:

Some browsers enforce a same-origin policy, preventing WOFF fonts from being used across different domains. This restriction is part of the draft CSS 3 Fonts module,[23] 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;[24] the proper MIME type is application/font-woff,[1] not application/x-font-woff, although font/woff is also commonly seen.

WOFF 2.0, based on the Brotli compression algorithm and other improvements over WOFF 1.0 giving more than 30 % reduction in file size, is supported in Chrome (since version 36[25]), Opera (since version 26[26]) and Firefox (since version 35[27]).

See also

References

  1. 1.0 1.1 Lua error in package.lua at line 80: module 'strict' not found.
  2. 2.0 2.1 2.2 Lua error in package.lua at line 80: module 'strict' not found.
  3. WOFF File Format 1.0
  4. WOFF File Format 1.0 Submission Request to W3C
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Team Comment on "WOFF File Format 1.0" Submission
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. W3C: WOFF 2.0 Evaluation Report
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. http://blog.typekit.com/2010/12/08/type-rendering-font-outlines-and-file-formats/
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. CSS Fonts Module Level 3
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. Lua error in package.lua at line 80: module 'strict' not found.

External links