IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2015/02/19)20150220 
mvrhel_laptop argh. psdcmyk and tiffsep have wrong number of components when I set SeparationColorNames and SeparationOrder. Something is wrong00:32.41 
Robin_Watts I feel for you.00:32.57 
  That code has always felt fragile to me.00:33.11 
  frangible.00:33.30 
mvrhel_laptop oh I see. It is still setting the damn number of colorants based upon the document contents, blowing away what was correct00:37.34 
  need to detect that and make sure it does not happen00:37.45 
  blah. not sure how best to do this really00:41.17 
  need to be careful that I don't break the case where we have NCLR output profiles too00:44.01 
  ok. I think I have a solution for the psd and tiffsep devices which will work for me. will run idea by you all in the morning06:02.38 
  done for the night 06:18.36 
mulover Hi! Is there any way using mudraw to do accurate color space conversion for a given cmyk pdf to generate a proper looking png? Or do i have to use ghostscript before and afterwards mudraw?12:12.55 
chrisl mulover: just use Ghostscript12:13.21 
kens At the present time MuPDF doesn't allow you to do colour management12:13.24 
  And as Chrisl says,GS can produce PNG files on its own12:13.39 
mulover I was afraid of this answer ;-) The last time i tried ghostscript, the rendering results were poorer than mudraws.12:14.35 
chrisl Define "poorer"12:14.48 
mulover Font-Rendering: Antialiasing and Glyph rendering was way better with mudraw12:15.35 
chrisl So, tell Ghostscript to anti-alias text12:15.48 
kens Given that GS and MuPDF both use FreeType, it can be anything to do with glyph rendering :-)12:16.25 
chrisl Except that mupdf uses freetype's antialiasing and Ghostscript doesn't - but when I tested it, the results were all but indistinguishable12:17.12 
kens Well, he did separate glyph rendering and anti-aliasing....12:17.44 
chrisl True, yes12:17.55 
mulover I believe you guys :-) I have to admit, it is some years ago. But even with high antialising switches on, mudraw performed better. The glyphs had somehow wrong spaces between them IMHO.12:18.24 
chrisl mulover: you might find that at low resolutions - mupdf's rendering is better optimised for low resolutions12:19.12 
mulover That sounds plausible. I was able to work around the issue by rendering a way to big image and shrink it afterwards. Very ugly, but it helped.12:20.47 
kens Several GS devices (but not PNG) can do that internally12:21.21 
  tiffscaled devices for example12:21.34 
chrisl Don't the png devices support DownScaleFactor now?12:22.54 
kens Err, do they ?12:23.06 
  Its possible.....12:23.13 
  In which case, try that :-)12:23.21 
chrisl I thought Robin_Watts extended it to support a lot of devices....12:23.33 
kens I'm not sure12:23.55 
mulover Ok! That was always kind of an issue for me with ghostscript. Many options, many changes....12:24.44 
kens People keep wanting GS ot do different things, so yes, lots of options. Changes; not so many.12:25.23 
  If people complain about the anti-aliasing, we change it, its true, its hard to fix stuff without chaning it12:25.49 
chrisl Yep, the png devices support DownScaleFactor12:26.31 
kens OK so try that then, see if its acceptable12:26.42 
mulover Did not want to complain at all. You guys do great work! 12:26.43 
kens People do complain about hte anti-aliasing, that's why RObin added the 'scaled' devices12:27.11 
chrisl Er, not really.....12:27.27 
tor8 mulover: if you can live with slow performance, render using gs at a high resolution then downsample to a smaller size. there's an option to do that in gs autmatically but I can't remember what.12:27.32 
kens Really ? I thought that'sd why he did it12:27.42 
tor8 bah, chrisl beat me to it :) use the downscalefactor option.12:27.49 
chrisl kens: No, it was originally because a customer wanted to render pcl input at something other 300/600 dpi12:28.28 
kens Damn, can anyone remember the runes to get Acrobat Distiller to allow the 'run' operator to work / I'm sure its a command line option but I can't remember it12:28.39 
chrisl I don't think I've ever known it....12:29.09 
kens I know there is one, because people complained when they changed the behaviour (like our SAFER option)12:29.40 
mulover Within todays trials i had another issue i dont understand. I used gs to convert the cmyk-pdf to a rgb one. Distiller told me things were right and showed the pdf with matching colors for the embedded image. mudraw though rendered them very dark. Like if used the cmyk one from before. I could work around that by setting CompatibilityLevel=1.3 inside the conversion. No matter if an old or new gs was used. Why is that?12:31.52 
kens Its impossible to say without seeing the original PDF file and knowing the command line used.12:32.36 
Robin_Watts gs -dDownScaleFactor=3 -sDEVICE=png16m -r600 -o out.png in.pdf12:33.14 
  That will get you in.pdf rendered at (effectively) 200dpi with antialiasing.12:33.32 
  mulover: You're saying that when you rendered a cmyk file in mupdf it was dark? So you converted it to rgb in gs and rendered it in mupdf and it was still dark?12:34.33 
  Sounds like the conversion worked well to me.12:34.38 
kens Lunch, bbiab12:36.15 
mulover I will try to provide an example :-)12:37.12 
Robin_Watts tor8: bug695843 looks like glyphs are being rendered in bboxes too small or something.13:00.16 
kens Its a regression, 1.6 has the problem, 1.4 doesn't13:01.24 
Robin_Watts yeah, there is at least one Type3 font which has a font BBox of [0 0 1 -1]13:03.55 
kens Hmm GS copes wiht it.13:04.10 
  It usually doesn't deal well with that sort of thing13:04.22 
Robin_Watts If all four elements of the rectangle are zero, no assumptions are made based on the font bounding box. If any element is nonzero, it is essential that the font bounding box be accurate. If any glyph’s marks fall outside this bounding box, incorrect behavior may result.13:05.03 
  From the PDFRM13:05.09 
kens Yeah but "Acrobat can display it"....13:05.35 
  THat BBox may be 'accurate' the FontMatric is 1 0 0 -1 0 013:06.56 
  Its hte same for all of them apparently13:07.47 
Robin_Watts kens: It's not. 46 0 5 0 40 49 d113:08.25 
  which is a bbox of 0 5 -> 40 4913:08.39 
  (possibly flipped due to the font matrix)13:08.55 
kens It will definitely be flipped yes13:09.06 
  need to look at the setcachedevice1 args, can't recall them offhand13:09.18 
Robin_Watts w w l b r t13:09.38 
kens OK so the BBox is incorrect.13:09.58 
Robin_Watts so possibly we need to make our d1 implementation check that the fontbbox isn't bollocks.13:10.25 
kens I have a sneaky suspicion GS ignores type 3 font BBoxes because they are so often incorrect13:10.25 
Robin_Watts If it is, abort and restart the draw process.13:10.34 
  ah, we now convert all type3's to display lists on loading, so we might be able to do better.13:12.05 
  hmm. We bound each glyph by measurement, then intersect it with a slightly expanded fontbbox.13:16.18 
  Presumably we don't like purely relying on the bbox of the glyph in case the glyph is stupidly huge.13:21.30 
mulover So guys, looks like the problem might slightly different than i though before. For two simple calls, gs renders a png matching the output of Acrobat Reader / Pro. mudraw though renders a very dark version. Calls: mudraw v 1.6: mudraw -o mudraw.png cmyk.pdf gs v 9.04: gs -dBATCH -dNOPAUSE -sDEVICE=png16m -sOutputFile=ghostscript.png cmyk.pdf Link to the pdf: http://www.xup.in/dl,44565677/cmyk.pdf/ Link to preview from gs: htt13:21.57 
  Sorry, lines to long :-( Link to preview from gs: http://www.xup.in/dl,15704297/ghostscript.png/ Link to preview from mudraw: http://www.xup.in/dl,16805794/mudraw.png/13:22.38 
kens Well, the GS output matches Acrobat at leats in general tone13:23.28 
Robin_Watts OK. gs uses proper color management, mupdf does not.13:23.29 
  mupdf has a hardwired rgb -> cmyk conversion.13:24.13 
  using a fairly simple matrix.13:24.21 
  gs uses color profiles (and has the same defaults as acrobrat, I think)13:24.44 
kens THey're meant ot be similar at least13:25.00 
  Note that the PDF file has an OutputIntent ICC profile13:25.13 
Robin_Watts hence those results don't surprise me at all.13:25.20 
  ah, well, there you go.13:25.26 
tor8 Robin_Watts: warning: type3 glyph doesn't specify masked or colored13:25.48 
kens So you won't get 'proper' results unless you use ICC colour management13:25.52 
tor8 Robin_Watts: evince doesn't render the text either13:26.17 
  but gs does13:26.21 
kens Eh ? That should be d0 or d1 shouldn't it tor8 ?13:26.25 
Robin_Watts I see d1 being specified.13:26.39 
  I don't get that warning.13:26.42 
kens d1 is a mask, d0 is a coloured type 3 IIRC13:26.50 
tor8 but, ahem, maybe I shouldn't try running with my broken-in-pieces-mupdf that I just got compiling...13:26.53 
kens :-D13:26.59 
mulover If i "prepare" the pdf with a prior gs call with CompatibilityLevel=1.3, mudraw renders fine.13:27.23 
kens CompatibilityLevel of 1.3 disables ICC colour I htink. You can almost certainly do better by using ColorConversionStrategy13:28.00 
tor8 kens: I'm reworking how the pdf interpreter is hooked up, so type3 fonts are currently #if 0'd out :)13:28.02 
kens ah!13:28.09 
  Ah, this PDF file also declares that it uses transparency13:29.13 
  With a Blending Mode of ColorBurn13:29.35 
mulover I tried that too: gs -sDEVICE=pdfwrite -dBATCH -dNOPAUSE -dColorConversionStrategy=/sRGB -dProcessColorModel=/DeviceRGB -dUseCIEColor=true -sOutputFile=rgb.pdf13:30.03 
  No effect for mudraw. ONly with:13:30.12 
  gs -sDEVICE=pdfwrite -dBATCH -dNOPAUSE -dCompatibilityLevel=1.3 -dColorConversionStrategy=/sRGB -dProcessColorModel=/DeviceRGB -dUseCIEColor=true -sOutputFile=rgb.pdf13:30.13 
kens OK firstly don't use -dUseCIEColor, that should have got you a big wrning saying 'DOn't do that' or words to that effect13:30.31 
  Secondly what is the version of GS you are using ?13:30.47 
tor8 Robin_Watts: it's the bbox extraction that gets confused13:30.57 
Robin_Watts yeah, I can see where it the code it goes wrong.13:31.46 
  OK, acrobat completely ignores the fontbbox, as far as I can tell.13:32.25 
mulover Sorry, i had many tests, removing dUseCIEColor changed colors a bit, but did not make the difference. I tried the following versions: 9.04, 9,10 and 9.1413:32.44 
Robin_Watts but acrobat does honour the d1 bbox.13:33.09 
kens mulover : all of those are too early really, you need at least 9.15 to get colour conversion halfway correct with pdfwrite.13:33.17 
Robin_Watts so, a simple tweak is required. will look at that after lunch.13:33.32 
  tor8: Where did we land on the display list stuff?13:33.50 
kens mulover but, fundamentally you need to be rendering using a PDF consumer which does ICCBased colour management.13:34.08 
Robin_Watts the display list stuff got us to about 60% of the size on torture-test.13:34.23 
  With the path trimming, we hit about 30% of the size.13:34.47 
tor8 Robin_Watts: I'm good with the display list stuff. is the path trimming on robin/master?13:35.05 
Robin_Watts It is.13:35.10 
Robin_Watts lunches. back in a bit.13:35.21 
tor8 Robin_Watts: I'd be curious to see how a static-array at the end of fz_path would help, if that could let us avoid allocating the cmd/coord arrays13:36.21 
  for the majority of paths13:36.25 
mulover Tried 9.15 too, no difference. OK, i understand. But shouldnt mudraw be happy if i supply a primarly to rgb converted version (by gs)?13:36.45 
tor8 it'd be a bit invasive to let fz_moveto etc return a new pointer, in case they realloc the entire fz_path struct while constructing it13:37.11 
kens mulover : you are assuming that the file *has* been converted to RGB, I suspect it has not13:37.17 
  But when you specify CompatibilityLevel of 1.3, it is.13:37.35 
mulover At least Acrobat says so.... wait i will bring it online...13:37.44 
tor8 Robin_Watts: I wonder if it wouldn't be clearer if we let the display list call fz_trim_path explicitly13:39.36 
  but this hidden approach is safer for all possible uses13:39.59 
mulover The "might be rgb" ;-) http://www.xup.in/dl,13709086/rgb.pdf/13:43.24 
  All i can see inside Acrobat tells me rgb13:43.43 
kens Just a minute, I'm busy with something else for a few.13:44.22 
mulover No problem.13:45.47 
henrys there will be snow, check out the 10-day for Vail http://www.wunderground.com/cgi-bin/findweather/getForecast?query=vail%2Ccolorado13:51.29 
kens OK it looks to me like the problem is that, as I mentioned earlier, the file uses transparency. If you don't blend in the specified colour space then you get differences in the output. This is quite visible when beldning in RGB as opposed to belnding in (additive vs subtractive colour models). By specifying PDF 1.3 you are going back to an earlier revision of PDF which does not support transparency. This causes pdfwrite to rende13:53.08 
  r the transparent area (all of it in this case) to an image. That's why you get the correct answer that way, and not any other.13:53.09 
  henrys if it stops snowing before Monday I'll be very happy :-)13:54.03 
  Looks moderately chilly13:54.37 
  mulover : I see signifcant differences between rgb.pdf and cmyk.pdf when vioewed in Acrobat.13:55.57 
  RGB.pdf ha an overall greenish tint13:56.21 
kens fetches coffee13:57.32 
  BTW thanks for pointing me to the weather Henrys13:57.47 
mulover For me here too, i was just stuck with acrobat <> mudraw :-)13:58.39 
kens Well transparency is black (and evil) magic. The only way to get accurate colour management involving transparency is to render the transparent areas, and then colour manage. In effect that's what you are doing by setting CompatibilityLevel to 1.314:00.51 
  For *this* file that's no a huge concer, because its mostly a big image anyway, but the result would be less good on a file which was mostly vector data.14:01.25 
mulover I understand - a little bit ;-) How did you detect the transparency?14:05.41 
kens By decompressing the PDF file (using MuPDF) and reading it ;-)14:06.01 
Robin_Watts tor8: I'd be interesting in seeing if 'flattening' paths into a single structure worked, yes.14:11.33 
  but to do that nicely, I feel we'd need to move to a 'fz_process_path' thing that made callbacks for each tag type.14:12.02 
  That way the path processors would be isolated from the path structure itself.14:12.22 
  It's easy to do, but I'd want to check on speeds.14:12.42 
tor8 we can flatten it without having a path callback procedure just by moving to an array of union {enum cmd; float coord;}14:14.24 
  or just a float array and stick enums in as floats14:14.45 
Robin_Watts tor8: Yes, but then every path processor needs to know about our 2 different representations, right?14:15.18 
tor8 no. the pointer would point to the static array when we create the fz_path object14:15.38 
  and if it gets reallocated, the pointer points to the new chunk14:15.49 
Robin_Watts ah, avoiding having an internal pointer would be high on my list.14:16.00 
tor8 fz_path { float *p; int len, cap; float a[10]; } where p initially points to a, and gets reallocated once it doesn't fit14:16.48 
  s/reallocated/allocated/14:16.59 
Robin_Watts tor8: yeah, I follow the idea.14:17.08 
tor8 but we can flatten the cmd/coord struct independently14:17.18 
  I think that should save a fair bit of malloc overhead as well14:17.30 
mulover kens: thank you very much!14:17.40 
kens NP14:17.51 
Robin_Watts The nice thing about a callback based path processor, is that it would let us have multiple internal implementations of paths.14:18.18 
  so if opengl needed one thing, and non-opengl needed another, none of the code would care.14:18.38 
  I think this is an area where there are several options, and we'd need to experiment.14:19.10 
  we're missing a load of error handling in fz_new_type3_font.14:30.26 
kens tor8 I see you've inherited the idiots :-)14:46.19 
Robin_Watts kens: Hey, Paul and I do our best!14:48.04 
kens Well, I assumed you and Paul were busy with SOT< plenty of idiots to go around I suspect14:48.25 
Robin_Watts Oh, right, so we're not the idiots ? :)14:49.19 
kens LOL I was referring to the latest bug report14:49.34 
Robin_Watts I'm going to ask for a copy of the file.14:50.56 
kens Oh God, hey'll probably try and send it to support....14:51.13 
tor8 kens: paying customers or can I ignore them?14:52.33 
kens Now there's the question.....14:52.47 
  These are th people who were 'consultant's for a paying customer14:53.00 
  We insisted they went through the customer so it was clear because they'd previously been trying for free support.14:53.24 
  SO who knows, in this case....14:53.32 
  My incination is to ignore them unless a real paying cusotmer sayts its for them.14:53.52 
  1 million page PDF files are just dumb14:54.01 
tor8 kens: I'm tempted to say -- compile it for a 64-bit target and run it on a machine with >16G or RAM14:54.10 
kens :-)14:54.28 
  Their previous complaint was that GS was 'too slow'. But at lwast it worked!14:54.44 
tor8 kens: they haven't attached the monster file anywhere have they?14:55.28 
kens THankfully no14:55.38 
tor8 I suspect if they ran the command with only one -g it would work14:55.40 
kens Possibly, I wouldn't know :-)14:55.51 
tor8 since they second g in -gg compacts the xref and needs to allocate big tables to do object renumbering14:56.19 
Robin_Watts tor8: I wondered that. I then decided I didn't care enough to check the code without them supplying a file.14:56.36 
kens you can suggest it and let them try it out14:57.04 
  They could double the performance with GS if they were capable of modifying the PostScript program, so that it only did one pass over the file. Obviously I *could* do that, but heck its a utility, and such a big file is bonkers14:59.41 
Robin_Watts tor8: OK, I have a solution that works nicely for d1 glyphs.15:16.38 
  For d0 glyphs, acrobat ignores the font bbox.15:16.51 
  and so if the d0 glyphs are massive, everything slows down a lot.15:17.06 
  As far as I can tell, they completely ignore the fontbbox.15:17.24 
  I am tempted to say that we should do the same.15:17.32 
kens As I said, I have a sneaky suspicion GS does that too15:18.01 
Robin_Watts but that will go against zenikos bug 694952 that you fixed in 5faaa44415:18.08 
  Or I can change the d1 behaviour, and leave the d0 behaviour as is.15:18.41 
  tor8: 1 commit on robin/master then (master~5 :) ). Cluster testing now.15:25.53 
rayjj darn. Skipping the pdf14 transparency (bug 695841) is really only possible for 'vanilla' devices (RGB, GRAY or CMYK contone), which is admittedly a lot of devices, but detecting devices ICC profiles with incompatible conversions may be problematic. I'll have to consult with mvrhel on this.rhel15:34.37 
  at least the workaround is simple :-/15:34.53 
mvrhel_laptop I want to add an option to the tiffsep and psdcmyk devices to have them lock down their colorants and not do the auto-add as colorants are encountered. Two questions. Does anyone have an objection to this and does anyone have a clever name. Its a boolean and I thought perhaps ColorantsFixed or SpotsFixed or AutoSpots15:43.06 
rayjj reminder to all. I will be leaving shortly for about 6 hours of road travel (up to the mountains to pick up my son and others, then back down in Friday pm traffic :-( )15:43.46 
mvrhel_laptop rayjj: drive safe15:43.59 
Robin_Watts mvrhel_laptop: I'd prefer Colorants to Spots.15:44.04 
chrisl mvrhel_laptop: LockSeparations would be by choice15:44.06 
kens2 prefers Lock to Fixed15:44.28 
Robin_Watts I'd prefer LockColorants to LockSeparations :)15:44.28 
rayjj mvrhel: I prefer ColorantsFixed or ColorantsLocked15:44.32 
  or as Robin said, LockColorants.15:44.47 
chrisl Lock... matches the standard LockScreens parameter15:44.54 
mvrhel_laptop ok I like LockColorants15:45.03 
kens2 Yes, and 'Fixed' has other meanings15:45.05 
mvrhel_laptop much better than Fixed and Spots15:45.23 
chrisl Yeh, my only complaint about LockColorants is the wrong spelling ;-)15:45.40 
rayjj mvrhel: but if this is set automatically when the command line sets colorants prior to the device open, is it something that the user has to specify15:45.45 
Robin_Watts chrisl: hehe.15:45.48 
rayjj ?15:46.03 
mvrhel_laptop rayjj: it is something the user has to specify on the command line15:46.33 
Robin_Watts Presumably some devices (like psdcmykog) will set that themselves ?15:46.36 
rayjj mvrhel: or did you find that the -c "<< /SeparationOrder [ ] >> setpagedevice is after the open ?15:46.51 
mvrhel_laptop Robin_Watts: I don't think the psdcmykog device does the auto add of colorants15:47.25 
tor8 Robin_Watts: don't we use the bbox device for some configuration of settings with t3 fonts?15:47.39 
mvrhel_laptop rayjj: the order is set before the device is open, but I have no way of knowing if someone actually had specified something or it is the device default values15:48.21 
Robin_Watts tor8: fz_bound_t3_glyph (or something like that) runs the display list for each glyph through the bbox device.15:48.21 
rayjj mvrhel: if it does have that enabled, it shouldn't. Robin devn devices get to say whether or not they can have colorants be dynamic15:48.23 
Robin_Watts and that bbox is then intersected with (a scaled up) FontBBox.15:48.41 
mvrhel_laptop right. this is not a devn parameter15:48.45 
tor8 Robin_Watts: why don't you use (reuse) the font->bbox_table array?15:48.56 
mvrhel_laptop but a parameter for those two devices that do the auto add15:49.04 
tor8 we have a per-glyph bbox cache already15:49.08 
Robin_Watts tor8: ooh, is there already one of those?15:49.11 
rayjj mvrhel: if you get a put_params that includes the related parameters, you could automatically lock, right ?15:49.16 
tor8 yeah. we use it for all but fonts with > some number of thousand glyphs15:49.32 
Robin_Watts tor8: OK, that's me being dim.15:50.09 
  Will amend the commit to reuse that.15:50.16 
  But you're not offended by the new dev->d1rect ?15:50.32 
mvrhel_laptop rayjj: I guess I need to talk to you about that. I tried to monitor for SeparationColorNames when I had this -c "<< /SeparationColorNames [ /Cyan /Magenta /Yellow /Black /xGreen /Orange] /SeparationOrder [ /Cyan /Magenta /Yellow /Black /xGreen /Orange]>> setpagedevice" but it did not work properly for me15:50.40 
rayjj mvrhel: why isn't it (LockColorants) part of the devn parameters ? Other devices (that don't handle separations) don't need it, do they15:50.43 
tor8 no, that seems like a good approach to use the d1 rect if available15:50.49 
Robin_Watts cool.15:50.56 
mvrhel_laptop I guess we could put in in devn15:50.58 
  s/in/it/15:51.04 
tor8 uint16_t is not something we generally use though15:51.07 
Robin_Watts you'd prefer unsigned short ?15:51.24 
mvrhel_laptop rayjj: the only devices that need it are those sep devices that do the auto add15:51.35 
tor8 I would15:51.37 
rayjj mvrhel: I'm fine with making it manual, if you tried it and it didn't work. Not worth spending more of your (valuable) time on15:51.37 
mvrhel_laptop the only two that I know of are psdcmyk, psdrgb and tiffsep15:51.57 
  oh that is three15:52.01 
  ;)15:52.04 
rayjj mvrhel: OK, right. Only for Sep devices that do auto-add makes sense15:52.10 
kens2 Our 3 chief weapons....15:52.13 
chrisl I prefer the parameter to be manually set15:52.26 
rayjj weapons of self destruction ;-)15:52.37 
mvrhel_laptop ok. thanks for the feedback. I am going to break up my changes into multiple commits to make it easier for review. what I thought was going to be a couple simple fixes has grown a bit15:53.43 
rayjj chrisl: fine with me, too. And I guess if it's not managed automatically, a user can turn it on and off between pages15:53.59 
chrisl rayjj: my reasoning is that if we make it automatic, sure as heck, *someone* will want it to work the other way!15:54.40 
mvrhel_laptop yes ;)15:54.47 
rayjj chrisl: agreed15:54.47 
chrisl This would all be so much easier if no one actually used the software ;-)15:55.21 
rayjj much, but the bonus would be a lot smaller ;-)15:55.41 
mvrhel_laptop need to head to my daughters school this morning so I will be out for a bit15:56.19 
chrisl rayjj: Oh, I'd still want them to pay for it, just not use it!15:56.36 
rayjj and there is somewhat more satisfaction to developing something that people actually use, even if it sometimes means we actually have to make it work 15:57.01 
Robin_Watts chrisl: Are you responsible for Labours approach to taxation? :)15:57.16 
rayjj bbiab...15:57.29 
chrisl Robin_Watts: TBH, I haven't noticed much difference with the current crowd15:58.41 
Robin_Watts true. Neither of us earn enough to be getting their tax breaks :)15:59.02 
chrisl We'll have a chat to Miles next meeting :-)15:59.30 
Robin_Watts at least the current crowd don't seem quite so intent on spending everything they can borrow.15:59.47 
chrisl Seems to me they're just spending about the same, but in different places16:00.43 
Robin_Watts I think we're going to disagree there, but...16:02.44 
  tor8: Updated commit on robin/master then.16:03.03 
  actually, skip that, something isn't right.16:04.57 
rayjj I'm going to take off now. Anybody need anything, just call. I'll put you on speaker phone in the car. Probably will be just creeping along in traffic.16:22.07 
Robin_Watts rayjj: have fun.16:23.35 
rayjj Robin_Watts: I'll try.16:26.31 
Robin_Watts tor8: 2 commits on robin/master.17:03.42 
  The first fixes some scan build issues and passes the cluster test with no diffs.17:04.06 
  The second (the use of the d1 rect) is producing diffs in 3 files (14 tests).17:06.17 
  The diffs are plausible, but ... odd. See my bmpcmp.17:06.30 
jogux fredross-perry: okay. I have your new iOS project open. I get build failures though. source/pdf/js/pdf-jsimp-mu.c:35:30: error: too many arguments to function call, expected 2, have 318:18.09 
  J = js_newstate(alloc, ctx, 0);18:18.09 
  ~~~~~~~~~~~ ^18:18.10 
Robin_Watts jogux: git submodule update --init18:18.28 
  Your mujs is out of date, I fear.18:18.37 
fredross-perry hmmm. did you just get the iOS folder? The error relates to recent changes tor made in the mupds API.18:19.18 
jogux ah, possibly a git clean has fixed it.18:19.51 
  though that confuses me.18:19.57 
fredross-perry hokay18:19.59 
jogux fredross-perry: I think http://git.ghostscript.com/?p=user/joseph/mupdf.git;a=blobdiff;f=platform/ios/MuPDFLibTest/MuPDFLibTest/ViewController.m;h=5409737c65b4b0c215bc5120a878b30a709750d1;hp=eefe08ae279e6e3a09159e582dc654dfd1cddded;hb=3cde50b44c6ab1cd97b567b31dc955107c1208c9;hpb=c98b08e15c7cf5df0ac8ebc43c09f4822fd6ae28 answers your main question18:22.08 
  no idea why that url is so long :-S18:22.12 
fredross-perry I see.18:23.04 
jogux but, given you're not actually implementing any methods defined in UINavigationControllerDelegate, you don't actually need to set the delegate anywa18:23.34 
  let me just comment on a few other things (via commits)18:24.17 
fredross-perry yes, I think that’s true.18:24.21 
jogux I don't expect you to use the commits, it's just easier to talk like that :-)18:24.29 
fredross-perry please do. I am short on time and I’ll probably get back to this Sunday night. One thing I am wondering is if it makes sense to push the navigator inside the library, since the app does not (I think?) care about it. Cheers.18:26.45 
jogux the uinavigationcontroller? I'm just pondering that.18:27.04 
  I think it should probably be outside.18:27.16 
  I'd generally say you should have a really good reason if you want to make a uiviewcontroller own other uiviewcontrollers18:27.32 
  fredross-perry: 'initialize' is probably a bad method name choice. There's an 'initialize' on the class that it would easily get confused with.18:28.30 
  (in the programmers mind, I think the OS would be fine with it :) )18:28.43 
  and the viewDidLoad definitely shouldn't be creating the window. I'm not actually quite sure how that works :-)18:29.30 
fredross-perry open to suggestions. But mostly I am looking to make this super-easy for a dev to just drop in and go.18:29.45 
  So, provide a framework and a sample app that uses it.18:30.03 
jogux fredross-perry: yep, that's definitely the way to go18:30.11 
fredross-perry gotta run now. I’ll check commits later. Thank.18:30.21 
jogux hm. actually this is definitely a bit weird. we definiitely shouldn't have stuff on the screen above the uinavigation controller. I think I need to think about this more on Monday (it's coming up for 7pm here)18:38.01 
  the window should really be (and in fact I believe *is also) being created by the storyboard18:38.29 
Robin_Watts Urm... wtf? /FontMatrix [ 0.0399999991 0 0 0 -4 0 0 ]18:38.49 
jogux fred: two more commits on http://git.ghostscript.com/?p=user/joseph/mupdf.git;a=summary hopefully commit message explains18:39.26 
  fred: the <> syntax from my first commit is saying 'my object confirms to the uinavigationcontrollerprotocol' btw.18:40.01 
Robin_Watts jeez. /FontMatrix [ 0.0526 0 0 0.-526 0 0 ]18:40.30 
  and /FontMatrix [ 0.04 0 0 0.-4 0 0 ]18:40.44 
jogux fred: I can't quite make sense of the rest currently. I'll have a proper look on Monday.18:42.22 
  Possibly MuDocumentController is actually already close to what we want as the main UIViewController that other people use.18:42.45 
Robin_Watts tor8: So, the fix for the d1 stuff uncovers a slight problem.19:51.18 
  There are some duff files that have a degenerate fontmatrix in them.19:51.45 
  This causes the area covered by a glyph to be zero sized.19:51.58 
  We take the zero sized rect, and turn it into an irect.19:52.19 
  This irect is non zero sized.19:52.28 
  and so we get nasty blobs appearing on the render.19:52.39 
  So... I tried for a fix whereby fz_irect_from_rect always goes from empty rect to empty irect.19:53.05 
  And that produces some diffs, in particular for clip regions.19:53.36 
  If you have region [0,0, 100,0] for instance as a cliprect and fill it, acrobat fills a 1 pixel high region.19:54.16 
  So, there are 5 commits on robin/master19:55.55 
  Whether we drop the 'fudge' one, or roll it into the previous one is up to you. What do you think?19:56.28 
fredross-perry jogux: regarding “Possibly MuDocumentController is actually already close to what we want as the main UIViewController that other people use”, that could easily be true. I was thinking that the document list might also be useful to devs, so I left that in as well. But I could go either way.22:22.08 
  jogux: I’ve been thinking that devs might want to embed the entire mupdf functionality in a space that’s not full-screen. Maybe I am wrong. Maybe a good thing to do next is decide exactly what we’ll give devs. Maybe it’s only MuDocumentController.22:26.32 
mvrhel_laptop oh crap22:27.57 
  henrys: I just goofed22:28.06 
  I meant to push my patch for the psdcmyk and tiffsep devices to my repos on casper22:29.05 
  and pushed it to orgin22:29.11 
  I was just starting the cluster push too22:29.41 
  Robin_Watts: are you around?22:30.17 
  probably not since its so late. 22:32.28 
  keeping my fingers crossed that nothing is screwed up. it was a minor change22:32.52 
  well at least it built22:34.39 
  whew. ok got away with only a warning about one unused variable. 22:40.25 
  which I don't think was new22:40.53 
  will fix that too though22:41.01 
  oh that is a bogus warning22:42.18 
  so all is good22:42.22 
  darn I am thinking that the named color profile really needs to be part of the device profile structure so that it is accessible during c-list reading22:54.13 
  sigh22:54.31 
  I think the easier solution is to just avoid the issue during the clist writing phase22:57.28 
  for now22:57.32 
  oh it looks like images with DeviceN source colors even those in index color spaces don't make it through the c-list anyway23:00.31 
  as high level images23:00.45 
  that simplifies things for me23:00.54 
tor8 Robin_Watts: hm, so empty rects are actually 1-sized due to adobes rendering rules?23:14.48 
  depending on where they land, I guess, for inclusion in the pixel test23:15.02 
  Robin_Watts: not convinced of the fudge irects for clips commit details23:17.06 
  but it's too late for me tonight. the scan build warnings and pdf_show_char changes look good23:17.46 
  and I'm too tired to look through the d1 values commit now23:17.57 
rayjj whew!!! back from the driving. Traffic coming back was actually better today than it was on Monday morning (which was a holiday)23:39.47 
  mvrhel: are you around for a discussion ???23:40.05 
 Forward 1 day (to 2015/02/21)>>> 
ghostscript.com
Search: