IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2011/11/24)2011/11/25 
kens Ian sent me this URL this morning:09:13.46 
  http://uk.reuters.com/article/2011/11/24/oukoe-uk-dutch-airport-idUKTRE7AN1I02011112409:13.46 
chrisl I suppose it was only a matter of time....... I would have thought there would have been other things for technology to focus on in airports!09:19.29 
kens :-)09:19.39 
Robin_Watts There is a strike planned next wednesday by immigration staff.10:13.09 
kens I know :-(10:13.16 
  It should only affect passport control, I'm hpoing ti won't delay my flight10:13.31 
Robin_Watts Dunno if that includes security staff or not... I'd allow extra time at the airport.10:13.35 
kens Not security staff10:13.45 
  Hmm, lots of diffs, time for bmpcmp10:35.22 
Robin_Watts ADSL is knackered.11:14.02 
  600kbps != 6Mbps :(11:14.11 
kens Not good!11:14.21 
Robin_Watts http://www.webosfrance.com/33-milliards-de-dollars-perdus-dans-webOS-HP-devoile-les-comptes-de-2011_a1117.html12:59.39 
  Must be nice to be able to lose 3.3 billion on a product that you estimate is worth 1/10th of that and still make a profit.13:00.16 
kens Can't do that often....13:06.18 
  Anyone know where I can find the regression test file "Bug6901014_launch_leaflet.pdf" ?13:55.45 
alexcher kens: tests_public/pdf/Bug6901014_launch_leaflet.pdf14:00.30 
Robin_Watts tor8: ping?14:00.45 
kens server ?14:00.45 
Robin_Watts svn+ssh://regression@svn.ghostscript.com/svn/ghostscript/tests/pdf14:01.38 
kens Hmm, couldn't see it there, will try again thanks14:01.56 
  AH there it is, thanks14:04.28 
tor8 Robin_Watts: pong14:08.54 
Robin_Watts Got time to talk about this optional content stuff?14:09.09 
tor8 sure14:09.20 
Robin_Watts actually, first off, related thing... You use the magic name '.seen' as a dictionary entry to avoid infinite recursion.14:09.57 
  Could we change that to be /seen ?14:10.06 
  as .seen would be a perfectly reasonable name.14:10.20 
  (wheras you can never have a name that contains a '/'.)14:10.50 
  actually, that would be no good either.14:14.32 
  You can have / in a name by using #xx14:14.42 
  We'd have to use ' seen' (i.e. a leading space)14:15.00 
Robin_Watts wonders if I've scared tor8 off...14:15.56 
chrisl Robin_Watts: what about "%seen"14:16.17 
Robin_Watts Even ' seen' is no good :(14:16.59 
tor8 Robin_Watts: we can change to whatever you think is better. The . prefix isn't used by anything in the PDF spec so should be safe, or at least that was my reasoning.14:17.02 
  I was going by how ghostscript prefixes custom operators with a .14:17.22 
Robin_Watts According to my spec "any char except null may be included in a name by writing it's 2 digit hex code".14:17.31 
tor8 yes, but is it used in any meaningful way?14:17.44 
  i.e. do we get any actual collisions14:17.54 
Robin_Watts It's no biggy, but I was thinking that if there was a safe char we should use it.14:18.05 
  but there doesn't look to be :(14:18.10 
kens I think any character is possible14:18.18 
tor8 doesn't seem to be, with the # escape anything can be14:18.20 
kens But its a very rare usage14:18.23 
Robin_Watts Also, I just spotted an interesting thing; "Note: The token / ( a slash followed by no regular characters) is a valid name"14:18.43 
chrisl That comes up quite regularly :-(14:19.15 
Robin_Watts So our use of fz_to_name(obj) returning "" for things that aren't names might potentially clash.14:19.33 
  ok, but all of that was just an aside.14:20.09 
  I'm thinking that to do optional content properly, I need to look at the OCProperties when we open a pdf.14:20.58 
sebras Robin_Watts: aren't you supposed to test object existance with fz_is_*()?14:21.07 
Robin_Watts sebras: Yes, but in many places we don't we cast to fz_to_name and strcmp with it, on the grounds that it couldn't possibly match "" :)14:21.53 
kens Empty names ?14:22.17 
Robin_Watts and then I'd need to run through setting a '.visible' flag in the OCGs.14:22.51 
tor8 Robin_Watts: yeah, but that's mostly just providing a non-crashing default value when accessing a non-existing entry14:22.52 
sebras tor8: or a completely bogus one...14:23.21 
Robin_Watts brb14:23.37 
tor8 Robin_Watts: hm, the .seen flags are (I believe) temporary. they should be removed after the transparency scan has finished.14:23.45 
sebras tor8: e.g. when you expect a string but get an object reference.14:23.46 
  tor8: isn't there something similar to .seen in the pagetree nodes?14:24.23 
tor8 Robin_Watts: I'm just concerned about what happens with pdfclean or anyone else saving the file back out14:24.26 
  sebras: yeah, there too :)14:24.32 
  both places to stop recursion cycles14:24.47 
  we could add a flag to the fz_obj dictionary object and not (ab)use the dictionary entries14:25.19 
  Robin_Watts: you're talking about OCG dictionaries? I'm a bit fuzzy about how they're specified.14:25.56 
  are they like xobjects at all?14:26.01 
  would it make sense to create a struct for them and stick that in the pdf_xref or pdf_store?14:26.30 
Robin_Watts tor8: The root object has an OCProperties dictionary.14:27.58 
  That contains entries 'OCGs' (an array of indirect refs to all the OCGs in the document)...14:28.49 
  'D' (a dictionary that contains a description on which ones are on/off by default)14:29.10 
  'Configs' (an optional dictionary that contains other 'D' like dictionaries)14:29.35 
  While we are rendering, we can hit references to OCGs either on BDC things, or on xobjects.14:30.28 
tor8 right.14:30.42 
Robin_Watts (or those references might be to OCMD's, which are basically a boolean combination of references to OCGs)14:31.14 
tor8 so a description of what is what and visible or not in the root object, then named references to those descriptions from the actual content14:31.16 
Robin_Watts Right.14:31.21 
  So I need to decide while rendering whether a given OCG is on or off.14:31.40 
tor8 I'd suggest parsing up a pdf_ocg_descriptor (make up a better name) and keep a linked list of those structs in the pdf_xref -- or a function to look it up on the fly14:32.21 
Robin_Watts and that either means tracking back into the root and drilling down every time, or it means me preloading the dictionary objects with '.hidden' = 0 or 1.14:32.24 
tor8 how do you determine visibility when running the page?14:32.58 
  like the current 'target' selector?14:33.06 
Robin_Watts tor8: The 'target' thing tells me whether an OCG is ever applicable to the given rendering mode.14:33.40 
  For instance, OCGs can be marked to say they are for viewing or for design.14:33.59 
tor8 right.14:34.05 
Robin_Watts But whether they are visible or not after that depends on the 'state' determined for them in the OCProperties thing.14:34.35 
  I could do as you say, and make a pdf_ocg_descriptor, which lists all the object numbers for each OCG.14:35.43 
  but then I need to go from dictionary to object number. That should be doable, right ?14:36.19 
tor8 how are the OCGs referenced in the BMC and XObjects?14:38.59 
  by number or by name?14:39.03 
Robin_Watts By name.14:39.09 
tor8 start by implementing pdf_is_ocg_visible() using the drill-down approach and we can think about speeding it up later?14:39.45 
Robin_Watts If I have an array full of indirect objects, and I 'fz_array_gets' the first one - I get an indirect object back.14:45.49 
  If I then resolve that indirect object, does the obj change type to be the resolved thing?14:46.15 
  no, doesn't look like it does.14:46.58 
  So if I have an array that I know is going to be full of indirect objects, then I should be OK to look up and get the obj/gen numbers.14:47.28 
  OK. I have a plan, I think.14:47.40 
tor8 yes. if you have the indirect reference fz_obj you can get the number out14:50.13 
  if you manually resolve it, you lose that information. 14:50.41 
Robin_Watts Right. In my pdf reader, resolving once meant that the DAG of objects in memory resolved too, so you'd lose it.14:51.22 
tor8 how did that work with cyclic references?14:52.05 
Robin_Watts OK, so it wasn't a DAG :)14:52.20 
  DG14:52.28 
tor8 I opted for automatic resolving on use in mupdf, but at first I required manual resolving of each individual reference (and that was painful!)14:52.47 
Robin_Watts tor8: yes. It's extremely interesting to use mupdf. The parallel evolution of it is quite striking :)14:53.18 
tor8 :)14:53.35 
alexcher Who knows why txtwrite device is not included in Linux build by default?15:13.29 
kens Probably my fault, I guess I forgto to update the build for Linux15:13.49 
  Feel free to add it15:13.59 
alexcher kens: OK15:14.11 
tor8 Robin_Watts: ancient history -- http://ghostscript.com/pipermail/fitz-dev/2003-December/000052.html15:40.13 
  about to be undone!15:40.19 
Robin_Watts That was when you removed the explicit context? :)15:41.26 
malc_ tor8: lo.. if systerm monitor to be believed preview doesn't memory usage is _very_ modest in a scenario i outlined yesterday15:45.35 
tor8 who knows, maybe they're hiding it all in opengl textures? ;)15:46.22 
  regardless, apple's pdf engine is very fast!15:46.42 
malc_ yep.. they must be doing something right.. bastards15:47.10 
  still dog slow here on ppc, so i can not complain really15:47.21 
Robin_Watts tor8: Sucess.16:11.08 
  or Success, even :)16:11.13 
  I have http://www.creepingfog.com/grrr/Invite.pdf rendering correctly.16:11.50 
  Interesting file :)16:12.01 
  I believe we should not be setting Intent ourselves; it should come from the Intent field in the Optional Content Configuration Dictionary.16:16.08 
  (which should always be 'View' for the default one)16:16.17 
  We should set 'event' though (View, Export, Print)16:17.53 
  tor8: What's the lifespan of an fz_obj ?16:18.53 
  Valid until the file is closed? or can it be thrown away sooner ?16:19.10 
tor8 Robin_Watts: it varies :)16:19.22 
  I believe at the moment it's until the file is closed (but in theory it could get trashed at any moment by pdf_flush_xref{16:20.05 
  )16:20.06 
  if you want to save it in a struct to hold on to it past the lifetime of the current function, use fz_keep_obj16:20.30 
Robin_Watts Right, thanks.16:23.40 
malc_ tor8: http://www.agner.org/optimize/instruction_tables.pdf the page numbers in outline are off by one17:07.08 
  no, sorry.17:18.50 
Robin_Watts Morning henrys. Nice thanksgiving?17:19.10 
henrys yes it was very nice. Ate a lot.17:41.51 
kens tor8 what are your flight plans ? Not going through Heathrow on Wednesday I hope ?17:42.33 
henrys wow this month went fast - meeting time already!17:43.08 
kens agenda time :-)17:43.33 
henrys sigh17:44.14 
alexcher kens: tdev->DebugFile = fopen("/temp/txtw_dbg.txt", "wb+"); fails and causes SEGV later.17:44.54 
kens OK remove it then, its only for debugging17:45.25 
alexcher kens: I'll put the affected parts under #ifdef TRACE_TXTWRITE17:47.29 
kens OK17:48.08 
  Shuoldn't you be on vacation today Alex ?17:48.23 
alexcher kens: My wife is watching children. It;s time to work.17:50.28 
kens is off now, goodnight all17:59.35 
henrys goodnight kens17:59.44 
  I'll be in and out today mosty out...18:00.00 
tor8 kens: going through heathrow on wednesday indeed!18:09.43 
  at least I don't have to go through border control, but who knows what mayhem the chaos will cause :(18:10.06 
Robin_Watts tor8: The worry will be that they might hold people on the planes.18:13.22 
  tor8: The file I gave above would be a good one to add to the 'sane' set.18:15.43 
malc_ tor8: still here?18:19.05 
Robin_Watts tor8: patch pushed.18:23.43 
  tor8: hold on...18:30.50 
tor8 Robin_Watts: or cancel the flights...18:38.20 
Robin_Watts tor8: Or reroute the plane to Paris or something stupid.18:38.57 
  You could call the airline and ask about going on tuesday instead?18:39.20 
tor8 I'll need to check with Miles about accomodations then18:39.53 
Robin_Watts Frankly, I'd get yourself to Miami first, and worry about hotel rooms later.18:40.15 
  At worst you'll need to stay somewhere else for a night.18:40.25 
tor8 "Your flights are currently planned to operate normally, although they may be subject to disruption or cancellation."18:41.37 
Robin_Watts tor8: I've just pushed a merge of master into context to my repo.19:44.12 
  tor8: Virgin Atlantic and BA have said they will allow passengers to change their flights free of charge.19:59.10 
  Apparently passengers may be held on aircraft for up to 12 hours!!!!19:59.29 
  Come on Tuesday mate. Even if you have to sleep on the beach...19:59.46 
tor8 Robin_Watts: yeah, probably the best idea. I'm looking at the rebooking page now.20:14.04 
kens Virgin page says rebooking for flights due to land, am about to try the helpline20:14.21 
Robin_Watts tor8: Who are you with?20:15.03 
tor8 BA20:15.17 
  they've got a good web site at least :)20:15.23 
kens Virgin say all flights are due ot take off, no cancellations. FOC rebooking is for inbound flilghts only at the moment at least20:19.25 
  ANyway, goodnight folks, again20:21.14 
tor8 ugh, they don't give me the option of the mid-morning flight, only the wee hours one :(20:22.10 
  hm, I wonder if they'll let me fly home on a saturday instead ;)20:23.44 
  nope...20:26.29 
  Robin_Watts: oh lovely. on all but one flight I get "temporary fault, please try again" and on the one I can continue on it's "The flight selected has sold out whilst you have been completing your transaction. Sorry, please try another BA flight."20:35.33 
  looks like I'll have to try again in a few hours, or give them a call tomorrow morning20:41.26 
  Robin_Watts: OCG commit pushed21:11.23 
henrys Robin_Watts:the package arrived21:18.21 
 Forward 1 day (to 2011/11/26)>>> 
ghostscript.com
Search: