IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2015/02/18)20150219 
rayjj gahhh!! (or however you say that). The pattern-clist playback with transparency is SO HONKED UP. When reading, it's calling the pdf14_clist write routines for the compositor actions :-/00:04.13 
  _and_ it's not picking up the ICC profile (at least on the fts 23_2303.pdf) when reading back because the BEGIN_TRANS_MASK just gets the hashcode and never loads the profile before calling pdf14_update_device_color_procs_push_c00:06.04 
  so it returns an error that aborts the playback00:06.38 
  and this is on top of what I've already fixed :-(00:07.14 
  we never tripped over any of this because we don't test with a small (e.g.10k) MaxPatternBitmap00:08.51 
henrys Â fredross-perry : I see qt-gsview updated 3 hours ago but that can't be the ios stuff?01:22.48 
fredross-perry no. There’s a separate repo called mupdf that has the iOS stuff.01:23.17 
henrys link?01:24.35 
  fredross-perry: nevermind I see it.01:25.24 
  fredross-perry: but that's the main repository I thought you were to do stuff in the personal repo, get review then put it into main.01:26.47 
fredross-perry right. I made a branch. Maybe I did this wrong.01:27.11 
henrys fredross-perry: I thnk you want to just put your changes on user/fred/mupdf.git - no branch get revew then push to golden (mupdf.git)01:28.53 
fredross-perry OK I’ll ry that again.01:29.33 
henrys fredross-perry: you can have a branch if you want but this system sort of takes away the usefulness of a branch01:30.14 
fredross-perry ok01:31.10 
henrys fredross-perry: it was quite a bit of time before everyone got used to git01:31.11 
  fredross-perry: so don't worry if it seems difficult - it should ;-)01:31.30 
fredross-perry stay tuned...01:34.58 
henrys fredross-perry: your git config should have an alias like [remote "personal_mupdf"] then a url for the user/fred/mupdf.git. then do git push personal to put stuff up there. We rarely use branches (less than i'd like)01:37.37 
fredross-perry OK Ill sort this out tonight. Thanks for the info01:39.45 
henrys tkamppeter: are you about?01:40.31 
tkamppeter henrys, hi01:41.33 
henrys tkamppeter: is there a way to set up mock printers in cups for the purpose of just capturing driver output? We don't have the printers. I remember doing something like this years ago but it doesn't seem obvious in the current cups web gui.01:43.38 
tkamppeter henrys, you can print into a file, see "Getting the data which would go to the printer" on https://wiki.ubuntu.com/DebuggingPrintingProblems.01:47.24 
henrys tkamppeter: okay I was trying to change the driver used for an ipp printer and capture the tcp stream. But cups doesn't like that. It seems to just switch back to the old (correct) driver.01:51.13 
  tkamppeter: the problem with print to file is I won't see what the printer actually does.01:52.47 
tkamppeter henrys, you can also emulate an IPP (Everywhere) printer. On one machine in the local network stop CUPS and run ippserver (in the test directory of the CUPS source code). This coputer emulates an IPP network printer then. On another achine run CUPS, set up queues pointing to your emulated IPP printer and print.02:06.59 
henrys tkamppeter: I might try that. It is curious to me that I can't just change the driver of my dnssd printer I have setup. There is a prompt to change the "model", I thought that would install a new driver but apparently it does not.02:14.23 
fredross-perry OK, try again. I merged recent stuff into my repo and added the iOS changes. See if that looks ok.02:48.49 
henrys fredross-perry: it's in the right place now the mupdf folks will have a a look when they get in.02:57.48 
  fredross-perry: I'll tell them to look at it in the morning if you aren't here.02:58.23 
fredross-perry all right thanks03:09.03 
chrisl kens: I have to go out at about 9:30 for a couple of hours or so - it's up to you if you want to talk over the problem before then, or after.....08:22.10 
kens After would be better, I thought of a couple of thinkgs I want to try first.08:22.29 
  Also I need to refresh my memory and clear up confusion.....08:22.47 
chrisl Okay, that's fine - I might actually be awake by then!08:23.04 
kens More coffee now :-)08:23.14 
chrisl I think so - although, even coffee might struggle to get me started this morning08:23.58 
  kens: my new work PC from quietpc was delivered yesterday. The case is very slightly taller than an old skool ATX mini-tower case, not as tall as a midi-tower...... but it was packed into the *largest* cardboard box I've seen in ages - so big, it wouldn't fit through my loft hatch!08:37.44 
kens I guess its their standard box......08:38.10 
chrisl Possibly, but when it was delivered, I wondered what the hell I'd ordered - I kept looking round it for a "Cray" logo.....08:38.52 
kens :-) One of the old ones with teh bech seating would be cool08:39.15 
  bench*08:39.21 
  I don't think they were very quiet though08:39.40 
chrisl Yeh, a lecturer I (briefly) had at uni wanted to get hold of one those - to go with the PDP-11 (I think) and IBM mainframe he ran in his garage!!08:40.21 
kens :-O08:40.40 
chrisl He'd had to get 3-phase power run in to power them!08:41.09 
kens Yeah I'm pretty sure the IBM would need that, PDP-11 might not, I don't remember that well.08:41.29 
  Still mad though....08:41.44 
chrisl He made quite a lot of money doing consultancy - mainframe software doesn't exactly change quickly, so it paid to keep an old one to work on locally08:42.42 
  The PDP was just for "fun"08:43.04 
jmux Hi. Does mupdf have XFA support?10:32.54 
tor8 no.10:33.23 
kens If you mean 'canit process the XML from an XFA file' then teh answer is no at present10:33.26 
  It cna however happily handle the PDF portion of an XFA form10:33.42 
jmux kens: Ok - should have checked the bug tracker: 693446 10:34.04 
kens :-)10:34.28 
jmux Well - I have a 20k Linux desktop base and since Adobe Reader on Linux is going EOL I'm facing the problem, that people won't be able to to file SAP forms, which a lot of people have to do...10:38.36 
  I've seen that XFA specs, v3.3 has 1584 pages - hmm.10:39.04 
kens The problem is that XFA isn't really PDF, its XML. You need a full layout engine which PDF consumers don't need. SO you need a whole load of stuff added to any normal PDF consumer. Its hard to do well and its a lot of work to do at all.10:39.52 
jmux Anyone here who can roughly estimate (in mandays or something) how much effort it would take to get - probably basic - support implemented?10:40.11 
kens Hmm. Tor8 probably has an idea.10:40.30 
tor8 kens: very non-trivial10:40.45 
  even basic forms support in mupdf is very limited in capability10:40.56 
kens My initial guess wold be 3-6 man months, but I know nothing really10:41.05 
tor8 at least10:41.12 
  possibly more, depending on how robust you need it10:41.22 
  longer if you need the http forms submitting and solid javascript bindings. the framework is there from what paul wrote but the linux viewer doesn't hook into it at all.10:42.12 
jmux So it's really a huge afford based on the current codebase10:42.18 
kens THat's why nobody in the PDF world really does it.10:42.33 
tor8 jmux: I'm afraid so. form support is something we're working on, but unfortunately it's rather low priority10:42.46 
jmux Would uit be possible to implement it as a seperate library, so it could be used by other projects, like poppler, too?10:43.04 
tor8 and XFA is just someone who drank the XML kool-aid ten years too late...10:43.16 
  parsing the XML is trivial (we already have XML processing in mupdf for dealing with XPS)10:43.40 
  it's hooking it up to the viewer and back-end PDF objects that's a lot of work10:44.10 
  and none of that work is going to be applicable to poppler10:44.35 
kens And the layout10:44.42 
  Which, of course, will have to match Adobe, or it'll be 'wrong'10:45.01 
jmux Hmm - ok. Thanks for the info and guesstimates.10:48.34 
  Guess it'll get really expensive, if people decide to sponsor it full time - well, that's not me to decide10:50.21 
chrisl kens: do you still need to talk over the memory problem?13:30.44 
kens Yes please.13:30.52 
  Not getting very far at the moment13:31.00 
chrisl Okay, whenever you like13:31.13 
kens private tab13:31.22 
henrys tor8: fred had changes in his personal repo I imagine paulgardiner would be best for doing the review but you should look too, Fred's new I think a couple of folks reviewing is a good idea.14:00.33 
  Robin_Watts: fyi ^^^14:01.00 
paulgardiner Oh right. I'll take a look14:01.28 
tor8 henrys: right. patch looks reasonable at a first glance, but I'll let paul take a look as well14:03.26 
paulgardiner Is this supplying ctx everywhere to aid multithreaded code?14:04.40 
  I missed the discussion.14:04.50 
  Yeah, all looks reasonable to me.14:06.19 
tor8 paulgardiner: yeah, and because a regular api is better than having to look it up every time you use a function14:07.05 
  and the fragility of 'rebind' when you forget it, will mess up multi-threading14:07.21 
paulgardiner Very true14:07.22 
  Yeah dropping rebind is good, although it was a good short-term fix14:08.01 
tor8 yeah.14:08.12 
  dropping the embedded contexts is nice14:08.18 
  passing ctx everywhere is a lot of extra typing, but regularity beats obscurity14:08.31 
  and I don't think it'll matter performance wise14:08.39 
henrys tor8: speaking of the mupdf api - jogux pointed me at a pretty good competitor pspdfkit perhaps somebody should look at their api for useful ideas14:08.43 
tor8 henrys: iOS specific objective C framework right?14:09.15 
jogux yeah14:09.36 
  but they're releasing Android too soon14:09.41 
  (presumably as a nice java API)14:09.49 
henrys tor8: I figure as soon as the foxit rip makes it to android they'll have a product.14:10.03 
  tor8: their docs say you can use mupdf ;-)14:10.39 
jogux foxit will be in the OS though probably?14:10.42 
  I guess they could probably port it back to an in-app library if they wanted though14:11.08 
henrys jogux: yes14:11.10 
tor8 henrys: so they do!14:11.52 
  pluggable architecture14:11.56 
  so I guess they have separate pdf object parsing code for all the annotations and outlines and stuff?14:12.24 
henrys jogux: that was google's original goal, find a pdf rip for android we lost to foxit14:12.46 
jogux tor8: I'm guessing so. I can't say I know that much about it.14:14.22 
rayjj I briefly looked at pspdfkit (why "ps" I have no idea). muPDF gets mentioned in one of their FAQ's "PSPDFKit uses Apple's PDF renderer to render PDFs. This is a pluggable architecture and it's also possible to use different render driver classes (e.g. use PDFTron, muPDF or another 3rd-party renderer.)"16:13.03 
Robin_Watts paul smith.16:13.17 
  or peter samson.16:13.22 
  or something like that.16:13.25 
rayjj so I wonder what pspdfkit uses for rendering on Android (by default, do they use mupdf)?16:14.20 
marcosw Robin_Watts: "initials of the founder"16:14.34 
rayjj marcosw: Oh, Peter Steinberger ?16:15.32 
  (he's the one that wrote the FAQ that I excerpted from above)16:16.08 
Robin_Watts rayjj: yeah.16:16.14 
  the android version isn't out yet.16:16.29 
  but who knows...16:16.34 
henrys rayjj: lots of stuff in the logs about that.16:20.03 
  marcosw: do you have any multi-tray printers jogux has a test he needs to do. I've tested it on all my printers here but I don't have the needed extra trays we want to test?16:23.31 
jogux rayjj: what they use on android is the big question :-)16:24.33 
  idle thought: wonder if it's worth paying the company that did this study to tell us if they found mupdf when scanning appstore apps :-) http://techcrunch.com/2011/03/08/potential-open-source-license-violations-in-android-and-ios-apps/16:28.23 
henrys rather irrelevant I want to compete with these guys on the interactive stuff, we've done a lot of it .. signatures, forms, annots, that's one market niche we've been trying to reach.16:29.46 
  I do like their company list ;-)16:31.51 
marcosw henrys: both my HP LaserJet P3005 and Color LaserJet 4500 have multiple trays (the multifeed tray, the standard tray, and the high-capacity tray).16:34.45 
henrys perfect. I'll forward jogux instructions and you can give it a test, if you can marcosw 16:37.27 
cinap_lenrek i have a hard time debugging some postscript code16:37.45 
  is there a way to get usefull execution stack traces?16:37.55 
kens pstack16:38.02 
henrys I have a hard time debugging all postscript code ;-)16:38.04 
cinap_lenrek like, not having everything like --nostrval--16:38.06 
kens That's because its not a string so it can't be printed as a string16:38.23 
cinap_lenrek kens: ok16:38.24 
kens pstack prints the operand stack, not the exec stack16:38.34 
cinap_lenrek i want the exec stack16:38.47 
kens You will rarely find anything of any use whatever on the exec stack16:38.47 
cinap_lenrek i have inflate() return with some error16:39.06 
  in some pdf document16:39.11 
  from readstring16:39.19 
  but i cannot find the invocation in the postscript code that handles the pdf16:39.32 
kens You will have to debug our PDF interpreter, you won't find that at all easy16:39.45 
marcosw henrys: of course16:40.11 
cinap_lenrek i already managed to work arround one problem :)16:40.14 
  its just that theres probably better ways todo it16:40.23 
kens Maybe.16:40.28 
cinap_lenrek this is some horribly old version of aladdin ghostscript16:40.39 
kens Use -dPDFSTOPONERROR and -dPDFDEBUG to locate the problem16:40.43 
cinap_lenrek yes16:40.48 
kens and use a recent version of Ghostscript16:40.51 
cinap_lenrek i can't16:40.57 
kens I don't think there's much I can add then16:41.12 
cinap_lenrek i did this once16:41.23 
  i remember theres some ps function that does the stack tracing16:41.32 
  or wait16:41.43 
  this is also plan916:42.26 
  theres no c++ compiler16:42.30 
  we cannot use newer ghostscript because of that16:42.39 
rayjj cinap_lenrek: if you are a glutton for punishment, and have lots of disk space to collect logs, then a debug build with -ZI will trace the interpreter including stack depth info16:42.44 
kens Ghostscript doesn't use C++16:42.45 
  It compiles in C89 IIRC16:42.53 
Robin_Watts gs compiles on ANYTHING, pretty much.16:43.04 
rayjj cinap_lenrek: you can also insert "(I) true .setdebug" in PS (such as the PDF interpreter) at selected places. "(I) false .setdebug" will turn it off16:44.09 
cinap_lenrek rayjj: thank you, i'll try that16:44.36 
henrys always thought we could something more sane that -I debugging for PS.16:45.28 
  s/that/than16:45.36 
kens PostScript is hard to debug, but not *that* hard16:46.01 
henrys it's just such a hassle to read16:46.10 
kens Eh ? Its way easier than PCL16:46.17 
  Or even PDF until you decompress it16:46.33 
henrys kens: I just find it too terse, we could make it more verbose and readable and it might actually get more use.16:47.37 
  maybe not16:47.46 
kens PostScript isn't terse. PostScript *programs* are terse16:47.59 
rayjj henrys: it's not compiled in by default (even on a debug build), but the -Z! is somewhat more sane16:48.03 
henrys rayjj: right just the operators16:48.17 
  kens: I'm talking about the format of the -I output16:48.41 
kens I never use -I16:48.48 
henrys see there you go, if it were good kens might use it ;-)16:49.12 
kens Nope, not likely16:49.17 
  I prefer to debug the real code16:49.24 
rayjj I sometimes do, but usually by inserting "on" "off" in the PS code16:49.31 
chrisl Even just initialisation, you get information overload using it on the command line16:50.01 
rayjj kens: but, yeah, sprinkling pstack and occassional === on dicts is usually enough.16:50.22 
kens That and explcit (I'm here) == flush is what I suually use16:50.48 
rayjj cinap_lenrek: BTW, also turning on -dPDFDEBUG will help find what part of the PDF is being interpreted when things go wrong16:51.02 
kens and for the PDF interpreter PDFSTOPONERROR nad PDFDEBUG to locate the problem16:51.07 
  WhenI know what functionj to look at in the PDF itnerpreter its usually fairly straight forward (as much as it ever is with our interpreter) to figure out what's going on.16:52.00 
rayjj cinap_lenrek: as kens said, -dPDFSTOPONERROR is also handy (for newer gs) old gs did that by default16:52.00 
kens still thinks it would be better to invest time in getting Ghostscript to build on the OS than trying to fix an ancient version16:52.34 
rayjj agreed16:52.59 
henrys cinap_lenrek: ^^^ what kens said is really spot on.16:53.16 
chrisl Ghostscript previously had an erroneous dependency on having a C++ compiler on Unix-like systems because Jasper's configure script was wrong - we fixed it a few versions ago16:53.56 
kens And we don't use JasPer any more anyway.....16:54.14 
  OK I have to go and grovel for forgetting to bring the washing in. Goodnight all.17:00.00 
henrys rayjj: -ZI is too much and Z! too little.17:02.30 
cinap_lenrek ah17:33.54 
  this appears to be a encrypted object stream17:34.00 
Robin_Watts cinap_lenrek: Just to add my voice to the others here... you are mad to go down this route.17:36.55 
  Getting the latest version of gs built on your OS will be a much easier job than trying to hack the old code about.17:37.25 
  And if you *do* hit problems, we can help you.17:37.36 
rayjj old gs didn't handle decrypting the same way as newer gs. It may be that you'll never get it to work17:37.55 
Robin_Watts Whereas, we aren't going to help you when you inevitably hit problems trawling through the old pdf interpreter.17:38.08 
  There were real breakages and limitations in the old version that you'll never solve.17:38.48 
cinap_lenrek i am crazy.17:39.02 
  and playing with the ghostscript seems more interesting than wading thru billions of lines of configure shellscripts17:40.02 
  yes17:40.11 
  maybe at some point going to port newer version over17:40.23 
  i did fix other this in this version as well that i'd need to backport17:41.00 
chrisl cinap_lenrek: have you even tried to build a recent version? Surely it's worth 10 minutes to try it17:41.12 
cinap_lenrek our compiler doesnt support packet structs very well17:41.28 
  packed*17:41.32 
  there where aliasing and alignment issues on arm17:41.42 
  and amd6417:41.46 
Robin_Watts cinap_lenrek: gs will compile on anything.17:41.53 
rayjj cinap_lenrek: plan9 has gcc, so that _should_ compile gs17:42.44 
cinap_lenrek gcc is bigger than the whole plan9 userspace17:43.00 
rayjj cinap_lenrek: what compiler were you trying to use17:43.07 
cinap_lenrek the plan9 compilers :)17:43.17 
henrys cinap_lenrek: if it doesn't we'd help you fix it. We want it to be portable.17:43.30 
rayjj cinap_lenrek: (1) install GCC, (2) build modern gs17:43.42 
cinap_lenrek i'm not making my system into linux17:43.54 
  really, relax guys17:44.03 
  i agree that porting newer version would be longterm solution17:44.40 
rayjj cinap_lenrek: OK. Well, good luck17:44.57 
cinap_lenrek this is version 8.5317:45.30 
  with some ducttape17:45.39 
rayjj cinap_lenrek: well, at least it isn't totally ancient (7xx or before)17:46.09 
cinap_lenrek yeah17:46.16 
  it works ok17:46.24 
Robin_Watts 8.71 was 6 years ago.17:46.28 
cinap_lenrek until it doesnt17:46.32 
Robin_Watts And we've had a full time development team working on improving it/fixing bugs ever since.17:46.47 
rayjj 8.53 was Aug 200817:47.00 
cinap_lenrek no doubt17:47.00 
rayjj oops. That was a typo in the logs. 8.63 was 2008. 8.53 was Nov 2005 AFAICT17:48.36 
  of course, cinap_lenrek knows that since starting prints out the date on the GPL ... line17:49.32 
cinap_lenrek horay22:23.23 
  got that stream decrypted22:23.28 
  aaand it works :)22:28.05 
FreezingCold I have three PNG files that I need to combine into a PDF; what's the best way of combining them into a grayscale PDF?22:49.11 
  imagemagick's convert doesn't seem to have an option for that22:49.34 
  -colorspace gray22:51.08 
  Never mind, it does.22:51.11 
cinap_lenrek yey, all these pdf-1.6 files work now23:27.53 
  exch oget /CFM oget /AESV2 eq {23:42.06 
  (sAlT) concatstrings23:42.07 
  } if23:42.07 
  thats in the computation for the stream encryption key23:42.18 
  that did the trick23:42.22 
  i couldnt find this in the documentation23:42.32 
  theres no mention of this sAlT string in PDFReference16-v6.pdf23:43.19 
 Forward 1 day (to 2015/02/20)>>> 
ghostscript.com
Search: