IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2011/07/12)2011/07/13 
henrys just leavin' were you able to reproduce the problem with the bbox?00:14.54 
mvrhel2 henrys: yes00:15.56 
  just ran it now00:16.00 
  all sorts of ugly complaints00:16.06 
  I will see what is going wrong00:16.15 
henrys okay I don't know if that will address the X11 problems also, I hope so.00:16.33 
mvrhel2 I will check that after I figure this out00:16.46 
henrys okay00:16.56 
mvrhel2 ok. the bbox proc is set correctly at least to start with00:18.06 
  and it found the profile and processes the first page 00:18.43 
  oh something is wrong with the null device though00:19.04 
  the dir_name is screwed up on this device00:19.38 
  I see the issue with this one00:22.28 
  when the null device is set, we need to get the directory set up also00:22.46 
  ah a chicken and egg problem00:23.46 
  ok got that fixed00:27.14 
  let me check on linux now00:27.21 
  how do I build in linux with compile inits off? alexcher are you around?00:32.07 
  Robin_Watts is probably sound asleep, or should be...00:33.48 
alexcher mvrhel2: ./autogen.sh --disable-compile-inits01:26.53 
mvrhel2 ah. ok01:27.19 
  thanks01:27.21 
  .alexcher are you still there01:39.17 
alexcher yes01:40.56 
  mvrhel2: yes01:41.04 
mvrhel2 so what magic path option do I need to give it so that so that it finds gs_init.ps01:41.48 
  I try -I/home/mvrhel/Artifex/git_ghostscript/ghostpdl/gs/Resource/01:43.07 
  uhoh have to go01:43.16 
  dinner time.01:43.18 
  bbiaw01:43.20 
alexcher -I/path/to/Resource/Init01:43.28 
mvrhel2 ok that fixed that01:52.44 
  intersesting. still a path issue with bbox01:53.04 
  I have the windoze case working01:53.11 
  henrys: So I fixed the bbox issue that I saw on windows but it appears that this is different than the issue on linux. I have to step out right now. I will be back on line late tonight02:29.32 
  or I am doing something wrong..03:22.52 
  henrys: I am off to bed. I will work with you on the linux icc profile stuff tomorrow if you would like.05:07.33 
henrys okay I just started I'm a little confused the profile directory is being set as both a user parameter and a device parameter.05:15.44 
  from .setuserparams and .putdeviceprops.05:17.39 
mvrhel2 henrys: i am up for a bit more05:27.49 
  yes. there is some funniness there. let me explain05:28.11 
  the icc profile directory was originally only as a user parameter and set in the icc manager05:28.36 
  when we moved the device profile to the device, we needed to also have a directory set up there too. this is due to the fact that during clist rendering the icc manager is gone05:29.28 
  but we still may need to find the profiles for the device. in particular this could occur if we are playing back a saved clist05:29.58 
  so we needed to also store it in the device.05:30.11 
  in the discussions with ray it was thought that this should be a device parameter05:30.27 
  in the normal mode this is set to be in-sync with the profile dir that is set in the manager. this particular device parameter is not typically set by the user05:31.02 
  unless they happened to know exactly what they were doing.05:31.14 
henrys okay thanks waiting for the dreaded -Zi debug output to finish.05:37.12 
ray_laptop I assume mvrhel2 has stopped on the linux COMPILE_INITS=0 issue05:43.55 
mvrhel2 I am off to bed in a sec05:44.06 
  writing a quick email to alexcher05:44.16 
ray_laptop henrys: what are you looking for with -Zi ??05:44.25 
  mvrhel2: can you cc tech ?05:44.34 
mvrhel2 yes05:44.38 
ray_laptop I may be up for a while.05:44.45 
mvrhel2 I did get bbox working on windoze though05:44.46 
  i didnt get a chance to debug linux though05:45.10 
ray_laptop mvrhel2: BTW, your patch for gs_nulldevice is similar to what I had clusterpushed this AM, but I had some unexpected SEGV and had to set it aside for cust 53205:45.34 
mvrhel2 oh ok05:45.53 
ray_laptop mvrhel2: does -dNODISPLAY also work ?05:45.54 
mvrhel2 in windows?05:46.07 
ray_laptop (that installs the 'nullpage' device)05:46.09 
mvrhel2 ray_laptop: what is it that I should run?05:46.27 
ray_laptop mvrhel2: Windows -- I assume that it is still broken on linux05:46.30 
mvrhel2 so bbox device?05:46.38 
  or display device?05:46.47 
ray_laptop bin/gswin32c -IResource/Init -dNODISPLAY -c quit05:47.02 
mvrhel2 let me try05:47.20 
henrys ray_laptop:to see what in the start up SLOP is responsible for setting the icc directory.05:47.29 
ray_laptop mvrhel2: that's OK. I was going to beat on it anyway (with your patch) on windows and look into linux05:47.47 
  henrys: -Zi is sort of the hard way to find it in the Resource/Init files05:48.26 
mvrhel2 ray_laptop: that runs fine in windows05:48.45 
ray_laptop mvrhel2: good -- it worked for me as well.05:49.20 
  henrys: the ICCProfilesDir is never set as a device parameter. grep -l ICCProf Resource/Init/*.ps gives gs_lev2.ps and gs_icc.ps (12 references total including some comments)05:51.06 
  ICCProfilesDir is confined to gs_lev2.ps05:51.48 
henrys well maybe you and michael should get your stories straight ;-)05:53.13 
mvrhel2 ha05:53.24 
  it is true that it is never initialized by setting a device parameter05:53.41 
  by the interpreter. 05:54.20 
ray_laptop the profiles directory is set by gsicc_init_device_profile_dir in gsicc_manage.c05:54.44 
henrys yes and that procedure call is called when device parameters are set.05:55.20 
ray_laptop this is called from (one place in) gsdparam.c05:55.22 
mvrhel2 it is really set with gsicc_sync_iccdir05:55.42 
  which occurs when we have both the device and the graphic state05:55.54 
henrys so gsicc_init_device_profile_dir is called when user parameters are set and wehn device parameters are set. What did you intend?05:55.58 
mvrhel2 see zdevice.c line 41205:56.36 
  and the comment above05:56.46 
  that line05:56.48 
  I don't remember why we wanted to make is a device parameter itself. I thought is was for the case if we ever wanted to play back a save clist and wanted to set the directory as a device parameter05:58.35 
  refresh my memory ray_laptop05:58.51 
  s/make is/make it/05:59.06 
  s/save/saved/05:59.14 
  sigh05:59.16 
henrys also I'm getting confused because HEAD seems different than 9.03.05:59.18 
ray_laptop mvrhel2: a saved clist only has default colorspaces and ICC based colorspaces05:59.23 
mvrhel2 but it has to map too something, which is the device profile05:59.49 
  profile(s)05:59.54 
ray_laptop it is true that we would like to preserve the ability to play back a clist to devices with different device profile(s)05:59.58 
mvrhel2 yes06:00.02 
  and we need to know where to find those06:00.12 
  hence the directory as a device parameter06:00.25 
  that can be set06:00.29 
  for that case06:00.34 
ray_laptop for example, a saved clist may play back on different media or ink/toner set06:00.47 
mvrhel2 yes06:00.52 
  exactly06:01.02 
ray_laptop mvrhel2: as long as the playback can get the profile directory from somewhere during playback, it doesn't need to be in the device cmm_dev_profile_t struct06:01.54 
mvrhel2 true, but we don't have an icc_manager for playback06:02.19 
  which is where it has been residing06:02.28 
ray_laptop when playing back a clist, there is an imager state06:02.28 
mvrhel2 yes06:02.33 
  but it is not really initialized with a valid icc manager06:02.52 
  since all the source profiles are packed in the clist06:03.00 
ray_laptop mvrhel2: what do you mean we don't have an icc_manager during playback? 06:03.03 
mvrhel2 the icc_manager during playback is NULL06:03.13 
  or least its entries are NULL06:03.24 
  excuse me06:03.26 
ray_laptop what determined where to get the profiles needed to build the link profiles ?06:03.29 
mvrhel2 they are in the clist06:03.36 
  those are the source profiles06:03.41 
  all the source colors are defined in the clist06:03.59 
ray_laptop doesn't the icc_manager manage the device AND source (input) profiles ?06:04.24 
mvrhel2 icc_manager has nothing to do with the device profiles06:04.43 
  those are left to the device06:04.49 
ray_laptop mvrhel2: oh, that's right -- when a link is needed, the device provides the output profiles06:05.31 
mvrhel2 yes exactly06:05.36 
  early on I had the device profile in the icc manager and that was a mistake06:05.46 
henrys Is the initialization somewhat dependent on whether the device is opened or closed - this could be why X11 is slightly different I know it's open/close semantics are slightly different thant the other devices?06:07.22 
mvrhel2 oh it could be when its procs are set up06:07.58 
  hold on06:08.37 
henrys on a working device pbmraw for example I get the icc directory initialized from putdeviceprops according to -Zi I don't get that for X11 - both initialize the setuserparam stuff.06:09.23 
ray_laptop in particular, I had tripped over the nulldevice not setting up the get_profile early enough06:09.24 
mvrhel2 put a break point at line 435 in gsdevice.c06:09.37 
ray_laptop I have to put my 5yr old to bed -- bbiab (or if mvrhel2 has to leave, we can take it up in the AM)...06:10.08 
henrys okay06:10.30 
mvrhel2 if the procs.get_profile is not set up then we miss getting things initialized06:10.35 
  I would prefer to work on this in the morning.06:10.50 
  I am fading right now06:10.54 
  and fighting stupid cold06:11.00 
henrys yeah me too I hate this suff I saw it coming when you said you were going to put the stuff in the device but I suppose there's no other way to do it.06:11.42 
mvrhel2 the disconnect between the source and device profiles while both needing to have access to the same directory makes it tricky06:15.29 
  good night06:27.57 
ray_laptop I do want to make one point -- the userparams (and PS setting) are NOT the root issue. ALL parsers need to operate the same way, and know the ground rules for setting/changing the icc profilles directory. The zusparam.c 'set_icc_directory' simply calls "gsicc_set_icc_directory" to set the path (profile directory into an IMAGER state -- which may be a graphics state) 06:30.53 
  the issue is to make sure that all devices have access to an imager state with this profile directory (pis->icc_manager->profile_dir) when they are initialized so that the device can load its profiles06:32.30 
  the PS userparam/systemparam issue is irrelevant, but device initialization is the important point. Devices keep a copy of the profile directory, but they can only get it from the imager state _or_ another device (but the imager state version is the 'master', so using another device is "risky")06:35.30 
  enough for now -- I'll be around tomorrow AM to discuss this. If I'm not paying attention to IRC, please call me.06:36.37 
  morning, chrisl , kens 06:49.46 
kens Hi Ray06:49.51 
henrys looks like a little postscript debugging for x11 gs_init.ps putdeviceprops isn't called - see line 1854 for x11 we just get the { pop pop } and when setdevice is fired off the icc directory is not set. For printer devices this works and the device profile is set.06:52.09 
chrisl 'evening Ray!06:53.28 
  henrys: I wonder if we're trying to deal with this in the wrong way - maybe a better approach would be be more tolerant of devices *not* having an ICC profile.06:54.28 
henrys so he needs to do that setdeviceprop even if there isn't new parameters if he wants it to work as he has it coded up now.06:54.55 
  s/setdeviceprop/putdeviceprop/06:55.18 
  chrisl:maybe06:56.53 
chrisl henrys: The problem I see is that we have no way to automatically apply a profile on device creation, so there will always be the chance of a device existing without a profile.06:58.36 
henrys actually we are doing this setup once on the null device - that is the defaultdevice when this code in gs_init.ps is running, I haven't checked how the null device icc profile setting is percolated to other devices . X11 just fails on the setdevice right there in gs_init.ps because the directory wasn't set.07:05.37 
  anyway I should go to bed.07:07.36 
  good night see you in a few hours.07:11.43 
chrisl 'night henrys07:13.05 
kens chrisl ?07:20.37 
chrisl kens: yo!07:21.31 
kens Shelly has been looking at bug #687593. I'm inclined to ask him to close it, what do you think ?07:22.01 
chrisl Well, he can't close it, but yes, I think we should close it.07:22.46 
kens Fair enough, I'll close it then.07:23.01 
chrisl I'm amused at the way people keep saying how important hinting is for kanji glyphs at small sizes, given Ian's solution for improving (many/most) kanji fonts07:24.07 
kens Absolutely. Technically they should be correct, of course, but it relies on well made fonts.07:24.34 
chrisl Yeh, I'm sure there must be some out there, but they seem to be even more elusive than Brigadoon..........07:25.36 
kens :-)07:25.49 
  Well, that reduces my assigned bug count by one :-)07:26.29 
chrisl That really ought to have been mine, anyway. I wondered why I hadn't seen it before07:27.46 
kens Yes, I didn't realise until just now, I obviously missed it previously.07:28.11 
  You can have #687475 too if you like :-)07:28.41 
Robin_Watts It's like top trumps with bugs.07:29.06 
kens chrisl you might want to look at #690340 as well, I think it can probably be closed.07:30.58 
chrisl kens: Okay I'll take 687475. Strictly speaking, I have an enhancement project to support MM font substitution if the fonts are available, so.......07:31.16 
kens chrisl basically I think that bug *is* an enhancement request for MM substitution :-)07:31.42 
  The rest of the bug is just nonsense07:31.51 
  If you already have an MM enhancement bug, make this one a duplicate of it.07:32.09 
chrisl I assumed the MM instance wasn't being created properly - I don't think there's a bug open for the enhancement yet.07:32.38 
kens I think the bug is just 'we need MM substitution'.07:33.02 
  #687475 that is.07:33.13 
chrisl Yep, it does look that way. It's a good enough reminder anyway.07:33.34 
kens That's why I asked Shelly to leaver it open when he asked earlier07:33.49 
  My bug list decreases by 2, result!07:34.25 
chrisl As for 690340, given it is FAPI, it is clearly in my arena, too.07:35.46 
kens Well, it sort of is and sort of isn't.07:36.11 
  You could investigate what I was talking about (since I no longer remember), but it looks like maybe the bug should simply be clsoed.07:37.22 
chrisl I guess I'll get to look at it at some point.07:38.17 
kens There's definitely no rush07:38.35 
chrisl Grr, I keep getting weird, spurious build failures on the cluster :-(07:38.54 
kens Hmm, you're altering the build system though ?07:39.13 
chrisl Yes, but this was just cherry-picking from master to the 9.03 branch.07:40.18 
kens <sigh> Windows wants to reboot, it can wait until I go off riding07:40.42 
ray_laptop mvrhel: henrys: I think chrisl's mention of our graphics library tolerating NOT having a profile or profile directory makes sense. Why not have 'simple' defaults always available built into the code that we can use whether or not we have the %rom% file system.07:40.49 
kens ray_laptop : But maybe we shuold generate a warning ?07:41.11 
chrisl I think I understand it, though. If you run clusterpush.pl from the gs directory, it only syncs GS, but tries to test all the languages :-(07:41.16 
ray_laptop That way we can more closely do what old GS used to do (dumb colors)07:41.20 
kens chrisl that's bad, I thought it only tested GS from the GS directory07:41.48 
chrisl kens: apparently not, I'll send a mail to marcos about it07:42.12 
ray_laptop kens: if you specify 'gs' as a parameter, yes. Otherwise I think it does "all"07:42.23 
kens Oh, I thought it was sensitive to the directory07:42.36 
chrisl ray_laptop: do you mean if we don't have a device profile, fall back to the stock Postscript color conversions?07:43.25 
ray_laptop it may differ between gitpush.pl and clusterpush.pl (two slightly different scripts)07:43.32 
  chrisl: or at least whatever corresponds to the iccprofiles/default.. profiles07:44.20 
kens My bug list is down bby 3 now. I wonder if I can get below 80 by palming stuff off to other people :-)07:44.28 
ray_laptop ducks07:44.41 
Robin_Watts goes for a run. back in a bit.07:44.44 
  Clearly I'm up too early if ray_laptop is still here :/07:44.56 
ray_laptop the staff runs away as kens looks for victims...07:45.08 
chrisl ray_laptop: the problem I saw with that is we'd need individual profiles for every potential number of components.07:45.18 
ray_laptop Robin_Watts: my wife and kids just got home from HP 3 and 4 movies07:45.40 
kens thinks Robin_Watts is early and ray_laptop is late.07:45.49 
chrisl I think we may have changed the cluster behaviour because changes in base affect all languages, not just GS07:46.13 
ray_laptop tomorrow and Thursday are my turn -- 5 and 6, then the two "Deathly Hallows" movies back to back (they start even later 9pm and 12:01AM PDT)07:47.13 
Robin_Watts commiserates.07:47.46 
kens Haven't seen those, doubt if I will, didn't enjoy the book.07:47.52 
ray_laptop I am fading fast, so any technical comments are heretofore BS07:48.04 
Robin_Watts disliked the first 2 movies. Haven't seen the rest.07:48.16 
ray_laptop I've read all of the books at least twice07:48.39 
kens Early books, yes, later books, no. Melanie didn't finish the last one.07:49.02 
ray_laptop mostly because I like to have them fresh in my mind before seeing the movie07:49.10 
  the last book really D...R...A...G...G....E...D07:49.39 
kens I feel that way from 4 onwards, it just got progressively worse07:49.57 
ray_laptop I could have written it better in 50 pages or so07:50.01 
kens I think that's the problem, the earlier books show signs of an editor's hand, the later ones I don't think she would let anyone touch.07:50.36 
ray_laptop but on the plus side, that means that it is easier to not leave parts out of the 4 hours of film07:50.52 
kens Well, that's a bonus. But why make the last book into 2 ? Oh yes, to spin out the gravy train, silly me....07:51.29 
ray_laptop kens: how innocent you sound ;-)07:51.52 
  off to my pillow ...07:52.53 
Robin_Watts reboot09:16.18 
  tor8: you here?12:55.36 
tor8 yup12:55.43 
Robin_Watts How hard would it be for me to reproduce your testing setup here?12:56.01 
tor8 fairly trivial :)12:56.28 
Robin_Watts Will it work on windows?12:56.37 
  or macos ?12:56.43 
  or do I need to boot Ubuntu ?12:56.49 
tor8 mac or unix12:56.51 
Robin_Watts laptop might not be a bad choice actually, so mac.12:57.08 
  What's the best way to proceed then ?12:57.49 
tor8 I'm finding the most up-to-date version to send to you now12:58.33 
  it's basically just two scripts that run from a directory where it stores all the temporary files12:58.57 
  and it predates git ... now I have to remember how darcs works again :)12:59.37 
Robin_Watts Is it worth making a git repo out of it and putting it on ghostscript.com ?13:00.29 
  The cluster is in such a repo now.13:00.35 
tor8 yeah, I should do that13:00.53 
  in the meanwhile: http://ghostscript.com/~tor/stuff/sane.zip13:01.13 
  if you run on mac, you need to change line 3 of sane.sh to read:13:01.34 
  oh, drats, that's another script I have locally13:01.59 
  anyway, readlink -f $0 doesn't work on macosx13:02.11 
  #!/usr/bin/env python13:02.20 
  import os,sys13:02.21 
  print os.path.realpath(sys.argv[1])13:02.21 
  that's the python one-liner I use on osx, perhaps there's a way to make it a real one-liner13:02.43 
  SANE=$(dirname $(python -c 'import os,sys;print os.path.realpath(sys.argv[1])' $0))13:03.43 
  run sane.sh from the mupdf directory, and it'll build and test and diff against previous runs13:04.24 
Robin_Watts so the python one liner should be saved as readlink.py ? or readlink ?13:12.37 
  in the same directory as sane.sh ?13:12.44 
tor8 see my SANE= line, no need to keep it as an external script13:15.49 
Robin_Watts tor8: so I put that in the environment?13:16.44 
  or add that to sane.sh ?13:16.48 
tor8 replace line 3 of sane.sh13:16.55 
Robin_Watts ok13:17.01 
  md5sum: command not found13:21.34 
  Should macosx have that?13:22.04 
tor8 it's "md5 -r" on macosx13:23.04 
Robin_Watts ok, that seemed to work.13:26.51 
  Now to add my changes in.13:27.01 
kens Hmm, that's better. I've got my linked list workling properly. I can now extract the text from the Adobe Type Manager 4.6 flyer. Seems to be OK, including correct extraction of 'f' and 'ffi' ligatures. It also extracts the 'text' for the type 3 font containing the Adobe logo :-) Doesn't make any sense, but its there.13:30.53 
  There is one problem with location so I'll have to work on that.13:31.35 
Robin_Watts I just applied my patch, reran sane, and it rebuilt and told me there were no differences.13:33.57 
  which is bad, because Isolated-rgb.pdf definitely looks different.13:35.37 
  tor8: Any ideas?13:36.04 
tor8 it takes two diffs, one for error logs, and one for images13:36.39 
  it'll say "no differences" if the error logs are the same (since it just calls "diff" for that)13:37.01 
  even if the images are different13:37.06 
Robin_Watts Ah, right.13:37.19 
tor8 do you get any lines with ! and some checksums after that?13:37.21 
Robin_Watts where ?13:37.34 
  When running sane.sh to stdout ? no.13:37.55 
tor8 hm, you may need to install imagemagick (or replace the "compare" command line with something else at the top of sane-diff.py)13:38.14 
Robin_Watts I have compare.13:38.33 
tor8 it should print lines like "! file.pdf pagenumber" for all the pages that differ13:40.01 
  sane diff old-version new-version (with the git-describe tag names used by sane to save the logs)13:40.32 
Robin_Watts Diffing 0.8.179-2c4bbbf 0.8.180-a28240f13:42.07 
  0 files changed.13:42.16 
  Done.13:42.18 
tor8 hmm, odd13:43.26 
Robin_Watts Where are the output png files stored ?13:43.48 
tor8 it saves the md5 sums for the renders in $SANE/log/13:43.49 
  png files are generated on the fly when diffing by rerunning pdfdraw13:44.05 
  and cached in $SANE/png13:44.12 
Robin_Watts All I have in log is 0.179.blah13:44.44 
  and in there I have pdfdraw13:44.49 
  and that's all.13:44.51 
  (and I have 0.180.blah too)13:45.03 
tor8 there should be one *.log and one *.sum for each test file run13:45.37 
Robin_Watts nope.13:45.50 
tor8 you got a $SANE/test directory with pdf files?13:46.13 
Robin_Watts To be clear... I'm in mupdf.git13:46.17 
  I do ../sane/sane.sh13:46.25 
tor8 that's where you should be, and exactly what you should be doing13:46.33 
Robin_Watts In sane I have a test directory, with lots of pdf files in.13:47.07 
tor8 it should create symlinks in ../sane/sym/ to the test files when you run sane.sh13:47.18 
Robin_Watts Ah. It doesn't.13:47.36 
tor8 in retrospect, I should just use the original pdf file names instead of md5-summing them13:47.40 
Robin_Watts All I have in sym is a .pdf file.13:47.44 
tor8 hm, probably the $(md5sum ...) command that fails still13:48.04 
  oh... could it fail because there's a function md5 in the script, that's called the same as the md5 command you try to call on osx?13:49.18 
  I solved it (a long time ago) by making a md5 shell script in my $HOME/bin13:49.33 
Robin_Watts will try tweaking in a mo. brb.13:50.00 
  ok, this seems much more likely.13:57.09 
  I globally replaced md5 with md6.13:58.31 
  and then just edited the actual command back to md513:58.40 
  excellent.14:00.02 
  On macos, there is a handy command "open" that I recently discovered.14:00.30 
  open report/blah.html will do whatever clicking the file in the finder window would do.14:01.00 
  hence in that case, it will kick the report into a browser.14:01.15 
  No diffs (except in the isolated case), but 1 segv.14:01.38 
tor8 Robin_Watts: yeah, the same as the "start" command in windows14:12.38 
Robin_Watts ooh.14:12.58 
tor8 open -a "application name" is handy, if you can't be bothered to dig through the applications directory14:13.01 
Robin_Watts I may attempt to make sane.sh open the report after it's generated.14:14.11 
  Just trying to understand how I can have a pop_clip without a mask14:14.35 
  oh, empty image.14:15.58 
mvrhel2 henrys: I see you tracked down the issue14:55.30 
  I am trying to make sense though of how gs and the devices are initialized. surely there must be some commonality amongst devices14:58.06 
  what ever that commonality is that is where the sync of of the iccdir should occur14:58.54 
  bbiab need to eat14:59.52 
Robin_Watts fears mvrhel2 may be hunting for the missing link. Or for dark matter. Or for a snark.15:01.08 
  Hmm. shadings and shapes...15:03.26 
chrisl The closest thing to such device commonality I've seen is gx_device_(forward_)fill_in_procs(), but even that isn't sure to used.15:03.36 
henrys in the interest of getting a release out I think we need a hack to get what you have working.15:05.46 
Robin_Watts tir8: Does fitz have a function to fill a given rectangle of a pixmap with a value ?15:08.52 
  tor8, even.15:08.59 
henrys marcosw:could you test a handful of random files and make sure compile inits 0 and 1 output match?15:12.07 
Robin_Watts_ They are hooking up the solar panels to the mains now, so expect me to be dropping in and out of here for a while.15:14.48 
  router isn't on the UPS.15:14.54 
marcosw henrys: do I need to run the compile inits 0 vs 1 test with a particular revision? I ran a compile inits 0 regression yesterday morning.15:26.41 
henrys mvrhel2:I guess 9.03 we know printer devices work.15:27.21 
marcosw that was with a06634a969ea9b0db2d0840d864184724705614515:27.34 
  btw, I'm also going to be dropping off in about 30 minutes due to the mains being cut. I'm having my electric car charger installed today. 15:28.46 
mvrhel2 I am back. That is funny Robin_Watts15:29.07 
Robin_Watts mvrhel2: ?15:29.22 
mvrhel2 what I am hunting for (with respect to device)15:30.03 
  devices15:30.07 
Robin_Watts oh, right.15:30.09 
henrys alexcher:do you have any ideas how to gurantee the put params is called?15:30.42 
  disk space problems on mac pro - I wonder if the regression have gone wild or something.15:32.28 
alexcher henrys: at what moment?15:33.29 
marcosw henrys: I jsut checked and the cluster doens't appear to be using more space then normal on your macpro.15:34.24 
henrys gs_init.ps:1865 see your email15:34.27 
  marcosw:thanks it might be me, I'll check.15:34.45 
marcosw you might take a look at /var/log/system.log. it's huge.15:34.58 
mvrhel2 ah some good news from customer 71115:35.27 
henrys bbiab I'm going out for breakfast this morning be back in an hour or so.15:40.19 
kens henrys I see the PCL type 3 thing just came back again15:42.24 
  marcosw any results with support from Adobe on that ?15:42.35 
Robin_Watts Solar Panels up and running.16:04.05 
ray_laptop_ hi, all16:04.44 
mvrhel2 Robin_Watts: you have solar panels?16:05.01 
  hi ray_laptop16:05.08 
Robin_Watts I do now :)16:05.15 
mvrhel2 cool16:05.20 
  I have a nice south facing roof here. If it made sense $$ wise I would do it16:05.44 
chrisl 'morning ray_laptop16:05.49 
Robin_Watts Getting 2.4kW now, which isn't bad on a fairly hazy day.16:05.54 
  mvrhel2: Does Washington have subsidies? Those can really make the difference.16:06.11 
ray_laptop_ it occurred to me this morning that we could punt on the icc profile directory and put it in the pseudo-globals (gs_lib_ctx_t) that is pointed to by the gs_memory_t 16:06.12 
mvrhel2 oh yes that is true16:06.31 
ray_laptop_ we already have that polluted with things like gs_font_dir and accurate_screens16:06.39 
Robin_Watts http://www.democraticunderground.com/discuss/duboard.php?az=view_all&address=115x4059716:07.08 
ray_laptop that way there is no nonsense about when a device is intialized, etc.16:07.31 
mvrhel2 right16:08.05 
ray_laptop henrys: are you here ?16:08.22 
mvrhel2 he stepped out for breakfast. said he would be back in about 1 hour16:08.37 
ray_laptop I see. (I hadn't read carefully thru the logs).16:08.59 
  moving the profile_dir to the gs_lib_ctx is sort of a sledgehammer, but with the number of bugs that have kept showing up due to the way it's done now, a sledgehammer might be just the tool we need16:10.15 
mvrhel2 I want to check one thing real quick before we go down that route16:12.11 
chrisl ray_laptop: do you know what the target platform for cust 532 is?16:17.45 
ray_laptop chrisl: it's a Power PC16:18.05 
  so it is big endian16:18.13 
chrisl Right, and OS?16:18.24 
ray_laptop chrisl: I think it is Wind River16:18.52 
chrisl ray_laptop: VxWorks, or embedded Linux? Sorry, but I'm having much luck getting info from them.16:19.44 
  s/I'm/I'm not16:19.53 
ray_laptop I'll call Len -- hold on16:20.05 
  chrisl: it is Monta Vista linux16:21.18 
chrisl ray_laptop: cool thanks!16:21.36 
kens TIme for me to go, night all.16:22.02 
ray_laptop chrisl: he is going to try setting for 'SPARC' so that the byte order comes out correct (High-Low), what we call big endian, but he is going to got to unsigned chars16:27.32 
  s/got/go/16:27.39 
  chrisl: he thinks that is needed to get past the 5100 error16:28.12 
  mvrhel2: what approach are you looking into ?16:31.09 
mvrhel2 ray_laptop: I am just looking at this to understand better why we fail with X11 and not the printer ones. I don't see why they have to be different16:32.28 
  s/ones/devices/16:32.45 
ray_laptop mvrhel2: I'm just concerned that with all the various devices that (sometimes) act differently, having it handled by put params and stored in the device is going to continue to bite us16:34.37 
mvrhel2 ok. 16:35.20 
  You understand how all the initialization stuff works better than me so I will take your word that it is better to be done this way16:36.13 
ray_laptop mvrhel2: that's part of the problem -- I don't understand the vagaries of the the initialization well enough. I do know that we have to do this so it works for the other parsers as well (not rely on the way PS does it)16:37.51 
  the plmain (PCL, l-s, xps) uses a totally different method of device initialization16:38.34 
chrisl ray_laptop: I just replied to Len. I think they really need to actually create a definition for their target, the ones in ufstport.h are only common examples, you are expected to tailor it for your own platform.16:38.59 
ray_laptop because it wants to have a single device that is shared in the language_switch approach16:39.18 
  chrisl: that's a good recommendation. thanks16:39.42 
  chrisl: I'm glad that I'm not having to field these questions16:40.05 
chrisl ray_laptop: I just can't see how using the SUN/SPARC definitions on a Linux/PPC target is doing the "right thing"! ;-)16:40.34 
ray_laptop well, at least the are both big endian unix variants16:41.10 
  and the SPARC is picky about alignment, as is the PPC16:42.00 
  IIRC16:42.12 
chrisl True, but still, I think an accurate platform definition would be a good idea16:42.25 
ray_laptop it's been about 11 years since I played around on a sparc16:42.45 
chrisl Yes, SPARC is picky about alignment, I can't remember about PPC, but for UFST you set the alignment explicitly in your platform definition.16:43.32 
ray_laptop what kind of electric car does marcos have ?16:43.36 
  Artifex should get some kind of 'green' award -- I drive a hybrid, marcos and electric, Robin and Ken have solar panels, ...16:45.32 
Robin_Watts Ah, but hybrids are evil...16:46.05 
ray_laptop Robin_Watts: more so than electric ?16:46.30 
Robin_Watts no.16:46.36 
chrisl I need to head out, I'll check back later.......16:46.46 
ray_laptop chrisl_away: OK16:46.52 
  I have a good south facing roof as well, and we are considering PV panels. It's just that our electricity usage is already pretty low and has continued to improve as we make "little changes", so we're right on the cusp of it making $$ sense16:48.42 
  but my wife wants it just 'cause she wants to help the environment16:49.08 
  mvrhel2: cust 850 asked again today aobut 9.03 -- what do you think about doing the lib_ctx hack for 9.03 at least so we can get them a low risk OOB release. Then we can decide later what to do for the Augst release16:56.30 
mvrhel2 I am fine with that16:58.29 
  ray_laptop: do you want to make the fix?16:58.40 
ray_laptop I'd like to wait for henrys to see if he buys into that -- can you believe it -- me wanting consensus ;-)16:59.20 
  mvrhel2: but I'll go ahead and start changes on the 9.03 branch so we can have a look at it (and test it)16:59.55 
mvrhel2 ok sounds good17:00.08 
ray_laptop that's one nice thing about a published branch17:00.26 
  oops. the patch for cust 532 didn't work for them -- I have to look at it. (they say it is URGENT) :-/17:10.55 
  alexcher: I just made a trivial change to gs_res.ps to add a "flush" after the -sGenericResourceDir=... message because I saw it getting garbled when the COMPILE_INITS=0 failed (the other error messages on stderr were garbling it)17:13.57 
alexcher ray_laptop: that's great.17:18.25 
ray_laptop great may be a bit of an overstatement 17:20.59 
henrys I'm back17:21.02 
  I have relatives here and am swapping my hours around a bit.17:21.19 
ray_laptop henrys: I had thought about moving the profiledir to the gs_lib_ctx (see above) so we don't have this init problem and multiple copies (potentially getting out of sync).17:22.50 
henrys the simple hack to always call putparams before setdevice in gs_init.ps fixes all cases doesn't it, presumably we could read a set parameter in and set it ot the same value and at least the call would be made.17:23.15 
ray_laptop I'm in the middle of doing that for the 9.03 branch in case we want to get it out quick17:23.16 
henrys but yes setting it in gs_lib_ctx seems good to me also.17:23.55 
ray_laptop it's sort of non-intuitive that we have to call putparams on a device before the setdevice, isn't it ?17:24.18 
henrys I agree.17:25.20 
ray_laptop henrys: if you have done that for 9.03 and are confident of it, I'm fine with that for 9.03, however -- then we can discuss it for the Aug release.17:25.49 
henrys also the parameter is shared by the interpreter and the device, so it should be stored in a single location accessable by both right?17:26.31 
  no I haven't done anything - I just analyzed it.17:27.21 
ray_laptop well, the gs_lib_ctx _is_ accessible by everyone (via the gs_memory hook) so we'd only need one copy17:27.52 
henrys you can't do a putparams with 0 parameters so something more tricky is needed. How long will it take to do gs_lib_ctx changes do you think?17:28.32 
ray_laptop henrys: as I mentioned above there are other things in the lib_ctx like font_dir and accurate_screens stuff, so it isn't any more ugly :-/17:29.40 
  henrys: probably about another 20 minutes or so17:30.04 
henrys okay let's go with lib_ctx changes then,17:30.16 
ray_laptop (if I stay off the phone and IRC)17:30.21 
ray_laptop hunkers down, then17:30.32 
  henrys: how does plmain set the ICCProfilesDir ?17:31.23 
henrys alexcher:I am curious why I need '-I' even if I set GenericResourceDir.17:31.47 
  ray_laptop:ha the other languages always embed the profiles so it probably just falls back.17:32.30 
ray_laptop henrys: you don't need -I if the gs_init.ps file is already on one of the paths, but if you haven't installed, it probably isn't17:32.40 
  henrys: "falls back" ? you mean "falls over" (dies) ?17:33.15 
mvrhel2 ray_laptop: let me know if you need anything from me17:33.38 
henrys no falls back to %rom% profiles which are always present.17:33.49 
ray_laptop with COMPILE_INITS=0 the device needs to know where to find the profiles17:33.52 
  henrys: so we only support PCL with COMPILE_INITS=1 ???17:34.10 
henrys yes - then there is another option BUNDLE_FONTS to not include the fonts.17:35.25 
  from the makefile:17:35.52 
  # This is constant in PCL, XPS and SVG, do not change it. A ROM file17:35.53 
  # system is always needed for the icc profiles.17:35.53 
  COMPILE_INITS=117:35.53 
ray_laptop mvrhel2: that was another idea that I was thinking -- always have a simple, minimal, set of profiles built in so that we fall back to the old PS color model17:35.55 
henrys 17:35.58 
ray_laptop mvrhel2: so that if we can't find a iccprofiles directory and don't have %%rom then we can warn and go on with the simple defaults17:37.35 
  darn chatzilla -- sometimes swallows my % but doesn't accept %% as an escaped % :-(17:38.22 
mvrhel2 yes we could always have the simple ps profiles available17:39.20 
  that I made17:39.24 
  need to think about that a bit17:39.40 
ray_laptop henrys: I won't worry about the other parsers with COMPILE_INITS=0 for now,17:39.46 
  mvrhel2: OK. not for 9.03, but maybe for the release17:40.03 
henrys yes I'll take care of that as there is interest - I just wasn't anticipating complex profile setups for the other languages, which is why I left it in the state it's in.17:41.24 
  I don't know about that, I'd rather have an obvious error vs. a bug of using the wrong profile.17:48.12 
alexcher henrys: -I adds directories to the search path used by findlibfile.17:51.33 
henrys yes I think it should be enough to set GenericResourceDir but nvm.17:54.38 
  oh I see my message to michael didn't go to tech@artifex.com17:59.59 
  Delivery to the following recipient failed permanently:18:01.00 
  18:01.00 
  tech@artifex.com18:01.00 
  18:01.00 
  Technical details of permanent failure:18:01.03 
  Message rejected by Google Groups. Please visit http://mail.google.com/support/bin/answer.py?hl=en&answer=188131 to review our Bulk Email Senders Guidelines.18:01.07 
  18:01.10 
  I resent the message - but this could be a problem - tech is hardly "bulk"18:03.49 
Robin_Watts henrys: AIUI, it's saying that it thought your message was spam.18:07.50 
  While in some cases we may classify a message as spam and deliver it to the spam folder, we also try to find ways to reduce the amount of spam being sent to Gmail in general. If we detect that a message has a strong likelihood of being spam, we’ll block the message from being sent to Gmail. 18:08.21 
henrys the only thing I see that would identify the message as spam is tech consists of multiple recipients so I am concerned addresses like tech and support are going to not receive real mail.18:10.36 
ray_laptop henrys: do you have your own mailing list for tech, or are you using the 'tech' pseudo list on gmail ?18:12.10 
henrys the gmail pseudo and I am sending from the gmail web interface.18:13.35 
Robin_Watts If it's rejecting emails sent from it's own web interface, that IS a bit poor.18:14.48 
henrys I just forwarded another copy of the message with subject setdevice to tech did you guys get it?18:15.05 
Robin_Watts fetching now (have been for a while)18:15.20 
  I have the "Fwd: Delivery Failure" one.18:20.24 
  "Fwd: Delivery Status Notification (Failure)" rather18:20.47 
henrys I guess we'll call it an anomaly for now and see if it repeats.18:28.51 
Robin_Watts mvrhel2: What is the 'shape' of an image with alpha ?18:36.32 
  Is it the outline of the image bbox? Or is it the alpha channel of the image ?18:37.03 
mvrhel2 good question18:37.13 
  I had thought that alpha = shape * opacity18:38.19 
  according to adobe....18:38.57 
  however I have trouble with all these definitions18:39.29 
Robin_Watts Oh, I think I see my cockup.18:40.05 
mvrhel2 I would say that the shape of the image would be the image bbox18:40.06 
Robin_Watts mvrhel2: Really?18:40.17 
  That's not what I have coded here :(18:40.37 
mvrhel2 well. it really should not matter18:40.42 
  the alpha value contains the shape basically18:40.58 
  you could think of it as being 0 where alpha is 0 and 1 otherwise18:41.16 
  but it is not really of any use of that case18:41.29 
Robin_Watts I've fixed the cockup, I think.18:41.49 
  It matters when you are keeping a separate shape plane in order to blend groups back properly.18:42.09 
  but I think I have it working now.18:42.15 
mvrhel2 ok good18:42.18 
Robin_Watts Thanks.18:42.24 
mvrhel2 saves me from giving the wrong answer ;)18:42.32 
Robin_Watts I'm going to assume my code is right until I find a test file that shows me otherwise. :)18:42.51 
  food time.18:42.55 
ray_laptop mvrhel2: I don't have the 'master' handy anymore, but can you look at zusparam.c set_icc_directory 18:44.37 
mvrhel2 sure18:45.01 
  ray_laptop: what do you need?18:45.07 
ray_laptop mvrhel2: it allocates a copy of the parameter then does the gsicc_set_icc_directory then frees it. why ?18:46.24 
  I thought the whole idea of a directory name length was so we could support unicode names that may have '\00018:47.10 
  '\000' characters in them18:47.23 
  (UCS-8)18:47.32 
henrys alexcher my statement about gs_init.ps wouldn't make sense if you didn't get the email sorry for the confusion.18:48.13 
ray_laptop I've kept the 'len' of the profiledir along with the profiledir pointer in the gs_lib_ctx -- if we have a length, (and don't use strlen) can we avoid this and just use the length ?18:48.50 
  mvrhel2: I think we can just use:18:50.55 
  /* Check if it was "NULL" and ignore it if so */18:50.56 
  if (pval->size != 0 ) {18:50.58 
  gsicc_set_icc_directory(pis, (const char*) pval->data, pval-size);18:50.59 
  return(0);18:51.01 
  }18:51.03 
mvrhel2 sorry ray_laptop on phone for sec. reading now...18:51.52 
  ray_laptop: yes I agree. I don't know why I did that18:52.36 
ray_laptop mvrhel2: I'm thinking about things like CJK18:52.46 
  mvrhel2: OK. Thanks. Almost done with edits and ready to test compile (and see all the things I missed).18:53.21 
mvrhel2 CJK is the sort of thing that makes me push off this task to someone else...18:53.40 
  and unicode....18:53.59 
ray_laptop we can dump it on Robin -- he was the last person to take a whack at it ;-)18:55.17 
henrys mvrhel2:I am going to go back and find the rest of 711's timing regression unless there is something else you want me to look at. I'd like to get you back to planar as soon as possible so if you can get others to help you clear your desk that would be good.18:55.40 
mvrhel2 henrys: I was just about to send you an email about customer 71118:56.05 
  this is progressing into a screen design problem with a transfer function18:56.17 
henrys meaning you would need to look at multiple output iterations on a real device etc.18:57.41 
mvrhel2 meaning that I have the feeling that they don't have the tools to do this and that I could fix up my screen creation tool so that they could use it assuming they can make measurements etc18:59.31 
  but it all requires time18:59.43 
  I have an appt at 12:30 I will be back at 119:01.39 
henrys okay19:01.48 
ray_laptop mvrhel2: I might be done with the profiledir changes by then ;-/19:08.29 
  more changes than I had thought, but seems cleaner now19:11.47 
  might even work ;-)19:11.55 
  the gs universe remains in balance as well -- we took BITTAG out of gs_lib_ctx and this puts something back into it ;-)19:13.45 
Robin_Watts ray_laptop: mvrhel2: In theory, all strings held inside ghostscript (like profiledirs etc) are UTF-8 encoded.19:23.57 
  The wonderful thing about UTF-8 is that you can treat it exactly like ascii.19:24.23 
  Same sort order, same strlen, strcpy, strcmp etc.19:24.33 
ray_laptop Robin_Watts: I thought UTF-8 had nulls in it -- I must be thinking the 16-bit Unicode (whatever that is called)19:25.48 
  or Windows 'wide' chars19:26.10 
Robin_Watts ray_laptop: In UTF-8 a 0 byte means end of string, same as in ascii.19:26.32 
  and directory separators (and indeed all chars <128) are just represented by themselves.19:27.11 
ray_laptop OK, well maybe we can get rid of the 'len' values in the ICC stuff (I, in my misunderstanding, steered mvrhel2 wrong)19:27.22 
  we'll leave that cleanup for after we squeeze 9.03 out19:28.07 
  (maybe the Aug release)19:28.22 
  mvrhel2: when you get back, please have a look at the commented out code in zputdeviceparams (psi/zdevice.c) -- there's a commented out: code2 = gsicc_init_device_profile_struct(dev, NULL, 0);19:32.18 
  hurray! have a clean build (on Windows). Now to test...19:44.34 
chrisl alexcher: The VC7 build problem you had yesterday, I think I know how to fix it - should I do so?19:46.33 
  ray_laptop: looks like Len has got a few steps further after the suggestion(s) I made - yay!19:47.11 
ray_laptop chrisl: congrats ! and thanks for perservering19:53.14 
chrisl ray_laptop: it's a bit of a relief, I must say! I await the next problem, of course ;-)19:55.07 
  ray_laptop: how are we looking for 9.03? I notice the customer prompted us today.......19:56.56 
ray_laptop chrisl: I'm working on a fix for the ICC profiles directory problems that we classed as a show stopper19:58.52 
  chrisl: it builds and runs COMPILE_INITS=1 -- now building and trying COMPILE_INITS=0 ...19:59.28 
chrisl ray_laptop: okay, great. If it all works okay, can you drop me a mail letting me know, and with the script and instructions for the commercial release, please?20:00.13 
ray_laptop I'll do a clusterpush to make sure that I didn't mess up COMPILE_INITS=0 then also push the change to the 9.03 branch for marcos to test with COMPILE_INITS=0 and others to beat on20:00.53 
  chrisl: wilco20:01.13 
chrisl ray_laptop: cheers. I'll leave you in peace now, and go and watch some television.......20:01.40 
ray_laptop it's a little nervous making in that it changes 9 files and is pretty extensive change20:02.03 
  for right before a release...20:02.16 
chrisl_away needs must when the devil etc.....20:03.00 
Robin_Watts tor8: New mupdf commit waiting for you on casper.20:09.20 
alexcher chrisl: yes, please fix the VC7 problem. 20:10.45 
Robin_Watts Advances VOX and isolation-rgb.pdf20:11.04 
mvrhel2 ok I am back20:11.07 
ray_laptop mvrhel2: darn. I messed something up. Somebody is stomping on the LIBPATH list :-(20:15.21 
  during running the init files (fails after gs_lev2.ps)20:16.07 
  need some food ...20:16.31 
mvrhel2 ray_laptop: that commented out code should be removed20:19.38 
  everything is set during gs_putdeviceparams20:20.53 
chrisl_away alexcher: Will do. I'm testing it now, but it takes an age to build (VBox, shared drive.....) so I'll leave it building, if it goes right, I'll commit it tomorrow morning (my time)20:25.45 
mvrhel2 henrys: are you around?20:39.10 
henrys yes20:43.45 
  I am wondering if it can't be done with just tuning parameters this is 180 dpi monochrome.20:44.24 
mvrhel2 I am wondering that too. I get the feeling they are not to familiar with hafltoning though20:55.49 
  to me the lowres screen output that they showed doesn't look too bad20:56.14 
  My worry is that do the expect us to tell them exactly what HT values work best for their device?20:56.50 
  s/the/they/20:56.57 
  henrys^^20:57.00 
  in terms of linearity it looks pretty decent20:58.02 
  there is the ever present trade off of levels versus resolution20:58.38 
  and they are seeing it when they go to the high res screen20:58.49 
  where they have lost levels20:58.54 
  if they want perfection they will need to create their own screen that is optimal for their device21:00.16 
henrys from his email though he is complaining the 5,10,15,20 are pure white in the middle example that doesn't seems right to me either.21:02.37 
  unfortunately I have to go out for a little bit and will be back this evening.21:05.28 
mvrhel2 ok. np. 21:05.36 
  well he hit the high res screen with a exp 0.221:05.46 
  which means the values at high lights get pushed even lighter21:06.45 
  he needs a LUT for the transfer function21:06.55 
  or a different parametric function that behaves more linear in the highlights21:07.24 
  I will craft a reply. How hard is it to use a LUT for a transfer function?21:08.27 
  it would be better for him to generate a screen though with the transfer function baked in as alexcher had suggested21:08.58 
  but first we need to determine the function21:09.19 
alexcher mvrhel2: transfer function is just a PS program. LUT access can be coded in one line of code.21:15.27 
mvrhel2 alexcher: ok so if I had a table to N float values can you supply we with a way to use that as a transfer function?21:16.26 
  s/we/me/21:16.31 
  as a PS program21:16.38 
  s/table to/table of/21:16.51 
alexcher mvrhel2: yes, of course.21:17.07 
mvrhel2 ok. could you do that today?21:17.18 
alexcher mvrhel2: Yes, 20..40 min21:17.45 
mvrhel2 alexcher: very nice21:17.52 
  thank you21:18.00 
  bbiab21:37.55 
ray_laptop COMPILE_INITS=0 works (and =1 as well). Doing gitpush regression ....21:42.19 
  mvrhel2: we should explain to cust 711 why baking the transfer function into the threshold array is a good idea -- otherwise even if they have 256 dots (16x16) threshold array, their transfer function may be such that many of the levels are all effectively black.21:46.53 
  mvrhel2: with their extreme dot gain, even with 16x16 they may end up with only about 60 or so usable levels21:47.31 
mvrhel2 ray_laptop; yes I agree21:57.49 
  the question is, is that something we do for them or do they do it themselves21:58.05 
  to me this is getting into a gray area21:58.14 
  pun intended21:58.24 
  back shortly22:16.45 
alexcher mvrhel2: Done.22:26.59 
ray_laptop strange. I did a gitpush from my Windows machine and the compiles fail, but I sent the patch to peeves and applied it to 9.03 and it compiles fine ???22:55.36 
  and COMPILE_INITS=1 runs fine -- even with x1122:56.45 
  henrys: can I send the patch to 9.03 to you in case you can figure out why the cluster regression compile fails ?23:14.24 
 Forward 1 day (to 2011/07/14)>>> 
ghostscript.com
Search: