IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2013/05/19)2013/05/20 
vtorri_ tor8, i've solved my rendering problem, just a missing call of an evas function07:22.13 
  now, i display the pdf07:22.48 
tor8 vtorri_: great!07:36.38 
vtorri_ tor8, but now, i'm wondering if I use dislay_list correctly :)07:37.23 
Robin_Watts vtorri_:08:34.55 
  You want something like: if (pagenum != the_page_number_the_display_list_is_for) { fz_free_display_list(list); list = NULL; }08:35.56 
  if (displaylist == NULL) { regenerate_display_list... }08:36.19 
vtorri_ Robin_Watts: in _etui_pdf_page_set() i guess08:38.43 
  "the_page_number_the_display_list_is_for" <--- the current page number i guess08:40.04 
Robin_Watts vtorri: Yes. The point is you want to throw away the old page whenever you render a new one.09:08.08 
vtorri_ indeed09:08.19 
  thank you09:08.24 
Robin_Watts np. bbiab.09:08.33 
vtorri_ Robin_Watts: actually, i already free the display list10:21.54 
  https://github.com/vtorri/ecrin/blob/master/etui/src/modules/pdf/etui_module_pdf.c#L33110:22.13 
  i reach that line if the pages are different10:22.29 
  so i just have to create one just after the free, line 33510:22.55 
  right ?10:22.58 
Robin_Watts vtorri: So, you're freeing the page on every page_set. Fair enough.10:31.41 
  but in render, if you're using the display list you ALWAYS re-render it.10:32.15 
  You want to only render it if you haven't got one already.10:32.27 
  if (pd->page.use_display_list && !pd->page.list) { dev = ... }10:32.58 
vtorri_ hmm10:39.49 
  ok10:39.51 
  thanks10:39.59 
Robin_Watts Can anyone else get to peeves?11:21.35 
  ah, dashboard shows it as down.11:21.47 
henrys kens:I never actually looked at the code, setcharwidth ends up calling setcachedevice? weird you use setcharwidth when you don't want to cache the character right?13:39.14 
kens henrys it goes through the pdfwrite text_set_cache which strictly speaking isn't quite the same thing, but it works for my purposes13:39.51 
henrys okay13:40.12 
  kens:now that I look the intellifont build_char routine uses the 0 area setcachedevice as you had it.13:44.07 
kens Hmm, well I'mhappy with this, or can change it to setcachedevice. For me its the same either way13:44.57 
henrys kens:I might change the intellfiont thing someday, I do prefer setcharwidth ...13:46.05 
kens Fair enough13:46.41 
Robin_Watts henrys: I made mudraw output pwgraster last week.14:01.54 
  I'm pondering how hard it would be to add pcl output too, by just dumping bitmaps.14:02.33 
  How hard would it be to write a PCL file that consisted of (possibly rle'd) bitmap rgb data (or grayscale or mono)14:03.27 
  ?14:03.30 
henrys Robin_Watts: trivial pull it out of ghostscript14:03.50 
Robin_Watts 2 halves of a sentence that are seldomly seen in conjunction there...14:04.19 
  :)14:04.20 
  can you point me at the appropriate device please?14:04.40 
henrys the problem is printer options - how are you doing say duplex, paper requests - all the setpagedevice stuff?14:04.40 
Robin_Watts henrys: For the first version, I'm not.14:04.55 
henrys ljet4 is very easy.14:05.04 
kens You can't set those (driectly) in PDF anyway, nor in XPS14:05.16 
Robin_Watts My plan with such things is to have an options struct that can be passed into the function.14:05.26 
  The default code will pass NULL.14:05.34 
kens Both require a separate job descriptor14:05.41 
Robin_Watts so people can fill the struct out if the want to use it.14:06.09 
henrys well I thought thought pwgraster was to work with ppd's like cups?14:06.22 
Robin_Watts Right.14:06.27 
  So there will be a separate exe for that, that understands all the extra command line things to pass in the various options.14:06.57 
  That will fill in the options struct and pass it in to the writing code.14:07.09 
  so mudraw doesn't get bogged down in such things.14:07.42 
henrys you can do color but I don't know of any performant laser color using PCL raster, you have to use high level xl which is something you don't want to get into.14:11.30 
Robin_Watts henrys: Step 1 is to get *something* that works, I think.14:12.50 
  We could do a high level output device later, but that would have issues with transparency etc.14:13.22 
  Presumably, if you are printing full page photos, you must be sending raster, right?14:14.05 
henrys I shouldn't have said non performant - I mean unacceptable or doesn't work at all (memory overflow)14:15.01 
  so if you are going with raster I'd say do mono14:15.31 
Robin_Watts henrys: I'll do both, assuming it's not stupidly hard.14:15.51 
  but are you seriously saying that people might buy a color laser printer, and when they try printing a photo on it, be told that it's run out of memory?14:16.30 
  How can people print a full page color photo in PCL *without* sending raster?14:17.27 
henrys Robin_Watts:pxlcolor, ps2write, pswrite14:17.57 
  Robin_Watts:oh sorry misunderstood - I doubt it would be able to print a 600 dpi high level image.14:19.14 
Robin_Watts If I was testing a laser printer, my tests would be: 1) black and white text, 2) color text, 3) office graphics (text, line art etc), 4) full page photos.14:19.33 
henrys I think postscript would fail as well, typically images are smailer and scaled to 600 or 1200 dpi.14:19.46 
  but your photos aren't 600 dpi14:20.08 
kens PostScript, it depends on teh printer and the VM14:20.42 
Robin_Watts henrys: 18Megapixel camera on the floor next to me...14:21.04 
kens In general the size o the input image ios not relevant, as only one scan line at a time is considered, and rendered to the output page14:21.06 
Robin_Watts so 300dpi14:21.11 
  at A4.14:21.15 
kens In a treaming langguage, the size of the input image is irrelvant (mostly)14:22.04 
Robin_Watts kens: depends on the capabilities of banding, and the transform on the image etc, but...14:22.27 
kens Yes, but in general we only need consider one scan line of the image14:22.41 
  So it doesn't matter how big the input image is, we only look at one scan line at a time. (barring things like clever downsampling and so on)14:23.17 
  Of course, it can take a long time to transmit the image data, and thenfor the interpreter to throw it away....14:24.04 
henrys I am almost certain a 600 dpi postscript image (full page) will choke my Color Laserjet 4600 - which is a fairly good color laser.14:24.26 
kens But perhaps a crappy PostScript interpreter ? THere really is no need for the interpreter to store very much of the image data14:24.57 
henrys if it doesn't choke it will take an eternity. I guess it would be easy to try it out if you like.14:25.01 
kens I would beleive it will take a long time14:25.14 
henrys the scan lines don't matter - printers work with bands they fill the bands with commands that get played back when the page is rendered. if you have bands full of raster commands for an entire page the printer is likely to run out of memory.14:30.52 
  Robin_Watts:any clj_print_page() is for color pcl raster - I'm happy to try out anything you produce on the Color Laserjet which is a fairly popular laser if not a bit dated.14:33.38 
  s/any//14:34.05 
Robin_Watts henrys: Thanks. I will try that out later. Just adding the PWG options struct now.14:34.25 
kens Err, that's *one* way for a printer to work. ANotehr is as a page device where it simply renders directly to memory.14:34.55 
henrys kens:absolutely if it is full frame there is no issue.14:35.41 
kens So the size of the input is irrelevant, the printer has enough memory for the whole page, and only needs enough additional memory to handle interpretation.14:35.49 
  Another technique is 'compressed raster' where we store the whoel page in compressed form, and only decompress sections as required. More efficient on memory but slower, and in extreme cases may actually run out of memory if the total available is less than a full uncompressed page14:36.44 
henrys I don't know of full frame color printers, ray_laptop would be out of business if it were the norm.14:37.23 
  all our printer customer have used the command list as far as I know.14:39.14 
kens Well, we implemented teh compressed raster method for a Jaws customer. I know of others who used a page buffer directly. I couldn't say how many were colour, or laer printers though14:40.30 
  To me the clist method sounds like the wrost of all worlds, but <shrug> I haven't analysed it14:41.10 
  IIRC chrisl got Jaws running full colour A4 in the same memory footprint as the original Apple LaserWriter.14:42.26 
  Admittedly very slowly, and prone to run out of memory at the slightest provocation, but then its 'dancing bear' territory14:42.57 
Robin_Watts clist wins if you have a harddisc, but small ram.14:43.33 
henrys kens:what if you want to render ahead of the current page?14:43.41 
kens Yes, but that's not usually the case for printers14:43.47 
Robin_Watts kens: Indeed.14:43.58 
kens henrys, again, these kinds of devicesw usually have enough memory for a full pahe in my experience14:44.31 
  s/pah/page/14:44.39 
Robin_Watts kens: In the absence of transparency that's absolutely sane.14:44.59 
  But with transparency there is a swing back towards clist again.14:45.14 
kens Possibly, I haven't really been in touch with low level manufacturers in recent years.14:45.36 
  As far as I'm aware, most printers still don't do PDF as an input, which leaves raster ops, and area I know nothing about14:46.26 
Robin_Watts raster ops is easy to do pagewise.14:46.50 
kens Given that you have to do the rendering at some point, it seems to me that a page buffer should always be the fastest approach. Barring multiple rendering threads14:47.44 
henrys Robin_Watts: marcosw also has a similar printer so probably best to stick with that, you'll have 2 folks to test.14:48.11 
  kens:the laters lasers are 1200 dpi some with multiple bits per component that's a lot of memory14:51.24 
kens Memory is cheap14:51.40 
  And yes I know manufacturers liek to economise on it14:51.55 
  But they also like a decent PPM14:52.10 
henrys Robin_Watts: FWIW monochrome PCL raster works fine on my color printer.14:59.01 
Robin_Watts henrys: Thanks.14:59.27 
henrys humph henrysx6 is not reachable.15:33.15 
ray_laptop the network connection from peeves appears VERY busy16:34.43 
Robin_Watts ray_laptop: peeves has been down as far as the cluster is concerned all day16:39.15 
henrys I've rebooted henrysx6 and it is up now, no idea what happened16:43.09 
ray_laptop robin_watts: OK. restarting peeves (the old fashioned way). But why that would make the other machines on my local network slow, I don't know16:49.46 
  I couldn't get in locally16:50.41 
  it may take a while to come back u16:50.59 
  up16:51.01 
  well, actually it is up now.16:52.00 
  That was FAST16:52.03 
  must have been something peeves was doing to the net that was making it slow. It's fast now16:54.17 
vtorri_ you guys seem to like Harry Potter a lot :p17:30.41 
  Robin_Watts: about my lib, in page_set(), i free the page and the display_list, and i create a new page and a new display_list17:32.47 
  is it reasonnable ?17:32.55 
ray_laptop vtorri_: our primary server is actually 'casper', but for a while we had our DNS secondary server named 'nick' (it was a laptop with a bad screen, so it was a play on "Nearly Headless Nick")17:58.57 
  but once we got the regression cluster going, we got tired of naming them after ghosts17:59.35 
  The names of our regression servers follow from one of the first AMD servers "miles" named after our president. Then marcosw followed in the distance terms since there are lots to pick from.18:00.52 
  a few of our regression servers, however, are named after the staff member who has them.18:01.40 
Robin_Watts vtorri: Our names, AFAIK, have absolutely NOTHING to do with HFP.18:10.36 
sebras Robin_Watts: its HJP, is it not..?18:13.22 
  even with an apostrophe...18:13.39 
Robin_Watts sebras: The F is not his middle name :)18:13.45 
sebras Robin_Watts: oh. so it's french. :)18:15.23 
  just for the record, I had to look up the J...18:16.04 
vtorri_ junior ?18:17.56 
  Robin_Watts: and about my question ?18:18.19 
Robin_Watts vtorri: Urm, assuming you never call set without then calling render, that's fine.18:18.49 
  as otherwise you'd be wasting time.18:18.57 
ray_laptop robin_watts: you will be pleased that we've abandoned the ghost naming, but had we continued, I wasn't going to name any of my machines from H F* P18:20.02 
Robin_Watts ghost naming didn't offend me.18:20.36 
ray_laptop when rillian had his fanless machine, I was going to suggest he name it 'whisperer'18:21.27 
Robin_Watts :)18:21.35 
ray_laptop but he didn't go for that.18:21.40 
vtorri_ Robin_Watts: i don't really understand what you write above : if (pd->page.use_display_list && !pd->page.list) { dev = ... }18:24.08 
  that code should go in render18:24.30 
  i don't understand the !pd->page.list18:24.52 
  why ! ?18:25.07 
Robin_Watts if (pd->page.use_display_list == if (we're using a display list18:25.50 
  && !pd->page.list) == && we haven't got a page list)18:26.14 
  then make one.18:26.24 
vtorri_ i already do that18:26.36 
Robin_Watts Right, but your existing code was wrong.18:26.48 
vtorri_ ha ?18:26.55 
Robin_Watts maybe you've fixed it since I looked.18:27.02 
  but your existing code said:18:27.19 
  if (pd->page.use_display_list) { if (!pdf->page.list) { make one } make_a_page_list_device; draw onto it; free the device; }18:28.18 
vtorri_ yes18:28.40 
Robin_Watts which meant that every time you entered render, you'd draw onto the display list again.18:28.41 
  "yes, that's what it used to do" or "yes, that's what I do and I can't see why that's wrong" >18:29.01 
  ?18:29.03 
vtorri_ "yes, that's what I do and I can't see why that's wrong" 18:29.15 
  and how to fix that :p18:29.33 
Robin_Watts OK. The first time you render, you'll enter the render function.18:29.42 
  You'll see that you're supposed to be using a display list.18:29.56 
  You'll check to see if you've got a display list - you haven't, so you make one.18:30.11 
vtorri_ yes18:30.23 
Robin_Watts Then you make a display list device that writes to that list.18:30.29 
vtorri_ 'write to that list' == 'draw onto it', right ?18:30.51 
Robin_Watts Then you run the page. That appends a whole load of drawing operations onto the display list.18:31.02 
  A display list is a list of display operations.18:31.13 
  so writing to the list doesn't actually draw anything. It puts stuff onto the list so that when you play the list back to a drawing device, THEN drawing will be done18:32.00 
  ok?18:32.12 
vtorri_ ok18:32.15 
Robin_Watts So, the second time you render a page...18:32.25 
vtorri_ so i guess that the "problem" is when i render the same page a second time18:32.35 
Robin_Watts you check to see if you're supposed to be using a display list - and you are.18:32.49 
vtorri_ yes18:32.53 
Robin_Watts You HAVE a display list already, so you don't make another one.18:33.00 
vtorri_ yes18:33.08 
Robin_Watts You then make a list writing device with your existing display list.18:33.23 
  and you run the page to it.18:33.27 
  You now have 2 copies of the drawing operations for the page on your list.18:33.39 
vtorri_ so the problem is that i have called fz_run_page() twice, right ?18:34.09 
Robin_Watts Yes.18:34.28 
vtorri_ hmm18:34.34 
  so18:34.43 
  actually, i can save the device18:34.53 
Robin_Watts Why would that help?18:35.10 
vtorri_ first render : i create the device18:35.12 
  because it is NULL18:35.22 
  then I call fz_run_page18:35.32 
Robin_Watts You need the display list writing device when you write the display list.18:35.42 
vtorri_ second call : as the device is not NULL, I do not call fz_run_page18:35.51 
Robin_Watts You only need to write the display list once.18:35.53 
  ?!?!?!?!?18:36.18 
vtorri_ :)18:36.28 
Robin_Watts If you have a display list, then you don't need to do anything!18:36.33 
vtorri_ no fz_new_list_device nor fz_run_page ?18:36.59 
Robin_Watts EXACTLY!18:37.06 
vtorri_ hmm18:37.21 
Robin_Watts change the condition to be if(I_should_be_using_display_lists && I don't have one).18:37.29 
  i.e. exactly what I said many hours ago.18:37.39 
vtorri_ so actually, i can call fz_new_list_device and fz_run_page during page_set(), right ?18:37.41 
  just after creating the display_list18:38.01 
Robin_Watts sure, if that's what you want to do.18:38.07 
vtorri_ they all will be called only once18:38.12 
  thanks18:38.58 
Robin_Watts np18:41.32 
vtorri_ may i call fz_free_device() just after fz_run_page() ? or should I keep the device ?18:44.12 
Robin_Watts Get rid of the device as soon as you can. Why would you keep it around?18:46.34 
vtorri_ i don't know18:46.58 
  you have realized that i don't know much all that stuff :)18:47.15 
ray_laptop oops. That's not good. I wonder if peeves just crashed. (rayjj was running on peeves)18:47.24 
  hmm... I'm able to ssh in, but when I switch my KVM over to peeves, nada :-(18:48.52 
  I wonder if I have a heating problem ?18:49.08 
Robin_Watts ray_laptop: can you take the side of the case off easily?18:49.45 
  tor8: We have a -g flag in mudraw to mean "render in grayscale"18:50.08 
ray_laptop robin_watts: I'll look. It's been a while18:50.12 
Robin_Watts How would feel about -gg meaning "monochrome" ?18:50.22 
tor8 Robin_Watts: isn't there a flag for non-antialiased, and pgm output?18:50.55 
  pbm output, I mean18:51.02 
Robin_Watts file.pbm means monochrome currently.18:51.16 
  and -a0 means no antialiasing.18:51.34 
  but that doesn't mean monochrome, cos you get greys etc, right?18:51.45 
tor8 you want monochrome 1-bit output for png (and other formats that can support variable bit depths?)18:51.50 
Robin_Watts For pwg and for png specifically18:52.03 
  and for pcl.18:52.06 
vtorri_ robin_watts: i've updated the code18:52.12 
  fz_run_page is called only once, during page_set18:52.30 
Robin_Watts For png you get rgb by default, -g means greyscale. I could add -SOMETHINGELSE for mono, or use -gg.18:52.45 
tor8 Robin_Watts: a bit depth flag (with values 1 and 8 supported)?18:52.46 
vtorri_ i've remove all the code in render(), as it's seless now18:52.59 
tor8 if we want dithered rgb or cmyk out for instance18:53.16 
Robin_Watts tor8: yeah, cmyk would be good.18:53.35 
  oops. It's -b for antialiasing, not -a.18:53.53 
ray_laptop robin_watts: the CPU temps all look OK. The highest coretemp is 62C, the high limit is 80C, critical 100C18:54.00 
tor8 maybe it's time to separate color/aa/depth from the output format18:54.03 
Robin_Watts so want to suggest a flag ?18:54.16 
tor8 have "default" values for each output format, and a validation step18:54.34 
  let me look over the current flags18:54.46 
  so we have colorspace, whether to save with or without alpha channel, bit depth and anti-aliasing flags18:55.51 
Robin_Watts -c rgb8 ?18:56.20 
tor8 how do you feel about splitting the text output to a separate tool so we can free up some options?18:56.39 
  and add more for the text output18:56.51 
ray_laptop robin_watts: I stuck my hand inside the case, and it seems fine. I can't get at the video card easily. It might be the culprit18:56.52 
Robin_Watts I'd rather avoid that, but...18:57.25 
ray_laptop robin_watts: and nothing serious in kern.log. Do you know offhand of any other logs I should look at ?18:57.34 
tor8 -c gray -c rgb -c cmyk ?18:57.38 
Robin_Watts ray_laptop: I don't, sorry.18:57.55 
tor8 -b for bit depth, -a for anti-aliasing18:58.04 
  rgba for rgb with alpha18:58.16 
Robin_Watts I was hoping to avoid changing any existing flags.18:58.24 
  -c is free, and we can let that determine colorspace and colordepth18:58.41 
tor8 -c <pixel format> basically18:58.55 
Robin_Watts -c {mono,grey,rgb,cmyk}18:59.06 
  -c {mono,grey,rgb,rgba,cmyk}18:59.25 
tor8 mono==grey (in my understanding of language)18:59.29 
Robin_Watts grey = contone.18:59.41 
  mono = 0 or 118:59.46 
tor8 monochrome = one color. monobit = 0 or 1.18:59.53 
ray_laptop tor8: robin_watts: what's the objection to the more verbose options --color=rgb --bits-per-component=8, ...19:00.18 
Robin_Watts ray_laptop: We haven't got code to handle --longflags :)19:00.59 
ray_laptop or you could do like Russell Lang did with -dDisplayFormat=___ ;-)19:01.25 
  of course, we would drum you out of Artifex at the next staff meeting ;-)19:01.43 
tor8 -c {mono,gr[ea]y,grayalpha,rgb,rgba,cmyk} is fine19:01.56 
  and drop -a19:02.24 
ray_laptop robin_watts: you could probably lift the long-flags code from gs (and clean it up to meet mupdf "standards")19:02.33 
tor8 and exit with error if the pixel format isn't supported by the file format19:02.42 
Robin_Watts tor8: It leaves us free to add other things later; like r4g4b4a4 or anything else.19:02.50 
tor8 Robin_Watts: yeah. I'd drop -g as well19:03.10 
ray_laptop robin_watts: r4g4b4a4 -- seriously ?19:03.17 
Robin_Watts ray_laptop: or c1m1y1k1 as opposed to c8m8y8k8.19:03.41 
  My point was it's an open enough scheme for future extension.19:03.55 
tor8 I'm going to need to probe paulgardiner about how to use signatures tomorrow, in my quest for the best solution to the openssl problem19:04.21 
  openssl takes twice as long to compile as mupdf + all other third party libraries combined19:04.38 
Robin_Watts tor8: I'd be tempted to leave those flags in an deprecate them to avoid breaking peoples existing code (in particular the cluster maybe)?19:04.48 
ray_laptop would you have to specify bit depth for each component, or would just a trailing # imply that all were the same, as in cmyk8 == c8m8y8k819:04.53 
tor8 I do have it compiling using our build system, so cross compilation for android should work19:04.59 
Robin_Watts ray_laptop: For now, I propose to ignore the issues of depth. We can worry about that when it rears its head.19:05.28 
tor8 Robin_Watts: automatically set the anti-aliasing on monochrome/contone, or do you see value in having it tweakable separately?19:06.11 
ray_laptop robin_watts: well, depth for gray is probably sought after (g1 and g8, in particular)19:06.34 
Robin_Watts m = g119:07.33 
ray_laptop tor8: obviously, you don't want AA for depth = 119:07.35 
Robin_Watts tor8: Yes, I want it tweakable separately.19:07.49 
  It's been useful for debugging in the past (it's why the option is there :) )19:08.03 
  ray_laptop: And we can want AA for depth = 1.19:08.29 
ray_laptop also no AA is handy for auto comparison to gs output.19:08.33 
Robin_Watts Remember that mupdf always renders in 8bpc, and then dithers down :)19:08.39 
ray_laptop robin_watts: really. It is HORRIBLE for character edges (makes them "noisy" looking)19:09.11 
Robin_Watts Well, we don't have a concept of rendering text without aa :)19:10.37 
  unless the chars are REALLY big.19:10.49 
ray_laptop robin_watts: that could be a problem19:11.10 
  robin_watts: try it and have a look. It can make even moderately small text almost illegible. Certainly unaesthetic.19:12.23 
Robin_Watts ray_laptop: I understand. How would you suggest we fix it?19:13.27 
  We could ask freetype to give us un-antialiasing things, but then if they are drawn in colors/shades of grey, you'd be no better off.19:13.58 
  And if there is blending/transparency going on...19:14.12 
ray_laptop robin_watts: I'll have to a look at your code paths. Clearly someplace in the chain knows that the actual target bit depth is 119:14.25 
Robin_Watts ray_laptop: None of the rendering knows that the target bit depth is 1.19:14.47 
  We render the whole 8bpc pixmap.19:15.04 
ray_laptop robin_watts: I agree that colored/gray text, all bets are off, but for "normal" black text, things are better w/o AA (IMHO)19:15.17 
Robin_Watts THEN we convert it to a 1bpp one with some crufty halftoning code.19:15.19 
ray_laptop robin_watts: but you _do_ have a way of setting no AA19:16.16 
Robin_Watts ray_laptop: We have a way of setting the antialias level for line-art etc.19:16.59 
ray_laptop robin_watts: it's just that when rendering text, and when the target is depth 1, use the no AA methods.19:17.00 
  robin_watts, does 'etc.' include text ?19:18.04 
Robin_Watts No.19:18.08 
  (except for very large glyphs that don't get cached)19:18.24 
ray_laptop robin_watts: so requesting no AA still uses AA for text ?19:18.26 
Robin_Watts yes.19:18.33 
ray_laptop robin_watts: you can still have 8bpp deep in the cache of glyphs, but just drawn without AA19:19.08 
Robin_Watts That'd be mad, Ted.19:19.51 
ray_laptop and that doesn't defeat using that as a mask for painting a character in a gray shade19:19.53 
  oh, well. You can just wait and see if a customer ever surfaces that wants 1bpp then fix it :-)19:20.44 
  robin_watts: or tell them they have to use ghostscript ;-)19:21.03 
Robin_Watts yeah, I'll worry more when we have a use case.19:21.26 
ray_laptop time for a bit of lunch. bbiaw19:21.45 
tor8 Robin_Watts: ray_laptop (for the logs): we actually do test on no-AA to render monochrome text as monochrome with hinting19:57.28 
vtorri_ annother question : FZ_META_FORMAT_INFO allows to retrieve the PDF version of the PDF. With XPS, only "XPS" is returned. Is it normal that there is no version ?19:57.55 
tor8 fz_render_ft_glyph takes the aa level as an argument19:58.03 
henrys Robin_Watts: is this what you want? #if 1 //def PACIFY_VALGRIND23:47.32 
Robin_Watts henrys: oh, rats.23:47.45 
  That was to force the cluster to test it.23:47.54 
  will fix it, thanks23:47.59 
henrys np23:48.03 
 Forward 1 day (to 2013/05/21)>>> 
ghostscript.com
Search: