Primary eng (and PM) emails
ksak...@chromium.org (kenji...@chromium.org)
Spec
http://dev.w3.org/csswg/css-font-load-events/
Summary
Events and interfaces used for dynamically loading font resources.
Link to “Intent to Implement” blink-dev discussion
N/A (the intent to implement this API predates blink; the corresponding crbug entry was filed back in 2010!).
Motivation
According to HTTP Archive, ~37% of the top 300K sites are using web fonts. This represents more than a 2x y/y increase. This is great for several reasons ranging from improved accessibility and searchability to high-DPI friendliness and obviously much greater expressiveness.
Unfortunately, when you start to rely on web fonts you quickly realize the limitations of the platform:
The Font Load Events API gives you control and insight into how and when the fonts are loaded. For instance, you can check beforehand if all the necessary fonts are readily available, or schedule font downloads at will and do something when they are ready.
Is this feature supported on all five Blink platforms (Windows, Mac, Linux, Chrome OS and Android)?
Yes.
Demo link
http://jsbin.com/uxubEPo/1/quiet
Steps:
Open in Incognito to guarantee that you start from a fresh cache
unless you are on super fast connection, you should see a page with a bland choice of web fonts
Open one more time the demo page in a second tab
web font galore!
What the demo does:
kicks web font downloads as soon as possible with the load() method
before the page is rendered, it checks if all the fonts are ready with the check() method
if all the web fonts are ready then it changes the style to take advantage of said web fonts
Compatibility Risk
This is a bucket 4 item: “The specification for the feature has been accepted by the appropriate standards working group (e.g., a First Public Working Draft in the W3C) and we’ve received positive feedback from other browser engines about the feature’s feasibility and value.”. Concretely, Mozilla sees the value provided by this API and is generally supportive (bugzilla).
OWP launch tracking bug?
Link to entry on the feature dashboard
http://www.chromestatus.com/features/6244676289953792
Scope
In M34, the implementation will most likely have the following minor limitations:
FontData construction from BinaryData won’t be available in M34
The coherence of FontFace, @font-face rule, and font matching engine upon property changes might not be guaranteed in M34
We believe that even with these limitations, the API is extremely valuable and effectively solve the most important use cases. In any event, these limitations will be addressed in M35.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
- Seems like not a lot of folks are paying attention to this. I worry
we'll commit to something which will later, change, this is clearly a
missing feature of our platform and we can't indefinitely.
> I can't imagine how a TAG review would help. But, since the editor, Tab Atkins, is reading this ML, perhaps he should provide input here.
In general we try to provide guidance on building idiomatic and well-factored JavaScript APIs that fit with the overall story of the platform. You can see other such reviews at [1] and a (draft of a) recent one at [2].
Tab is very competent at crafting such APIs already, so we may not have much to add. But it could be helpful just to get fresh perspectives, and see anything he missed, or try to highlight things that might prove problematic, as a way of guarding against the original worry that the API has not undergone enough scrutiny to protect it from future changes.
I somewhat agree that the most helpful review for this spec would be from other implementers, but hopefully the TAG can provide some benefits and perhaps act as a proxy for their concerns based on our past experience.
[1]: https://github.com/w3ctag/spec-reviews
[2]: https://github.com/w3ctag/spec-reviews/blob/81f3b35eeebd06e1d5da21ff3b5e844639d359f3/2014/02/quota-management-api.md
From: Glenn Adams <gl...@skynav.com>
In general we try to provide guidance on building idiomatic and well-factored JavaScript APIs that fit with the overall story of the platform. You can see other such reviews at [1] and a (draft of a) recent one at [2].
> I can't imagine how a TAG review would help. But, since the editor, Tab Atkins, is reading this ML, perhaps he should provide input here.
Tab is very competent at crafting such APIs already, so we may not have much to add. But it could be helpful just to get fresh perspectives, and see anything he missed, or try to highlight things that might prove problematic, as a way of guarding against the original worry that the API has not undergone enough scrutiny to protect it from future changes.
I somewhat agree that the most helpful review for this spec would be from other implementers, but hopefully the TAG can provide some benefits and perhaps act as a proxy for their concerns based on our past experience.
> Generally a TAG review is called for if there is an architecturally issue or a principle at stake. I don't believe that applies here. It is not customary for the TAG to review every REC track spec.
I don't want to derail this thread too far, but we are trying to take a more active role in spec review, viewing JavaScript APIs as an important part of web architecture. We can discuss this further on www-tag if you wish.
> Further, this spec has only reached FPWD status this week. As such, it is extremely early in the process to have any external group perform a review. Generally, a WG doesn't request reviews from other groups until the LCWD stage unless something special arises.
We are less concerned with the formal stage in the process that the spec is in, relative to the fact that it is going to be shipped in a major implementation.