IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2014/05/14)2014/05/15 
kens chrisl I believe that report of corrupted binares is bogus, I'm just writing an email now07:12.33 
chrisl kens: I uploaded fresh copies last night07:13.18 
kens Ah, OK then07:13.32 
  I know hte 914 binaries worked, because I downloaded and tested them, how did they get corrupted ?07:13.58 
chrisl No idea - it is concerning though. I checked them after I uploaded them when I did the release07:14.35 
kens Very odd......07:14.47 
chrisl But GoDaddy did have those problems last week, so might be related07:15.07 
kens Hmm, they could have restored from a corrupted backup I guess07:15.21 
chrisl Also, I only checked the 9.14 release files last night, I didn't check the others - too much hassle07:16.18 
kens I just did a quick md5 check on the named files and they are all OK07:16.34 
chrisl Yes, I checked those, and the source archives for 9.14, but none of the others07:16.59 
  reboot......07:18.19 
  kens: did you reply about the downloads?07:46.48 
kens chrisl, no I didn't, since you uploaded new ones.07:53.01 
chrisl Okay, I'll do so in a minute07:53.14 
sebras tor8: good morning!09:17.27 
tor8 morning sebras09:58.35 
  Robin_Watts: ping.10:03.43 
  the owner password bug was introduced with commit b1ed116091b790223a976eca2381da2875341e1010:04.11 
Robin_Watts ok...10:04.41 
  oh, crap.10:05.25 
  OK, so revert that?10:08.00 
  There probably ought to be a check in there for n > 32 though.10:08.12 
tor8 Robin_Watts: question is what to do about the valgrind issue that it was supposed to fix10:08.17 
kens OK my router is playing silly beggars on Wi-Fi, so I need to power it off, if that doesn't work its a factory reset, so I may be gone some time.......10:08.36 
Robin_Watts if (n > 32) n = 32; should probably solve the valgrind problem, right?10:08.54 
tor8 n is /Length / 810:08.59 
Robin_Watts key is a maximum of 32 long.10:09.25 
tor8 how do we reproduce the valgrind problem?10:09.28 
Robin_Watts hence n cannot be longer than 32 or we'll overflow.10:09.32 
tor8 yeah, clipping n like we do with pwlen might be the right thing to do10:09.46 
  and pray that we never get cryptos with more than 256 bits :)10:10.03 
Robin_Watts well, if we do, it'll need a further fix.10:10.18 
tor8 or throw an error instead of truncating?10:10.19 
Robin_Watts could do.10:10.35 
tor8 hm, we have a sanity check for crypt->length, but *only* for v==2 or v==410:13.11 
  if I move that down to cover all the crypto revisions, and then revert the problem commit we should be good10:13.28 
Robin_Watts cool.10:16.05 
  I wonder if we have increased the length of key recently.10:16.29 
tor8 Robin_Watts: I think we implemented more crypto revisions and forgot to move the sanity check10:16.51 
Robin_Watts line 67910:16.54 
  Doesn't that assume that key is of length 16 for r >= 310:17.14 
tor8 md5 is only a 16 byte digest10:17.18 
  the "algorithms" for PDF encryption are just insane10:17.45 
Robin_Watts md5 is 64 bytes.10:18.07 
  oh, 64 byte buffer.10:18.18 
  16 byte 'state'.10:18.24 
tor8 the output from md5 is only 16 bytes IIRC10:18.38 
Robin_Watts The 16 in the fz_md5_update call is the inlen though.10:18.40 
  so eveidently we only md5 update on the first 16 bytes of the key, even if the key is larger.10:19.07 
tor8 3.(Revision 3 or greater) Do the following 50 times: Take the output from the previ-10:19.23 
  ous MD5 hash and pass it as input into a new MD5 hash. 10:19.23 
  so that's hashing the 16-byte output from the previous round of md510:19.33 
Robin_Watts right, so key is only 16 bytes long at that point.10:20.05 
  so how, in step 2, can we be using 32 bytes of key?10:20.22 
  In the file you are testing, what is 'n' ?10:21.28 
tor8 length is 12810:22.06 
  so 1610:22.10 
  yeah, something's still fishy10:22.17 
Robin_Watts OK, so for (i = 0; i < 16; i++)10:22.33 
  rather than 32.10:22.40 
  and fz_arc4_init(&arc4, xor, 16); ?10:22.50 
  That will keep this file working, but will stop us accessing into the bad range of key.10:23.33 
tor8 Robin_Watts: let me re-read the PDF reference10:23.40 
  page 126 of pdf reference 1.710:24.09 
  algorithm 3.310:24.12 
  steps 1,2,3 are fine10:24.43 
  oh, grah. this is too confusing!10:25.44 
  I should be reading algorithm 3.710:26.05 
  3.7 step 210:28.22 
  the key length in 3.7 step 2 comes from 3.3 step 4. for revision 3 or greater, depends on the value of the encryption dictionary's Length entry10:29.19 
  so I think we could very well be using more than 16 bytes there... but maybe revision 3 doesn't allow for more than 128 bits?10:29.47 
  or we should be zero-padding it10:29.56 
Robin_Watts I don't have the spec in front of me. Hold on...10:31.10 
tor8 only if V is 2 or 3: the value must be a multiple of 8, in the range 40 to 12810:31.35 
Robin_Watts line 674 of the source.10:32.56 
  if (crypt->r >= 3)10:33.02 
  Thats 3.3 step 3.10:33.13 
tor8 yes.10:33.31 
Robin_Watts After that point (in our code at least), only the first 16 bytes of key are valid.10:33.35 
  (if r >= 3)10:33.46 
tor8 and in at that point in the code, length >= 40 && length <= 12810:33.51 
  so 5 <= n <= 1610:34.01 
Robin_Watts right.10:34.05 
tor8 I suspect, but I'm not 100% convinced yet10:34.51 
Robin_Watts Line 694 of our code is 3.3 step 4 (for r >= 3)10:35.52 
  sorry, let me try that again.10:36.20 
tor8 3.3 step 4 is implicit, there's no code for it10:36.55 
  line 694 is 3.7 step 2 "Decrypt the value of the encryption dictionary's O entry (first iteration) "10:38.10 
Robin_Watts If n <=16 then we're fine. I think just revert my change and fix the test for length10:40.28 
tor8 Robin_Watts: look on tor/master10:40.51 
  there's a few other commits there10:41.01 
  but now I gotta run for lunch before I faint from hunger...10:41.09 
Robin_Watts Rolling the two together would be nice, as it would avoid us reintroducing the same valgrind bug, however briefly.10:42.25 
  Is the second one correct though?10:42.35 
tor8 Robin_Watts: sure. I can do that.10:42.37 
Robin_Watts surely we should have if (r <= 2) { existing check } else { new check }10:42.59 
tor8 page 117 of the pdf reference, table 3.1810:43.01 
Robin_Watts cos lengths of 0 and 256 might be allowed for r = 2?10:43.17 
tor8 the "Length" key is only read for V==2 and V==410:43.33 
  and then it must be 40..12810:43.41 
Robin_Watts 2 or 3 ?10:43.54 
tor8 don't confuse R and V as I did when reading it the first time :)10:44.07 
Robin_Watts ok :)10:44.19 
tor8 sorry, V==2 or V==310:44.22 
Robin_Watts fair enough.10:44.24 
tor8 even more confusing!10:44.28 
Robin_Watts lgtm then.10:44.29 
tor8 this pdf-crypt mess should probably be refactored to better align with the pdf reference10:45.02 
  it's grown features in pace with the pdf reference, but never realigned itself with the text10:45.25 
  so it's really hard to follow10:45.29 
Robin_Watts The PDF ref is hard to follow!10:45.41 
tor8 we don't support V == 3 at all10:45.45 
  so that fix is probably wrong10:45.49 
  it should be as you said10:45.52 
  if V == 2 then use a stricter range test10:45.59 
  but Length shouldn't be used at all for V == 410:46.07 
  I'll have to consider this after lunch10:46.25 
  line 183 should probably be different10:46.42 
Robin_Watts sure. I have to pop out for a bit soon.10:46.45 
cryptopsy mupdf isn't displaying properly, heres example:12:34.24 
  cl12:34.53 
  http://i.imgur.com/MBgGFVl.png12:35.04 
  on the left side you see a document im viewing with 'W' mode12:35.15 
  its hilighted because im copying it12:35.23 
  notice the last line12:35.27 
  it ends with "being"12:35.31 
  notice the text on the right, it pasted more than what is after being12:35.40 
  after the word "being" that is12:35.44 
  that means mupdf isn't display at least one line and 3/4 of the second last line12:36.00 
  we know this because it managed to copy more than is displayed!12:36.11 
kens We'd need to look at the original PDF file12:36.38 
cryptopsy i'll upload it for you12:36.46 
kens The text might (for example) be drawn in white12:36.48 
cryptopsy that's not possible, because you can see the gray margin at the bottom12:37.00 
kens I'd suggest you open a bug report12:37.00 
  grey then, or TR 312:37.12 
cryptopsy the original document is a ppt with white background all throughout12:37.30 
  what a coincidence it would be that it converted exactly that part into gray text to blend with the exact same shade of gray in linux mupdf12:37.49 
kens Its possible, and like I said, there are other possibilities12:38.06 
  THar was merely an example12:38.15 
  Hence the (for example)12:38.23 
cryptopsy i would like to point that also that mupdf is situated at the bottom left corner of my desktop, so i could not have scrolled outside of mupdf12:38.36 
kens Please simply open a bug report12:38.51 
cryptopsy i cannot, but if you want the pdf file, suggest where i can upload it12:39.42 
kens Why can't you open a bug report ?12:39.52 
cryptopsy i am in exams week and short on time12:40.03 
  maybe it will come up in the future again, then i will file a bug12:40.34 
kens To be honest, we're all quite busy too, and nobody is going to drop everythign to look at this. If you open a bug it won't get forgotten about12:40.41 
Robin_Watts ok. good luck with the exams.12:40.49 
cryptopsy it doesn't bother me so much that if a fix was provided on the spot would improve my situation12:41.12 
  my profession is not software developper12:41.35 
Robin_Watts our profession is software development.12:42.05 
  This means we get paid for it.12:42.10 
  This means that stuff we are being paid for takes priority over stuff that we're doing for free.12:42.26 
cryptopsy yes ... understood12:42.38 
  as i12:42.48 
Robin_Watts as such, if people want us to use our time to do stuff for free, it seems reasonable to make them do as much as they can to simplify our job.12:43.00 
cryptopsy the same applies for me12:43.17 
Robin_Watts hence we ask people to open a bug report and put a clear description of how to reproduce the problem on it.12:43.29 
  That minimises the time we have to spend struggling to reproduce stuff when we have time to fit the work in.12:43.58 
  It also avoids us forgetting about it.12:44.06 
cryptopsy i think it was understood what the problem is from what i reported, if more information is requested, i cannot provide it12:44.26 
  besides uploading the pdf, because it coincides with my goal to find a pastebin for any filetype , since omploader closed down12:44.51 
Robin_Watts cryptopsy: No one has time to look at this problem now. Hence we'll have to get back to it in a few days/weeks when we can.12:45.16 
cryptopsy yea there's megaupload, but im not feeling like breaking a captcha and signing in everytime there's a bug12:45.17 
  Robin_Watts: i am ok with that12:45.33 
Robin_Watts Hence we need the problem "parked" on the bug tracker.12:45.35 
  If you can't be bothered to invest the time in opening a bug, why should we be bothered to invest the time solving your problem?12:46.05 
cryptopsy hence why i don't file a bug report (because i don't have time to make a formal report with all the necessary information)12:46.07 
  because i invested the time to make sure all the information is there to show you there's a certain problem in a certain subset of mupdf functionality12:46.42 
  yet, not sufficient for a bug report12:46.51 
  bug report is beyond recognition there's a problem, but actually part of the fixing process, and i cannot take part in that12:47.38 
kens your definition of a bg report and ours seems to differ.12:48.03 
cryptopsy if i file this bug report in gentoo bug forum, i have to fill out 10 fields and upload 10 files12:48.15 
kens No, *our* bug tracker12:48.25 
Robin_Watts bugs.ghostscript.com12:48.26 
cryptopsy kens: well yes, i am fully aware of that, but they don't ask those extra fields just because12:48.44 
  it has information on how each package is compiled and linked, paths, stuff like this,12:48.58 
kens we don't ask that12:49.05 
Robin_Watts A bug report on our tracker would require no such effort. Just the same information you gave here, plus an example PDF.12:49.22 
cryptopsy can i upload file directly to the bug track?12:49.43 
kens yes12:49.47 
cryptopsy do i have to registeR?12:49.49 
kens yes the first time only12:49.59 
  we get spammers too12:50.24 
cryptopsy in a month im gonna forget my password12:50.27 
  4chan gets spammers too, but put a captcha so users dont have to register like dying forums12:50.39 
kens You've spent more time arguing about it than you would have submitting the report12:51.03 
cryptopsy talking about it had more objectives than fixing the problem12:51.15 
kens You don't like cpatchas evfery time, and you don't like passwords, what *do* you like ?12:51.36 
cryptopsy like, take chance i dont have to file formal bug report, like discover upload servers, like learn other functionality of mupdf12:51.37 
  break one sentence captcha would be okay per bug report12:51.54 
  theres no site on the net that even ask for that long a captcha12:52.08 
kens OK well that's not going to happen, not least because thoise of us that use it often would be infuriated12:52.29 
  As Robin_Watts said good luck with your exams12:52.42 
cryptopsy how do you remember all your accounts when you file bug reports across 50 communities?12:54.04 
tor8 cryptopsy: the mupdf selection box is designed to select any text that it touches, not just what is completely inside the box12:54.04 
cryptopsy tor8: yes i reported that yesterday12:54.17 
  i think you misunderstood, but am gonna idle now and you can read up12:54.31 
tor8 I saw your discussion with sebras yesterday on the IRC logs12:54.32 
cryptopsy yes, its different from that this time ... the problem is with display, ttyl12:54.43 
tor8 whether that's a good design decision, I'm not so sure, but that's what it does in case there's any confusion about what it should do12:55.22 
  cryptopsy: mupdf will select everything in the selection drag box, which is made from your mouse events.12:58.40 
cryptopsy that's not the point12:58.48 
tor8 if the window is too short to display the full box, it will still select it.12:58.51 
  'W' mode fits the page width to the window width12:59.03 
  there's more text below if you scroll...12:59.09 
cryptopsy are you trying to troll me into filing a bug report?12:59.22 
tor8 I'm trying to understand what your problem is...12:59.36 
cryptopsy well, it doesn't matter12:59.43 
tor8 but fine, if you want to be aggressive, so can I12:59.45 
  *plonk*12:59.48 
Robin_Watts tor8: I think that might take more time than we have here :)12:59.59 
cryptopsy if you're not gonna file a bug report we're both wasting our time13:00.04 
  i, of course am not (yet)13:00.10 
Robin_Watts cryptopsy: We have been very clear. We are not going to file a bug report.13:00.22 
cryptopsy Robin_Watts: just you two, i don't know who that guy is13:00.33 
Robin_Watts tor is the original author of mupdf.13:00.42 
cryptopsy why he's asking me all those questions when its you're so damn clear about it13:00.48 
Robin_Watts it seems that tor might have been prepared to work on the bug without a bug report, but... that train has sailed now.13:01.43 
cryptopsy yea, that's too bad13:01.52 
  in irc, people ramble a lot, so i don't blame myself for this escalation13:02.45 
  maybe if i had known tor8 is lead dev13:02.57 
  <...>13:03.07 
  tor8 should not feel like he's hurting my feelings though, like i said before, doesn't bother me at all this problem13:03.41 
tor8 if I'm trying to understand the problem and am met with statements like "are you trying to troll me into filing a bug report?" and "well, it doesn't matter" when asking what the problems you're having are...13:04.02 
  what kind of impression does that leave?13:04.14 
cryptopsy actually, i am not even aware he's unblocked me13:04.17 
  so i feel like i'm talking to a ghost right now13:04.22 
Robin_Watts This is why we should have more people being operators just just ray.13:05.01 
kens I was thinking of saying that but it souinded provocative13:05.16 
cryptopsy tor8, if you're listening, ask yourself what impression does it leave when i'm not a resident of this channel, but suddenly confronted with load of questions from someone i don't know? well, it leaves me with the impression that its a rambling fool, like we see in #linux13:05.24 
  i've spoken to robin and kens before, so i know who they are13:05.35 
  ah, as far as irc is, i dont know them IRL13:05.47 
  robins and kens are determined not to file bug for me (am okay with this), so it came off as strange the barage of questions from someone i don't know after that13:06.31 
  and, there's no prefix to your irc nickname suggesting to me who's operator, because operator of a channel usually is some authority to the project as well13:07.01 
  like +cryptopsy, or @cryptopsy13:07.08 
kens Our one an only operator is not online, that's robin's point13:07.29 
cryptopsy so, if tor8 had some symbol, then i would have known he's some kind of important person in the project, but did not13:07.54 
kens We're pretty democratic. We take our users problems eriously and we try to help. However, we can't always be here and we can't always take problem son there and then. So we ask people toi file bug reports so that we can get to them when we have time. Otherwise we forget things. That's all there is to it, nothing sinister here.13:09.32 
cryptopsy i knew that going in with the way i intended and did proceed13:10.20 
  typically, i discover bugs that persist, so that means even though there's huge chance my message is forgotten, i know im likely to follow up, --- but didnt feel this is that kind of case13:10.53 
  i converted from ppt to pdf after editing the slides myself, so i know the text doesn't go infinitly down underneath the margin of the program --- so i know i cannot miss more than 1 or 2 lines13:11.30 
  1 occurance in 250 slides, is not a big deal13:11.47 
sebras omg, what is happening?! :)13:13.08 
kens Nothing13:13.15 
tor8 Robin_Watts: so, there's a squashed and slightly revised fix for the owner password stuff on tor/master13:29.46 
  if you could give that a quick review I'd be grateful13:29.53 
  and the other two cmap ones as well, but I'm not sure I fix all of zeniko's signedness woes with that. He'll have to complain again if it doesn't work :)13:30.25 
  no cluster differences in any of them, which is nice (or bad, since that means we don't test owner passwords anywhere...)13:31.00 
kens I don't think we can test owner passwords, we'd have to set the cluster up to add a parameter (at least for Ghostscript) and if they were all the same, would that be a worthwhile test....13:42.23 
Robin_Watts tor8: will look.13:48.50 
  kens: For every blah.pdf file we'd have a blah.pdf.password file with the password in. Or something like that.13:49.13 
  tor8: password thing lgtm13:51.23 
  sizeof should always have () IMAO.13:53.04 
  other two look plausible to me other than the sizeof grumble.13:54.02 
kens wonders if Ray might have troulbe getting to the office today:13:54.30 
  http://www.bbc.co.uk/news/world-us-canada-2742622013:54.30 
chrisl That doesn't look pleasant!13:55.55 
kens Well, *I* woudn't want to be living near it....13:56.12 
  Looks like TIll just broke the build13:58.33 
  gdevcups.c doesn't compile13:58.48 
tor8 Robin_Watts: bah, how else can you tell the difference between "sizeof expression" and "sizeof (type)"?13:58.53 
Robin_Watts sizeof(expression_or_type) :)13:59.20 
chrisl kens: shall I pull that commit out?13:59.37 
kens chrisl unless tkamppeter wantsw to chime in ?13:59.50 
tor8 sizeof is not a function call, it's an operator, so I don't like when it looks like a function call13:59.52 
  same with putting parens around the return value14:00.00 
  Robin_Watts: anyway, thanks for reviewing14:00.20 
chrisl kens: well, either way, we don't want broken commits14:00.23 
kens No, it makes git bisect difficult to use. Best pull it out14:00.40 
chrisl tkamppeter: ping14:01.02 
  okay, the broken commit is gone....14:01.49 
kens thanks14:02.01 
chrisl Well spotted kens!14:02.29 
kens :-)14:02.33 
tkamppeter chrisl, what is the problem with my last commit?14:04.51 
chrisl tkamppeter: see http://www.ghostscript.com/regression/cgi-bin/clustermonitor.cgi?report=9ee3be5cd026245de7c7f5372ceabb33ab056dba&project=ghostpdl14:05.07 
tkamppeter chrisl, it asks for user name and password, and I fear I do not have them.14:06.39 
  chrisl, it is a small patch and I can compile GS with it. What is wrong with it?14:07.27 
kens It fails to cimpile on the cluster:14:07.46 
  ./cups/gdevcups.c14:07.47 
  ./cups/gdevcups.c: In function 'cups_print_pages':14:07.47 
  ./cups/gdevcups.c:2896:6: error: 'CUPS_RASTER_WRITE_PWG' undeclared (first use in this function)14:07.47 
chrisl I bet CUPS_RASTER_WRITE_PWG doesn't exist in our copy of the cups code.....14:08.23 
tkamppeter kens, so the problem is that it only works with the system's lib and not with the stone-old built-in one?14:08.27 
kens Don't know tkamppeter, I am not a Linux build expert14:08.59 
  but CHris seems to agree14:09.19 
tkamppeter chrisl, kens, so I will reload the GIT, add this constant, and add my patch again. Sorry for the inconvenience.14:09.48 
kens Its OK Till, these things happen. Chris should we be compiling in a more up to date version of Cups ?14:10.17 
  And shouldn't Till have the ability to do a cluster test ?14:10.51 
chrisl kens: well, you did the cups lib stuff, so...... but this is exactly why I argued against including it.14:11.07 
  Till does have the ability to clusterpush14:11.18 
kens Hmm, but if we don't include it,tehn it won;t work on Windows where there is no CUPS library14:11.32 
henrys kens: add drought heat over 100 they ought to mop that up quickly14:11.44 
kens henrys ooh, that could be unpleasant14:11.58 
chrisl And till also seems to have a bmpcmp password.....14:13.15 
tkamppeter chrisl, kens, I think we should update the built-in CUPS, as there changed a lot, especially the ability to handle PWG Raster. This would be needed for example that your ebedded system customers can make there devices print on IPP Everywhere printers.14:13.32 
chrisl tkamppeter: the problem is, what we have is patched because cups (as we got it) wouldn't build on Windows14:14.17 
kens Indeed.14:14.35 
chrisl I have no feel for what's involved in repeating that process14:14.48 
kens Though I no longer remember what I did14:14.51 
chrisl I can take a crack it when I have some spare time...... but no promises14:15.35 
kens Fair enough14:15.41 
tkamppeter kens, chrisl, I cannot maintain a "Windows version" of CUPS and CUPS upstream explicitly does not support Windows.14:15.54 
kens I'm currently lost in patterns and image matrices.....14:15.55 
  tkamppeter : well the only reason we have cups in there, if I remember correctly, is so that we (I) can debug the CUPS device on Windows.14:16.33 
chrisl And mvrhel_laptop because of all the weird color spaces cups uses14:17.01 
henrys tkamppeter: what's the licensing of the IPP Everywhere?14:17.10 
kens Oh yes, I forgot about Michael14:17.11 
tkamppeter kens, chrisl, what I can do is to assure correct PWG Raster support for Linux users at least, to define the constant in gdevcups.c so that it simply builds in your cluster but without warrenty that it actually works under Windows.14:17.12 
chrisl tkamppeter: it doesn't really "work" under under Windows, it just allows some folks to debug the cups device on Windows14:18.07 
henrys tkamppeter: if we could dual license it and create a commercial product porting it would be higher priority.14:18.17 
kens If we can manage it, I'd prefer something a little closer to the real cups library. It doesn't have to work with CUPS under WIndows, just produce cups rasters14:18.30 
tkamppeter henrys, IPP Everywhere is a PWG standard. AFAIR it is something free what can be used in both free and closed-source software, but in reality the PWG standard is not actually code.14:18.39 
chrisl tkamppeter: if you can put in the patch to get your revised code building on the cluster for now, I will try to update cups to a fresher version in near future14:20.19 
  tkamppeter: but, once again, *please* regression test your changes before committing them - it is standard practice for Ghostscript development14:21.16 
ray_laptop morning, all14:30.41 
kens Hi Ray, how's the oiil ?14:30.53 
ray_laptop Robin_Watts: BTW, I didn't commit the patch for the USE_LARGE_COLOR_INDEX because I found a minor problem (it wouldn't build gdevp14) 14:31.56 
henrys ray_laptop: are you melting ?14:32.27 
kens Frying :-)14:32.35 
ray_laptop The funky remnant of compressed color stuff in gdevp14 can't handle component map (e.g. colorant) that are arrays14:32.54 
  henrys: kens: it _is_ warm, but supposed to be cooling somewhat starting tomorrow14:33.27 
kens And the oil gusher ?14:33.49 
henrys ray_laptop: there was a very long discussion about your devn changes yesterday in the logs14:34.24 
kens read it but didn't really comprehend it14:34.43 
ray_laptop generally I stay indoors as much as possible. But the dry air and wind make the eyes dry out, so I have to work a bit harder on the left since it still doesn't blink all the way14:34.45 
  henrys: I will review the logs14:35.11 
henrys ray_laptop: maybe they're making a big deal of it, but they did say century record heat.14:35.30 
  Robin_Watts: sabrina and I finished Dust. I don't know if I want to go straight in Banks just yet … a bit sci fi'd out just now14:39.02 
Robin_Watts henrys: Well, maybe read some Iain Banks rather than Iain M Banks? :)14:39.43 
kens henrys I could lend you the Banks novels, could bring one to the stafff meeting. Or Robin_Watts may have them in ebook form14:39.44 
Robin_Watts I have them in dead tree form.14:39.53 
kens me too14:40.07 
  Oh well14:40.11 
henrys I'll probably get the ebooks 14:40.59 
kens I did notice a couple of new Stross' Laundry novellas only available in Kindle format. Almost tempting enough to buy a Kindle....14:40.59 
ray_laptop henrys: et al.: So the utility functions and structures in gdevdevn (used by several devices) are intended to allow CLIENT colors more than what device can handle allowing a device to process a subset of the colorants that are in the graphics lib14:41.00 
  the original tiffsep implementation could only do 8 components at a time, and used the SeparationOrder list to select which were to be rendered14:42.00 
henrys ray_laptop: that's fine I was talking about the tiff sep device I believe14:42.16 
Robin_Watts kens: Or get someone with a kindle to buy them and to de DRM them for you.14:42.56 
henrys I think we all agreed the code is *very* confusing an minimally need comments sorting CLIENT vs. DEVICE14:42.59 
kens Hmm, if only I knew someone with a Kindle.....14:43.13 
  Robin_Watts : they are £0.0014:43.25 
Robin_Watts kens: PM me the URLs.14:43.35 
ray_laptop the problem is that the device was setting up the entire separation order map, and that _is_ (AFAICT) CLIENT colors14:43.35 
henrys kens: install kindle on your laptop14:43.38 
kens Robin_Watts : I'll try and find them again, just a mninute14:44.01 
  or 214:44.04 
ray_laptop but as I mentioned today, the gdevp14 code can't really handle the component bit map stuff (for compressed color remnants) when it doesn't fit in a COLOR_INDEX14:45.46 
henrys so the other idea was to guarantee the number of device components is always larger the MAX CLIENT components. but that blow performance wise14:47.18 
ray_laptop since the compressed color stuff is moribund, I could keep the default CLIENT_MAX at 64 and change those elements to be uint64_t _OR_ limit CLIENT_MAX to ARCH_SIZEOF_COLOR_INDEX * 814:47.34 
chrisl ray_laptop: so my confusion was that there are various places where the interpreter(s) are referred to as "clients", and others where devices are referred to as "clients", so having GS_CLIENT_COLOR_MAX_COMPONENTS isn't terribly clear......14:47.59 
ray_laptop chrisl: I agree, and I didn't pick the nomenclature, and the history from Jan S. is boiled down to henry's commit with the comment "DeviceN."14:48.57 
chrisl ray_laptop: no, I realise it isn't your fault! But I did suggest adding a nice, clear comment about the two values14:50.28 
henrys ray_laptop: chrisl did find the client limit is device dependent so we should be okay with that sort of limitation14:51.15 
Robin_Watts chrisl: I submit that your problem with the naming is not with GS_CLIENT_COLOR_MAX_COMPONENTS so much as gs_client_color itself.14:51.20 
ray_laptop chrisl: there were design notes from Jan S around, but I didn't want to have to go on a research project14:51.24 
tor8 kens: do you remember how you fixed 691073 for gs?14:51.45 
Robin_Watts The names of the #defines seem fine to me.14:51.45 
henrys Robin_Watts: right and gs_client_color is from peter so it made sense to use that nomenclature.14:52.02 
kens I fixed a bug ? :O14:52.09 
henrys for the #define that is14:52.09 
Robin_Watts but changing gs_client_color would break many many devices, I fear.14:52.10 
chrisl Robin_Watts: actually it's just the overloading of the work "client".....14:52.19 
  s/work/word14:52.26 
kens tor8 its not shown as fixed....14:52.39 
  Oh but its MuPDF14:52.56 
tor8 kens: I mean that file, which caused problems in GS (with a different bug number, I'm sure)14:52.57 
  when you were doing the freetype integration14:53.07 
kens Give me a couple minutes to try and find the GS original14:53.16 
henrys ray_laptop: anyway we probably aren't going to change "client"14:53.21 
chrisl ray_laptop: I also thought a comment about why tiffsep (and gdevn?) are sort of exceptions in that they use "GS_CLIENT_COLOR_MAX_COMPONENTS" in device code14:54.03 
henrys ergo the devicen patch and henrys are off the hook ;-)14:54.15 
chrisl It might be good to actually address previous mistakes sometimes......14:55.09 
kens Oh good grief, I remember that file...... Fixing it was horrible. and I htink it was all done in FAPI14:56.29 
chrisl Oh, what file is that?14:57.03 
kens Its the horrendous arrows in funny orientations14:57.21 
  following a path14:57.27 
tor8 kens: if it's a horrible fix, I'll be quite glad to mark it WONTFIX (too difficult)14:57.43 
chrisl Oh, right, yes that was fun.... I thought that was a Postscript file....14:57.57 
kens tor8 it may not be so bad for you, the area I recall was all to do with FAPI handling this file14:58.07 
  chrisl it was a PS file, but the PDF result seems to be a MuPDF problem14:58.23 
ray_laptop I think CLIENT_COLOR_MAX_COMPONENTS is OK as is, but I'll review the descriptions and try to add some comments per chrisl and others14:58.26 
kens OK so the PDF file doesn't work in GS either14:58.55 
tor8 gs is showing the PDF correctly. both evince and mupdf have the same problems with it.14:59.00 
kens GS doesn't show it for me....14:59.09 
  Of course, I could have broken my GS14:59.18 
chrisl Is the PDF on a bug somewhere?14:59.30 
kens 69107314:59.51 
  D'oh, I'm in the wrong directory, and of coruse I have a file with the same name.....15:00.14 
tor8 kens: it works on my freshly built gs of origin/master15:00.19 
kens Yeah, now GS works15:00.31 
  Helps if you use the right test file, instead of the one you're working on15:00.46 
tor8 :)15:00.55 
kens Its only some pages that are wrong15:01.27 
tor8 kens: did you find the original bug# for gs?15:01.32 
kens There is no original bug I'm afraid15:01.44 
  This was all part of making FAPI work so that we could integrate FreeType15:02.00 
  as chrisl says, the original file is a PostScript file.15:02.10 
  Clearly at some point I tested the PDF output in MuPDF and discovered it was incorrect. I'm forced to agree that it probably was incorrect in GS at that point too, which was why I tested it in MuPDF.15:03.17 
tor8 yeah, in some of the pages the scaling is off, 7 and 9 are too small, 8 in sucked into a black hole15:03.32 
kens But this was before we were using Git, I doubt there is any history to follow15:03.39 
tor8 kens: alright. I'll have to dig on my own then. figured it'd be worth asking anyway.15:04.06 
kens tor8 yes, its not *many* pages.15:04.07 
  tor8 always worht asking, sorry I can't remember, its been rather a long while15:04.20 
chrisl I take it gs displays it similarly to Acrobat?15:04.21 
kens chrisl yes15:04.25 
  GS is fine, Acrobat is fine15:04.31 
  Well I say that. They are the same, and correct as per the original PostScript15:04.48 
  Its possible there is something wrong with the PDF we produce and somehow GS and Acrobat fix it, but then, Acrobat is the standard.....15:05.25 
chrisl This was the file that inspired the major revamp in how scaling is handled in the FAPI interface layer15:05.43 
kens tor8 6,7,8 are wrong for me, 9 is OK. 18 and 20 are wrong as per the previous ones, 19 the text vanishes15:06.45 
chrisl We forcibly replace the font matrix with a identity matrix for Freetype, then incorporate the entire scale/transform into the scale/matrix we pass into freetype.....15:09.57 
kens Urgh, well I did remember this whole area as being a right royal pain, from the PostScript file. Presumably after we got the PostScript working, the PDF file 'just worked'15:10.44 
chrisl Yes, I think that's probably true.15:11.25 
  mupdf won't be able to use the same approach since it doesn't recreate the font stream for freetype in the way we do in FAPI15:12.11 
kens Oh, well that pretty much puts a stopper on us prividing any help. Maybe there's a clue that its font scaling.15:12.44 
  I seem to remember this was one of the 'edge cases' we had to deal with, I'm sure these are extremely rare.15:13.28 
chrisl My first punt would be to pull the offending type 1 streams out the PDF, and see if the standalone freetype tools handle them - it *might* be a freetype problem15:13.35 
tor8 chrisl: ugh. so this is a bug in freetype that you work around then.15:18.55 
kens It looks like it. Maybe we should have fixed it in FT and passed it upstream15:19.32 
chrisl tor8: tbh, I don't know - I'm saying, with what I know now, that'd be my first port of call15:20.26 
  It's possible (but no established) that Freetype doesn't correctly handle rotation/skew font matrices15:21.30 
kens Robin_Watts : henrys I grabbed kindle for PC and picked up the book, it has no DRM :-)15:21.57 
kens is very happy15:22.01 
tor8 yeah, it looks like a freetype bug. ftview on the extracted files shows the same scaling problems.15:23.10 
henrys kens:there is even a cloud kindle if you don't want to be tied to a device15:23.28 
tor8 kens: what is this book?15:24.25 
kens Equoid its a Laundry novella15:24.42 
  set between books 3 and 4 I think15:25.03 
tor8 kens: oh, that one. I made my own book of that from the one on the web.15:25.04 
  nasty unicorns15:25.13 
kens Apparently so yes15:25.27 
chrisl tor8: given that we work around the freetype problem the way we do, I'd guess it's a matrix multiplication order problem15:26.33 
tor8 chrisl: or it tries to decompose the scaling factor to do the hinting, and then fails to reapply the skew properly15:27.06 
chrisl tor8: we disable type 1 hinting..... it's applied unscaled, so isn't very worthwhile15:27.41 
tor8 it might hit some unfortunate numeric precision issues15:27.47 
  chrisl: we disable *all* hinting, but I think freetype still does the scaling in multiple steps as if there was a hinting pass15:28.17 
chrisl tor8: have you looked at the internals of freetype much?15:28.47 
kens We could throw it over the wall to the FT community, but it would be nice if we could diagnose it and come up with a fix15:28.54 
tor8 chrisl: no, they scare me with their odd module systems :)15:29.05 
kens I think there aren't many people there capable of dealing with a Type 1 font.15:29.17 
tor8 I've poked around sometimes, but I always get lost in some of the function pointer indirections15:29.25 
  kens: it's a CFF font in the embedded PDF, which probbaly makes for even fewer capaple people15:29.48 
chrisl tor8: yes, it's "interesting" isn't?! If you want to assign it to me, mention in the bug it's a freetype issue, I'll get to it at some point15:29.54 
kens well, CFF is just a reduced type 1....15:30.02 
tor8 chrisl: fab. I'll assign it to you, and mark it as an enhancement.15:30.24 
chrisl tor8: sounds good. It may be a while, though......15:31.07 
kens Its been 4 years already :-)15:31.33 
tor8 chrisl: I'm in no rush :)15:31.35 
chrisl If I have to have bugs, these are the ones I like ;-)15:31.59 
tor8 like I said, I'd be okay with just saying WONTFIX but if you want to send it to Werner at some point in the future I'll leave it open15:32.04 
kens I think its *highly* unlikely to come actoss real PDF files with this sort of font15:32.10 
chrisl well, the original type 1 was hand coded - freetype wouldn't actually read it at all.....15:32.50 
kens ROFL15:33.00 
chrisl Well, it uses "normal" Postscript - which freetype doesn't do15:33.25 
kens fair ebough I guess15:34.01 
chrisl Aha, it seems I've had the kindle app on my tablet all along......15:35.30 
mvrhel_laptop good morning15:50.04 
ray_laptop gah. This GS_CLIENT_COLOR_MAX_COMPONENTS vs. GX_DEVICE_COLOR_MAX_COMPONENTS is a mess w.r.t MAX_SEPARATIONS15:55.15 
  as chrisl pointed out.15:55.25 
  I was going to try and clean up the documentation, but it is such a mess15:56.03 
mvrhel_laptop ray_laptop: yes. I was always very confused by all that15:57.06 
chrisl ray_laptop: I think that's probably a "project" in itself.... :-(15:57.34 
ray_laptop for example the SeparationOrder uses GX_DEVICE_COLOR_MAX_COMPONENTS as a "special" value in the sep map to indicate separations which are not in the SeparationOrder array, but MAX_SEPARATIONS is set to GS_CLIENT_COLOR_MAX (even though the code will not actually allow more than GX_DEVICE_COLOR_MAX)15:58.16 
  so it looks like maybe that the CLIENT_COLOR_MAX should never exceed the DEVICE_COLOR_MAX15:59.09 
  but it can be less than the DEVICE_COLOR_MAX15:59.32 
chrisl ray_laptop: could that potentially hamper our ability to handle large DeviceN spaces in the interpreter?16:01.14 
mvrhel_laptop ray_laptop: so I know you all had this discussion, but CLIENT in this case is the interpreter16:01.21 
ray_laptop so maybe it will suffice for now to just add that bit of documentation (and a #if check to compile fail if that invariant is missed)16:01.22 
mvrhel_laptop ?16:01.23 
ray_laptop mvrhel_laptop: right, CLIENT is the interpreter, and it can be set to < DEVICE_COLOR_MAX for performance reasons (or so claims the documentation)16:02.27 
  I'm not sure that the performance issues still exist16:02.42 
  or at least that CLIENT_COLOR_MAX will help much since most of the code that has arrays uses DEVICE_COLOR_MAX16:03.23 
mvrhel_laptop I don't quite understand the need for the CLIENT limit. I would think the device limit would drive everything (as to if we are going to use the alternate tint transform)16:03.51 
ray_laptop mvrhel_laptop: and you fixed the biggest performance hit with getting rid of the clues array of colors16:04.13 
mvrhel_laptop is there some array allocation limit in the interpreter that would make one have the CLIENT number be different than the DEVICE? Or is the CLIENT one more important for the high level devices?16:05.25 
chrisl mvrhel_laptop: don't we retain the original color space, even when we need to run the tint transform?16:05.58 
ray_laptop mvrhel_laptop: for the tint transform, that is driven by the device structure's color_info, AFAIK, not the graphics lib's code limits16:06.00 
mvrhel_laptop yes. we do. good point. I still don't understand why we need CLIENT limit then.16:06.46 
ray_laptop chrisl: what do you mean 'retain the original colorspace' ?16:07.06 
chrisl ray_laptop: DeviceN for example16:07.19 
  What I'm wondering is if GS_CLIENT_COLOR_MAX_COMPONENTS is set to, for example, 4 would we fail on a six component DeviceN space?16:08.31 
mvrhel_laptop ok looking over things, I dont believe you would ever want GS_CLIENT_COLOR_MAX_COMPONENTS to be < DEVICE_COLOR_MAX . just as you said ray_laptop16:12.31 
  it looks like GS_CLIENT_COLOR_MAX_COMPONENTS is used in a few places where it should not be. it also looks like I may have done that :(16:14.05 
chrisl mvrhel_laptop: well, gosh, and it's not confusing at all ;-)16:14.45 
Guest84139 Hi16:14.54 
ghostbot salut, guest8413916:14.54 
ray_laptop mvrhel_laptop: actually, I think I said the inverse. GS_CLIENT_COLOR_MAX can never exceed GX_DEVICE_COLOR_MAX16:15.59 
Guest84139 a question : it's possible in next release of mupdf add like plattform in source DJGPP with video library GRX?16:16.21 
ray_laptop mvrhel_laptop: I'm not sure why you'd ever want CLIENT to be less, but it cannot exceed DEVICE or bad things happen16:16.57 
Robin_Watts hmm. From looking at it yesterday, I decided it made sense to allow CLIENT_COLOR_MAX to be larger than DEVICE_COLOR_MAX16:17.04 
  but not the other way around.16:17.17 
mvrhel_laptop ray_laptop: glancing over the code, that is what I thought16:17.34 
ray_laptop Robin_Watts: but that breaks all of the SeparationOrder map handling16:17.34 
mvrhel_laptop perhaps we should just merge them and get rid of the client.....16:17.53 
Robin_Watts Consider the case where I have a cmyk printer (so I want device color max = 4), but I want to be able to handle PS files with many different spots in.16:18.06 
ray_laptop mvrhel_laptop: it is used a lot less places, and it would prevent confusion, IMHO16:18.16 
Robin_Watts (where those spots get mapped down to cmyk)16:18.16 
  AIUI, that requires device_color_max = 4, and client color max a larger number.16:18.39 
ray_laptop Robin_Watts: a *device* can have less than GX_DEVICE_COLOR_MAX_COMPONENTS, that's fine16:18.48 
Robin_Watts ray_laptop: Let me rephrase...16:19.10 
ray_laptop the macro DEVICE_COLOR_MAX is limits in the code's ability to handle ANY device16:19.17 
Robin_Watts AIUI, DEVICE_COLOR_MAX is tied tightly to the gx_color_index type.16:19.33 
ray_laptop since that is what is used for arrays of component values16:19.40 
Robin_Watts If I am running a cmyk printer, there is no benefit to me having a 64bit gx_color_index.16:20.03 
  and on some CPUs there is a big advantage to NOT using a 64bit type.16:20.20 
  So I use a 32bit int, have a DEVICE_COLOR_MAX of 4.16:20.41 
chrisl ray_laptop: in an embedded printer, you might want to set GX_DEVICE_COLOR_MAX_COMPONENTS to just the number of components in the engine16:20.41 
ray_laptop Robin_Watts: so if you want to have a 32-bit color index, you can still have 32 separations 16:20.50 
Robin_Watts BUT I want to have 64 separations.16:21.01 
  so I want to have client color max > device color max.16:21.16 
  and I can't immediately see why that should be a problem.16:21.25 
chrisl Not 64 separations, a 64 component DeviceN color space.....16:22.20 
ray_laptop Robin_Watts: I know it breaks (currently) gdevp14.c but we could (for the problem I found) change the problem elements in the structure to be uint64_t instead of COLOR_INDEX16:22.21 
  I don't know what else might break16:22.35 
Robin_Watts hardwiring a 64bit type in is bad.16:23.03 
henrys ray_laptop: we'd really like them to be independent, where is the code that breaks when client > device?16:23.33 
ray_laptop Robin_Watts: the compressed color code is pretty bad, too, in that it is slow and can result in un-mappable colors16:23.48 
chrisl Presumably there would be a performance and memory footprint benefit to to using a small value for DEVICE_COLOR_MAX16:24.04 
ray_laptop henrys: line 6880 in gdevp14.c (and following)16:24.14 
Robin_Watts having a new type that is set to "whatever is large enough to accomodate max(DEVICE_COLOR_MAX,CLIENT_COLOR_MAX)" would be the right solution, surely?16:24.34 
ray_laptop chrisl: all of the arrays that pass around the colorant values use DEVICE_COLOR_MAX16:24.50 
  chrisl: and the separation map logic uses DEVICE_COLOR_MAX as it's *special* value.16:25.42 
chrisl ray_laptop: Right, so there *is* an argument for a small DEVICE_COLOR_MAX value16:26.12 
ray_laptop Robin_Watts: having a new macro which is the max of both and using that for arrays would prevent problems, but would still mean having large arrays16:26.26 
Robin_Watts I have no problem with having large arrays.16:26.43 
  I object to being forced to have a large color_index just to accomodate the infrequent large numbers of seps.16:27.11 
chrisl Except you use more memory......16:27.12 
ray_laptop Robin_Watts: many of them are stack based 16:27.22 
Robin_Watts (or the many component devn's)16:27.28 
  ray_laptop: Let's be clear... we're talking 32 or 64 copies of a few ints on the stack.16:27.55 
  not 32 or 64 copies of render buffers.16:28.05 
ray_laptop Robin_Watts: a 32-bit color index is not large, IMHO and that still lets us have 32 separations16:28.10 
Robin_Watts a 32bit color index is indeed not large. but I may not want to be limited to 32 seps.16:28.35 
kens I htink one of our customers already wants more than that16:29.01 
chrisl So turning the question around: is there ever any reason for DEVICE_COLOR_MAX to be less that CLIENT_COLOR_MAX?16:29.18 
ray_laptop Robin_Watts: not all of the structures that have GX_DEVICE_COLOR_MAX_COMPONENTS are small16:29.25 
Robin_Watts chrisl: That's what I've just been arguing for!16:29.44 
henrys chrisl: what Robin_Watts said16:29.54 
ray_laptop kens: if a customer wants more than 32, they can use a LARGE_COLOR_INDEX (the default, anyway) then they will get 6416:30.21 
chrisl Robin_Watts: But I haven't actually seen a *reason*16:30.33 
kens but technically we could have more than 64 separations (daft I know,but its legal)16:31.07 
chrisl If the choice is 32 or 64, the most we ever *really* need in the interpreter is 32.....16:31.25 
  According to the PDF spec implementation limits.....16:31.41 
kens I'm not sure PS is so limited16:32.33 
chrisl True, but when did you last see a 32+ component DeviceN space in a PS file?16:33.04 
Robin_Watts chrisl: There are CPUs on which using a 64bit type for a color index results in unacceptable performance.16:33.06 
chrisl Robin_Watts: yes, so use a 32 bit value16:33.20 
kens chrisl just saying its techincally legal;16:33.32 
Robin_Watts we have at least one customer who uses a 32bit value for this purpose.16:33.36 
chrisl Robin_Watts: yes, so use a 32 bit value16:33.49 
  kens: strictly speaking, for PS, we shouldn't have *any* limit16:34.11 
Robin_Watts I would think it was a shame for us to have to tell the customer that he is limited to only 32 components in PS.16:34.24 
  I accept that we are at liberty to do that (because the PS spec says the number of components supported is device dependent), but it's a shame.16:34.57 
chrisl No, the PS spec does not specify any limit on the number of components16:35.22 
henrys ray_laptop: know any customers that have pushed above 32?16:35.47 
Robin_Watts chrisl: I believe it's mentioned as an implementation limit somewhere?16:35.47 
chrisl Not that I could find.... but I may have missed it16:36.02 
Robin_Watts I thought ken found a reference to that yesterday. Maybe that was for PDF.16:36.10 
ray_laptop Robin_Watts: OK, I reviewed the code and there are no longer big structures that have GX_DEVICE_COLOR_MAX elements16:36.17 
henrys can't imagine that would come up in practice, but ...16:36.20 
Robin_Watts Hence it would (in my view) be worth at least exploring the possibility of keeping CLIENT_COLOR large while having device color small.16:36.39 
chrisl PDF "implementation limits" DeviceN spaces to 32 components16:36.58 
ray_laptop chrisl: Right. Adobe CPSI had 252 as a limit16:37.24 
chrisl Okay, so even 64 is too low......16:37.52 
Robin_Watts photoshop copes with up to 56 separations, so possibly that's a good number to aim for?16:38.10 
chrisl 56 would be no easier than 64......16:38.30 
henrys chrisl: yeah we played with pointers and structs - gxcindex.h - it really shouldn't be limited.16:38.32 
chrisl henrys: you said before it was too slow16:38.56 
Robin_Watts chrisl: Indeed. So 64 is 'enough' I reckon.16:39.16 
henrys always wanted to profile where the issues are with large indices. I don't think we understand them completely.16:39.50 
chrisl Robin_Watts: so there is the solid argument for CLIENT > DEVICE, which is what I asked16:40.10 
Robin_Watts the problem is that we'd be profiling on PCs, right? Which do 64bit stuff fast.16:40.38 
ray_laptop chrisl: I missed it. What is the solid arg for CLIENT > DEVICE ???16:40.45 
Robin_Watts We'd need to profile on mips or something.16:40.57 
  head. meet desk.16:41.03 
ray_laptop Robin_Watts: unless we profile on a Raspberry or Beagle or something16:41.22 
chrisl ray_laptop: we might want to keep DEVICE to 32 for performance reasons, but keep CLIENT at 64 for DeviceN support16:41.32 
kens is heading off out16:41.47 
  goodnight all16:41.50 
Robin_Watts ray_laptop: that would be ARM rather than MIPS, but yes, that should hopefully show similar issues.16:41.54 
ray_laptop chrisl: OK, thanks. and that's IFF a customer NEEDS > 32 DeviceN for some reason, but is on a processor that causes a MAX of 64 to be slow16:43.45 
chrisl ray_laptop: Postscript allows DeviceN with > 32 components16:44.08 
ray_laptop and we don't even know that 32 vs 64 bit color_index is that much slower.16:44.32 
  chrisl: PS has implementation limits. For years gs limit was 14,16:45.10 
henrys Robin_Watts, Robin_Watts I would think using TEST_CINDEX_STRUCT would show the differences on any platform unless the compiler optimizes away the offset calculation16:45.13 
ray_laptop and Adobe's varied according to the product16:45.29 
chrisl ray_laptop: well, we always try to match CPSI for Postscript, so.......16:45.53 
henrys or TEST_CINDEX_POINTER - but I I'd hate to try and get that working16:47.06 
chrisl ray_laptop: as far as I could see, there was no documented limit on the components in a DeviceN space in the PLRM16:47.25 
Robin_Watts henrys: I've not tried compiling with either of those enabled.16:48.25 
chrisl Well, actually, the names in a DeviceN space are in an array, so at least that's one limit - the maximum size of an array......16:49.49 
Robin_Watts henrys: IF we just want to establish whether 64bit color indexes hurt more than 32bit, we can compile with/without GX_LARGE_COLOR_INDEX (or whatever it is) and do timings.16:51.28 
  Presumably the customer has already tried this and has settled on large_color_index=016:52.02 
chrisl That's nothing to do with performance, though16:52.18 
henrys Robin_Watts: I thought that was well established, we want to profile and "fix" areas that slow down.16:52.29 
Robin_Watts I'm not sure this is something we can "fix" :)16:52.45 
  If you're on a CPU that's incapable of dealing efficiently with 64bit ints, then using 64bit ints will not be efficient.16:53.14 
ray_laptop chrisl: reading the PLRM, it looks like the allowable values for MaxSeparations are 1 to 250, which implies that DeviceN has a max of the Process Color count + the MaxSeparations, so 254 is a limit16:53.15 
henrys Robin_Watts: adobe does not seem to have a problem ;-)16:54.05 
chrisl ray_laptop: that's a device parameter, though, so the equivalent of GX_DEVICE_COLOR_MAX16:54.17 
henrys I suspect we might use the index more than absolutely necessary16:54.28 
chrisl Mind you, I find the customer's argument rather amusing: "we're re-implementing transparency blending" but "64 bit colour indices is difficult"???16:55.07 
ray_laptop chrisl: table B1 has 250 also defined as Adobe's Implementation limit for number of separations, colorants, or color components in DeviceN color space16:57.21 
  chrisl: yeah, this customer is rather a pain (and has been for years). It is also amusing that they say "this has worked for us for 10 years", when they only recently signed on as a customer16:58.29 
chrisl ray_laptop: aha! I missed it because it's called "separations" - bad naming.... again!16:58.46 
  Still, 250 is more than we currently support, so......16:59.23 
ray_laptop chrisl: np16:59.24 
chrisl ray_laptop: TBH, Postscript was never my worry on this - I think the largest DeviceN space I've seen in Postscript is ~16 components. But since NChannel came into PDF, I've seen quite a few *large* DeviceN spaces in PDFs - ones I thought Acrobat shouldn't handle, even!17:01.48 
ray_laptop chrisl: some of our users, Gigs in particular, have exceeded 16 -- I think he sent us a "real world" one with 2417:13.17 
chrisl ray_laptop: the largest I've seen is 38 components - 4 process and 34 spot plates. Acrobat *should* reject it, but appeared not to.....17:14.21 
  that was PDF, of course17:15.17 
  ray_laptop: someone mentioned earlier: it might be good to have (at least) another channel operator/admin #ghostscript over here in the European time zone(s)17:39.06 
ray_laptop chrisl: I thought you or kens were, but no problem. Who wants it, you, Robin_Watts, other ?17:42.31 
Robin_Watts all 3? can't hurt.17:43.23 
chrisl I'm happy to take it on, or both Robin and I - that will give pretty good time coverage17:43.38 
ray_laptop Robin_Watts: who's the third one? kens ?17:44.37 
  now to remember how to add ops ...17:45.02 
chrisl Yeh, might as well have kens, too17:45.55 
tkamppeter chrisl, kens, I have committed a new patch now, with conditional compiling so that the fix only gets applied if a shared CUPS library is used, but note that for GS producing correct PWG Raster in all configurations the built-in libcups and libcupsimage libraries need to get updated.17:59.44 
chrisl tkamppeter: that's super thanks. I will try try to get cups updated in the not too distant future. TBH, I think anyone using CUPS "for real" (rather than just for debugging) should be using the system library, though18:01.21 
Robin_Watts tkamppeter: Are you set up to use our cluster?18:01.39 
tkamppeter Robin_Watts, I think so, but if I have used it once then years ago. It would be great to have some docs on your site on how to use it.18:02.45 
Robin_Watts tkamppeter: OK, probably we ought to make sure you're set up for that.18:03.08 
  We like to have had all commits run through the cluster to check they don't break stuff before we commit.18:03.38 
  henrys: till has a log in on casper - presumably he should have access to the cluster etc?18:04.37 
henrys Robin_Watts: I would think, he should probably send in an NDA if he is going to look at cluster test files.18:05.27 
chrisl Robin_Watts: he's listed in the cluster users on the dashboard18:05.44 
Robin_Watts henrys: OK. So either we need to get that sorted, or tkamppeter should ask one of us to cluster test his patches before he pushes ?18:06.16 
  chrisl: I am going blind. I checked that list a moment ago...18:06.52 
chrisl It's the one that says "till" ;-)18:07.30 
Robin_Watts yeah, yeah, yeah.18:07.44 
henrys I guess he is "grandfathered" in18:08.13 
  tkamppeter: you haven't signed our nda have you?18:08.25 
chrisl Robin_Watts: he probably will need a new password, though18:09.18 
rayjj chrisl: you already had op privs on #ghostscript.18:10.14 
chrisl rayjj: really?? I wonder when that happened.....18:10.32 
rayjj chrisl: try /msg chanserv op #ghostscript chrisl18:11.32 
chrisl Cor, the POWER!18:11.57 
rayjj that _should_ let you turn on 'op'18:11.59 
  Robin_Watts: you and kens can do that too now.18:12.14 
Robin_Watts rayjj: I haven't see me being made an operator.18:13.31 
rayjj We don't set +O (auto-op) per http://freenode.net/using_the_network.shtml We strongly suggest that you avoid configuring your channel to "auto-op". Use the chanserv "op" command to obtain channel operator status only when needed. 18:13.59 
  Robin_Watts: what did chanserv tell you ?18:14.31 
Robin_Watts IF I do: /op Robin_Watts results in "You need to be an operator in #ghostscript. to do that."18:14.44 
rayjj Robin_Watts: no, you need to do the /msg chanserv op #ghostscript Robin_Watts 18:15.12 
  Robin_Watts: you ask chanserv to make you an operator18:15.49 
Robin_Watts "You are not authorized to perform this operation."18:15.53 
rayjj Robin_Watts: hmm... I see Flags +o were set on Robin_Watts in #ghostscript.18:16.20 
Robin_Watts still no dice.18:17.20 
rayjj Robin_Watts: OK, now try the chanserv and see 18:17.27 
Robin_Watts still no dice.18:17.32 
chrisl So I could have zapped that guy earlier all along - drat it!18:20.33 
tkamppeter henrys, I do not know. What I have signed for sure is a copyright agreement.18:23.24 
henrys tkamppeter: should be fine18:23.47 
Robin_Watts Aha. I hadn't logged on :)18:23.54 
tkamppeter henrys, but if I had ever used the cluster before, I have probably also signed something NDA or alike to not publish any private user data or so,18:24.28 
henrys tkamppeter: I"m sure you're good, destroy our test files when you are finished with them.18:25.05 
tkamppeter henrys, OK.18:25.32 
chrisl Well, now that I (realise that I) have the power of the IRC gods available to me, I'm going to finish for the day. I have an amazingly sore shoulder, and *really* hope a hot bath will ease it.......18:27.09 
rayjj Robin_Watts: I had made you op -- see if chanserv will make you op18:27.12 
  Oh, it did18:27.21 
Robin_Watts I just did that test :)18:27.32 
rayjj Robin_Watts: you have to be identified by Nickserv first, as you learned18:27.47 
  Robin_Watts: chrisl_away: I recommend turning off your op mode unless you need it18:28.41 
  Robin_Watts: as you just did :-)18:28.56 
  I type too slowly18:29.02 
chrisl_away Okay, how does one do that?18:29.07 
rayjj /mode #ghostscript -o chrisl_away18:29.32 
Robin_Watts or "/msg chanserv deop #ghostscript chrisl_away"18:29.47 
chrisl_away Thanks18:29.56 
rayjj or /deop chrisl_away 18:30.05 
  once you are op, you can deop someone18:30.23 
chrisl_away TBH, I thought it would drop it when I changed my nick18:30.49 
  especially since chrisl_away isn't registered.....18:31.03 
rayjj BTW, I think henrys has the +o flag set for #ghostscript with chanserv as well18:31.16 
Robin_Watts rayjj: Possibly you should give henrys the +f flag too.18:37.15 
  cos if you go down with another bout of dengue, we're screwed :)18:37.25 
henrys the +f flag doesn't sound nice ;-)18:38.00 
rayjj how about setting all of you with the same flags as I have: +ARVfiorstv18:38.45 
Robin_Watts +f = founder. You have to be a founder to make operators.18:38.51 
  rayjj: If you want.18:38.58 
rayjj Robin_Watts: +F is founder (not +f as far as I know)18:39.12 
  henrys: can you register so I can see what flags you have ?18:39.34 
henrys rayjj: one minute phone18:39.55 
rayjj henrys: no rush18:40.01 
Robin_Watts Oh, so we have no founder?18:40.14 
henrys uh rayjj's friend is knocking18:41.21 
  rayjj: are you doing "/msg nicserv …" command?18:43.07 
rayjj henrys: it's nickserv18:47.43 
  Robin_Watts: the founder of the channel is Ralph Giles (rillian)18:50.49 
  Robin_Watts: AFAIK, he's the only one that can give someone the +F18:51.25 
henrys rayjj: I copy pasted what they into IRC to "VERIFY" and got invalid command18:51.57 
  ]18:51.57 
  wtf18:52.00 
rayjj henrys: you need /msg nickserv identify ___ (where ___ is your password)18:52.31 
henrys rayjj: I did that and it worked and they sent me an email with a command to verify (/msg NickServ VERIFY REGISTER henrys PASSWORD DELETED) which I pasted from email to IRC and it fails18:53.38 
  the syntax is right I wonder if my client is honking up the command somehow.19:00.35 
Robin_Watts henrys: Try the webclient?19:01.21 
rayjj henrys: try it from webchat :-)19:01.21 
  henrys: it might be messing up your key19:01.52 
henrys okay I'm going to sign out here and try another client19:02.18 
rayjj darn, I didn't ban henrys before he got back in ;-)19:03.51 
  henrys: OK, you should be able to /msg chanserv op #ghostscript henrys19:08.02 
henrys yeah it all works on webchat19:09.48 
  rayjj: done19:10.18 
rayjj henrys: OK. You are now superhenrys :-)19:10.29 
henrys lucky me19:10.56 
rayjj now you should be able to do: /deop henrys19:11.19 
  so now we have me, chrisl, Robin_Watts, kens and henrys all with chanserv op privelege19:16.11 
  so one of will probably remember that we have to ask chanserv for op, and not just do the /op directly (since I do op stuff so infrequently, I have to dig in the little gray cells)19:18.35 
  oh, and rillian, of course has priveleges19:19.01 
  mvrhel_laptop: I'm getting mupdf DLL not found with gsview19:49.04 
mvrhel_laptop rayjj: weird did you get the new isntaller?19:49.24 
rayjj mvrhel_laptop: I thought so. I'll uninstall and try again19:49.44 
mvrhel_laptop I actually have a bunch of updates. I need to push a new version19:49.45 
rayjj oh, Ok. I'll wait to I see mention here or in email19:50.10 
mvrhel_laptop chris had given me a bunch of feedback19:50.11 
  rayjj: that may make more sense19:50.26 
  I want to get one more thing fixed then I will create a new installer19:50.51 
  I will send out an email19:50.54 
  off to lunch now19:52.03 
rayjj didn't we release 1.4 mupdf ?19:52.10 
  I don't see it in the downloads19:52.22 
mvrhel_laptop I think so19:52.30 
rayjj for Windows. 1.3 is flagged "Deprecated"19:52.54 
  there isn't even source there :-(19:56.16 
  well, fts_25_2524 is definitely wrong with gs (and correct with mupdf). It seems that when we have an SMask and paint text, we don't ever push a transparency group, so the SMask is never applied to the text22:21.22 
  surprising that never got noticed22:21.49 
 Forward 1 day (to 2014/05/16)>>> 
ghostscript.com
Search: