IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2012/03/19)2012/03/20 
jeagle_ Has anyone used ghostscript and had an issue where the image of the pdf was viewable but the text is missing? XD01:39.32 
  Hello!01:39.33 
  Is anyone alive in here? :P01:41.37 
henrys jeagle_:does your program display properly with the free adobe pdf reader? If so report a bug at bugs.ghostscript.com, thanks for using ghostscript.02:08.30 
kens chrisl could you look at this on the Stack Overflow site please ?08:32.45 
  http://stackoverflow.com/questions/9782774/upgrading-ghostscript-9-02-to-9-0508:32.45 
chrisl kens: RTFM? http://www.ghostscript.com/doc/9.05/Make.htm#MacOSX - see the "NOTE"08:39.03 
kens Hee hee08:39.28 
chrisl kens: that is a guess, but it looks like the same problem.....08:39.39 
kens Will you post that sa a response then or want me to do it ?08:39.39 
chrisl I'll do it....08:39.46 
kens Thanks08:39.51 
  I've already answered three questions and I've had enough for today08:40.14 
chrisl I've still had enough from yesterday..... :-(08:40.32 
kens OK just got Avadhut's email to read now, been putting it off till last08:42.27 
chrisl Leaving that to Marcos.....08:45.11 
kens Yes me too. At least its only one dumb question this time08:45.26 
  Now I have a free user problem to look at on comp.lan.postscript, then I can try and get some real work done.08:45.56 
chrisl We had a minor panic about the Brother problem last night.... chucking the ps2write output straight at the printer caused *very* strange problems. But I added the PJL and PS preample that the CUPS filter adds, and it work - thanks heavens!08:47.15 
  kens: I take it your talking about the font subsetting thing on comp.lang.postscript?08:51.19 
kens Yes that's the one09:00.28 
chrisl OKay, there's also one about colour transforms, so I'll pen a reply to that.09:00.55 
kens Is the the grey-RGB one ?09:01.12 
  I meant to look at that and forgot09:01.21 
chrisl Yes. He doesn't mention which version of GS their using, which makes it hard to answer.....09:01.51 
kens Right, I was going to run a test and see what happened, but it slipped my mind09:02.10 
chrisl I'm not feeling generous enough to run a test!09:02.38 
tkamppeter chrisl, thanks again for your great work on the PS interpreter bugs of Brother printers. Now it is finally solved and I can issue the fixed cups-filters in time for Precise beta2.09:08.44 
kens Great news tkamppeter, thanks for letting us know09:08.59 
tkamppeter kens, also thanks for your help on this.09:09.15 
kens No problem, happy to oblige, thanks should go to the tetsers for their work too fo course.09:09.43 
chrisl tkamppeter: I did have a minor panic last night when I saw Bruce's reply - I'm glad it turned out to be what I thought!09:11.13 
kens OK finally got around to buying an upgrade to Acrobat X10:05.59 
|Frederik Not sure if I'm in the right channel here... Every time I print a certain document (one page of a PDF file) on a HP LaserJet 4250 with Debian Wheezy, it prints this error: http://pastebin.com/FpAHWNRK . Could this be a ghostscript problem?10:32.12 
kens Well CUPS is converting the PDF to PostScript using Ghostscritp I expect. It 'looks like' the problem may be a pritner bug, but we would need to see the PostScript file to be sure.10:33.05 
|Frederik Is there a way to get hold of the created ps file?10:40.19 
kens If you are using CUPS, yes. There's a document somewhere describing it10:40.38 
chrisl https://wiki.ubuntu.com/DebuggingPrintingProblems10:40.54 
kens Thanks chrisl10:41.00 
chrisl goes to worship at the alter of the caffeine gods.....10:46.28 
|Frederik thanks10:47.29 
  I placed the file here: https://artipc10.vub.ac.be/~frederik/d00095-00110:47.38 
kens That's a PDF file10:48.22 
  Not a PostScript file10:48.27 
  Is that really what CUPS is sending to the printer ?10:49.04 
  The data sheet for that series pritner does not mention direct PDF printing, so I don't think that you are sending the PDF file to the printer.10:51.38 
  Oh actually it does say it supports PDF 1.310:52.07 
  Of course yours is a PDF 1.5 file10:52.15 
  If you are certain that the PDF file you have sent is what is being sent to the printer, then Ghostscript is not involved. The PDF file was produced by cairo apparently.10:54.12 
kens gets bitten by the GS macro frenzy again10:57.26 
|Frederik that was definitely the file which was in /var/spool/cups. Printer model is HP LaserJet 4050 Series11:09.05 
kens Well, it sounds like you are trying to send a PDF 1.5 file to a prtiner which only supports PDF 1.3. THe error message is surprising, and unhelpful, if that is the case but I would not expect that file to work if that is true.11:10.06 
  I'm not enough of a CUPS expert to help you any further, and Ghostscript does not seem to be involved in any way, so I don't think we cna help you any further here.11:10.41 
  If it turns out that PostScritp is being sent to the printer, feel free to come back and poke us again.11:11.02 
|Frederik OK, I'll ask around in #cups then11:11.31 
  thanks for the help11:11.41 
kens Oh, you could convert the PDF to a PostScript file using the Ghostscript 'ps2write' device, and see if sending that to the pritner directly works any better11:11.43 
  You are quite welcome11:11.49 
chrisl |Frederik: there are a couple of LJ4050 drivers that are (supposedly) Postscript: "HP LaserJet 4050 Series Postscript" and ""HP LaserJet 4050 Series Foomatic/Postscript"11:14.37 
  Trying each of those might help your problem.....11:14.52 
kens Oops, I looked up the 4250....11:15.33 
  The 4050 doesn't support PDF so it look slike there must be *some* conversion to PostScript going on11:16.33 
chrisl Hmm, maybe that document is out of date since cups became a PDF workflow - should check with tkamppeter about that.....11:18.43 
kens That could be the problem.11:19.05 
Robin_Watts chrisl: We have to register with google for the android market.11:31.57 
  Rather than registering under robin.watts@artifex.com, I was considering registering as something like android@artifex.com11:32.22 
  Do we have the ability to set up such names?11:32.35 
chrisl Robin_Watts: No, you'll need to get marcosw to do it11:32.52 
Robin_Watts I meant 'we' as in 'artifex' rather than specifically you or I, but I guess you answered it :)11:33.17 
  IIRC mailboxes cost us, but aliases don't.11:33.28 
chrisl Yes, sorry (mind is somewhere else). That's right, although we have a spare mail box available - it might be useful to assign one for this type of thing, and then use aliases for specific uses.11:34.39 
tkamppeter kens, chrisl, some minutes ago I released the first native PDF printer PPD file for Linux/CUPS ever. |Frederik will have most probably a setup where the PDF is converted to PS before being sent to the p[rinter.13:02.12 
Robin_Watts paulgardiner: ping13:03.47 
|Frederik tkamppeter: this is the ppd file on my system for that printer: http://artipc10.vub.ac.be/~frederik/printer.ppd13:06.02 
tkamppeter kens, chrisl, |Frederik, the PDF is converted to PostScript by CUPS, on Ubuntu Precise (12.04) actually by Ghostscript with the "ps2write" device, in older Ubuntu most probably by Poppler. One can see in error_log (in debug mode) what gets actually used.13:06.34 
  kens, |Frederik, the d... files in /var/spool/cups are what comes from the app, not yet filtered by CUPS.13:08.01 
  |Frederik, kens, the PPD is the original HP PPD file for these prnters. With this CUPS knows that it needs to send PostScript and therefore it turns PDF into PostScript.13:09.22 
kens just back from lunch13:10.18 
|Frederik here is cups error_log for that job which fails: http://pastebin.com/0hQ4EGJc (yes, I made an annoying mistake, I called the printer queue hp_LaserJet_4250, but it really is a 4050)13:10.56 
kens OK tkamppeter can you help |Frederik get a PostScript file for us to look at ?13:10.57 
  Well I see it invoked GS to convert to PostScript13:12.00 
  It made a temp file, I wonder if there's a way to capture that ?13:12.44 
tkamppeter |Frederik, kens, first, follow the instructions under "CUPS error_log" on https://wiki.ubuntu.com/DebuggingPrintingProblems. With this you can find out which filters get actually used.13:12.49 
  There is a cpdftocps in older Ubuntu/Debian versions, this converts PDF to PostScript using Poppler.13:13.24 
  In Precise there is pdftops which actually uses Ghostscript.13:13.47 
kens tkamppeter, looking at the error log, there is PostScript which is being produced by GS (I can tell from the PS comments)13:14.05 
  SO I believe it is using GS13:14.14 
tkamppeter |Frederik, kens, to get the resulting PostScript, you have to clone the print queue into one which prints into a file:13:14.47 
  cupsctl FileDevice=yes13:15.00 
kens Seems reasonable13:15.10 
|Frederik (I'm using cups-filters 1.0.2 in Debian Wheezy, should I try cups-filters 1.0.5 from SID?)13:15.28 
tkamppeter lpadmin -p test -E -v file:/tmp/printout -P /etc/cups/ppd/printer.ppd13:15.30 
  |Frederik, this can help, there are lots of bug fixes in cups-filters. Today I released 1.0.6, more bug fixes, native PDF printer support, ... Is already in Ubuntu Precise, but, unfortunately, the Debian maintainer is sick today, so in Debian it comes tomorrow at the earliest.13:17.09 
  |Frederik, kens, print into the queue 'test' and find the PS in the file /tmp/printout.13:18.02 
|Frederik Here is the printout file: https://artipc10.vub.ac.be/~frederik/printout13:40.53 
kens OK well it looks fine.13:43.15 
  Will take some tiem to check13:43.20 
  PS file works OK on Ghostscript13:58.25 
  Works OK on distiller13:59.59 
  Jaws throws an error on the page size.14:01.00 
Robin_Watts Morning tor8. Feeling better?14:01.46 
tor8 Robin_Watts: barely... didn't get much sleep last night either14:03.19 
Robin_Watts tor8: ew.14:04.32 
  What remains to be done before release of mupdf 1.0 ?14:04.44 
tor8 heartburn episodes, all through the night :(14:04.47 
  iOS app, need to review the latest version of the android app, update the readme and that's all I can think of14:07.15 
  Robin_Watts: you leaving tomorrow?14:08.59 
Robin_Watts I am.14:09.15 
  So, is there anything I can usefully be doing ?14:09.29 
  I may pull in zlib-1.2.614:09.59 
tor8 rewrite the README and make a news blurb for the mupdf.com page :)14:10.06 
Robin_Watts OK.14:10.13 
tor8 I doubt you want to touch the iOS app, and I don't think I'll have energy enough for doing a lot14:10.36 
Robin_Watts I really don't want to be doing the iOS app :)14:11.19 
  I'm going to get marcos to set up an alias for android@artifex.com and then I'll register with google with that address.14:11.51 
tor8 are all paulgrahams android app changes merged into master?14:11.54 
Robin_Watts tor8: Yes.14:11.58 
tor8 great.14:13.18 
kens Oh great the AIX link error is in openjpeg...14:28.35 
tor8 Robin_Watts: have you tried the new link button in the android app? It's not very reliable on my tablet.14:36.37 
Robin_Watts tor8: I haven't.14:36.56 
  Tweaked README pushed.14:37.41 
tor8 turning on the link highlight doesn't take effect until new pages are redrawn14:38.35 
  rotating the device forgets the state of the button14:38.43 
  and the highlights seem to be incorrectly placed on some pages14:39.02 
  so I think I'll just turn them off for the 1.0 release and we can sort them out in a later update14:39.22 
Robin_Watts ok.14:39.31 
  The first 2 of those should be easy to solve (I hope)14:39.49 
tor8 yeah, it's the last one I worry about14:40.08 
  I'm also not too happy with the three-state button in practice14:40.19 
  it was worth trying out, but it's kind of awkward in use14:40.44 
paulgardiner tor8: is that the link highlight? I thought I checked whether it redrew, although I remember thinking I didn't check it on the hardware assisted tablet14:44.42 
tor8 paulgardiner: yes.14:44.54 
paulgardiner Damn! I meant to ask Robin to test it on the tablet, but forgot. :-(14:45.22 
  Aagh! And I never thought about retaining the state on rotation.14:46.09 
  I could probably fix that fairly easily, but the incorrectly placed highlights are more worrying. Best turn it off, as you suggest. Sorry about that.14:47.23 
tor8 one of the early pages in pdfref13.pdf has the highlights in weird places14:47.49 
paulgardiner tor8: I thought you asked for a three-state button. I must have misunderstood. Or did you mean the look of it? My artistic tallents are a little lacking.14:48.54 
tor8 paulgardiner: Robin asked for the three-state button :)14:49.13 
  and I thought we should try it out14:49.23 
paulgardiner Ah.14:49.24 
tor8 but I'm not sure I like how it behaves. the artistic talent thing can be solved, that's not the issue :)14:49.48 
paulgardiner Have you tested the search with it's progress bar?14:49.49 
kens tkamppeter, is there a way to get the PDF job converted to PostScript exactly as it is on Linux, but with -dCompressPgaes=false -dCompressFonts=false on the command line?14:50.45 
tor8 paulgardiner: yeah, that's a nice touch!14:51.47 
  I love how it counts down the % when you search backwards14:51.59 
paulgardiner Ah good. Glad that seems to be working ok.14:52.11 
tor8 would it be hard to add a timeout so it doesn't appear until 200ms have passed or so?14:52.23 
  when you get hits on successive pages it flickers needlessly, would be a nice touch to not do that14:52.40 
paulgardiner tor8: yes that shouldn't be too hard I'd have thought, and I too didn't like the flicker.14:53.28 
tor8 paulgardiner: page 4 of pdfref13.pdf has the highlights in what looks to me very wrong places. maybe it's got the highlights for the wrong page?14:54.42 
paulgardiner Although it would be difficult to predetermine that it wont just flicker after 200ms. Something makes me think that would be less of a problem, but I'm not sure of the logic behind it14:54.46 
tor8 yeah, we can't eliminate it without looking into the future :)14:55.16 
  but at least we can solve the most annoying case14:55.27 
paulgardiner Any of this worth trying to fix before the release?14:55.47 
Robin_Watts Given that the ios app doesn't have the button at all, it's not unreasonable to leave it out of the android app for consistency.14:56.33 
paulgardiner Yes true.14:57.00 
tor8 paulgardiner: that's up to you. we had hoped to do the release before Robin Watts left tomorrow, but then I was sick all day yesterday and not feeling too well today either so it may slip a day14:57.31 
  but I think if we want to push it out soon, we can disable the links temporarily for the release and then work on getting them in good shape on both apps later14:58.13 
paulgardiner I guess there's nothing stopping independent releases of the apps at a later date.14:58.50 
tor8 there is something else that bothered me with the links. when following one, I instinctively hit the 'back' hardware button and it took me out of the mupdf app where I sort of expected to go back to the page I was at before following the link :)14:59.06 
paulgardiner I'll have a quick look at delaying the search progress dialog though.14:59.11 
sebras tor8: there are some XXX in the headers I should sort out before 1.0.15:00.18 
tor8 WARNING: Attribute minSdkVersion in AndroidManifest.xml (8) is lower than the project target API level (11)15:00.34 
Robin_Watts sebras: really?15:00.52 
sebras Robin_Watts: link_dest I belive.15:01.01 
Robin_Watts Ah, yes.15:01.12 
sebras believe.15:01.13 
tor8 link_dests15:01.14 
sebras at least I spelled "I" correctly... ;)15:01.37 
paulgardiner tor8: yes, that would be nice for "back" to undo the link jump. Could be slightly messy in andriod though. Would require the app to take over the back button, I think, which risks breaking other things. Shouldn't be rocket science, but would want a good period of testing after.15:02.26 
tor8 paulgardiner: yeah, not something for 1.0 :)15:02.48 
  that warning though, anything we should worry about?15:02.56 
paulgardiner warning?15:03.10 
  oh15:03.15 
Robin_Watts I think we only moved the target API level up to see if that would help with the 'x-large' screens, right ?15:03.35 
tor8 Robin_Watts: wasn't it to turn on HW acceleration on 3.0 devices?15:04.01 
Robin_Watts tor8: Wasn't x-large screens what turned on HW acceleration?15:04.50 
  (goldfish memory strikes again)15:05.04 
  http://ghostscript.com/~robin/BLURB15:05.20 
paulgardiner Yes, I think that ok. I think the warning is alerting us to the possibility that we may be using features from above 11, while claiming we can run on 8, but that should be ok, because the only non-8 fearture is a line in the xml15:05.33 
  If we were using a level 11 method, we should be putting a test around it, but I'd hope the xml line was ok15:06.12 
  "features from above 8" I meant15:06.31 
Robin_Watts paulgardiner: Right, so we could drop back to level 8, and the xml would still work, right ?15:06.33 
paulgardiner That's what I believe15:06.46 
Robin_Watts Can anyone spot anything I've missed from the BLURB ?15:06.50 
tor8 I changed the 11 to 8 and that still builds and runs with the same performance15:06.57 
paulgardiner tor8: that's interesting. That's a test I never thought of.15:07.25 
tor8 I now get the little "Stretch/Zoom to fill screen" chooser15:07.27 
  so that may have been the reason15:07.37 
paulgardiner I was expecting the use of hardware acceleration to be dependent on declaring 11, but sounds like that isn;t the case15:08.17 
tor8 oh, and the lists (file chooser, outline) look different. with 11 we get the MuPDF icon on the top but not so with 8.15:08.37 
Robin_Watts OK, so stick with 11 and ignore the warning ?15:09.18 
tor8 I haven't tested it on my phone with 1115:09.56 
paulgardiner Runs on my Galaxy S2 and on a HTC Desire15:10.25 
  with 11 that is15:10.34 
sebras hm... isn't 11 android 3.0 honeycomb?15:11.10 
  http://developer.android.com/resources/dashboard/platform-versions.html15:11.25 
tor8 yeah, with 11 we get the icon in the list headers. looks a bit odd to be honest.15:11.30 
sebras I believe there are a lot of devices out there with 2.3 gingerbread on them that you may not want to exclude...15:11.56 
tor8 bah. there are *two* places you have to set the target.15:12.42 
  if you set android-8 in project.properties it fails to build15:12.54 
  if you set android-8 in AndroidManifest.xml it works as I described15:13.09 
paulgardiner sebras: with minSDKVersion set to 8, we should still run ok on 2.315:13.22 
tor8 if project.properties version is 8, it barfs on the hardwareAccelerated declaration15:13.33 
Robin_Watts sebras: I have a 2.3 device here (my phone)15:13.39 
  sebras: I've done the BLURB and the README, so I'll have a quick pass at the link_dest stuff now.15:15.30 
sebras Robin_Watts: ok. the reason I haven't been so active on the link_dest is that I really think that we could make that interface easier on the clients.15:17.13 
Robin_Watts sebras: Me too, but it's not trivial.15:17.30 
  I may add a note saying that this interface is still subject to change.15:17.59 
sebras couldn't we have a enum at the top of link_dest and then a union struct for each type of link as outlined in pdfref?15:18.09 
  adding such a note is probably worthwhile yes. :)15:18.32 
Robin_Watts The reason I didn't scribble stuff for it already was that we hoped to rework it slightly before 1.0, but I ran into a problem with it so didn't do it.15:18.47 
  IIRC it was to do with when the data was available.15:19.17 
sebras the data?15:20.18 
  oh you mean each of the points in the rect?15:20.38 
  x y z, etc..?15:20.43 
  paulgardiner: right, I was more worried about sticking with 11. then I can not enjoy MuPDF on my own phone! :)15:22.19 
paulgardiner Sorry. Didn't explain well. If we set the target to 11 and the min to 8, we should also be ok.15:23.15 
tor8 sebras: yes, the link destination coordinates need to be rotated and translated to match the mediabox orientation15:23.30 
kens tkamppeter, are you there ?15:23.35 
tor8 which needs looking up stuff in the page tree, which we currently do with pdf_load_page, but pdf_load_page is a bit too heavy15:24.28 
Robin_Watts sebras: what tor8 said :)15:24.55 
sebras tor8: right, that makes sense. but isn't this a problem with the current implementation? i.e. without havin enum kind at the top of link_dests?15:25.14 
tor8 no, but it's something that still needs to be solved15:25.28 
Robin_Watts sebras: It would be a problem however we solved it.15:25.46 
sebras right.15:26.16 
  and the rotation should be handled before 1.0 I suppose.15:26.30 
  anyway, since I hoped that we'd (I?) would change the interface I have not documented it.15:27.17 
  I can put some effort on it tonight if you want to do more important matters Robin.15:27.38 
Robin_Watts Doing the rotation is similarly problematic, I thought.15:27.58 
  I think we should mark the text device interface as subject to change too.15:28.18 
tor8 Robin_Watts: actually, it shouldn't be too hard to do15:28.37 
Robin_Watts tor8: oh, ok.15:28.47 
tor8 we just need to split part of pdf_load_page into pdf_page_transform (an internal function)15:29.10 
  we have already loaded the page tree, so it should be a fairly light weight operation15:29.34 
Robin_Watts sebras: I don't believe that link_dests should exactly ape the PDF ones.15:30.23 
  i.e. our representation should be capable of representing all the PDF ones, without tying us to just them.15:30.49 
sebras Robin_Watts: why? does xps have more variants?15:30.50 
tor8 we could probably drop the rotate and mediabox fields from the pdf_page struct and replace with a matrix that encompasses the same stuff15:30.51 
Robin_Watts it's not just xps, it's 'any format we want to add in future'.15:31.08 
  tor8: I can imagine that some clients would prefer to be able to read a rotate value rather than having to retrieve it from a transform.15:31.53 
sebras Robin_Watts: yes, I know, but that only means you want to add another enum and another struct...?15:31.57 
tor8 Robin_Watts: the rotate field is internal15:32.23 
Robin_Watts oh, well then, I retract my objection.15:32.39 
tor8 one of the more recent changes (the one that broke the text lines to blocks thing yesterday, incidentally) was to hide the rotate and mediabox origin offset and 72dpi vs 96dpi of pdf/xps stuff from clients15:33.31 
  so that from their point of view, all pages have the origin at the top left, y going down, at 72 dpi15:33.51 
henrys chrisl:does shelly have access to private attachments? I assume he does.15:35.56 
kens chrisl is away15:38.32 
  But yes I think he can get private attachments15:38.45 
henrys kens:thanks15:39.01 
kens fetches coffee for meeting15:39.33 
  Hi Ray15:46.28 
henrys kens:so you aren't a tea drinker?15:46.56 
kens Nah, can't stand the stuff15:47.05 
  I need coffee, lots of coffee....15:47.18 
chrisl henrys: I believe Shelly does have access to private attachments, but I'll double check with him.15:48.01 
henrys chrisl:I believe I understand the illusive 692816 now. PCL never actually closes the output file - it just releases the device.15:50.23 
  odd the problem only happens occassionally.15:50.43 
chrisl henrys: surely releasing the device should also close the file?15:51.32 
henrys no you do have to call closedevice()15:51.49 
chrisl Oh, I see what you mean. Yes, it's strange we don't see problems more often.....15:53.06 
henrys you can see it with trace and any file the OutputFile never gets a close.15:53.11 
chrisl Is it a big change to address it?15:53.43 
henrys no problem I got it. I just recall you being interested in that one.15:54.13 
chrisl Well, we were sort of right - the IO buffers weren't being flushed properly........15:54.54 
kens chrisl did you see we have another 'ps2write otuptu doesn't work with my printer' problem ?15:55.04 
danilo_b hello. someone from mupdf around here? :)15:55.23 
kens several15:56.01 
danilo_b i'd like to use mupdf for latex-previews. is there a way to autoreload a pdf file when it changes?15:56.05 
chrisl kens: I saw the beginnings of it, but I didn't see anything after tkamppeter's explanation about the cups spool files......15:56.07 
danilo_b or can i trigger the reloading from the shell?15:56.15 
tor8 danilo_b: hit the 'r' button or send a sighup15:56.23 
kens chrisl the PS file works for me on GS and Distiller, but not Jaws (an error on setpagedevcie)15:56.28 
danilo_b tor8: sighup will do :)15:56.30 
kens chrisl but apparently fails on an HP pritner (4050)15:56.52 
chrisl kens: do you know why we're doing a setpagedevice?15:57.22 
kens One reason for definite; the CUPS spooler inserts a page size request15:57.43 
  But it still fails if I remove that15:57.51 
  I'm just decoding the ascii85 compressed file :-(15:58.05 
danilo_b tor8: apparently when i send mupdf a sighup signal, it only reloads after gaining the x focus. is there a way to get around this?15:59.03 
tor8 danilo_b: not sure, sebras implemented the sighup reloading15:59.29 
henrys and the meeting starts, not much from me this week but will we have the mupdf release this week before Robin_Watts leaves?16:00.13 
Robin_Watts henrys: We've been discussing that. We are very close.16:00.32 
  tor8 wants to tweak fz_link_dests slightly.16:00.48 
  the ios app needs to be double checked, and tor8 is just disabling something in the android app so it'll match the ios app.16:01.21 
mvrhel_laptop meeting time?16:01.38 
henrys I guess I'm a little concerned posting a release and having both robin_watts and tor8 (soon) on vacation. I wonder if it shouldn't wait until all the vacations end.16:01.42 
tor8 henrys: I was sick yesterday, and still recovering :( I've got the android app in good shape, still need to update the ios app for the latest text device changes.16:01.52 
Robin_Watts So, I believe we should ship this week, but maybe not quite before I leave.16:01.56 
henrys mvrhel_laptop:I started it, yes.16:02.12 
mvrhel_laptop Robin is going to have his laptop on the yak16:02.14 
Robin_Watts Yaks don't offer magsafe connectors though :(16:02.30 
henrys I think they have usb ports16:02.42 
chrisl I no *not* want to know where you stick the connector.......16:03.03 
henrys but anyway why don't we just hold off the release until tor8 returns so everyone is here if there is some calamnity?16:03.21 
Robin_Watts henrys: Given it's a 1.0, we could post it as a release candidate ?16:03.44 
tor8 henrys: there's one week of holiday overlap, during the easter so I'm not super worried. a release candidate and final release when we're both back works too, I guess.16:04.10 
danilo_b tor8: ok, i guess i'll add a feature request :)16:04.28 
henrys okay a candidate sounds good.16:04.35 
tor8 danilo_b: try adding a winrepaint call just after the winreloadfile call in the main loop in x11_main.c if that works?16:04.59 
  that gives sebras time to change the link destinations to something he likes :)16:05.31 
henrys the other issue for the meeting I had was about the bug aging list. It seemed like alexcher could have bisected one of his bugs (regresssion)16:05.35 
kens chrisl I found the PS file has a *load* of setpagedevice calls which are specific to the HP printer. I presume they are injected by the CUPS spooler16:05.43 
chrisl kens: yes, I noticed a shed load of HP specific cruft in there.....16:06.05 
kens I htink that's what Jaws is complaining about16:06.17 
ray_laptop aren't the setpagedeive calls in stopped contexts ?16:06.39 
kens No16:06.46 
  Well, some of them are16:06.57 
tkamppeter kens, chrisl, assuming we are under Precise (or Debian unstable) then PostScript is generated by the following command line: "gs -q -dNOPAUSE -dBATCH -dSAFER -sDEVICE=ps2write -sOUTPUTFILE=%stdout -dLanguageLevel=2 (or 3) -dDEVICEWIDTHPOINTS=XXX -dDEVICEHEIGHTPOINTS=YYY -c 'save pop' -f file.pdf16:07.11 
henrys other than that I really didn't have anything this week.16:07.40 
  anybody else?16:07.44 
chrisl henrys: that bug you mentioned Alex could have bisected is a FAPI problem, and the backchannel shows the FAPI errors - I posted on the bug.16:07.46 
kens I don't believe that the DEVICEWIDTH and so on will have any effect on ps2write16:07.51 
danilo_b tor8: ok, i'll try.16:07.52 
ray_laptop most PPD's that I've seen have all of the 'feature' setting in stopped, but somebody may have tweaked the PPD and didn't know to do that16:08.00 
tkamppeter kend, chrisl, on Brother in addition "-dNoT3CCITT -dEncodeMonoImages=false" is added right before the "-c".16:08.06 
alexcher henrys: what bug?16:08.09 
tkamppeter kens ^^16:08.12 
kens tkamppeter I believe this is an HP printer16:08.16 
Robin_Watts henrys: What's the company policy on getting outside people under NDA so they can see private attachments ?16:08.17 
  zeniko (of SumatraPDF) would like access to our private attachments/tests_private.16:08.50 
henrys Robin_Watts:there really isn't one exactly - sort of a comfort level we have to reach.16:08.54 
ray_laptop policy ? we don't need no stinking policies ;-)16:09.00 
tkamppeter kens, chrisl, simply add "-dCompressPgaes=false -dCompressFonts=false" somewhere before "-c".16:09.17 
ray_laptop i.e. we have to like them ;-)16:09.19 
henrys i.e. I see that shelly has had a long standing relationship with kens and chrisl ...16:09.34 
chrisl tkamppeter: there's more happening than that GS command line, because there is a whole bunch of HP specific stuff in the job.16:10.15 
kens tkamppeter I can do that, but I would really like to see the file as produced under linux that way, if I make it here, it won't be the same.16:10.17 
  chrisl tkamppeter if I remove the HP-soecific stuff, teh nit also works on Jaws.16:10.39 
  SO it looks like another pritner-specific bug.16:10.50 
marcosw_ alexcher: any progress on http://bugs.ghostscript.com/show_bug.cgi?id=692886? The customer hasn't asked but I'd rather give them a solution before they do..16:10.59 
tkamppeter |Frederik, can you try the thingy with cloning the queue which I have shown here earlier?16:11.01 
henrys chrisl:okay than why is it assigned alexcher?16:11.08 
kens ray_laptop : is there any problem with freeing memory which is beign GC tracked ? What will happen to the pointers if they are being tracked in other structures ? THey are set to NULL ?16:11.55 
kens has just discovered that many types of resource are not freed by pdfwrite, it relies on teh GC to free them.16:12.30 
chrisl henrys: I commented on bug, but I didn't want to take this one if alexcher wanted to look into it a bit more - there is something slightly odd about the matrix we end up using.16:12.53 
alexcher marcosw_: We've collected a lot od opinions and I agree now that the customer's request is quite reasonable.16:12.54 
tkamppeter kens, chrisl, the printer-specific PS code are the code snippets of the options in the PPD, inserted by the pstops CUPS filter.16:12.56 
Robin_Watts kens: If you free a block, you should be sure to set all pointers to it to be NULL, otherwise the enumeration stuff will think it's still valid, and it will step into it under GC builds and crash.16:12.57 
ray_laptop kens: having pointers to a structure you free is BAD16:13.03 
alexcher marcosw_: A fox will be committed soon.16:13.11 
marcosw_ alexcher: thanks for the update.16:13.21 
kens : What I mean is, if I free an object pointed at by one of my structures, what happens if somethgin else is poiting at it too ?16:13.33 
Robin_Watts kens: Boom!16:13.43 
kens OK so that's a problem.16:13.49 
ray_laptop kens: then the GC will crash16:13.53 
kens I don't think I can tell if anything else owns pointers to it as well.16:14.06 
  THat will take a lot longer to check16:14.19 
ray_laptop kens: that's why we reference count things16:14.20 
Robin_Watts kens: Then that's a design flaw :(16:14.27 
kens ray_laptop : reference coutned how ?16:14.33 
ray_laptop kens: what structure is it ?16:14.39 
kens ray_laptop : many of the pdfwrite internal structures16:14.49 
  But in this case, its the pdfont structure and the BaseFont string it looks at16:15.05 
Robin_Watts If everything that holds a pointer to a structure holds a reference to it, then it's easy; you drop the references, and when it hits zero, you free.16:15.14 
tkamppeter kens, chrisl, so I need to make a cups-filter 1.0.7 perhaps which has a special debug mode in which Ghostscript sends uncompressed PS?16:15.33 
kens Robin_Watts : yes I understand, but is that how the GS one is implemented ? :-)16:15.34 
henrys mvrhel_laptop:are you ready to start the ht before clist stuff or are you still buried in other stuff?16:15.38 
kens tkamppeter if you could do that it would certainly be useful.16:15.49 
Robin_Watts kens: Yes, I believe so. How else could it be done? >8*)16:15.57 
kens Robin_Watts : I've given up second-guessing the GS memory manager(s)16:16.13 
ray_laptop kens: to add ref counting add a 'rc' element and increment it every time someone sets a pointer to that struct, and decrement it when done (as you clear the pointer to it). the rc_decrement going to 0 will free it16:16.22 
kens ray_laptop : but take the case of the BaseFont string.16:16.44 
  It 'looks' like we inherit it from the font.16:16.52 
danilo_b tor8: apparently it already works in the dev version. wasn't there yet in arch's 0.9 build :)16:16.55 
kens But sometiems we subset, and so we add a rpefix to it.16:17.01 
henrys alexcher:chrisl and I are talking about 69285016:17.17 
ray_laptop kens: "inherit" ?16:17.19 
kens In that case we use gs_resize_string, which gets us a new string.16:17.19 
Robin_Watts Oh, something else for the meeting; while I'm away, I've told Radu Lazar to mail support@artifex.com or appear in here to ask for help.16:17.27 
kens ray_laptop : looks like we copy the pointer form the original font16:17.32 
Robin_Watts he's from the MuPDF customer, so if he appears, please don't just ignore him :)16:17.42 
kens But I'm unclear if this is precisely true16:17.46 
  ray_laptop : Its one of those 'twisty maze of passages all alike problems16:18.00 
  I see that gs_resize_string frees the original block of memory16:18.21 
ray_laptop kens: if you want something that you manage, then you need to copy it into your own struct (string) that you can then free16:18.23 
kens ray_laptop : Maybe this is waht is happening.16:18.37 
henrys Robin_Watts:okay, marcosw_?16:19.09 
ray_laptop well, if resize_string is freeing something that the BaseFont is still pointing to, that is a problem16:19.11 
kens Since the 'original' string is freed by resize_string I'm sort of guessing that this must be a copy of the original font name16:19.12 
Robin_Watts Oh, yes, another thing for the meeting...16:19.26 
  We need to register with google for the android marketplace.16:19.39 
kens So OK. If the string is mine, and I free it, and set the struct pointer to NULL, I''m OK ?16:19.42 
marcosw_ henrys: okay.16:19.48 
alexcher henrys: re 692850, it's a rendering problem. I've identified the problem but don't yet know how to proceed.16:19.51 
ray_laptop kens: yes (in theory)16:19.56 
Robin_Watts Rather than me register, I was going to suggest we make an android@artifex.com address and then register with that ?16:19.58 
  That can just forward to me (or to me and anyone else interested).16:20.10 
henrys alexcher:so it works with the artifex scaler and not freetype?16:20.22 
ray_laptop Robin_Watts: you can establish it as an alias for yourself16:20.25 
Robin_Watts ray_laptop: I'm not sure *I* can, can I ?16:20.54 
alexcher henrys: I need to re-check this.16:21.01 
ray_laptop or, we can make a 'list' (like support and tech) so several people see the email16:21.15 
Robin_Watts ray_laptop: I was thinking it was something that marcosw would need to do ?16:21.22 
tkamppeter kens, chrisl, only problem is that today I cannot get it uploaded to Debian, as the Debian maintainer is sick.16:21.23 
henrys Robin_Watts:I thought we agreed tor8 was going to manage the android post so he'll be the alias.16:21.45 
ray_laptop Robin_Watts: henry or I can do it -- not sure ablout marcos16:21.48 
marcosw_ Robin_Watts: I can do it. How should it forward to initially?16:21.56 
Robin_Watts henrys: fine, whoever.16:22.00 
chrisl alexcher: I commented on 692850 - I *think* the artifex scaler code is clamping the values as I mentioned in my comment16:22.05 
ray_laptop henrys: if we do it as a list, then it makes it easy16:22.16 
Robin_Watts marcosw_: Well, if we can do it as a list, then to tor and me?16:22.17 
henrys I would alias it to tor816:22.26 
kens tkamppeter we cna probably do yet another bisect of the file and try to see what it is the HP pritner doesn't like. It will take time though16:22.56 
henrys or anyone that wants to be on the list...16:22.58 
marcosw_ how is tor8 different than tor?16:23.23 
kens |Frederik : would you have time to run some tests on your printer over the next few days ?16:23.23 
tor8 marcosw_: not much, both mentions ping on my irc.16:24.06 
paulgardiner Robin_Watts, tor8: the last commit on master of http://git.ghostscript.com/?p=user/paulg/mupdf.git delays the progress dialog appearance, although fixing that just shows up the page rendering progress dialog doing the same annoying thing. I'll see if the same trick applies there too.16:24.21 
tor8 and someone else is using the 'tor' nick on freenode :(16:24.24 
kens ray_laptop : thanks, I'll give it a go tomorrow. I need to look at how named resources are freed and see if the fonts are freed there (spent a large part of the day gettgin that far). If they are not I will need to add code to free the fonts. Either way I will ad specific code to free the BaeFont string , and then see if anything goes bag :-)16:24.47 
sebras danilo_b: oh, I may have missed something in the reload-implementation. if your testing is successful let me know and I'll make sure we include a fix for this.16:25.01 
henrys tor8:you should go with "odin" or something like that.16:25.14 
kens Surely Thor ? Its nearly the same16:25.27 
sebras tor8: goodie, because I'm not convinced that link_dests is simple enough for clients as it is. 16:25.47 
danilo_b sebras: apparently it works in current dev release. i had 0.9 installed.16:26.18 
chrisl marcosw: ping16:26.18 
tor8 henrys, kens: I used to go with ccxvii, but nobody know that was me...16:26.24 
danilo_b sebras: makes it a great addon for vim/latex :)16:26.34 
tor8 knew*16:26.34 
henrys so I'm going to start studying for the next meeting with paulgardiner for which I'm woefully unprepared.16:26.36 
chrisl tor8: have you got "tor" registered on freenode?16:27.10 
mvrhel_laptop oops sorry I missed your earlier question henrys16:27.16 
sebras danilo_b: excellent! then no patches are required. :)16:27.21 
Robin_Watts sebras: The intention of the link_dest stuff was that it should be simpler than PDFs stuff.16:27.43 
mvrhel_laptop I am trying to wrap up this tiffsep planar stuff16:27.44 
henrys mvrhel_laptop:yeah I was going to ping you later, but ...16:27.46 
marcosw_ tor8 and Robin_Watts: there is now an android@artifex.com email address that forwards to the both of you. I've sent a test email.16:27.49 
mvrhel_laptop I did have a question for everyone about this16:27.58 
danilo_b is it possible that the jpeg-8d build dependency is missing in the documentation / README?16:28.11 
henrys mvrhel_laptop:shoot16:28.21 
ray_laptop marcosw added the android@artifex.com with Robin_Watts and tor -- anybody else want on the list ?16:28.29 
danilo_b and is jpeg-8d a new library? i can't find any package for arch linux, neither official nor user-contributed in AUR, which is rarely the case for libraries :)16:28.53 
mvrhel_laptop so with the tiff planar solution, we are going to be currently limited to 32 spot colors due to the hard code of 32 pointers in gxgetbit.h line 4416:28.57 
henrys marcosw:can we put paul on it also?16:29.05 
sebras Robin_Watts: yes, but I'm not so sure that it is... I guess what bugs me the most about it is that too many tests are required. I'll try to get something together and get back to you and tor8.16:29.07 
Robin_Watts Specifically the library fills out as many of the t/l/b/r things as it can.16:29.16 
sebras Robin_Watts: yes, I know. but still...16:29.34 
Robin_Watts So a 'dumb' client can just treat t/l/b/r as a bbox and it'll work most of the time.16:29.36 
kens mvrhel_laptop : 32 spots soudns like enough to me :-)16:29.44 
mvrhel_laptop Me too 16:29.50 
marcosw_ sure, what's paul's email address?16:29.52 
tor8 Robin_Watts, sebras: we could support two levels of access -- a dumb one (page & rect) and a full level of access to all the PDF icky ones16:30.02 
henrys marcosw_:I'll send it to you so it isn't picked up here.16:30.27 
chrisl mvrhel_laptop: 32 spot colors, or 32 total plates?16:30.30 
Robin_Watts but feel free to come up with something better ; sumatraPDF have already made it plain they want more stuff in there.16:30.30 
mvrhel_laptop 32 total plates16:30.38 
ray_laptop mvrhel_laptop: it seems like it should be set to GS_CLIENT_COLOR_MAX_COMPONENTS]16:30.41 
tor8 or we could say we're happy enough with the dumb one and let sumatrapdf (and others) implement the full thing themselves?16:31.02 
mvrhel_laptop yes16:31.05 
Robin_Watts henrys: paulgardiner may want to use a different alias on his domain - don't know how he filters his mail...16:31.06 
mvrhel_laptop ray_laptop16:31.10 
henrys Robin_Watts:oh okay.16:31.28 
ray_laptop mvrhel_laptop: 16:31.28 
mvrhel_laptop that was supposed to be16:31.37 
henrys Robin_Watts:btw what day do you leave?16:31.37 
chrisl mvrhel_laptop: I've seen a couple of files with 36 plates (dratted n-channel!!), but only a couple......16:31.38 
mvrhel_laptop yes ray_laptop16:31.43 
Robin_Watts henrys: tomorrow pm.16:31.48 
henrys have a great time, it does sound like a great adventure.16:32.09 
ray_laptop the current default GS_CLIENT_COLOR_MAX_COMPONENTS is 1416:32.21 
sebras danilo_b: you can find the latest version of libjpeg here: http://www.ijg.org/16:32.23 
mvrhel_laptop if ok, I will set it to GS_CLIENT_COLOR_MAX_COMPONENTS then people can go ahead configure to their needs16:32.30 
kens Soudns good to me16:32.38 
  Do you need to check it does not exceed 32 though ?16:32.51 
chrisl marcosw_: Do you still have access to the IBM partner AIX VM?16:32.51 
mvrhel_laptop and not worry about having to set things in more than 1 place when they run into chrisl's file16:32.57 
  no, the 32 will be changed to GS_CLIENT_COLOR_MAX_COMPONENTS16:33.10 
  more than 32 should be ok I believe16:33.29 
kens Ah!16:33.31 
mvrhel_laptop then16:33.35 
marcosw_ chrisl: I need to re-request access. It expires after a few days.16:33.39 
kens mvrhel_laptop : also sounds good16:33.47 
mvrhel_laptop ok thanks for the input16:33.55 
  I am also updating psdcmyk to work like this16:34.07 
  then I can run a cluster test 16:34.13 
  to check for issues16:34.16 
Robin_Watts henrys: Yes. I can cope with anything except dirty hotels. and cold hotels. and no wifi. and no power.16:34.17 
  and no hot water. and no aircon.16:34.25 
  Why the HELL am I going again? :)16:34.32 
paulgardiner marcosw_: artifex_android@glidos.net would be good thanks.16:34.33 
mvrhel_laptop Robin_Watts: have fun!16:34.45 
  I imagine it is cold this time of year there16:34.58 
Robin_Watts mvrhel_laptop: Does that 32 include the CMYK ?16:35.00 
chrisl marcosw_: we have a build problem reported on AIX, and I can't fathom what could be causing the problem...... #69293816:35.07 
mvrhel_laptop Robin_Watts: yes16:35.08 
Robin_Watts In Kathmandu it's 33 degrees (C).16:35.20 
mvrhel_laptop wow16:35.35 
Robin_Watts In Bhutan it's 13 or so during the day, 2 at night.16:35.39 
  -2 at night, sorry.16:35.48 
mvrhel_laptop so you need to pack a bit of everything16:36.03 
henrys Robin_Watts washed away in glacier melt....16:36.26 
Robin_Watts mvrhel_laptop: Yes, it's a problem for Helen. Hair Straightner/Hair Curler/Hair Volumiser...16:37.50 
marcosw_ chrisl: you can either assign it to me or I can request an AIX virtual machine and send you the login information (or we can get you an AIX developer account and associate it with Artifex's membership, but I think Miles has to get involved for that).16:37.56 
mvrhel_laptop hehe16:38.07 
henrys marcosw:I'll add paulgardiner address after we figure out how he wants it set up.16:38.11 
danilo_b sebras: ah, there's the problem. arch linux includes libjpeg-turbo by default.16:38.17 
Robin_Watts henrys: paulgardiner said; up about 20 lines :)16:38.38 
marcosw_ henrys: I believe paulgardiner responded with a preferred address ^^16:38.45 
mvrhel_laptop Robin_Watts: you mean you don't need all of those things16:38.49 
marcosw_ which I've already added to the alias.16:38.59 
Robin_Watts mvrhel_laptop: Saved by male pattern baldness :)16:39.08 
chrisl marcosw_: if you don't mind doing the request and passing on the details - given that it's a build problem.16:39.19 
Robin_Watts So tor8: I'll register that address with the android market/pay the $25 etc.16:39.44 
henrys oh sorry indeed I missed it entirely.16:39.47 
marcosw_ will do, it takes a half day or so.16:39.53 
chrisl thanks16:40.03 
ray_laptop mvrhel_laptop: are you ripping out the compressed color encoding ?16:42.09 
henrys can we start the next meeting with paulgardiner? tor8, Robin_Watts?16:42.33 
  et al16:42.41 
Robin_Watts I'm ready.16:42.46 
paulgardiner Me too16:42.59 
marcosw_ I have to run, my Tuesday afternoon meeting is reschedule for 10:00 this week. Robin_Watts have a good time, I'm envious :-)16:43.24 
henrys I still have gotten no word back from raph at google but I'm going to ping him again today.16:43.25 
Robin_Watts marcosw: Thanks.16:43.35 
mvrhel_laptop ray_laptop: no. there is a #if that one can currently set to use the planar tiffsep or the old style tiffsep the changes are not that great that I decided to keep both for now16:44.18 
  there may be cases where we want the compressed encoding16:44.48 
  printing a swatch book with 100s of colors comes to mind16:45.19 
henrys tor8:did you have a chance to read paulgardiner's status?16:45.44 
tkamppeter kens, chrisl, |Frederik, I will release cups-filters 1.0.7 upstream today with the new debug mode and hope that it gets into Debian unstable tomorrow.16:46.46 
kens OK thanks Tuill16:46.55 
ray_laptop mvrhel_laptop: I see -- of course that would require a re-compile after changing GS_CLIENT_COLOR_MAX_COMPONENTS as well as the #if in tiffsep16:46.57 
mvrhel_laptop yes16:47.06 
ray_laptop mvrhel_laptop: are you changing the MAX to 32 ?16:47.32 
mvrhel_laptop no, I was not planning on that16:47.43 
chrisl kens: did you get the problem job fully decompressed?16:47.49 
henrys paulgardiner:interesting chrome didn't use the native widgets. I wonder if it is planned as a future enhancement.16:48.12 
ray_laptop mvrhel_laptop: didn't one of the files from Gemma have 17 or 18 colors ?16:48.14 
kens chrisl yes16:48.28 
mvrhel_laptop ray_laptop: not sure. she can recompile with whatever she needs I figure16:48.48 
paulgardiner henrys: I'm not sure it would be an enhancement. The inline style of filling in text widgets looks quite impressive.16:49.20 
ray_laptop mvrhel_laptop: They are one of the companies that keeps requesting binaries. We probably need to push back on that16:49.23 
chrisl mvrhel_laptop: they don't compile their own GS........16:49.23 
mvrhel_laptop ray_laptop: right now I am making the changes to psdcmyk so that I can see what is broken from the cluster push16:49.26 
  ray_laptop and chrisl: ick16:49.35 
  they should do it themselves16:49.48 
chrisl kens: okay good. I hope the HP error handler doesn't erase the current page, or we'll be struggling to diagnose this......16:49.49 
henrys paulgardiner:yes but presumably you can't get the look and feel of each platform right? Or am I missing something?16:50.07 
chrisl mvrhel_laptop: I'll refer them to you to deal with next time, then ;-)16:50.09 
ray_laptop mvrhel_laptop: I think this time we will require them to do it.16:50.11 
paulgardiner henrys: and I'm not aware of any reduced functionality. You can still select copy and paste16:50.13 
mvrhel_laptop hehe16:50.16 
  I am hoping with this fix we wont hear from them for a while16:50.41 
ray_laptop marcos can tell them his boss won't let him provide binaries any more ;-)16:50.43 
paulgardiner henrys: yes that's true.16:50.55 
ray_laptop henrys can issue a management directive :-)16:51.01 
mvrhel_laptop they are located in England. Maybe chrisl should visit them....16:51.12 
paulgardiner henrys: but having chosen PDF for forms, it might be desirable for the text to always look like part of the document.16:51.30 
chrisl mvrhel_laptop: only if you send me a genuine US baseball bat to take with me!16:51.41 
mvrhel_laptop hehe16:51.46 
henrys paulgardiner:yeah I think you are right about that.16:51.52 
Robin_Watts henrys: Native widgets gives you the exact look and feel for a given OS. Inline editing gives the exact styles/fonts/layout. It can also come close to the feel (if not the look) as the selection/editing behaviour can be matched well.16:51.54 
ray_laptop paulgardiner: henrys: it's a lot of work to try and get inline text widgets to match each platform16:52.14 
paulgardiner henrys: I haven't established beyond all doubt that native widgets aren't used. It just seems unlikely.16:52.16 
ray_laptop paulgardiner: you are basing that on the AA appearance as you type ?16:53.03 
paulgardiner ray_laptop: that's the bit I don't understand: if you are using PDF for forms, I'd have thought you wanted the PDF to determine the look and feel16:53.05 
Robin_Watts As an integrator coming to a project, what I'd like to hear is "You can use Native Widgets - that's easy. Or you can do some more work and get inline editing."16:53.05 
  and that's exactly what paulgardiner is proposing, I think.16:53.24 
paulgardiner ray_laptop: the way the antialiasing changes on the caret as it moves was what I considered the main evidence that native widgets weren't involved.16:54.04 
ray_laptop what about Acrobat (the other gorilla) ? have you looked at what they do ?16:54.26 
henrys looks at the code and falls to the ground - java - of course I should have know that but the reality of it all is sinking in.16:54.57 
ray_laptop henrys: you're looking at chrome ?16:55.39 
henrys I'm looking at paulgardiner's code.16:55.57 
ray_laptop which code ?16:56.07 
paulgardiner Supporting native widgets looks to be the easier option for our implementation, but I can imagine that inline might be desired by some customers16:56.16 
henrys ray_laptop:the link in his status report.16:56.35 
ray_laptop henrys: thanks -- I hadn't loaded that yet.16:57.07 
tor8 henrys, paulgardiner: sorry, was passed out on the sofa from exhaustion. yes, I read the status email.16:57.08 
Robin_Watts henrys: I see no java.16:57.23 
  http://git.ghostscript.com/?p=user/paulg/mupdf.git;a=commitdiff;h=03ecbc9d28da66f1267f45619d9e12c855c5116c16:57.28 
  That's what we're looking at, right ?16:57.35 
tor8 my main fear with going non-native text widgets is not emulating the keybindings and copy&paste, it's the input method editors16:57.56 
  the former is mainly a lot of work and testing, the latter is a lot more difficult16:58.15 
henrys upon more thought it does seem native widgets would not "with the pdf philosophy" in some cases.16:58.26 
Robin_Watts "input method editors" ?16:58.49 
henrys Robin_Watts:I am looking at MuPDFActivity.java16:59.12 
tor8 Robin_Watts: japanese text input16:59.14 
  Robin_Watts: or even as simple as the yellow highlighting you get with macosx dead keys16:59.47 
Robin_Watts henrys: Oh, right. That's the android app, rather than the forms work.17:00.05 
paulgardiner I have no great desire to implement the inline mode. It looks difficult. I was just thinking it was best to think through it at the API level a bit, so we can keep the option opne17:00.16 
Robin_Watts tor8: I see.17:00.46 
paulgardiner Robin_Watts, tor8: I've just pushed another change to the android app, so that the page rendering progress dialogs are delayed.17:00.58 
henrys Robin_Watts:oh okay I am confused I followed that link and assumed there was some form stuff woring on droid. sorry.17:01.02 
Robin_Watts But that's the point. We offer 'native widgets' as the 'fast' route, and offer 'inline editing' as the long and winding road where the complexities are on the implementer.17:01.37 
  henrys: No, at the moment, I believe paulgardiners work has been on research and sketching out the API.17:02.03 
  I read through the email earlier and had various comments on it. I phoned paul, and I think they boiled down to 2.17:02.36 
tor8 paulgardiner: looks better, but the search highlights don't consistently appear now :(17:03.09 
ray_laptop we should probably have a notice that 'the support for inline (other than native) widgets is sort of allowed for, but has never been implemented, so may not be complete'17:03.12 
tor8 paulgardiner: sometimes it loads the new page with the results, but no blue highlights17:03.29 
Robin_Watts 1) I think there *should* be a callback (but it's a callback that just says 'you need to redraw the document at some point'). The app can catch that and then use that to know when to ask for rectangles to redraw.17:04.01 
paulgardiner tor8: on the tablet?17:04.02 
tor8 paulgardiner: seems related to whether the progress display pops up or not17:04.03 
  on the tablet, yes17:04.06 
ray_laptop chrisl: are you available for a private chat about cust 532 (I don't want to interleave the forms API and other discussion)17:04.23 
henrys Robin_Watts, paulgardiner:I'm trying to follow the link in the email to the "partial version of the forms api"17:04.24 
tor8 yeah, if I get the progress dial it doesn't highlight the search results17:04.28 
Robin_Watts henrys: Just use the link I pasted above.17:04.36 
henrys okay17:04.53 
chrisl ray_laptop: sure - IRC or phone?17:04.58 
ray_laptop chrisl: IRC. look for the tab17:06.01 
Robin_Watts 2) In Pauls email he talks about 'Factor 3' - problems to do with the fact that there are multiple threads flying around the place.17:06.11 
paulgardiner henrys: yeah, sorry that link wasn't very useful.17:06.14 
henrys ray_laptop:I think we are close to finished and miles is going to drag me into a 532 meeting today so I'd like to be up to date.17:06.14 
Robin_Watts the specific example he gives of a problem, is not, I believe a problem.17:06.36 
ray_laptop henrys: OK, I can wait17:06.48 
Robin_Watts I don't think there should ever be confusion at the app level about whether we are dragging to select, or dragging to move the page.17:07.45 
tor8 Robin_Watts: re native vs inline text editing -- my main opposition is from concern that in keeping options open for the latter, we'll make the project bigger in scope and add a lot of work for something that realistically speaking probably won't ever happen.17:08.01 
Robin_Watts (In acrobat, you change the pointer tool etc).17:08.03 
tor8 though there is a point in that mupdf text rendering differs quite a *lot* from windows native text rendering17:08.19 
danilo_b sebras: is there a way for mupdf to make it switch to a specific page from the outside?17:08.41 
tor8 danilo_b: not unless you fancy sending fake keypress events17:09.01 
ray_laptop tor8: I would expect that once a widget loses focus we would use fz to re-render correctly 17:09.03 
danilo_b tor8: ok, thanks.17:09.14 
tor8 ray_laptop: yes, which will look a bit jarring when all of a sudden it loses the color fringing and becomes blurry :)17:09.34 
Robin_Watts tor8: If we were faced with a decision between simple and small, or extensible and huge, I'd agree. But I don't think the overhead is massive (or even necessarily anything - we may just spec the entry points and not implement them to start with)17:09.41 
ray_laptop tor8: I think I've seen that happen with Acrobat form filling (but I wasn't looking for it)17:10.36 
tor8 Robin_Watts: yes, I think we (or paul, rather) will find out sooner or later how much work is involved. I just want to make it clear that if it turns out to be a lot of extra work, he should not hesitate to reconsider the decision.17:10.42 
  ray_laptop: yeah. it happens with apple preview form filling a well.17:11.25 
paulgardiner Robin_Watts: I totally agree. The intention was no more than to keep the inline option in the back of my mind, and keep it open while it doesn't cost anything.17:12.12 
  That was more aimed at Tor17:13.21 
henrys tor8:can you give the api a careful read (if you haven't already), I imagine Robin_Watts has read it already and let's plan out next week, Robin_Watts won't be here.17:13.25 
  I don't think there is more to "meeting" about is there?17:13.52 
  can we do same time next week?17:14.20 
tor8 paulgardiner: did you consider tabbing to jump between form widgets?17:14.23 
  or is that handled behind the scenes by the library, and returned in fz_get_focused_widget?17:15.00 
paulgardiner tor8: I did a little. It might be done by passing through arrow keys.17:15.07 
  And then rerequest the focussed widget17:15.33 
  henrys: my plan now - if it makes sense to everyone else of course - is to try to get some small part of it working. e.g., check boxes.17:16.42 
Robin_Watts paulgardiner: To do 'tab' or 'shift-tab' to move forwards/backwards between widgets, presumably the app would have to 'set' the current value of the native widget into the library, then say "focus next widget" (or "focus previous widget") ?17:17.09 
henrys paulgardiner:I would be much more comfortable with a small prototype, and if Miles asks me where the money is going I can show it to him ;-)17:17.30 
paulgardiner Robin_Watts: Ah yes, you would have to write back the contents of the native widget before moving. Hadn't thought of that.17:18.07 
tor8 this all reminds me we really need to rewrite the x11 and win32 viewer app...17:18.12 
  unless paul wants to prototype it on the android app (which is needlessly painful, IMO)17:18.56 
paulgardiner henrys: yes exactly.17:19.11 
Robin_Watts I was thinking that the android app would be the place to prototype it :)17:19.24 
paulgardiner tor8: I wondered about trying to knock up something quickly with the MFC under windows17:19.45 
henrys I'd vote for windows.17:19.54 
Robin_Watts It's not me that's coding it, so I say go with whatever you are happiest with :)17:20.14 
paulgardiner but it might be possible to work with the existing win32 viewer17:20.20 
tor8 Robin_Watts: paulgardiner: cooking up a minimal mupdf viewer on win32 with no bells and whistles that will let you use native win32 controls for the form prototype shouldn't be too much work17:20.26 
  the existing win32 viewer is a bit of a nasty hack17:20.35 
  it's just been organically grown together with the x11 viewer in an unholy hybrid mess17:21.02 
Robin_Watts The existing win32/x11 viewers are both (AIUI) wrappers around pdfapp.c17:21.12 
henrys I really do think windows would be the most useful though.17:21.27 
paulgardiner tor8: sounds sensible to me. Had occurred to me, if for no other reason than I don't really know non-MFC windows programming very well.17:21.28 
tor8 pdfapp.c is the ugliest part of it all though :)17:21.32 
Robin_Watts Can you mix MFC with raw win32 stuff ?17:22.04 
paulgardiner Yep17:22.12 
  MFC is just a wrapper17:22.20 
tor8 paulgardiner: the win_main.c app uses raw win32 controls. I think if you dig through the git history you can also find the old mozilla plugin that uses scrollbars etc.17:22.21 
  isn't MFC a bunch of version-dll-hell-dependent C++?17:22.45 
Robin_Watts right, but I thought MFC was an 'all or nothing' thing? Everything had to be in MFC, or nothing could be.17:22.50 
paulgardiner tor8: but you can statically link17:23.07 
tor8 paulgardiner: creating native win32 controls and text fields is actually not that hard17:23.22 
henrys what about hacking something into sumatrapdf?17:23.43 
paulgardiner Debugging support is good on Windows too. The difficulty of debugging throught the C is what puts me off Androd.17:24.06 
Robin_Watts I think for the proof of concept, doing anything that works is fine. If Paul is happiest with MFC, then go for it (just don't drag C++ into mupdf :) )17:24.28 
tor8 I'd also be happier if I never have to touch C++ :)17:24.32 
paulgardiner :-)17:24.45 
tor8 so I'll update the iOS app, wait a few days for sebras to bash on the link dest stuff, then tag an RC1 of mupdf and while that one is waiting I think I could start on cleaning up the viewer apps for x11 and win3217:26.39 
tkamppeter kens, chrisl, |Frederik, cups-filters 1.0.7 released. Takes "lpr -o psdebug ..." to produce uncompressed PS output.17:26.58 
Robin_Watts tor8: Anything obvious I've missed in http://ghostscript.com/~robin/BLURB17:27.14 
chrisl tkamppeter: that's great, thank you17:27.19 
mvrhel_laptop ok psdcmyk is working with planar17:27.37 
  time to cause an explosion on the cluster17:27.45 
tkamppeter kens, chrisl, |Frederik, only upstream for now, Ubuntu Precise follows in a few minutes, Debian unstable I hope tomorrow.17:27.47 
henrys so doing it in sumatra would be too much learning and startup? With that we could really have a demo?17:27.57 
tor8 henrys: I think hacking sumatrapdf will have a high entry cost, it's a lot of C++ to grok17:28.03 
Robin_Watts psdcmyk ? I thought you were working on tifsep ?17:28.06 
henrys tor8:okay17:28.17 
tor8 they have their own wrapper classes around everything, so we'd need to dig through those to get at mupdf, and learn how their ui stuff is set up17:28.59 
Robin_Watts Damn google payments.17:29.12 
tor8 ?17:29.22 
Robin_Watts henrys: SumatraPDF can wrap something other than mupdf too.17:29.24 
  It's tied the developer account to my google account.17:29.35 
henrys okay paulgardiner are you good with all this?17:29.35 
paulgardiner tor8: annoyingly, the missing search highlighting is definitely not reproducable on my S2 :-(17:29.46 
tor8 paulgardiner: how about link highlights?17:30.15 
paulgardiner It's likely to be a missing "invalidate". Probably an existing bug that we were getting away with17:30.19 
tor8 on my tablet, if I hit the link button, the current page never changes its appearance but if I swap pages with the link button in the highlight mode new pages that scroll in have the highlights17:30.50 
  it could be related17:30.53 
henrys I'd like to move on to the ray_laptop and chrisl meeting if paulgardiner has enough to go on until next week.17:31.10 
paulgardiner tor8: same there. Less surprisingly in that case, because I remember thinking "Oo, that worked without having to add an invalidate call. I wonder if it'll work on the tablet?"17:31.18 
  henrys: Yes thanks.17:31.32 
  tor8: I have an idea what it might be. Hang on a min17:32.28 
tor8 Robin_Watts: BLURB looks fine, but we should probably make another one for the RC17:32.35 
henrys ray_laptop, chrisl:so what's up with 532? I am really very concerned that Miles is going to send a letter we don't want to be sent now and I'm trying to hold him back. That's where I am with 532. I think the letter places too many demands on our most significant customer.17:35.02 
Robin_Watts tor8: Updated BLURB.17:35.18 
chrisl henrys: erm, I thought you wanted to push back on them more?17:35.43 
tor8 Robin_Watts: ta. I'll publish that before the end of the week, soon as the iOS app is updated.17:36.31 
henrys ray_laptop, chrisl:I want to say reproduce it on the 532 simulator - he wants ghostscript unless they pay extra - in between - in no case do I want a letter sent to management. 17:36.48 
paulgardiner tor8: I've just pushed another change. It's random swipe at the code, but it might do the trick.17:37.03 
henrys ray_laptop, chrisl:but I'll likely loose this one.17:37.20 
ray_laptop henrys: I agree that Miles should probably stay out of it. 17:37.54 
henrys I've lost 2x you guys and miles really I'm really sucking air.17:38.08 
ray_laptop henrys: I haven't seen a recent 'draft' from Miles.17:38.54 
chrisl henrys: well, for what my opinion counts, I'm kind of in the middle - I'd like them to pay extra if they're going to work up to using all our PDLs, but cut them a *good* deal on them.... but that's another issue, really.17:38.55 
tor8 paulgardiner: sorry, doesn't work :(17:38.55 
paulgardiner :-(17:39.04 
  Actually, no that probably shouldn't have worked. I have another idea.17:39.59 
ray_laptop henrys: I don't think there's any point in pushing the rest of our PDL's on them. More headache for us and little or no incremental revenue17:40.28 
henrys well let's figure out an engineering policy that works for all of us and I'll promote that to Miles. I don't think we are even arguing about prices anymore.17:40.30 
tor8 paulgardiner: if I land on a page with missing highlights, hide and show the buttons, then they appear17:41.11 
henrys ray_laptop:I am very concerned politically about doing that. Seems like a great way to alienate the folks that like us, well like us better than some other parts of the company.17:41.23 
ray_laptop henrys: I thought our policy is that we just advise on how to debug their target (stuff that doesn't show up on the simulator)17:41.30 
paulgardiner tor8: that's weird.17:42.06 
ray_laptop henrys: if we want extra revenue for having me on site helping debug on their printer, fine17:42.12 
henrys ray_laptop:geez chrisl has now 3 customer bugs and no progress on his most important project it's too much time.17:42.14 
chrisl ray_laptop: that's a difficult one - this current thread is really just "advising" them on debugging their target.....17:42.47 
ray_laptop henrys: having chris involved in this target crash doesn't make sense17:42.49 
  IMHO chrisl should only be on the font bugs that can be seen on the simulator17:43.19 
chrisl ray_laptop: this started life as a font bug, on the simulator17:44.01 
ray_laptop and we (you if you wish) can tell Len that chrisl is only available for this kind of thing17:44.20 
  chrisl: this started as a font bug ?17:44.30 
tor8 paulgardiner: dinner calls, I'll be back later17:44.38 
ray_laptop chrisl: I thought the original dumps showed it was in the transparency code17:45.03 
chrisl ray_laptop: the apparent cause of the crash is my fix for filling a type 3 glyph with a transparent pattern17:45.07 
ray_laptop you mean that without your 'fix' it doesn't crash ?17:45.31 
henrys I was extremely happy that Len went off and worked on it, I was not expecting that at all I thought all hell would break loose.17:45.40 
paulgardiner tor8: I'll have to go now too. Might have to stick with the flivkering dialog box for now. :-(17:45.54 
chrisl ray_laptop: yes, exactly - although without my fix, the glyph doesn't render *at all*17:46.04 
henrys I'm sorry that should say "I was expecting that all hell would break loose"17:46.22 
ray_laptop chrisl: is the glyph being painted as a bitmap or as a path ?17:47.03 
henrys speak of the devil incoming mail17:47.05 
chrisl ray_laptop: it's a bitmap - it's being rendered from the cache.17:47.27 
  ray_laptop: see http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=f63237e117:48.10 
  same change applied to our code.....17:48.20 
ray_laptop chrisl: thanks.17:48.32 
tkamppeter ken, chrisl, |Frederik, cups-filters is now uploaded to Ubuntu Precise. You can find it on https://launchpad.net/ubuntu/+source/cups-filters. Perhaps it also works on Debian, at least you could download the source package and rebuild it on your Debian system.17:48.50 
ray_laptop it looks like Len is "owning" this, so we can just wait to see what he finds.17:48.57 
  henrys: did you open a private chat for me (or did I hit a key) ?17:49.28 
henrys no I didn't17:49.40 
chrisl ray_laptop: so it passes our cluster tests, and works fine on my G4 Mac mini. The only other thing I was going to try was to valgrind it.17:49.42 
tkamppeter kens ^^17:49.47 
ray_laptop chrisl: I can give you mods that let you build a standalone gs of their code (I did it for the color product, so it won't take long). That way you can valgrind their code base17:51.03 
chrisl ray_laptop: will that work on Linux? All the configure stuff has been removed in their source base :-(17:51.42 
ray_laptop chrisl: I was testing _041 but didn't have your fix17:51.47 
  henrys: do you want chrisl to spend the time on that ? If so I'll get their code base building on linux17:52.27 
henrys chrisl's call.17:53.11 
ray_laptop henrys: I was asking you because you were concerned about the time is was taking from chrisl 17:53.36 
henrys I wasn't clear that a specific patch had introduced the problem.17:54.11 
  sort of changes my perspective on the issue.17:54.24 
chrisl henrys, ray_laptop: whether I used it for this problem or not, I think being able to valgrind (most of) their GS code base could well be useful...17:54.36 
paulgardiner tor8: for when you get back, I've just pushed another possible fix. This one really should work, but I bet it wont.17:54.49 
chrisl ray_laptop: the end result of that fix is that we go through the general imagemask code for these cases (glyph, filled with a transparent pattern). One of the reasons I opted to do it this way was because we'd both commented we'd seen cases going through there before, so I figured it was safe!17:55.15 
ray_laptop chrisl: OK. I'll ask Len for an update of their sim code (to make sure I match his patches) and then get it building on peeves.17:55.34 
  oh oh. I think my laptop is about to crash ....17:56.55 
  it's been doing it and it happens after a window hangs inexplicably17:57.19 
chrisl ray_laptop: cool, okay. FWIW, there is a very simple workaround - we can render Type 3 glyphs uncached - doesn't help if another font type goes through that code, though.....17:57.21 
Robin_Watts paulgardiner: Let me see if I can reproduce the problem here on the prime.17:58.18 
chrisl henrys: on the customer bugs I have right now: I'm currently working on upgrading our Freetype version, which fixes one customer problem. I've held off the tiffsep changes until mvrhel has finished his overhaul of that code. And the third bug also needs the Freetype update to even start on it.17:59.41 
Robin_Watts alexcher: How many changes have we got to our openjpeg code? (What version of openjpeg are we running?)18:00.13 
chrisl Robin_Watts: seems to 1.4.0 "plus".....18:03.38 
  s/to/to be18:03.47 
Robin_Watts Right. I was wondering how many changes were in the 'plus' ?18:04.00 
  i.e. if we move to 1.5.0, how many of those go away ?18:04.14 
  At least 1 potentially.18:04.27 
alexcher Robin_Watts: Not much. All changes are in the git history.18:05.49 
mvrhel_laptop bbiab 18:06.23 
alexcher Robin_Watts: Most effort took the interface module, which is our code.18:07.13 
Robin_Watts alexcher: Right. I spotted the other day that our openjpeg had an extra arg to opj_decode, which if we move to 1.5 we can remove.18:08.09 
alexcher Robin_Watts: We are running v. 1.4.018:08.16 
  Robin_Watts: So who of us will upgrade openjpeg ?18:10.06 
kens I have to be off, goodnight everyone18:10.39 
Robin_Watts alexcher: Not me (at least not immediately) - I haven't got time before I go.18:10.52 
alexcher Robin_Watts: OK, I'll take a look.18:11.26 
tkamppeter chrisl, kens, |Frederik, cups-filters 1.0.7 is now up on the Launchpad page I linked earlier.18:12.41 
chrisl tkamppeter: thanks.18:13.31 
  |Frederik: I know kens asked earlier, but if I post some links to test files tomorrow (and possibly beyond), can you try them on your printer? Is IRC okay, or would you prefer e-mail?18:14.56 
henrys chrisl:I'm sorry I didn't understand the problem was not reproducible without your patch, that casts a new light on things.18:22.37 
chrisl henrys: np, it's all a bit convoluted. Truth is, I'm fairly sure that with the *right file* it would be reproducible without my patch, otherwise I'd give them an alternative solution to the original problem - just bad luck it's worked out this way :-(18:24.14 
ray_laptop chrisl: I was right. My machine crashed -- it takes a long time to restart when it goes down 'dirty'18:25.35 
  chrisl: can you send the simple fix for Len to try on the target. Even if it doesn't fix every case, it may be good enough (good enough for them)18:26.27 
  chrisl: if you want to step back from it, send the fix to me and I'll send it to Len18:26.56 
  that way I can do the testing18:27.06 
chrisl ray_laptop: no (more) testing needed - it is a *very* simple change - but it means losing performance on Type 3 fonts.....18:28.03 
ray_laptop chrisl: I wouldn't even mention that to them ;-)18:30.06 
chrisl ray_laptop: as I said above, I am also concerned that with the right (wrong?) test job, we can hit the same problem in a non-Type 3 font.....18:31.58 
ray_laptop chrisl: since the problem is happening during rendering, I don't see how the glyph cache is relevant. That's why I want them to test it on the target18:33.04 
  how the heck do I tell git to allow me to commit a makefile that has tab indents ?18:33.41 
chrisl ray_laptop: commit -n I think.....18:34.05 
ray_laptop chrisl: thanks. I'm looking at the help. I was trying TortoiseGit (gui tool) and didn't see the option18:34.46 
chrisl ray_laptop: the workaround I thought of was to change PDF's d1 operator to behave like d0, so PDF T3 fonts use setcharwidth instead of setcachedevice - if that seems okay to you, I'll send it to Len when I get back from playing squash (where I'm going momentarily)18:36.13 
ray_laptop chrisl: that's fine. Thanks. (and -n worked)18:37.11 
chrisl ray_laptop: okay, cool - on both counts. I'll send that over to Len in a couple of hours, then.18:37.40 
ray_laptop henrys: I finally remembered to commit the /PROFILE fix18:37.49 
Robin_Watts tor8: FWIW: I just applied pauls fixes and ran it on the transformer prime.18:38.21 
ray_laptop having a machine that crashes so often is no fun -- but not bad enough yet that I want to re-install the entire OS18:38.29 
Robin_Watts I've had at least 1 failure (without his latest fix) and adding that I've had no failures (and 20-30 successful runs)18:38.52 
  (seraching for 'cascading' in pdf_reference17.pdf is a good example)18:39.18 
ray_laptop call me on the phone if anyone wants me back online.18:40.25 
tor8 paulgraham: that version works!19:48.05 
henrys who is paulgraham? do you mean paulgradiner?20:01.27 
  oops paulgardiner20:01.46 
|Frederik chrisl: I can try, yes. I will try to follow here on IRC, buty maybe it's safer to use e-mail so I won't miss it.20:06.27 
  chrisl: fhimpe@vub.ac.be20:06.35 
tkamppeter |Frederik, chrisl, please CC me on the e-mails: till dot kamppeter at gmail dot com.21:12.43 
chrisl tkamppeter: you just missed the first one - I'll cc you from now on.....21:13.48 
|Frederik chrisl_away, tkamppeter: thank you for your help in debugging this problem. Much appreciated! I will take a look at it tomorrow when I have access to the printer21:17.33 
tkamppeter |Frederik, can you paste the error message again which you got on the initial error page when you started reporting here? Thanks. Or mail it to me. In Pastebin it seems that it has already expired.21:33.28 
tor8 henrys: ahem. yes. paulgardiner indeed.21:59.16 
 Forward 1 day (to 2012/03/21)>>> 
ghostscript.com
Search: