- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Tue, 6 Oct 2015 13:20:09 -0700
- To: Rik Cabanier <cabanier@gmail.com>
- Cc: John Daggett <jdaggett@mozilla.com>, www-style list <www-style@w3.org>
On Mon, Oct 5, 2015 at 9:47 PM, Rik Cabanier <cabanier@gmail.com> wrote: > On Sun, Oct 4, 2015 at 7:15 PM, John Daggett <jdaggett@mozilla.com> wrote: >> Rik Cabanier wrote: >> >> > The CSS font loading spec defines 'ready' as a function [1] returning >> > a promise but in Chrome it's implemented as a read only attribute. >> > >> > Is the spec out of date or did chrome implement it incorrectly? >> > >> > 1: http://www.w3.org/TR/css-font-loading-3/#dom-fontfaceset-ready >> >> Old spec, both Firefox and Chrome implement it an attribute as defined in >> the latest editor's draft: >> >> https://drafts.csswg.org/css-font-loading/#font-face-set-ready > > > Thanks John! I mistakenly clicked on "latest version" and not "editor's > draft". > > I've experimented a bit with this API on Chrome. Although it helpfully tells > me when fonts are loaded, it actually fulfills the promise before the fonts > are applied. > So, if I look at the page during the 'ready' phase, the font is still not > there. I can work around it by doing a 'requestAnimationFrame' but it seems > like the callback should happen after content that uses the fonts is laid > out. Thoughts? FontFace.ready() should fulfill as soon as the font is loaded. FontFaceSet.ready() is required to wait until layout operations are done; if it's not doing so, it's a bug and shoudl be reported. (That's the *entire point* of FontFaceSet.ready() - letting you know when the font-related stuff is "settled" and you can start measuring things.) ~TJ
Received on Tuesday, 6 October 2015 20:20:59 UTC