| <<<Back 1 day (to 2014/04/23) | 2014/04/24 |
marcel123 | Hi everybody. I have a strange problem regarding GS 9.10 on Ubuntu 13.10 (x64). Whenever I convert a PDF to a JPEG/PNG/PS (Subset of fonts are embedded) it looses Umlauts like äÃü. They just dont appear. I cannot reproduce the error on another machine running the same version so I think it has something to do with the server settings | 07:04.00 |
| The command is: gs -sDEVICE=jpeg-sOutputFile=out.jpg -dBATCH -dNOPAUSE inputfile.pdf | 07:05.08 |
kens | Possibly the PDF file uses fonts which are not embedded. In this case a substitute font will be used, and its possible that the two systems have different fonts available | 07:05.11 |
| Put the PDF file somewhere and I'll take a quick look at it | 07:05.31 |
marcel123 | I checked the PDF with Pitstop Pro and it says the Font is Embedded | 07:05.34 |
| ok | 07:05.35 |
chrisl | marcel123: are you sure the machine where it works is using 9.10? | 07:06.07 |
marcel123 | http://we.tl/4BUistRWA6 | 07:06.14 |
kens | THat was going to be my next question ;-) | 07:06.18 |
marcel123 | yes | 07:06.20 |
| I ran gs -version | 07:06.24 |
| Same OS, Same GS different result | 07:06.41 |
| GS installed via apt-get | 07:06.52 |
| When I manually embed the WHOLE font in the PDF the conversion works | 07:07.38 |
| I did that via PITSTOP Pro. The original PDF is generated by FOP | 07:08.00 |
chrisl | It's just that feels like a problem that I addressed since the 9.10 release..... | 07:08.17 |
kens | OMG the file is 26 Mb uncompressed | 07:08.32 |
marcel123 | ? | 07:08.36 |
kens | Your PDF file is 26Mb when decompressed | 07:08.47 |
marcel123 | and a few KB when compressed - how is that possible? | 07:08.59 |
kens | Lots of whitespace ? | 07:09.13 |
marcel123 | yeah | 07:09.17 |
kens | Well, the fonts are embedded and look 100% legal, Ghostscript has no font substitution happening, and teh PDF renders correctly for me. | 07:11.15 |
| SO in short, I haven't a clue..... | 07:11.23 |
chrisl | I can't remember: does the PDF interpreter override the user setting of -dRENDERTTNOTDEF ? | 07:11.46 |
sebras | markson: hi! a scroll-to-next-page patch for mupdf? | 07:11.49 |
kens | chrisl I'm pretty sure it doesn't | 07:11.56 |
sebras | markson: on android? | 07:11.57 |
chrisl | marcel123: try add -dRENDERTTNOTDEF=true to your command line | 07:12.20 |
marcel123 | Ok, I will tell this to the dev - i currently cant access the machine :( | 07:12.43 |
sebras | tor8: tttr = to tired to review (late response I know, but I was unexpectedly too busy at work to even read yesterday.) | 07:12.48 |
marcel123 | Something odd I noticed: When he creates a PS from the PDF on the faulty machine, and I distill the PS via Acrobat the generated PDF has a Type 3 Font embedded | 07:13.21 |
| and the Umlauts are missing | 07:13.49 |
| http://we.tl/v5RUZUnnKJ | 07:14.17 |
kens | OK the reason the decompressed file is so big is because of pointless transparency. THere's a 26Mb image in thre which is used as a soft mask, but all the samples are 0xFF which has no effect, but does comrpess extremely well | 07:15.31 |
marcel123 | Ok, thats something our developers build in with FOP - I cant say why but we never had problems with Printers or sth. | 07:16.35 |
kens | marcel123 : lloks like a O unlaut is missing in that PDF file, not just the umlaut, in Offnungszeiten | 07:17.06 |
chrisl | kens: is that with the current code? | 07:17.26 |
kens | also a unlaut in Mustergeschaft | 07:17.26 |
| chrisl no that's the PDF in the zip file. | 07:17.37 |
marcel123 | The second PDF i uploaded is a result of a faulty PS | 07:17.39 |
| I generated it from the faulty PS-File | 07:17.50 |
kens | THe PostScript is frmo ps2write | 07:17.55 |
| But it started with a different PDF file so comparisons are difficult | 07:18.22 |
marcel123 | Problem machine: PDF -> PS... My machine: PS -> PDF (Acrobat Distiller) | 07:18.22 |
chrisl | The Umlaut glyphs appear in the current code, so..... | 07:18.54 |
marcel123 | We had the same test results with both pdf files. Since they are generated by the same system it should be no difference | 07:19.01 |
kens | marcel123 : If the original PDF file uses a CIDFont then the PostScript *will* contain a type 3 font, as basic level 2 PostScript doesn't support CIDFonts | 07:19.05 |
| THe PDF file you originally showed us didn't contain a CIDFont | 07:19.19 |
chrisl | The glyphs are also drawn in the 9.14 release code..... | 07:20.32 |
kens | Yes, the original PDF file works fine for me | 07:20.49 |
| But then he said they did on his machine also | 07:20.58 |
sebras | markson: a patch would be appreciated regardless of course. :) | 07:21.15 |
kens | Given that the fonts are embedded, I cannot conveive of a way the two systems could behave differently | 07:21.23 |
| Hmm, unless FreeType is a shared library and the 2 systems havce different versions of FreeType ? | 07:21.48 |
| marcel123 : what Operating System are the 2 machines ? | 07:22.09 |
chrisl | That's possible, I suppose - it's also possible there are different sets of patches on top of 9.10.... | 07:22.16 |
marcel123 | this could be, However: When I install ghostscript via apt-get doesn't all the dependencies get installed? | 07:22.19 |
kens | has no idea | 07:22.43 |
| If you are installing a package, then you aren't installing what we build and provide. | 07:22.59 |
chrisl | marcel123: the distributions strip out the versions of libraries we ship (and that we test), and link to the installed versions on the system, so we have not control over that | 07:23.17 |
kens | You could try downloading the canonical sources and building them yourself. | 07:23.21 |
| The sources we provide come with versions of the 3rd party libraries that we test with, and we know work | 07:23.52 |
marcel123 | Ok I will tell this to the developer | 07:24.00 |
chrisl | Er, what is FOP?? | 07:24.14 |
marcel123 | http://xmlgraphics.apache.org/fop/ | 07:24.24 |
| Generates PDF files out of XML basically | 07:24.39 |
kens | Oh and the enormous image isn't transparency, its just an enormous image. I wouldn't do that, it will slow down every rendering engine going, it looks like its filling the page with white, and its really pointless | 07:25.25 |
| Decompressing 26 Mb of data, then spraying that across the page is a comparatively slow operation | 07:25.55 |
marcel123 | Thanks for the tip - I will talk to our guys. Thank you all for your help I will ask the developer to build ghostscript 9.10 from source and test it | 07:26.20 |
kens | Especially since its scaled up by a factor of nearly 6000 in one dimension and 8000 in the other | 07:26.28 |
| : marcel123 You might prefer to try the current code, 9.14 | 07:26.58 |
chrisl | marcel123: if they can narrow down the circumstances a bit so we can reproduce the problem I'll happily look into it | 07:27.13 |
marcel123 | I will tell you if I found out whats the issue. My gut feeling says: some font-config dependencies are not correct | 07:28.39 |
kens | marcel123 : I don't think Ghostscript will use font-config at all, as the fonts are embedded in the document | 07:29.16 |
marcel123 | But why does it work when the whole Font is embedded and it doesn't when just a subset of the exact same font is embedded | 07:30.09 |
kens | marcel123 : No idea, but if a buggy FreeType is on the system, its possible that FreeType can't handle the subset font, but is perfectly fine with the entire font. | 07:30.46 |
| Assuming that tis a FT bug, and that GS is built using FT as a shared library. | 07:31.11 |
chrisl | As I said, it's not just the GS version, but also what random set of patches the maintainer has applied to GS and Freetype (and possibly other libs), too..... | 07:33.32 |
marcel123 | is there a way to find out which version of the dependencies GS is using? | 07:35.02 |
| Can I just use ldd? | 07:35.39 |
chrisl | Yes, that'll tell you the release versions, but not extra patches applied post release | 07:36.17 |
marcel123 | ok so the best way is to get the latest tag of 9.14 and build it | 07:36.38 |
kens | THat's what I would do, yes | 07:36.48 |
| THe release tag though, not the current master, while it probably works the master code is not totally stable, we can break that sometiems | 07:37.39 |
chrisl | marcel123: what distribution and version are you running? | 07:38.08 |
marcel123 | 4 weeks agoghostscript-9.14tag for Ghostscript/GhostPDL 9... | 07:38.09 |
| The developer did a reinstall via apt-get and now gs -version says 9.10 | 07:38.43 |
chrisl | For the OS, I mean | 07:39.04 |
marcel123 | 3.13.0-11-generic #31-Ubuntu SMP Wed Feb 19 19:57:21 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux | 07:39.55 |
chrisl | That's not a distribution, that's the kernel version | 07:40.19 |
marcel123 | ok then I have to check with the devs - I'm just project lead and coming from the business side | 07:41.33 |
chrisl | Well, is it Debian or Ubuntu or some other Debian variant? | 07:42.06 |
marcel123 | Ubuntu Trusty Tahr | 07:42.57 |
chrisl | OKay, I don't have that yet, sorry | 07:44.53 |
marcel123 | ok nevertheless I have some ideas how to get to the root of the problem :) | 07:45.16 |
| since we are planning to switch several servers and we are heavily relying on GS and IMthis is a big issue | 07:45.48 |
kens | marcel123 : you could have your developer talk to us here, it might be quicker that way | 07:54.23 |
chrisl | marcel123: btw, you can see the updates to the packages with "aptitude changelog <package>" so, for example, "aptitude changelog ghostscript" will give a list of updates to ghostscript. It might be worth comparing the working vs non-working one | 07:55.05 |
kens | chrisl dumb build question. I need to add a new table of operators (the existing on in zdevice.c is full), how do I go about getting genconf to process the new table so that it ends up in gconfig.h ? | 08:07.14 |
| ah, one of the tr files maybe ? | 08:07.46 |
chrisl | kens: I thought you just added it to the source file..... | 08:07.56 |
kens | That doesn't seem to be sufficient | 08:08.06 |
chrisl | Okay, I can't remember then - give me ten minutes or so, and I'll look at it properly | 08:08.37 |
kens | genconf needs to create gconfig.h with the relevant stuff, but I can't immediately see how to do that. I did solve this once before for the colour stuff.... | 08:08.43 |
| No problem, if you can't remember I'll keep poking it | 08:08.55 |
marcel123 | I found the problem! | 08:09.38 |
kens | Aha, and it was ? | 08:09.50 |
marcel123 | This constellation is causing the problem: Ubuntu 14.04 LTS (Desktop) gs -version GPL Ghostscript 9.10 (2013-08-30) Copyright (C) 2013 Artifex Software, Inc. All rights reserved. | 08:09.50 |
| I tested it on 13.10 and thought I was using Trusty Tahr | 08:10.04 |
| So my collegue has the latest Ubuntu Desktop (downloaded yesterday) then installed gs via apt-get and the Umlauts are missing | 08:10.41 |
| You should be able to reproduce the problem with a clean Trusty Tahr installation and GS from apt-get | 08:11.14 |
kens | marcel123 : We aren't going to do anything with a package, for the reasons explained earlier | 08:11.36 |
marcel123 | Ok, where can I address this issue then? To Ubuntu? | 08:11.51 |
kens | If you want us to look at it you need to reproduce it on what we supply, not after it is messed about by the package maintainers | 08:12.08 |
| marcel123 : Ubuntu would seem to be the place, yes | 08:12.19 |
chrisl | marcel123: did you try with the -dRENDERTTNOTDEF=true option? | 08:12.57 |
marcel123 | Ok, sorry about my confusion - I'm pretty new to this stuff about packages and Linux itself | 08:13.01 |
kens | Not a problem | 08:13.26 |
marcel123 | Not yet, I will try it in a few min | 08:13.32 |
kens | FWIW I just tried with the vanilla 9.10 release and that works for me also, so its not something we've recently fixed. | 08:13.58 |
chrisl | kens: I suspect it's something that broke, and was fixed between 9.10 and 9.14..... | 08:14.30 |
kens | chrisl that is possible | 08:14.39 |
| But all I have to hand are the actual releases | 08:15.03 |
chrisl | I think it's that thing about when Acrobat renders the glyph index 0 in truetype fonts | 08:15.08 |
kens | I didn';t think the dieresis was GID 0, but it may be | 08:15.55 |
chrisl | If the font is subsetted, who knows? | 08:16.13 |
kens | THe only way to know for sure would be ot disassembel the font, and I'm not that interested yet ;-) | 08:16.33 |
marcel123 | Same problem with -dRENDERTTNOTDEF=true | 08:17.09 |
kens | OK I Guess its not that then | 08:17.19 |
chrisl | Well, as none of our releases show the problem..... | 08:17.42 |
kens | Its either a 3rd party library, or some patch that's been applied to Ghostscript by the Ubuntu maintainers | 08:18.14 |
| I'd still suggest building our release, just to be certain | 08:18.31 |
marcel123 | Someone else messed it up :) | 08:18.34 |
kens | marcel123 : Sadly this does happen :-( | 08:18.50 |
marcel123 | I will try building your release. How do find the exakt same GPL Ghostscript 9.10 (2013-08-30) ? | 08:19.00 |
| just checkout the commit on git from that date? | 08:19.17 |
chrisl | Or download the archive | 08:19.27 |
kens | I think the source tar is still on our website, just a momment | 08:19.29 |
| Hmm, has hte older releases link vanished ? | 08:20.36 |
| ah no, wrong page | 08:20.48 |
chrisl | http://downloads.ghostscript.com/public/ | 08:20.57 |
kens | Beat me to it, I was about to paste that | 08:21.04 |
chrisl | And you should know by now we *never* remove anything!! ;-) | 08:21.24 |
marcel123 | But there is no 2013-08-30 | 08:21.39 |
kens | No, you want the 9.10 release | 08:21.48 |
| ghsotscript-9.10.tar.gz | 08:22.06 |
marcel123 | ok | 08:22.10 |
kens | or the bz2 file if you can handle bzip2 format, its a touch smaller | 08:22.40 |
| That archive dates from 02-09-2013 which suggests that Ubuntu may have packaged the release candidate, but its probably the same source. | 08:24.11 |
marcel123 | do I have to download all the dependency-libraries by myself or is a quick ./configure and then make enough? | 08:25.09 |
kens | marcel123 : the source includes the sources for *all* trhe 3rd party libraries we require | 08:25.26 |
marcel123 | perfect, I found the documentation on how to build - I will report the results | 08:25.45 |
kens | If you build GS from that, then you can be certain you are using the versions of the 3rd party libraries we tested with, and we cna reliably reproduce any problems with that code. | 08:26.11 |
chrisl | I seem to be running low on disk space for VMs again :-( | 08:26.24 |
kens | Buy a bigger disk ? | 08:26.36 |
chrisl | I think I will, yes | 08:26.46 |
kens | I saw a TV(!) advert the other night for a 1 Tb drive for £55 | 08:26.58 |
chrisl | Presumably an external one? | 08:27.23 |
kens | Yes, in an enclosure, it was an end user package | 08:27.41 |
| I was just surprised to see an advert on YV..... | 08:27.54 |
| TV | 08:27.57 |
kens | returns to the pain of the build system | 08:28.07 |
| Where the h*ll is genconf..... | 08:28.26 |
marcel123 | Just a quick info: Ubuntu 14.04 ships with the 9.10 release from 2013-08-30 and I am able to reproduce the shipped ghostscript | 08:32.17 |
| the error with the shipped ghostscript | 08:32.30 |
kens | OK, but we can't do a lot with that. | 08:32.45 |
| As chrisl said, we don;'t know if patches were applied to teh canonical source by the package maintainer (they often are) or if the problem lies in a system shared library which is also supplied in that version of the OS. We don't build GS using system shared libraries in order to avoid problems with them. | 08:34.10 |
| OK chrisl looks like I need to add the operator table in int.mak | 08:35.43 |
chrisl | kens: oh, sorry, I got distracted.... | 08:36.17 |
kens | No problem, thought you might like to know where I was up to with it | 08:36.34 |
| Just findinfg the 'right' place and I'll try building again | 08:36.43 |
chrisl | What are you adding? | 08:36.57 |
kens | A spec_op operator | 08:37.12 |
| :-) | 08:37.17 |
| But the table of operators in zdevice.c is full (16 entries) so I need to add a new one | 08:37.37 |
chrisl | So, probably Z9OPS is where you want it | 08:39.27 |
kens | I think probably yes, just checking the rest of the file | 08:39.40 |
| zdevice2 adds some more later for instance | 08:39.50 |
chrisl | Yes, but you want this in the PS "core" | 08:40.39 |
kens | Indeed, I was just checking the whoel file for certainty, I've been caught out by that sort of assumption before..... | 08:41.12 |
chrisl | But as we have a zdevice2.c you'll have to be a little careful about the naming..... | 08:41.40 |
kens | OK lets see what I get this time | 08:41.45 |
| Its OK I followed the colour code convention and named it zdevice_ext | 08:42.05 |
| Greta, I hit my breakpoint :-) | 08:42.39 |
| Now I can go and work on the actual code. | 08:42.48 |
| Sorry to have botehred you chrisl | 08:43.20 |
chrisl | kens:NP. And I just have to work out how code I added in one place, can cause stack corruption in a totally different place, in a different call stack..... | 08:43.53 |
kens | O.O | 08:44.02 |
paulgardiner_lap | tor8: thanks for reviewing. | 08:44.11 |
chrisl | Or I could go for some shopping..... | 08:44.27 |
kens | knows which sounds more attractive | 08:44.40 |
chrisl | Yeh, I think I'll do that shopping thing! | 08:45.53 |
marcel123 | After I configured gs from the sources I did a make and then a make install. But it didn't override the former Ghostscript installation | 08:53.23 |
| it tells me install main/obj/pcl6 /usr/local/bin | 08:54.04 |
kens | Just run it directly from where its installed | 08:55.20 |
| ./gs | 08:55.24 |
| chrisl is afk at the moment, and I'm not a Linux expert | 08:55.50 |
marcel123 | oh damn i installed ghostpdl :D | 08:56.21 |
| thats somethin else, right | 08:56.33 |
kens | oops :-) | 08:56.33 |
| that's for PCL input | 08:56.44 |
marcel123 | I should really learn to focus and not do ten things at the time - bad habit | 08:56.49 |
| Heureka | 09:06.29 |
kens | THat works OK ? | 09:06.40 |
marcel123 | Build the 9.10 from source and it works like a charm | 09:06.42 |
| yes | 09:06.44 |
kens | SO its either a patch by hte packagers or a 3rd party library problem, possibly FreeType | 09:06.58 |
marcel123 | I will advice the developers to please just use ghostscript from sources | 09:07.04 |
kens | Well that should work fine. | 09:11.22 |
| wwAnd if you do encounter a problem then at least you can come to us with it | 09:11.38 |
chrisl | marcel123: you can establish if freetype is at fault by renaming the freetype directory in the gs sources, then make clean, ./configure, make | 09:18.35 |
| If the resulting exe shows the problem, it's with the installed freetype lib, otherwise it's (probably) with the installed gs | 09:19.01 |
paulgardiner_lap | tor8: jogux has pointed out two more little problems with the iOS app. We offer to handle zip files. That looks to be because public.zip-archive as the mime type for CBZ files. Do you think there might be an alternative that would work? | 09:21.01 |
marcel123 | chrisl: Then it would take the freetype lib from the system because it doesn't find the freetype lib in the sources? | 09:38.33 |
chrisl | marcel123: that's right, yes. | 09:38.50 |
marcel123 | ok I try that | 09:39.04 |
kens | It won't solve the problem for you, but it'll tell you where it is, if you report it to the Ubuntu maintainers it'll be useful for them to know | 09:39.45 |
chrisl | OKay, stack corruption was not my fault - no idea why it doesn't happen normally....... | 09:41.37 |
Robin_Watts_ | paulgardiner_lap, jogu: 1 commit on robin/master (sot) for consideration. Makes sure that apk debug builds really are debug builds. | 09:42.01 |
| With that in place I can properly debug the native code. | 09:42.12 |
| paulgardiner_lap: I may look at installing eclipse too, cos with that in place, you can debug the java in eclipse, and the native code in msvc at the same time. | 09:42.46 |
paulgardiner_lap | Robin_Watts_: that would be astoundingly useful | 09:43.11 |
| Likely to save us a huge amount of time down the line | 09:44.14 |
marcel123 | kens: So I guess it is not freetype | 09:46.52 |
kens | didn't really think it would be | 09:47.54 |
| FreeType is generally very stable | 09:48.03 |
| So most likely its some patch which Ubuntu packagers apply to Ghostscript, and doesn't work | 09:48.24 |
paulgardiner | Robin_Watts_: I see 5 commits. Just the last that needs reviewing? | 09:49.30 |
Robin_Watts_ | paulgardiner: 1f1f8e3 | 09:51.18 |
| All the rest are on golden | 09:51.22 |
marcel123 | i will stop looking into this issue now - Have lots of other work to do. See you guys. Thanks for the help | 09:52.33 |
kens | You're welcome | 09:52.49 |
paulgardiner | Robin_Watts_: Can't say I altogether understand all that you've done there, but nothing stands out as looking wrong. | 09:58.43 |
Robin_Watts_ | Thanks. | 09:58.54 |
paulgardiner | Oh maybe I do. Why do you have to copy libpicsel.so? | 10:01.17 |
| I get the rest now | 10:01.31 |
| tor8: one more iOS commit on paul/master. That'll be the version I submit to apple, unless you have any ideas for avoiding CBZ support causing the app to offer to handle zip files | 10:18.06 |
| tor8: if you want to give it a test before submission, let me know soon. | 10:18.33 |
deleet | hey guys, is there any expectation of having mupdf for android built on gradle and available via maven? | 12:28.42 |
Robin_Watts | deleet: It's not something we're working on. | 12:31.50 |
| but it is VERY portable. | 12:31.56 |
tor8 | paulgardiner: is accepting all zip files an actual problem? | 12:32.40 |
| paulgardiner: I'd love to give it a test spin, but you'll have to bear in mind that I have no computers with iTunes around anymore so getting it onto my ipad might be problematic | 12:33.21 |
deleet | Robin_Watts: was just wondering if there was a branch or .aar I wasn't seeing, k | 12:40.03 |
jogux | tor8 : it confused me that mupdf offered to take a zip file I found in safari (that had an xps file inside it) but then did nothing useful with it | 12:40.57 |
| and (perhaps worse), didn't give any kind of error | 12:41.13 |
| tor8 : you can install it using safari on the ipad - itunes not required. | 12:41.40 |
| just go to testflightapp.com and login | 12:41.54 |
deleet | I see my minion hasn't contributed back the work we've done to get MuPDF working on fragments, I'll see that he does | 12:41.58 |
deleet | gets the whip | 12:42.06 |
paulgardiner_lap | tor8: I think you have an invitation to our testflight team. I can resend it if need be | 12:54.47 |
tor8 | jogux: right. it shows all image files in a zip, but doesn't do anything with non-image files in it. | 12:57.11 |
| paulgardiner: I've still got the test flight invitation, just got to wait for the ipad to charge... | 13:07.28 |
| paulgardiner: and your latest commit LGTM | 13:08.10 |
| paulgardiner_lap: ^ | 13:08.14 |
jogux | tor8 : ahh. right. I didn't even know it supported image files :-) | 13:13.26 |
paulgardiner_lap | tor8: ta | 13:16.17 |
ray_laptop | can someone else try http://mujs.com and see if it works now ? | 14:09.31 |
| tor8: you, for example ? | 14:09.40 |
kens | Works for me | 14:09.44 |
ray_laptop | GREAT !!! | 14:09.51 |
chrisl | and me | 14:09.54 |
ray_laptop | thanks kens, chrisl (and anyone else) | 14:10.14 |
kens | NP | 14:10.19 |
Robin_Watts | Woo Hoo. | 14:11.44 |
| Have we stolen the logo from the Springfield Isotopes? | 14:11.54 |
tor8 | ray_laptop: works for me too :) | 14:12.13 |
kens | thought it ws an interestging logo too | 14:12.19 |
chrisl | Oh, then we should get the three eyed fish, too :-) | 14:12.20 |
Robin_Watts | blinky. | 14:12.47 |
tor8 | paulgardiner_lap: argh! I don't understand how anybody can actually *like* using the iPad... everything takes ten times as long, and feels a hundred times more clumsy | 14:13.05 |
| and it took me five minutes to figure out how to add a bookmark in safari | 14:13.23 |
| and don't get me started on gmail's "mobile" website and how bloody awful that thing is | 14:13.55 |
| anyway, I now have the testflight but I only see MuPDF 1.3 from january 20 | 14:14.11 |
| Robin_Watts: http://ghostscript.com/~tor/stuff/mujs-logo-blue.pdf is another variant on a similarly themed logo | 14:18.21 |
Robin_Watts | tor8: I don't dislike the logo. | 14:22.53 |
| http://simpsonswiki.com/w/images/f/f6/Springfield_isotopes.jpg | 14:23.22 |
henrys | tor8: talking to Miles yesterday he said the domain stuff is in ray_laptop's court now. So when he here we'll ask. | 14:29.28 |
| s/he/he's | 14:29.41 |
kens | mujs.com is working | 14:29.47 |
| If tht's the question | 14:29.58 |
ray_laptop | henrys: right. Let me know if something doesn't look right to you | 14:30.29 |
henrys | ray_laptop: oh great ⦠looks fine to me, I'm not big on that yellow but I'll stay out of that. | 14:31.34 |
ray_laptop | henrys: I had nothing to do with the content. All I cared about was that mujs.com now points to our server (rather than buydomains) | 14:33.00 |
henrys | ray_laptop: I should've read the logs | 14:36.35 |
ray_laptop | henrys: NP | 14:36.45 |
henrys | tor8:not have a windows build might be taking the simplicity thing a bit far ;-) | 14:46.55 |
ray_laptop | henrys: are you talking about mujs ? | 14:48.32 |
henrys | ray_laptop: yes | 14:48.41 |
ray_laptop | henrys: the target for that product is small embedded devices. they WON'T be running Windows | 14:49.10 |
kens | If they can't build it, they shouldn't be using it :-) | 14:49.12 |
ray_laptop | since when is a Windows user concerned with BLOAT | 14:49.35 |
ray_laptop | agrees with kens | 14:50.05 |
tor8 | henrys: it's a library, not an end-user product :) | 14:50.21 |
chrisl | ray_laptop: can I get your opinion on this set of changes? http://git.ghostscript.com/?p=user/chrisl/ghostpdl.git;a=commitdiff;h=64a0192b | 14:50.37 |
ray_laptop | chrisl: sure. Just a sec. | 14:50.49 |
| chrisl: in psi/dwdll.c the get and set have me confused. the first does: gsdll->set_default_device_list = (PFN_gsapi_get_default_device_list) then checks if (gsdll->get_default_device_list == NULL) | 14:55.42 |
chrisl | ray_laptop: oops, typo - I'm most interested in if you're okay with the intent of the changes | 14:56.34 |
ray_laptop | chrisl: the second change does: gsdll->set_default_device_list = (PFN_gsapi_get_default_device_list) then (properly) checks if (gsdll->set_display_callback == NULL) | 14:56.34 |
| chrisl: is there a reason for the extra space at the end of: #define OUR_DEFAULT_DEV_STR "display " ??? | 14:57.41 |
chrisl | ray_laptop: just that it makes the string merging a little simpler | 14:57.57 |
| I'll add that to the comment | 14:58.31 |
ray_laptop | chrisl: OK. So if I understand the point of having a 'list' is so that we will search for the first device that actually exists in the build ? | 15:01.31 |
chrisl | ray_laptop: basically yes. The graphics lib has a list of preferred default devices, and tries to find one to use | 15:02.26 |
ray_laptop | chrisl: the comment in iapi.h confuses me a bit Allows the calling application to influence which default device(s) gs will use. | 15:02.59 |
| chrisl: shouldn't it just be which default device gs will use. | 15:03.00 |
chrisl | ray_laptop: it influences the set of devices (and the order) we may use as the default device | 15:03.55 |
ray_laptop | or which device(s) gs will try in order to select the default device | 15:03.57 |
chrisl | Yes, that's better | 15:04.08 |
ray_laptop | chrisl: there will only end up being a single default device, which is why the comment didn't seem correct | 15:04.36 |
| chrisl: and the deprecated gs_getdefaultdevice does what now ? | 15:05.18 |
chrisl | It retains the old behaviour of return the global string | 15:05.55 |
| Personally, I'd rather just change the gs_getdefaultdevice() to the new behaviour, but I'm not clear if that's part of the public api | 15:06.48 |
ray_laptop | chrisl: oops. I said it "properly" checks in dwdll.c after the second gsdll->set_default_device_list, but it actually is looking at gsdll->set_display_callback == NULL | 15:08.47 |
chrisl | ray_laptop: yeh, I'm just looking over that now | 15:09.19 |
ray_laptop | chrisl: it seems to me that it should check what it just attempted to set with the GetProcAddress(gsdll->hmodule, calls | 15:09.37 |
chrisl | ray_laptop: I think I've got right here, now | 15:10.37 |
ray_laptop | chrisl: why did you add a write_stderr in dxmain that doesn't seem to get used ? | 15:11.22 |
chrisl | ray_laptop: I use it to issue a warning if we get an error setting the device list | 15:12.15 |
ray_laptop | chrisl: nm. I see where it got used | 15:12.26 |
henrys | chrisl: geez couldn't the client set the default device if none is specified on the command line when setting args instead of all this? | 15:15.46 |
chrisl | henrys: that means preprocessing the command line | 15:16.18 |
ray_laptop | chrisl: The first line of the commit message (IMHO) should mention something like: Add support for list of default devices to try (Bug 695096) | 15:16.52 |
chrisl | henrys: and this seemed like a reasonable thing to want to do, frankly | 15:17.00 |
ray_laptop | then mention that this allows the 'display' device to be the default if it is built in the library | 15:17.21 |
| in the body of the log message | 15:17.33 |
chrisl | ray_laptop: I could split it into two commits - the infrastructure, and then the dxmain.c if you think that would be better? | 15:17.58 |
ray_laptop | chrisl: yes, that might help | 15:18.33 |
chrisl | I'll do that | 15:18.39 |
henrys | chrisl: I think if they don't specify a device we should pick one at random ;-) | 15:18.47 |
chrisl | henrys: personally, I'd just make bbox the default, but I doubt that would popular | 15:19.27 |
ray_laptop | chrisl: or the nullpage device -;_ | 15:20.25 |
henrys | nullpage would be a good one | 15:20.29 |
ray_laptop | ;-) | 15:20.31 |
chrisl | Yeh, that'll learn 'em! | 15:20.44 |
henrys | ray_laptop beat me to it | 15:20.47 |
chrisl | henrys: but if you are worried about our public image, possibly not the best idea..... | 15:21.15 |
ray_laptop | so this allows the app to just pass a list of defaults to the graphics library and get the 'best' one | 15:21.42 |
chrisl | It means you don't need a custom build to get the default device you want | 15:22.24 |
| *If* it's in the build to start with, of course | 15:22.41 |
ray_laptop | chrisl: and if the one you want isn't in the .so/.dll build you'll get the second choice (if any). So 'display x11alpha x11' would make 'display' the first choice since it supports scrollbars) | 15:25.58 |
chrisl | ray_laptop: yes, and if none of the devices in the list exist, you get the zeroth entry in the device table | 15:26.41 |
tor8 | paulgardiner_lap: so I've tried the app and adding annotations to a pdf in the Inbox fails to save, without an error message. I see you're moving them from the Inbox into Documents when you open them, but we could still get save errors that we want to notify the user of | 15:28.00 |
| unless the Apple guidelines ask not to ever show error messages... | 15:28.19 |
paulgardiner_lap | Strange. They were saving okay for me | 15:29.20 |
tor8 | paulgardiner_lap: I clicked the "Save" but when I opened the file back up the annotations weren't there | 15:29.46 |
paulgardiner_lap | Hmmm. That's been working for me okay. That was the purpose of moving them | 15:30.29 |
| What did you open the file in? | 15:30.53 |
| ... I suppose MuPDF so that's not it | 15:31.18 |
ray_laptop_ | chrisl: so, once you fix up those dxmain.c issues, I'm fine with it. | 15:37.09 |
chrisl | ray_laptop: dxmain.c issues? Did I miss something? | 15:37.45 |
| ray_laptop: okay, that's it split into two commits - the infrastructure in one, and the change to gsx in the other: http://git.ghostscript.com/?p=user/chrisl/ghostpdl.git;a=summary | 15:43.13 |
mvrhel_laptop | good morning | 15:50.13 |
kens | Hi Michael | 15:50.22 |
tor8 | paulgardiner_lap: like I mentioned, it didn't move the file (I can only see the january 20th version in the testflight app... maybe there's something else you have to do on your end?) | 16:13.20 |
| but swallowing save errors is Bad^TM, which was my main point | 16:14.02 |
paulgardiner_lap | tor8: yes. are you now registered on testflight as a member of the team? | 16:14.03 |
tor8 | yes, I should be | 16:14.18 |
paulgardiner_lap | tor8: you should be able to get the latest version now. Sorry about that. | 16:15.48 |
| tor8: the uploaded version doesn't have my last commit, so it attempts to add annotations to other than PDF files | 16:16.23 |
tor8 | paulgardiner: looks like it works now, but saving is *really* slow | 16:19.08 |
| it freezes for upwards of 30 seconds to save | 16:19.17 |
| is there supposed to be tinting buttons for the link/reflow toggles? | 16:20.26 |
| because if so, the tinting doesn't work... | 16:20.40 |
paulgardiner_lap | The slowness to save is odd seeing as we are doing it incrementally | 16:21.57 |
| Not sure about the tinting. The buttons are done differently between iPad and iPhone (to make them fit). | 16:23.39 |
kens | Goodnight all | 16:24.06 |
tor8 | I'm on an iPad, iOS 7 if that helps | 16:24.09 |
paulgardiner_lap | Night Ken | 16:24.16 |
| tor8: probably I haven't attempted to tint them then. It's the iPhone where it would be hardest to do | 16:24.48 |
| ... because I have to allow the OS to tint the icons to match the thems | 16:25.19 |
| theme | 16:25.22 |
| That reminds me, Links are a new feature under iOS. I must remember to mention that when updating the store | 16:30.47 |
tor8 | links, printing and annotation editing are the big three major new features right? | 16:34.39 |
paulgardiner_lap | and reflow | 16:35.31 |
| and less so sharing | 16:35.54 |
| Oh form filling and js support | 16:36.14 |
| with this amazing js engine under the hood! | 16:36.42 |
ray_laptop | chrisl: on the commit for changing the default device list, should the -h print out the list as well as the current default device ? | 16:42.05 |
chrisl | ray_laptop: I don't think so, no. This isn't something the end user has control over | 16:43.18 |
ray_laptop | chrisl: It looks like dwdll.c is still funky: | 16:44.52 |
| + gsdll->set_default_device_list = (PFN_gsapi_set_default_device_list) | 16:44.54 |
| + GetProcAddress(gsdll->hmodule, "gsapi_set_default_device_list"); | 16:44.55 |
| + if (gsdll->set_display_callback == NULL) { | 16:44.57 |
| chrsl: I think the last line should be: if (gsdll->set_default_device_list == NULL) { | 16:44.58 |
chrisl | Ugh, the lack of whitespace there gives me a headache :-( | 16:47.35 |
ray_laptop | chrisl: there is whitespace in my post, but the logs HTML strips it out | 16:48.52 |
chrisl | ray_laptop: I meant in dwdll.c.... | 16:49.14 |
ray_laptop | chrisl: OH. | 16:49.26 |
chrisl | ray_laptop: possibly better now: http://git.ghostscript.com/?p=user/chrisl/ghostpdl.git;a=summary | 16:49.29 |
| Next time I'll offload the DLL parts to a windowsy person...... | 16:51.06 |
ray_laptop | chrisl: LGTM, now | 16:53.15 |
chrisl | ray_laptop: cool, thanks | 16:53.33 |
| ray_laptop: I did find something less than ideal about the gtk display device implementation: unlike the x11 devices, the gtk window takes focus from the terminal window, so you can't just hit carriage return to step through the pages...... | 16:55.36 |
ray_laptop | chrisl: that sounds like a flaw in the gtk implementation. The 'display' device on windows has special handling to send all characters to the text window (if there is one), or to the console stdin using WriteConsoleInput(hStdin, &ir, 1, &dwWritten); | 17:04.09 |
| chrisl: looks like the gtk needs something like that, too | 17:04.39 |
chrisl | ray_laptop: I'll look into it a bit more - there may be a way to handle it.... | 17:04.57 |
ray_laptop | On Windows, the default behaviour is that the 'top' window has focus (and it's tricky to subvert this), so that's why that code is there. | 17:06.03 |
| maybe all gtk needs to do is to bring the window to top, but keep the focus for KB events as the 'console' window | 17:06.58 |
chrisl | I haven't looked at gtk for some time, so I'm not sure how to do that (or if you can). I'll look at it tomorrow | 17:07.34 |
ray_laptop | chrisl: I am *NOT* a gtk person | 17:07.57 |
chrisl | ray_laptop: I haven't used it since the early 2.x days - but I do know their documentation is always several steps behind the actual code | 17:09.10 |
ray_laptop | plus I'm having too much fun trying to make the fast thresholding logic pick up the same pixels as the 'default' handling (yeah, fun, right) | 17:09.19 |
| chrisl: that's a requirement for open source code, right (out of date docs) ;-) | 17:10.00 |
chrisl | ray_laptop: very few people volunteer for documentation! | 17:10.34 |
| Hmm, as my debugger just froze for the second time in quick succession, I'm calling it a night...... | 17:12.31 |
ray_laptop | chrisl: bye | 17:13.06 |
chrisl | bye! | 17:13.57 |
ray_laptop | chrisl_away: for the logs. Maybe gtk_widget_set_can_focus (GtkWidget *widget, gboolean can_focus); with can_focus == false for the image window ? But then things like arrow keys to scoll around won't work | 17:19.38 |
| chrisl_away: (for the logs) The windows display dev specifically keeps "special" keys to scroll and only passes regular characters to the console stdin | 17:21.09 |
henrys | bbiab | 17:32.11 |
mvrhel_laptop | Robin_Watts: quick question for you | 17:40.11 |
| is the mupdf svg output device set up to create a multipage svg file? looking at the code, it does not look like it to me but perhaps I am missing something | 17:42.12 |
tor8 | mvrhel_laptop: svg isn't a multipage format, so I'm not sure I understand what you mean | 17:45.27 |
mvrhel_laptop | oh I thought it was | 17:45.35 |
tor8 | there have been proposals to add multipage elements to it, but they've never made it into the spec | 17:45.46 |
mvrhel_laptop | for some reason I had thought it was somewhat similar in format to xps | 17:46.12 |
tor8 | the upcoming SVG 1.2 spec (which I doubt will ever see the light of day...) has multipage support | 17:47.20 |
| the only thing SVG and XPS have in common are the abbreviated path syntax (oh, and the use of icky icky xml) | 17:47.21 |
mvrhel_laptop | right. | 17:47.32 |
| ok. that makes things easy then | 17:47.38 |
Robin_Watts | mvrhel_laptop: SVG 1.0 was single page only. | 17:58.04 |
mvrhel_laptop | gotcha | 17:58.11 |
Robin_Watts | Then they did lots of work on another version (1.1 maybe?) that was going to add loads of stuff... and it's officially been abandoned. | 17:58.30 |
| so they are (were) working on a saner newer version with fewer kitchen sinks. | 17:58.59 |
| but essentially, no one supports everything from 1.0, let alone 1.1 or 1.2 stuff. | 17:59.47 |
mvrhel_laptop | so who is using svg. I know my son uses it in his scratch projects but that is about all that I ever see of it | 18:00.38 |
Robin_Watts | It's used as an intermediate vector format for passing stuff between non-adobe art apps, I think. | 18:01.25 |
mvrhel_laptop | ok | 18:02.21 |
| which is where he is using it | 18:02.33 |
| i.e. inkscape etc | 18:02.45 |
Robin_Watts | Did anyone try out the new MuPDF android builds? | 18:15.48 |
mvrhel_laptop | I had not. I will try to do that this afternoon | 18:34.29 |
Robin_Watts | Thanks. | 18:35.07 |
mvrhel_laptop | the cat keeps trying to get warm from my cpu fan. I have to watch that she does not sit on it and keep it from doing its job | 18:35.48 |
| sit on the vent that is | 18:36.29 |
Robin_Watts | My parents had an old analogue satellite system years ago. The box used to get quite hot, and was sat on top of the TV. | 18:44.49 |
| The cat would always sleep on it, which meant that every now and then you'd be watching TV and this tail would drop down over the screen... | 18:45.28 |
mvrhel_laptop | :) | 18:52.23 |
ray_laptop | mvrhel: Just run a wire from the 110 power to the vent :-) | 18:57.56 |
| mvrhel: you may have to put rubber grommets on the vent screen mount to keep the whole case from being 'hot' :-) | 18:58.54 |
| mvrhel: and if you set up a video camera right after, you may be able to capture a good cat video for youtube :-) | 18:59.55 |
Robin_Watts | ray_laptop: Your idea has fused his laptop. | 19:10.57 |
jogux | mvrhel_laptop : I think some of the SVG stuff is gaining popularity because the MS .net has good support for it, and it's also built into most recent browsers... | 19:17.44 |
Robin_Watts | jogux: But only some of it. | 19:18.08 |
jogux | nods | 19:18.29 |
mvrhel_laptop | right | 19:19.56 |
| ok lunch time. bbiab | 19:20.03 |
| ok. I think I have the mupdf conversions to various file types working for gsview. need to clean up a couple things | 20:27.59 |
| at some point I guess I need to have someone look over this stuff and of course beat on it. getting up to 8000 lines of code... | 20:28.37 |
| bigger than I thought it would be | 20:29.10 |
| problem was that the feature set grew a bit and all the language interfacing | 20:29.38 |
ray_laptop | mvrhel: I've lost track -- is this gsview cross platform, or just Windows (for now) ? | 20:40.27 |
mvrhel_laptop | just windoze | 20:40.37 |
ray_laptop | mvrhel: OK. | 20:40.49 |
| Forward 1 day (to 2014/04/25)>>> | |