| <<<Back 1 day (to 2017/04/04) | 20170405 |
bencc | any reason why the mupdf version on ubuntu and debian is old? | 11:06.00 |
| it's an awesome lib but a pain to build from source every time | 11:06.17 |
Robin_Watts | bencc: That would be a question best addressed to the distribution packagers on ubuntu and debian. | 11:10.13 |
sebras | ubuntu uses debian as an upstream and the debian maintainer for the mupdf package hasn't updated to 1.10a yet. | 11:10.56 |
| bencc: I happen to know that he is on a trip until mid April so I'd not expect a new version of mupdf in Debian until that point. and how long it takes until Ubuntu updates? no idea. | 11:11.53 |
bencc | sebras: thanks. I'll build from source inside docker for now | 11:12.27 |
| really wish mupdf will get more traction | 11:12.59 |
| it could replace poppler in libreoffice for example | 11:13.11 |
| will give much better results | 11:13.15 |
sebras | bencc: one way for you to get the debian package maintainers attention is to file a bug with the debian project https://www.debian.org/Bugs/Reporting and mention that a later version of the upstream package is available (1.10a has been released and 1.11 is in the release candidate phase at the moment) | 11:13.40 |
bencc | these are the required packages to build on ubuntu? | 11:14.37 |
| libgl1-mesa-dev libxcursor-dev libxrandr-dev libxinerama-dev | 11:14.38 |
| 'apt-get -s build-dep mupdf' gives me many more packages but I'm not sure they are all needed | 11:15.01 |
| sebras: I tried submitting a bug for other package but never got a response | 11:16.01 |
sebras | bencc: I have been submitting a bug report with a patch fixing a bug and getting a response a year later that the patch was included. | 11:17.15 |
bencc | ok | 11:17.48 |
tor8 | bencc: the latest viewer in mupdf uses opengl to render to screen (as it's faster and more responsive than the old ximage based approach) | 11:18.12 |
sebras | bencc: sometimes the maintainers are not so active because they have a lot on their plate. if it irks you enough my only suggestion is that you apply for being a co-maintainer. :) | 11:18.13 |
tor8 | bencc: the command line tools have much smaller dependencies | 11:18.51 |
bencc | tor8: I only need the command line tools | 11:19.05 |
tor8 | but I'm not up to date with how the packagers package things up, I thought they used to have a separate package for the viewer and the tools | 11:19.23 |
sebras | bencc: then the mupdf-tools package ought to be enough for you. | 11:19.27 |
bencc | when I run make && sudo make install do I build both the viewer and the command line tools? | 11:19.30 |
tor8 | bencc: if you don't want the viewers, just add HAVE_X11=no and HAVE_GLFW=no to the make line | 11:19.46 |
bencc | https://mupdf.com/downloads/ | 11:19.53 |
| what deps I need for the command line tools? | 11:20.33 |
tor8 | libc and pthread | 11:21.04 |
bencc | I don't need this? libgl1-mesa-dev libxcursor-dev libxrandr-dev libxinerama-dev | 11:21.24 |
tor8 | bencc: no, you only need those for mupdf-gl | 11:21.45 |
| but to skip building mupdf-gl you need to pass HAVE_GLFW=no to the make command line | 11:22.12 |
sebras | tor8: or mupdf-x11. | 11:22.17 |
bencc1 | libfreetype6 , libjpeg8 ...? | 11:22.23 |
| sorry, got disconnected | 11:22.28 |
tor8 | bencc1: not required, the mupdf source archive ships its own dependencies and we recommend you use the ones shipped with mupdf | 11:22.53 |
| since those versions have been tested to work | 11:22.59 |
| it's all statically linked, so should not conflict with system libraries | 11:23.15 |
bencc1 | great | 11:23.37 |
| do you know what packages on ubuntu gives me libc and pthread? | 11:23.52 |
| libc6 | 11:24.05 |
| probably libpthread-stubs0-dev | 11:27.23 |
| tor8: do I need libc6 or libc6-dev? | 11:29.12 |
jogux | you need the -dev is you want to compile anything | 11:29.31 |
| s/is/if/ | 11:29.36 |
bencc1 | thanks | 11:29.40 |
| this is how I set HAVE_X11=no? | 11:32.34 |
| export HAVE_X11=no && export HAVE_GLFW=no && make | 11:32.35 |
sebras | make HAVE_X11=no HAVE_GLFW=no is a better way to set them I believe. | 11:33.24 |
bencc1 | thanks | 11:34.05 |
bencc | I'm calling 'make HAVE_X11=no HAVE_GLFW=no' | 13:08.56 |
| but getting | 13:09.07 |
| thirdparty/glfw/include/GLFW/glfw3.h:184:21: fatal error: GL/gl.h: No such file or directory | 13:09.08 |
| #include <GL/gl.h> | 13:09.13 |
| do I need the libgl1-mesa-dev package? | 13:09.38 |
tor8 | bencc: that should not be possible. we don't try to build thirdparty/glfw if HAVE_GLFW=no is set. | 13:11.06 |
| which CC line is getting that error? | 13:11.22 |
| bencc: you need to pass them both to 'make' and to 'make install' | 13:11.54 |
bencc | tor8: ok. trying | 13:12.15 |
| yes. it was at the install step | 13:13.55 |
| I'll build again | 13:13.59 |
| https://pastebin.com/uELnDqxU | 13:14.00 |
| will take some time | 13:14.03 |
tor8 | bencc: make -j4 or -j8 (depending on how many cores you have) should speed things up | 13:17.15 |
bencc1 | tor8: make speed is fine. I'm building inside docker. every change require me to start over | 13:24.51 |
| but it seems good now | 13:24.57 |
| I'll test converting pdf to svg | 13:25.01 |
amila | aa | 13:39.00 |
| hi | 13:39.20 |
ghostbot | Welcome to #ghostscript, the channel for Ghostscript and MuPDF. If you have a question, please ask it, don't ask to ask it. Do be prepared to wait for a reply as devs will check the logs and reply when they come on line. | 13:39.20 |
amila | i'm a neo devoloper | 13:39.38 |
jogux | hi amila | 13:43.30 |
amila | I want to develop a rip with ghostscript | 13:44.56 |
kens | For commercial purposes or open source ? | 13:45.22 |
amila | commercial purpose | 13:47.20 |
kens | OK so you know you will need a commercial licence then ? | 13:47.43 |
amila | yes | 13:48.00 |
kens | This doesn't stop you developing your product with the open source version of Ghostscript, I just need you to be aware of this. | 13:48.15 |
| So do you have a question ? | 13:48.26 |
amila | but now i'm want to develop it with opensource ghostscript download from artifex then my boss will buy commercial licence | 13:50.38 |
kens | You can do that, certainly | 13:50.51 |
| But you might want to talk to our sales staff first, in order to avoid any shock over the licence fee. THere's no point in investing your development effort if the licence cost is too high. | 13:51.57 |
Robin_Watts | amila: Sounds interesting. Let us know how you get on. | 13:54.39 |
| As I'm sure you're aware the open source version comes with no warranty or support, but we may be able to help with some (non time consuming) questions on here if our workload permits. | 13:55.30 |
amila | we have already contact artifex | 14:00.25 |
ray_laptop | amila: the one substantive difference with the commercial release of gs is that it includes the Luratech decoders for JBIG2 (probably not that interesting) and JPX (JPEG2000). The latter (JPX) is much faster and lower memory use compared to the openjpeg used with the AGPL version | 14:01.15 |
| of course, you can chose to build with openjpeg if you want, but by default the commercial release sources will build with luratech decoders. Also the luratech provides JPX and JBIG2 image compression options for pdfwrite, but that is not of interest for a RIP | 14:03.23 |
| amila: if there are any details you can share about your intent for you RIP product, please email support @ artifex.com -- we are curious, and may have suggestions for you. GS is quite complex and has lots of options that are hard to dig out of the docs | 14:06.08 |
amila | i had already send our propose to sales @ artifex .com and support @ artifex . com | 14:09.06 |
| on monday 20 march | 14:10.19 |
kens | amila, did you get a reply ? | 14:10.22 |
amila | yes ken sharp reply | 14:10.55 |
kens | Yep, tha'ts me :-) | 14:11.01 |
| Did you get anything from sales ? | 14:11.10 |
amila | and soùcott sackett | 14:11.15 |
kens | Ah OK | 14:11.20 |
amila | scott sackett* | 14:11.39 |
kens | NP, I understood perfectly | 14:11.46 |
| amila did you have a question for us ? | 14:12.14 |
amila | yes i never use ghostscript but i study and work with c and c++ | 14:13.23 |
| i need some manual or guide of ghostscript to understand it's source code | 14:14.41 |
kens | OK. The documentation is supplied in HTMP format in the ghostpdl/doc folder | 14:15.12 |
| HTML* | 14:15.22 |
| The front-end API is demonstrated by the Ghostscript executable which we supply on all platforms | 14:15.49 |
| If you want to create a custom Ghostscript device, in order to drive a pritner or similar, then you will want to have more in-depth discussions with us. This is probably going to be best done by email I suspect. We will first need to know something about the kind of properties of the device (resolution, colour depth, colour model, media capabilities etc, etc) | 14:17.29 |
amila | ghostscript . com/ doc | 14:18.48 |
kens | amila, yes, but if you clone our Git repository, then you should get a local copy of all the documentation as well. | 14:19.11 |
| If you plan to build Ghostscript on Neo, then I think you will need to clone our repository. We don't support Neo right now, so getting it to build might take some time. | 14:20.17 |
Robin_Watts | amila: You said you were a "neo developer". What do you mean by that? Is that a typo? (New developer?) or are you a developer using neo? or a developer OF neo? | 14:21.05 |
amila | neo developer on ghostscript | 14:22.16 |
bencc | do I need a commercial license if I'm using mupdf to convert pdf to svg on the server? | 14:36.32 |
Robin_Watts | bencc: Short answer: You only need a commercial license if you can't comply with the AGPL. | 14:38.04 |
bencc | :) | 14:38.43 |
| if I'm only using it on the server do I comply? | 14:38.55 |
Robin_Watts | The AGPL specifically covers software running on servers. | 14:39.15 |
bencc | if there is no simple answer to such a common use case, I guess I'll use something else | 14:39.44 |
| thanks | 14:39.45 |
Robin_Watts | If you are using a GPL piece of code on a server, you're fine, cos that doesn't count as distribution. | 14:39.49 |
| If you are using AGPL code however, that DOES count as distribution. | 14:40.02 |
| Using mupdf on a server to convert pdf to svg is only a problem under the AGPL if you have other code running as part of that 'service' that isn't covered by the AGPL. | 14:40.28 |
| The easiest way to explain my understanding of it is to use an example. | 14:40.57 |
bencc | I'm calling mupdf from a python script | 14:41.38 |
| as a command line software | 14:41.49 |
Robin_Watts | Suppose company X wants to have a webserver where people can upload documents, to use mupdf to proof them, and then uses other software to go ahead and process them some other way. | 14:42.04 |
| Under the GPL, that would be absolutely fine. | 14:42.19 |
| Under the AGPL, 1) any modifications to MuPDF would have to be released, and 2) all the other parts of the software (like the processing) would need to be released too. | 14:43.14 |
bencc | I'm not modifying MuPDF | 14:43.29 |
| I'm using it from the command line | 14:43.42 |
Robin_Watts | The GPL says "if you build something using a GPL piece of code, and you give it to someone, then they have the right to the source code so they can make changes". | 14:44.12 |
| The AGPL says "if you build something using an AGPL piece of code, even if that thing is a "service" running on a server, and you give someone access to it, they they have the rights to the source code for the whole lot, so they can make their own version with some changes in" | 14:45.06 |
| Do you see the difference? | 14:45.11 |
bencc | ok. can't use MuPDF | 14:45.26 |
| thanks :) | 14:45.27 |
Robin_Watts | (I am not a lawyer, all this is just my understanding, you should take legal advice etc) | 14:45.34 |
tor8 | bencc: you can. just release the source to your service. | 14:45.35 |
Robin_Watts | bencc: FYI: Ghostscript is under the same license as MuPDF. | 14:46.38 |
| If you are building a commercial service, then we can do you a commercial license that solves all these problems. | 14:47.09 |
bencc | thanks | 14:49.25 |
amila | ok | 15:08.58 |
| ken the resolution of device are 360x600 , 360x1200, 360x1800, 540x600, 540x1200, 720x1200 and 1440x1200 | 15:10.48 |
| color depth 8 or 16 bit | 15:11.16 |
| color model in input rgb , cmyk , multichannel and spot color in output device color cmykcmyk | 15:12.30 |
| media capability 42 or 64 inch | 15:13.08 |
kens | Wow, big pages, and composite colour too, that's going to mean generating a lot fo data at the higher resolutions | 15:13.42 |
amila | yes | 15:15.39 |
| I'm here for develop this project, I don't have a time limit | 15:23.37 |
kens | OK well when you have questions, we will try our best to answer them for you | 15:24.30 |
Robin_Watts | So, worst case, you want 8 channels of output at 16bpp at 1440x1200 ? | 15:29.03 |
| oh, no, spot color too. | 15:29.11 |
kens | No spot coour was input | 15:29.21 |
| Really the input model isn't important, its what is suppoerted by the language, just the output colour model is important | 15:30.03 |
Robin_Watts | ah, right, so 128bit per pixel output effectively. | 15:30.07 |
kens | I'm not sure I understand an output colour model of cmykcmyk, unless the second cmyk are 'light' versions or something, which makes this a DeviceN outptu model | 15:30.37 |
amila | in future we want continue to update in output spot color | 15:31.11 |
| but now only this | 15:31.22 |
Robin_Watts | kens: I was assuming CMYKcmyk (dark and light, yes) | 15:31.48 |
amila | device color | 15:32.03 |
kens | THat will definitely require a cusotm device to generate the light inks from the regular CMYK | 15:32.12 |
Robin_Watts | kens: Or the device produces contone CMYK and then they post process to halftone in the 8 inks? | 15:33.08 |
kens | thinks this is probably something Ray shold be involved in rather than me | 15:33.10 |
| Robin_Watts : I was assuming composite output, since its 8 or 16 bits | 15:33.31 |
ray_laptop | in order to get CMYKcmyk out, the OutputICCProfile would have to have the 8 components | 15:38.22 |
Robin_Watts | ray_laptop: Doing the splitting by profile would not allow for halftoning, which I suspect you'd need, right? | 15:39.04 |
kens | Why would halftoning not work ? If the ICC profile is a 4 in 8 out profile, then we'd generate 8 planes of data from the input. | 15:40.31 |
Robin_Watts | amila: Is the "color depth: 8 or 16 bit" for input or output ? | 15:40.51 |
ray_laptop | I thought what was mentioned above was 8 bit or 16 bit -- where does halftoning come in ? | 15:41.15 |
Robin_Watts | ray_laptop: That was me getting confused I think. | 15:41.33 |
kens | There's some confusion (not just RObin) there | 15:41.43 |
| Its not clear exactly what the outpt model is | 15:41.56 |
Robin_Watts | I find it hard to believe in an output device that requires 16bits per channel color depth and mixes 8 inks. | 15:42.51 |
ray_laptop | amila: is the output 8 components CMYK + cmyk (light cmyk) ? | 15:43.06 |
kens | Could be halftoned seperately, some people have their own screening solutions | 15:43.17 |
ray_laptop | amila: or is the output also spot color ? | 15:44.06 |
Robin_Watts | kens: and if such halftoning is applied, I would think that the separation from 4 to 8 inks would be part of that, surely? | 15:44.41 |
| Cos C is not independent of c. | 15:44.51 |
kens | Robin_Watts : maybe, maybe not, I've seen it done both ways in the past | 15:45.05 |
Robin_Watts | fair enough. | 15:45.14 |
kens | Mind you I've also seen some screening 'solutions' that were just plain crazy.... | 15:45.55 |
ray_laptop | Robin_Watts: you are right that usually you don't add c to a pixel that has C | 15:46.27 |
amila | now we have 2 print head where we can use cmyk 2 times or cmyk + 4 other color | 15:47.06 |
kens | amila so is the first CMUCMYK the same ink as hte second CMYK, or is one set of CMYK inks different from the second set (eg light inks) ? | 15:47.59 |
ray_laptop | amila: is cmyk two times for performance, or are they different inks (one less saturated than the other) ? | 15:48.01 |
| kens: we had (more or less) the same question :-) | 15:48.41 |
kens | yeah, but I typed mine badly as usual | 15:48.52 |
amila | CMYKCMYK with same ink or CMYK + 4 other color | 15:49.09 |
kens | Ah OK | 15:49.23 |
| So we dopn't need to worry about strange coour models | 15:49.35 |
| Its CMYK or CMYK+spots form our point of view. | 15:49.48 |
ray_laptop | amila: so why have CMYKCMYK (same inks) -- is it for performance ? | 15:49.50 |
amila | 2 device | 15:50.24 |
ray_laptop | amila: I don't understand what "2 device" means, or how it relates to the CMYKCMYK question, sorry | 15:53.06 |
amila | one had 2 print head in series and the other one not in series | 15:53.41 |
| we had 2 same printer | 15:54.02 |
| but with different print head | 15:54.51 |
Robin_Watts | amila: If this is an inkjet then presumably each nozzle is either on or off. Or can you alter the drop size too ? | 15:55.58 |
amila | we can setting the drop size | 16:01.50 |
Robin_Watts | To how many sizes? | 16:02.33 |
amila | color depth 8 or 16 bit in out put | 16:02.48 |
kens | OK so output from Ghostscript si not halftone screened, its 8 or 16 bits per channel | 16:03.25 |
amila | for now we had 3 setting but i don't know tha dimention | 16:03.38 |
| yes ken | 16:03.52 |
Robin_Watts | If you can only set the drop size to one of 3 settings, why do you need 16 bits per channel? | 16:04.19 |
| 3 drop sizes + off = 4 settings = 2 bits. 8 channels * 2 bits = 16bits. | 16:04.52 |
amila | which is the correct setting for the best result? | 16:07.21 |
kens | I have to head off for the night now. Goodnight everyone, I hope the conversation works out well | 16:07.31 |
ray_laptop | amila: Ghostscript can provide 16 bits per colorant for up to 64 colorants | 16:08.02 |
Robin_Watts | amila: We can produce the results in whatever format you want. I am trying to understand what format you want for your printer. | 16:08.13 |
| It's sounding to me that you want 2 bits of output for each nozzle. With 4 or 8 nozzles that's either 8 or 16 bits per *pixel* in the output. | 16:09.09 |
| But not 8 or 16 bits per *channel*. | 16:09.24 |
ray_laptop | amila: do you need 16 bits per color, or 2 bits per color (8 colors max) ? | 16:09.27 |
Robin_Watts | Is that right? | 16:09.28 |
amila | 16bit per pixel | 16:10.22 |
ray_laptop | amila: so 2 bits per color, correct? | 16:10.59 |
amila | yes | 16:11.13 |
Robin_Watts | great. | 16:11.41 |
ray_laptop | amila: OK. Thanks. Sorry for the confusion | 16:11.42 |
| amila: so Ghostscript will be halftoning to 2 bits per color, right ? | 16:12.14 |
amila | yes | 16:14.34 |
ray_laptop | amila: we have several halftoning approaches possible -- traditional ordered screen (growing dots in a grid with the grid at an angle), but inkjet usually prefers "stochastic" dispersed single dots or error diffusion | 16:14.49 |
| the ordered dither screen is usually for printing processes that want the dots to be clustered (such as laser or traditional printing presses) | 16:16.03 |
amila | we want to set the rip for all type | 16:16.25 |
ray_laptop | amila: OK. Ghostscript can do any of the methods: ordered traditional screen, stochastic from threshold array (blue noise mask), or error diffusion | 16:17.46 |
amila | now i must go because the factory is going to close | 16:18.10 |
| can we continue tomorrow morning?? | 16:18.42 |
ray_laptop | amila: have a good night and thanks for the discussion | 16:18.51 |
| amila: and tomorrow morning is fine. Ken and Robin are in the UK timezone. I am in California, so it is morning for me now (9:20am) | 16:19.33 |
amila | for us its 6.30 pm | 16:20.53 |
| see you | 16:21.07 |
| bye | 16:21.15 |
Robin_Watts | amila: Sure. We'll be here tomorrow (just an hour after you :) ) | 16:21.17 |
| bye | 16:21.22 |
| Forward 1 day (to 2017/04/06)>>> | |