| <<<Back 1 day (to 2016/01/03) | 20160104 |
sebras | draeath: it is fine to ask anything about gs/mupdf here. | 00:01.11 |
| draeath: the only problem is that the developers are usually active during eu/us business hours during weekdays, so you'd probably have to wait for a few hours to get an answer. or return at a later time of course. just so you are aware that you might have to wait abit. | 00:02.21 |
draeath | I figured. It's also a bad time of year - the weekend immediately after new years :) Not many are going to be "working" :) | 00:03.05 |
| I'll swing by later if I don't find an answer... it's not a big deal | 00:03.18 |
simon91 | tor8: Robin_Watts: Hi, just uploaded a fast replacement for the floating point formatting code in fz_ftoa: | 09:09.51 |
| http://bugs.ghostscript.com/show_bug.cgi?id=696491 | 09:09.51 |
| I use the Grisu2 algorithm from "Printing Floating-Point Numbers Quickly and Accurately with Integers" by Florian Loitsch. It does not loose precision while minimizing the number of decimal digits. | 09:09.52 |
| tor8: Robin_Watts: and it needs no libc support at all. Only integer arithmetic. | 09:10.43 |
Robin_Watts | simon91: Sounds great. Will look in a bit. | 10:05.14 |
equilibrium | hello | 10:13.15 |
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. | 10:13.15 |
simon91 | Robin_Watts: I tested it by running all of the 2^31 positive floats (and some negative) through fz_snprintf and checked that calling strtof on the output produces the original number. I've attached it to the report. Takes about 22min to run on my machine. | 10:13.36 |
tor8 | Robin_Watts: simon91: I'm looking at your patch now. | 10:14.08 |
equilibrium | i have a web application asp.net c# web forms and try to apply ghostscript to convert a pdf to images but i cannot find the dll files. when i install it on my machine and take them from the installation folder number of errorrs occured | 10:15.00 |
| is there any web forms c# project available to use it as an example | 10:16.04 |
| i have this but not help me http://www.cyotek.com/blog/convert-a-pdf-into-a-series-of-images-using-csharp-and-ghostscript | 10:17.00 |
simon91 | tor8: most of it is derived from Loitsch's MIT-licensed reference implementation, which implements the double case. To adapt it to single precision mostly I just had to change preprocessor constants. | 10:24.01 |
tor8 | simon91: looking good. I might take his original double implementation and use it for mujs. | 10:24.50 |
simon91 | bbl | 10:31.46 |
norbertj | Hi Robin_Watts, best wishes for the new year. A question: I have a new PC, do I have to update my keys (mac-address) to have access to Caspar? | 11:10.58 |
Robin_Watts | norbertj: Happy New Year. | 11:11.53 |
| Nope, keys don't include mac address details. | 11:12.09 |
| The same keys should work just fine on the new PC. | 11:12.32 |
| But the first time you connect to casper from the new PC, it will ask "Is this really the host you're expecting?" (or something like that). And you need to answer 'yes' to get connected. | 11:13.16 |
norbertj | Robin_Watts: then I'm a bit puzzled why I can't access the git repository for ghostpdl. I get a: Permission denied (publickey). | 11:13.18 |
| Robin_Watts: did that. | 11:13.36 |
Robin_Watts | norbertj: From windows? | 11:13.38 |
norbertj | Robin_Watts: yes, win10 | 11:13.51 |
Robin_Watts | When you connected to casper successfully from that machine, was it using putty? | 11:14.33 |
norbertj | Robin_Watts: with Putty , I can connect. But with the from within the git-bash with 'git pull' I get the error. | 11:17.25 |
Robin_Watts | norbertj: Right. | 11:17.32 |
| Have you set GIT_SSH to be plink.exe ? | 11:17.46 |
norbertj | Robin_Watts: probably not. Will try that. | 11:18.09 |
Robin_Watts | putty and plink share the same core - they get their keys from the same place. | 11:18.12 |
| Without setting GIT_SSH to plink, it'll use the msys ssh command, which gets it's keys from somewhere else | 11:18.34 |
norbertj | Robin_Watts: I''ll make me a Readme on this so I won't forget the next time I get a new pc ;) | 11:19.33 |
Robin_Watts | norbertj: no worries. | 11:23.49 |
| I should write a twiki page on setup really. | 11:24.02 |
norbertj | Robin_Watts: thanks for the help. | 11:24.16 |
mvrhel_laptop | Robin_Watts: so it looks like you fixed the && || expressions | 15:45.54 |
| sorry I did not get a chance to get to that | 15:46.03 |
| This clist bug with the alphabits/clist/soft mask is chewing up all my time | 15:46.26 |
Robin_Watts | mvrhel_laptop: I did a commit that made the bracketing explicit. | 15:46.45 |
| But I reckon that expression needs some TLC anyway. | 15:47.12 |
mvrhel_laptop | ok. but I suppose I could go back and see what exactly the reasoning was and at min add a comment | 15:47.26 |
Robin_Watts | (at the very least, a competent engineer should be able to understand the expression) | 15:47.34 |
mvrhel_laptop | if not rewrite | 15:47.35 |
| ok. | 15:47.40 |
Robin_Watts | yeah, that'd be great. | 15:47.42 |
HenryStiles | just sayin, commenting won't fix that. The expression should be rewritten | 16:02.37 |
Robin_Watts | mvrhel_laptop: I also did a commit that messes with the gscms stuff to make it return errors in all cases . Various errors were being ignored. | 16:05.44 |
| If you want to cast your eye over that and swear at me, I'll understand. | 16:05.58 |
| and similarly for xps (possibly that's tor that will be swearing at me) | 16:09.12 |
mvrhel_laptop | HenryStiles: understood | 16:12.23 |
| Robin_Watts: yes I saw that. thanks | 16:12.29 |
Robin_Watts | mvrhel_laptop: Quick question, as a fellow MSVC user. | 16:17.37 |
mvrhel_laptop | ok | 16:18.04 |
tor8 | Robin_Watts: @#$%^! | 16:18.06 |
Robin_Watts | I have this memory that I always used to be able to click the warnings/error lines in the make output, and it would jump me to the scene of the accident in the editor. | 16:18.33 |
| With the latest version of the vc projects, this doesn't seem to work. | 16:18.43 |
| Was I dreaming that? Or is this just my new machine? Does it work for you? | 16:18.58 |
mvrhel_laptop | are you in the output window? | 16:19.01 |
Robin_Watts | yeah. | 16:19.05 |
mvrhel_laptop | that does work for me | 16:19.12 |
| let me double check though | 16:19.23 |
Robin_Watts | With the checked in project, or your own one? | 16:19.29 |
| in what version of vs? | 16:19.36 |
mvrhel_laptop | let me try with gs | 16:19.38 |
| 2013 | 16:19.42 |
Robin_Watts | Right. I'm using 2005. | 16:19.51 |
tor8 | Robin_Watts: works for me with VS2005 in a WinXP virtual box | 16:21.51 |
| on the mupdf project at least | 16:21.59 |
Robin_Watts | tor8: yeah, mupdf project is a real VS one. | 16:22.12 |
mvrhel_laptop | weird it is not working for me on gs | 16:22.43 |
Robin_Watts | I'm wondering if something changed in the latest version of the gs one that has stopped it working. | 16:22.44 |
tor8 | I suspect the source file paths must be relative to some specific location for it to work | 16:22.44 |
Robin_Watts | mvrhel_laptop: OK, so it's not just me then, thanks. | 16:23.00 |
tor8 | so if make is invoked from another path or recursively, it'll break | 16:23.07 |
Robin_Watts | The old version always used to do: cd ..\main && nmake -f pcl6_msvc for the PCL build, and that worked OK. The new version looks to do the same kinda thing. | 16:37.59 |
| I may need to check an old version out,. | 16:38.08 |
| mvrhel_laptop: sanity check if I may. In gdevp14.c line 1927, we set const byte bg to either 0 or gx_max_color_value. | 17:30.25 |
mvrhel_laptop | hold on | 17:30.41 |
Robin_Watts | gx_max_color_value varies depending on gx_color_value_bits | 17:30.54 |
| so a byte may not be enough. | 17:31.07 |
| I'm thinking it should be 255 or 0. | 17:32.02 |
mvrhel_laptop | yes like in pdf14_put_image | 17:33.43 |
Robin_Watts | Thanks. | 17:33.56 |
mvrhel_laptop | pdf14_custom_put_image has the same issue | 17:34.21 |
Robin_Watts | yup, got that. | 17:34.39 |
mvrhel_laptop | I am getting mad. I made a simple change to this softmask file so I could see better where things are getting drawn in the softmask and now it errors out with gs with an error reading content stream. Mupdf and AR both are happy with the file | 17:36.29 |
Robin_Watts | heisenbug. | 17:36.53 |
| Is this the file that I'd shrunk already? | 17:37.04 |
mvrhel_laptop | yes | 17:37.07 |
| I wanted it to draw with a 0.5k | 17:37.20 |
| instead of the 0 | 17:37.25 |
| in the mask | 17:37.30 |
Robin_Watts | The only thing I didn't do with that file, was try to shrink the actual mask image. | 17:38.10 |
mvrhel_laptop | there is no image | 17:38.18 |
Robin_Watts | hmm. maybe I'm thinking of the wrong one then. | 17:38.29 |
mvrhel_laptop | its a graphic drawing for the soft mask | 17:38.30 |
Robin_Watts | which file ? | 17:38.32 |
| which bug number ,sorry. | 17:38.52 |
| (day 2 of the new year, and I'm incoherent already) | 17:39.02 |
mvrhel_laptop | Bug 696364 | 17:39.06 |
| me too | 17:39.09 |
chrisl | You almost certainly have to be a lot more careful preserving offsets with gs than mupdf or aR | 17:39.14 |
mvrhel_laptop | I was careful to offset it. And just to be sure I rewrote the file with mupdf | 17:39.38 |
chrisl | Hmm, strange | 17:40.15 |
Robin_Watts | yeah, I cleaned the file with mupdf before uploading it to the bug. | 17:40.50 |
mvrhel_laptop | If I throw this one to the bug could you take a quick look to see any obvious issues | 17:41.23 |
Robin_Watts | Where does it write 0 ? | 17:41.55 |
| ick, I left an EMC in there. | 17:42.28 |
mvrhel_laptop | oh well the k value is 0 during the path fill in the mask | 17:42.31 |
Robin_Watts | right. | 17:42.42 |
mvrhel_laptop | It is never really set | 17:42.45 |
| so I added a 0.5 k | 17:42.52 |
Robin_Watts | and setting it to 0.5 stops the problem? | 17:43.02 |
mvrhel_laptop | no | 17:43.10 |
| it is more complicated than that | 17:43.28 |
Robin_Watts | 0.5 k ? | 17:43.34 |
| 0.5 g, surely ? | 17:43.40 |
mvrhel_laptop | the problem is more complicated | 17:43.44 |
Robin_Watts | or 0 0 0 0.5 k | 17:43.47 |
mvrhel_laptop | oh | 17:43.56 |
| duh | 17:44.15 |
| jesus | 17:44.17 |
Robin_Watts | Oh, really gcc, you are just trying to piss me off. | 17:45.18 |
mvrhel_laptop | sorry about that. I did not even drink anything over the holiday | 17:45.23 |
| just normal dementia | 17:45.31 |
Robin_Watts | mvrhel_laptop: No worries. kinda thing happens to me all the time. | 17:45.43 |
| gcc whinges that a param is unused. | 17:45.56 |
| so I add an: "n = n;" to shut it up. | 17:46.07 |
| Then a different version of gcc says "Hey, you're assigning a variable to itself!" | 17:46.27 |
chrisl | Surely you'd use "(void)param" when it's unused | 17:46.44 |
HenryStiles | mvrhel_laptop: that's where you went wrong sober with the relatives is not the way to roll... | 17:46.55 |
mvrhel_laptop | :) | 17:47.10 |
| I will be back in a bit | 17:47.14 |
Robin_Watts | chrisl: Ah. I'll try that. ta. | 17:47.17 |
chrisl | It has to go after the variable declarations | 17:47.52 |
HenryStiles | chrisl: urw is trying to peddle mm fonts for some reason, I take it we'd like to steer clear of that for now. | 17:48.34 |
malc_ | Robin_Watts: #define UNUSED_ATTR __attribute__ ((unused)) int UNUSED_ATTR moo; | 17:48.41 |
Robin_Watts | malc_: Which is simply awesome if you're only using gcc or maybe clang, but fails entirely to help with the range of compilers we have to cope wtith. | 17:49.34 |
chrisl | HenryStiles: I can't see we need them unless they're *really* cheap! | 17:50.47 |
malc_ | Robin_Watts: that's why it's a macro | 17:51.50 |
chrisl | What's wrong with the "(void)" style - which is fairly standard.... | 17:53.14 |
| We could add an "GS_UNUSED()" macro | 17:54.58 |
Robin_Watts | I shall use the (void)blah; | 17:59.03 |
| I already use (void)blah(...); to indicate that the return value from blah() is deliberately ignored. | 17:59.37 |
HenryStiles | urw's last status report included a link to the this video from 2014 which I hadn't seen before, it won't be educational to anyone on the staff knowledgeable about fonts, but nice to attach faces to these guys. https://www.youtube.com/watch?v=Sadx3J7ybXw | 18:07.03 |
mvrhel_laptop | we need a film like that for artifex | 18:13.30 |
| bunch of guys sitting in their bathrobes at home at their computers | 18:13.47 |
| neat video though. thanks for pointing it out HenryStiles | 18:15.37 |
Robin_Watts | mvrhel_laptop: Hey, be fair. | 18:16.55 |
| Henry stands in his bathrobe. | 18:17.01 |
mvrhel_laptop | :) | 18:17.05 |
malc_ | they should have interviewed Spikerman who would tell them how everyone else sucks | 18:17.22 |
Robin_Watts | Apparently they invented rasterisation. | 18:17.53 |
HenryStiles | Robin_Watts: yeah there was an odd claim or 2 in that... | 18:18.22 |
chrisl | With claims like that, they'll fit right in with their new overlords....... | 18:21.25 |
Robin_Watts | chrisl: You still here? | 19:13.29 |
| gx_ttfReader__default_get_metrics in gxttfb.c line 216... That whole if looks redundant to me. | 19:14.04 |
HenryStiles | Robin_Watts: some of the carlito fonts from the open font library are suffixed with a '2' ie. resources/fonts/openfontlibrary/carlito/Carlito-Bold2.ttf. What does that mean? | 19:14.24 |
Robin_Watts | HenryStiles: Urm... | 19:14.55 |
| The commit message sheds some light, maybe. | 19:15.56 |
| The design size of the original font is 1000. | 19:16.12 |
| The MS fonts use 2048. | 19:16.20 |
| We want to exactly match metrics for kerning etc, so the extra scale would make that hard. | 19:16.36 |
| I therefore scaled the design size of the fonts to be 2048. Presumably that's the '2' versions. | 19:16.56 |
HenryStiles | so we use that font and not the original in the release? | 19:17.12 |
Robin_Watts | Then we have a script that forces the metrics and strips the unused tables out to give the .ef1's. | 19:17.31 |
| And that's what we use in the release. | 19:17.35 |
HenryStiles | right | 19:17.39 |
| you used 2048 for caladea.... sorry I should have check the commit msg | 19:18.09 |
mvrhel_laptop | ok. I now understand from a graphics dimensions what is getting drawn where for this file. There is a soft mask that has some graphics drawn. With alphabits on, we do a copy alpha into the clist for the graphics that are drawn in the softmask. That is the case where we write out with a color that is gray. Later we do another graphic through the softmask and in that case the copy alpha... | 19:21.49 |
| ...is out with the native device color (e.g. 32bit). The problem is that during clist playback, the copy alpha with the 8 bits is NOT in the bands that have the soft mask! It appears that we are NOT doing the softmask push in the band range that we should be doing | 19:21.51 |
| we only write the softmask out to bands 11 and 12 but from the bbox of the mask it seems it should be from 10 to 13 | 19:22.45 |
| aha! I see that there is a group pushed before the mask that is limited to 11 and 12 on the band | 19:25.56 |
| that is why the mask gets limited | 19:26.02 |
| this group is coming internally from gs not from the source file | 19:26.20 |
| so likely that is the issue | 19:26.25 |
| ok. so it appears that we have some graphics that are going to be drawn through a softmask. The bbox of these graphics is setting the size of the trans group. Unfortunately, the trans group is limiting the size of the softmask (which is larger than the graphics area) and the softmask happens to have graphics that are drawn outside the bbox of the other graphics | 19:33.39 |
| so I would expect the copy alpha into the soft mask to have gotten clipped in this case. | 19:34.37 |
mlq | Hi! Can someone tell me why pix->n is incremented by 1 in fz_new_pixmap_with_data if a colorspace is given? I am trying to render to an ARGB32 surface and pass the cairo surface data as the data buffer, but it will crash caused by invalid writes | 19:59.54 |
mvrhel_laptop | ok. done with 696354. going to lunch now. next up I will work on that terrible && || test | 20:35.13 |
Robin_Watts | mlq: so for a colorspace like rgb, rgb->n = 3 | 20:59.02 |
| but a pixmap for colorspace rgb will be n = 4, cos there is r+g+b+a | 20:59.21 |
| mvrhel_laptop: Nice one. That sounds horrible. I'm so glad I handed it off. I'd never have solved it. | 20:59.46 |
mlq | Robin_Watts: So if I want to render to an RBGA surface I would need to define my colorspace with 3 components even if there is alpha as well? What I am trying to achieve is to render annotations without a background, my idea was to create a new colorspace with 4 components and to set the transparency during the color conversion functions | 21:06.21 |
| Seems to work, thank you! | 21:18.15 |
Robin_Watts | mlq: Fab. | 21:21.15 |
| Forward 1 day (to 2016/01/05)>>> | |