IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2012/06/28)2012/06/29 
ray_work I like marcosw's comment -- relying on the 'strange attractor' to guide development of the right stuff ;-)00:30.55 
  mvrhel: RU there ?00:40.35 
  msysgit seems to have not transferred cleanly from my old laptop HD. I get "FATAL ERROR: No supported authentication methods available". At least local git ops work OK.01:00.13 
  guess I'll try reinstalling it and hope for the best01:00.39 
marcosw_ Robin_Watts: you still up?01:07.12 
mvrhel ray_work: I am here now04:33.24 
  henrys: I am going to spend a little time on 693042. The transparency operations that we are doing for this file make no sense at all. 05:23.51 
henrys okay have you pinpointed the 9.03 - 9.05 ups and downs? That seems odd.05:43.35 
mvrhel henrys: no I am more focused on trying to understand why we are slow even to begin with. this file should render quickly be from what I am seeing with my debug transparency dump we are generating all sorts of stuff05:44.24 
  so I did get the 64 bit windows gxps running. but it does segv on this file also05:45.16 
  somewhere during a png read05:45.27 
henrys maybe we should do a 64 bit windows run of everything.05:47.14 
mvrhel maybe05:47.30 
  so the file has a pile of small fills with patterns that also have softmasks that are filled with patterns05:57.47 
  from what I am seeing, it is looking like some of the group pushes and pops that we may be doing for these small paths are full page, but I need to double check05:58.37 
  henrys: I will dig further into this tomorrow. calling it a night for now. I hope there a no fires near you05:59.26 
kms_ Hello, I have a query on MuPDF. Does MuPDF have support for adding annotations and saving it back to pdf file?06:27.45 
chrisl kms_: no, is the simple answer06:35.16 
kms_ Thanks chrisl06:35.54 
chrisl kms_: FWIW, I believe there is functionality in the mupdf core that could help app developer implement that kind of feature - it would still be a quite a lot of work, though06:37.27 
kms_ chrisl: Thanks for the info06:46.30 
chrisl kms_: np06:46.40 
  kms_: if you want more definitive information, the mupdf devs will be around in 2-3 hours06:47.21 
kms_ chrisl: Ok, I will wait for them.06:55.31 
Robin_Watts kms_: What chrisl said :)08:56.38 
  kms_: What chrisl said :)08:59.10 
  Can anyone get to wss.co.uk ? Or ixwebhosting.com for that matter?09:02.50 
kens Not wss09:03.07 
  Nor IX09:03.22 
chrisl No, me neither - "Server not found".....09:04.02 
Robin_Watts Well, I guess I won't be sending any mail today :)09:14.51 
  "Currently our data center is under power failure and the generators failed as well. We will update our blogs as soon as possible."09:28.59 
  awesome.09:29.01 
kens probably flooded....09:29.09 
Robin_Watts based in Ohio? Or Kentucky, I think.09:29.29 
kens chrisl can you think of a good reason to include the 'post' TrueType subtable in a TrueType font embedded in a PDF file ?09:41.21 
  I'm thinking of putting a fomrat 3 (no information) table when we subset a TT font.09:41.49 
chrisl It might cause problems converting the PDF to Postscript.....09:44.02 
kens I was thining that, but that's under our control too, so I htink we are probably OK there09:44.21 
chrisl What's under our control?09:44.46 
kens Conversion to PostScript09:44.56 
  If they sue something other than ps2write, I don't care if it works ort not :-)09:45.12 
chrisl Not if it's done by Acrobat, or Jaws or Poppler.....09:45.13 
  Also, what about ps2write?09:45.28 
kens I don't think ps2write needs to know09:45.36 
chrisl Don't we need the post table to make a TTF into a valid Type 42?09:45.54 
kens Hmm, perhaps you're right09:46.15 
  Must check type 42 spec09:46.20 
chrisl And if you need to do it ps2write, might as well keep it for pdfwrite.....09:46.56 
kens Oh yes, if I need it it'll go in for both09:47.11 
  Just trying to avoid recreating it.09:47.18 
  Hmm, doesn't look lik e you need a post table for a type 4209:48.16 
  Nope section 4.7 of the type 42 spec doesn't list it as a required table09:48.40 
chrisl Hmm, I wonder it exists at all, then....09:53.06 
kens The spec says 'most' TrueType fonts use a format 3 subtbale , ie no information :-)09:53.34 
chrisl Yeh, so what's the point?09:54.26 
kens No idea :-)09:54.35 
chrisl I guess you can leave it out, then.....09:54.46 
kens I'm going to try it09:54.55 
  One of my open enhancements mentiosn that it contributes to creating a large PDF, because we copy the whole subtable09:55.29 
  Which is a nonsense anyway if we've subset the font....09:55.39 
chrisl I'm just wondering why *anyone* would include it09:56.10 
kens I have no idea. I think it stems from the early days of TrueType when MS and Apple wanted it to rule the world09:56.33 
  SO its supposed to be useful to PostScript printers09:56.47 
chrisl But not used, apparently.....09:57.48 
kens <shrug> Mayeb it gets used sometimes, or did.09:58.10 
  Just discovered that when we embed a TT font we do it twice.09:58.21 
  Well, the process09:58.26 
  The first time just to find out the size....09:58.35 
chrisl We essentially do the same in FAPI09:59.07 
kens But I bet FAPI doesn't write it to disk....09:59.23 
chrisl No, it just adds up the sizes of the all the data09:59.58 
kens We go through the whole process of creating the (potentially subset) font, and writing it to a temporary file, just to find out how big it will be. Then we do it again on a diferent stream to actually store the result.10:00.48 
  How slow is that ?10:00.57 
chrisl Seems entirely pointless......10:01.36 
kens Absolutely. Since the only reason we want the size is to write a length1 value into the dictionary10:02.05 
  It seems to me it woudl be better if it just returend the length written10:02.29 
  Saving a whole exercise.10:02.40 
chrisl stands back to get a good view of pdfwrite font embedding collapsing around kens.......10:03.26 
kens :-)10:03.39 
  Its only called from one place, in pdfwrite10:03.56 
  Which also makes the enormous number of potential options poitnelss too.10:04.15 
Robin_Watts fumbles with cellphone to start the video recording feature and goes to stand next to chrisl.10:04.38 
chrisl <sigh> UFST integration gets explicitly built into the PCL interpreter - there's no abstraction at all - what a nightmare :-(10:05.23 
kens That'll keep you busy for a while.10:05.38 
Robin_Watts is intimately familiar with the "it can't possibly go wrong if I just do this" argument from dealing with the cluster.10:05.39 
kens points out he hasn't actually coded anything yet, and will be maintaining the old code anywa10:06.11 
chrisl Words that bring doom into the pdfwrite world have to be "that'll be easy....."!10:07.02 
kens I didn't say that :-)10:07.11 
  I am puzzled by the fact that we don't ever seem to be actually writing a subset TT font....10:07.37 
  That can't be right.10:07.45 
Robin_Watts kens: Those are good words too.10:08.00 
kens Ah, its OK, its given by the 'copied' font.10:08.16 
Robin_Watts tor8: ping.10:11.01 
  tiny makefile patch on my master branch on casper.10:11.26 
tor8 Robin_Watts: confused me until I saw it was on master :) lgtm.11:11.42 
Robin_Watts tor8: Thanks.11:11.56 
tor8 Robin_Watts: heading out for a few hours, ping me by sms or gtalk if you need anything11:12.08 
Robin_Watts tor8: OK, thanks11:12.20 
sebras tor8: hope you brought a heavy duty umbrella.11:22.22 
fdncred looking for some help with mupdf. anyone home?13:14.15 
kens ask questions, people are here13:14.37 
fdncred Thanks. I'm trying to get the DPI of embedded images in PDF.13:15.45 
  I found this link but it's for Adobe's PDFL http://kb.datalogics.com/articles/FAQ/How-do-you-calculate-the-DPI-of-a-PDF-image-XObject-132282912414313:16.09 
Robin_Watts fdncred: Let's be clear here...13:16.22 
fdncred So I'm trying to figure out if somethign like that is supported in the code.13:16.24 
Robin_Watts You want to extract the images from a pdf and find out what dpi the images claim to be?13:16.40 
  Or you want to see how images are used within the pdf (taking all the scalings into account) and figure out what the actual dpi usage is ?13:17.08 
fdncred not exctaction13:17.26 
  like adding it to the mupdfinfo.exe13:17.34 
Robin_Watts The thing is, I could make a jpeg file, and tell it it was 300dpi.13:18.08 
  Then I could put that into a PDF with a scaling attached, so that it was scaled up, and the actual size that the image was used at would end up being 72dpi.13:18.44 
  What value would you want to see?13:19.03 
fdncred i want to see the actual DPI of the raster13:19.34 
Robin_Watts Right, then mupdfinfo can't help you.13:20.26 
  mupdfinfo tells you information about the embedded images etc.13:20.51 
  What you need to do is to get the information about how the images are used.13:21.04 
  (one image could be used on lots of pages, at different scalings and hence dpis)13:21.17 
fdncred maybe it's my ignorance but I thought scaling would stretch the image versus interpolating it to make more dots13:22.33 
kens If it has 300 samples, and is scaled to one inch, then its 300 dpi13:23.22 
  If itsscaled to 2 inches, its 150 dpi, etc.13:23.32 
fdncred let me ask another way, following the like i provided earlier. Is there a way in mupdf to get the element/image matrix?13:24.24 
Robin_Watts Yes.13:24.35 
fdncred like=link13:24.38 
Robin_Watts You can write a render device, and then process the file to that device, and look at the image calls you get.13:24.55 
  If you mean "Is there a way to do it without coding" the answer is no.13:27.05 
fdncred if you are familiar with PitStop Pro plugin for Acrobat it also has a feature that displays the dpi, regardless of scale.13:27.22 
Robin_Watts I am not familiar with that.13:27.41 
fdncred i'm a software engineer so I'm up for writing it myself13:27.43 
Robin_Watts Cool. Feel free to ask here with any questions etc.13:28.37 
fdncred So what I know so far, is getting the DPI the way i need to isn't built in, however I could try this render technique you describe to try and get the matrix and calculate from there. Does that sound correct?13:29.00 
Robin_Watts fdncred: Yes.13:29.14 
fdncred ok, i'll start digging in the code to see what i can find. thx.13:29.44 
Robin_Watts Are you wanting to add this to the viewer? (So you click on something and get a pop up with the dpi in)?13:29.46 
  (Maybe ctrl click or something)13:30.11 
fdncred i'm really wanting it to add to mupdfinfo - so i can adapt that to run on many PDF files looking for ones that have "incorrect" resolution, based on my definition of "incorrect"13:30.33 
  but once it's done it coudl be easily added anywhere13:30.43 
Robin_Watts mupdfinfo doesn't link in the interpreter side of mupdf.13:31.02 
fdncred i.e. 1 ( 5 0 R): [ CCITTFax ] 12000x16816@300DPI 1bpc DevGray (8 0 R)13:31.03 
Robin_Watts fdncred: Right, but you can't hope to do that.13:31.20 
  Suppose that image is used on lots of pages? And lots of times on lots of pages?13:31.39 
  It might be used at full size on page 1, but then be used again scaled by 0.5 on page 2.13:32.27 
fdncred i'd have to see an example of a pdf of the type you're describing. I already have one way to do this with a COTS library but I wanted to do it with mupdf too.13:32.30 
Robin_Watts and then rotated by 45 degrees and squashed on the y axis on page 3 :)13:33.05 
fdncred scale and rotation are attributes of an image and don't really change the raster. it just changes the way the pdf is represented in a ui13:33.34 
  i'm talking out of my ass partically because i don't have a pdf like you're describing. i do have rotated ones and i know that makes no difference but no examples of scaled.13:34.26 
  this is how my COTS software represents that mupdfinfo i pasted earlier13:37.04 
  Page:1, Image:0, Width:12000, Height:16816, Res:400x400, LLXY:(3026, 0), Row:90 deg, Col:0 deg, Components:1, Bits:1, ColorSpace:DeviceGray13:37.05 
  that's what i'm trying to replicate in mupdf13:37.13 
Robin_Watts Right, so that's listing images by use, not by source.13:37.45 
  which is not what mupdfinfo does.13:38.46 
  jpeglib guys have taken a modified version of the duplicate component change.13:41.34 
chrisl Was it a bug, or something not to mupdf's liking?13:42.11 
Robin_Watts Adobe generates CMYK jpeg files where the components are numbered 1,2,3,113:42.33 
  rather than 1,2,3,413:42.37 
  That's illegal according to the jpeg spec, and confuses the jpeglib.13:42.49 
  Our jpeglib has a fix in so that we spot reuse and use the next one up (so we rewrite 1,2,3,1 to 1,2,3,4)13:43.10 
chrisl But they've previously turned down changes from us to cope with out of spec files......13:43.38 
Robin_Watts And mupdf was using a vanilla jpeglib, hence not benefiting from that.13:43.42 
  I made the point that we'd had this in our codebase since 2005 with no ill effects, and that all PDF processors probably need it.13:44.24 
  I suspect they'd be silly to dogmatically ignore cases that someone as big as Adobe has been breaking for a decade.13:45.03 
  (but then this is open source software authors, so "dogmatically being silly" need not rule anything out)13:45.31 
chrisl Actually, I may have forgotten to patch libjpeg when I updated it a while back.....13:46.07 
Robin_Watts kens: Just heard back from the customer; using pdfwrite DID help by about 14% on average.13:46.59 
fdncred Robin_Watts: so you say my listing is by use, not by source. is there a way in mupdf to get the dpi by use then?13:50.03 
Robin_Watts Doing it by working at the render device level would be by use.13:50.29 
kens Robinq well, that's somtething13:50.31 
Robin_Watts Actually....13:50.35 
  fdncred: You can use mudraw -x and then postprocess the xml ?13:50.54 
fdncred Robin_Watts: hmmm... never noticed that -x switch before. Let me investigate. Thanks for the tip.13:53.44 
Robin_Watts bah. I've gone from macpro failing to build mujstest on the cluster, to macpro building, but every other machine failing14:02.19 
fdncred_ Robin_Watts: it looks like i'd have to combine some of the functionality from mupdfinfo and mudraw to get the resolution14:14.27 
  mupdfinfo has the width and height and mudraw has the matrix14:14.47 
Robin_Watts Hmm. mudraw has the width/height too, it might just not print it out14:17.26 
  If you look in fitz/dev_trace.c you can see where the printing is done.14:18.56 
  You have fz_image *'s at all the relavent points.14:19.12 
  and you can get the width/height from that. That coupled with the matrix is exactly what you need.14:20.39 
fdncred_ ok. This fz_trace_* stuff looks like what I'm looking for. Digging deeper....14:23.22 
  ya, i can just modify fz_trace_fill_image() or make another fz_trace_fill_image_withDPI() and i'll be set14:25.15 
Robin_Watts aargh. No g++ on henrysx614:25.55 
  and no C++. Jeez.14:35.08 
  how can you have a linux installation with no c++ compiler ?14:35.43 
ray_laptop Robin_Watts: it's legal. Usually just embedded systems are in this state, or systems that are 'deployed' by an IT bureaucracy14:39.11 
Robin_Watts ray_laptop: No, I was referring to our cluster machines :)14:39.36 
  It looks like mujstest is now getting through all the compile phases, but then failing somewhere before the jobs start.14:40.36 
ray_laptop Robin_Watts: do I need to re-install msysgit. It runs locally but when trying to pull from the origin I get: FATAL ERROR: Disconnected: No supported authentication methods available14:41.06 
Robin_Watts ray_laptop: Just a tick.14:41.32 
  On my machine I have GIT_SSH set to plink.exe14:42.00 
  If you had that on your old one, and don't have it on your new one, that would explain it.14:42.19 
  $ cat ~/.bashrc14:42.59 
  export GIT_SSH=plink.exe14:43.01 
  export EDITOR=emacs14:43.03 
  export CLUSTER_USER=robin14:43.04 
  Do you have a .bashrc file?14:43.08 
ray_laptop Robin_Watts: ahh. I bet that's it. My new system has different environment variables14:43.39 
  Robin_Watts: I have GIT_SSH="plink.exe" so maybe it's plink/putty14:44.42 
Robin_Watts Right. So in putty you probably need to set up saved sessions for sshing to casper14:45.18 
ray_laptop putty seems to work OK14:45.59 
Robin_Watts ray_laptop: But have you saved the session?14:46.18 
ray_laptop I have a saved session for @casper, yes14:46.39 
Robin_Watts ok. and from msys, can you: plink.exe ray@ghostscript.com: 14:47.20 
ray_laptop Robin_Watts: but git shouldn't be using a saved session since git config has: remote.origin.url=ray@ghostscript.com:/home/git/ghostpdl.git14:47.36 
Robin_Watts plink looks at that, and sees "ray@ghostscript.com", and looks for a saved session that matches it to know what ssh key to use, AIUI.14:48.17 
ray_laptop Robin_Watts: that's it then -- plink ray@ghostscript.com gives the same FATAL ERROR, but plink @casper is OK14:49.12 
Robin_Watts So you need a saved session that refers to ray@ghostscript.com, not ray@casper.ghostscript.com14:49.43 
ray_laptop don't know why my other saved sessions (for peeves and casper) would have xferred, but not whatever git was using previously14:50.12 
paulgardiner Robin_Watts: Missed call?14:50.56 
ray_laptop oh oh -- my system is hanging. I REALLY hope it doesn't crash.14:55.11 
Robin_Watts How can henrysx6 have neither c++ or g++ installed?15:05.40 
  chrisl: What possible names are there for a c++ compiler on linux, except for c++ and g++ ?15:11.52 
chrisl usually it's g++15:12.32 
Robin_Watts Anyone here have log in on: fathoms, feet, henrsx6 or inches ?15:26.15 
  marcosw, henrys: ping ?15:26.36 
henrys Robin_Watts:it's not part of the default ubuntu install do you need it?15:48.42 
Robin_Watts v8 needs g++15:48.57 
  v8 needs C++, sorry.15:49.03 
henrys okay I'll install it.15:49.18 
Robin_Watts Thanks.15:49.23 
  aha. marcosw_15:53.19 
henrys okay 4.6.115:53.42 
marcosw_ Robin_Watts: morning15:53.43 
Robin_Watts Could you install C++ on fathoms, feet and inches please?15:53.48 
marcosw_ feet will have to wait until this afternoon, it's in miles' office and I can't connect to it since the gateway (miles) is down. I'm visiting miles today.15:54.43 
Robin_Watts marcosw_: I'll take it out of the cluster (using the button on the dashboard) then.15:59.35 
marcosw_ Robin_Watts: fathoms and inches are done. I'll make sure g++ is installed on miles and kilometers as well. Is this part of the mujstest work?16:01.26 
Robin_Watts marcosw_: It is. mujstest needs c++ for V8.16:02.14 
  miles and kilometers work fine.16:02.37 
kens time to go, have a good weekend everyone16:02.49 
henrys marcosw_:there was a pcl support issue, if you're busy I'll take it, let me know.16:12.27 
marcosw_ henrys: I'm not particularly busy, just have a lot to do :-)16:12.52 
chrisl henrys: is there a reason in the PCL UFST integration for doing the hacky thing with the stick font, instead of just using the TTF stickfont we use normally?16:16.42 
henrys we never use a ttf stickfont and always do the hacky thing.16:22.32 
  hacky thing == the stick fonts are defined as C arrays.16:24.13 
chrisl Oh, I was getting mixed up - LinePrinter was what I was thinking of - never mind......16:24.54 
Robin_Watts marcosw_: meters may need updating too, sorry.16:25.18 
marcosw_ meters is also in miles' office so will have to wait.16:25.45 
henrys chrisl:well I did our lineprinter font and really is kind of rough, I'd rather use the ufst font if we can.16:27.52 
chrisl henrys: I'm a bit confused about the LinePrinter font - it doesn't seem to be using the UFST.....16:30.54 
henrys yes the ufst just gives you the data.16:31.28 
  in a c array like our stick fonts.16:31.39 
marcosw_ henrys: I'm leaving in a few minutes to visit miles' office. Any problem with skipping the support meeting this week?16:31.59 
henrys marcosw_:np16:32.14 
chrisl henrys: Ugh, okay. Integrating PCL with FAPI/UFST is going to take some thought......16:32.44 
henrys well the lineprinter, stick fonts and download fonts should be completely independent of the FAPI/UFST client server righ?16:34.07 
  well pcl download fonts.16:34.17 
chrisl There *should* be no reason we can't use UFST for downloaded fonts, too - it's supposed to support that16:35.03 
henrys yes but I think that is too much to chew off with the font integration you are doing. We can bolt that in later.16:36.00 
  I've been fairly successful avoiding it entirely ;-)16:36.31 
  type 42's aren't using the ufst either right?16:37.19 
chrisl Type 42's *can* - except for a silly UFST limitation - which doesn't apply with PCL16:37.55 
  Downloaded TTFs are working in PCL with Freetype through FAPI. Frankly, once I get UFST working with the MT fonts, downloaded TTFs will probably just work there, too16:38.24 
henrys chrisl:oh I didn't know you'd mad so much progress.16:39.18 
  s/mad/made16:39.35 
chrisl I'm getting somewhere, yes :-)16:39.43 
  First pass on XPS is there, too16:40.17 
  henrys: oh , that was the other thing: did Norbert ever get back to you about how he's adding extra TTF fonts to the PCL interpreter?16:43.19 
henrys oh yeah I don't recall hearing back I'll check and ping him.16:45.01 
chrisl I suspect they'll be using the cartridge or simm fonts calls, but it would be good to know, so I check it will work with the FAPI stuff.....16:47.26 
Robin_Watts tor8: When you return, there is a patch on casper/master for you.16:57.01 
norbertj henrys: I just saw the backlog, I'm still collecting the modifications (and massaging it into a patch on top of master, but I have to remove some stuff that is not relevant)17:13.30 
  have to go shopping with the wife.17:17.26 
henrys oh thanks norbertj17:17.41 
ray_work well, my laptop didn't crash, but it hung and wouldn't shut down (wouldn't even bring up the ctrl-alt-del screen) so I had to power off. At least the restart from there isn't as slow as when it goes down "dirty" where the disk needs to be checked17:55.28 
Robin_Watts ray_work: That happening once can be written off as "it's windows".17:56.02 
ray_work Robin_Watts: right -- I'm keeping my fingers crossed17:56.24 
Robin_Watts marcosw: ping ?18:01.15 
  marcosw: (For the logs) Watching the clustermaster.dbg file, I sometimes see comments like "machine henrysx6 requested jobs but was not sent gs_build/mupdf_build" even when it clearly was. Looking at clustermaster.pl, this seems to be to do with the condition it's using.18:02.46 
  !exists $gccMachines{$t} but gccMachines is the list of machines running a known version of gcc, and hence capable of doing the warnings test run. What does that have to do with this?18:03.35 
ray_work Robin_Watts: I have a 'ghostscript' putty entry (ghostscript.com) and I can plink ray@ghostscript but can't plink ray@ghostscript.com18:03.40 
Robin_Watts plink ray@ghostscript.com:18:04.11 
  note the :18:04.21 
ray_work Robin_Watts: OK, thanks, I'll try it (but laptop is sick again) :-(18:04.55 
  It was fine for a few days, so I'm going to go back to a restore point.18:05.22 
Robin_Watts before you used your voodoo tool to infect it from the old machine ?18:05.49 
mvrhel so one issue I see in the xps code is that if a path has an opacity mask we are not clipping the mask size to the path size. This file has tiny path fills that include opacity masks and we end up doing whole pages it would appear18:06.52 
ray_work Robin_Watts: no, it was stable for 2+ days after the PCmover tool was used (very selectively). This just started this AM. Some updates were installed.18:06.55 
  ahh -- more patient this time and it is just VERY slow, it is shutting down cleanly (probably)18:07.37 
mvrhel so, question is given a path in the xps interpreter what do I use to find the bounding box for the path?18:19.25 
ray_work Oh, great. Windows didn't have 'system protection' enabled by default, so it wasn't collecting restore points18:20.58 
mvrhel question for someone. maybe ray_work, Robin_Watts or henrys 18:39.33 
  dealing with paths and clip paths18:39.59 
Robin_Watts sorry, I missed your earlier question (or rather I saw it, and then was distracted by helen screaming in the kitchen)18:40.25 
mvrhel no worries18:40.31 
  uh oh18:40.33 
Robin_Watts beetles.18:40.39 
mvrhel not the signing kind18:40.49 
  singing18:40.55 
Robin_Watts Those would be beatles :)18:41.05 
mvrhel hehe18:41.09 
Robin_Watts sorry, go on.18:41.16 
mvrhel never can tell with your british spelling18:41.23 
  ok.18:41.25 
  so I have a path18:41.38 
  and it has an opacity mask which is essentially a soft mask18:41.52 
  one thing I see is that the xps interpreter pushes the soft mask before it creates the path18:42.20 
  which means for this case we end up pushing a full page buffer for the soft mask when we only need a small buffer based upon the path bounding box18:42.55 
  so, I moved the push to after we have put the path into the graphic state18:43.15 
  and I see a call in the xps interpreter called xps_bounds_in_user_space18:43.37 
  which gets the clip path and finds its outer bounds18:43.59 
  but this path is different than the path that we are filling18:44.11 
  what I really need is the intersection bounding box for the clip path and the path we are filling18:44.36 
  Robin_Watts: does this all make sense?18:44.53 
Robin_Watts still reading, sorry.18:45.06 
mvrhel in my simple case, the current clip path is the full page18:45.39 
Robin_Watts Ok, I follow.18:45.46 
mvrhel but we are doing a fill of a tiny path18:45.51 
ray_work mvrhel: there are lib functions for finding the intersection of bboxes 18:46.35 
mvrhel Is there an easy call in the graphics lib to get a bounding box that is the intersection of the clip path and the current drawing path18:46.37 
ray_work mvrhel: what you just said18:46.50 
mvrhel yes. do you know what it is?18:46.59 
Robin_Watts Getting the bbox of the path should be easy enough.18:47.23 
ray_work mvrhel: you need the inner box of the clip path intersected with the outer box of the fill path, right ?18:47.34 
mvrhel yes. that would make sense18:47.51 
Robin_Watts What you then want to do is to say "set the clipmask to be the current clipmask intersected with this box"18:47.53 
mvrhel yes18:48.07 
Robin_Watts Getting the bbox isn't the problem, so much as setting the clippath to the appropriate thing.18:48.20 
  let me have a dig.18:48.26 
ray_work mvrhel: I am also looking. I think the shading code does this18:48.50 
  or the pattern code18:49.49 
  mvrhel: you want 'rect_intersect 18:50.24 
  mvrhel: you may need to call dev_proc(dev, get_clipping_box)(dev, &path_bbox) 18:51.03 
Robin_Watts ray_work: Intersecting the bboxes is NOT the problem ehre.18:51.04 
mvrhel question on something that I should probably know. inner vs. outer bbox. I am a bit confused on this terminology18:51.21 
Robin_Watts mvrhel: Any point outside the outer bbox is outside the clip path, trivially.18:52.04 
ray_work mvrhel: there is something similar in gx_dc_pattern2_clip_with_bbox18:52.06 
mvrhel oh crap. I need to go pick up my son18:52.19 
  at 1218:52.25 
Robin_Watts Any pointer inside the inner bbox is inside the clippath, trivially.18:52.26 
mvrhel brb18:52.27 
ray_work Robin_Watts: right, so mvrhel needs to intersect the outer_bboxes (not what I mis-stated)18:53.48 
Robin_Watts mvrhel: I'll keep burbling for the logs as I may be gone by the time you are back.18:54.14 
ray_work so he'll probably end up with the outer_bbox of the (small) fill_path18:54.24 
Robin_Watts ray_work: I don't follow how that will help.18:54.53 
  The clippath has a complex internal structure (a list of rectangles, a path, and a couple of bboxes).18:55.20 
  You can't just fiddle with them from outside and expect not to break things.18:55.30 
  You *can* read the bboxes and use them to make judgements about whether you can trivially include or exclude things.18:55.51 
ray_work Robin_Watts: but he has the gx_clip_path * which has the a fixed_rect outer_box, right18:56.21 
Robin_Watts But to change a clippath you can't just alter those bboxes as it won't be reflected.18:56.28 
  He has a clippath in place. He has a path, and he is about to call a graphics library function that will use the clippath.18:57.00 
ray_work Robin_Watts: he doesn't need to change the clip_path (AFAICT) he just needs to know the intersection of the outer boxes to know what the bbox for the group he pushes18:57.25 
  that way the transparency buffers will be as small as possible18:57.47 
Robin_Watts OK, so that is where our understandings differ.18:58.05 
  I was under the impression that he wanted to push a new clippath, then call the function, then pop the clippath.18:58.35 
ray_work Robin_Watts: I was working from "mvrhel: what I really need is the intersection bounding box for the clip path and the path we are filling"18:59.16 
Robin_Watts OK, if that's true, then I apologise, you're right.19:00.01 
ray_work the problem was that he was previously using the clip path bbox, which was the whole page, but the fill_path was tiny19:00.19 
Robin_Watts He needs to find the bbox of the path (either inner or outer bbox will do, inner is more accurate, outer is faster to generate) and intersect that with the outer bbox of the clippath.19:00.41 
  Then if he uses that for the bounds of his transparency group, he should be set.19:00.59 
ray_work Robin_Watts: outer will do, I think.19:01.05 
  Robin_Watts: I agree19:01.15 
  Robin_Watts: BTW, I think the problem was an overly aggressive AV program. I turned it off and things are OK (for now)19:02.03 
mvrhel ok I am back19:05.13 
  did the two of you duke it out19:05.28 
Robin_Watts yes.19:05.37 
mvrhel :)19:05.41 
Robin_Watts so you don't want to alter the clippath, you just want to find the rectangle to use for your transparency group bounds?19:06.12 
mvrhel yes19:06.18 
Robin_Watts Right, so rect_intersect(cpath->inner_bbox, path_outer_bbox);19:06.41 
mvrhel ok. now one more question19:07.25 
  if I am stroking a path19:07.34 
  does the path outer_bbox include the stroke width?19:07.50 
Robin_Watts Then you need to adjust the bbox to allow for stroke widths etc.19:07.58 
  I don't see how it could.19:08.06 
mvrhel ok I understand19:09.48 
  Robin_Watts: could you please explain to me the terminology of inner vs output bbox? I am a bit confuse on the use of the cpath inner bbox. If I have a complex clip path with convex and concave portions, how can I use the inner box and not miss something?19:11.39 
Robin_Watts mvrhel: Any point outside the outer bbox is outside the clip path, trivially.19:11.57 
  Any pointer inside the inner bbox is inside the clippath, trivially.19:12.05 
mvrhel yes19:12.06 
Robin_Watts So if your clippath is a circle, the outerbbox will be the smallest bbox that covers the entire circle.19:12.37 
ray_work mvrhel: so if you have a complex clip path, you need the outer_box19:12.43 
Robin_Watts mvrhel: Sorry, I mistyped above. you want to use cpath->outer_bbox19:13.20 
  sorry. It's a friday night, my brain is fried.19:13.28 
mvrhel ok. that makes more sense to me19:13.32 
ray_work mvrhel: the inner box of the clip_path will not include everything if the fill path juts out into a convex section19:13.34 
  mvrhel: the inner box is just there in case the fill path outer_box is entirely within the clip_path inner_box, then the clip_path can be ignored19:14.21 
mvrhel so my group bbox should be rect_intersect(cpath->outer_bbox, path->outer_bbox);19:14.23 
ray_work mvrhel: correct19:14.30 
mvrhel ok. thanks19:14.37 
  I thought maybe I was missing some key idea19:14.52 
  and so if I am stroking I will need to enlarge the path outer bbox to account for this19:15.21 
Robin_Watts Yes.19:15.28 
mvrhel or at least make another bbox that account for it and then intersect with the clip bbox19:15.42 
Robin_Watts by linewidth (or linewidth/2 maybe, I forget) and by mitrelimit.19:15.54 
mvrhel right. that must be done someplace already19:16.12 
Robin_Watts I was hoping to find you a c function to do that, but I can't obviously see one.19:16.16 
mvrhel ok. thanks for all of your help.19:17.11 
  going to grab some lunch now19:17.19 
Robin_Watts no worries.19:17.21 
  There may be such a function in mupdf, but I doubt that will help :)19:17.36 
fdncred any tips how to tell if the ctm is rotated? need to know this for my image dpi thing19:18.04 
ray_work mvrhel: I know there's a place that does the calculation for strokes because I recall fixing something in it.19:18.11 
Robin_Watts fdncred: Matrix is (a b c d e f) right?19:18.19 
ray_work for cust 53219:18.20 
fdncred Robin_Watts: yes19:18.33 
Robin_Watts if b and c are zero, it's not rotated (but may be flipped)19:18.53 
  If a and d are zero then it's rotated by 90 or 270 degrees (but may also be flipped)19:19.27 
  OK?19:19.38 
fdncred ok - so i know this is flipped 0 -791.04 614.4 0 -1.20001 791.5219:20.41 
Robin_Watts Not at all.19:20.48 
fdncred but how do i tell if it's 90 or 270?19:20.50 
Robin_Watts You know that that is rotated.19:20.59 
  and scaled :)19:21.01 
  fdncred: The values of b and c tell you that.19:21.16 
  You need to go read up on matrix multiplication :)19:21.26 
fdncred agreed. it's confusing me.19:21.42 
  so the -1.2 is the scale?19:21.53 
Robin_Watts Not at all.19:21.58 
  The -791 and the 614 are the scales.19:22.15 
ray_work the -1.2 is a translation (x component, thereof)19:22.48 
Robin_Watts -791 says "Take the x coordinate, scale it by a factor of -791 and that will be your new y coordinate."19:22.56 
  614 says "Take the y coordinate, scale it by a factor of 614 and that will be your new x coordinate."19:23.24 
ray_work Robin_Watts: then add the 791.52 to get the final Y-coordiate, right ?19:23.37 
Robin_Watts And then you translate the whole lot by adding -1.2 and 791.52, yes.19:23.52 
fdncred wow.19:24.09 
Robin_Watts The general form: (x, y) mapped through (a b c d e f) goes to (x', y') where:19:24.40 
  x' = a*x + c*y + e y' = b*x + d*y + f19:25.18 
ray_work I have to change venues -- bbiab19:25.46 
Robin_Watts If it's easier to see it written out as a full matrix multiplication, what is really going on is:19:26.28 
ray_work fdncred: note that the PS and PDF origin is the lower left of the page, 19:27.08 
Robin_Watts (x y 1)(a b 0) = (x' y' 1)19:27.16 
  (c d 0)19:27.18 
  (e f 1)19:27.20 
fdncred lower left - who came up with that idea? grrrr!19:27.50 
henrys descarte?19:29.23 
Robin_Watts Euclid?19:29.35 
fdncred lol19:29.41 
henrys oh this pcl problem is going to suck I can just tell already.19:30.01 
Robin_Watts henrys: I think that the lower left corner is a sensible position for my cartesian origin, therefore I am.19:30.25 
henrys well at least you think you are.19:31.05 
fdncred will now go read up on matrix math19:32.09 
  but at least i got this far with mudraw <fill_image alpha="1" matrix="616.32 0 0 771.12 0 0" width="2568" height="3213" />19:32.33 
  before i leave, thank you for your help19:33.59 
Robin_Watts so 2568*72/616 = 300dpi on the X axis19:34.04 
  no problem.19:34.08 
  and 300 on the Y.19:34.37 
fdncred Robin_Watts: yes, 300 dpi on the width - that's what i'm going for19:36.27 
henrys my dog jumped in the lake last night and started fighting with a raccoon - what a mess. racoons have absolutely no fear of anything AFAICT19:36.35 
Robin_Watts henrys: Ouch.19:36.52 
  How are the fires doing? You're safe I hope?19:37.04 
henrys oh yeah I'm fine - I'm pretty far back from the foothills.19:37.50 
  the waldo canyon fire is absolutely devastating - entire subdivisions gone.19:38.15 
  see mountain shadows: http://www.denverpost.com/breakingnews/ci_20962928/photos-before-and-after-views-neighborhood-burned-by19:39.55 
  or any of them it is just a mess.19:40.27 
  people do get lucky you'll see one or two house untouched.19:42.27 
Robin_Watts yeah, that's mindblowing. Some places look completely unharmed next to ones that have just completely gone.19:43.14 
  Gah. Something really stupid is happening with mujstest and I can't see what. No output is being produced. I'm gonna kick myself when I realise, I'm sure...19:44.05 
  Woo Hoo! Might actually be working.20:04.32 
ray_laptop there was a really bad fire in a VERY expensive beach town (Laguna) a few years ago. It wiped out hundreds of $1M+++ homes. One home was left standing in a subdivision that was otherwise totally burned to the ground.20:12.51 
  Since he knew it was a fire area, and he was an engineer, he had done several things to make it fire resistant. Aluminum foil backing to facing outward on the wall insulation, tile roof, sloped, sealed soffets (sp?) low e-squared dual pane windows with metal reflective pull down shades on all of the Windows, 20:16.09 
  he didn't bother with a sprinkler system since he knew the water pressure up in the hills would plummet in a serious fire (all the fools outside with garden hoses wetting down their wooden shake roofs)20:17.20 
  he estimated that it added less than $12K to the cost of his home ($24K including the tile roof, which a lot of people have just because they like it)20:18.25 
  the irritating thing is the insurance company only gave him a break for the tile roof, smoke alarms in all the rooms, and a burglar+fire "dialer" to 911. The windows and shades and soffets (and the tile roof) are what the fire department said saved his house.20:22.37 
  there are thousands of ghosts of burned up smoke alarms wandering the canyon muttering "I yelled as loud as I could, but nobody came"20:23.58 
  Robin_Watts: BTW, I had to create a 'ghostscript.com' saved profile for putty before git pull started working. Even though the hostname was ghostscript.com, it didn't use the 'ghostscript' profile for either plink ray@ghostscript.com OR plink ray@ghostscript.com: 20:33.06 
  note plink ray@ghostscript.com: still fails, but plink ray@ghostscript.com works20:34.19 
  Robin_Watts: thanks for your help earlier20:34.37 
Robin_Watts ray_laptop: how odd, both work for me.20:47.34 
  and my saved profile is 'gs'20:47.44 
  so I can: pscp blah gs:20:48.02 
  Hi tor8. Various patches for your attention whenever you're next in work mode.21:22.45 
tor8 Robin_Watts: the forms branch?21:26.31 
Robin_Watts both forms and master21:37.58 
  I almost have mujstest working. I need to change it from png output to ppms for the sake of bmpcmp I think.21:38.33 
  but TV is calling me now :)21:38.56 
flmbray Thanks for help yesterday w/ GhostXPS.... any command line options to give debug output while it is working to convert XPS to PDF?21:58.16 
mvrhel ray_work: you still here?22:55.01 
 Forward 1 day (to 2012/06/30)>>> 
ghostscript.com
Search: