IRC log of webfonts on 2010-12-08

Timestamps are in UTC.

20:58:57 [RRSAgent]
RRSAgent has joined #webfonts
20:58:57 [RRSAgent]
logging to
20:58:59 [trackbot]
RRSAgent, make logs world
20:58:59 [Zakim]
Zakim has joined #webfonts
20:59:01 [trackbot]
Zakim, this will be 3668
20:59:01 [Zakim]
ok, trackbot; I see IA_Fonts()4:00PM scheduled to start in 1 minute
20:59:02 [trackbot]
Meeting: WebFonts Working Group Teleconference
20:59:02 [trackbot]
Date: 08 December 2010
20:59:08 [ChrisL]
Chair: Vlad
20:59:18 [jfkthame]
jfkthame has joined #webfonts
20:59:36 [ChrisL]
21:00:11 [tal]
tal has joined #webfonts
21:01:51 [ChrisL]
zakim, who is here?
21:01:51 [Zakim]
IA_Fonts()4:00PM has not yet started, ChrisL
21:01:52 [Zakim]
On IRC I see tal, jfkthame, Zakim, RRSAgent, ChrisL, Vlad, erik, jdaggett, trackbot
21:01:54 [Vlad]
zakim, who
21:01:54 [Zakim]
I don't understand 'who', Vlad
21:02:01 [ChrisL]
oh yes it has, Zakim
21:03:41 [cslye]
cslye has joined #webfonts
21:03:52 [ChrisL]
Present: vlad, erik, jdaggett, jfkthame, chris, tal, cslye
21:04:03 [ChrisL]
topic: epub
21:04:33 [ChrisL]
Vlad: strong opposition to consider woff for epub. prefer opentype font embedding plus font obfuscation
21:05:11 [ChrisL]
... woff as a second option would be good. Monotype ok with Adobe-proposed mangling as well
21:05:45 [ChrisL]
... Adobe rep offered to join WebFonts WG telcon to explain his opposition to WOFF for epub
21:06:00 [ChrisL]
... will invite him after consulting with this group
21:06:18 [ChrisL]
cslye: good idea
21:06:33 [jdaggett_]
jdaggett_ has joined #webfonts
21:06:42 [ChrisL]
... good for Peter to speak for himself
21:07:04 [sgalineau]
sgalineau has joined #webfonts
21:07:12 [ChrisL]
Vlad: we can't make them do it, we can only influence them
21:07:18 [ChrisL]
Present+ sgalineau
21:08:02 [ChrisL]
ChrisL: in favour too, maybe early in new year
21:08:20 [ChrisL]
Topic: Test suite development
21:08:58 [ChrisL]
cslye: we did reword woff a bit to acomodate epub, is there any better wording we could add?
21:09:24 [ChrisL]
Vlad: current wording is generic and is not specific to epub. local saved offline web pages for example
21:10:16 [ChrisL]
ChrisL: I agree
21:10:22 [ChrisL]
cslye: do not disagree
21:11:10 [ChrisL]
Vlad: great progress from tal on test suite development
21:11:23 [cslye]
Nice job Tal! :)
21:11:24 [tal]
21:11:34 [ChrisL]
tal: working on UA test plan
21:11:48 [ChrisL]
... need resolution on some questions 9in red)
21:12:07 [ChrisL]
tal: no testable assertion on proper structure
21:12:21 [ChrisL]
jdaggett: what do you mean here
21:12:40 [ChrisL]
tal: .woff containing just null bytes for example
21:13:15 [ChrisL]
jdaggett: lack of the lead sequence makes it invalid already. can test one assertion multiple ways
21:13:36 [ChrisL]
tal: another one, ciorrect signature but then junk, also just unparseable garbage
21:13:55 [ChrisL]
tal: second one was a conflict between sfnt data and flavour, decided not to do that
21:14:24 [ChrisL]
Vlad: justification was that woff is not responsible for input file sanitisation
21:14:46 [ChrisL]
tal: but the flavor in the header would be wrong, packaged font ok though
21:15:01 [ChrisL]
tal: next is numtables in header. we could put zero in there
21:15:11 [ChrisL]
... does this need a testcase
21:15:19 [ChrisL]
jdaggett: yes, sensible to test
21:15:35 [ChrisL]
tal: maybe a spec change, assertion on
21:15:38 [tal]
21:15:47 [tal]
21:16:04 [ChrisL]
... reject overlap and its twice, need to duplicate tests?
21:16:12 [ChrisL]
... or lowercase the second must
21:16:52 [ChrisL]
ChrisL: prefer each assertion staed only once
21:17:08 [ChrisL]
tal: some ff assets could be UA asserts too
21:17:29 [ChrisL]
... should UAs tes these or not worry about them?
21:18:06 [ChrisL]
Vlad: we have metadata length set to zero but its not zero - likely not attempt to read it
21:19:37 [ChrisL]
ChrisL: the ua is required to ignore meta and private anyway, so ok that ua does not care here
21:19:44 [ChrisL]
tal: (reads spec)
21:19:48 [ChrisL]
tal: ok
21:20:15 [ChrisL]
Vlad: what if they read starting at offset zero?
21:20:23 [ChrisL]
tal: then the decompression fails anyway
21:20:49 [ChrisL]
tal: next one, ff asserts on ordering. could be us assert but thend to think not, now
21:21:43 [ChrisL]
jdaggett: its to assure that files with gaps between tables are rejected
21:21:51 [ChrisL]
tal: extraneous data tests cover that
21:22:13 [ChrisL]
cslye: so extraneous data can be harmful?
21:22:22 [ChrisL]
tal: mainly for clarity, but see below
21:22:28 [tal]
21:22:49 [ChrisL]
tal: must being on 4byte boundary and be zero padded
21:22:59 [ChrisL]
... are we requiring the padding be nul?
21:23:16 [ChrisL]
... have atestcase with non-nul padding. should ua check this?
21:23:56 [ChrisL]
ChrisL: ua gets no value from checking the padding content for nulls
21:24:20 [ChrisL]
tal: would also force us to pull whole file over to check the padding
21:24:54 [ChrisL]
tal: haqv ea test with 1 instead of 0 for padding
21:25:14 [ChrisL]
ChrisL: good validator test but not a ua test
21:25:34 [ChrisL]
tal: also covers testing padding of final table
21:26:31 [ChrisL]
tal: maybe a ua test for decompressed data not matching original length
21:27:16 [ChrisL]
ChrisL: good to check for buffer overuns on that sort of thing
21:27:31 [ChrisL]
... need to change the spec?
21:27:42 [ChrisL]
tal: worried about having to pull over all the tables
21:28:27 [ChrisL]
ChrisL: could say "if on decompression the length is found to be ..."
21:28:43 [ChrisL]
cslye: sounds good
21:29:39 [ChrisL]
action: jfkthame to add a ua assert for decompressed length found to be not what it should be
21:29:39 [trackbot]
Created ACTION-53 - Add a ua assert for decompressed length found to be not what it should be [on Jonathan Kew - due 2010-12-15].
21:30:33 [ChrisL]
tal: we say if compress is larger, it should not be compressed in woff. this is tagged ff
21:30:42 [ChrisL]
... shoudl ua test this?
21:30:59 [ChrisL]
cslye: how would that affect the ua
21:31:49 [ChrisL]
jfkthame: if it finds the error it should reject, but should not need to check all tables
21:32:14 [ChrisL]
cslye: why would the ua care? its mainly a file size efficiency thing
21:32:27 [ChrisL]
jfkthame: in general we want to reject invalid files
21:33:10 [ChrisL]
cslye: what is the point of requiring it?
21:34:30 [ChrisL]
tal: check if compressed data is too large
21:35:09 [ChrisL]
Vlad: we have text that says the font table must be stored uncompressed in this case
21:35:47 [ChrisL]
... if header shows uncompressed length was smaller, should the font be rejected?
21:35:57 [ChrisL]
... but the fnt may well be vsalid
21:36:57 [ChrisL]
ChrisL: it helps avoid there being woff compressors that don't check
21:37:39 [ChrisL]
jfkthame: and that might be a problem, if the compressed and uncompressed are the same size it doesn't know if the table is compressed or not
21:38:04 [ChrisL]
Vlad: se we need to add that language to the spec
21:38:28 [ChrisL]
.. if uncompressed is less than compressed
21:38:49 [ChrisL]
jdaggett: we need to be clear here
21:39:33 [ChrisL]
ChrisL: good point if compressed==uncompressed length
21:39:50 [ChrisL]
jfkthame: we have language that says must not load for this case already
21:40:00 [ChrisL]
tal: need to tag it as an essert then
21:40:11 [ChrisL]
jfkthame: section 4, 5th para
21:40:22 [ChrisL]
21:40:32 [ChrisL]
Vlad: that is a different case
21:40:39 [ChrisL]
jfkthame: sentence before that
21:40:42 [ChrisL]
Vlad: ok
21:41:10 [ChrisL]
action: jfkthame mark sec 4 5th para as ua assert
21:41:10 [trackbot]
Created ACTION-54 - Mark sec 4 5th para as ua assert [on Jonathan Kew - due 2010-12-15].
21:41:34 [ChrisL]
tal: must have a dir in asending order - ua check or not?
21:42:05 [ChrisL]
... this is carried over from OT spec
21:42:11 [ChrisL]
jfkthame: yes
21:42:39 [ChrisL]
(ascending means alphabetical)
21:42:58 [ChrisL]
tal: could be an issue of the ua assumes they are in order
21:43:21 [ChrisL]
ChrisL: could be an issue
21:43:33 [ChrisL]
jdaggett: this is an underlying font format issue
21:43:51 [ChrisL]
... so the ua should not check. validator can check it
21:43:57 [ChrisL]
tal: ok
21:44:00 [ChrisL]
vlad: agree
21:44:42 [ChrisL]
tal: require zlib or compat, if table is not decompressible, reject file?
21:44:47 [ChrisL]
(several): yes
21:44:49 [tal]
21:45:37 [ChrisL]
action: jfkthame tag decompressible as a ua assert
21:45:37 [trackbot]
Created ACTION-55 - Tag decompressible as a ua assert [on Jonathan Kew - due 2010-12-15].
21:46:13 [ChrisL]
tal: same wording as before, only on tables that the ua attempts to decompress
21:46:34 [ChrisL]
tal: next one for doisplaying metadata, orig length
21:46:59 [ChrisL]
ChrisL: same reasoning, buffer overrun is a security issue
21:47:25 [tal]
21:47:35 [ChrisL]
action: jfkthame tag wrng size compressed meta as a ua assert
21:47:35 [trackbot]
Created ACTION-56 - Tag wrng size compressed meta as a ua assert [on Jonathan Kew - due 2010-12-15].
21:48:17 [ChrisL]
tal: next one is a ff assert, private not on 4 byte boundary? ua should not care right
21:48:36 [ChrisL]
ChrisL: supposed to ignore private anyway
21:49:02 [ChrisL]
tal: schema validity issues now
21:49:21 [ChrisL]
... one overall assert about ignoring if not matching schema
21:49:35 [ChrisL]
... but then we have individual assertions scattered throughout
21:50:01 [ChrisL]
ChrisL: prefer each assert stated once only
21:50:27 [tal]
21:50:45 [tal]
21:51:04 [ChrisL]
tal: these are tagged as testable assertions. leave or remove?
21:52:18 [ChrisL]
"A conforming user agent MUST ignore an invalid metadata block, as if the block were not present.":
21:53:51 [ChrisL]
Vlad: so is it a good idea to require failing on invalid metadata?
21:54:12 [ChrisL]
sgalineau: depends on what the conformance critera is
21:54:50 [ChrisL]
tal: currently tested, some tests with invalid metadat
21:57:33 [ChrisL]
(we realise that the spec does not require the whole font to be rejected, only the metadata not displayed, if its invalid)
21:59:09 [ChrisL]
tal: issue is that we have an overall assert on reject if meta is invalid, then some inconsistent tests for specific types of invalidity
22:00:24 [ChrisL]
ChrisL: spec traceability is better with finer grained asserts
22:00:52 [erik]
I'm sorry, I need to run.
22:01:04 [ChrisL]
22:01:09 [erik]
thank Tal!
22:01:10 [ChrisL]
rrsagent, make minutes
22:01:10 [RRSAgent]
I have made the request to generate ChrisL
22:04:50 [cslye]
cslye has left #webfonts
23:19:41 [Zakim]
Zakim has left #webfonts