00:03 | <Hixie> | well cool, glad the spec is right |
00:04 | <Hixie> | and yes 'width' would be a way to do it then |
00:48 | <gsnedders> | kig: only LGPL v.3. LGPL v.2 doesn't. |
00:50 | <kig> | 2 has a "if you can't redistro this code due to you wanting to destroy competitors with patent wars, you can't redistro this code" |
00:50 | <kig> | i.e. if you do distro the code, you don't want to patentwar |
00:51 | <kig> | but i don't know |
00:51 | <kig> | the canvas source files have a different license header too, wtf's up with that |
00:52 | <kig> | usual marketing bs? "webcore is LGPL super open source yay <smallprint>except for the parts that we edited</smallprint>" |
00:53 | <gsnedders> | kig: no, it doesn't say that. it says if you have restrictions that contradict the license, you can't redisribute it. |
00:53 | <G0k> | kig: i think basically the stuff they took from KTML is lgpl, but the new stuff is mostly BSD |
00:53 | <gsnedders> | kig: that doesn't affect Apple. |
00:53 | <gsnedders> | kig: their own stuff is BSD licensed, which is more lax than LGPL |
00:54 | <G0k> | *KHTML |
00:54 | <gsnedders> | kig: yeah, the canvas stuff is two clause BSD license. |
00:55 | kig | pops a new beer |
00:55 | <gsnedders> | kig: the marketing bs is, "WebCore is LGPL super open source yay <smallprint>some stuff is even more free!</smallprint>" |
00:55 | <gsnedders> | kig: but there's nothing directly about patents in the LGPL |
00:56 | <gsnedders> | (nor the BSD license — the license header in the canvas files is the entire license) |
00:58 | <kig> | lgpl2 has "Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license." |
00:58 | <kig> | in the preamble |
00:59 | <G0k> | yeah i disagree about that part gsnedders |
00:59 | <G0k> | iirc the LGPL basically says you implicitly license your patent rights to users of the code |
01:01 | <Lachy> | Happy New Year everyone |
01:02 | <G0k> | happy 2008 to gmt-1 and earlier people |
11:59 | <gsnedders> | kig: the preamble isn't the license. it has no legal meaning. |
11:59 | <gsnedders> | Lords Of HTML, forgive me, for I said "alt tag". |
12:01 | <kig> | so use the opengl canvas instead.. |
12:03 | <Philip`> | Why would that be less likely to be affected by patents? |
12:04 | <kig> | because it's opengl |
12:06 | <kig> | unless the patent is the usual heh heh patent of the form "hypertext document space in which there may be pixels and which may be programmatically changed" |
12:06 | <kig> | which it probably is |
12:06 | <Philip`> | But it's OpenGL inside a web browser, which maybe is an innovative new idea and patentable |
12:07 | <kig> | MPL doesn't have a patent release? |
12:07 | <Philip`> | (I can't see why 2D canvas does anything that isn't trivially obvious, since it's just a wrapper around boring standard 2D graphics libraries) |
12:09 | <kig> | because some legal eagle at apple said so |
12:10 | <kig> | waiting for adobe to sue all browser makers for having vector graphics that is not flash/pdf |
12:11 | <kig> | and my catmull-rom spline drawer needs more work |
12:12 | <Lachy> | open source software is generally incompatible with patents, so I doubt Mozilla has any patents for their opengl canvas implementation |
12:12 | <gsnedders> | kig: if you read the whole post, they have no issue if it moved to a standards body with a patent policy (i.e., the W3C). Once FPWD is published there, after 90 days, Apple's requirements are met |
12:12 | <Philip`> | kig: I'd guess the W3C patent whatsits make it hard for Adobe to complain about patents on things like SVG |
12:12 | <Philip`> | Lachy: People other than Mozilla still could, though |
12:13 | <Philip`> | Lachy: Also, some Mozilla software does have patents |
12:13 | <Philip`> | http://developer-cluster.mozilla.org/en/docs/SpiderMonkey_Internals:_Thread_Safety#Patent |
12:14 | <Lachy> | yeah, royalty free patents are ok |
12:17 | <Philip`> | kig: Is there any chance your SVG renderer could output things (triangles?) for OpenGL to draw? I'd quite like to have SVG embedded in X3D embedded in XHTML... |
12:18 | <kig> | if you have a tesselator/renderer/magic for quadratic/cubic bezier splines, sure |
12:18 | <kig> | cubic'll suffice, quadratics can be done with those |
12:19 | <Philip`> | That sounds not impossible |
12:19 | <kig> | http://www.mdk.org.pl/2007/10/27/curvy-blues |
12:19 | <kig> | gradients and stroking may be, ah, more interesting |
12:20 | <Philip`> | I'd guess gradients wouldn't be too hard with pixel shaders |
12:22 | <kig> | guess i should move all the rendering primitives under the same backend, then implementing the ops in that would get you going |
12:23 | <kig> | or write a canvas context that calls opengl |
12:26 | <kig> | best performance by caching the paths generated by svg, compile into vertex array |
12:26 | <kig> | s/generated by/in/ |
12:28 | <kig> | now i'm compiling the SVG d="..." -paths into [['moveTo', [0,4]], ['lineTo', [400,230]], ...] and for (var i=0;i<segs.length;i++) ctx[segs[i][0]].apply(ctx, segs[i][1]) |
12:30 | <kig> | but with ogl you could store the geometry in a VBO, which should make it fly |
12:31 | <kig> | http://glimr.rubyforge.org/cake/canvas.html#CatmullRom hooray! |
12:34 | <Philip`> | kig: Would it be better/worse to compile into eval('function(ctx){ctx.moveTo(0,4), ...}') |
12:35 | <kig> | haven't tried, that's really evil though :) |
12:35 | <Philip`> | Could you do constant-velocity movement along the spline? |
12:37 | <kig> | when i find the algo to compute a segment's length |
12:37 | Philip` | likes evil |
12:49 | <kig> | i had a fleeting thought of parsing truetype fonts with javascript and compiling them into quadraticCurveTo:s but then i took a look at the specs |
12:50 | <Philip`> | Could something like FreeType provide you with a list of curves? |
12:50 | <kig> | it could |
12:50 | <Philip`> | (then precompute the JS-compatible font representation on a server) |
12:54 | <Philip`> | Do you happen to know if Opera's drawImage(svgimage, ...) can draw SVG text onto a canvas? |
12:54 | <Philip`> | (I can't remember if I ever tested that or not) |
12:54 | <kig> | haven't tried, i guess it should |
12:55 | <Philip`> | I think it refused to draw foreignContent onto canvas, so HTML text won't work :-( |
12:57 | <kig> | if you look at the svgparser transformed text (e.g. coord systems.. -> skew) things with a webkit nightlie, it has madness (the text element has -webkit-transform matrix) |
13:05 | <kig> | time to read freetype docs |
13:06 | <kig> | oh oh idea |
13:06 | <kig> | compute the JS-compatible font representation on a server on the fly |
13:08 | <kig> | ok, it's not much of a change, is it :| |
13:09 | <kig> | or have a list of fonts, query with js / server-side include |
13:11 | <kig> | font server .. |
13:14 | <Philip`> | You'd probably want the font server to only send the characters are needed, and not the other tens of thousands of glyphs in the original font file |
13:15 | <Philip`> | (so it couldn't just be a static file server) |
13:16 | <Philip`> | ((I'm assuming the JS representation of the font would be pretty inefficient, so you couldn't send everything, but maybe I'm wrong)) |
13:18 | <kig> | gzipped array of numbers, shouldn't be much larger than the original font file (? only one way to find out...) |
13:19 | <Philip`> | Is the original font file just a list of curves, rather than something more programmatic? |
13:19 | <Philip`> | (ignoring all the hinting and stuff, which presumably could never work in SVG-in-canvas) |
13:20 | <kig> | truetype fonts have the curves and then some nutty bytecode system for doing the hinting afaik |
13:20 | <kig> | i don't really know |
13:21 | <kig> | i guess they have something extra to handle all the different types of type |
13:27 | <Philip`> | (Is there a better touchpad driver for Windows in Boot Camp? I don't like taking twenty seconds to right-click on a folder just because right-clicking requires two fingers on the touchpad which then makes the window scroll wildly up and down even if I keep my fingers almost stationary) |
15:38 | <kig> | just what i needed: http://www.geometrictools.com/Documentation/MovingAlongCurveSpecifiedSpeed.pdf |
16:10 | <anne-mac> | Philip`, where in ECMAScript does it state that \0 is to be stripped? |
16:10 | <anne-mac> | Philip`, presumably the Acid3 test bases that on some statement? |
16:31 | <Philip`> | anne-mac: As far as I'm aware, it shouldn't be stripped - it's just a normal character, so "foo\0bar" != "foo" |
16:32 | <Philip`> | (except Opera (and no other browser) tends to strip off everything after the first \0 presumably because it's treated like a C string) |
16:32 | <Philip`> | (and so I'm assuming Opera is wrong, because it's the odd one out and it doesn't seem sensible behaviour) |
16:33 | <anne-mac> | other browsers strip \0 characters |
16:34 | <anne-mac> | I guess one can claim that treating \0 as terminating character is wrong, but stripping it out isn't in the specs either |
16:35 | <Philip`> | I don't see it being stripped out in any browser |
16:35 | <Philip`> | (except Opera) |
16:37 | <Philip`> | (...and IE - oops) |
16:38 | <anne-mac> | Firefox and Safari at least strip it when doing alert('x\0x') |
16:38 | <Philip`> | http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A%3Cbody%20onload%3Dw(document.getElementById('fo%5C0o'))%3E%0A%3Cspan%20id%3Dfo%3E%3C%2Fspan%3E%0A%3Cdiv%20id%3Dfoo%3E%3C%2Fdiv%3E%0A |
16:40 | <Philip`> | Oh, that sounds more likely to be a problem with alert than with the general DOM API system |
16:40 | <anne-mac> | https://bugzilla.mozilla.org/show_bug.cgi?id=310037 |
16:41 | <Philip`> | alert('x\0x') in Safari on Windows outputs just "x", and FF3 on Windows says "xx" |
16:41 | <anne-mac> | Safari on Mac says "xx" ... |
16:42 | <Philip`> | "Version 3.0.4 (523.15)" |
16:43 | Philip` | doesn't know if newer versions changed it |
16:43 | <anne-mac> | Version 3.0.4 (5523.10) |
16:43 | <Philip`> | That sounds futuristic |
16:43 | <anne-mac> | it's a literal copy |
16:44 | Philip` | wonders what the extra 5 means |
16:54 | <Philip`> | WebKit nightly on Windows seems to still say "x" |
16:55 | <anne-mac> | maybe stripping \0 is done at the OS level on Mac and Windows doesn't do that |
17:37 | <gsnedders> | Philip`: extra 5 is on leopard, but not in UA string |
17:39 | <gsnedders> | anne-mac: seems to be within OS string type for alerts |
18:32 | <hsivonen> | zcorpan: "If you the automatic choice of parser ..." fixed. thanks |
19:10 | <zcorpan> | http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%3Cstyle%3E[align%3D%22A%22]%2C%20[align%3D%22B%22]%2C%20[align%3D%22i%22]%2C%20[align%3D%22%C4%B1%22]%20{%20background%3Ayellow%20}%3C%2Fstyle%3E%3Cp%20align%3Da%3Ea%20A%3Cp%20align%3Da%3EB%20b%3Cp%20align%3D%C4%B0%3E%C4%B0%20i%3Cp%20align%3DI%3EI%20%C4%B1 |
19:11 | <G0k> | oo |
19:12 | <zcorpan> | um, make that http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%3Cstyle%3E[align%3D%22A%22]%2C%20[align%3D%22b%22]%2C%20[align%3D%22i%22]%2C%20[align%3D%22%C4%B1%22]%20{%20background%3Ayellow%20}%3C%2Fstyle%3E%3Cp%20align%3Da%3Ea%20A%3Cp%20align%3DB%3EB%20b%3Cp%20align%3D%C4%B0%3E%C4%B0%20i%3Cp%20align%3DI%3EI%20%C4%B1 |
19:15 | <zcorpan> | http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%3Cstyle%3E[align%3D%22A%22]%23a%2C%20[align%3D%22b%22]%23b%2C%20[align%3D%22i%22]%23c%2C%20[align%3D%22%C4%B1%22]%23d%20{%20background%3Ayellow%20}%3C%2Fstyle%3E%3Cp%20id%3Da%20align%3Da%3Ea%20A%3Cp%20id%3Db%20align%3DB%3EB%20b%3Cp%20id%3Dc%20align%3D%C4%B0%3E%C4%B0%20i%3Cp%20id%3Dd%20align%3DI%3EI%20%C4%B1 even... |
20:42 | <Philip`> | If I have some XML (specifically XSLT) which uses QNames in attribute values, and I want to extract a subtree and move it into a new document and want the QNames to continue working, is there a proper way to do that? |
20:46 | <hsivonen> | Should I remove text/xsl support from Validator.nu even in the lax mode? |
20:49 | <hsivonen> | I see application/xslt+xml in mime.types on Leopard. Is that an Apple addition or does Apache now qualify unregistered types in the default list? |
20:50 | <gsnedders> | hsivonen: it'll be Apple |
20:50 | <hsivonen> | ok |
20:51 | <gsnedders> | hsivonen: Apache policy hasn't changed (and Apple will've taken the Apache version in Leopard before WWDC in June) |
21:05 | <takkaria> | http://ewx.livejournal.com/459902.html |
21:06 | <MacDome> | takkaria: would you like to file a bug? http://webkit.org/quality/reporting.html |
21:06 | <MacDome> | it will end up being a CFNetwork bug |
21:06 | <MacDome> | which dates back from NeXT in part :) |
21:06 | <takkaria> | heh |
21:07 | <takkaria> | OK, I will |
21:07 | <takkaria> | I bet it's done like that for a reason though |
21:07 | <MacDome> | takkaria: thank you. don't be surprised if your bug is moved into Radar |
21:07 | <MacDome> | since CFNetwork is handled by a non-opensource team |
21:07 | <MacDome> | takkaria: but bugs are the only way to get fixes :) not sure if that's your blog post (I'm assuming not), but blog posts certainly don't get fixed :) |
21:07 | <takkaria> | it's not mine, no |
21:08 | <MacDome> | takkaria: anyway, thanks in advance for the bug~! |
21:08 | MacDome | goes back to fixing webkit bugs |
21:09 | <takkaria> | I just saw it pasted in #netsurf (channel for a small browser written in C) and thought it would be of interest here |
21:09 | <MacDome> | takkaria: of most interst in bugzilla :) and secondly #webkit, but here works too :) |
21:28 | gsnedders | realises he is capitalising MUST and SHOULD and MAY in an email… Need less to do with RFC 2119… |
21:36 | <takkaria> | everyone should use OpenID, I'm sick of registering more than usual today |
21:36 | <Philip`> | Everyone should allow anonymous access |
21:46 | <jgraham> | Philip`: That doesn't make sense for e.g. flickr |
21:46 | <jgraham> | (at least, not for the part you currently hav to register for) |
21:48 | jgraham | notes that the word charset has 7 letters |
21:50 | <jgraham> | Philip`: Did you have a single page copy of the issues list somewhere? |
21:51 | <Philip`> | jgraham: canvex.lazyilluminati.com/misc/cgi/issues.cgi/expand though it's maybe a little slow to generate |
21:52 | <Philip`> | That charset thing has been mentioned before |
21:52 | <jgraham> | Ah, I thought it would have been but I thought I should check |
21:53 | <Philip`> | http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2007-June/011596.html |
21:53 | <Philip`> | http://canvex.lazyilluminati.com/misc/cgi/issues.cgi/message/%3Cea09c0d10706011740l797240ebncf31cf1403b0c5cb⊙mgc%3E - hooray, Google has indexed the issues list |
21:57 | Philip` | should perhaps add a search box |
22:23 | <rubys> | Phillip`, hsivonen: fixed. Thanks! |
22:27 | <Philip`> | rubys: http://intertwingly.net/blog/?q=%00%80 looks unintended |
22:31 | <Philip`> | Also, it's annoying how everyone keeps fixing their code so my attempted demonstrations that XML is hard stop working :-p |
22:32 | <hsivonen> | rubys: cool |
22:37 | <MacDome> | Hixie: you reference ES4 with your \3 argument |
22:37 | <MacDome> | I found this in ES3: Informative comments: An escape sequence of the form \ followed by a nonzero decimal number n matches the result of the nth set of capturing parentheses (see 15.10.2.11). It is an error if the regular expression has fewer than n capturing parentheses. If the regular expression has n or more capturing parentheses but the nth one is undefined because it hasn't captured anything, then the backreference always succeeds. |
22:37 | <Hixie> | er i meant es3 |
22:37 | <MacDome> | which doesn't quite seem to answer the question |
22:37 | <MacDome> | Hixie: could you be more specific in your ES3 reference? |
22:37 | <Hixie> | sure hold on |
22:37 | <MacDome> | Hixie: thank you |
22:40 | <rubys> | Phillip`: again, fixed. (Sorry! :-)) |
22:41 | hsivonen | just read a paper explaining the dire consequences of backreferences in "regular expressions" |
22:46 | <Philip`> | rubys: Seems to work - thanks :-) |
22:46 | <rubys> | try some UTF-8. :-) |
22:48 | <Philip`> | http://intertwingly.net/blog/?q=xyzzy%ef%bf%bf |
22:49 | <Philip`> | ...gives a parse error in Opera, not Firefox |
22:49 | <hsivonen> | Philip`: I get the YSoD in Firefox 2 |
22:50 | <hsivonen> | not in Minefield, though |
22:50 | <Philip`> | Ah - FF3 automatically converts it to %EF%BF%BD |
22:51 | <Philip`> | (judging by what it shows in the magical address bar thing) |
22:52 | <hsivonen> | Validator.nu URI scrubbing makes the URI vanish |
22:52 | <Hixie> | macdome: informative note in 15.10.2.9 AtomEscape; the text specifically in that section, step 8.2, is the actual text for that |
22:53 | <MacDome> | thank you' |
22:56 | <rubys> | Phillip`: ok, I got that covered now |
22:57 | <hsivonen> | Philip`: %ef%bf%bf goes unsanitized in Instiki as well. I sent a test URI to Jacques Distler. |
22:59 | <hsivonen> | interestingly, the Jena IRI lib blames the character on XML--not an IRI spec: http://validator.nu/?doc=http%3A%2F%2Fabout.validator.nu%2F&schema=%ef%bf%bf |
23:01 | <MacDome> | Hixie: thanks, I Updated the bug |
23:06 | <Philip`> | hsivonen: http://validator.nu/?doc=http%3A%2F%2Fphilip.html5.org%2Fmisc%2Fchars.html&showsource=yes&out=xml |
23:13 | Philip` | wonders how many enterprisey XML-backended web sites would break horribly if you gave them data with these byte sequences |