| <<<Back 1 day (to 2014/03/25) | 2014/03/26 |
Jogux | (and will drop Miles an email as soon as it's live) | 00:06.22 |
Robin_Watts | Jogux: I can't find any references to what the build line for the customer might be in any of the docs. | 00:20.54 |
maxiaojun | could win32 binary be install-able on restricted account? | 03:47.25 |
chrisl | starts release process again..... :-( | 07:25.51 |
maxiaojun | could win32 binary be install-able on restricted account? | 07:32.26 |
chrisl | maxiaojun: it will be subject to the same restrictions as any installer - which I suspect means "no" | 07:33.22 |
maxiaojun | firefox installs fine | 07:34.17 |
chrisl | wonders what the point of a restricted account would be, then | 07:34.47 |
maxiaojun | some installers (include ghostscript) pops up uac at very beginning | 07:35.15 |
| but others don't | 07:35.20 |
| university lab | 07:35.37 |
chrisl | Yeh, I think we don't offer the option of "for this user only" installs, hence we need the full access | 07:36.05 |
maxiaojun | maybe a zip version also good enough | 07:36.24 |
| annoying that i cannot read ps on windows machines | 07:36.38 |
chrisl | Ask your admin, they'll often install Ghostscript for you | 07:37.01 |
maxiaojun | still your fault though | 07:37.40 |
| installer basically extract a bunch of files, right? | 07:38.12 |
chrisl | And sets stuff in the registry | 07:38.33 |
| I'm surprised a restricted account can write to "Program Files", tbh | 07:38.54 |
maxiaojun | personal registry is writable | 07:38.58 |
chrisl | And your point? | 07:39.11 |
maxiaojun | your installer is among the craps that pops up UAC at very beginning, pointless | 07:39.41 |
chrisl | Blame MS, we didn't put the UAC stuff in there | 07:40.05 |
maxiaojun | oh, you put some crap installer to troll ms? | 07:40.28 |
| most *nix access is restricted too | 07:41.17 |
| but your give an archive | 07:41.25 |
| so no problem | 07:41.55 |
chrisl | Yes, but Unix has an established way to avoid installing into the system paths, and doesn't have a crazy central registry where you have to store your stuff | 07:42.16 |
maxiaojun | gconf, dconf, kconfig? | 07:42.35 |
chrisl | Those store your settings in your user directory | 07:42.57 |
| And you are not obliged to use them - we don't | 07:43.13 |
maxiaojun | i'm not obliged to use registry too | 07:43.31 |
| i may not need the "integration" | 07:43.46 |
chrisl | Tell you what, GS is open source, if you don't like how it works, you can change it. If you submit a patch, we'll review it, and often accept it | 07:44.05 |
maxiaojun | don't repeat such lie | 07:44.26 |
chrisl | Huh? | 07:44.36 |
maxiaojun | patch needed to release a zip version? | 07:44.58 |
chrisl | With a zip version, you don't get the stuff written to the registry, which limits your functionality | 07:45.38 |
maxiaojun | isn't 1000 easier if you do it yourself? | 07:45.39 |
| why you think i need the registry stuff? | 07:46.10 |
chrisl | Why do you think you don't? | 07:47.26 |
maxiaojun | your GS cannot operate without registry? | 07:47.51 |
chrisl | It can | 07:48.06 |
kens | obviously arrived in the middle of a conversation :-) | 07:48.30 |
maxiaojun | so it is optional at best, right | 07:48.41 |
kens | Ah, anoffensive troll,I see | 07:49.40 |
chrisl | It's highly preferred for general use | 07:49.45 |
maxiaojun | source? | 07:49.57 |
| otherwise i can claim it is totally useless for general use | 07:50.17 |
kens | maxiaojun : If you don't like it don't use, it. Now please stop with the trolling | 07:50.36 |
maxiaojun | kens: it's your software trolling users by a crap installer | 07:50.59 |
kens | maxiaojun : use of words like crap is trolling | 07:51.11 |
| You are being deliberately offensive | 07:51.20 |
chrisl | BTW, it's quite possible to extract the installed files from the nsis installer archive | 07:51.54 |
maxiaojun | kens: your software are being deliberately offensive crappy | 07:51.59 |
kens | There we go, trolling again | 07:52.17 |
maxiaojun | kens: fuck off | 07:52.35 |
kens | Andtehre we have it | 07:52.41 |
maxiaojun | chrisl: show me how | 07:52.50 |
chrisl | maxiaojun: no, you've stepped way over the line, there, you're on your own, now | 07:53.21 |
kens | Ghostscript is supplied as an installer on WIndows as a *convenience* for Windows user who are generally not able to build applications from source. | 07:53.32 |
maxiaojun | kens: convenience of UAC popping? | 07:54.06 |
| chrisl: see the lie of "open source"? | 07:54.52 |
| open source, closed mind | 07:54.59 |
kens | Like I said, its a convenience, if you set up a machine to be restricted, this is not our problem, go hassle your sys admins. Perhaps they enjoy being told they are cr*p and to F... off | 07:55.02 |
maxiaojun | kens: like *nix, windows access is nowadays often offered as limited account | 07:55.33 |
kens | refuses to feed the troll | 07:56.04 |
maxiaojun | kens: they do not enjoy installing crapware ask for pointless permission | 07:56.17 |
kens | chrisl how did we manage to not build eps2write into the release, did I forget to turn it on ? | 07:56.36 |
chrisl | kens: you didn't add it to the Unix or PDL builds, only the Windows gs one | 07:57.11 |
kens | Oh damn.... | 07:57.18 |
chrisl | I've fixed that locally, will push it later | 07:57.31 |
kens | OK sorry about that, I didn't think to check the devices when I installed it on Linux | 07:57.51 |
chrisl | One of those things | 07:58.08 |
| maxiaojun: FWIW, we take a lot of suggestions, enhancements etc from end users - just not ones that are abusive (and swear at us) | 07:59.16 |
| I need to run my car up to the garage, I'll be back a half hour or so | 07:59.41 |
kens | OK I'm going back to the type 3 fonts again | 07:59.52 |
kens | fetches large ball of string | 08:00.02 |
maxiaojun | chrisl: still crappy after a lot of suggestions, good luck for you | 08:00.17 |
| btw, your installer not openable with winrar/winzip | 08:01.30 |
chrisl | 7zip will open it | 08:01.38 |
maxiaojun | ok, it works, thank you very much | 08:06.50 |
| forgot to check portableapps.com also | 08:09.25 |
chrisl | What's most annoying is, he's probably got a point - we probably should have a "this user only" option...... | 08:45.27 |
kens | chrisl Maybe, but he didn't present his case well. | 08:45.47 |
chrisl | No, that's what's most annoying - I was about to say I'd look at it for the next release when he kicked off | 08:47.08 |
kens | chrisl I'm classing the HaveTrueTypes thing as a documentation issue, I've sent you an email | 08:47.23 |
| Just updating the docs as well. | 08:47.33 |
| For your purposes you should be able to use -dHaveTrueTypes I think | 08:48.42 |
| 10 point text at 720 dpi caches and emits a tyep 3 | 08:49.15 |
chrisl | is MaxFontItem settable as a -d option? | 08:49.28 |
kens | Its a user parameter, so no | 08:49.36 |
| It is actually documented in the PLRM, rather to my surprise | 08:49.52 |
chrisl | IIRC, some user params are settable via -d - probably ones that gs had before they were standard | 08:50.37 |
kens | Hmm, well its possible, give it a try :-) | 08:50.49 |
| put a breakpoint in gs_setcacheupper | 08:51.03 |
| Didn't work for me | 08:51.56 |
| but does as a setuserparams | 08:52.16 |
| It gets called 4 times before we get started, so it may be in the startup code, let me look | 08:52.52 |
| Hm, no can't find it at the moment | 08:54.49 |
chrisl | No problem, setting a rather large MaxFontItem got me a file he can try. That should get us a workaround | 09:00.24 |
| kens: I wonder how much hassle it would be to have ps2write emit a real Type42..... | 09:05.13 |
kens | chrisl I'm not sure, but my guess would be quite a lot | 09:09.31 |
| ps2write is totally written round the premise that we emit a PDF file and stick a header on the ftont to interpret it in PostScript. | 09:10.10 |
| Of course that's no longer true, but we're still a very long way from a proper streamed PostScript output | 09:10.28 |
chrisl | And I'm not even sure that's the issue..... | 09:10.53 |
kens | Given my way (and infinite resources) I'd rewrite it totally | 09:10.59 |
chrisl | But I have a feeling that emitting a real Type42 would take less resource to interpret | 09:11.30 |
kens | Well, hopefully writing a type 3 should get you pas the problem ? | 09:11.41 |
| chrisl undoubtedly true | 09:11.48 |
| But to be honest that's the least of our problems | 09:12.03 |
chrisl | I've posted the file, we'll see what he says - he's been quite quick responding | 09:12.17 |
kens | If you actually write a large (ie lots of pages) PostScript file, the performance degrades per page until it becomes unacceptable | 09:12.41 |
| Or throws a VMerror | 09:12.49 |
| chrisl fingers crossed.... | 09:12.56 |
| Its also possible that sorting out the TT font code would resolve the problem too | 09:13.15 |
chrisl | Really? I wonder why - I thought pages were bounded by save/restore | 09:13.20 |
kens | chrisl I'm not certain. FOr the user with the problem I suggested he use th e%d syntax and cat the pages together. That worked well enough | 09:14.00 |
| THere's obviously some document wide allocations | 09:14.29 |
chrisl | Hmm, I wonder if it's trying to do some dumb caching | 09:15.10 |
kens | No idea, I can only go by the result, and since it was a free user and I was busy at the time, I didn't investigate any further. I think it may have been on Stack Overflow somewhere | 09:15.55 |
chrisl | Off to squash.... | 09:28.53 |
kens | heads out as well | 10:20.49 |
Robin_Watts | Jogux: When I cloned the repo from /home/git-private/sot.git last night, it all seemed to work, but then I got hundreds of lines like: error: refs/tags/yuv_scaler-samsung-beta-1-0-b6-release does not point to a valid object! | 10:43.36 |
Jogux | odd; I don't think I did | 10:44.50 |
Robin_Watts | I don't think that's the one you cloned :) | 10:45.03 |
Jogux | though I cloned paul's then added that one as a remote | 10:45.04 |
Robin_Watts | git fsck --full gives the original a clean bill of health. | 10:45.39 |
| I'm wondering if the clone got corrupted. | 10:45.53 |
Jogux | tries clone it | 10:47.03 |
| hm, was it the clone that gave the errors for you? | 10:52.49 |
Robin_Watts | yes. | 10:53.00 |
| I was cloning using msys git on windows. | 10:53.12 |
| git clone robin@ghostscript.com:/home/git-private/sot.git sot.git | 10:53.25 |
Jogux | that was fine for me; git 1.7.11.3 on mac os | 10:53.33 |
| git clone ghostscript.com:/home/git-private/sot.git | 10:53.42 |
Robin_Watts | ok, so either it's an msys git specific problem, or it's a network glitch in my clone. | 10:54.17 |
Jogux | fires up windows VM. | 10:54.58 |
Jogux | hopes bandwidth on ghostscript.com isn't too expensive :-) | 10:55.10 |
Robin_Watts | It's ec2. pretty cheap, I think. | 10:56.22 |
Jogux | clones with git version 1.9.0.msysgit.0 | 10:57.39 |
| on win8.1 | 10:57.42 |
Jogux | wonders why it's so slow then. best I get is 4 megabytes/second. though maybe my isp's transatlantic bandwidth is the bottleneck. | 10:58.23 |
Robin_Watts | I have 1.7.7.msysgit.1 on win 7 | 10:58.44 |
| I am recloning now. If this fails, I'll try 1.9.0 | 11:00.10 |
Jogux | only seems to get 400 kilobytes/sec on the VM. | 11:00.48 |
Robin_Watts | paulgardiner_lap: Might have been my clone at fault. Jogux has tried it, and it worked for him. | 11:19.29 |
| so I'm retrying. | 11:19.33 |
paulgardiner_lap | A bit strange. You'd expect a network glitch to abort it completely. | 11:20.41 |
| oh. Didn't we decide I might have the same problem here though? git show-ref June displayed a sha-1 hash that didn't exist | 11:22.31 |
Robin_Watts | paulgardiner_lap: oh, did it? | 11:23.11 |
| Jogux: Can you try a git show-ref June on your newly cloned thing please? | 11:23.53 |
| paulgardiner_lap: git --version ? | 11:24.07 |
Jogux | server:sot joseph$ git show-ref June | 11:24.23 |
| b751144934c24ad327455ffd73883f96d0558cfa refs/tags/June | 11:24.23 |
| (that's on the Mac) | 11:24.29 |
Robin_Watts | Can you checkout to that? | 11:24.41 |
Jogux | it appears so. | 11:24.56 |
paulgardiner_lap | Well, gitk said it couldn't find it, but I'm beggining to get suspicious of gitk | 11:25.05 |
| 1.9.0.msysgit.0 | 11:25.38 |
Robin_Watts | ok, you have a newer git than me. | 11:25.55 |
Jogux | my msysgit clone is only at 85% so far :( | 11:25.57 |
Robin_Watts | mine is at 31% :) | 11:26.12 |
Jogux | Paul has the same one as me. | 11:26.16 |
Robin_Watts | I will install 1.9.0 when the clone finishes. | 11:26.34 |
paulgardiner_lap | Hmmm. I appear to be able to checkout June. So gitk was lying | 11:27.17 |
| ... or I pasted the sha wrongly, perhaps | 11:27.32 |
Robin_Watts | I cannot checkout to June :( | 11:27.58 |
Jogux | balls says I, as I discover that the root 'thirdparty' directory in CVS may actually be in use. | 11:28.42 |
paulgardiner_lap | "This commit was manufactured by cvs2git to create tag June" | 11:29.02 |
Robin_Watts | Jogux: As in, the third-party thing at the same level as epage ? | 11:30.18 |
Jogux | yeah :( | 11:30.24 |
Robin_Watts | ass. | 11:30.33 |
Jogux | looks like it's only for one particular customer, so solvable if they turn out to still be live. | 11:30.39 |
Robin_Watts | If we have to reconvert, I have the commands recorded. | 11:30.49 |
Jogux | would just add the necessary files by hand tbh. I think we've spent enough time doing cvs->git stuff :-) | 11:31.19 |
Robin_Watts | Yes. there is unlikely to be much history in third-party (he said confidently) | 11:31.40 |
paulgardiner_lap | There may be other ways to add thirdparty without reconverting | 11:32.09 |
| git-splice, or something like that. | 11:32.19 |
Jogux | right. my windows vm clone has finished. 'gitk June' shows me the June tag fine. And none of the errors Robin saw. | 11:33.16 |
paulgardiner_lap | Good. Looks like the repo is okay after all | 11:33.54 |
Jogux | and checkout of June works fine. although that must be the most useless tag ever. | 11:34.10 |
Robin_Watts | Jogux: I wonder if my version of git doesn't pull in objects that are tagged, but not on a branch. | 11:34.41 |
| Would seem odd, but... | 11:34.50 |
paulgardiner_lap | Robin_Watts would explain the symptoms | 11:35.21 |
Jogux | not impossible I guess. git fetch doesn't pull over tags that are on branchs you don't have, but not should about git clone. | 11:35.25 |
Robin_Watts | :goes for a run while git churns. | 11:36.10 |
paulgardiner_lap | I fetched without tags and then later with tags. The second fetch pulled in a few hundred megs of objects, so there are certainly a few tags not on branches | 11:36.15 |
Jogux | paulgardiner_lap : I suspect the tags probably are really on branches, it's just that the git import had to generate a whole bunch of fake commits (not on branches) to cope with people not tagging everything :( | 11:43.13 |
paulgardiner_lap | yeah, I'd imagin so | 11:44.44 |
| Jogux: I can no longer remember how cvs branching works, in particular what you get when you check out a branch and some files weren't branched | 11:46.20 |
Jogux | you don't get those files afaicr. | 11:46.32 |
paulgardiner_lap | I wondered if it used the longest prefix of the version | 11:47.41 |
| So if 1.20.2.34 didn't exist for a file, you get 1.20 | 11:48.07 |
Jogux | nah, I don't believe it would ever do that | 11:48.33 |
| and the 1.20 stuff will vary from file to file anyway | 11:48.58 |
paulgardiner_lap | Ah yes. Because the files don't change in lock step, branches come off different places for each file | 11:49.48 |
| Madness | 11:50.33 |
Jogux | yup :) | 11:55.11 |
tor8 | chrisl: kens: I see we had someone with anger management issues on this morning... | 12:00.08 |
paulgardiner_lap | rereads this morning's logs with more care than he did earlier. Oh what fun! | 12:02.18 |
tor8 | Robin_Watts: ping | 12:23.59 |
chrisl | tor8: indeed we did - bit of a tw*t.... | 12:29.50 |
| tor8: as I said to kens, what's most annoying is he had a point, but I sure as hell wasn't going to admit that after he kicked off! | 12:32.30 |
tor8 | I don't blame you for that! But he did have one or two valid points, behind all that vitriolic abuse. | 12:33.10 |
| like a portable zip file that you can just unzip and run from; what exactly does gs use the registry for storing? | 12:33.44 |
chrisl | Various paths and persistent options | 12:34.18 |
tor8 | for compatibility with XP, a non-UAC program sometimes gets a "virtual store" directory where writes to c:\program files get redirected | 12:34.28 |
| not sure how that is enabled, but I've seen it happen | 12:34.43 |
chrisl | I actually thought that the nsis installer had an "extract only" option, but I couldn't see it at a glance and, again, wasn't inclined to devote much time it | 12:35.31 |
paulgardiner_lap | Bah. Can't vnc into my Mac Mini. Window opens momentarily and dies | 12:36.53 |
chrisl | tor8: but I do think it would be nice to have a "install for all users", or "installer for this user" option - I just don't know how, right now | 12:37.45 |
Robin_Watts | tor8: pong | 13:03.41 |
tor8 | Robin_Watts: so, the const warnings on windows... | 13:03.55 |
Robin_Watts | yeah. | 13:04.14 |
tor8 | const char **, the array points to const strings, but the array itself isn't const | 13:04.18 |
| so that *shouldn't* give any warnings unless I'm grossly mistaken | 13:04.39 |
Robin_Watts | So you're saying a const char ** is a pointer to a const char * ? | 13:05.03 |
tor8 | now MSVC may just be conservative and gripe when any const is lost due to void* conversions | 13:05.07 |
| Robin_Watts: yes. "char * const *" is a const pointer to char* | 13:06.09 |
Robin_Watts | or rather const char ** is a pointer to a pointer to some constant chars | 13:06.18 |
tor8 | yes. | 13:06.32 |
| const char * is a pointer to constant chars | 13:06.39 |
Robin_Watts | OK, then I agree that MSVC is wrong, I think. | 13:06.48 |
tor8 | "char * const" is a constant pointer to mutable chars | 13:06.54 |
| the syntax is dreadful | 13:07.00 |
Robin_Watts | I won't argue that. | 13:09.30 |
tor8 | the other thing is the unreachable code madness | 13:09.56 |
| clang (sort of rightfully) considers a default: case in a switch with an enum that has all the enums covered to be unreachable | 13:10.32 |
Robin_Watts | We could have a #define THIS_NEVER_HAPPENS(a) | 13:10.33 |
tor8 | but gcc (and I expect MSVC) don't do unreachable code warnings | 13:10.48 |
Robin_Watts | oh. | 13:10.49 |
| well, in that case, pick any one of the existing cases and add a default: to it ? | 13:11.15 |
tor8 | and they don't do the code flow analysis so drop off the end and you get the missing return value warning instead | 13:11.18 |
| so warning free -Wunreachable-code with clang is mutually incompatible with warning free gcc/msvc | 13:11.48 |
Robin_Watts | tor8: right, but we can come up with something that works. | 13:11.58 |
tor8 | ifndef __clang__ and #define IMPOSSIBLE(x) x comes to mind | 13:12.29 |
Robin_Watts | instead of case JS_TOBJECT: return 1; | 13:12.35 |
| do: default: /* JS_TOBJECT */ return 1; | 13:12.52 |
tor8 | hm, that might work, let me look. | 13:13.04 |
Robin_Watts | That will satisfy all compilers I think. | 13:13.09 |
tor8 | they all have many cases that return the same value | 13:13.34 |
Robin_Watts | I consider MSVC to be better than gcc/clang here. | 13:13.39 |
tor8 | what does MSVC warn about? | 13:14.05 |
Robin_Watts | cos while conceptually an enum may have only 5 values, we know it's represented by an int and so could have many more. | 13:14.10 |
| MSVC spots that the switch doesn't cover all possible int values (int not enum) and therefore complains that there might be cases that fall through and hit the end of the function where there is no return. | 13:14.46 |
| If we add a default: case, it keeps msvc happy. | 13:15.00 |
| (IIRC) | 13:15.08 |
tor8 | Robin_Watts: yeah. I'm inclined to consider clangs behaviour here broken. | 13:15.16 |
Robin_Watts | yeah, just checked a default makes it happy. | 13:15.35 |
tor8 | switch on enum can get invalid values in | 13:15.36 |
| Robin_Watts: I've set up a personal repo for mujs as well | 13:16.16 |
| there's a potential fix on tor/master that should silence MSVC and gcc, and I'll live with the warnings on clang | 13:16.36 |
| until such a time as they fix it | 13:16.44 |
Robin_Watts | Unnamed repository; edit this file... :) | 13:17.04 |
| oh, mine says that too. oops :) | 13:17.19 |
tor8 | Robin_Watts: Hey, you too! I was about to say :) | 13:17.44 |
Robin_Watts | So the fix there now, doesn't use default ? | 13:18.05 |
tor8 | it does the fall off the end of the function | 13:18.16 |
Robin_Watts | Doesn't the default fix make all 3 compilers happy ? | 13:18.19 |
tor8 | clang is never happy. it thinks the default case never happens, and as such anything after the switch is also unreachable | 13:18.49 |
Robin_Watts | eh? | 13:19.16 |
| We don't have anything after the switch. | 13:19.29 |
| and you replace the last case: statement with a default: | 13:19.36 |
| so it certainly WILL happen. | 13:19.45 |
tor8 | oh, that. yes, that should silence them all. I'll do that, it looks better than UNREACHABLE macros. | 13:20.33 |
Robin_Watts | dives into shower. brb. | 13:20.49 |
tor8 | Robin_Watts: even simpler, just make a default: that falls through to JS_TUNDEFINED :) | 13:26.16 |
| that silences both gcc and clang | 13:26.33 |
Robin_Watts | tor8: oh, I figured clang would whinge at that as the default case is unreachable. | 13:29.16 |
| but that's nicer, yes. | 13:29.27 |
tor8 | yeah, but the default case doesn't have any code that executes :) | 13:29.30 |
| so it's a sneaky underhanded approach that actually does the right thing (handle corrupt data safely) | 13:29.57 |
| I've pushed it to tor/master | 13:30.24 |
| I guess we should start code reviewing mujs changes as well, if you feel up to it? | 13:30.58 |
henrys | knew hp plotters would be a huge fiasco | 13:33.21 |
Robin_Watts | tor8: yeah. | 13:36.53 |
| looks good to me. | 13:37.16 |
paulgardiner_lap | tor8: just tried building mupdf for iOS. Undefined symbol _js_dostring. | 13:44.35 |
Robin_Watts | paulgardiner_lap: Did you add one.c into the build ? | 13:44.59 |
paulgardiner_lap | No. I must hace missed any talk of that | 13:45.30 |
| have | 13:45.41 |
Robin_Watts | I meant to ask tor about that. | 13:46.10 |
| AFAICT all of mujs is compiled in a single one.c file. Any particular reason? | 13:46.29 |
| paulgardiner_lap: js_dostring is defined in jsstate.c, but we don't compile each c file in turn for some reason. We just compile one.c that #includes them all. | 13:49.00 |
| Presumably that's for optimisation reasons. | 13:49.08 |
| It's a bit of an ass, as it means you can't search for stuff in the solution. | 13:49.23 |
| tor8: How much benefit do we get from that? | 13:50.06 |
paulgardiner_lap | I was hoping iOS would just work because (if I understand correctly) it makes use of the main makefiles | 13:50.28 |
tor8 | paulgardiner_lap: don't forget git submodule update --init | 13:50.35 |
| Robin_Watts: it's a noticeable performance boost | 13:50.50 |
paulgardiner_lap | tor8: yeah, I think I just did that | 13:50.52 |
tor8 | Robin_Watts: and I don't know MSVC well enough to include C files that don't get compiled | 13:51.09 |
Robin_Watts | tor8: I don't think you can easily. | 13:51.35 |
tor8 | Robin_Watts: it's certainly possible to include all other C files and not one.c if you prefer to be able to search | 13:51.49 |
Robin_Watts | tor8: Would you be averse to a bit of #ifdeffery? | 13:51.56 |
tor8 | what do you have in mind? | 13:52.28 |
Robin_Watts | surround every file with #ifdef MUJS_COMPILE ... #endif | 13:52.34 |
| Then have one.c #define that at the top. | 13:52.51 |
| That way we could include every file in the solution. | 13:53.03 |
tor8 | Robin_Watts: is it possible to have different file lists in release and debug mode? | 13:53.28 |
Robin_Watts | Perhaps we could have one.c be surrounded by #ifndef MUJS_COMPILE #endif | 13:53.44 |
tor8 | if so, we could make the debug build have js*.c and then one.c in the release build | 13:53.58 |
Robin_Watts | That way people could choose whether to have a 'solid' or a 'fragmented' build. | 13:54.07 |
| tor8: I don't think I can do that. | 13:54.23 |
paulgardiner_lap | I think MSVC can do that | 13:55.14 |
tor8 | on fib.js, mujs takes 2.6s and mujsone takes 2.3s | 13:56.21 |
| which is a very noticeable performance difference... | 13:56.40 |
Robin_Watts | tor8: With what I just described, you'd include all the files, and the only one that would actually compile to anything would be one.c | 13:57.03 |
| perhaps we could use MUJS_FRAGMENTED_BUILD rather than MUJS_COMPILE | 13:57.30 |
tor8 | Robin_Watts: yeah. I'm just not liking the #ifdef COMPILE macros. | 13:57.38 |
Robin_Watts | It would work on all build systems, not just mujs. | 13:57.54 |
| msvc | 13:57.57 |
| ETOOMANYFLAS | 13:58.08 |
tor8 | Robin_Watts: http://stackoverflow.com/questions/219381/how-to-exclude-files-from-visual-studio-compile | 13:59.22 |
Robin_Watts | OK, that'll work. | 13:59.54 |
| tor8: OK, that works. | 14:04.32 |
| tor8: If you push your warning fix, I'll rebase and put this up for review. | 14:05.12 |
| paulgardiner_lap, jogu: My clone failed in the same way. It must be a git 1.7 thing. | 14:05.34 |
| I'm trying a git fetch --tags to fix it. | 14:05.44 |
tor8 | Robin_Watts: I have pushed. | 14:06.04 |
Robin_Watts | You've pushed to mujs. You need to update the submodule in golden too, right? | 14:07.27 |
tor8 | oh, right. you need to pull from mupdf and update the submodule. | 14:08.06 |
Robin_Watts | I was expecting to see a commit from you on mupdf golden/master saying "Updating the mujs submodule with windows warning fixes" or something. | 14:09.01 |
tor8 | Robin_Watts: yeah, I misunderstood. sorry. I've pushed that now. | 14:09.58 |
ray_laptop | chrisl: I see that we are doing a 9.13 release. Sorry if I jinxed 9.12 when I asked you about moving HEAD to 9.14 to allow for 9.12 to need a re-release | 14:17.59 |
| chrisl: BTW, that was a royal "we". I guess the whole task falls to you | 14:19.03 |
chrisl | ray_laptop: I can't blame you ;-) But I'm doing this release as 9.14 - I can't remember why I decided on that rather than 9.13 (it was early this morning!) | 14:19.32 |
kens | 13 is bad voodoo | 14:19.45 |
ray_laptop | chrisl: and a reminder to get the release scripts in shape in case one of us has to do it next time | 14:20.08 |
| chrisl: Seriously? You are afraid on '13' ? | 14:20.42 |
| s/on/of/ | 14:20.50 |
chrisl | ray_laptop: This (last) release, I have written down *every* step, and I'll type it up | 14:21.02 |
paulgardiner_lap | tor8: The iOS build_libs script is still calling make with JSCORE_PRESENT defined. I can change that, but - as it is - shouldn't that have built correctly with jscore? | 14:21.03 |
chrisl | ray_laptop: no, as I said before, I really moved to 9.14 just as a little dig about also not using 9.11. This morning I considered using 9.13, but opted for 9.14, and I honestly can't remember why...... hectic morning! | 14:21.59 |
Robin_Watts | tor8: 2 commits on robin/master then. | 14:22.33 |
ray_laptop | chrisl: I won't bug you any more about 9.13. You had too much fun already in the dialog with maxiaojun | 14:23.30 |
chrisl | ray_laptop: that, and dealing with another Ubuntu printer bug, and taking my car into the shop..... plus another release <sigh> | 14:24.29 |
paulgardiner_lap | tor8: oh, have we changed from XXXX_PRESENT to HAVE_XXXX | 14:25.59 |
ray_laptop | chrisl: I might have a look at NSIS without UAC (for the next release). It seems pretty simple according to http://www.klopfenstein.net/lorenz.aspx/simple-nsis-installer-with-user-execution-level | 14:30.04 |
| but it doesn't discuss offering BOTH all users and current user only modes, which would be nice | 14:31.13 |
chrisl | ray_laptop: yeh, I had a quick look, and it looks fairly straight forward - the only thing I'm not clear on is deciding where to write the registry values | 14:31.58 |
ray_laptop | that article mentions HKCU (HKey Current User) | 14:34.31 |
chrisl | ray_laptop: yeh, I know *where* to write the keys in each case, but I'm not clear on to switch the installer between them | 14:35.31 |
ray_laptop | chrisl: right, or how to offer both options | 14:35.53 |
chrisl | ray_laptop: I was reading this: http://nsis.sourceforge.net/Docs/MultiUser/Readme.html | 14:36.49 |
ray_laptop | chrisl: and how to abort the install with an extremely cryptic message in a pop up dialog that requires a reboot to dismiss if the user is on a blacklist ;-) (we both know the first name that will be on the list) | 14:37.20 |
| chrisl: did you correct the typos in News.htm and maybe add tkamppeter's comments that he wanted (something about PWG raster) | 14:41.04 |
chrisl | ray_laptop: nobody mentioned any typos to me, so no - I did add tkamppeter's new stuff, though | 14:43.07 |
ray_laptop_ | oh, great :-( looks like I'm going to have network problems today. | 14:43.19 |
ray_laptop__ | chrisl: Also, News.htm has two misspellings: ColorConverionStrategy and transparenct. | 14:44.27 |
chrisl | ray_laptop__: well, too late now | 14:45.00 |
ray_laptop__ | it was just before Williiam's signature | 14:45.07 |
chrisl | Oh, missed that :-( | 14:45.17 |
| ray_laptop__: I really don't want to start again :-( | 14:46.37 |
ray_laptop___ | kens: were you going to close bug 695114 ? | 14:48.11 |
kens | oops yes | 14:49.27 |
ray_laptop___ | kens: np. Just thought you might have done what I do often -- put in the comment that I'm going to close it, but then forget to | 14:50.51 |
kens | exactly so :-) | 14:51.03 |
Robin_Watts | paulgardiner_lap: tor8 seems to be afk. Can you nod at the 2 commits on robin/master for me please? | 15:13.56 |
tor8 | paulgardiner_lap: you might want HAVE_MUJS=no HAVE_JSCORE=yes both on the command line | 15:16.22 |
sebras | tor8: ohh.. this means HAVE_MUJS is now the default? | 15:16.51 |
tor8 | to make sure you ignore MuJS in the build (though if you still have JSCore leaks, maybe that's not desirable) | 15:16.59 |
| sebras: yes, mujs has been integrated with mupdf now. | 15:17.07 |
sebras | tor8: I know, but it might not be the default still.. | 15:17.19 |
paulgardiner_lap | tor8: I have it linking now with HAVE_MUJS=yes, but calc.pdf doesn't respond to taps. | 15:17.56 |
tor8 | Robin_Watts: does the MSVC project become smaller if you set the build action to none on the "source" filter rather than just the individual files? | 15:18.44 |
paulgardiner_lap | tor8: I'm wondering if I put in some runtime tests for the presence of js using calls that are no longer supported (but then I'd expect it not to link) | 15:18.51 |
Robin_Watts | I tried, and failed to do that. | 15:18.57 |
tor8 | Robin_Watts: okay. in that case, *nod* | 15:19.13 |
Robin_Watts | To both commits? | 15:19.21 |
tor8 | Robin_Watts: yes. | 15:19.46 |
Robin_Watts | ta. | 15:19.55 |
tor8 | paulgardiner_lap: have you done any of the event hooks for js in the ios app? | 15:21.20 |
| paulgardiner_lap: you might have missed doing a pdf_enable_js call | 15:22.00 |
| which is now required | 15:22.10 |
Robin_Watts | Is that a new thing because of the split ? | 15:22.18 |
tor8 | Robin_Watts: yeah. | 15:22.29 |
| and also, because it might make sense security wise to not always enable javascript. | 15:22.43 |
| paulgardiner_lap: the first time you open the document and call pdf_specifics(), also call pdf_enable_js on the idoc | 15:23.17 |
paulgardiner_lap | tor8: ah yes of course. pdf_enable_js. I reviewed that commit even! :-) | 15:24.49 |
chrisl | I have to pick up my car - bbiab | 15:35.59 |
paulgardiner_lap | tor8: all seems to work now | 15:36.55 |
mvrhel_laptop | good morning | 15:41.38 |
logikos | i'm useing ghostscript to merge a bunch of pdf files together into one, then pdftops to conver to postscript then rlpr to send it to a printer, is it possible to convert the merged pdf's to post script in just one step? | 15:41.52 |
kens | yes, use ps2write | 15:42.17 |
paulgardiner_lap | tor8: can you give the fix on paul/master a quick check over? | 15:42.41 |
logikos | this is what i'm doing now: gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=/temp/merge.pdf file1.pdf file2.pdf file3.pdf then pdftops /temp/merge.pdf - | rlpr --printer=hp@10.0.6.3 | 15:43.32 |
kens | use -sDEVICE+ps2write instead of pdfwrite | 15:43.50 |
logikos | ps2write can merge pdf's and conver to postscript all in one ? | 15:43.52 |
| did you mean -sDEVICE=ps2write | 15:44.26 |
| i assume? | 15:44.30 |
kens | yes | 15:44.40 |
| And neither device 'merges' PDF files | 15:44.50 |
| each takes a number of input files, interprets teh contents and writes a new file | 15:45.08 |
| In the case of pdfwite its a PDF file, in the case of ps2write its a PostScript file | 15:45.30 |
logikos | so do i nee d-sOutputFile then? | 15:46.05 |
kens | Yes | 15:46.11 |
logikos | if i want to send directly to rlpr ? | 15:46.12 |
kens | You can't send directly to a rip | 15:46.19 |
logikos | so i cant just do this: gs -q -dNOPAUSE -dBATCH -sDEVICE=ps2write -sOutputFile=/temp/merge.pdf file1.pdf file2.pdf file3.pdf | rlpr --printer=hp@10.0.6.3 | 15:46.54 |
| or will that work but also create the merge.pdf | 15:47.05 |
| or now i guess it would be a merge.ps | 15:47.09 |
kens | Yes but you might call the output file merge.ps | 15:47.14 |
| I am doubtful that piping toyour printer will work | 15:47.38 |
| But I am no linux expert | 15:47.46 |
logikos | me neither | 15:47.58 |
kens | THe file must be written first, and that requires a seekable file system | 15:48.01 |
logikos | i know that pdftops {$file} - | rlpr --printer=hp@10.0.6.3 | 15:48.10 |
| that works | 15:48.14 |
kens | ps2write is not pdftops | 15:48.45 |
logikos | i was just saying to print a pdf file that works | 15:49.12 |
kens | Yes but I'm saying that it might not with ps2write as it needs a file system | 15:49.31 |
| All I cna suggest is that you try it | 15:51.21 |
tor8 | paulgardiner_lap: that will segfault on non-pdf files | 16:04.45 |
| if (idoc) pdf_enable_js(idoc) | 16:04.59 |
paulgardiner_lap | Bah. That's what I intended | 16:05.45 |
tor8 | paulgardiner_lap: if you are building against MuJS by default, you don't need to pass HAVE_MUJS on the command line (the presence of the thirdparty/mujs directory will be enough) | 16:06.00 |
ray_laptop | logikos: it should work it you use -sOutputFile="| rlpr -- printer=hp@10.0.6.3" (assuming your pipe command will actually send raw data to the printer. | 16:09.36 |
kens | is not sure | 16:09.52 |
ray_laptop | logikos: this _should_ work because the ps2write device collects all of the stuff in temp files, then outputs it (with the PS header) when it closes | 16:10.30 |
| kens: are you sure that it needs a seekable file system for output ? | 16:11.00 |
kens | No, not certain | 16:11.10 |
ray_laptop | goes to check... | 16:11.17 |
| kens: it looks like it callse gdev_vector_open_file which calls gdev_vector_open_file_options with open_options == NULL | 16:13.50 |
kens | ray, you may be right, I'm not certain, seemed like the easiest way to find out was to try it.... | 16:14.36 |
paulgardiner_lap | tor8: repushed fix | 16:15.23 |
ray_laptop | logikos: Note that you also want -sstdout=/dev/null -sstderr=/dev/null -q | 16:16.56 |
| these will throw away the noise | 16:17.18 |
| logikos: I tried this on Windoze and it worked, so ps2write doesn't need a seekable output: gswin32c -sDEVICE=ps2write -o- -sstdout=x.log -q examples/annots.pdf > x.ps | 16:17.54 |
| logikos: note that you can capture gs's stdout to a file as well (see the docs). Also on linux, this worked for me: bin/gs -sDEVICE=ps2write -o"|cat > x.ps" examples/annots.pdf | 16:21.44 |
| logikos: as mentioned in the docs, -o___ is the same as -dBATCH -dNOPAUSE -sOutputFile=___ | 16:22.50 |
tor8 | paulgardiner_lap: LGTM | 16:25.24 |
paulgardiner_lap | ta | 16:25.44 |
logikos | ray_laptop: thanks for the help | 16:48.20 |
| i'm currently testing this: gs -sstdout=/dev/null -sstderr=/dev/null -q -sDEVICE=pswrite -sPAPERSIZE=letter -dNORANGEPAGESIZE -dBATCH -dNOPAUSE -sOutputFile=- ./invoice.pdf ./test.pdf | rlpr -h -H10.0.6.2 -Praw | 16:48.26 |
kens | pipe is in the wrong place, needs to be in OutputFile | 16:48.57 |
logikos | kens: according to the manpage -sOutputFile=- will work with the pipe | 16:49.19 |
kens | Yes, but you haven't put it there | 16:49.32 |
| -sOutputFile=- is what you put | 16:49.48 |
| Mind you,it may work with teh pipe at the end | 16:50.01 |
| I'd do it the way Ray suggested | 16:50.08 |
| -o"|ripr -h -H10.0.6.2 -Praw" | 16:50.35 |
| also, we don't write the man pages, so don';t trust them too far | 16:53.33 |
Robin_Watts | paulgardiner, Jogux: git fetch --tags failed too. | 16:53.35 |
| Time to upgrade git, I think. | 16:54.14 |
logikos | kens: it did work, but i'll take your advice, gonna test this now: gs -sstdout=/dev/null -sstderr=/dev/null -q -sDEVICE=pswrite -sPAPERSIZE=letter -dNORANGEPAGESIZE -o"|ripr -h -H10.0.6.2 -Praw" ./invoice.pdf ./test.pdf | 16:56.19 |
kens | well if it works, np | 16:56.28 |
logikos | he said -o replaces dBATCH dNOPAUSE and sOutputFile | 16:56.40 |
| correct ? | 16:56.43 |
kens | yes | 16:56.46 |
logikos | useing the pipe outside the shell is directing the output, useing it inside ghostscript i assume is doing it internaly | 16:57.30 |
| so inside seems better if my logic is right | 16:57.38 |
kens | has no clue | 16:57.44 |
logikos | sh: 1: ripr: not found | 16:58.40 |
| that is what i get when i run gs -sstdout=/dev/null -sstderr=/dev/null -q -sDEVICE=pswrite -sPAPERSIZE=letter -dNORANGEPAGESIZE -o"|ripr -h -H10.0.6.2 -Praw" ./invoice.pdf ./test.pdf | 16:58.57 |
| where as this worked: gs -sstdout=/dev/null -sstderr=/dev/null -q -sDEVICE=pswrite -sPAPERSIZE=letter -dNORANGEPAGESIZE -dBATCH -dNOPAUSE -sOutputFile=- ./invoice.pdf ./test.pdf | rlpr -h -H10.0.6.2 -Praw | 16:59.13 |
| ideas? | 16:59.16 |
| oh | 16:59.33 |
| duh | 16:59.35 |
| lol | 16:59.36 |
| i copie dwhat you typed | 16:59.38 |
| rlpr | 16:59.42 |
| ripr | 16:59.44 |
| assuming that works | 17:00.47 |
| my boss also wants the stuff printed duplex (double sided) | 17:01.12 |
| any idea how i do that? | 17:01.16 |
| from what i read there are postscript commands for duplex so i assume ghostscript has a switch for it | 17:01.52 |
kens | No, the output from ps2write is deliberately device independent. With the 9.12 release you can add device-specific PostScript to the output, and so you can add commands to enable duplexing yourself if required | 17:03.27 |
| Sorry for the typo btw | 17:03.54 |
| See gs/doc/ps2ps2.htm "PSDocOptions" | 17:04.39 |
logikos | what is the difference between -sDEVICE=pswrite and ps2write | 17:04.39 |
tgurr | hi, could you please update the sourceforge mirror with the tarballs for ghostscript 9.12? | 17:04.44 |
kens | Don't use pswrite | 17:04.46 |
| pswrite emits very ppor level 1 PostScript, and is deprecated, it has been removed in recent versions | 17:05.10 |
chrisl | tgurr: we've dropped sourceforge, for various reasons | 17:05.34 |
tgurr | chrisl: ah thats good to know, thanks! | 17:06.14 |
chrisl | tgurr: we've actually had a little issue with 9.12, and I'm currently uploading a new version - otherwise I'd have already updated sf with a proper announcement and a link of where to get it now | 17:07.12 |
Robin_Watts | chrisl: Do we have log in details for the sourceforge site? | 17:07.42 |
ray_laptop | logikos: did the 'cat' example I tested work OK for you ? | 17:07.44 |
chrisl | Robin_Watts: I have admit rights for the Ghostscript project (as does Ray) | 17:08.05 |
ray_laptop | the 'x.ps' file should start out with: %!PS-Adobe-3.0 | 17:08.25 |
tgurr | chrisl: oh okay I see. same tarball name, different checkums? | 17:09.13 |
Robin_Watts | IMHO, it shouldn't point to svn.ghostscript.com any more, but to git.ghostscript.com. Also, it should start with "DO NOT DOWNLOAD FROM HERE UNLESS YOU WANT OLD VERSIONS. GO TO http://downloads.ghostscript.com/ FOR UP TO DATE VERSIONS" | 17:09.25 |
chrisl | tgurr: no, this will be a new tar ball with a new version number - quietly replacing caused too much confusion previously | 17:09.56 |
logikos | ray_laptop: I didnt test it with cat, i just tested it with rlpr directly and it worked that way | 17:10.07 |
chrisl | Robin_Watts: yeh, I actually realise it still pointed to svn..... | 17:10.18 |
logikos | is the test with cat useful beyond knowing if the pipe worked or not? | 17:10.26 |
kens | any way that works is good | 17:10.27 |
ssured | Hello everyone! Can you maybe help me? I just installed âapt-get install mupdf-toolsâ, which runs fine. pdfdraw is not installed/linked though, any idea how to get it running; is this a bug? | 17:11.18 |
tgurr | chrisl: indeed, that's why I asked. thanks for making the life easier for packagers :) | 17:11.24 |
Robin_Watts | ssured: Do you have mutool ? | 17:11.36 |
ssured | Robin_Watts: mutool? nope... | 17:11.52 |
chrisl | tgurr: well, it confused us just a much, so...... | 17:12.01 |
ray_laptop | logikos: Oh, I thought it didn't work for you. | 17:12.02 |
Robin_Watts | ssured: Hmm. pdfdraw was renamed mudraw. | 17:12.12 |
ssured | Robin_Watts: is that the new package? | 17:12.23 |
Robin_Watts | and the tools part of mupdf all got rolled into a single exe, mutool. | 17:12.45 |
ray_laptop | the irritating thing about sf is that the first 2 downloads when you search for Ghostscript aren't ghostscript at all, but are other pdf tools | 17:12.59 |
Robin_Watts | ssured: What version of mupdf are you getting ? | 17:13.03 |
tgurr | chrisl: :) it's 9.14 then as I can see? | 17:13.25 |
chrisl | tgurr: indeed | 17:13.32 |
tgurr | chrisl: thank you | 17:13.52 |
chrisl | ray_laptop: Ghostscript came up first when I searched for it | 17:14.01 |
| tgurr: no problem | 17:14.05 |
ssured | Robin_Watts: mupdf-tools 1.3 - which package should I install on ubuntu? | 17:14.30 |
Robin_Watts | ssured: I have no idea how ubuntu packages it. | 17:14.48 |
| but if mupdf-tools isn't giving you a mutool or a mudraw, then I can't understand what it's doing. | 17:15.17 |
ssured | Robin_Watts: I do have a mudraw :) | 17:15.19 |
logikos | regarding duplex printing according to this page: http://www.interact-sw.co.uk/iangblog/2005/04/29/psduplex i should be able to insert %BeginPageSetup << /Duplex true >> setpagedevice %%EndPageSetup (on 3 lines) above the first %%Page line to acomplish it | 17:15.20 |
Robin_Watts | Ah, well, mudraw is the new name for pdfdraw. | 17:15.31 |
logikos | but beings i'm sending the output directly to the printer i cant parse the resulting .ps | 17:15.39 |
| is there a way to inject this option into what i'm already doing? | 17:15.51 |
ssured | Robin_Watts: the internet still talks about pdfdraw, thanks for helping me! | 17:15.57 |
Robin_Watts | np. | 17:16.03 |
kens | logikos you probably don't wnat the %BeginPageSetup and %%EndPageSetup (thos are just comments) but basically yes that should work | 17:16.18 |
| And you don't need to insert them manually if you use the latest code | 17:16.39 |
| Use the PSDocOptions command and it will insert the string for you | 17:17.03 |
logikos | i'm reading the docs here: http://manpages.ubuntu.com/manpages/maverick/en/man1/gs.1.html | 17:17.30 |
| and i dont see PSDocOptions | 17:17.34 |
kens | logikos we don't write hte man pages | 17:17.55 |
| Or make the packages | 17:18.00 |
logikos | alright, can you give me a link to a better resource telling me how to do it, or give me an example ? | 17:18.24 |
kens | You need the *current* versionof Ghostscript (ie 9.14, but 9.12 will do) andthen you need to look at the *Ghostscript* documentation | 17:18.26 |
logikos | how do i check my version | 17:18.45 |
kens | If the packager doesn't include our documentation, well they should, and you shoudl complain | 17:18.46 |
| whenever you run GS it states the version.... | 17:19.04 |
logikos | i have GPL Ghostscript 9.06 | 17:19.08 |
kens | THen that's not recent enough | 17:19.17 |
logikos | k, looking into how to upgrade | 17:20.45 |
kens | at the moment, probably the only way is to get the source and uibld it | 17:21.03 |
| build* | 17:21.06 |
| I imagine we're ahead of even Till at teh moment | 17:21.21 |
logikos | kens: when asking in #ubuntu on how to updage ghostscript i was told: "you need to find a repo hosting the package - but beaware there is a risk it will break things" | 17:22.32 |
kens | logikos gthat sounds like FUD or arse-covering to me | 17:22.56 |
logikos | k | 17:23.07 |
kens | and also its not true. GS is open-source, so you can always build it | 17:23.11 |
logikos | where is the repo i want to use | 17:23.15 |
kens | The source repository ? | 17:23.31 |
logikos | yes | 17:23.36 |
kens | Umm, fgoo question :-) | 17:23.45 |
| git.ghostscript.com I think | 17:23.55 |
Robin_Watts | logikos: The latest code can always be found on git.ghostscript.com, but if you want the latest release look at downloads.ghostscript.com | 17:24.09 |
kens | That's true, I think chrisl posts a Linux binary | 17:24.32 |
| So if you are using Linux on x86 it shoudl work | 17:24.48 |
chrisl | That I do.... for all it's worth | 17:24.49 |
Robin_Watts | Of course, we are (well chrisl is, really) doing a new release today, so be prepared for slight oddnesses while we get it sorted. | 17:24.57 |
chrisl | I *believe* it's all done on our site - still the sf and google code edits to do.... 9.14 lives..... | 17:25.31 |
logikos | server is 64bit | 17:25.49 |
chrisl | There's a 64 bit Linux binary there, too | 17:26.04 |
kens | I believe there are 64-bit binaries | 17:26.07 |
| (though presumably a 32-bit binary would actually work) | 17:26.26 |
chrisl | Depends on the system, but usually, yes | 17:26.47 |
kens | is off for the night | 17:32.08 |
| Goodnight everyone | 17:32.14 |
logikos | ok, i have ghostscript 9.14 now | 17:46.30 |
| so now how do i use psdocoptions to add << /Duplex true >> setpagedevice | 17:47.09 |
| to the postscript | 17:47.12 |
| currently i'm doing: gs -sstdout=/dev/null -sstderr=/dev/null -q -sDEVICE=ps2write -sPAPERSIZE=letter -dNORANGEPAGESIZE -o"|rlpr -h -H10.0.6.2 -Praw" ./invoice.pdf ./test.pdf | 17:47.32 |
| how do i have it add the option for duplex printing please? | 17:47.46 |
Robin_Watts | see gs/doc/Ps2ps2.htm and look for the PSDocOptions stuff. | 17:50.02 |
logikos | domain? | 17:50.56 |
| tried ghostscript.com | 17:51.08 |
Robin_Watts | within the gs source you downloaded. | 17:51.10 |
logikos | its on a server, and not in a location i can access with a browser | 17:51.33 |
| terminal only | 17:51.40 |
| the file is not published publicly by itself? | 17:52.01 |
Robin_Watts | http://git.ghostscript.com/?p=ghostpdl.git;a=blob_plain;f=gs/doc/Ps2ps2.htm;hb=HEAD | 17:52.22 |
logikos | ty | 17:52.33 |
chrisl | Okay, I have edited the sourceforge page, but I cannot see how to edit the google code one - I hate these sites :-( | 17:54.15 |
logikos | ok i tried adding it: gs -sstdout=/dev/null -sstderr=/dev/null -q -sDEVICE=pswrite -sPAPERSIZE=letter -dNORANGEPAGESIZE /PSDocOptions "<< /Duplex true >> setpagedevice" -o"|rlpr -h -H10.0.6.2 -Praw" ./invoice.pdf ./test.pdf | 17:55.21 |
| clearly that isnt correct (tested it) | 17:55.29 |
| would be nice if there were examples | 17:55.51 |
Robin_Watts | logikos: Indeed, no, that's clearly wrong. | 17:56.02 |
chrisl | I think PSDocOptions is a pdfmark, isn't it? | 17:56.09 |
Robin_Watts | It's a distiller param. | 17:56.32 |
| (a gs specific one) | 17:56.40 |
tkamppeter | chrisl, thanks for adding my changes to the release notes. | 17:56.57 |
Robin_Watts | The documentation could really use an example, as logikos says. | 17:57.07 |
logikos | so how do i do it please? | 17:57.08 |
chrisl | tkamppeter: no problem - as I said, I did feel they were worth mentioning | 17:57.27 |
tkamppeter | One question: What were the problems of Ghostscript 9.11 and 9.13, why did they not get published. | 17:57.34 |
Robin_Watts | logikos: No idea. This isn't my area. You really need kens, and he's gone for the day. | 17:57.39 |
| tkamppeter: 9.11 and 9.13 were felt to be "bad" numbers, so they were skipped. | 17:57.56 |
chrisl | tkamppeter: we skipped 9.11 because of 9/11, and in the light of that I just made a bad joke by skipping 9.13 as an unlucky number | 17:58.31 |
| logikos: give me a few minutes to look at the PSDocOptions stuff, and I'll possibly have an answer for you | 17:59.06 |
logikos | tyvm | 17:59.16 |
tkamppeter | chrisl, like with the hotels where the upper part of the 14 to the last floor is somehow floating over the lover part, the ground flor to the 12th, as there is rarely a 13th. | 17:59.57 |
logikos | i did not expect the printing to be so complicated so I suggested to my boss i'd have this application done today .. if i have to wait until tomorrow and talk with ken ... it is what is is, but if you can figure it out .. you rock :) | 18:00.23 |
Robin_Watts | tkamppeter: Indeed. And the way few planes have row 13. | 18:00.25 |
tkamppeter | Robin_Watts, I did not know that, I must look on my next flight. I already had a ticket with a seat number which did not exist in the plane (but not row 13), but fortunately, the flight was not full. | 18:01.52 |
Robin_Watts | tkamppeter: Yeah, Helen and I had that on the way back from a recent staff meeting. | 18:02.34 |
| The plane had 47 fewer seats than expected. | 18:02.46 |
tkamppeter | Robin_Watts, were there seats free? Or did you have to travel on a jump seat, the toilet, in the cockpit? | 18:03.44 |
Robin_Watts | tkamppeter: They kicked various people off the plane and we made it on. | 18:04.04 |
| oddly most people are happy to spend an extra day on hawaii at the airlines expense :) | 18:04.27 |
Jogux | hehe | 18:05.08 |
chrisl | logikos: so, you're going to want something like this: http://pastebin.com/i6TSLgpW | 18:05.39 |
logikos | ty, testing | 18:08.51 |
chrisl | tkamppeter: hopefully, tomorrow I'll have time to write up the workaround for the Toshiba printer bug (launchpad #978120) | 18:11.27 |
logikos | chrisl: worked! God bless you :) | 18:12.34 |
chrisl | logikos: cool! | 18:12.43 |
| logikos: so, if I were you, I'd take the stuff between the "-c" and the "-f" and put it in a plain text file, called something like "settings.ps" (leaving out the "-c" and "-f" sections....... | 18:13.52 |
tkamppeter | chrisl, OK, then I can issue cups-filters 1.0.50 and put it into Trusty. | 18:14.48 |
chrisl | logikos: so your command line would look like: http://pastebin.com/wM2TUsyj | 18:15.01 |
| tkamppeter: sorry it's taking some time, with the release stuff, I've been a bit swamped | 18:15.41 |
Robin_Watts | chrisl: You confused the makefile dependency checker I think :) | 18:26.49 |
| with ee44586 | 18:27.03 |
chrisl | Robin_Watts: I saw that, I've no idea why, though.... | 18:27.11 |
Robin_Watts | either that, or you broke lots of stuff :) | 18:27.14 |
chrisl | Equally possible | 18:27.25 |
| I can only assume it's moved stuff around so the pre-existing warnings aren't filtered properly | 18:29.00 |
| tor8: do you know how to edit things like the project description on code.google.com? | 18:40.12 |
logikos | chrisl: so in the settings.ps file i would put "<< /PSDocOptions (<< /Duplex true >> setpagedevice) >> setdistillerparams" | 18:40.46 |
| exactly | 18:40.48 |
| includeing the quotes ? | 18:40.52 |
chrisl | logikos: sorry, no without the quotes | 18:41.04 |
logikos | or excluding the quotes | 18:41.08 |
| k | 18:41.10 |
| figured but wanted to make sure | 18:41.13 |
chrisl | The reason I suggest that is that it's short enough to be manageable with the -c...-f command line syntax, but two or three more things to setup, and it gets very unwieldy on the command line | 18:42.09 |
| logikos: ^^ | 18:42.13 |
logikos | ty, this command works: gs -sstdout=/dev/null -sstderr=/dev/null -q -sDEVICE=ps2write -sPAPERSIZE=letter -dNORANGEPAGESIZE -o"|rlpr -h -H10.0.6.2 -Praw" settings.ps ./invoice.pdf ./test.pdf | 18:51.31 |
| however i have 2 hp printers, one supports duplex and the other doesnt if i send to the one that doesnt even leaving out the settings.ps, i get an error out in the printer (not in the shell) | 18:52.05 |
| Error: configurationerror OFFENDING COMMAND: setpagedevice STACK: --nostringvalue-- false 845 595 0 0 842 595 --nostringval-- 6 | 18:52.49 |
chrisl | logikos: you really shouldn't: it should ignore the unsupported option | 18:52.56 |
logikos | nearly each peice of that is on its own line | 18:52.59 |
| i figured that but beings i got the error i removed the variable.. | 18:53.28 |
| so all i did was remove settings.ps and change 10.0.6.2 to 10.0.6.3 | 18:54.05 |
| it printed to the correct printer but instead of the document i got error output on the page | 18:54.16 |
Robin_Watts | logikos: What does your settings.ps look like then ? | 18:55.03 |
chrisl | logikos: Clearly, the Postscript is correct, as one printer works | 18:55.32 |
logikos | Robin_watts: i can show it to you, but i'm not useing settings.ps when i get the error | 18:55.37 |
Robin_Watts | Your error suggests that it is dying after getting a "setpagedevice" command | 18:56.10 |
logikos | << /PSDocOptions (<< /Duplex true >> setpagedevice) >> setdistillerparams | 18:56.25 |
| is the contents of settings.ps | 18:56.30 |
Robin_Watts | ok, and the command line is? | 18:56.54 |
chrisl | logikos: try adding -dSetPageSize=false to your command line? | 18:57.05 |
logikos | gs -sstdout=/dev/null -sstderr=/dev/null -q -sDEVICE=ps2write -sPAPERSIZE=letter -dNORANGEPAGESIZE -o"|rlpr -h -H10.0.6.3 -Praw" ./invoice.pdf ./test.pdf | 18:57.30 |
| root@kona:/var/todd/kona# /opt/gs/gs -sstdout=/dev/null -sstderr=/dev/null -q -sDEVICE=ps2write -sPAPERSIZE=letter -dNORANGEPAGESIZE -dSetPageSize=false -o"|rlpr -h -H10.0.6.3 -Praw" ./invoice.pdf ./test.pdfrlpr: error: check_ack: timed out waiting for ACK to our job requestrlpr: fatal error: unable to send job request to lpd | 19:02.07 |
| printer outputed on a page: Error: ioerror OFFENDING COMMAND: image STACK: -mark- -mark- mark- | 19:02.43 |
chrisl | Looks like you have a buggy printer ;-( | 19:03.08 |
| logikos: er, actually, that looks like the comms dropped mid-file, rather than a problem with the PS | 19:06.51 |
logikos | .... | 19:08.58 |
| not what to do with that information | 19:09.16 |
| i could have sworn i had it working on this printer before i tried the duplex stuff (which caused me to start testing on the other one) | 19:09.40 |
| incase the printer is just being weird, i powered it off the nback on again | 19:09.54 |
| who knows ..... | 19:09.57 |
| cant hurt lol | 19:09.59 |
| didnt help | 19:14.02 |
chrisl | Same error? | 19:16.15 |
| logikos: I have to go - if you're around tomorrow, Ken or I may be able to give you some pointers.... | 19:19.36 |
logikos | k | 19:20.06 |
| ty | 19:20.09 |
| i tried the same command to another printer like this one, and it output the same error | 19:20.20 |
| hp laserjet 4000 n | 19:21.20 |
mvrhel_laptop | robin_watts: are you still up? | 20:24.23 |
Robin_Watts | mvrhel_laptop: H, | 21:00.00 |
| Hi, even. | 21:00.39 |
mvrhel_laptop | hi robin_watts | 21:02.24 |
| so I am trying to figure out how best to handle the text copy in gsview with mupdf | 21:02.41 |
| I was looking at fz_analyze_text and trying to understand what it gives me | 21:03.11 |
| ah shoot have to head out for a minute to pick up son | 21:03.53 |
Robin_Watts | mvrhel_laptop: So, you create a text extraction device, and run that, and it fills in some structures for you. | 21:21.11 |
| These are 1) a set of styles (fz_text_sheet), and 2) an fz_text_page. | 21:23.01 |
| An fz_text_page is made up of a sequence of fz_page_blocks. Each block can either be a text block or an image block. | 21:23.41 |
| text blocks are made up of lines, which are made up of spans, which are made up of chars. | 21:24.13 |
mvrhel_laptop | robin_watts ok | 21:25.17 |
Robin_Watts | The text extraction device basically populates these structures in a fairly naive manner; it assumes (broadly) that the order in which text appears in the file is the order it should come out. | 21:25.20 |
| We do a bit of smartness to try and establish words/spacing etc, but it's designed to be fairly fast and on the fly. | 21:25.48 |
mvrhel_laptop | right | 21:25.53 |
| so question then | 21:25.56 |
Robin_Watts | You can use that data exactly as it is. | 21:26.00 |
| OR... you can feed it into fz_analyse_text, which will do all sorts of horrible hairy heuristics on it. | 21:26.32 |
mvrhel_laptop | is there any information in there about the location of the text on the page? | 21:26.35 |
Robin_Watts | The output from fz_analyse_text are updated versions of those structures. | 21:26.51 |
| Yes. | 21:26.54 |
| Every char on the page has a bbox. | 21:27.09 |
mvrhel_laptop | ok I guess I need to take a look at fz_page_blocks | 21:27.31 |
Robin_Watts | fz_text_char = the point in device space at which the char is placed, the char (unicode) and the style. | 21:27.45 |
| The span contains a bbox for the span, plus details of the baseline of the text, so we can cope with diagonal text etc. | 21:28.44 |
mvrhel_laptop | ok | 21:28.54 |
Robin_Watts | After analysis, there is information here about indents and columns etc, though frankly it scares me every time I look. | 21:29.17 |
mvrhel_laptop | essentially I want to be able to select and copy chunks of text on page, showing a selected region similar to what AR does. I am thinking that the spans etc in the text blocks should give me what I want | 21:30.26 |
Robin_Watts | mvrhel_laptop: If you're trying to do cut and paste, then basically, you want to look at the code that does text search. | 21:30.36 |
mvrhel_laptop | ok. I have text search working | 21:30.48 |
Robin_Watts | The text search code already produces a list of rectangles to highlight based on the text, right? | 21:30.59 |
mvrhel_laptop | yes | 21:31.03 |
| that works fine | 21:31.12 |
Robin_Watts | So it seems to me like this is the same thing. | 21:31.21 |
| That takes the structures and searches in them for text and makes rectangles from it. | 21:31.47 |
| What you need to do is to take the structures and make a rectangle for each each char and see if it intersects with the region you are selecting, right? | 21:32.18 |
mvrhel_laptop | yes. I am a little worried about running every page through the text device though and how best to handle the data. or is this going to be so fast it does not matter | 21:32.42 |
Robin_Watts | mvrhel_laptop: You only need to run the current page through, right? | 21:33.01 |
mvrhel_laptop | i.e. when I render the page for display, I would also render it through a text device to get all the positions | 21:33.10 |
| yes | 21:33.12 |
| current page. unless we are zoomed out | 21:33.19 |
Robin_Watts | Or are you thinking about offering an "extract this whole document as HTML" option? | 21:33.21 |
mvrhel_laptop | then i window of pages | 21:33.25 |
Robin_Watts | I think it's fast enough. | 21:33.33 |
mvrhel_laptop | robin_watts that is a different animal | 21:33.34 |
| the HTML case | 21:33.39 |
Robin_Watts | For this stuff you don't need to call analyse. | 21:33.43 |
mvrhel_laptop | I am thinking of a save as HTML | 21:33.49 |
| option | 21:33.51 |
Robin_Watts | which means it'll be fast enough as is. | 21:33.51 |
mvrhel_laptop | robin_watts ok cool. I will work on this tomorrow | 21:34.03 |
| so far things are looking pretty decent with it all | 21:34.11 |
Robin_Watts | To do save as html, use the fz_print_text_page_html function :) | 21:34.19 |
| And for xml: fz_print_text_page_xml | 21:34.33 |
mvrhel_laptop | cool | 21:34.38 |
Robin_Watts | fz_copy_selection might be of interest too. | 21:34.50 |
mvrhel_laptop | oh what is that? | 21:34.58 |
| where is the manual for all of this..... | 21:35.12 |
Robin_Watts | Return a newly allocated UTF-8 string with the text for a given selection rectangle. | 21:35.12 |
mvrhel_laptop | nice | 21:35.17 |
| yes that would be good | 21:35.20 |
Robin_Watts | structured-text.h | 21:35.21 |
mvrhel_laptop | ok | 21:35.25 |
Robin_Watts | OK, Windows git users may want to consider upgrading to 1.9.0 rather than the 1.7.something we all installed when we first started. | 21:36.37 |
| Cos 1.9.0 checks out sot.git perfectly, wheras 1.7 has problems. | 21:36.53 |
mvrhel_laptop | oh I think I have the lastest let me check | 21:37.00 |
Robin_Watts | git --version | 21:37.05 |
| mvrhel_laptop: You've probably set up your laptop many times since we first did it :) | 21:37.18 |
mvrhel_laptop | oh 1.8.5.2 | 21:37.18 |
Robin_Watts | That's still much newer than what I was using. You're probably fine. | 21:37.34 |
mvrhel_laptop | ok. I may update anyway | 21:37.41 |
Robin_Watts | mvrhel_laptop: So, are you OK with this stuff? | 21:37.55 |
mvrhel_laptop | robin_watts with the text ? | 21:38.02 |
Robin_Watts | The sofa is calling for my ass. | 21:38.02 |
mvrhel_laptop | yes | 21:38.04 |
Robin_Watts | yeah. | 21:38.05 |
mvrhel_laptop | thanks! | 21:38.06 |
Robin_Watts | no worries. | 21:38.11 |
mvrhel_laptop | you have me pointed in a direction | 21:38.16 |
Robin_Watts | I almost have pdf export of image filled paths working in smart office. | 21:38.44 |
mvrhel_laptop | nice | 21:38.52 |
Robin_Watts | Just the Y entry in the transform is wrong. All the others are spot on. | 21:39.04 |
| I hate matrix maths. | 21:39.12 |
| Forward 1 day (to 2014/03/27)>>> | |