IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2014/10/27)20141028 
mvrhel_laptop henrys: can you do me a favor02:28.45 
  can you copy the latest copy of GS9_Color_Management.pdf to the web site location on casper (i.e. in doc/current). I don't have permission to do this02:30.58 
  Miles wanted it updated with a newer copyright date. 02:31.16 
  bbiab02:35.18 
henrys mvrhel_laptop: when is current updated? rather than fix your one piece of documentation why not a cron job that updates the tree to head?03:32.14 
  mvrhel_laptop: ah current is current release so I'd be inclined to either change the definition of what we mean by current and copy everything in or tell miles to wait until march.03:36.10 
mvrhel_laptop henrys: right I was trying to understand that03:44.52 
  I don't think Miles will want to wait until March though03:45.54 
henrys mvrhel_laptop: let's talk to chrisl_away about it at the meeting. He updates it each release I guess, based on the dates I see.03:45.56 
mvrhel_laptop ok03:46.03 
henrys mvrhel_laptop: I think we can make a good case "current" should be now03:46.47 
mvrhel_laptop yes03:46.54 
pedro_mac morning folks07:36.13 
dinamic tor8: i made 2 PR on github against your mujs project which fixes two bugs10:53.57 
tor8 dinamic: thanks. I've pushed a fix for the JSON parsing issues you and avih have discovered, and another one I found while looking into it.11:23.02 
  in the future, please use bugs.ghostscript.com though. just stick it under the MuPDF category and prefix with [mujs]. I'll see about getting our sysadmin to add a category for MuJS to the bugzilla later today.11:24.01 
dinamic tor8: great11:36.48 
avih tor8: k. btw, i think i got the stack handling wrong in c calees. how should the callee handle the stack? just push a singe value as the return value? what happens if a callee pops some of its arguments?12:16.38 
  (the print example doesn't pop anything, and the pcall docs says the caller should pop the arguments it's pushed, so i guess callees should not manipulate the stack beyond adding a return value)12:18.02 
  also, any plan to push the debug patch to master? fwiw, preliminary speed tests which i tried (looping function call) didn't show meaningful speed difference with it, and it's very very useful (the line info on errors)12:20.41 
tor8 avih: the value on the top of the stack is returned, all other values are ignored (and automatically popped when the function returns)12:21.40 
avih also, i think that's quite expected from a js vm to report line numbers on errors.12:21.42 
tor8 avih: the debug patch needs more polishing12:21.55 
avih tor8: ok, so re c functions, what happens if the callee pops the arguments? would it mess things up or would the vm wrapper just clean js_gettop regalrdless if the callee popped some values or not? (Assuming it didn't pop beyond the this value)12:23.11 
tor8 avih: popping more values than there are arguments will lead you into undefined territory12:26.04 
avih but if the callee pops the arguments, then no hard done? (even if not required, which i just got wrong) - trying to figure out of my crashes are due to incorrect handling of the stack12:28.34 
  harm*12:28.48 
tor8 avih: as long as you don't pop more than you had coming in, you're safe12:43.57 
  but you must push or leave at least one argument on the stack, as the return value12:44.09 
avih k, thx12:44.44 
  (yeah, i did the latter, but somehow incorrectly thought the calle should also pop the args)12:45.06 
tor8 avih: if you're in doubt about how something works, the builtin functions are usually decent examples12:46.08 
  in jsarray.c, jsobject.c, etc12:46.27 
avih bug http://bugs.ghostscript.com/show_bug.cgi?id=695567 has a commit link which is not found, and also it doesn't show on http://git.ghostscript.com/?p=mujs.git;a=summary13:06.00 
tor8 avih: the bugzilla commit links all point to the same (wrong) repo :(13:17.53 
  http://git.ghostscript.com/?p=mujs.git;a=commit;h=8a659b28210220f6e29d5ed671e2c22adde9a7c113:18.44 
avih oh, i missed the commit data (oct 9th), the bug was from today so i was looking at the recent log for the fix. i now see it earlier at the log13:21.33 
dinamic avih: to get stuff right i imlpemented a stack dumper, that has solved alot of issues for me, it just prints X items on stack from top 13:21.38 
avih date*13:21.39 
tor8 dinamic: jsR_dumpstack?13:22.34 
avih dinamic: well.. my issues right now are random crashes. i can't tell if it's the js parts or the embedding parts.. :/13:22.42 
dinamic tor8: i have missed that one :)13:23.04 
tor8 dinamic: it's private, so easy to miss13:23.41 
dinamic tor8: mm, i just used js_tonstring(state, x)13:24.02 
tor8 you can use the js 'debugger' statement to get it to dump the stack and bytecode13:24.17 
avih (i've implemented about 7-8 c apis which the js code can access, and for the most part it works great, except for crashes manifest differently every time (Segfaults, deallocations, etc, and only some of those are js related, and it's just completely not deterministic :/ )13:24.36 
tor8 avih: have you tried running it in valgrind yet?13:25.02 
avih not yet13:25.09 
  and on top of that i think that this MBA (4 years old) might have issues of its own. i've experienced random crashes or hangs on it, relatively rarely, but more than a year ago for sure. so between the laptop hardware, the js implementation, my use of it and the embedding environment, and with the random symptoms, it's really hard :/13:26.39 
  and while my crashes are random, they happen consistently up to few seconds from starting the app in most cases. but still not deterministically as far as i can tell13:27.54 
  (it's a code with manyy callbacks both ways between the js code and the client code, observers, timeouts, etc)13:28.40 
tor8 I hope you're not trying to call mujs from multiple threads...13:29.03 
  ...on the same js_State13:29.11 
avih nono, single thread13:29.31 
  and the thread is dedicated to run the js code13:31.26 
marcosw henrys: I have to take my daughter for a doctor's appointment this morning and so will miss the IRC meeting but should be back in time for the SOT meeting. I'lll read the logs.13:39.09 
tor8 marcosw: could you please add MuJS as a bugzilla component?13:40.11 
marcosw sure, under MuPDF?13:40.42 
  I presume.13:40.46 
  or as it's own product?13:41.34 
kens Own product seems to make sense ?13:41.43 
Robin_Watts_ I'd vote for own product.13:42.24 
  Similarly, under GhostDocs, could you add components for "UI", "Renderer" and "Core" please?13:44.16 
dinamic avih: i use alot of callbacks etc in my project, you might get some info from my code13:45.44 
  avih: mujs objects are in https://github.com/hean01/castio/tree/master/src/js13:46.51 
avih dinamic: i wouldn't mind looking. thx. my code is running in its own thread, basically running js code which binds to client api of the application i'm trying to control. so it could definitely be incorrect use of the client api for the application.13:47.45 
  the client api supports observers, timeouts, etc, so all that binds back to the js code. and the thing is, all the code paths work as far as i can tell, but then there are these random crashes.13:48.49 
  i.e. all the observers and c functions which the js can call work...13:50.06 
  just not for long enough :) :/13:50.20 
dinamic avih is the timeouts / observer callbacks syncronous with your thread ? do you queue up request for dispatch to force synchronous operations on the js state?13:54.28 
  avih: ^ just thinking out loud13:54.47 
avih the (js) client thread is synchronous and waits in an event-loop style on the client api wait_event. so whenever it gets an event, it executes js code accordingly.13:56.09 
  the wait event api call returns after a specified timeout argument or whenever an actual event arrives from the application13:57.03 
dinamic that sounds synchrnous enough :)13:57.35 
avih the js code can forther execute other client api calls13:57.49 
  further*13:57.59 
  sync or async really depends on your point of view :)13:58.15 
dinamic ah ok, which would raise an event and get back into the state to execute something other13:58.18 
  that ^ would require a proper stack handling or it will get very messy13:58.55 
avih there's a single client thread, and it doesn't spawn more threads. it basically loops as wait event -> execute js code -> the js code can call more app api calls -> returns -> wait for another event13:59.11 
dinamic when something is done executing, the stack should look as just it would when you entered13:59.34 
avih yup13:59.44 
dinamic so if your leave traces on stack it will mess up furteher execution13:59.56 
avih sure14:00.06 
dinamic if you say it happens random, can you pinpoint any event that will raise the issue ?14:00.15 
  specific event ?14:00.20 
avih no14:00.37 
  at least not that i could find14:00.44 
  i _think_ many of the times it actually crashes on the wait_event call14:01.00 
dinamic implement a log cfunction and in javascript log each function call14:01.04 
tor8 marcosw: own product, please14:01.16 
avih it doesn't crash inside the js execution as far as i can tell14:01.23 
dinamic oh ok14:01.55 
avih dinamic: i mostly have that. i can track the code flow. like i said, most of the time it crashes at the alient api call which waits for the next event14:02.23 
  it could still be due to messed up stack, but it could also be incorrect use of the client api, or faulty hw (which is another suspicion i have since it crashes more than it used to in the past regardless of my project)14:03.20 
dinamic so what does a backtrace tell you of the crash ?14:04.43 
zeniko tor8: I've got two small fixes on zeniko/mupdf for review14:12.31 
  also, is there any reason for not merging your "Fix warnings." commit?14:13.27 
tor8 zeniko: no reason, they just haven't been reviewed yet14:14.14 
zeniko ah, does an "it works for me and LGTM" from my part suffice for review?14:14.44 
tor8 zeniko: yes :)14:15.53 
zeniko henrys: there are two minor patches to jbig2dec on zeniko/ghostpdl for review and merging which fix some unfortunate regressions introduced with the last fuzzing fixes in January14:16.30 
henrys zeniko: thanks I'll look after the meetings today - in an hour or so.14:17.57 
zeniko henrys: thanks, no hurry14:18.27 
  tor8: BTW: any plans to update MuPDF to also use openjpeg 2.1.0?14:19.41 
tor8 zeniko: eventually. we're a bit understaffed on the mupdf side of things with the whole smartoffice deal, so it may be a while until I get time.14:20.20 
  Robin_Watts_ has been handling the openjpeg integration, so he may do it on those days when he needs a breather from smartoffice14:21.19 
zeniko Well, maybe 2.2.0 will be out soon anyway, now that pdfium also uses openjpeg and has had Google produce another round of fuzzing crash reports :-/14:21.46 
nsz what is smartoffice?14:22.09 
kens Another product14:22.36 
nsz i could guess that much..14:22.59 
kens Google then14:23.09 
nsz nothing relevant turns up14:24.06 
tor8 kens: I don't think smartoffice has that much google foo; it's all in the app stores14:24.25 
kens If I google SmartOffice Artifex it takes me to the right page as hte first link14:24.30 
henrys http://smartoffice.artifex.com/14:24.49 
kens Same if I just Google SmartOffice14:24.53 
nsz i dont use google but thanks14:25.00 
  i used ddg.gg14:25.05 
kens 5 minutes to meeting ? THe US hasn't changed times yet, right ?14:25.35 
henrys kens: no14:25.50 
  oh god we're in that again...14:26.00 
tor8 kens: a 'neutral' google search (one that ignores your logged in account) has the android and itunes app stores as hit #7 and #8, picsel.com as hit #4 and all other hits irrelevant14:27.21 
kens Well surely the app sotre hits would be enough to see what it is ?14:27.40 
tor8 kens: well, there's a lot of other stuff on the page as well, so if you don't know what you're looking for I can imagine it being a bit confusing14:28.11 
  picsel.com is labeled "Artifex SmartOffice" though :)14:28.16 
kens Even a 'neutral' google still gives me Artifex's page as hte first hit14:28.35 
tor8 we need to improve http://smartoffice.artifex.com/ google rank14:28.39 
kens THat is google.co.uk though14:28.44 
henrys I just tell people the link ...14:28.48 
tor8 kens: neutral uk region search gets me picsel.com as the #1 hit, true14:29.09 
kens Stupid CHrome won't let me use Google.com.....14:29.29 
tor8 kens: google.com/ncr14:29.37 
henrys for gs and mupd it's lmgtfy.com14:29.38 
tor8 as in no-country-redirect14:29.44 
henrys or mupdf14:29.47 
nsz on ddg.gg it's not in the first 1014:30.03 
tor8 nsz: duckduckgo has smartoffice app store hits on the first page14:30.39 
nsz i thought that's surely something else..14:30.59 
  appstore hits are mostly spam14:31.10 
tor8 I also use duckduckgo as my primary search engine; with !g for those rare occasions when I need an unrefined google search result14:31.36 
henrys kens: so chrisl_away is possibly not here because of the time?14:32.09 
nsz i use !s for that :)14:32.14 
kens I'm probably irritable, drowning in stupid bug reports and fighting clist14:32.24 
  henrys, I would have to guess so, yes14:32.31 
nsz (i use ddg because it has it's /lite/ version that is very usable from w3m unlike other websearch things)14:32.55 
rayjj kens: which clist issue are you fighting ?14:33.54 
tor8 nsz: my only gripe with ddg is I can't blacklist useless sites like answers.yahoo.com and about.com14:33.56 
henrys well I'll leave something for the logs chrisl_away we, well mvrhel_laptop and henrys would like the current docs on ghostscript.com to point to the current code not the last release.14:34.04 
kens rayjj getting my FirstPage/LastPage stuff to work, its all new14:34.08 
henrys kens: hey so that is coming along?14:34.39 
kens henrys, its getting there, clist is my current headache with it, but since I only started in on that part today I'm not surprised.14:35.04 
  In general the code works, and works with all interpreters provided they send -dFirstPage and/or -dLastPage to the device put_params14:35.35 
rayjj kens: I see -- you're trying to avoid processing stuff into the clist ?14:35.38 
henrys mvrhel_laptop: I was going to ask marcosw about xpswrite commits. I guess he'll look at the logs and give the okay.14:35.43 
mvrhel_laptop ok. that would be good. I14:36.01 
nsz tor8: btw i made progress with floating-point formating, i have a reasonably small fp formatter that can do toExponential, toPrecision, toFixed and the normal tostring with shortest decimal form14:36.04 
kens rayjj, no its more complex than that, to be honest I'm not sure what;'s wrong at the moment, the cluster test only finished a bnit back and I';ve been fending off bug reports14:36.07 
rayjj kens: OK. let me know if you have questions and I'll *try* to help.14:36.51 
kens henrys, it works with all the interpreters (specifically including the PostScript interpreter), works with transparency, and the high level devices. As soon as I fix whatever I broke in clist processing it shold be close to being ready, though it'll need a lot of tidying up and maybe some thought about other things it should do.14:37.11 
mvrhel_laptop maybe when chrisl is in there making currrent, current we can get this page updated too14:37.22 
  http://www.ghostscript.com/Documentation.html14:37.24 
henrys maybe we should have scheduled vacations from non customer problems ;-)14:37.26 
kens rayjj I think I'm clear on the clist, there are some interesting things I found while working on this, I'm currently documenting them as I go as comments in my new C file.14:37.43 
rayjj henrys: I saw the discussion between mvrhel_laptop and you about "current" on the website. As long as the docs and the code match, that's OK, but AFAIK the 'current' code is the most recent release14:38.14 
  and we don't want the docs to describe some feature that's not in the 'current' code14:38.36 
henrys rayjj: right it is but we'd like to change it.14:38.46 
rayjj that's what the gig blobs are for, IMHO14:38.52 
kens had a free user on SO wondering why the current documentation on silent installsations on Windows (form our web site) didn't work when he tried to install 8.70......14:38.53 
rayjj s/gig/git/14:39.18 
mvrhel_laptop oh14:39.22 
  it is updated14:39.24 
nsz (but i found an issue in my math rounding functions in musl and possibly freebsd/android/.. fdlibm __rem_pio2 that only affects i386 so i want to figure that out first before finishing the fmtfp)14:39.25 
kens mvrhel_laptop : Chrisl may have updated it when he fixed some documentation today14:39.42 
mvrhel_laptop oh cool14:39.50 
  for the logs, thanks chrisl14:40.26 
kens He updated the docs for fonts and COMPILE_INITS, he may have done rthe web site at the same time14:40.27 
rayjj henrys: AIUI, Miles is looking for 'bleeding edge latest' as opposed to 'current release'14:40.30 
mvrhel_laptop the doc, in question was not up to date in this particular case rayjj14:40.59 
henrys rayjj: we are trying to solve a problem for miles also but that is secondary.14:40.59 
kens Hmm, we want the 'latest' docs on the web site, even if they are newer than the latest release ? I'm not sure that's wise14:41.09 
  Having up to date docs makes sense though of course14:41.38 
mvrhel_laptop perhaps a pre-release doc folder in http://www.ghostscript.com/doc/14:42.42 
kens THat would OK to have too, a sort of sneak preview of what's coming14:43.02 
rayjj kens: the 'latest from the repo' _is_ on the web. For example: http://git.ghostscript.com/?p=ghostpdl.git;a=blob_plain;f=gs/doc/Readme.htm;hb=HEAD14:43.16 
tor8 zeniko: there's a typo in 'more liberally accept page trees with unexpected content', too many )14:43.21 
henrys mvrhel_laptop: yea so miles just needs a different link I gave him "current"14:43.30 
kens rayjj : THat's what Michael said a minunte ago (I think)14:43.32 
  But I'm not sure its a good idea, if the docs are more recent than the release. As you say, what happens if we add a feature ?14:43.59 
henrys mvrhel_laptop: does prerelease have your change for copyright dates?14:44.11 
kens And there's a chrisl :-)14:44.17 
chrisl Yeh, sorry, forgot the clocks had changed14:44.29 
mvrhel_laptop henrys: we are all set as far as miles goes now14:44.30 
  chrisl updated current14:44.39 
rayjj at least the git repo is self-consistent14:44.46 
henrys mvrhel_laptop: well I went to some effort to have miles point to the documentation not copy it. Have we kept that intact?14:45.04 
mvrhel_laptop yes. the link you gave him will work now14:45.21 
  I will let him know that it is all good now14:45.38 
henrys chrisl: don't read the logs14:45.38 
chrisl I put a cron job in place so current gets updated from git every hour14:45.41 
mvrhel_laptop :)14:45.43 
henrys ;-)14:45.43 
kens chrisl but what if we add features and document them ? THen the docs will be out of sync with the release14:46.06 
henrys chrisl: web site looks nice!14:46.09 
kens THe web docs that is14:46.10 
chrisl kens: there are still the docs for each release, plus the "current" docs14:46.33 
mvrhel_laptop right14:46.38 
kens Aha! OK that makes sense14:46.42 
mvrhel_laptop thats what I was showing in the above link http://www.ghostscript.com/doc/14:46.58 
kens SOrry mvrhel_laptop I was doing something else and missed it14:47.10 
zeniko tor8: sorry about that, it should compile now14:47.15 
kens Trying to figure out what is broken in a PDF file.....14:47.33 
henrys I was going to bug tor8 about epub status, but other than that I don't have anything else. Anybody else have stuff for the gs/mupdf meeting?14:47.46 
rayjj thehttp://www.ghostscript.com site doesn't look good for me with Firefox14:47.58 
kens Not from me, plenty to keep me busy at the moment14:48.04 
  rayjj looks OK to me, what do you see as a problem ?14:48.19 
mvrhel_laptop looks fine on my Firefox14:48.23 
rayjj chrisl: do you want a screenshot ?14:48.36 
kens is using 32.0.314:48.42 
chrisl rayjj: you might need to force a full refresh since the css has changed14:48.57 
tor8 henrys: epub is progressing. I have the box generation and block level layout working; need to start on formatting lines and outputting text on pages14:48.59 
henrys rayjj: did you refresht?14:49.00 
  tor8: nice.14:49.19 
chrisl henrys: after the discussion with the customer about cidfmap, I'm wondering if we should make the environment variable names and registry entry names a compile time setting (so settable as an configure/nmake option)14:49.34 
tor8 henrys: which I expect will be the biggest task of all -- fonts and linebreaking :(14:49.41 
  henrys: well, that and then floats and tables... plenty left to do!14:49.58 
  but the groundwork is there14:50.02 
rayjj the ghostie is in the top left, then a list of the primary links, *then* the "Ghostscript" header14:50.10 
kens Hmm, that's not what I see14:50.25 
  hat version of Firefox ar eyou using /14:50.41 
  ?14:50.44 
mvrhel_laptop oh I have that at http://www.ghostscript.com/Ghostscript.html14:50.44 
  too14:50.46 
  I am at 32.0.314:50.57 
kens No tha'ts fine for me too14:50.58 
henrys chrisl: have we had any other requests for that even non customer?14:51.03 
rayjj kens: strange -- it must have had that page from a long time ago -- I haven't been to that page since several reboots ago14:51.04 
  chrisl: _does_ look nice14:51.15 
mvrhel_laptop oh a refresh and it all looks good14:51.36 
kens rayjj so its OK for you now ?14:51.38 
mvrhel_laptop very nice14:51.42 
chrisl henrys: that customer I was dealing with wanted a way to influence *only* their GS install, and not have their install be influenced by any others14:52.07 
  rayjj: most of the credit goes to tor8......14:52.25 
rayjj kens: I'm running 33.0 but just got a pop-up saying 33.0.1 is available14:52.34 
chrisl Firefox doesn't seem to be that good at spotting that the stylesheet has changed ;-(14:53.11 
kens Well aboput tells me there's a newer version, but I'm not bothered by keeping that up to date ;-)14:53.11 
henrys chrisl: it's reasonable just don't know if we want to do it without a few more requests14:53.13 
chrisl henrys: This is the first time I've seen it come up, but I find that surprising14:53.52 
kens I guess most people use -I to avoid these sorts of problems ?14:54.12 
chrisl Yes, but that doesn't fully solve the problem14:54.28 
kens defers to the expert....14:54.54 
henrys chrisl: how about a compromise with a p2 enhancement request with the customer number for now and we'll visit it again at the meeting bug scrub14:55.25 
chrisl henrys: could we just add it to workflowy for discussion? I think the customer in question is probably satisfied14:56.17 
rayjj for the record, I'm mired in trying to find a 'minimal' patch for an old cust 532 code set for a problem that doesn't occur in ANY of our commits (has to be with the rest of their changes). Len has been wrapped around the axle on it for a couple of weeks14:56.24 
henrys chrisl: okay I'll add it.14:56.42 
kens That sounds uinpleasant :-(14:56.48 
chrisl henrys: Thanks14:56.55 
rayjj kens: I would think -I would be sufficient since that comes BEFORE any built-in or registry based search paths14:57.24 
kens rayjj chrisl says not, I'll believe him....14:57.38 
henrys fwiw we change time november 2 so next week we should be back to regular times14:58.17 
rayjj chrisl: is the problem that the registry based path is taking precedence over -I ?14:58.18 
chrisl rayjj: the problem is if you have *another* gs installation, the -I will not stop us picking up files from that14:58.18 
henrys chrisl: why can't gs installations be destructive.14:59.26 
  ?14:59.29 
kens Because then you couldn't have multiple installations ?14:59.50 
chrisl henrys: I don't think customer would be very happy with that......14:59.54 
kens I have several versions installed at the same time14:59.59 
chrisl s/customer/customers15:00.06 
  If I have a RIP app from a customer *and* a "normal" gs install, both of the same version, the configurations could interact15:01.03 
Robin_Watts_ Have I missed the meeting? (Sudden panic about time changes)15:01.17 
rayjj chrisl: is the problem the CIDFSUBSTPATH ??? that doesn't appear to follow the *normal* searching rules and uses gentenv deirectly15:01.33 
henrys Robin_Watts_: yes our time changes are not in sync15:01.37 
chrisl rayjj: no, the problem is the GS_LIB path15:01.48 
Robin_Watts_ ass. I had nothing for the meeting anyway,15:01.53 
henrys no problem... I didn't see much for you to read back for either.15:02.22 
rayjj chrisl: so GS_LIB environment var is taking precedence over command line -I path ? --- that seems like a bug15:03.39 
kens Good grief, London metting is only just over 6 weeks already15:03.41 
chrisl rayjj: No, nothing is taking precedence over -I15:04.00 
rayjj chrisl: but they just want to not include stuff found with GS_LIB ?15:04.41 
mvrhel_laptop seems like we just had a meeting15:04.45 
Robin_Watts_ kens: Yes, we had a long summer break, hence these two meetings are closer together.15:05.24 
kens I know why, its just kind of alarming to have it sneak up like that..... ;-)15:05.45 
chrisl rayjj: if I have a customer's Ghostscript 9.15 executable, shipped as part of their application, *and* a "normal" Ghostscript 9.15 executable installed, the customer's GS executable will pick up the GS_LIB setting for the "normal" install15:05.52 
rayjj chrisl: but the -I still has precedence, right ?15:06.28 
Robin_Watts_ Just to reiterate the invitation; if anyone wants to come visit (either for a day, or overnight) we'd be happy to host them.15:06.34 
chrisl rayjj: yes.15:06.41 
kens Heh, someone asking if we'll open source SmartOffice for WebOS15:06.58 
rayjj if they want their %rom% contents to take precedence over the GS_LIB from the environment, the -I%rom%Resource/Init/ should do it (I think)15:07.39 
  chrisl: or is the problem that it is picking up something from the "stock" 9.15 that it isn't finding in their paths15:09.01 
chrisl rayjj: Yes, that exactly the problem15:09.13 
rayjj chrisl: which file is "exactly the problem" ?15:09.32 
chrisl In their case, cidfmap15:09.40 
rayjj chrisl: If they have a cidfmap shouldn't that be found first ?15:10.12 
chrisl rayjj: they were building it into romfs15:10.25 
  I think it's pretty reasonable for a customer to want to know that their "version" of Ghostscript won't influence, or be influenced by other, random GS installs.....15:11.00 
rayjj chrisl: right, and putting %rom%Resource/Init *before* the other (default) paths is supposed to avoid that15:11.31 
kens Yes, but you have to kinow to invoke GS that way, I think its surprising, and not obvious15:12.06 
  At best15:12.12 
rayjj and that's what the default code does -- the %rom path is always first15:12.15 
kens Not if you have a GS_LIB defined15:12.25 
  I htink15:12.34 
chrisl If you have GS_LIB defined (which if you use the Windows installer you always do) it takes precedence over %rom%15:13.06 
rayjj kens: but adding -I%rom%Resource/Init solves that15:13.21 
kens rayjj yes, but that's what I meant when I said you have to know to do that, and its surprising and not obvious15:13.38 
  And we don't document it15:13.45 
chrisl And I also think it's a rather hacky solution15:13.55 
kens If you know how our path searching works you can figure it out, but its not clear at all that this is going to happen.15:14.13 
rayjj kens: with GS_LIB set to "xxx" using: gswin32c -I%rom%Resource/Init -h15:14.25 
kens rayjj I'm not saying it doesn't work, I'm saying its surprising behaviour15:14.55 
rayjj kens: I get:15:15.01 
  Search path:15:15.02 
  %rom%Resource/Init ; xxx ; %rom%Resource/Init/ ; %rom%lib/ ;15:15.04 
  c:/gs/gs9.16/Resource/Init ; c:/gs/gs9.16/lib ; ...15:15.05 
kens TBH If I go to the trouble ofcreating a ROM file system, in order to be self-contained, I'd be baffled by the facft that someone else installing a different version of Ghostscript could cause my installation to change behaviour unless I *also* set -I....15:15.53 
rayjj kens: I thought chrisl was saying that there was no way to do it without modifying the install15:15.56 
kens No, he's saying the way it works now is not intuituve, and surprising15:16.16 
  as well as not documented15:16.26 
rayjj kens: I'd be content to have the %rom% contents take precedence over GS_LIB. Since it's not documented, we can make it do that and document it :-)15:17.08 
kens Directly that is, nowhere do we say 'and if you want to make sure that the stuff you expleicitly define in your ROM file system doesn't get overridden by random stuff installed by the uiser set -I%rom%...'15:17.09 
chrisl rayjj: I was saying it would be nice if there was an easy, well defined way for customers to ensure their GS build to be isolated from random other ones15:17.22 
rayjj kens: oops. it _is_ documented that GS_LIB paths take precedence over %rom% paths. See: http://www.ghostscript.com/doc/9.14/Use.htm#Finding_files15:18.56 
  (or even 'current')15:19.38 
kens rayjj yes I know, but that's surprising. I'm not suggesting we change it, but I'm with chrisl that we document it specifically and say 'if you don't want this to happen chenge the defualt GS_LIB and so on'15:19.43 
  Big warnign somewhere seems appropriate to me15:20.10 
  If for no other reason than it took chrisl quite a hwile to figure out what was going on.....15:20.41 
rayjj kens: well, now that we've all discussed it, it will be a few weeks before we all forget and have to dig it out again ;-)15:21.20 
kens Probably true, that's why I'm writing up my findings about devices as comment sin the C file I'm working on15:21.43 
chrisl I still think it's understandable that a customer would want to use their own custom environment variable name(s) and registry entry name(s).....15:22.35 
kens Yes, makes sense to me15:22.44 
rayjj kens: thank you for that! The docs are usually the last place I look (at least for accurate up to date info)15:22.47 
  chrisl: which they _can_ do by changing the #define of GS_LIB and re-building15:23.44 
chrisl rayjj: yeh, I'm just suggesting we make it settable as a (n)make parameter.....15:24.15 
rayjj they don't even have to edit imainarg.c since we use #ifndef 15:24.36 
kens FWIW I htink there was a mistake made when the transparency methods were added, its clear fomr the older code that device mthods should *NEVER* be NULL, and gx_fill_in_procs() sets all the methods to defaults, even if all the defaults do is throw an error and print a message. THe transparency handling doesn't work like that andf I htink it should. THere are probably other methods that need addressing similarly15:24.49 
rayjj chrisl: XCFLAGS='-DGS_LIB="XXXX"'15:25.20 
kens WHen I getthis all working I may fix that as well15:25.23 
chrisl rayjj: fair enough.....15:25.31 
rayjj has not tested that15:26.01 
kens I thikn we should put warnings in the documentation for noth ROM file system and GS_LIB that later insatallations may have unexepcted side effects unless action is taken to set GS_LIB to something unique15:26.40 
  I know nobody reads the documentation, but at least we could point to it later15:27.09 
rayjj kens: I agree that there shouldn't be NULL procs left after fill_in_procs laying around for the unwary15:27.09 
kens raytjj there are lots :-(15:27.18 
  rayjj^^15:27.22 
  fill_rectangle is deliberately NULL though and documented as such15:27.35 
  its filled in by gdev_alloc_buffer15:27.48 
chrisl I still think it should be set to a default.....15:28.11 
kens chrisl I could look at doing that, to me it would make sense as it would avoid us having to check for NULL methods15:28.32 
  gdev_prn_allocate_buffer can check for it being the default before overriding it, there are other places that do similar things15:29.10 
chrisl kens: yeh, as I said the other day, it seems clear to me that the original intent was that it should never be required to check if a method is null before calling it15:29.30 
rayjj I agree with chrisl. If we want to test if it is set to 'gs_no_fill_rectangle', or call it to see if it returns "gs_error_Fatal" that's fine15:29.33 
kens I'll add that to my list of things to do when tidying up.15:29.56 
rayjj kens: no rush. 15:30.08 
  what we need is an OCD programmer to go through and tidy up everything ;-)15:30.39 
kens I've found *so* many things in the device code as it stands that need addressing, some of tehm I've had to do just to get my code to work15:31.10 
rayjj none of the OCD folks I know do software 15:31.14 
  I assume our meeting is over (at least in the U.S. -- the UK folks still have 1/2 hour to go ;-) )15:33.40 
chrisl Oh, I meant to ask if anyone had anything to say about the GNU readline stuff in the docs.....15:34.18 
kens Take it out! :-)15:34.27 
chrisl I think that is almost certainly going to happen15:35.05 
rayjj concurs with ken15:35.08 
kens needs coffee before tackling the next round of my device bugs.15:35.49 
chrisl rayjj: the only reason I didn't remove it today was because I know nothing of the history of it15:35.56 
kens Does anyhone remember back to 6.0 ?15:36.19 
chrisl Does anyone who remembers 6.0 actually care??15:36.46 
kens I doubt anyone cares about this anyway :@)15:36.59 
  Of course, after you remove it, the one person in the world who relies on it will file a bug report15:37.21 
chrisl I don't think the code exists any more, at least, not our current code15:38.10 
kens More reason to kill the docuemntation15:38.30 
chrisl My reading of that section is: "we killed it in 6.0 because it didn't work, if any one feels inspired to sort it out, then have at it". Clearly, no one has......15:39.23 
kens Yep, I'm guessing nobody cared then, and even fewer people care now15:39.42 
rayjj chrisl: in the Halloween spirit, get out the chainsaw15:39.45 
  anybody that wants it can get it from the repo15:40.30 
chrisl rayjj: I think I prefer the axe - more visceral......15:40.35 
rayjj I have to run something over to the school. bbiab.15:42.02 
maslen Is it possible to grab the positional text from a PDF and add it to another PDF in render mode 3 (invisible) with ghostscript ?17:18.43 
Robin_Watts_ maslen: Not trivially, no.17:19.29 
kens Technically anything is possible. How much effort are you prepared to go to, and how good are you at PostScript programming ?17:19.30 
  s/anything/almost anything/17:19.58 
maslen I'm willing to go through _some_ effort, but I know nothing about PS programming17:20.06 
Robin_Watts_ maslen: Then abandon all hope.17:20.29 
maslen Oh well :(17:20.33 
kens Then you would first have to lear to program in PostScript, unless you are very masochistic, I would expect that to be much more effort than you want to go to17:20.44 
maslen I was hoping for something that could just take coordinates and a string and write the text there :(17:21.21 
kens You have top consider fonts as well17:22.49 
  The font in the original PDF may not be present in the second PDF, even if it is present, it may bve a differently encoded subset17:23.22 
maslen I don't have to worry about that, as my plan is to use render mode 317:23.46 
kens Presumably you want ot do this so that the text can be searched for. If you don;t use the same font, the spacing will be wrong17:24.20 
  So a search will highlight the wrong text17:24.33 
maslen Oh :(17:24.47 
kens There are a number of other problems to consider as well, such as the fact that you will have to interrupt the PDF interpreter after processing the page you want to insert the text, then draw the new text you want (and remember that PostScript doesn't have render mode 3 so you need to execute the same magic as Ghostscript's PDF interpreter to get that to work), then carry on processing the remaining page(s)17:26.17 
  Essentially what you are describing is a hard task17:26.28 
  At least, to do it properly17:26.47 
Robin_Watts_ If I had to do it, I'd do it using mupdf and the new filter stuff.17:26.57 
  but even then I'd expect it to be hard.17:27.10 
kens That would probably be easier, but you still have the problem with getting the info from the first file (presumably the etxt extraction would be the wya to go here) and getting the correct font selected17:27.29 
maslen Hmm17:27.47 
kens At least with both GS and MuPDF you can get the text, font name, and size extracted easily enough17:28.03 
maslen What if I were to discard the original text data and attempt to 'regrab' it from an OCR ?17:28.12 
kens Oh, and position17:28.12 
Robin_Watts_ kens: I could do it using text extraction, yes, but I was thinking of filtering everything except the text content out.17:28.21 
maslen Would that make the positioning of the OCR'ed values significantly easier?17:28.28 
Robin_Watts_ at the operator level.17:28.28 
kens : YRo yes, there are multiple ways to skin a cat, I was looking to minimise new code :-)17:28.56 
  maslen : You could do it (I suppose) by drawing each character individually at a specific location (which might defeat text searches for words, if the characters are far enough apart)17:29.48 
maslen Hmm17:30.11 
  I'm not worried about searching as much as copying and pasting17:30.32 
kens Getting the text, position, size and font name aren't so hard, adding them to another document so that they line up with an image, so that you cna search and have the highlight correct is another matter. Copying and pasting is the same problem, if the spacing isn't correct you may end up highlighting (say) ABC from the imager, but the text is closer spaced and you actually selcted ABCD17:31.39 
maslen I see.17:32.11 
kens In fact its really *more* important for copy/paste that the highlighted area match, because people will forgive some slop when searching17:32.18 
  But if they think they are highlightring ABC they'll be cross of they get more (or less) text17:32.41 
maslen Is there an intelligent way to maybe just include the text in some arbitrary location, without supporting searching or copying, so that future text extraction could give you something useful ?17:33.13 
kens I'd use something like Ghostscript or MuPDF to do the text extraction, that wil give you text, font name, size and locvation for each block of text. You can then use that ssame information to add the text to another document. If the font isn't present then a substitute will be used, but if all you care about is extractio, that's not a problem17:34.40 
  However, note that it is not 100% guaranteed that you cna extract *any* meaningful text from an arbitrary PDF file.17:35.05 
maslen extraction I have down; it's putting it back in afterwards that's hard17:35.06 
kens Without OCR17:35.11 
maslen Understood.17:35.18 
  It all depends on the source file17:35.29 
kens Indeed, not all PDF files have sufficient information to get 'text' out17:35.51 
  Once you have the text you want, you could turn it into PostScript, then define a custom EndPage procedure that reads and interprets that PostScript at the end of a defined page number. Then if you run it through GS you would end up with the text added.17:36.43 
kens has to go, need to cook dinner.17:36.57 
  Goodnight all17:37.01 
maslen Good night17:37.04 
  (I have no clue how to do any of that)17:37.18 
mvrhel_laptop hi fredross-perry17:55.15 
fredross-perry hey michael17:55.30 
mvrhel_laptop how are things going?17:55.37 
fredross-perry well. I’ve got a bunch of file/save as stuff working. Just a few things left, then maybe I should start looking at a Windows build.17:57.19 
mvrhel_laptop that would be great17:57.26 
fredross-perry good deal17:57.34 
  can you tell me about Intents?17:57.46 
mvrhel_laptop so, are you able to use visual studio to do the windows build?17:57.48 
  oh yes. so the intents are needed for the conversions to PDF/A17:57.59 
  and PDF/X17:58.04 
fredross-perry Right. Intents are still on my plate.17:58.21 
mvrhel_laptop so if you look at my code, you should see them used in those cases17:58.23 
  they are ICC profiles17:58.30 
  so you would allow *.icm or *.icc file types to be selected for these17:58.56 
  and then I believe the path is included in the call to ghostscript in doing the conversion to pdf/A or pdf/X17:59.31 
fredross-perry It might be nice to wrap that into the save process somehow.17:59.37 
mvrhel_laptop yes, that is a possibility18:00.09 
fredross-perry regarding WIndows, I thought I might try not VS, but Qt, which would require a g++-built version of mupdf libraries. I was able to do that for 32-bit, maybe I can for 64-bit as well.18:00.44 
mvrhel_laptop so, is there a good reason to avoid using VS on windows?18:01.19 
  debugging for us would be a lot easier with VS for the future18:01.39 
  I am going to be very curious how the QT windows compares to the native app18:02.05 
Robin_Watts_ I'm confused. I thought mvrhel_laptop's gsview already ran on TIFKAM and win32 ?18:02.45 
mvrhel_laptop we wont need VS to do that comparison, but if we decide to go with the QT version for windows, having it build in VS would really be ideal18:03.13 
fredross-perry Robin: it does, but we were talking about 10 days ago how it might work to make a Windows build of the Qt-based version I have. One advantage might be a single consistent UI.18:03.37 
mvrhel_laptop Robin_Watts_: at the staff meeting henrys and I were talking about not having 2 projects but seeing if the QT version was OK on windows18:03.38 
Robin_Watts_ Ok.18:03.51 
mvrhel_laptop it stinks a bit from the stand point that I wrote a lot of code that is going to the trash heap in that case18:04.00 
Robin_Watts_ And QT won't work with Visual Studio?18:04.00 
mvrhel_laptop yes it should18:04.05 
  we did it at my previous job18:04.15 
  when we built a viewer for XPS18:04.22 
Robin_Watts_ Will QT work for TIFKAM apps ?18:04.31 
mvrhel_laptop I had to look up TIFKAM 18:04.58 
fredross-perry But if you build with VS you’ll have two projects anyway, just sharing most of the source code. 18:05.05 
mvrhel_laptop so, it will not work with TIFKAM18:05.08 
  that is a good point Robin_Watts_ 18:05.21 
  I do share code between the windows store app and the desktop app18:05.39 
Robin_Watts_ So it seems like we're going to be keeping your gsview around for TIFKAM anyway.18:05.55 
mvrhel_laptop that may be an argument for leaving windows as it is18:05.55 
  if its easy to do, (like a couple days) I would say lets see how the QT version compares on windows18:06.33 
  if its going to be weeks, then I am not sure its worth fooling with. 18:06.58 
  but we should let henrys decide18:07.09 
  is there a way for me to get what you have to use on ubuntu fredross-perry ?18:08.07 
fredross-perry I’ll zip something up and send it to you tomorrow (my laptop for that work is at my office, and I am not).18:08.48 
mvrhel_laptop fredross-perry: ok great. thanks18:08.59 
henrys tifkam where does he come up with these things ? :-)18:09.10 
mvrhel_laptop hehe. 18:09.19 
Robin_Watts_ TIFKAM is from theregister18:09.32 
fredross-perry wikipedia is your friend (tifkam)18:09.40 
henrys got it in the urban dictionary but I was curious what Robin_Watts_ was reading to come across that. now I know.18:10.11 
fredross-perry It’s in the dictionary right after TAFKAP18:10.45 
mvrhel_laptop :)18:12.33 
Robin_Watts_ henrys: Originally it was to be called Metro. then it was to be "Modern UI", then it was to be called "Windows Store App UI".18:13.03 
  But then they started to sell win32 apps on the store as well, so god knows what the official term is now.18:13.24 
  It's a typical microsoft clusterfuck.18:13.31 
mvrhel_laptop yes.18:13.41 
  just wait until they start adding 2014, 2015, 2016 onto the name18:14.02 
Robin_Watts_ "Clusterfuck" apps. I like that. It has a certain ring to it.18:14.08 
  Clusterfuck 2014 Team Edition18:14.57 
henrys mvrhel_laptop: we probably should be leary of supporting anything that starts off with TIFKA18:15.00 
mvrhel_laptop hehe18:15.00 
henrys mvrhel_laptop: really up to you. I'd lean toward just QT but not strongly.18:16.57 
fredross-perry you have to capitalize the “F”: ClusterF—k18:16.57 
mvrhel_laptop well I would like to see how they compare performance wise18:17.19 
fredross-perry I’d like to try a 64-bit Qt build for Win soon then we can compare.18:18.02 
mvrhel_laptop sounds good18:18.10 
henrys mvrhel_laptop: yup fair enough18:18.25 
  mvrhel_laptop: now I find out a financial advisor is handling all this medical stuff. Oh god... I'm going to have to fly to china if I have a medical emergency.21:07.05 
mvrhel_laptop :) hmm I guess the switch is happening in a couple days21:07.45 
henrys I was told I could send in my forms sealed and treated as if I were mad.21:08.29 
  yeah john why don't we have a few beers and laugh over the wives prescriptions... has everyone gone crazy.21:09.21 
  ?21:09.24 
mvrhel_laptop :)21:09.32 
  yes. I don't recall doing all this the first time21:09.57 
avih dinamic: hmm... i think the crash bug comes from the implementation of array.aplice. when i replaced it with my own implementation, poof... no more crashes at all despite stressing everything pretty hard22:23.45 
  splice*22:23.52 
 Forward 1 day (to 2014/10/29)>>> 
ghostscript.com
Search: