IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2014/05/26)2014/05/27 
kens Hmm tehre's a fundamental problem with the XPS interpreter, pdfwrite and non-Latin languages. The XPS interpreter sets teh font type to 42, and then uses glyphs outside the range 0-255. When encoding the output font, pdfwrite can't find the non-Latin glyphs in the Encoding, so it effectively fails.08:03.21 
chrisl Well, really, the problem is that the graphics lib doesn't have a "truetype" font type......08:06.34 
kens Yes, though I think if the font type were 11, and we were passing multi-byte glyph IDs this would work.08:07.18 
chrisl Hmmm, can we use a "bare" type 11 like that??08:08.55 
kens I'm not sure, but I don't fancy rewriting the XPS interpreter to handle this08:09.30 
  Its a similar (but different) problem to Werner's glyphshow08:09.51 
  Essentially I'm getting collisions in the name space08:10.21 
chrisl It shouldn't be a huge problem to create a type 0 font with an idenity cmap.....08:10.23 
kens With a type 42 descendant ?08:10.46 
chrisl No, type 1108:10.55 
kens Yeah I meant 1108:11.04 
  I think we would need to handle all fonts that way in XPS08:11.25 
  There are only TrueType fonts in XPS, and we can't know in advance what glyphs are used08:11.48 
chrisl Actually, with a a type 11, you might be fine using the glyphshow approach, which would be okay with the "bare" type 1108:12.20 
kens Hmm, looks like that would require quite a lot of change sin the XPS interpreter08:12.47 
  It calls gs_text_process directly08:13.01 
chrisl what should it call?08:13.25 
kens Going the glypshow route is 'different', I don't remember exactly how. Possibly there is no difference, as we end up using TEXT_FROM_GLYPHS insterad of TEXT_FROM_SINGLE_GLYPH (which is hwo glypshow works)08:14.28 
chrisl You can always open a bug, and assign it to me, and I'll look at it when I have time08:15.21 
kens I'll keep playing for now, its related to Werner's problem08:15.40 
chrisl Could Werner's problem be addressed by forcing a new subset font?08:16.27 
kens Technically yes, I think08:16.45 
  But the problem occurs in 2 parts separated by a lot of other code operations, and I'm not certaineither can tell without the other what the problem is, andtehre's no way to communicate between the 208:17.28 
  In isolation each does what it should (and tehre are valid code paths that go through these), its only incombination there's a problem08:17.54 
chrisl Hmm, well, other solutions seem even more convoluted......08:18.04 
kens In essence step 1 would need to detect a problem and start a new font, but we don't detect the problem until we reach step 2, by which time its too late to start a new font....08:18.38 
  Basically pdfwrite doesn't handle glyphshow very well, which is not surprising given that you can't do it in PDF and itsa normally a fairly rare occurence08:19.26 
  OK I *might* be able to sort Werner's problem, I definitely can't do anything with the XPS intrerpreter as long as it persists in using a Type 42 font. This is because we assume you can't use more than 255 glyphs from a 'regular' font, so we don't have the capacity in the pdfwrite structures to carry around multiple subsets for these fonts.08:41.51 
  I'll have a go at Werener's problem and see if any more light penetrates08:42.28 
jhabjan hi, there is some issue with hidden layers and the ghostscript and it's display device when pdf file is opened via "(visible_invisible_layers.pdf) (r) file pdfopen begin"08:53.35 
  this cannot be reproduced via command line08:54.12 
kens Hard to see how running form the command line could be different08:54.55 
  Presumably you are sending that PostScript to Ghostscritp from the command line ?08:55.22 
jhabjan well, I did check the pdf via GSView... and it suffers from a same problem08:55.24 
kens AFAIK GSView uses the command line08:55.39 
  But it also does all kinds of other stuff, including redefining resoruces08:56.08 
jhabjan well, i thinkg GSView also calls 'gsapi_run_string'08:56.18 
kens Don't know, maybe it does under some conditions, it doesn't for all cases though08:56.38 
jhabjan The file: https://www.dropbox.com/s/9esexkk7qzb4cic/visible_invisible_layers.pdf08:56.57 
  when opened via command line, second layer is not shown ( which is ok, as it's invisible )08:57.22 
  when opened in GSView, the second layer is shown08:57.45 
kens Well, whenI try your PostScript I et an 'undefined in pdfopen' error08:59.20 
jhabjan In Ghostscript.NET I open PDF in a same way GSView does.08:59.32 
kens OK you have to open the dictionary 'pdfdict' before you can use pdfopen, anything else you haven't mentioned ?09:04.45 
jhabjan you can take a look at here: http://pastebin.com/FRcbffgV09:05.12 
kens You appear to be running another dictionary called GS_PDF_Procset09:06.41 
  OK well you haven't initialised CumulativePageCOunt09:07.15 
  THough that won't make a difference here09:07.22 
  I don't see any code to render the page there09:08.08 
tor8 kens: gxps also does type1 fonts (for opentypes with CFF data)09:08.39 
  but I assume the same assumption of only using 255 chars applies there too09:08.54 
kens Yes, all basic font types can only handle 255 glyphs09:09.09 
tor8 yeah, I think you'd need to rewrite to the equivalent of a Type2 CIDFont for the TTFs?09:09.50 
kens Because the XPS interpreter uses TEXT_FROM_GLYPHS pdfwrite essentially treats it as a PostScript 'glyphshow' operation, I think that's the only way to get that from PostScript09:09.53 
  yor8 yes, some kind of CIDFOnt would be needed.09:10.09 
tor8 kens: yeah, glyphshow is the only way is ps to access the glyphs directly bypassing the encoding09:10.21 
kens Or a Type 0 (OCF) but that would be hard09:10.28 
  tor8 yes, which is why these two problems are related, but different.09:11.00 
tor8 kens: xpsttf.c and xpscff.c are the bits that create the font structures, I don't think you would need to change anything else except those two09:11.10 
kens I cna possibly solve the collision problem, but there's nothing I cna do if the XPS interpreter actually does use more than 255 glyphs. Or so I think at the moment, that may not be entirely true. THi sis all pretty hideous.09:11.42 
tor8 the xpscff.c file has a lot of crap code to parse CFFs though, not sure if Alex finished the CFF-parser-in-C that doesn't depend on postscript09:11.53 
kens Didn't Chris do that ?09:12.12 
jhabjan kens: http://pastebin.com/5qRYp04Y09:12.29 
  kens: at the bottom, there is showpage09:12.36 
tor8 my memory is vague, maybe that was chris. anyway, the font code in xps is hideous and should be rewritten from scratch at the first best opportunity :)09:12.43 
kens jhabjan : this will probably be a lot easier for me to look at if you just collect the PostScript you are sending to GS and give it to me, rather than me leafing through lots of .NET stuff which I don;t understand09:13.16 
jhabjan but.. if it will be easier for you in C, GSView does a same, and in GSView this problem can be reproduced.09:13.35 
kens tor8 possibly true, but how much do we really care ?09:13.36 
  jhabjan : it would be a lot easier in PostScript.09:13.49 
tor8 kens: enough not to just 'rm -rf gxps' ;)09:14.13 
kens jhabjan : the basic point is that you aren't supposed to meddle with these procedures. When I modify the PDF interpreter I don't expect that anyone except us is going to call these routines, so the only effort I make is to ensure that *our* code behaves as expectged. The introduction of CumulativePageCount broke GSview for instasnce.09:15.08 
  tor8 yeah, but.... This only matters for pdfwrite.....09:15.28 
tor8 kens: that's the only use for gxps I imagine has any traction though...09:15.52 
kens jhabjan : just collect together the PostScript sequence you are sending to GS, and put that all in a text file. Then feed that file to GS, does hte problem occur ?>09:16.14 
jhabjan kens: http://pastebin.com/9L1jiCtR09:17.18 
kens and does hte problem occur ?09:17.44 
jhabjan kens: yes, it behaves a same09:19.32 
kens One of the first things I would do is move the setpagedevice *before* you open teh PDF file and do all the setup, as setpagedevice resets lots of stuff.09:19.42 
jhabjan kens: the thing is that i need to use setpagedevice before each page is shown09:20.30 
  kens: this way zoom-in and zoom-out is implemented09:20.49 
kens You may well need to reset the PDF file then.09:21.17 
jhabjan kens: for test, I removed page setup completely, so now I don't even use setpagedevice....but the problem remains09:23.35 
kens I was speculating more generally.09:23.53 
  It can't be affecting this case09:24.06 
  Your test file can be reduced to :09:26.13 
  %!PS09:26.13 
  (/temp/layers.pdf) (r) file09:26.13 
  runpdfbegin09:26.13 
  1 pdfgetpage /Page exch store09:26.13 
  Page pdfshowpage_init pdfshowpage_finish09:26.13 
jhabjan ok, i tested your reduced postscript..09:27.45 
  it shows hidden layer anyway09:27.53 
kens Here's an even more reduced version:09:27.59 
  %!PS09:27.59 
  (/temp/layers.pdf) (r) file09:27.59 
  runpdfbegin09:27.59 
  1 pdfgetpage09:27.59 
  pdfshowpage09:28.00 
  ANd yes, I know it does, that's the point.09:28.10 
  back in a minute09:29.13 
jhabjan ok, no worries... any suggestion how I could set some flag to discard hidden layers (if any) ?09:31.09 
kens Clearly it *is* normally set up to do so, so there is something in the initialisationthat you aren't doing, because you are going 'behind the scenes' and running internal code.09:31.55 
  OK hte problem is you aren't executing 'process_trailer_attrs09:32.48 
  In there you will find a comment :09:33.17 
  % Initialize OC groups09:33.27 
  Trailer /Root knownoget {09:33.27 
  % By default, OCGs are 'on'; mark only 'off' OCGs.09:33.27 
  % If, contrary to the spec, BaseState is OFF, mark all OCGs09:33.27 
  % and unmark ON ones. Bug 691491.09:33.27 
  SO if you don;t run that code, then optional content groups will be left unmarked and always processed.09:33.51 
  This code works:09:34.40 
  %!PS09:34.40 
  (/temp/layers.pdf) (r) file09:34.40 
  runpdfbegin09:34.40 
  process_trailer_attrs09:34.40 
  1 pdfgetpage09:34.41 
  pdfshowpage09:34.41 
jhabjan kens: brilliant09:35.13 
  thank you very much09:35.28 
kens NP09:35.32 
  I still don't really recommend this though.09:35.44 
jhabjan I understand09:35.56 
  no worries09:36.03 
kens I am hoping, eventually,to rework the PDF interpreter to make it easier to draw individual pages, but its a long term project.09:36.39 
jhabjan the thing is that there are a lot of users using Ghostscript.NET... and at this point, it's hard to change something and not to mess up the logic..09:37.22 
kens LOL you shold try working on teh Ghostscript PDF interpreter......09:37.43 
  Its like playing whack-a-mole09:37.51 
jhabjan :) yep, I figured that out... :) and I also know that if you change some internal procedures that Ghostscript.NET could easily break..09:39.12 
  that bit I did not think about when I started writing Ghostscript.NET09:40.18 
kens Sadly there is as yet no defined API to use09:40.48 
  One day, I hope.....09:40.54 
tkamppeter Robin_Watts, hi10:26.39 
Robin_Watts tkampeter: (For the logs) Sorry, was running. back now.11:26.54 
hmrc87 Hi is it possible within ghostscript to do the imagemagick-command "pdf:use-cropbox=true"?11:30.27 
Robin_Watts hmrc87: interesting nick :/11:32.14 
  There is a -dUseCropBox param to gs.11:33.05 
  If you run imagemagick with the appropriate flag, it will tell you exactly what gs command it uses.11:33.34 
  "-debug All" I think.11:38.30 
kens I'd bet the ImageMagick command simply turns into a -dUseCropBox there are also -dUseTrimBox -dUseBleedBox and -dUseArtBox12:04.39 
  In teh absence of any of the flags, or if the requested Box is not present in the file, we use the MediaBox12:05.42 
  Hmm, well I may have a fix for Werner..... I'm not completely sure I follow what the code is doing, so this counts as hackery of the first order, but it seems to be OK with his test file. Time for a cluster run12:26.52 
tor8 Robin_Watts: a few commits on tor/master12:33.48 
kens Crumbs, my hackery works for the XPS file as well O.O12:36.06 
hmrc87 Thank you for your help, I used dUseCropBox12:46.10 
kens You're welcome12:47.39 
hmrc87 Is there an option to optimize Textrendering when converting PDF to JPEG13:02.30 
chrisl What do you mean by "optimize"?13:02.59 
kens Almost certainly the sanswer is no. Don't use JPEG for content with sharp edges13:03.03 
hmrc87 I think Photoshop is doing a way better job compared to Standard Settings in gs13:03.06 
tor8 hmrc87: don't use JPEG, text in JPEG looks crap13:03.06 
  but if you must, increase the 'quality' setting13:03.25 
hmrc87 The problem is: I'm stuck with JPG for our Outputengine :/13:03.25 
tor8 hmrc87: if you're rendering text, strongly consider using PNG instead13:03.42 
hmrc87 ah ok I try increasing the jpeg-quality Setting13:03.47 
kens You can incfrease the JPEG quality at the expense of compression, that's abou tit13:03.51 
chrisl Depends what "optimize" means.....13:04.14 
tor8 chrisl: "This web page is optimized for 800x600." ;)13:04.34 
chrisl tor8: well, I would previously have taken it to mean "make sharper", but based on the discussion of the other day, it might mean "make fuzzier"......13:05.35 
lokesh hii13:08.02 
  i was trying to look into mupdg android code13:08.16 
  pdf13:08.28 
  ??13:08.29 
  is anybody ol13:08.35 
sebras lokesh: there are several mupdf devs around, feel free to ask questions.13:08.51 
lokesh mupdf 1.413:09.08 
  for android13:09.13 
  we are unble to create .so file13:09.21 
  can you help me with that13:09.26 
tor8 lokesh: follow the ReadMe.txt instructions to the letter13:09.52 
sebras lokesh: platform/android/ReadMe.txt13:10.12 
tor8 sebras: if you got a minute, there are a few minor commits to review on tor/master (all affecting the x11 viewer)13:10.29 
sebras tor8: I'll have a look.13:10.42 
kens ROFL tor's bug purge has shown up in Marcos' reporrt "Closed bugs : 66"13:11.16 
lokesh tried that13:11.51 
tor8 kens: what, ONLY 66? I thought I'd closed way more than that :)13:11.52 
lokesh afeter evrything it says some files are missing13:12.05 
kens Maybe some came in last weeks report.....13:12.07 
tor8 kens: yeah, I've been at it for a few weeks13:12.21 
kens We still have 660 bugs though :-(13:12.48 
lokesh <sebras> ::::: tried readme but still some files are missing13:12.57 
  it says 13:13.00 
tor8 "some files are missing" is not a very helpful error message13:13.33 
  which files, and in which step?13:13.41 
lokesh sure just min i will copy the log13:14.25 
  and paste it here13:14.30 
sebras lokesh: if you get a long error message or you want to provide a log paste it at pastebin.com13:14.34 
tor8 lokesh: use pastebin.com if it's a long copy-paste13:14.39 
sebras lokesh: and post the link.13:14.39 
lokesh "Compile thumb : mupdf <= mupdf.c jni/mupdf.c: In function 'get_globals': jni/mupdf.c:254:28: warning: cast to pointer from integer of different size [-Wi nt-to-pointer-cast] jni/mupdf.c: In function 'Java_com_artifex_mupdfdemo_MuPDFCore_openFile': jni/mupdf.c:335:9: warning: cast from pointer to integer of different size [-Wpo inter-to-int-cast] jni/mupdf.c: In function 'Java_com_artifex_mupdfdemo_MuPDFCore_openBuffer': jni/mup13:14.47 
  this is the error13:14.57 
tor8 that's a warning, not an error13:15.09 
lokesh but still .so file is no generated13:15.24 
tor8 if there was an error, it is truncated. use pastebin.13:15.31 
lokesh pastebin ??13:16.08 
tor8 http://pastebin.com/13:16.18 
sebras is slower at typing than tor8.13:16.26 
lokesh ha ha13:16.51 
  any idea why the .so file is no generated13:17.47 
tor8 lokesh: like I said, paste the error mesasge into pastebin and copy the link here so we can read it.13:18.44 
lokesh sure13:18.58 
  http://pastebin.com/embed_js.php?i=U3tn9MHf13:20.29 
  this is the log13:20.41 
  tor8:: got the link13:21.30 
  ?13:22.05 
kens Patience.....13:22.13 
  Give people time to read what you pasted, and be aware we are all busy on other tasks13:22.31 
lokesh thanks13:22.43 
tor8 lokesh: hm, that looks odd. let me see if I can reproduce it. please give me a couple of minutes.13:23.23 
kens breaks the 40 bug barrier again13:24.34 
lokesh sure13:25.42 
tor8 lokesh: it works on a clean build for me13:26.29 
  lokesh: which version of the code are you using? a fresh git checkout?13:27.19 
henrys kens: in which direction? :-)13:27.36 
lokesh no i just downloaded it form mupdf.com13:27.38 
kens henrys, the right way, down to 39 :-D13:27.53 
lokesh can you give me repository link13:28.09 
tor8 lokesh: the command to clone from git is right on the front page on mupdf.com13:28.34 
lokesh chekout link from git???13:28.39 
  sure will use that 13:28.46 
tor8 lokesh: git clone --recursive git://git.ghostscript.com/mupdf.git13:28.53 
lokesh thanx13:29.05 
hmrc87 So ImageMagick is using an additional converting step to PNGALPHA while converting from PDF to JPG, that's why plain PDF->JPG with GS looks not as good13:40.46 
chrisl So, like I said, you want fuzzy text, then.....13:41.16 
  -dTextAlphaBits=413:41.28 
hmrc87 I want smooth text ^^13:42.10 
chrisl One man's smooth is another man's fuzzy.....13:42.35 
  But -dTextAlphaBits=4 is what you want13:42.50 
tor8 kens: one reason to upgrade to Win8 ... I've heard they've dropped the cleartype color fringing (at least from parts of it)13:43.19 
kens Ooooh, tempting, but not yet quite tempting enough I fear13:43.35 
tor8 the metro tiles and internet explorer don't use cleartype, not sure about other desktop applications13:43.53 
kens Oh, I bet they still do :-(13:44.07 
tor8 and I don't fancy installing it myself, even tempting as lack of cleartype is13:44.10 
kens I can always turn off cleartype :-)13:44.24 
tor8 yeah, but windows 7 font rendering without cleartype is even more atrocious :(13:44.52 
Robin_Watts hmrc87: Any conversion that goes anywhere near JPEG will give you awful text.13:45.00 
kens Sadly this is true13:45.04 
  I do have cleartype turned on, but carefully tweaked to suit me13:45.22 
  I'm sure many people woudl dislike my settings13:45.32 
chrisl Robin_Watts: the text problems with JPEG are much reduced if it's antialiased....13:45.57 
kens Yes, because it avoids the high frequencies13:46.10 
  By making the text fuzzy13:46.17 
chrisl :-) Exactly13:46.24 
Robin_Watts it reduces the high frequencies, but you'll still get extra blur in there due to the quantisation in the DCT.13:46.48 
kens woujdl rather have nice crisp readable text13:46.48 
Robin_Watts jpeg is just wrong for applications involving text.13:47.06 
kens Robin_Watts : that's true, but many people find the blurring more acceptable that way round13:47.10 
tor8 kens: bitmap fonts. it's what I use for my text editors.13:47.11 
chrisl Apparently some people like blur in their text......13:47.20 
kens And yes, JPEG is the wrong answer for anything except photograhpic images, the clue is in the name.....13:47.43 
tor8 if only they'd invented grayscale bitmap fonts before going all "oooh! scalable!" then "oh rats, it looks crap. ooh! hinting!"13:47.55 
  and then "oh noes, now it looks even worse..."13:48.07 
Robin_Watts tor8: Acorn did.13:48.19 
kens and 'look, I can make a font!'13:48.25 
tor8 Robin_Watts: a shame the idea didn't catch on :(13:48.39 
chrisl To me, "optimizing text" has always previously meant "make it more legible", and I rarely find anti-aliasing results in more legible text.....13:48.47 
kens Oh seems I currently have ClearType turnewd off :-)13:48.54 
tor8 still, in the next 10 years if the 200+dpi screens catch on, antialiased vector fonts aren't all that bad13:49.00 
  my biggest gripe is that nobody who does antialiased text bothers with proper subpixel accurate positioning...13:49.51 
chrisl I just don't like hazy edges on glyphs13:50.15 
tor8 if you're going to have blur, at least make it nice and even. but no, that's too difficult...13:50.17 
Robin_Watts tor8: It took us long enough to get right.13:50.30 
  :)13:50.32 
tor8 so now we have blur *and* odd gaps between letters13:50.34 
  Robin_Watts: only for type3 fonts ;)13:50.40 
  and upside down text :)13:50.53 
Robin_Watts I'm still not convinced we get it right in all cases :(13:51.03 
tor8 Robin_Watts: for all fonts, or just the type3s?13:51.27 
Robin_Watts For type3's, I think.13:51.41 
tor8 chrisl: that would explain why you still like nedit :)13:51.46 
  Robin_Watts: yeah. I'm not 100% convinced there either.13:51.55 
Robin_Watts I thought that Michael had a case that went wrong in gsview at the last staff meeting.13:52.02 
tor8 but a lot of type 3 fonts are oddly constructed13:52.05 
chrisl tor8: quite possibly.....13:52.22 
tor8 kens: http://www.fixedsysexcelsior.com/ a truetype that only works in one size, but has zero anti-aliasing at that size.13:54.30 
kens :-)13:55.09 
chrisl What a pointless waste of a TTF.... might as well go back to X11 fonts....13:55.17 
tor8 chrisl: yeah, but what do you do when MacOSX and windows don't support bitmap fonts anymore?13:55.38 
chrisl tor8: I thought Windows at least still supported bitmap fonts13:57.00 
tor8 chrisl: I'm not sure how good unicode support is with them though13:58.07 
chrisl Probably non-existent....13:58.24 
kens fixedsys excelsior supports Ogham :-)13:58.26 
henrys unless somebody feels a meeting is needed let's just spend the time reviewing the agenda and making sure that is up to date. Miles added some requests to the SOT section I didn't completely grok so those are just copy pasted. You cans email changes or post them here and I'll update the document.14:03.21 
tor8 henrys: any news on the URW fonts?14:07.14 
henrys tor8:no but I'll update the agenda to the current status and we'll discuss it.14:10.01 
tor8 henrys: robin and I discussed doing a premature 1.5 release, there were a handful of fairly serious bugs that made their way into 1.414:10.32 
  might want to put that on the agenda as well14:10.44 
henrys tor8:okay14:10.59 
jogux_mac hi all14:11.21 
tor8 one potential buffer overflow bug, and one that could corrupt files we save14:11.27 
Robin_Watts and a big slowdown.14:11.36 
  henrys: Is it OK for me to share the workflowy URL with Joseph/Pete? Can't see why not, but...14:12.36 
henrys Robin_Watts: sure 14:13.26 
Robin_Watts henrys: On the agenda under SOT...14:14.41 
  the font metrics stuff is done.14:14.46 
  #mia should be #miah14:16.48 
  #mace should now be #joseph14:16.56 
jogux_mac thinks it might be good to generally review the SO UI. there's a few places I think it could be relatively easily improved.14:17.19 
kens chrisl you applied a fix in bug #695227 but didn't close the bug,was that deliberate ?14:18.48 
tkamppeter Robin_Watts, hi14:20.19 
Robin_Watts tkamppeter: Hi.14:20.27 
chrisl kens: mistake, I think14:21.05 
kens Shall I close it ?14:21.11 
chrisl I'm just doing it now14:21.24 
kens OK thanks14:21.27 
tkamppeter Robin_Watts, to continue the work of yesterday, I have tried (after a hint of Mike Sweet who I have asked via e-Mail) to convert the PDF to tiff. 8-bit CMYK works perfectly and 16-bit CMYK gives wrong colors, but this time much more wrong than with PWG Raster, consistently wrong for images and text/vector, so can be that GS has a bug or perhaps even that tiff and cups backends have different bugs.14:24.10 
Robin_Watts tkamppeter: It strikes me that we should be able to construct a very simple test file to show this problem. Just a red square on an otherwise blank page.14:25.22 
tkamppeter Robin_Watts, another question: does the data type gx_color_index have enough size to be able to carry 16-bit CMYK (64 bits)? Is this independent of the architecture (I am on Intel 64-bit).14:25.58 
Robin_Watts tkamppeter: Yes.14:26.11 
  It would need to be a 64 bit type.14:26.19 
tkamppeter Robin_Watts, I have also tested CityMap.pdf with the CUPS backend and there 16-bit CMYK is correct. We probably must somehow find out which color space is the text/vector part of launch_leaflet.pdf.14:28.00 
Robin_Watts Different archs cope differently well with 64bit data types, but often 32bit arch can cope.14:28.09 
  tkamppeter: Really? My memory of CityMap.pdf is that it's largely text/vectors.14:28.47 
  tkamppeter: Can you open a bug with the example file, and the command lines for 16bit tiff and 16bit cups output please?14:29.34 
tkamppeter Robin_Watts, I thin what is wrongly colored in the resulting file is not wrongly colored because it is vector, but because it is a special color space.14:30.35 
Robin_Watts Ok, we can find that out by looking at the example file.14:31.02 
tkamppeter Probably the images in launch_leaflet.pdf are another color space than the text/vector part.14:31.15 
Robin_Watts indeed.14:31.37 
  but the images are correct, right?14:31.52 
  Henrys: For the coming staff meeting, Joseph has suggested that if we do GhostDocs first, he and pete may be able to join in remotely.14:32.27 
tkamppeter Robin_Watts, as 16-bit CMYK TIFF CityMap.pdf comes out the same way wrong as launch_leaflet.pdf, so I bet on that in the TIFF case we have another bug than in the CUPS case.14:32.29 
Robin_Watts tkamppeter: Indeed.14:32.39 
tkamppeter Robin_Watts, all images are correct in launch_leaflet.pdf with the CUPS backend.14:33.06 
kens THere's a /Separation Black colour space,and a shading using it14:33.14 
  That's the only non-device space14:33.48 
  All others are Gray, CMYK or Indexed CMYK14:33.56 
Robin_Watts henrys: So, it turns out that apple have been inconsiderate and scheduled WWDC at the same time as our staff meeting.14:35.22 
  which means Joseph will be unavailable pretty much all monday.14:35.39 
  He might be back about 3pm SF time.14:35.47 
marcosw morning14:35.55 
Robin_Watts So possibly we should do gs and mupdf first, then ghostdocs last.14:36.19 
jogux_mac robin_watts: well, I already made plans to join a beer+pizza+keynote party essentially14:36.40 
Robin_Watts That way if we have any questions for joseph/pete we can either pull them in at the end of mondays meeting (if it's not too late in the UK) or at the start of tuesdays.14:36.46 
jogux_mac Tuiesday I'd be fine all day until 3pm SF, or a bit later if necessary.14:37.00 
henrys write the code, change the world he ought not miss that ;-)14:37.23 
pedro_pc too14:37.27 
Robin_Watts jogux_mac: If the meeting goes on to 3pm on tuesday, I think we'll all be killing ourselves.14:37.28 
  We can take a run at most stuff on monday, and make a list of awkward questions for you on Tuesday.14:38.49 
jogux_mac robin: okay, so I reckon that makes any time Tuesday sane for SO then, whether it's us joining via skype if internet works, or via actual phones if that doesn't work out too expensive :)14:39.02 
Robin_Watts You understand that because you won't be in the room, it'll all be your fault, right? :)14:39.03 
jogux_mac okay, that works.14:39.07 
  if you can make a list of awkward questions to send to us by end Monday that even gives us a little time to research them :-)14:39.30 
Robin_Watts will do.14:39.48 
henrys pedro_pc, jogux_mac Also, if you have anything for the agenda let me know14:40.08 
jogux_mac henrys : nothing currently springs to mind, but if it does I'll let you know.14:40.53 
henrys marcosw: we agreed to just review the agenda for the meeting14:40.56 
Robin_Watts marcosw: Could we have a MuPDF 1.4 option on bugzilla please?14:41.18 
  and possibly a 1.5 too :)14:41.22 
jogux_mac henrys: we should maybe give you a SO update now anyway?14:41.23 
pedro_pc henrys: sure. I guess with SO it would be good to figure out scope & direction for SO once we get out of this startup effort14:41.41 
marcosw Robin_Watts: will do both 1.4 & 1.5.14:42.40 
Robin_Watts Ta.14:43.11 
henrys jogux_mac: that would be helpful.14:43.43 
rayjj sorry I'm late and can''t participate much. I have to take the kids to school today14:44.23 
  but it looks like nothing has come up that I have comments on14:44.48 
kens rayjj : henrys says just review the staff meeting agenda14:45.04 
  no IRC meeting today14:45.11 
jogux_mac hernrys: so you may have seen on skype group, we think we're getting close to the non-Good app store releases with the rebranding / random fixes. only real major issue remaining (iirc) is giving the apps a good shakedown on real devices.14:45.25 
rayjj kens: thanks. I'm still plowing thru the logs14:45.50 
henrys pedro_pc: I think it's going to be pretty much customer driven sorted on revenue. There might be a case for UI work it does look a bit dated 14:45.52 
kens rayjj : you can ignore anythig I said ;-)14:46.16 
pedro_pc henrys: cool - I think the UI could do with some sanitisation as its very gimmicky14:46.50 
jogux_mac henrys: I'm back in the UK now; time I could spend over last 2 weeks was a bit limited but I did manage to make some good progress on ATS which is getting more useful, and has spotted a number of real looking bugs that have now been fixed, and I hope to have something sane-ish for ATS VMs to send back to Marcos in 1-2 weeks or so, so we can switch to running it on his (hopefully beefier) machines.14:47.19 
rayjj kens: I did have a question about that encoding issue. Why not use the PDFDocEncoding as much as possible ?14:47.43 
kens rayjj : doesn't work14:47.54 
rayjj kens: OK. 14:48.03 
pedro_pc henrys: on the Good apps, Paul has the iOS app running with the caveat that there are some odd app-switches going on when trasferring files, and also that we're not currently 100% sure what exactly needs tested...14:48.32 
jogux_mac henrys : oh, and pre-app-store update release we probably want to sort out what we're doing wrt to forums, so users have a place other than reviews to rant if we break something...14:48.43 
Robin_Watts henrys: We have the font changes in, and all the bug fixes (from the release branch) are mapped down to master and pass tests etc.14:49.04 
kens More accurately, I'd have to do a lot of rewriting, and it wouldn't gain us anything over whaqt we havenoew14:49.12 
Robin_Watts so we actually have (I hope) a sensible place to start real development work from.14:49.18 
henrys jogux_mac: I proposed discourse.org on the agenda. A few recommended it as well.14:50.11 
pedro_pc on android we're pretty close to the iOS level of functionality but I'm having to do more of the 'optional' 1.6 SDK changes to get the app to behave nicely (partly just down to the way our app is put together)14:50.27 
Robin_Watts henrys: Is the new website guy sorting that out? Or should we be?14:51.52 
henrys Robin_Watts: we'll put a name on it at the meeting.14:52.22 
Robin_Watts ok.14:52.44 
henrys where is there documentation about ATS - is there something in "epage-docs"?14:53.16 
Robin_Watts There is some documentation on the old twiki.14:54.31 
  henrys: First you need to set up an ssh tunnel as described here: http://twiki.ghostscript.com/do/view/GhostDocs/AutomatedTest14:55.36 
  That will also tell you where to get a proxy.pac from that you feed to your browser.14:55.55 
  That will redirect intranet.picsel.com through the ssh tunnel.14:56.07 
  Then you can read: http://intranet.picsel.com/twiki/bin/view/Projects/ATS14:56.16 
henrys Robin_Watts: when can we move that stuff?14:56.52 
  I guess it will go to marcosw along with the ats14:57.10 
Robin_Watts exactly.14:57.15 
  But the plan is that even then we will still use the ssh tunnel.14:57.29 
jogux_mac henrys : I'm trying to santise ATS / get it working a bit more, it then will send VMs for everything back to marcos, yep. another week or two maybe.14:57.39 
Robin_Watts That way all the proprietary stuff is kept secure.14:57.58 
  It'll just be a tunnel into marcosw's garage rather than into Josephs office.14:58.20 
paulgardiner_lap Is there anything we can do to ensure that, should we ever need to set up ATS from scratch again, we'd be able to avoid a repeat of the same hell?14:59.06 
jogux_mac paulgardiner: yes - I'm adding more stuff into git14:59.22 
Robin_Watts paulgardiner_lap: I was just pondering that ATS is still a nightmare of complexity.14:59.32 
  I don't know how feasible it would be to strip out stuff that we really don't need to simplify it further.15:00.12 
pedro_pc there are also docs in ats/docs in CVS which describe some of the architecture too, but I guess we're more interested in operational docs at present?15:01.06 
jogux_mac paulgardiner: I may possibly resinstall some stuff from scratch before I send it back to marcos15:02.55 
  but not sure yet. part of the complexity is not ATS, but due to how the linux machines that underly it were configured (eg. the presenance of the ldap server on picsel's mail machine is assumed by the machines, but not by ATS, and similar with the main nfs fileserver and intranet)15:04.01 
Robin_Watts When we got ATS from the liquidators, it was relying on doing builds on a very old version of debian (etch).15:04.17 
paulgardiner_lap I suppose we achieve a lot by making sure we take good care of backing up the VMs, but I was just wondering if it was possible to script their creation... assuming the VMs are a big part of it which maybe they aren't15:04.21 
Robin_Watts Joseph has pretty much got it so we can ditch that and just use a moderately old version (wheezy).15:04.41 
jogux_mac wheezy is actually current I believe :-)15:04.54 
Robin_Watts oh, wow, ok.15:05.02 
pedro_pc yeah, still old though ;)15:05.30 
jogux_mac wheezy's replacement isn't scheduled for release for another 6 months or so.15:05.30 
  one major piece of ATS I still haven't tackled yet is the windows build clients, as they weren't working at all in the version we got from the admins :(15:10.37 
marcosw clearly isn't the fastest stick in the bunch, he just figured out where the debian release names are from.15:13.09 
jogux_mac marcos: :)15:13.52 
pedro_pc still can't believe that movie is old enough for even one debian version ;)15:17.26 
henrys have a quick errand bbiab15:18.17 
tor8 Robin_Watts: there's a handful of commits on tor/master for when you have a moment free15:19.41 
Robin_Watts To be fair the new release will be named after a character only introduced in the second sequel.15:20.42 
  kens: ping.15:23.09 
kens pong Robin_Watts15:23.16 
Robin_Watts Bug 69511615:23.32 
kens Umm let me look15:23.40 
  Oh yeah15:23.50 
  I remember it now15:23.54 
Robin_Watts This is the one about the jpeg in the PDF with a height of 0.15:23.56 
kens And the odd marker yes15:24.03 
Robin_Watts right.15:24.08 
  so the fix we have in mupdf for this is that when we open a jpeg stream, we check for the header saying '0' and put in the value specified in the PDF file.15:24.44 
kens OK...15:24.51 
Robin_Watts Then the jpeg lib reads that value and it's happy.15:24.58 
kens I guess you want us to do that in GS too15:25.02 
Robin_Watts I was just looking at doing that in GS.15:25.13 
kens I'd assume we pass in the Height to the image operator from the PDF interpreter15:25.38 
Robin_Watts I think we have an opportunity to do it (in gs_jpeg_create_decompress)15:25.44 
kens Sounds reasonable but let me look15:25.55 
Robin_Watts but I need to get the Height, as you say, from the PDF interpreter.15:25.56 
kens which file is that ?15:26.00 
Robin_Watts sjpegd.c15:26.14 
kens OK 1 sec15:26.18 
  Oh right at the top of the file :-)15:26.55 
  OK, so you would need to put the image height in the stream_DCT_state15:27.15 
Robin_Watts right.15:27.22 
kens Doesn't seem onerous15:27.32 
Robin_Watts It's getting the height from the PDF interpreter that I am unclear on.15:28.04 
kens You don't get it from the PDF itnerpreter,you get it from teh 'image' operator15:28.19 
Robin_Watts We're under zDCTD here.15:28.34 
kens The PDF interpreter will create a dictionary with /Height in it15:28.35 
  Yes, so you need to get the Height in zimage and add it into the DCT state, just a second while I set a break15:29.01 
  Actually it might be set up elsewhere15:29.24 
chrisl Width and height should be in the image enumerator, I thought15:29.37 
Robin_Watts zimage doesn't get called.15:29.38 
kens So I see, maybe its a differnt type of image15:29.49 
  I cna never keep these straight15:30.00 
  zimage1 maybe15:30.42 
  Nope15:31.06 
Robin_Watts ok, so zDCTD will get called first.15:31.08 
  Then zimage115:31.11 
kens Ah, that's not so good15:31.17 
  We won't have the Height until we get to zimage15:31.29 
Robin_Watts That's fine, it's still early enough.15:32.13 
kens OK15:32.35 
Robin_Watts well, zimage is called before image_file_continue is, and it's in image_file_continue that I need to have done the fiddling.15:34.18 
kens Oh, well you should be good in that case, the image enumerator should have the height I think, and you get to the 'continue' no matter what image type it is (I think)15:35.02 
tkamppeter Robin_Watts, I would like to submit a bug but bugs.ghostscript.com is down.15:35.10 
Robin_Watts I can do the fiddling in image_file_continue (or rather in gs_jpeg_read_header which is called from it), but do I have the image enumerator in image_file_continue ?15:35.24 
kens worked for me 1 minute ago15:35.25 
Robin_Watts tkamppeter: Is it?15:35.41 
kens Still seems to be OK15:35.43 
Robin_Watts works for me too.15:35.51 
chrisl Seems fine to me too15:35.51 
kens Robin_Watts : one moment15:35.53 
Robin_Watts kens: thanks.15:35.58 
kens Robin_Watts : in image_file_continue, penum->height15:36.40 
chrisl I think I said that.....15:36.53 
kens COuld be, I kind of got lost15:37.02 
chrisl And it's Height15:37.11 
kens its height in the code here15:37.24 
Robin_Watts penum->height is indeed in image_file_continue15:37.49 
  but by the time I get down to stream specific stuff, I don't have penum any more :(15:38.05 
chrisl Hmm, so not a gx_image_enum_s then......15:38.08 
kens no its a gs_image_enum15:38.19 
  Robin_Watts : I feared that might be true15:38.33 
chrisl Well, no, streams aren't images....15:38.39 
kens exactly15:38.45 
chrisl You'll have to add a new value to the dct state15:39.07 
kens chrisl yes, but where to set it15:39.18 
Robin_Watts chrisl: I have done that. The question is when can I set it.15:39.23 
  kens types faster :)15:39.28 
kens At the time we set up the DCT state we don't know hte height15:39.33 
tkamppeter Robin_Watts, probably something is blocking here. Perhaps I should try from my hotel room and in the worst case next week when I am back home. Or should I send you an e-mail so that you can post.15:39.38 
kens When we know the height, we don't have the stream easily available15:39.50 
Robin_Watts tkamppeter: Send me an email, sure.15:39.51 
chrisl Perhaps people should just get their PDFs right......15:40.13 
kens Well it is technically legal (dumb, biut.....)15:40.29 
tkamppeter Now it has posted it but lost the description, I will add the description as a second iteration (comment) now.15:40.54 
chrisl I didn't think it was baseline JPEG, I guess it is.....15:40.55 
kens actually we do have the stream available in image_file_continue15:41.20 
chrisl Do we have a "proper" way to know it's DCTD?15:41.48 
kens I htink not, ecause it could be a pipeline (ascii85 then DCT for instance)15:42.12 
chrisl True, yes15:42.21 
kens So we would have to walk the pipeline looking to see if any of the filters was DCT15:42.35 
tkamppeter Description is there, sorry, loaded very slowly.15:42.52 
Robin_Watts Could we shoehorn the Height into the dictionary passed to zDCTD?15:44.20 
kens chrisl iin this case there is at least a SubFileDecode before we get to the DCT15:44.26 
  Robin_Watts : I don't think so no15:44.36 
Robin_Watts didn't sound like a nice idea :)15:44.51 
kens We create the DCT filter *before* we make that dictioanry then add that (using a SubFileDcode filter) to the dictionary we pass to image as the /DataSource entry15:45.09 
chrisl Oh, yuck, struct gs_image_enum_s is defined in gsimage.c.....15:47.14 
kens Of course.....15:47.25 
marcosw bbiaw15:47.31 
kens And then probably defined elsewhere too when someone needed it15:47.41 
chrisl It's typedef'ed to gs_image_enum in gsimage.h15:48.06 
kens It may be possible to deal with this in image setup15:48.09 
  by looking at the data source and walking the pipeline looking for DCT filters15:48.26 
  Its a bit hideous though15:48.47 
chrisl Could we parse the image dictionary a bit earlier?15:50.00 
kens image_setup seems like hte earliest possible place, unless you mean in the PDF interpreter ?15:50.35 
Robin_Watts Could we extend the image sources with a new entry point?15:50.49 
  suggest_height or something ?15:51.01 
chrisl Yeh, in the pdf interpreter - so have the dict when we create the filter(s)15:51.19 
kens I'm not sure how that would help15:51.24 
Robin_Watts stuff like ascii85 would pass it on.15:51.26 
kens chrisl I'll look at the PDF interpreter15:51.34 
Robin_Watts then we could call that from image_filter_continue15:52.21 
kens That sounds like you are talking about the streams, not the images15:52.47 
Robin_Watts I meant stream, sorry.15:52.57 
kens and teh streams can be used on objects which are not images15:53.00 
chrisl I think we have the dimensions when we create the filter chain.....15:53.08 
Robin_Watts right, so for those they wouldn't implement it.15:53.18 
kens I'm reluctant to add image-specific stuff to the streams15:53.19 
Robin_Watts some streams need to handle predictions based on width etc, right?15:53.42 
  oh, that's probably in the dictionary it's passed at setup time.15:54.01 
kens Indeed15:54.05 
  The stream creation deals with that15:54.12 
  let me look at what Chris is proposing15:54.22 
Robin_Watts ok.15:54.27 
chrisl kens: in pdf_draw.ps /makeimagekeys15:54.52 
kens Its possible we could add a new entry to the DCT dictioanry15:54.57 
  chrisl that looks plausible15:55.26 
chrisl The slight problem is that the filter setup is "hidden" in /resolvestream15:55.33 
kens Hmmm15:55.39 
  There's special code for JPX though, so we can probably do 'something' ther15:56.02 
chrisl Yeh, it means checking the array for DCT and doing 'something'.....15:56.34 
tkamppeter Robin_Watts, I finally succeeded with Firefox instead of Chrome: http://bugs.ghostscript.com/show_bug.cgi?id=69526415:56.44 
kens I was thinking we could add a unique jey to the dictionary which contains the Height15:56.54 
Robin_Watts tkamppeter: Thanks.15:57.06 
kens s/jey/key15:57.07 
chrisl kens: the stream dict?#15:57.21 
kens Well, the dictionary we use to create the stream decoder15:57.35 
Robin_Watts tkamppeter: Could you add the tiff command line too please?15:57.41 
chrisl kens: yeh, in which case, I wouldn't bother doing anything specific to DCT, just stick the value in there, and use it in resolvestream if we hit a DCT decode15:58.27 
kens Essentially what I was thinking, yes15:58.41 
  Then the DCT setup code can use the dict parameter15:58.56 
  If its present15:59.02 
chrisl utters famous last words: "Yep, I reckon that should work...."16:00.45 
kens Its the usual baling twine, but I think I can make it happen16:01.08 
  Robin_Watts : I'll look at it tomorrow if that's OK, I need to go and start dinner16:01.34 
Robin_Watts kens: no worries. thanks!16:01.42 
chrisl kens: the only other thing I can think of is inline images......16:01.58 
kens I'll get it as far as the stream decoder, and then you can add the magic there. THat way you won't have to look at PostScript or the horrors of the PDF interpreter16:02.09 
  chrisl an inline JPEG ? I suppose its possible......16:02.24 
chrisl IIRC, it is legal, yes16:02.42 
kens But presumably we still need to set up a decoder, so the same trick should be possible16:02.48 
chrisl Yeh, I just meant it might get called from somewhere else16:03.05 
kens I can probably manufacture one to play with and see.16:03.20 
chrisl Or just ignore it, and hope it never happens!16:03.34 
kens I'd rather deal with it now....16:03.44 
  I *think* it all goes through resolvestream anyway, but its wise ot be sure16:03.57 
  Have to go, goodnight all16:04.09 
chrisl g'nite kens16:04.19 
henrys Robin_Watts, paulgardiner did you see brad's email?19:30.36 
  marcosw_: maverick upgrade has been surprisingly uneventful19:36.33 
marcosw_ henrys: that's good news; I've usually had good luck with Mac OS X upgrades, at least for the last 3 or 4 verisons.19:37.54 
 Forward 1 day (to 2014/05/28)>>> 
ghostscript.com
Search: