Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2017/04/05)20170406 
amila good morning06:40.34 
  HI08:45.19 
ghostbot Welcome to #ghostscript, the channel for Ghostscript and MuPDF. If you have a question, please ask it, don't ask to ask it. Do be prepared to wait for a reply as devs will check the logs and reply when they come on line.08:45.19 
Robin_Watts Morning amila.08:49.29 
amila good morning robin08:53.34 
  hi11:55.32 
ghostbot Welcome to #ghostscript, the channel for Ghostscript and MuPDF. If you have a question, please ask it, don't ask to ask it. Do be prepared to wait for a reply as devs will check the logs and reply when they come on line.11:55.32 
Robin_Watts Morning amila: You'll frequently wait a long time waiting for people to reply to greetings on irc. Your best bet is just to ask any questions you may have, and we'll answer as soon as we can.12:01.54 
amila in what kind of operating sistem is better to develop with ghostscript?12:10.03 
  i normaly use windows but i like to use ubuntu12:10.53 
kens Whichever operating system you like best and feel most comfortable with12:17.43 
  Amongst the developers we use a mix, someo12:18.02 
  sorry, hit enter in error12:18.09 
  Some primarily use WIndows, some Linux, and we sometimes use MacOS12:18.33 
ray_laptop amila: I would chime in that if your target RIP product will be linux based, and you are comfortable with ubuntu (or another linux), then doing your initial development there might be better. The only difference is the top level makefiles are different between Windows and linux/MacOS13:11.24 
  and the "display" device on the two platforms differ (x11 vs Windows)13:12.08 
  many of us use both fairly equally, I tend to use Windows as the native OS and use VS 2015 mostly there, but am equally comfortable on linux and prefer profile and other tools on linux (gprof, valgrind, ...)13:14.02 
amila i normaly use ubuntu to program but on windows i start to use vs 201713:40.11 
kens The solution provided to build Ghostscript on WIndows should work with VS 2017, but will need to be updated. Visual Studio should offer to do so when you first open the solution13:41.15 
amila the rip is for windows and mac because in italy many companies use windows and mac there are few companies use linux13:42.25 
ray_laptop amila: I see, so the RIP product is software provided to customers to use on their own computers (you don't provide a "bundled" product with the software pre-installed on hardware), is that correct?14:00.55 
  amila: can you tell us what input data formats you will want to accept (PS, PDF, PCL, XPS, ....)14:02.36 
  amila: and, I should mention that if you are not able to provide answers in public (here), but can privately, please feel free to email us and we will keep it private14:03.52 
amila what is your email 14:20.51 
ray_laptop amila: support at artifex.com14:26.07 
  amila: all of the engineers see that (kens, robin, myself included)14:26.40 
amila ok14:36.50 
kens chrisl the problem in bug #6797548 is from param parsing in setpagedevice for me14:39.33 
  <</Margins[]>> setpagedevice cauzses the seg fault14:39.45 
ray_laptop mvrhel_laptop: I thought you were out this week 14:39.53 
chrisl kens: Yeh, I see it, I was just being a bit stroppy, tbh14:40.00 
kens :-D14:40.08 
  Seems to me that param_read_float_array should be able to cope with empty arrays14:40.41 
chrisl I don't think that's the problem14:41.21 
kens You may be correct14:41.28 
  I only just poked at it just now14:41.36 
chrisl I think it's more about having a dictionary object as a key14:41.57 
kens I'd forgotten that we unrolled all this stuff onto the stack14:42.00 
chrisl Hmm, okay, no. It doesn't like a dictionary as a value.....14:50.54 
kens well setpagedevice shouldn't normally be using a dictionary as a key14:53.00 
  So I'd be inclined to throw it out with an error....14:53.22 
chrisl I was wrong, it doesn't like the dictionary as a value for /Margins14:53.51 
kens Yeah that's more what I thought14:54.00 
  Margins is looking for a float array14:54.07 
  SO a dictionary ought to trigger a typecheck error14:54.17 
  I htionk its because the array is empty though. Note that the dictionary is not properly balanced, tehre are not an even number of entries (key + value)14:54.59 
chrisl Yes, it is balanced14:55.23 
kens Really ? I must have missed something then14:55.39 
chrisl findfont is an operator14:55.45 
kens True, but it will return what ?14:56.08 
chrisl Well, for me, it is trying to find a font with a name of an empty array14:56.47 
kens If it returns anythign it will be a single dictioanry14:57.19 
chrisl Yes.14:57.27 
kens Which measn we have <</Margins [] <dict> /[]>>14:57.59 
chrisl No, findfont takes a parameter14:58.12 
  <</Margins <dict> /[]>>14:58.26 
kens Ah, so you think its swallowing the array ?14:58.28 
  Shouldn't that throw an error ?14:58.34 
  Hmm, apparently not14:58.57 
  it seems we are allowed to use a key for findfont14:59.16 
chrisl Yeh - ick :-(14:59.39 
kens well the float array shuld throw an error when the object on the stack is not a float array then, surely.15:00.13 
  I'm assuming that findfont returns the default substitute font when presented with [] as a key15:00.42 
chrisl Yes15:00.48 
  The problem is that ref_param_read_typed() doesn't *enforce* a type15:01.14 
kens Hmm, I htought there was something that did15:01.25 
  But I haven't looked at this stuff in a while15:01.44 
chrisl param_coerce_typed() ?15:01.52 
kens Sounds plausible15:02.02 
  Though I have a suspicion that *forces* the parameter into a type, rather than ensuring it is a type15:02.21 
chrisl That's the only place in that code path I can see that will return a typecheck15:03.49 
kens I guess its that then15:03.59 
chrisl param_coerce_typed() will "coerce" sort of compatible types - and integer into a float, or an integer array into a float array - but not a dictionary into an array etc15:05.47 
  But that gets called *after* we've hit the problem :-(15:06.08 
kens Yet more evidence of the crapness of our setpagedevice implementation15:06.44 
  I think we need to rework that bit, if we expect an array, and don't get one, then it should be an error15:07.20 
chrisl Well, I'm a bit baffled why we're trying to do stuff with the object, before we've validated it15:08.14 
kens THat does seem silly15:08.34 
chrisl Okay, we're trying to enumerate a dictionary, with stack_param_enumerate()15:10.45 
kens Hmm, well that isn't going to work15:11.09 
chrisl I'm looking at line 775 in psi/iparam.c15:12.12 
kens give me a minute, I'd dropped it and gone back to PDF15:12.32 
chrisl Oh, well, leave it then, I'll carry on15:12.44 
kens Right I see, its enumerating a dictionary15:13.06 
chrisl In the conditional, we call the function pointer plist->enumerate15:13.39 
kens yes I see15:13.45 
chrisl *But* we pass in pvalue->value.d.list15:13.56 
  So, plist, at this point, is the param list for the operand stack, but pvalue->value.d.list is the param list for the dictionary15:14.42 
kens That seems screwy15:15.10 
chrisl I feel it is not the intended usage....15:15.43 
kens I guess it works as long as the value is a dictionary, and not some other compound type15:16.12 
chrisl If I change that so it uses the enumerator for the dictionary param list, it no longer crashes15:19.57 
kens Well, that sounds positive....15:20.12 
  But I wonder what other implications there are15:20.23 
chrisl I'm going to have a play with this, and see. At the moment, I'm not getting the error I expect, but that could also be down asan stomping all over the output15:21.14 
kens Hmm, OK15:21.31 
  I'll go back to PDF then15:21.37 
chrisl No, even a debug build doesn't throw an error.... weird15:22.32 
  Oh, I think setpagedevice ignores the erroneous value - which seems right......15:24.46 
kens ignoring the nonsense seems like the right thing to do15:38.16 
  IIRC its perfectly legitimate to stick asnything you like in the dictionary to setpagedevice, and it just ignores anything it doesn't understand15:38.40 
chrisl Yes, "invalid values for the current device are ignored" - or words to that effect. I looked it up a minute ago15:40.47 
kens OK so I finally sorted out the colour space stuff, which fixed exactly one file :-(15:45.52 
  On ot the next problem I guess15:46.03 
chrisl kens: http://git.ghostscript.com/?p=user/chrisl/ghostpdl.git;a=commitdiff;h=bfa6b2ecb15:48.31 
kens That looks rather more sensible15:49.15 
chrisl cluster shows no changes15:49.36 
kens I assume nothing blows up if yo udo that ?15:49.36 
  :-)15:49.40 
  I'd say go for it then15:49.49 
chrisl Cool, thanks15:49.57 
  kens: I've also got: http://git.ghostscript.com/?p=user/chrisl/ghostpdl.git;a=commitdiff;h=47417a5cb15:50.36 
kens Ah yeah, I'd fogotten about that15:50.55 
  Again, looks very sensible15:51.05 
  It'll be nice to access big memory on 64-bit Windows builds15:51.17 
chrisl Right,. pushed - thanks15:52.04 
kens Great, two nice fixes15:52.10 
 Forward 1 day (to 2017/04/07)>>> 
ghostscript.com
Search: