IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2011/12/11)2011/12/12 
fUD Hey folks01:34.33 
  What does, "Warning: composite font characters dumped without decoding." really mean when using the ps2ascii command01:34.59 
alexcher fUD: It means that ps2ascii cannot convert character codes to ascii and writes them directly.02:42.32 
  fUD: ps2ascii is now obsolete. Please use txtwrite device instead.02:43.18 
fUD alexcher: Oh thanks for the advice alexcher 03:14.58 
  alexcher: I don't seem to have that on Scientific linux 603:15.33 
  alexcher: I'll look around and see what I can find.03:15.40 
alexcher fUD: txtwrite is not compiled by default on v. 9.04. 03:26.17 
  fUD: Current development version does compile it by default.03:26.56 
  fUD: In either case you need to build gs from the sources.03:27.25 
fUD alexcher: yeah I'm a bit restricted (by systems team) as to what I can install..03:27.38 
alexcher fUD: Can you compile a local copy?03:28.11 
fUD alexcher: btw, is that ps2ascii issue I'm having font related?03:28.12 
  alexcher: Its a constand process of converting pdf's to ascii - its not a 1 off job sadly03:28.33 
  s/constand/constant03:28.44 
alexcher fUD: ps2ascii doesn't support CID fonts.03:29.10 
fUD alexcher: it was working perfectly, until we upgraded... well so I thought, unless the format of the pdf changed from what we're being sent03:29.30 
alexcher fUD: ps2ascii has not changed recently. PDF files are increasingly using CID fonts.03:30.34 
fUD alexcher: ok I'll download a later postscript and compile it and see what I can do, I might have to force the systems team hand.03:31.28 
alexcher fUD: I can test your file and check whether txtwrite works. alex.cherepanov@artifex.com03:31.49 
fUD alexcher: thats cool, I'll give the compile a try.03:33.23 
  alexcher: thanks for your help03:33.26 
  alexcher: heh, its got an .. interesting build system03:55.27 
  alexcher: oh it does use standard .gnutools, but not sure how to compile with txtwrite04:08.37 
kens Robin_Watts : (for the log) please don't reply to the customer asking about profiling, I know we can profile without VS on Windows, but I'm trying to put them off.09:49.38 
Robin_Watts I'm here.10:11.38 
  I'm assuming that'll make sense when I read my email.10:11.52 
kens Probably :-)10:11.59 
Robin_Watts New version of Very Sleepy can profile both MSVC and gcc binaries on windows.10:12.12 
kens Probably. But I don't really want to ge involved in discussing profile results, and what pdfwrite is up to, with someone who has to have it explained to them how to do profiling of code....10:13.00 
Robin_Watts Right. That customer. Fair enough.10:17.06 
kens :-)10:17.11 
Robin_Watts I thought that we as a company had a policy of not officially doing builds for people.10:35.52 
kens Indeed.10:36.01 
Robin_Watts (i.e. we might do it as a favour for companies, but we should always say "don't expect us to do this in future")10:36.17 
  I've noticed us doing builds for companies with no such warning recently, which is going to come back to bite us in future, I reckon.10:37.00 
kens I'd prefer not to start, and also prefer not to enter teh discussion. If they want to do profiling, they should be capable of building from source.10:37.00 
chrisl You obviously weren't paying attention during the staff meeting10:37.17 
Robin_Watts chrisl: Was the policy changed?10:37.44 
chrisl There wasn't really a "change" just an acceptance that we do builds for people, and Marcos should be setup to do them10:38.17 
  However, I think it's fair to say that wouldn't include profile builds......10:39.00 
Robin_Watts Right. That's not my exactly my memory of what was said, but OK.10:39.25 
  I remember something being said which made me think about having a web driven buildbot.10:39.48 
  but then I thought about the need to include a different set of patches for every customer, and I abandoned that idea without mentioning it.10:40.23 
chrisl Well, Marcos gave three options: I keep doing the builds, Marcos gets setup to do them, or a buildbot - and yes, the random patches applied to the *commercial release* made that pretty much impossible.10:41.07 
Robin_Watts But yes. Profiles are tricky beasts to read at the best of times - if you're not capable of doing builds from source, you're not capable of making meaningful use of a profile build.10:41.12 
  But to state that blankly to a customer risks offending them.10:41.38 
kens Yes, I was trying to be coy and avoid that.10:42.17 
chrisl I don't see what good it would do them anyway. If can't build GS, they're certainly not going to be able to address any hotspots they identified10:42.59 
kens I can see them asking all sorts of questions though...10:43.33 
Robin_Watts But they'll be able to pester us with all sorts of misunderstood justificiations! :)10:43.47 
kens But part of my analysis came from readin ghet PostScript file on Saturday.10:44.00 
chrisl The Postscript looks like pswrite output to me10:45.26 
kens I was thinking more of the 'Anotot pattern'10:45.44 
  The clue to it being pswrite is the copyright header in the PS file.10:48.32 
  It looks like it was actually epswrite, but that's basically pswrite.10:48.58 
  Which is *going* to be slow.10:49.04 
chrisl Yes, especially with all those strange glyphs covering each page - what a bonkers file!10:49.50 
kens The 'Anoto pattern' ? looks like some kind of daft watermarking10:50.13 
chrisl Yep, very daft, and sloowwww.......10:52.00 
kens Indeed, it opens painfully slowly in Acrobat. The reason I suggest turning off 'DetectDuplicateImages' is because there are so many, and they are mostly different.10:52.36 
chrisl Does ps2write have an EPS "mode"?10:55.19 
kens Not yet.10:55.28 
  Its (yet another) enhancement I'd like to do10:55.43 
chrisl I just wondered if this was part of their workflow, so ps2write would probably give better performance overall10:56.09 
kens It would, yes, but why not go directo to PDF ?10:56.29 
  Hmm, looks like the problem with this file #692674 and FAPI is that its using charpath10:57.17 
chrisl Hm, that was odd.....10:58.54 
kens ?10:59.00 
chrisl freenode disappeared and then immediately came back again.10:59.23 
kens That is odd, it was OK here10:59.36 
chrisl Probably some network hiccup10:59.53 
kens OK it seems to be just the first bit of the text that was a charpath11:00.12 
chrisl From Ray's profile, three high up functions (Bezier_Up, Split_Cubic and Insert_Y_Turn) are only used during freetype rendering, and not during path generation.11:01.59 
kens I haven't got that far into it, I was looking to see under what conditions we entered FreeType at all.11:02.29 
  So far every piece of text goes through charpath first, then a show.11:02.52 
  Ah, its doing a stringwidth on every 'show'11:03.23 
  I think that's the culprit11:03.46 
chrisl Oh, crap......11:03.48 
kens "/ST{0 ne{1 8 4 roll 4 copy 12 -4 roll 8 3 roll}{0 6 1 roll}ifelse dup stringwidth pop 3 2 "11:04.03 
  I guess the rendering thing is some difference in the way FT/FAPI works that's different to the old GS code.11:04.39 
  This doesn't look like something I can address in pdfwrite.11:05.16 
  Are we rendering the glyph in order to get the size ?11:05.48 
chrisl I had to make FAPI produce a bitmap on a stringwidth because usually/often/sometimes GS expects a glyph to be cached after a stringwidth11:06.39 
kens Well, that's why we have a difference with pdfwrite then.11:06.57 
  The old code didn't render, the new code does.11:07.22 
  I suppose if we knwe *why* the old code didn't render the glyph and could mimic it we'd be OK.11:07.43 
chrisl Sure, it sounds like my bug, though, so you might as well assign it to me11:08.04 
kens I can't really, its the horrible one which has gone on and on and dragged everyone in.11:08.29 
  I'll make a new one for you.11:08.36 
chrisl I thought you already opened a new one specifically for this11:09.01 
kens I didn't think os, did I ?11:09.12 
kens goes to look11:09.20 
  No can't find one.11:09.49 
chrisl I guess not - I thought you were going to specifically because the original bug had rambled on so much11:10.27 
kens Exactly, I'm doing a new one now11:10.42 
chrisl I'll try to have a preliminary look this afternoon.11:11.33 
  bbiab11:11.45 
kens OK I'm writing it up properly just in case it gets forgotten about11:11.52 
Robin_Watts If I want to make gs read gs_init.ps from a disc file of my choosing, can I do that just by using a command line switch?11:58.47 
  I'm sure I've done that before...11:58.52 
kens -I11:58.58 
Robin_Watts I've tried -I blah -I blah/Resource -I blah/Resource/Init and none have worked.11:59.27 
kens -I/.../Resource/Init11:59.38 
  Though I haven't specifically tried gs+_init.ps it works for (eg) gs_ttf.ps12:00.00 
Robin_Watts It needs an absolute path?12:00.07 
kens I think so yes12:00.13 
Robin_Watts That's it. Thanks.12:00.35 
kens Its certainly safer that way12:00.37 
  No problem12:00.48 
Robin_Watts calls ISP *again* about broadband not being right.12:21.13 
  "We can have an engineer come around and try to run a ping test".12:21.33 
kens Helpful :-)12:21.47 
Robin_Watts "Or I could run it for you now... see, I've run it, and 0% packets dropped"12:21.50 
  "oh, ok, we'll escalate it with BT again"12:22.02 
kens :-(12:22.08 
Robin_Watts kens, chrisl: I need a sanity check for some binary postscript please.12:43.43 
  In the gs_init.ps file, we have:12:43.51 
  pop userdict maxlength 0 eq12:44.04 
  My compression code is replacing the 0 with 2 binary bytes 0x88 and 0x0012:44.31 
  (I know, that's larger, but ignore that for now).12:44.46 
  PLRM 3, 3.14.1, page 158 (that's 172 according to acrobat) suggests that that should be the same.12:45.45 
  but gs is barfing on it.12:55.10 
chrisl Robin_Watts: sorry, was on the phone. I've not much experience with binary PS, but that looks wrong to me12:58.32 
Robin_Watts ah, go on...13:00.17 
chrisl I'm going to have to read the PLRM more carefully13:01.12 
  Although, as virtually *nobody* uses binary encoding, it's quite possible there's a bug in the interpreter - I doubt it's had much use13:03.17 
  Robin_Watts: what's the error from Ghostscript?13:05.55 
Robin_Watts It just stops dead - this is very early in gs_init.ps13:06.14 
chrisl Well, reading the PLRM, what you've got actually looks right (I thought it was an 8 bit unsigned value that was offset by -128, but that's a font thing)13:07.50 
  Robin_Watts: is there a way I can recreate this easily?13:11.15 
Robin_Watts Not ATM. Let me keep bashing.13:11.26 
  If I don't get somewhere quickly, I'll make an example file.13:11.51 
chrisl You could try making it a 16 or 32 bit value, just to eliminate the 8 bit encoding in the interpreter13:12.12 
Robin_Watts OK. Create a directory foo.13:15.53 
  then cp -pr Resource foo13:16.04 
  Then insert http://ghostscript.com/~robin/gs_init.ps in as foo/Resource/Init/gs_init.ps13:16.29 
  Then start gs with: gs -ZI -I/..../foo/Resource/Init/13:17.03 
  My changes to gs_init.ps are at line 49ish.13:17.53 
  Swap the comments on lines 50/51 and you'll see the behaviour change.13:18.24 
kens Sorry was at lunch.13:22.32 
chrisl I don't see a difference in behaviour, I don't think it's even getting to the binary object13:23.34 
Robin_Watts Oh, pants.13:24.07 
  I've added a new operator .setobjectformat which isn't in your copy of gs of course :(13:24.28 
chrisl Well, that won't work......13:24.43 
Robin_Watts I need to turn binary encodings on, and I can't do that until we reach level 2.13:24.56 
  why won't that work ?13:25.00 
chrisl Because I don't have the operator13:25.12 
Robin_Watts indeed, yes.13:25.22 
  I was confused as to why I wasn't seeing the binary thing being parsed after maxlength was processed.13:25.52 
  But I think I've twigged; because it's in { } all the parsing is done early.13:26.16 
  so I need to look back a bit.13:27.02 
chrisl You won't see it being parsed until the ifelse is evaluated13:27.10 
kens Its parsed as its read, but it won't be executed until the ifelse is evaluated13:28.03 
Robin_Watts yeah, so the debugger wasn't stepping into a parsing thing at the point I was expecting, hence my confusion.13:28.35 
  Gah. It's refusing to read the binary token as level2 isn't inited at that point :(13:36.51 
kens Well, there you go.13:37.05 
Robin_Watts How much would it hurt for me to enable level 2 right at the start?13:37.43 
kens As far as I'm concerned, not at all. We did discuss deprecatingh level 1 at the meeting if you recall.13:38.08 
  I'd be happy to go straight to level 2. However, if it will actually work, I'm not certain.....13:38.36 
Robin_Watts Yes. What I'm doing now was the driving force for us dropping level 1.13:39.10 
chrisl Just go straight to level 3, for goodness sake......13:43.33 
kens Yeah, its not as if anyone is going to build a level 2 rip.13:44.00 
  Great the customer complaining about performance is using an old version of GS....13:50.27 
Robin_Watts gah.13:54.52 
  I put 2 .setlanguagelevel at the start of the file.13:55.13 
  and it all ran fine, until in the middle of the file we set the languagelevel back to 1 again :)13:55.29 
chrisl why on earth would it do that?!13:55.54 
Robin_Watts I'm sure there is AVeryGoodReason(TM).13:56.15 
chrisl buried in the mists of time, and nobody remembers, probably.....13:56.47 
Robin_Watts gs_btokn.ps does it.13:57.47 
  As does gs_setpd.ps13:59.38 
  I think I need alexcher to comment here before I go any further.14:00.23 
  lunchtime14:06.47 
kens quick fix chrisl :-)15:52.09 
chrisl Once I'd tracked down where the AFS code made the decision whether or not to render, it wasn't hard to make FAPI do the same15:52.56 
kens Nice to get it done, thanks15:53.13 
chrisl Looking at all the conditions it checks to see whether to render the glyph, it's not surprising I was getting confused trying to fathom it out........15:54.01 
kens :-)15:54.18 
chrisl But yes, nice to get it done15:54.46 
Robin_Watts alexcher: Are you here ?16:54.30 
henrys So the uk is looking for spies and here's the testhttp://www.canyoucrackit.co.uk - this should finish off productivity for the day.17:07.54 
kens Been solved17:08.05 
  Was cracked by a Google search first ;-)17:08.15 
alexcher Robin_Watts: Yes.17:10.17 
Robin_Watts alexcher: I've been looking again at my ps compaction stuff, for use with the gs_init files.17:10.48 
  In order to use binary compression, it needs to be in level 2 mode.17:11.05 
  So I've added '2 .setlanguagelevel 2 setbinaryformat' to the start of gs_init.ps17:11.47 
  And I've added some code to mkromfs to spot special comments of the form: INARYON and INARYOFF to turn the use of binary encodings on and off.17:12.29 
  Bah. Stupid irc. That should be PERCENT B I N A R Y O N etc :)17:13.07 
alexcher Robin_Watts: So what does cluster say?17:13.41 
Robin_Watts And in the places in the startup code where it drops back to level 1 explicitly (gs_btokn.ps and gs_setpd.ps) I've wrapped them in %BINARYOFF %BINARYON17:14.36 
  I haven't got as far as running it in the cluster yet.17:14.48 
  It still won't start up.17:14.52 
  It goes wrong when trying to do 'currentglobal'.17:15.01 
  and 'defineresource' also causes it problems.17:15.26 
  Note, it's not .currentglobal that's the problem, but currentglobal.17:15.47 
  Does the postscript startup code set up an currentglobal as an alias for .currentglobal ?17:16.16 
  And if so, does the code that sets up that alias go wrong if the interpreter is already in level 2 mode?17:16.37 
alexcher Robin_Watts: Probably, I need to check this.17:17.02 
zeroG hello17:20.09 
ghostbot what's up17:20.09 
zeroG MUPDF 17:20.25 
alexcher Robin_Watts: Operator /currentglobal is defined in gs_lev2.ps17:20.30 
Robin_Watts right.17:20.37 
zeroG i want to know how to print document with MUPDF?17:22.44 
Robin_Watts zeroG: What do you mean?17:23.27 
  pdfdraw will take a PDF file and make you images from it at any specified resolution.17:23.43 
zeroG i want print document with my vb.net code 17:23.54 
  on printer 17:23.57 
  i want use MUPDF17:24.08 
Robin_Watts mupdf does not know how to drive any printers directly.17:24.10 
  pdfdraw IS mupdf.17:24.18 
  (it's the same core libs as the mupdf viewer, just wrapped in a different way)17:24.37 
zeroG okay17:25.18 
Robin_Watts I would have thought that it was easy enough to print a bitmap from .net, right? So call pdfdraw to make you the bitmap and then print that.17:25.31 
kens Make a printer DC bitblt the bitmap tot he pritner DC and away you go.17:26.03 
Robin_Watts or, if you want a tighter integration, you can call the mupdf C functions directly - pdfdraw will again be a good starting point for that.17:26.07 
  but be aware of the licensing of mupdf... the tighter the integration, the harder it is to use it under GPL terms.17:26.38 
  alexcher: What I don't immediately follow is why that's problematic for it to work in level 2 mode ?17:27.28 
  alexcher: http://ghostscript.com/~robin/0001-WIP-mkromfs.patch <- That's my changes if you want to try them.17:29.38 
alexcher gs_lev2 runs quite late and /currentglobal may be not defined early enough.17:31.38 
Robin_Watts but I haven't changed the order in which any files are included.17:32.00 
alexcher Robin_Watts: Do you want be to debug the patched gs?17:32.35 
Robin_Watts If you wouldn't mind - you can probably understand the postscript far better than me.17:33.09 
alexcher OK17:33.19 
Robin_Watts tor8: ping ?17:55.13 
tor8 Robin_Watts: pong.17:55.38 
Robin_Watts So... before we can fold context onto master, we need to do some API tweaks ?17:55.58 
tor8 yeah.17:59.37 
henrys Robin_Watts:the matrix inverse issue should never be a performance bottleneck right? The inverse call is certainly easy reading and preferable maintenance wise.17:59.41 
tor8 I've been mulling over that, but I'm not sure exactly how I want to change things17:59.56 
Robin_Watts henrys: matrix invert is a heavy operation.18:00.09 
tor8 Robin_Watts: if you look at ios/document.[ch] there are some ideas for a higher level access api18:01.08 
Robin_Watts 2 extra inverts per image doesn't sound a lot, but we see lots of PS/PDF files where images are made by 'stacking' 1 pixel high images.18:01.11 
  Why is invert.scale(x,y).invert easier to read than scale(1/x,1/y) ?18:01.46 
  (The scale may need to change between being a post multiply and a pre multiply)18:03.05 
henrys Robin_Watts:it isn't 2 extra inverses per image exactly, we aren't doing this for all images and it is very rare or did I misunderstand something.18:04.10 
Robin_Watts We'd be doing this for all "explicit masking" images.18:04.40 
  i.e. whenever we get an explicit masked image, we ignore the supplied matrix and use one of our own concoction.18:05.11 
henrys oh I see I wasn't following the issue correctly, sorry18:05.43 
Robin_Watts I'm used to working on embedded devices, where a single floating point op is worth avoiding. On the kind of metal that gs runs on it's probably not an issue.18:06.12 
  But why not get it right first time?18:06.20 
henrys Robin_Watts:okay at some point we should say he's beat on it enough and take it over - the bounty program really isn't intended to turn into 5.00 an hour type thing.18:10.07 
Robin_Watts Sure.18:10.17 
henrys or if you want him to work it more I'll change it to P218:11.13 
Robin_Watts Let's take it as is, pay the bounty and I'll add a note in there saying it's something that can be optimised later if it turns out to be a bottleneck.18:15.30 
henrys great18:16.12 
Robin_Watts tor8: document.c,h are supposed to be the kind of thing that a viewer might like to use ?18:24.13 
  It strikes me that a viewer would like to have a document from which it can hold multiple open pages, not just one.18:24.45 
tor8 Robin_Watts: yeah. that api just caches the last page accessed behind the scenes and doesn't expose the pdf_page/xps_page struct18:29.06 
  makes it easier on the viewer, he doesn't have to juggle anything. but it belongs in a wrapping layer, not inside the pdf/xps document objects themselves.18:29.37 
Robin_Watts tor8: I'd be tempted to try to come up with an API that's more OO.18:29.38 
  The viewer shouldn't care if it's a PDF or an XPS document.18:29.59 
tor8 that's what the ios/document.c takes care of. but the implementation, yeah, it's not pretty18:30.22 
  something function pointer based like the device interfaces perhaps18:30.41 
Robin_Watts And I want to be able to 'getPage(document)' - if it's cached, then great, you get it instantly.18:30.55 
  Actually, we'd want 'claimPage' and 'releasePage' to ensure that pages didn't get freed unexpectedly.18:31.39 
  How does the ios thing cope when you can see multiple pages on screen at once ?18:32.44 
  Hmm. pdfdraw gets this right, mupdf viewer gets it wrong :)18:33.27 
tor8 Robin_Watts: it caches the bitmaps in a UIView18:33.45 
Robin_Watts right.18:33.51 
tor8 renders on the fly, with not a care about anything other than the page number18:34.04 
  the question is what you want the page object for. as I can see it's the page dimensions, text (for search and copy/paste) and drawing to a bitmap, and links and eventually annotations18:35.22 
  the second question is, do we want to push the loaded page object juggling to the client or hide it in the library18:35.59 
Robin_Watts tor8: As a viewer implementer, I'd like to be able to 'open' a document (not caring what type it is),18:37.14 
  to be able to ask what the dimensions of page are (without parsing it all)18:37.34 
tor8 sadly the page dimensions for xps aren't available without parsing the xml :(18:38.00 
Robin_Watts Right, but it doesn't require a complete parse of all the page?18:38.23 
  (or even if it does, I shouldn't need to worry about that as a caller)18:38.38 
tor8 doesn't need a graphics parse18:38.41 
Robin_Watts right.18:38.46 
tor8 but it's still fairly expensive, cracking xml is a lot of string copying18:38.57 
  I have some ideas of how to optimise it by storing string pointers directly in the source data instead of malloc+strcpy18:39.25 
Robin_Watts I'd want the option to do some sort of 'preRender' call (to make a displaylist)18:40.06 
  Then a 'render' (to render the displaylist).18:40.19 
  I'd want to be able to abort the preRender/render calls somehow.18:40.40 
  Need to think about searching (but I'd like to be able to get a list of rectangles back for my search results, on a page by page basis)18:42.46 
mvrhel_laptop bbiab19:47.34 
Robin_Watts tor8: ping20:19.30 
  I have some changes to pdfdraw here.20:19.40 
  I've added -i and -f flags, that toggle the decompression of image and font streams respectively.20:20.04 
tor8 you mean pdfclean?20:20.20 
Robin_Watts So -d -i -f will leave images and font unexpanded.20:20.25 
  Yes, sorry.20:20.27 
tor8 leaving images compressed is something I've thought about before, so thanks!20:20.44 
Robin_Watts Otherwise this file turns into 160Gig and I can't look at it in an editor :)20:20.51 
  160Meg, soryr.20:21.07 
tor8 160gig would be quite big20:21.23 
Robin_Watts pushed to my repo20:22.50 
tor8 ugh, bit voodoo...20:25.09 
Robin_Watts oh, yeah. I should use an enum. Let me fix that.20:25.23 
tor8 or more flags: dontexpandfonts etc20:25.37 
  perhaps "\t-f\tnever decompress font streams\n" to be more clear about what the flag actually does too20:27.05 
Robin_Watts No, it toggles.20:27.17 
  just -f will only decomp font streams.20:27.27 
  I couldn't see another way of working that wouldn't change the existing behaviour.20:27.43 
tor8 right, xor bits20:27.53 
  I think -d to decompress, and then -f and -i to suppress decompression is the clearest set20:28.28 
  at least it's the one that makes most sense to have20:28.38 
Robin_Watts Then how do you expand JUST images ?20:28.45 
tor8 why would you want to?20:28.52 
Robin_Watts I could imagine it'd be useful for debugging.20:29.09 
tor8 if you're decompressing images, it won't hurt to decompress the rest either20:29.31 
  but if you feel strongly about it, I won't object20:29.59 
Robin_Watts OK. Consider expanding 'just fonts'.20:30.27 
  ah well.20:30.51 
  I prefer the power of the toggle, and it's what I've coded.20:31.03 
tor8 I'd do that with -di to decompress most of the file and leave the big images compressed :)20:31.09 
  the power of a toggle is undeniable, it's just explaining it in the manpage that can confuse people :)20:31.30 
Robin_Watts that's fine as long as you haven't got some huge horrid repeated content stream.20:31.45 
  What was that 'better than PDF for scanned documents' format that was being touted?20:32.18 
tor8 and with a toggle, bitmask with some enums or defines are fine for doexpand20:32.26 
  DjVu?20:32.33 
Robin_Watts yeah, could be.20:32.38 
  image for the background, image for the foreground, image for a mask.20:32.49 
tor8 yeah, that one. it's a decent format, technically.20:32.56 
Robin_Watts This file is of that format.20:33.01 
  (or rather it's clearly come from that format).20:33.09 
tor8 but djvu is encumbered by a nasty patent in the arithmetic decoder20:33.22 
  so, a jpeg2000 background masked with a jbig2 image?20:33.38 
Robin_Watts 6 Megapixel background image, 6 Megapixel foreground image, 30Megapixel mask.20:33.47 
tor8 certainly sounds like djvu!20:34.16 
Robin_Watts DCT background, JBIG2 mask, flate foreground20:34.38 
  pdfdraw gets it right.20:34.52 
  mupdf misses out bits of page 3.20:34.58 
  but only if I don't make page3 page 120:35.17 
  or delete the other pages20:35.22 
tor8 ow.20:35.35 
  smells like trouble20:35.39 
Robin_Watts Ah, I can get it in pdfdraw too, if I draw all 3 pages.20:41.17 
  and I see the errors :)20:41.47 
  warning: pixmap memory exceeds soft limit 249M + 31M > 256M20:41.58 
  error: out of memory20:42.00 
  warning: cannot draw xobject/image20:42.02 
kens Was about to guess at a memory problem.20:42.13 
Robin_Watts oh, crumbs.20:45.36 
  I hadn't spotted the fz_memory_used statics20:45.47 
kens That doesn't sound good20:45.48 
Robin_Watts OK. I understand the problem - it's to do with stuff being kept in the store and hence running us out of the softlimit.21:00.56 
  When the store is next aged, it frees up enough, and the next page succeed.21:01.11 
  s21:01.13 
  So, to fix it, we need to be able to evict from the store mid-page, and that's something I've wanted to be able to do for a while - need to turn the store into a cache.21:01.39 
  So I''ll look into that tomorrow.21:01.48 
kens Yep, sounds like a vital enhhancement21:02.48 
Robin_Watts tor8 and I have talked about it before.21:06.50 
kens Now you have a reason ;-)21:07.10 
tor8 Robin_Watts: patch looks good to me now, feel free to push21:14.57 
kens I'm off, night all.21:25.10 
mvrhel bbiaw22:08.05 
 Forward 1 day (to 2011/12/13)>>> 
ghostscript.com
Search: