support WOFF2 fonts via @font-face

RESOLVED FIXED in mozilla35

Status

()

enhancement
RESOLVED FIXED
5 years ago
4 years ago

People

(Reporter: jfkthame, Assigned: jfkthame)

Tracking

({dev-doc-complete})

unspecified
mozilla35
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(relnote-firefox 35+)

Details

Attachments

(4 attachments)

Assignee

Description

5 years ago
See http://dev.w3.org/webfonts/WOFF2/spec/ for current Editor's Draft of the spec.

WOFF2 offers tighter compression than WOFF 1.0, leading to faster load times for pages that use webfonts.

To use this, we'll need to build OTS with WOFF2 enabled in gfx/ots/src/moz.build, and support the WOFF2 format hint in nsUserFontSet. And in order to build OTS with WOFF2 support, we'll need to add the Brotli decoder to our build.

See https://code.google.com/p/font-compression-reference/source/browse/#git%2Fbrotli for Brotli source; also present in https://github.com/khaledhosny/ots/tree/master/third_party/brotli.
Assignee

Comment 1

5 years ago
Hmm -- looks like as of now, at least, the Brotli source in https://github.com/khaledhosny/ots/tree/master/third_party/brotli is not fully up-to-date with the upstream code.

We should import Brotli directly from Google's reference repository, separately from importing OTS from Khaled's github repo.
Severity: normal → enhancement
Assignee

Updated

5 years ago
Depends on: 1066160
Assignee

Comment 2

5 years ago
This includes WOFF2 support in our build of OTS. (I'll approach Khaled about upstreaming the added OTS_API annotation and a better way to handle the #include path, so we don't have to maintain long-term local patches for these issues.)
Attachment #8488093 - Flags: review?(jdaggett)
Assignee

Updated

5 years ago
Assignee: nobody → jfkthame
Status: NEW → ASSIGNED
Assignee

Comment 3

5 years ago
WOFF2 support in gfx, under the control of a new pref "gfx.downloadable_fonts.woff2.enabled". Initially this defaults to false for release builds, true for nightlies.
Attachment #8488096 - Flags: review?(jdaggett)
Assignee

Comment 5

5 years ago
Attachment #8488098 - Flags: review?(jdaggett)
Assignee

Comment 6

5 years ago
Tryserver build with bug 1066160 and the patches here:
https://tbpl.mozilla.org/?tree=Try&rev=a5d2a853c4af

Updated

5 years ago
Attachment #8488093 - Flags: review?(jdaggett) → review+

Updated

5 years ago
Attachment #8488096 - Flags: review?(jdaggett) → review+

Updated

5 years ago
Attachment #8488097 - Flags: review?(jdaggett) → review+

Updated

5 years ago
Attachment #8488098 - Flags: review?(jdaggett) → review+

Updated

5 years ago
Keywords: dev-doc-needed
Added information (mostly compat info) to:
https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face
and
https://developer.mozilla.org/en-US/docs/Web/Guide/WOFF

Updated:
https://developer.mozilla.org/en-US/Firefox/Releases/35


Release Note Request (optional, but appreciated)
[Why is this notable]: New font format supported, Web compat (Chromium support it)
[Suggested wording]: WOFF2 fonts are now supported.
[Links (documentation, blog post, etc)]: https://developer.mozilla.org/en-US/docs/Web/Guide/WOFF
Assignee

Comment 10

5 years ago
Note that woff2 support is behind a runtime pref; it's currently enabled for prerelease (nightly/aurora) builds, but will default to disabled on release channels.

The intention is, of course, to enable this by default, but we may wish to do further security review and testing before that happens. So it's unclear to me at this point what Firefox version will ship with WOFF2 enabled by default on Release.

ni? :teoli (to consider how this status should be reflected in the documentation mentioned above).
Flags: needinfo?(jypenator)
Oh, thanks Jonathan I missed that point. Fixed.

By the way, when a bug about activating WOFF2 in release is created, please add dev-doc-needed to it so that we know to update the doc about it when it lands (we de-emphasize the versions where it is supported behind a pref only) :-)
Flags: needinfo?(jypenator)
Assignee

Updated

5 years ago
Blocks: 1084026
Have added this to Aurora notes for 35/36 while it's awaiting a move to release.
You need to log in before you can comment on or make changes to this bug.