IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2014/07/02)2014/07/03 
gadabout i am new to ghostscript i got the gs914w.exe07:11.54 
  is that all there is to it07:12.05 
kens What else were you expecting ?07:12.19 
gadabout cause it says all the sources but i am having problems07:12.28 
kens That's the installer, it does not contain source code, you need to pick up a source code archive if you want the source07:12.53 
gadabout oh ok what all can i use it for i am on a ms system07:14.02 
kens Seriously, if you don't know what its for, why did you download it ?07:14.32 
gadabout i was interested in the encapsulated post script and pdf viewer but i am not use to the code to view documents from people07:15.26 
kens OK GHostscript is a full PostScript and PDF interpreter and rendering engine (a RIP). You can use it to interpret and render PostScript (including Encapsulated PostScript) and PDF file, in addition there are some high level output devices included which can output to PostScript, EPS, PDF, PCL, PXL and XPS. It is *not* a viewer, though it can be used as such with teh display device, but it is not intended as such and owuld be comparatively crude.07:17.19 
  You can use GSview instead, thich is a viewer application and uses Ghostscript to render the input.07:18.04 
gadabout thank you for the interpretation i was confused in the understanding of it than i just need to learn how to use the ghostscript interpret and render so i can use it for my devices07:19.33 
kens If you want to use Ghotscript to perform rendering for another application you will have to abide by the AGPL. Assuming this isn't a problem then yes, you can use Ghostscript to render PostScript and PDF to a bitmap, which you can further use in an appliaction07:20.53 
gadabout thank you kens you are very informative i have been trying to understand this for awhile07:23.19 
kens No problem07:23.29 
gadabout what are the most common uses people use ghostscipt nowadays07:23.58 
kens Umm, that probably depends what you consider to be 'common'. GHostscript is included in every Linux distribution where it is usually part of the CUPS printing system. It is used by gsview, hwich is a PostScript/PDF viewer, evince uses it for PostScript. I've just beenreading a Stack Overflow report which indicate4s its used in the 'R' environment. In addition its commonly used by people doing 'print to PDF' solutions, particular07:26.55 
  ly on Windows. Its sold commercially as a PostScript interpreter and can be found in desktop printers.07:26.55 
  There are probably other uses we don't even know about, since its a AGPL open-source application07:27.24 
gadabout thats what i was looking for i was trying to see the uses it plays in an ms system since in linux it is a basic program but for ms it only has a few applications that i can make possible07:29.40 
kens That depends what you want to do with PostScript. On Linux its there as part of the print system, which is not required for Windows. However, for a 'print to PDF' solution on Windows you do require somethign like Ghostscript, and it is part of the printing system, so in that sense it is like CUPS. All the other applications are as applicapble on Windows as on Linux.07:31.15 
gadabout well what got me looking into it was i was on irc in the 90s and just recently got back on and was looking for a good client and i ran in ghostscript thinking it was an irc client07:33.35 
kens Ah, no it doesn't do that :-) I'm using Miranda as an IRC client, some of my colleagues use Chatzilla and are happy with that.07:34.15 
gadabout i didnt know if there was a certain one for people on freenode that was preferred and i wasnt sure if irc was still the preferred program07:34.31 
kens There's no 'preferred' client as far as I'm aware, anything that talks IRC will do.07:35.03 
gadabout i was just looking for something that had some features and was useful for the times07:35.53 
kens Like I said, I use Miranda, others use Chatzilla, there's also mIRC, whatever you find that you like really.07:36.40 
gadabout i know when i was on back then i would just try scripting it out but i dont have all that time for a new one and wanted one with something useful07:36.41 
  miranda a script or an addon on07:40.06 
kens miranda is an application,07:40.19 
gadabout i was searching it now and it shows a mbot07:40.24 
kens Its a chat client, supports several different kinds of chat protocols07:40.49 
gadabout i found it and looked up chatzilla that one is more of an addon to browsers 07:46.05 
pedro_mac hi folks07:49.02 
chrisl good morning07:49.50 
jogux morning all07:53.22 
kens Morning pedro_mac, jogux07:58.58 
  Hmm, can't connect to peeves :-(08:09.08 
  And teh dashboard says peeves and peeved are both down, rats08:09.40 
chrisl Didn't they go down a while back, and probably won't be back until Ray is back from vacation08:12.28 
kens peeves was OK till about 10 minutes ago08:12.43 
  Got 8 of the 9 files I wanted off it08:13.00 
chrisl Oh, well, I can't connect either08:13.04 
  Can't you use the test file downloader on the regression dashboard?08:13.26 
kens Its a fuzzing file08:13.35 
chrisl Yes08:13.42 
kens Hmm, well I suppose I can try......08:13.51 
  crazy filenames though, I'll see if I can cut/paste it08:14.09 
chrisl Yeh, you'll need some of the path, and there's probably no type extension08:14.48 
kens THere is a type extension, but its buried in a sub-folder under fuzzing08:15.15 
  I'm not sure I can recall the whole path08:15.25 
chrisl Get it from the bug08:15.54 
kens I'm trying, first i HAVE TO DOWNLOAD THE LOG FILE08:16.14 
  oops caps lock08:16.19 
  OK looks like I found it08:16.51 
jogux right. I'm now pretty certain thathttp://www.picsel.com is NOT hosted at fasthosts, which is why changing the site of fasthosts does not work.08:17.31 
  I did always think it odd that fasthosts would be hosting stuff at bytemark.08:18.14 
kens Why did we think it was hosted at fasthosts ?08:18.20 
jogux because I asked ron "is it hosted at fasthosts" and he said yes :-S08:18.33 
kens Ah, well I suppose that was reasonable08:18.44 
jogux I wonder if I need to go back to Miah, I suspect it may be on his hosting and I don't know if anyone has a login for it.08:19.20 
chrisl jogux: doing a lookup, picsel.com is hosted by vh03.darksilence.net08:23.01 
  I mean hosted on......08:23.25 
jogux ah, bah, I did a whois, didn't think to check dns :-)08:23.27 
  thanks chrisl08:23.38 
chrisl The actual hosting is done by BYTEMARK COMPUTER CONSULTING LTD08:23.52 
jogux yeah, that bit I got. bytemark is actually run by a guy I know from ages back :)08:24.24 
pedro_mac site template looks like it’s drupal08:24.36 
jogux I think I'll need to go back to mace then, ron said he didn't have any other passwords, unless Robin_Watts or so do.08:24.39 
chrisl In York...... interesting....08:24.47 
jogux pedro_mac : the main site is expression engine, the user guides are a malcolms wrapper around smarty08:25.04 
  chrisl : yeah. I presume stuff is cheaper up there, bit odd not hosting in telehouse though :)08:25.44 
  they do stupendously well though08:25.59 
pedro_mac funky - EE has a smarty-like template language too08:26.05 
chrisl jogux: just interesting as I used to live in York...08:26.15 
jogux chrisl : ah :)08:26.20 
chrisl jogux: FWIW, if the worst comes to the worst, I'll be in York next month, I can go in and threaten violence ;-)08:27.43 
jogux hehe08:28.46 
  I suspect I just need to get hold of Miah :)08:28.56 
chrisl From what you say, there might be issues with moving the hosting to the current GoDaddy host - don't *think* we have full Unix shell hosting, there08:30.33 
jogux ah right08:31.45 
chrisl It's probably just a question of upgrading the type of hosting we have, but it's something to note08:32.17 
jogux drops Miah an sms.08:32.35 
  chrisl : yeah, I'll leave that to Ron (although he doesn't really know unix, so may need a bit of help).08:33.05 
  all we want to do right now is change an image and one line of text :)08:33.21 
chrisl I *think* the GoDaddy is on Robin's card08:33.35 
jogux what a tangled web we weave08:33.57 
Robin_Watts yeah, I have godaddy log in details.08:34.16 
jogux miah reckons Ron does have the login for the hosting. but he's going to send it to me anyway.08:34.17 
  I'm wondering if we need an IT section on the wiki, this is pretty ridiculous :-S08:34.46 
pedro_mac boggles the fact that they’d use a CMS and not use the frontend admin for stuff like that08:35.06 
jogux pedro_mac : the manuals aren't CMSed; they're all templated in a special way so that all the different variants (ios/android/blackberry/blahblahblah phone / tablet / whatever) are all generated from a single source doc (aiui)08:35.57 
  it's essentially a completely seperate site from the main picsel website08:36.21 
pedro_mac ok, put another way, I boggle the fact that the website is doing that, rather than using some in-house tools being run on the source docs when the manuals change then generating the platform-specific docs and uploadign them to the website08:37.37 
jogux pedro_mac : yeah, that bit seems slightly odd. I'd have generated static pages too I think.08:38.52 
paulgardiner What's doing the instantiation of the templated version?08:42.48 
  pedro_mac: I have a pete-sog branch in my repo. It's commits have the same effect as you branch just reordered a bit. I moved that part that you identified as part of the wrong commit and I've moved the general build changes to the start so that we might commit those to golden independently of the rest08:50.16 
jogux paulgardiner: it's generated on demand by some php when accessed (and then cached)08:50.24 
  I believe, anyway.08:50.41 
paulgardiner So we just need to take on the php? Oh hang on, the problem isn't about moving it. It's about location the logo. Is that really that hard?08:51.21 
pedro_mac paulgardiner: cool. I have a few additional commits on the android-sog-gdauth branch to fix up some regular SO breakages too. 08:51.43 
paulgardiner Oh right. When you push those, I'll take them on too.08:52.11 
jogux paulgardiner: this will not be hard once I can access the actual site :-)08:52.19 
paulgardiner jogux: right. :-)08:52.32 
jogux paulgardiner: the issue is more a lack of documentation about where things are.08:52.39 
pedro_mac paulgardiner: they should be there just now (pushed last night). There’s one oddity on startup in the regular SO (it fails to start as it thinks we’re trying to set content prior to requestFeatures() - I’m looking at diffs between the branch and master just now 08:55.09 
paulgardiner Is this a problem only on the branch?08:55.56 
pedro_mac paulgardiner: yes, master is fine08:56.08 
paulgardiner That's partly why I pushed the general changes to the front of the list of commits, so those can be tested on their own to see if they affect the regular SO.08:57.37 
  You might be better taking on my branch08:57.47 
pedro_mac paulgardiner: yeah, that sounds like a plan08:58.46 
paulgardiner I haven't yet been able to reorder so that "Do package naming properly on android" is before all the GD specific stuff, but I'm working on it.09:00.02 
  pedro_mac: might be an idea if I take on those extra commits of yours. Would you say they were fix ups of previous commits, cos I can role them into the previous ones if that's the case?09:03.21 
  ? in the wrong place09:03.29 
pedro_mac paulgardiner: sure, that would be great - mostly added ifdef guards for Good/securefs09:04.30 
paulgardiner Right. Probably best not take on my branch yet then. I'll just fiddle a little more.09:05.14 
pedro_mac ok, cool - thanks. I ‘ll probably be another hours or so finding/fixing this startup problem09:05.51 
paulgardiner Hmmm. Actually for that you might still be better using my branch because you can test at the point in the branch where only the non-Good-specific commits are applied. If the problem is still apparent there it would cut down the search09:08.54 
  ... but whatever seems best to you...09:09.22 
pedro_mac paulgardiner: sure, may be worthwhile. I may well do that if the android_postlink and PicselViewer mods don’t show anything obvious09:11.41 
jogux is trying to setup windows builds (so I can use Robin's solution thing). VS2010 install only seems to be offering me 64 bit compilers, is that going to work?09:16.02 
jogux tries it anyway :)09:16.39 
pedro_mac uses x8609:16.45 
  we should have access to both 64 and x86 on msdn09:17.06 
paulgardiner pedro_mac: so "Restore the internal library setup call previously done from the (async) Good auth method" is a fix up for "Switch back to the legacy Good authentication model for android"? If so I'll combine those.09:17.43 
pedro_mac paulgardiner: spot on09:18.19 
Robin_Watts jogux: You will need x86 compilers, I think.09:24.53 
paulgardiner pedro_mac: "Make Good specific auth..." also a fixup for the same commit?09:24.54 
Robin_Watts ffs. So I tracked down what had been going wrong with my commit.09:25.12 
pedro_mac paulgardiner: yep, should be09:25.20 
Robin_Watts I'd forgotten to init a variable to 0.09:25.21 
  It was working in the debug build, but not in the release. How to waste a day...09:25.33 
jogux robin_watts: oops :-(09:26.45 
  valgrind or gcc should've picked that up really :-S09:27.07 
Robin_Watts jogux: Was passed as an address into another function, so they couldn't know.09:28.25 
jogux ah. :-(09:29.03 
paulgardiner pedro_mac: "Remove Good-specific code from the generated java app if we're not doing a Good build" - first hunk looks like a fixup for "Do package naming properly on android" - but not sure about the second hunk09:57.05 
pedro_mac looks09:57.41 
  paulgardiner: your right about first hunk. second should really have been in ‘Switch from using a GDLaunchActivity…’10:00.14 
paulgardiner pedro_mac: great ta10:00.49 
pedro_mac git commit squashing is a pretty awesome feature10:02.21 
paulgardiner yeah. rebase -i is so handy10:04.42 
  pedro_mac: just pushed my pete-sog branch again. Now has those latest commits worked in10:14.30 
pedro_mac paulgardiner: great - thanks. Just found that problem on startup (a setFullscreen() call which switched order with the activity onCreate() - its the other way round in the Good build. Go figure.10:15.53 
paulgardiner The one last reordering I'd like to do is to move "Do package naming properly on android" before all the GD-specific stuff, but that looks hard. I pushed it down past many of them10:15.57 
mattchz Anyone like to review my last two commits please? http://git.ghostscript.com/?p=user/matt/mupdf.git;a=summary10:16.23 
pedro_mac paulgardiner: yeah, just due to the fact it hits UE2ViewerApp?10:17.56 
paulgardiner pedro_mac: I'm wondering about having another go at getting new mode of Good Auth working: allowing multiple activities, but with a singleton ue2 context servicing them (perhaps just refusing new requests if busy) Does that make any sense, or am I misundertanding the problem?10:18.19 
  pedro_mac: it's the android-postlink.py changes that I'm having most probs with for the reordering.10:19.00 
pedro_mac paulgardiner: mm, guess its a bit more fiddly.10:19.40 
  paulgardiner: the singleton UE2 was what I was looking at doing, but it looked like a bit more work. I think it should be feasible too, but I dropped back to the old model as we really need to get this out (and if Good do anything about supporting singleTask then we’d have no work to do on it)10:21.26 
paulgardiner yeah true10:21.59 
pedro_mac the alien layer is already instanced, so it looked like primarily a rework of the activity and its current state (local variables)10:22.23 
pedro_mac has a patch (one of a few experiments) reworking the activity but its not complete10:22.57 
  I reckoned the path of least resistance to get v1 out would be best and we can revisit this 10:23.25 
paulgardiner Is there something I can read on how the two GD modes work? Or can you describe it briefly?10:23.43 
pedro_mac logically it shouldn’t be too different to what you’ve done for muPDF10:24.16 
  paulgardiner: the androif update guide has most of it - I’ll get you a link10:24.40 
  basically they used to advocate a separate auth activity in your app, and an Event Listener which would receive auth /policy notifications and store some state info, launch your activities etc10:25.36 
  now they have moved (or starting advocating) a cleaner ‘state model’ and an interface which your activities can implement to handle all auth notifications in the activity class itself10:26.21 
  this also removes the requirement to derive from com.good.gd.Activity...10:26.53 
  its a much nicer implementation10:27.17 
paulgardiner And then what goes wrong when we try the new way?10:27.27 
pedro_mac they don’t allow your activities to be singleTask - I got a good deal of it working, but you end up with a bunch of crashes where we’re calling alien layer functions with a null picselcontext10:28.31 
  doing a singleton properly should sort that I believe10:28.51 
  I had also been musing on running it as a service10:29.54 
mattchz jogux: that PDF you sent me the other day is encrypted10:29.59 
pedro_mac but then I returned to my senses10:30.08 
jogux mattchz: you say that like I have a clue what pdf I sent you or why :-)10:30.21 
mattchz no password, but has protection to prevent c’n’p10:30.25 
  the one you couldn’t annotate10:30.30 
jogux ahh, right, gotcha.10:30.34 
paulgardiner pedro_mac: yeah that makes a lot of sense, but I guess quite a big change10:30.35 
jogux mattchz : that makes sense then. albeit perhaps it might be nice if the UI said that somewhere... but, meh :)10:30.53 
mattchz possibly we should show the button, but pop up a dialog explaining when it is tapped.10:31.23 
  I’ll open a feature request10:32.06 
paulgardiner pedro_mac: "Do package naming properly on android" adds code to generate settings.json for the GD build. Is that specific to the updated SDK, or would that still be needed if it were applied before the SDK update?10:33.44 
  pedro_mac: maybe that part is really a fixup for the SDK update10:34.41 
pedro_mac paulgardiner: hmm, yeah - that’s part of the ‘new method’ - rather than having a separate auth activity call initialize(packagename, version) the individual activities call their own gdinitialise() which reads the package details from the settings.json file10:36.18 
  (they also have debug log filtering in that file, which looks like it is honoured regardless of which auth method you use)10:36.57 
paulgardiner Ah right. I may be able to do that last bit of reordering then10:37.07 
pedro_mac so… I guess my answer is that we probably don’t need it10:37.20 
jogux mattchz: do you have any more iOS fixes pending in the list / done? Just wondering if there should be another test flight build, or the existing build should be submitted to apple, or what :)10:37.22 
mattchz I need to look at a CBZ which was crashing it.10:38.22 
  apart from that, I don’t think there is anything.10:38.40 
tor8 mattchz: do you have a link to the CBZ that was crashing?10:51.53 
mattchz yeah. I think it’s actually a generic iOS issue. We don’t catch the exception from fz_open_document10:52.12 
  I’m just trying to fix it, but I’ll get you the link.10:52.34 
tor8 mattchz: yeah, I think Robin spotted that. still wonder why the file doesn't open properly.10:52.39 
mattchz tor8: http://www.copperwood.com/pub/Elf%20Receiver%20Radio-Craft%20August%201936.cbz10:53.08 
  seems to be problem with the zip. I’ve not really looked into it though.10:53.20 
tor8 mattchz: hm. that file works fine on desktop mupdf...10:54.31 
mattchz_ oh, hmm. it does appear to be corrupted. Truncated, I think.10:56.10 
  So, false alarm. But I’ll fix the crash nayway10:56.23 
mattchz paulgardiner/robin_watts: there are three commits for review now at: http://git.ghostscript.com/?p=user/matt/mupdf.git;a=summary11:05.09 
  (no rush though)11:05.20 
  With the most recent one, I wasn’t sure if use of ivars (without fz_var()) was safe or not.11:05.56 
  ah, ENOROBINWATTS11:06.07 
paulgardiner mattchz: Look fine, except you probably need fz_var(doc) and fz_var(self) in the second one.11:08.48 
jogux woohoo, I managed to update http://www.picsel.com/docs/user-guide/smart-office/en-gb/2.1/ios/tablet/introduction so it doesn't say (C) Picsel International (in administration)!11:09.00 
mattchz paulgardiner: ok, cool, I’ll change that.11:09.12 
pedro_mac jogux: cool :)11:10.49 
tor8 mattchz: fz_var(doc)11:11.00 
  self doesn't change inside the try-block so doesn't need to be protected with fz_var11:11.14 
mattchz it does ;)11:11.28 
  (change)11:11.35 
  better? http://git.ghostscript.com/?p=user/matt/mupdf.git;a=commitdiff;h=598e69fb9f793fe1ca5be904d92e8e4da765cc7611:11.53 
tor8 oh... you're changing the return value. nvm then!11:11.56 
mattchz nvm?11:12.16 
tor8 mattchz: LGTM11:12.17 
  nevermind11:12.21 
mattchz ah :)11:12.23 
  the original code did that too.11:12.26 
  I just added another instance.11:12.36 
tor8 yeah. I'm still sleepy apparently :)11:12.37 
mattchz cool.11:12.38 
  np :)11:12.43 
  I would have put those in before, but I wasn’t sure if the same applied to objective-C ivars. Not sure if they can be register based.11:13.02 
tor8 IIRC self is just like any other variable11:13.32 
  given that you can turn a SEL into a function pointer to call directly with the self argument11:13.43 
mattchz Yeah, I guess for self, yeah.11:13.52 
  For ‘doc’, not sure.11:13.57 
  I suspect doc gets resolved to self->doc11:14.25 
tor8 oh yeah, I missed that. my memories of objc are before apple added all these fancy features.11:14.57 
  then I reckon we don't need the fz_var on the doc11:15.14 
  but I'm not exactly confident11:15.31 
mattchz me neither. let’s leave it in then :)11:15.42 
tor8 I would prefer to know and do the right thing, otherwise everyone who comes across the code is going to be just as confused and afraid to change things.11:16.53 
mattchz yeah. I guess Robin will know.11:17.28 
  (I already pushed it, I’m afraid, but I can always change that in a later commit if it turns out not necessary)11:17.44 
tor8 mattchz: "references to instance variables are translated by the compiler to expressions that dereference the self pointer" found somewhere on the internet about ObjC and Blocks11:20.02 
  I wonder if it uses a fixed 'self' or goes via the local variable self (i.e. does changing 'self' affect 'doc'?)11:20.28 
mattchz ah, okay, so what I expected.11:20.30 
  good question :/11:20.52 
tor8 I hate implicit voodoo like instance variables. I much preferred when you had to write 'self->doc' (if that was ever the case...), but I guess that's why so many C++ programmers prefix all instance variables with 'm'11:21.48 
mattchz obj-c is all implicit voodoo :-D11:22.16 
tor8 the newer flavors that overload '.' are insane11:22.30 
mattchz I like it11:22.35 
  but I hated it at first.11:22.41 
tor8 self.view gets translated to [self view] and self.view = 5 into [self setView:5]11:22.53 
jogux gets intreged by the talk of changing self and looks11:22.58 
tor8 well, it's not really C anymore11:23.03 
jogux mattchz : If you're not using ARC, that code leaks ([self release] is missing)11:23.22 
mattchz ah, nice. I guess it already did before.11:23.39 
  (old code nilled self too)11:23.50 
jogux nods11:23.54 
tor8 I doubt we're using ARC unless paul added it since he took over11:24.10 
mattchz tor8: we’re not.11:24.18 
  I was wondering if we should turn it on.11:24.53 
tor8 or rewrite in Swift... ugh.11:25.18 
mattchz I wonder if calling [self release] is even safe11:25.50 
  [self autorelease] would be safer.11:25.57 
jogux mattchz: self release is fine afaik11:26.13 
tor8 [self release] would free, but if you never touch self or any instance variables afterwards it should be fine11:26.40 
mattchz not explicitly, no.11:26.53 
tor8 but with the automatic reference counting that Blocks add, you never can be sure11:27.18 
jogux I don't see any reason for that block (I presume it's the one in dealloc we're talking about) to capture self. If it does you're well into undefined behaviour territory11:29.39 
mattchz which block?11:30.07 
tor8 there are no ^{} blocks in use here, so you should be safe. just talking about the general case.11:30.11 
  the ^{} blocks add automatic reference counting, which can get you into trouble in destructors11:30.34 
mattchz there is a block at the start of the function, but that’s just to wait for any async tasks (I assume)11:30.34 
jogux I have no idea what that block at the start of the function is for :-S11:31.08 
mattchz To wait for the async queue to drain, presumably.11:31.21 
  (I puzzled at first too)11:31.27 
Robin_Watts back.11:31.58 
tor8 the block is to sync with the worker queue so we don't use the fz_context from multiple threads11:32.05 
  dispatch_sync(queue, ^{});11:32.16 
jogux tor8: ah, right :)11:32.18 
Robin_Watts if in doubt, use fz_var. The compiler might not need it, but people reading the code do :)11:32.18 
tor8 instance variables shouldn't be a doubt (like any pointer derefence writes) for fz_var though?11:33.12 
Robin_Watts tor8: Probably not, but the fact we are having this question suggests that it's clearer to the reader that it's safe if we add an fz_var.11:34.27 
tor8 I'd argue the opposite... by adding it here we're saying we are wrong elsewhere.11:35.08 
  and just making the situation more confused11:35.16 
jogux I think I'd just avoid changing self within a block :-)11:35.49 
mattchz or not use fz_try() stuff in objective C code.11:38.31 
Robin_Watts mattchz: yeah.11:40.05 
mattchz shame though.11:40.26 
Robin_Watts That Obj-C exists? yes.11:40.37 
mattchz heh11:40.45 
jogux I meant I'd avoid changing self within a try()11:40.45 
mattchz it’s a shame we still have code the core in C :)11:40.54 
  </controversial>11:41.03 
paulgardiner What did we decide on the app store releases of SO2? I've had test versions up for a few days now. Do we think they have had adequate testing? Or more to the point, do we think they're likely to get further testing if I wait any longer? :-)11:50.17 
Robin_Watts paulgardiner: I do not think more testing will be forthcoming unless you physically force people to test it.11:52.29 
paulgardiner And if I'm holding their finger and moving it on the device, that'll probably not lead to any testing I wouldn't have done myself.11:54.03 
Alex90 Hi and thx for the stack overflow answer (http://stackoverflow.com/questions/24532030/mupdf-get-every-image-coordinates-from-pdf-page). So until now i know that the fz_image block is added in the fz_text_fill_image_mask and from here on i will need those pointers mentioned in the answer ;)) if someone can help11:57.25 
Robin_Watts Alex90: Well, it should be a simple enough job to extend the fz_image_block structure to have an fz_matrix in it, and to assign *ctm into that in fz_text_fill_image_mask.12:00.07 
tor8 if all you want is image locations, you might be better off writing your own fz_device12:00.41 
  and just fill in the image drawing functions, leave the others NULL12:00.58 
Alex90 hmm i would do that but i am not that good with c and the rendering was assigned because i had to much free time, I think i will try the solution from Robin_Watts but my question is after i have the matrix saved i aply that to the image or?12:03.32 
Robin_Watts Alex90: Do you understand matrices as used in 2d rendering?12:04.05 
Alex90 aa not that much, i kind of understend how they are used here from reading a lot of the code but that is preaty much it.12:05.04 
Robin_Watts conceptually the 6 elements in the fz matrix (a,b,c,d,e,f) are arranged into a 3x3 matrix as follows:12:05.31 
  a b 012:05.34 
  cd 012:05.39 
  e f 112:05.41 
  Then any given point (x,y) will be transformed by that matrix by doing a multiplication of (x y 1) by that matrix.12:06.18 
Alex90 i also now saw that the fz_image_block already has a fz_matrix in it12:06.33 
Robin_Watts so the image of x,y under the image transformation will be: x' = a*x + c*y + e y' = b*x + d*y + f12:07.32 
  hence (0,0) (one corner of the image) will map to (e,f)12:07.48 
  and (1,1) (the other corner of the image) will map to (a+c+e,b+d+f)12:08.20 
  For images at a multiple of 90 degrees this will give you nice easy results.12:09.02 
  For images at intermediate angles, it's harder, but all the information is there.12:09.16 
Alex90 aha ok then will put the explanation in a safe place and start going at it 12:10.35 
  and also i think it is ok to use the already existing matrix from fz_image_block_s12:11.14 
Robin_Watts Alex90: So there is. We don't actually seem to use it though :)12:11.25 
  You need to set that matrix at the appropriate points.12:11.43 
tor8 yeah, we never set the matrix field12:12.28 
Robin_Watts tor8: That's clearly an omission on our part (probably my fault when I refactored all this)12:13.21 
tor8 Robin_Watts: have you seen http://bugs.ghostscript.com/show_bug.cgi?id=69532112:17.42 
Robin_Watts tor8: yes, but I haven't had a chance to look into it yet.12:18.29 
  I suspect he's right.12:19.04 
tor8 chrisl: have you had time to look over the metrics yet?12:38.12 
  http://www.adobe.com/devnet/acrobat/wwdistiller.html has the PDF Core 14 font metrics.12:39.05 
Robin_Watts oh, thank god.12:46.11 
  jogux, paulgardiner, pedro: A couple of commits on robin/master ready to go, please.12:46.43 
  the spaces and the VS solution ones.12:46.49 
paulgardiner IF data is NULL you return EPAGE_NO_ERROR but *width is not assigned.12:55.51 
  Don't know if that's a bad thing or not12:56.10 
Robin_Watts paulgardiner: Yes, that's deliberate.12:58.59 
  It means the default value of width set by the calling code is preserved.12:59.13 
  Font_findSpace is only expected to be called from one place (the getWidths function from the Spaces font).13:00.00 
  but I had to code it like this to avoid making the entire contents of Font_Handle available to all the implementers of getWidths.13:00.36 
paulgardiner Can that loop fail to terminate if openFontsMask has top bit set?13:14.24 
  Wonder if i < sizeof(openFontsMask)*8 might be better13:15.27 
jogux paulgardiner: Do we need to update the support link in the app, now we have a forum? or are we just going to update where the support link goes to so that it has a link to the forum?13:15.29 
paulgardiner jogux: I think we were intending to make the link redirect so as we don't have one more reason to delay release13:16.15 
jogux right.13:16.40 
  oh, there was that support query about dropbox, Pete said he could reproduce it.13:17.00 
  but maybe that's not a reason to hold up the release, so I'd tend to say lets get it submitted to Apple?13:17.20 
paulgardiner yeah. I reckon. I may look at that later today or tomorrow13:18.00 
jogux did someone try the android release?13:18.21 
pedro_mac hasn’t tried iOS (if we’re talking about the dropbox save issue)13:18.31 
  on android I managed to save a doc to dropbox if I wasn’t already logged in.13:18.51 
jogux did someone other than me try the iOS release, so that I have someone to blame if it's broken, and vice versa? :)13:18.54 
pedro_mac once logged in, if I tried to save it failed in the way the OP described13:19.12 
  what’s our approach for the sos@artifex queries> 13:20.13 
  presume we’ll direct to the forums first?13:20.32 
paulgardiner pedro_mac: I pushed another version of pete-sog. Now the first 7 commits are non-Good-specific. Do you think we should look at pushing those to golden? I tested a regular so build at that point in the branch.13:21.15 
pedro_mac paulgardiner: yes, I think its worth getting what we have committed - its at least at the point where we have a tested file-transfer implementation13:22.13 
paulgardiner Oh. I meant just the non-Good-specific stuff13:22.35 
pedro_mac sure - I was just keen to hold off until I knew the basic app worked13:23.06 
mattchz this ‘self’ issue13:24.33 
  oh, ignore me.13:24.48 
paulgardiner Only reticence I have about it is that I can build perfectly well without those fixes, so not sure why they are needed.13:25.48 
  Different SDK/NDK versions maybe13:26.13 
pedro_mac the NDK stuff isn’t about building successfully - its about bombing out when it fails (as it doesn’t currently) - we can end up building an apk which has wrong/inconsistnet stuff in it13:27.24 
paulgardiner Yeah sorry I can see the need for that one13:27.53 
pedro_mac the AR change - I think there have been changes on master since it was done so possibly not needed now - haven’t trawled through to find what changed though13:28.21 
  gen-patch may be similar too13:28.34 
paulgardiner The response file one. That's one I can build without13:28.34 
pedro_mac I’d say dump it then13:28.46 
  is that a vs2010 build?13:28.53 
paulgardiner yeah 201013:29.09 
  ... but if you've needed then maybe others will.13:29.29 
  Actually it's only that one and the gen-patch one I'm questioning. The rest I can see why we need them13:30.20 
  The gen-patch one I'm questioning only because I assume Robin_Watts at least has been running it under Windows without problem.13:30.55 
  I'm leaning towards taking them anyway because they certainly don't add problems.13:32.03 
  Forgot to target my feedback:13:33.12 
  Robin_Watts: Can that loop fail to terminate if openFontsMask has top bit set?13:33.25 
  Robin_Watts: Wonder if i < sizeof(openFontsMask)*8 might be better13:33.35 
mattchz robin_watts/paulgardiner/tor8/jogux> http://www.cocoawithlove.com/2009/04/what-does-it-mean-when-you-assign-super.html13:33.48 
  Is interesting.13:33.50 
  It implies that changing of self /will/ have an effect.13:34.01 
  on ivar accesses13:34.13 
  (and self is basically just a parameter to the function)13:34.56 
  so, overall, I think:13:35.40 
  we need fz_var(self)13:35.45 
  we don’t need fz_var(doc)13:35.49 
  we should be releasing self before nilling it13:35.57 
pedro_mac paulgardiner: I’m using android-ndk-r8e - possibly makes a difference (I’m not sure I had seen issues with AR before on windows android builds)13:37.55 
paulgardiner No, I'm using r8e too.13:38.51 
pedro_mac I’d be inclined to drop that one then13:39.19 
paulgardiner Yeah, can revisit it if it is needed.13:39.58 
pedro_mac nods13:40.14 
paulgardiner pedro_mac: what tests were you conducting that were showing up the problems in SOG? (I may look at this more while you are away)13:41.10 
pedro_mac paulgardiner: the issues with singleTask/singleTop?13:42.16 
paulgardiner Those for one, and the problems you are still seeing with the legacy version13:42.54 
Robin_Watts paulgardiner: back.13:43.05 
  paulgardiner: I wondered about the loop termination thing too.13:43.14 
  but I've basically copied exactly what all the other code uses.13:43.23 
paulgardiner Oh okay. Guess top bit is never set13:43.41 
  And if it is a problem and we want to fix it, it would probably be best done later as a separate commit fixing all the cases13:44.50 
pedro_mac paulgardiner: the problems have all shown themselves switching in and out of the task - primarily via filetransfer testing with AppKinetics and GfE, but also switching from the PicselViewer activity to the home screen then back agian repeatedly13:45.06 
paulgardiner pedro_mac: okay thanks13:45.44 
pedro_mac the problems with the new authentication model look like they are exclusively own to mutli-instance invocation - null picsel context in various alien calls when we resume the app (pointerDown, timer mainly)13:46.32 
  the problem with the old auth method (our current approach) is an assert in Pal_Thread_blockReschedules() where we’re trying to set the same blocking mode the thread is already in13:47.28 
  that could possibly be benigng, but I think its more likely a case of us resuming the app in a state we dont expect to be in13:48.14 
paulgardiner yeah scary nasty stuff13:48.45 
  Robin_Watts: what's nremain?13:49.35 
Robin_Watts nremain = number of glyphs remaining to be mapped.13:49.55 
mattchz jogux/tor8/robin_watts/paulgardiner: how’s this look> http://git.ghostscript.com/?p=user/matt/mupdf.git;a=commitdiff;h=0239617d6a57e7846d75a52948615a1cb8a6e56c13:50.07 
Robin_Watts You set it to the length initially (so 1 in the new code as we are passing in a single glyph) and if it finds that glyph in its set it maps it.13:50.38 
paulgardiner Yeah see it now13:50.46 
Robin_Watts and decrements nremain.13:50.47 
jogux mattchz: seems sane to me.13:50.55 
tor8 mattchz: LGTM13:51.08 
mattchz thx,13:51.19 
tor8 modulo the typo in the commit message :)13:51.22 
mattchz ah, d’oh. I’ll fix that13:51.39 
paulgardiner Robin_Watts: am I understanding right: this makes getWidths recursive, but only to one level?13:54.17 
Robin_Watts Yes.13:54.50 
  essentially, when the getWidths for the 'spaces' font is called, if certain spaces are requested (figure space, punctuation space, ideograph space), we go looking for those sizes in all the other fonts.13:55.48 
  (all the other fonts in the current fallback chain).13:56.00 
paulgardiner Right.13:56.13 
Robin_Watts A figure space is supposed to be the same width as a digit is, so we look up some digits.13:56.28 
  a punctutation space is supposed to be the same width as '.' etc.13:56.43 
paulgardiner Ah. Got to where your comment says it's potentially recursive now. :-)13:58.39 
  Can't see anything wrong. Nice solution.13:59.59 
  Looking at the other now14:00.08 
  Can rubber stamp the second.14:01.16 
Robin_Watts Ta.14:02.50 
  jogux: Hmm. a pdf export of the getting-started document using the test shell looks fine to me :(14:04.16 
jogux robin_watts : urgh. that makes it more of a pain. :(14:04.33 
  I hope it breaks in windows ue2fileviewer.14:04.44 
Robin_Watts will try that in a mo.14:05.03 
paulgardiner subsampling thing?14:13.35 
jogux paul: very possible, but unless it's massively scaled down it the source image must be well under 320 pixels wide :)14:14.04 
Robin_Watts Saving the original picture out of powerpoint gives me a 102x112 png.14:14.55 
paulgardiner It was the best image I could get hold of, and I did ask around14:15.05 
jogux right. so we *really* shouldn't be subsampling something that size :-)14:15.23 
  (not that this leaves me any suggestions as to what on earth we are doing!)14:15.35 
Robin_Watts So how the hell is the PDF export giving me a PDF with a 100x110 image in it!?14:15.47 
jogux :-)14:16.41 
chrisl tor8: yes, I looked through the glyphs lists this morning - they seem fine, as best as I can tell14:20.39 
Robin_Watts jogux, paulgardiner, pedro_mac: The last commit on robin/master is good to go too.14:21.09 
  It doesn't change the ATS precommit tests, which is why I was holding off on it.14:21.27 
paulgardiner LGTM14:23.00 
pedro_mac Robin_Watts: yup, seems like a sensible default to me14:23.47 
Robin_Watts pedro_mac, paulgardiner: Ta.14:31.20 
mattchz There’s a new ios MuPDF release on testflight, if people want to try and break it ;)14:34.08 
  Interesting.14:37.46 
  MuPDF seems to support the multiple document thing in Android L without any changes.14:37.56 
jogux mattchz: impressive.14:52.05 
mattchz at least, when launching from Gmail. Not when launching from Downloads.14:52.42 
  (because with downloads the doc appears part of the Downloads task)14:52.56 
Robin_Watts ok, so the png in the actually pptx is 100x110. god knows what ppt is doing with it, but at least the version I am getting to save in the test shell is sane.14:56.49 
  mattchz: I never doubted it would work for a second.14:57.00 
mattchz :)14:57.11 
Robin_Watts jogux: Do you have a copy of the crap exported pdf to hand?14:59.20 
alexg Hi, is there any hope that gs-9.15 comes out this summer?14:59.28 
Robin_Watts could you mail me it please?14:59.30 
jogux robin_watts: sure14:59.36 
Robin_Watts alexg: 9.15 is due out in september14:59.42 
  We release in march and september each year.15:00.00 
kens2 (more or less ;-)15:00.07 
alexg Ah, great. Thanks, Robin!15:00.35 
Robin_Watts alexg: np.15:00.43 
jogux robin_watts: sent.15:01.48 
Robin_Watts jogux: Thanks.15:01.55 
jogux robin_watts: I may or may not have drawn all over it15:02.04 
  iOS preview seems to think I haven't. mupdf thinks I have. :-(15:02.16 
jogux is fairly sure that's mupdf 1.5 too15:03.41 
  it'd be nice if occasionally I could go near things without them breaking.15:04.08 
mattchz http://bugs.ghostscript.com/show_bug.cgi?id=695328 is interesting.15:10.49 
  I’d not heard of libhoudini before.15:10.56 
  turns out it’s an emulator that lets you run ARM android binaries on x8615:11.13 
  http://commonsware.com/blog/2013/11/21/libhoudini-what-it-means-for-developers.html15:11.26 
  I’m guessing we just don’t support that at all.15:11.38 
  I guess we should probably be building natively for x86.15:14.04 
kens2 is inclined to agree. I can't believe we will be willing to support someone using a translation layer15:14.38 
  He shoudl build it natively for x86 himself instead of trying to use an ARM binary on x8615:15.11 
mattchz tbh, perhaps he doesn’t even realise. I hadn’t realised the Galaxy Tab 3 was x86!15:15.34 
Robin_Watts mattchz: We do build a dedicated x86 version for google play.15:15.35 
kens2 Sounds liek he should use that then15:16.05 
mattchz He’s using the library. I guess he should be building the ndk stuff for x86 then.15:16.21 
kens2 The library is x86 ?15:16.35 
mattchz I mean, he should build the mupdf library for x86.15:16.47 
kens2 Yes, I would say so15:16.52 
  I would guess he's using an ARM SDK ?15:17.25 
  Perhaps as you say he doesn't realise. I would also drop the severity from critical to normal. "Your crisis is not our problem"15:17.52 
mattchz I think the NDK has all the compilers in, possibly.15:17.53 
jogux mattchz : boggle re galaxy tab 3 / x86.15:18.04 
paulgardiner jogux: Just tried building for the app store. I had two directories "Distribution - AdHoc-iphoneos" and "Distribution - AppStore-iphoneos", but only the AdHoc one has a .ipa file in it.15:19.02 
fstd regarding mupdf: is there a more straightforward way to scroll to the bottom of a page than '.' followed by ',' (which strikes me as a crude way to do it)?15:19.23 
jogux paulgardiner: I'd probably open the project and do project->archive.15:19.30 
  possibly after making sure the 'archive' option in the scheme is setup to use the distritubion-appstore configuration15:20.13 
paulgardiner yeah I guess. Looks like the intention was that it be automatic15:21.23 
jogux paulgardiner: I think under xcode 5 it wasn't possible to trigger project->archive automatically15:21.48 
  s/automatically/programmatically/15:21.56 
  and, annoyingly, there's no command line tool for submitting to the appstore :(15:22.16 
paulgardiner But doesn't the AdHoc one require that? It builds okay.15:22.29 
  I mean the archive15:23.00 
jogux paulgardiner: the build system builds the ipa by hand I think (it's just a zip file)15:23.43 
  project->archive is a specific operation that puts an archive somewhere you can then find it in xcode's organiser and submit to the appstore directly from there15:24.16 
paulgardiner Oh I see15:24.33 
jogux there's at least a 50% chance something is wrong with the setup that will cause the appstore upload to fail (ceritificates/profiles/randomness etc :-( )15:25.29 
paulgardiner Strange the build has done as much as it has towards the AppStore build then: It has created the Smart-Office.app directory with all the bits in15:26.00 
jogux paulgardiner: yeah, I think it runs as much as it can, nominally so that ATS can check the build is not too broken (cbw)15:27.24 
paulgardiner Right. That would make sense15:27.42 
jogux mattchz: I tried the latest iOS build, it's not hideously broken afaics.15:29.00 
mattchz thanks15:29.23 
  I can upload it to Apple when everyone is happy15:29.33 
jogux unless tor8 wants to try it I'm not sure anyone else is likely too15:29.46 
  oh, he dropped off15:30.06 
mattchz Hmm, I spotted one minor bug. The annotation tools aren’t disabled when entering reflow mode on iOS.15:31.54 
Robin_Watts So, pdfExportImageDpi is set to 72.15:36.15 
  and the sourceResolution for this image is set to 299.15:36.28 
  so we downsample by 4.15:36.57 
pedro_mac Robin_Watts: 72 is pretty poor esp. given that most folk will likely print15:37.29 
Robin_Watts pedro_mac: Indeed.15:37.53 
jogux I'm not entirely sure I see why sourceResolution would/should be relevant.15:38.16 
Robin_Watts Me either.15:40.04 
  I could understand it if the images were being subsampled to the point where they were just good enough for a given output dpi, but we don't have that knowledge here.15:40.50 
jogux well we could have a maximum dpi or something?15:42.46 
  we know the page size in inches and current transform, right?15:42.59 
Robin_Watts jogux: Not at this point.15:44.01 
kens2 Wow, WIndows 7 just BSOD'ed on me, first time ever15:44.12 
Robin_Watts All the images used are put into a 'resource list'.15:44.16 
  and the resource list doesn't know how they are to be used on the page.15:44.36 
jogux robin_watts: oh, ah, hrm.15:44.38 
Robin_Watts I think we just dump the images at full size and be done with it.15:45.03 
jogux that feels wrong but seems better than the current situation.15:45.28 
Robin_Watts Either we need to give a configuration option for the desired dpi, and we need to actually make it work... (which is hard)15:47.38 
  or we need to ensure that quality is "the same as the input file".15:47.50 
  I suspect the latter is the sanest course.15:48.02 
jogux nods.15:48.25 
  or offer some kind of 'save as a really small pdf' option. but.. meh.15:48.39 
  your approach is simple, sounds good :-)15:49.15 
Robin_Watts ugh. The pdf export encodes all images as PNGs.15:59.40 
jogux although I presume we know how the images are used when we add them to the resource list, so could add a 'maximum needed dpi' type field to the list?15:59.45 
  ugh!15:59.52 
Robin_Watts jogux: We could.16:00.01 
  I went through this for MuPDF a while ago, modifying it so that we passed fz_image's rather than fz_bitmaps.16:01.07 
  part of the reason being so that we could ask an fz_image for it's source data so we could output it again.16:01.25 
jogux are they image component handles in the resource list?16:01.52 
  grr. I'm still installing vs2010 updates. (partly because SP1 didn't want to install from windows update.)16:04.33 
Robin_Watts jogux: They are, yes.16:06.57 
jogux so we nominally have the source type there, and could ask the image component to encode to whichever it thought best of jpeg/png/whatever.16:07.30 
  or rather I guess there's no need to reencode at all if we're not subsampling :-)16:07.50 
Robin_Watts jogux: We could add a 'please give me the source data for this image' API for image handles, yes.16:08.17 
jogux nods16:08.26 
Robin_Watts and if that says "no", we fallback to using pngs.16:08.33 
  that's what mupdf does.16:08.36 
jogux right. sounds good.16:08.45 
Robin_Watts notes that mattchz is keeping very quiet about now :)16:11.38 
mattchz I’d not read that bit.16:11.58 
jogux tbf it's a fairly trivial change to make :-)16:11.59 
pedro_mac this is not the MAtt you are looking for…16:12.01 
mattchz There is an API, isn’t there? iirc16:12.06 
jogux mattchz : possibly not an external one16:12.22 
mattchz Image_getSource() it used to be16:12.30 
  iirc16:12.31 
jogux oh, hm.16:12.36 
Robin_Watts Aha, I was just looking to see if there was one :)16:12.47 
mattchz Did we bin it, because we couldn’t guarantee we had the source?16:12.51 
  I remember lots of discussions about it.16:12.56 
Robin_Watts For this function to work, the Image Component must have been initialised16:13.22 
  * with the Image_Options_RetainSource flag.16:13.24 
mattchz oh, yeah. that sound sfamiliar16:14.03 
  was there some sort of estream api to get the source?16:14.53 
Robin_Watts mattchz: The source was an EStream.16:15.28 
  and we Tee it to use it in the image component.16:15.38 
mattchz ah.16:15.57 
  isn’t there an API to get the estream from image?16:16.03 
Robin_Watts Image_getSource, as you said.16:16.11 
mattchz (I don’ thave the source handy)16:16.25 
Robin_Watts but that only works if we have set the Image_Options_RetainSource flag set.16:16.32 
  as the Image_Options_RetainSource flag forces us always to 'Tee' the original EStream so it doesn't get destroyed after use.16:17.05 
mattchz right.16:17.10 
  that sounds vaguely familiar.16:17.27 
Robin_Watts At the moment that flag is only set for the Messenger Server.16:17.34 
  I am slightly confused though.16:18.22 
pedro_mac that really just comes down to available memory doesn’t it? 16:18.22 
Robin_Watts I thought we only ever discarded the input when it was larger than the bitmap.16:18.40 
mattchz we did, afaik16:18.54 
  but to guarantee it to work, we used RetainSource16:19.02 
  yeah, messenger server needed it so that it could put the imaage into efif16:19.15 
Robin_Watts mattchz: So, we could ignore RetainSource and still call Image_getSource, and it would only work in 'some' cases.16:19.35 
mattchz I don’t know.16:19.49 
  I can’t remember16:19.54 
  possibly it wont’ work because it wont have the tee?16:20.22 
Robin_Watts mattchz: yeah, currently it will fail to give us an estream pointer if that flag is not set.16:27.15 
  but in the 'reopenable' case, we could make it work, I think.16:27.32 
  OK, let me see if I can fix the original problem (the dpi being too small) first.16:28.08 
pedro_mac heads back home. back later16:41.55 
Robin_Watts Data in a layout list is in what units?16:43.18 
  65536ths of an inch?16:43.53 
jogux I'd presume so16:44.15 
  16.16 inches.16:44.20 
  give or take any transforms that apply of course :-)16:44.50 
mattchz Would someone mind reviewing this please: http://git.ghostscript.com/?p=user/matt/mupdf.git;a=commitdiff;h=6085b27ecdd9ebfc0a81208be96464a2998b69c416:55.56 
  (then I’ll do another ios testflight build)16:56.06 
Robin_Watts mattchz: Seems sane.17:00.24 
mattchz ta.17:00.30 
signnow Hi everyone!17:06.49 
  Good morning from Los Angeles!17:06.57 
Robin_Watts evening.17:07.21 
mattchz Hi :)17:08.39 
  jogux/tor8: there’s another ios build up if you want to test.17:08.42 
  the only change is that reflow thing.17:08.46 
jogux breaks it. I'm on a roll today.17:13.48 
  if only I was doing as well at fixing things.17:14.36 
mattchz I’m on a roll too, at breaking things.17:14.52 
  turns out that x86 guy was using this: http://www.genymotion.com/17:18.55 
  (I’ve never tried it, but looks interesting)17:19.23 
jogux so he was feeding an arm so to something expecting an x86 so, or genymotion is just borked?17:20.03 
mattchz I’m guessing genymode uses this ‘libhoudini’ thing to run arm binaries on x86, but I don’t know for sure.17:20.32 
jogux ah right. mm.17:20.49 
jogux offs for the night, cyas!17:28.26 
signnow Robin_Watts: I have a question about GNU GPL for MuPDF17:31.26 
Robin_Watts signnow: go for it.17:31.54 
signnow If I use MuPDF & want to alter it to customize for my Android app, is that a violation of GNU GPL?17:32.06 
Robin_Watts The GNU GPL says that you can make any alterations you like, provided that anyone you give a copy of the app to, has the right to get the source code of your entire app, with all the changes in it.17:33.09 
signnow I see.17:33.58 
Robin_Watts So, as long as you are happy to give away the entire source code to your app, (both the MuPDF bits and the non MuPDF bits) you are fine.17:33.58 
signnow I work for a big corporation that needs an Android app to display & alter PDF documents like EchoSign/DocuSign17:34.33 
Robin_Watts Even if you don't make any changes to MuPDF and just link it in with your app, you still need to give the entire source code away.17:34.43 
signnow I see.17:34.52 
Robin_Watts signnow: OK, and are they going to be happy about giving away the source code to their app?17:35.03 
signnow Nope. Is there a way to have it private licensed with out giving away the source code?17:35.18 
Robin_Watts Absolutely.17:35.24 
signnow ok. What would be the pricing & procedure to understand that licensing?17:35.37 
Robin_Watts We release MuPDF both under the GNU GPL and under the Artifex commercial license.17:35.51 
  We don't have a on-size-fits-all price.17:36.06 
  s/on/one/17:36.13 
signnow ok17:36.19 
Robin_Watts What you should do is to contact Scott.Sackett at artifex.com and explain what you need.17:36.40 
signnow ok17:36.50 
Robin_Watts He'll ask you lots of questions (many of which won't apply to you), just answer them as best you can.17:36.56 
  The idea is to give him the best idea you can about what you actually want.17:37.08 
  He'll then get back to you with a licensing proposal.17:37.22 
  If you don't get a reply within a couple of days, let me know.17:37.33 
  It's rare, but we have had the odd mail to him go missing. He's usually very good about replying quickly.17:37.53 
signnow ok, I emailed him just now!17:40.34 
  Until he replies, I will explore what MuPDF can offer me17:41.01 
  I want to use it within my Android application / add annotations etc17:41.22 
Robin_Watts signnow: Sure. The commercial version is identical to the GPL version, so you can use that for eval.17:41.51 
  Feel free to ask questions here.17:41.57 
signnow ok, thank you :)17:42.58 
  I am sure I will have a bunch of questions! lol17:43.08 
  Do I have to use MuPDF as a external Android library?17:44.28 
  so I can use it within my own Android app?17:44.46 
Robin_Watts The core of MuPDF is written in C.17:44.51 
  As such there will always be a native library involved.17:45.01 
  but it can absolutely be rolled into your app so it appears seamless.17:45.13 
signnow So, I would just copy the JNI folder & run ndk-build within my personal app?17:45.37 
Robin_Watts signnow: Well, you need the java classes too.17:45.56 
signnow ok17:46.04 
Robin_Watts The android specifics for the viewer are written in java.17:46.15 
  (and the mupdf.c JNI layer itself).17:46.28 
  everything under there is just portable C that works on every platform under the sun.17:46.41 
signnow ok17:47.11 
  Does this mean, that I develop my app by copying all Java classes and JNI folder into my Android app?17:47.57 
Robin_Watts signnow: That seems a reasonable place to start.17:48.32 
signnow ok.17:48.37 
  I found something else online.17:50.16 
  This link discusses this differently17:50.25 
  http://dixitpatel.com/integrating-pdf-in-android-application/17:50.26 
  about MuPDF17:50.32 
Robin_Watts signnow: That's based on MuPDF 1.2, which is just over a year old.17:51.08 
signnow ok.17:51.18 
Robin_Watts but it's still broadly the same.17:51.20 
signnow ok17:51.26 
Robin_Watts I would *definitely* be working with the newest version though.17:51.47 
  Your best bet is to clone our git repo and import from that.17:52.10 
  That way you can pull in new changes as we make them.17:52.17 
mattchz ok, all, nn18:04.11 
signnow Got it. I am on the latest version from Git18:12.50 
pedro_mac paulgardiner: I’ve built from your pete-sog branch but the app is a bit broken (looks like it hasn’t merged manifests). I’ll take a look at what has changed18:43.14 
paulgardiner pedro_mac: Hmmm, should be identical to yours at the tip. I diffed the ends of your and mine and diffs showed nothing.18:44.51 
  Then I took out the path separater fix.18:45.29 
pedro_mac probably nothing major. 18:45.34 
  yeah, it wont be that :)18:45.41 
  just going to have some grub now, but I’ll take a look after that18:45.59 
paulgardiner Oh. Then I rebased onto golden/master. That must be it. Until I did that it was identical18:47.15 
  Maybe not. That's just 3 commits, none of which look like they could affect that18:48.19 
  I'm just pushing the version of yours I was working to back to my repo as pete-sog-old, but I still see no diffs other than Robin_Watts's 3 commits18:52.21 
Robin_Watts 1 commit on robin/master for review. No hurry. Tests running now, but I don't think they test pdf export.19:09.25 
  In fact, 2 commits there.19:13.37 
signnow Hi Robin_Watts20:10.11 
  Using MuPDF, can I add Android specific views on the document?20:10.35 
  MuPDF only allows a Ink annotation to be drawn. 20:10.51 
  Is it possible to add my own annotations?20:11.09 
Robin_Watts (for the logs): The PDF export commit failed tests. Will fix it tomorrow.23:01.16 
 Forward 1 day (to 2014/07/04)>>> 
ghostscript.com
Search: