Re: WOFF can't be used offline (claim)
Bert Bos <[email protected]> Thu, 14 Nov 2013 23:28:59 +0800
| Newsgroups | gmane.comp.web.fonts |
|---|---|
| Message-ID | <[email protected]> |
On Nov 11, 2013, at 17:47, Jonathan Kew wrote: > On 11/11/13 04:15, Chris Lilley wrote: >> Hello Www-font, >>=20 >> Spotted recently: >>=20 >> "Which means that fonts in the WOFF format, even free ones, cannot >> be used offline. >>=20 >> Free fonts in the WOFF format may thus have to be converted to >> OpenType prior to packaging. " >> http://www.w3.org/Style/2013/paged-media-tasks#embedded-fonts >>=20 >> I'm wondering how that conclusion is arrived at; not clear it is >> correct. >>=20 >=20 > This seems mistaken, IMO. I'm cc'ing Bert Bos, as author of that = document. When I studied this a few months ago, it certainly looked as if WOFF = couldn't be used with the "file:" protocol, nor with certain other URL = schemes. The CSS Fonts spec says that a font embedded via CSS's @font-face rule = can only be used for a document if it and the document satisfy the "same = origin" relation. (The exception is if the font is on an HTTP server and = that HTTP server responds affirmatively if you ask it if you may use the = font on a given other origin. The protocol for that is a bit weird: if = you want to know if a document with URL prefix "proto://domain/" may use = the font, you send the font server a HEAD or GET request with a special = header "Origin: proto://domain" and the server responds with = "Access-Control-Allow-Origin: proto://domain", which is a verbose way of = saying "yes." And which only gives you the answer for a single origin at = a time. But that aside.) The problem is that the IETF spec that defines "same origin" only allows = it to be true for certain protocols, and it says that UAs may treat two = "file:" resources either as having different origins or the same origin. = (Although the former is noted as being more secure.) In other words, a local WOFF file cannot reliably be used for a local = document. (And a WOFF file with certain other URL schemes, such as on = peer-to-peer systems, with URNs instead of URLs, or with the proposed = "ni:" URL scheme, can never be used for anything.) But, the statement in the CSS Fonts spec about this is dubious, because = it also appears to apply to other font formats, such as OpenType, which = clearly *is* used locally. Different browsers seem to do different things: If you open a local = document that embeds a local WOFF font with Firefox, the font is not = applied. But in Safari it is. Opera lets the user decide: it shows a = (rather cryptic) dialog asking if you allow it to use the font. Maybe we should change the CSS Fonts spec to say that the logic of RFC = 6454 is reversed: two resources with URLs that are non-hierarchical or = "file:" URLs always have the *same* origin instead of always different. = After all, the reason the RFC defaults to "different" is because it = assumes security reasons, while CSS Fonts deals with copyright. And I think the spec should also limit the use of "origin" to WOFF, or = add something like "in the absence of other mechanism." EOT, e.g., = already has a better system built-in and there may be, e.g., RDF-based = solutions later, such as proposed by Creative Commons. > [1] http://www.w3.org/TR/WOFF/ > [2] http://dev.w3.org/csswg/css-fonts/#font-fetching-requirements Bert --=20 Bert Bos ( W 3 C ) http://www.w3.org/ http://www.w3.org/people/bos W3C/ERCIM [email protected] 2004 Rt des Lucioles / BP 93 +33 (0)4 92 38 76 92 06902 Sophia Antipolis Cedex, France