| <<<Back 1 day (to 2014/04/30) | 2014/05/01 |
kens | I think the clustre just popped its clogs | 09:06.31 |
Robin_Watts | howso? | 09:25.22 |
kens | Not sure, I got *lots* of timeouts, for a change that should have ha dno real effect. | 09:25.41 |
| I've reverted it and trying again | 09:25.49 |
| THenI'll put it back again and see | 09:26.21 |
| And the exact same change (I copied the file before reverting) works just fine this time, must have been some kind of glitch | 09:49.04 |
Robin_Watts | maybe casper lost net connectivity for a while. | 09:49.27 |
kens | I guess it could be something like that, I'm certainly not going to worry abou it | 09:49.45 |
tor8 | Robin_Watts: ping | 11:04.02 |
| there's a commit on tor/master that makes radial shadings use an adaptive number of segments | 11:05.12 |
| and it also fixes the occasional pixel leaks by making the angle calculations use reproducible maths (a * i + a != a * (i+1)) | 11:06.01 |
| you can look at my bmpcmp page for the diffs | 11:06.51 |
| tests_private/xps/sumatra/freetype_leak.xps shows the main issue with it -- when adjoining shadings get a different number of segments, we get cracks | 11:08.20 |
| one thought would be to expand the outer radius and shrink the inner radius so that the middle of the line segments lies on the true radius rather than being slightly short of it | 11:09.10 |
kens | tor 060_shading_x1a.pdf looks bad in the candidate, the shading is less circular, more octagonal | 11:20.08 |
| That's teh 72 dpi one though | 11:20.25 |
Robin_Watts | tor8: looking. | 11:21.34 |
kens | lunches | 11:24.59 |
Robin_Watts | I got to page 4 before I got bored. results look good (apart possibly from the one ken highlighted) | 11:26.47 |
| some definite progressions. | 11:26.52 |
| One way to solve the cracks between adjoining segments... | 11:28.25 |
| Allow an annulus to have a differing number of inner/outer steps. | 11:28.39 |
| That way the annuli would always agree on the inner/outer edges. | 11:30.00 |
| Do you see what I mean? | 11:30.04 |
| We could avoid the a = (i-1) * step calculation in your code by doing a = 0 outside the loop and a = b at the end of the loop. | 11:33.42 |
| (moving float a into the wider scope obviously) | 11:34.03 |
| otherwise, looks good. | 11:36.54 |
tor8 | kens: which page is that one on? | 11:42.06 |
| kens: ah yes, I see what you mean | 11:43.06 |
sebras | tor8: so it wasn't a 10min hack. well, we started it at least. :) | 11:46.03 |
Robin_Watts | tor8: for future reference... the last page of a bmpcmp contains an index now. | 11:47.32 |
tor8 | sebras: the issue ken spotted is a problem with how we estimate the number of segments required | 11:49.30 |
| the cracks between adjacent shadings happens pretty much exclusively with xps test files, so I'm not super inclined to bother | 11:50.16 |
| given all the other progressions we get | 11:50.21 |
sebras | tor8: why are only xps files affected? | 11:52.35 |
Robin_Watts | tor8: I think that can be fixed by using different numbers of inner and outer segments. | 11:54.45 |
| I might try that when smart office drives me utterly potty :) | 11:55.01 |
| but what you have looks good and is a decent step forwards. | 11:55.11 |
| http://stilldrinking.org/programming-sucks | 11:57.59 |
tor8 | Robin_Watts: yeah. if I use 4 * sqrt(radius) I get a much better approximation of the number of line segments needed | 11:59.24 |
sebras | tor8: btw, isn't int segments a better argument name than int count? | 12:00.01 |
tor8 | Robin_Watts: yeah, that would also be good, but might be very tricky to implement | 12:01.42 |
| sebras: count is the number of segments / 2 | 12:02.01 |
| calling it 'segments' would be somewhat misleading | 12:02.17 |
sebras | Robin_Watts: the initial at the first line of text in that article is... interesting. I was surprised to discover that you can actually highlight it and copy it. | 12:02.57 |
tor8 | Robin_Watts: revised commit on tor/master (with new segment approximation and a=b at the loop) | 12:03.01 |
sebras | that was also the only way I managed to read the first word... | 12:03.10 |
| tor8: ok. | 12:03.22 |
tor8 | Robin_Watts: you've been spending too much time with SOT ;) (re programming-sucks) | 12:05.58 |
kens | Hmm sounds like this guy has presonal experience of Ghostscript | 12:07.36 |
Robin_Watts | MuPDF is a (comparative) snowflake :) | 12:10.40 |
sebras | I can't find the cat. | 12:11.09 |
kens | suspects GS has something more akin to tigers | 12:11.30 |
| Larger quantities at any rate | 12:11.40 |
| The suspension bridge metaphor is particularly apt here | 12:11.57 |
sebras | well, didn't that article make us all feel happier, now..? ;) | 12:15.57 |
kens | Back to the urine now.... | 12:16.21 |
| Sadly I htink in this case, its my own :( | 12:16.35 |
tor8 | sebras: because xps radial shadings have multiple gradient stops, and I make one shading for each section | 12:16.39 |
sebras | kens: you mean mountain dew..? | 12:16.44 |
kens | dislike Mountain Dew | 12:16.54 |
sebras | tor8: ok, so xps radial shadings aren't necessarily linear? | 12:17.24 |
Robin_Watts | loves mountain dew, but the diet stuff doesn't taste right in the UK, and it's really hard to get. | 12:17.54 |
tor8 | sebras: I could make xps gradients use a function rather than split them into multiple segments using raw colors | 12:19.33 |
sebras | tor8: right, to me that makes more intuitive sense. | 12:21.31 |
tor8 | sebras: actually, we do what I said we do... :/ | 12:22.40 |
| so the shadings with cracks in xps must be a repeating/tiling gradient | 12:22.58 |
Robin_Watts | I thought the problem with the gaps was where we had nested annuli | 12:26.05 |
tor8 | Robin_Watts: that's what ends up happening when the xps code repeats a tiling radial gradient | 12:26.34 |
Robin_Watts | and the outer ones are calculated to need X segments, but the inner ones are calculated to need Y segments (where Y < X) | 12:26.44 |
| tor8: right. | 12:26.52 |
tor8 | yes. that's exactly it :) | 12:26.57 |
Robin_Watts | And that would be solved by making fz_paint_annulus take an inner and outer count. | 12:27.17 |
tor8 | if we can do what you suggested and draw with different inner and outer number of segments, everything would fit together perfectly | 12:27.32 |
| alternatively we could try computing the right amount to nudge the outer radius to make sure we cover the entire circle | 12:28.42 |
| but my math brain is not working at the moment :( | 12:28.57 |
Robin_Watts | tor8: right. I am attracted to the 'perfectly' solution (snowflake!) | 12:29.09 |
| It only occurred to me as a possibility when I looked at your code. | 12:29.24 |
| We draw the annuli using triangles. | 12:30.32 |
| Every triangle is made up by extending the previous set of triangles by joining the leading edge to the 'next' edge point. | 12:31.20 |
tor8 | I think it should not be too difficult to draw the annuli using triangles instead of regular quads, and use the current angle of the inner/outer segment counter to decide which way to triangulate (the point of the triangle on the inner or outer circle) | 12:31.32 |
| if outer segment is leading, advance inner segment; else advance outer segment | 12:32.05 |
Robin_Watts | When we have the same number of inner/outer points, we alternate inner/outer points as 'next' ones. | 12:32.09 |
| but where they differ... as you say. | 12:32.16 |
tor8 | and add a triangle to join up | 12:32.17 |
Robin_Watts | It's a simple bresenham to say whether to use inner/outer next. | 12:32.46 |
henrys | kens, Robin_Watts my search toolbar has been hijacked by conduit. What do you guys use for getting rid of this windows crap? I read adwcleaner is good but I thought I'd check with you. | 14:44.39 |
kens2 | Umm normally I just don't let crapware install..... | 14:44.58 |
Robin_Watts | I run Sophos antivirus locally. | 14:45.09 |
kens2 | If its a virus, I'm currently using Avast | 14:45.13 |
Robin_Watts | I also have Windows defender. | 14:45.22 |
kens2 | I use defender also | 14:45.45 |
Robin_Watts | When I worry something might have slipped through I run trend micro housecall. | 14:45.46 |
| but, like ken, I try and avoid ever allowing search toolbars through. | 14:46.18 |
| it always amazes me when I use someone elses PC and there are 8 different browser toolbars running, all eating into the tiny screen space. | 14:46.46 |
kens2 | http://malwaretips.com/blogs/remove-conduit-apps-search-and-toolbar/ | 14:46.53 |
ray_laptop | STOOPID Skype update installed bing because I missed turning off the little checkbox when updating Skype. Damn Microsoft ! | 14:47.04 |
| took me about an hour to clean it out of everywhere | 14:47.21 |
Robin_Watts | malware bytes is one of the best anti malware things out there. | 14:47.43 |
| https://www.malwarebytes.org/ | 14:47.59 |
ray_laptop | My son got the conduit toolbar. That was quicker | 14:48.11 |
henrys | Robin_Watts: no my omnibox in chrome somehow got set to "Conduit Search" | 14:48.12 |
ray_laptop | I agree that malwarebytes is good | 14:48.25 |
Robin_Watts | henrys: Yeah, you've probably got that as a side effect of an installation. | 14:48.55 |
kens2 | I think it resets the home page as part of its behaviour, tj | 14:49.13 |
| these things usually do | 14:49.20 |
pedro | they'll often install as a component and can be uninstalled via control panel->add/remove programs | 14:50.20 |
Robin_Watts | http://www.wikihow.com/Remove-Conduit-Search-Protect | 14:50.21 |
kens2 | pedro, that's just a part of the removal process for this one :-( | 14:50.40 |
pedro | that's a bit nasty (unless it just the home page setting) | 14:51.46 |
kens2 | no, its more than that sadly | 14:52.00 |
| it redirects your search, installs rootkit like stuff top make sure you can't delete it, and monitors your searches | 14:52.18 |
pedro | ah, ok - I had similar a few years back. Ended up booting in safe mode and manually tweaking the registry to remove one from the search providers' list | 14:53.59 |
henrys | really annoying I have to reset the browser settings | 15:01.01 |
mvrhel_laptop | good morning | 15:11.09 |
chrisl | good morning mvrhel_laptop | 15:12.16 |
kens2 | Morning Michael | 15:12.23 |
tor8 | henrys: you get that toolbar with the bittorrent installer? they're *extremely* sneaky, the checkbox to not install it is hidden on the webpage where you download the installer | 15:17.07 |
henrys | tor8: I'm using uTorrent | 15:18.48 |
Robin_Watts | Transmission wins for me (on MacOS X) | 15:19.12 |
tor8 | henrys: I use utorrent 2.2.1 -- the last (best) version without stupid adware | 15:19.20 |
henrys | tor8: the date of install for search conduit doesn't correspond with anything so I'm not sure where this came from | 15:21.39 |
tor8 | henrys: I got it from a driveby install of either bittorrent or utorrent... I know it's what prompted me to track down utorrent 2.2.1 | 15:22.24 |
ray_laptop | henrys: they probably obfuscate their date of install, too ;-) | 15:25.02 |
sebras | tor8: it seems strange not to assert in fz_count_pages() when the number of pages <= 0. | 15:45.01 |
| tor8: eh.. throw. | 15:45.09 |
| tor8: sebras/master | 15:48.37 |
Robin_Watts | A PDF file with 0 pages is something we should cope with. | 15:49.23 |
sebras | Robin_Watts: ok. | 15:49.32 |
Robin_Watts | Consider the case where I want to create a blank PDF file and then add pages to it. | 15:49.39 |
sebras | Robin_Watts: what would such a document be useful for? | 15:49.40 |
Robin_Watts | (when we get the pdfwrite device finished) | 15:49.52 |
sebras | Robin_Watts: ok, but then that also means we should cope with a .zip without any .png/.jpg/.whatever in it..? | 15:50.22 |
| Robin_Watts: and that the viewers should simply hang without displaying any page? | 15:50.39 |
mvrhel_laptop | Robin_Watts: can we add pages yet? | 15:50.45 |
Robin_Watts | sebras: I'm not saying that viewers need to cope. | 15:50.46 |
| just that we should be aware of this potential in the design. | 15:51.08 |
| mvrhel_laptop: kinda. ish. | 15:51.14 |
mvrhel_laptop | oh. I would like to have that for gsview | 15:51.24 |
sebras | Robin_Watts: ok, so what I see is that the x11-viewer hangs indefinitely when opening a .zip with a .tif in it. | 15:51.36 |
Robin_Watts | In fact, we can, I think, BUT with severe limitations. | 15:51.46 |
mvrhel_laptop | what are the limitations? | 15:52.00 |
sebras | Robin_Watts: I think it makes more sense to error out in the viewer in this case. | 15:52.02 |
Robin_Watts | sebras: To have the viewer error out, yes. | 15:52.16 |
| to have fz_count_pages error out... maybe not. | 15:52.27 |
| mvrhel_laptop: The pdfwrite device in MuPDF can't do fonts. and maybe not images. | 15:52.57 |
| It was something I started a while ago, and it's been used for pdf annotation generation, but it's not fully general yet. | 15:53.30 |
| I don't think it's in a usable state to be hooked up into gsview yet really. Needs me to have some more time with it. | 15:54.15 |
sebras | Robin_Watts: ok, so platform/x11/pdfapp.c is what I change. | 15:57.09 |
| Robin_Watts: on x11, opening a .cbz with no pages hangs indefinitely | 15:57.24 |
| Robin_Watts: opening the same file in android crashed mupdf | 15:57.36 |
mvrhel_laptop | Robin_Watts: oh. I see. Robin_Watts: OK I was thinking more of the following. Open one pdf file. Open a second pdf file. Get pages from second file, insert into first file. This seems like it would perhaps not require a lot of pdfwrite work. We are already doing page extraction. But I could be mistaken about the amount of work | 15:59.10 |
Robin_Watts | mvrhel_laptop: The problem with that is the need to merge resources. | 16:00.17 |
| And you'll have people wanting to merge xps and pdf etc. | 16:00.42 |
mvrhel_laptop | no xps yet | 16:00.55 |
| that I can see would require a real pdfwrite device | 16:01.21 |
Robin_Watts | If we had a mutool merge, then we'd be in better shape. | 16:01.24 |
mvrhel_laptop | right | 16:01.30 |
Robin_Watts | but we have never got round to that. We could probably knock something up in a week or so. | 16:01.43 |
mvrhel_laptop | that is what we need | 16:01.44 |
Robin_Watts | I pitched it at a staff meeting and got shot down :) | 16:02.11 |
mvrhel_laptop | really. I must have been sleeping at the time | 16:02.23 |
Robin_Watts | "have we ever had a customer ask for it?" was the question. | 16:03.01 |
mvrhel_laptop | hmm. For a weeks worth of work, it is a powerful feature to have | 16:03.24 |
Robin_Watts | It's a weeks worth now. It probably would have been more then. | 16:03.40 |
mvrhel_laptop | I see | 16:04.38 |
Robin_Watts | Yeah, in order to identify the resources properly you probably need the stream processing stuff that's only just gone in. | 16:04.58 |
mvrhel_laptop | ok. well maybe you (or I) can bring it up at the next staff meeting | 16:05.27 |
| because we sure don't have enough to do already ;) | 16:05.46 |
Robin_Watts | It sounds like a wonderful distraction from smart office :) | 16:06.03 |
mvrhel_laptop | but it is fun to have stuff like this to dabble in | 16:06.06 |
| yes | 16:06.08 |
| blah. when I get to a large number of pages, gsview is struggling a bit when I do a lot of zoom changes. I am going to have to redesign a few things | 16:08.04 |
| zoom is fine but rapid scrolling afterwards is the problem | 16:08.38 |
Robin_Watts | mvrhel_laptop: Cos all the pages you scroll through need to be rerendered? | 16:09.03 |
| Do you do the fuzzy/hq redraw thing ? | 16:09.19 |
mvrhel_laptop | just resized. and the scrollviewer is trying to adjust its scroll sizing | 16:09.33 |
| Robin_Watts: right now I only maintain a small visible section of full res pages | 16:10.21 |
| the rest are scaled thumbnails | 16:10.29 |
Robin_Watts | In the android app (and indeed in SO) we have a fuzzy/hq redraw scheme. | 16:10.54 |
mvrhel_laptop | what do you mean by fuzzy/hq? | 16:11.14 |
kens2 | ray_laptop : I just pushed teh changes to have 'spec_op' available from PostScript, and coded the first use of it 'GetDeviceParam' gets on single parameter from a device that supports spec_ops. I've added support to all devices which support spec_ops, and added spec_op support to gdevvec txtwrite and gdevpsdf devices | 16:11.37 |
Robin_Watts | Whenever you are asked to redraw an area of the screen you check to see if you have a high quality version of the page rendered already that you can blit. | 16:11.58 |
| If you don't have, you scale the section of the thumbnail up/down as appropriate and draw that (and if you don't even have a thumbnail you draw white). | 16:12.32 |
| This means you get 'instant' response. | 16:12.41 |
| We call this the fuzzy redraw. | 16:12.47 |
| If you do a fuzzy redraw, you ensure that an hq redraw is in your queue. | 16:13.09 |
kens2 | ray_laptop : With the display device, fetching a single parameter is now ~25 times faster, with pdfwrite, ~100 times faster. Chris tested this with the customer file and found it was around 20% faster than before. For pdfwrite the improvement is more dramatic, its now 3 times faster on that file. | 16:13.13 |
Robin_Watts | as soon as the hq redraw finishes (in the background), you then request a redraw of the screen. | 16:13.35 |
mvrhel_laptop | Robin_Watts: ok I see. Yes on the current page that all works fine | 16:13.40 |
Robin_Watts | The same logic then displays the HQ version. | 16:14.03 |
| What's the problem with non-current pages? | 16:14.28 |
| That you have no cached thumbnail for them if they are too far out of range ? | 16:14.49 |
mvrhel_laptop | it is just that if I have 1300 pages and I zoom on the current page, all the other pages have also been resized. I go ahead and do this resize and if I do rapid scrolling then, it seems like it only then starts to adjust for these new sizes. | 16:15.57 |
| actually I think I might know how to fix this now | 16:16.08 |
| or at least something to try | 16:16.14 |
| I suspect there is some sort of virtualization going on which delays the updates for regions that I can't "see" . Perhaps I need to turn that off during this rescale to ensure they get done for real | 16:17.21 |
| rather than when you are scrolling | 16:17.32 |
| if it waits until you scroll the page into view it gets funky | 16:17.45 |
kens2 | is heading off now (makes 4 commits and runs away) | 16:18.20 |
Robin_Watts | mvrhel_laptop: How many pages do you keep bitmaps for? | 16:18.30 |
chrisl | kens2: have a good evening | 16:18.32 |
kens2 | Goodnight all | 16:18.37 |
Robin_Watts | On android we only keep bitmaps for 3 pages (normally current +/- 1) | 16:19.26 |
| and we never rescale the stored bitmaps. | 16:19.33 |
| other than as we plot. | 16:19.42 |
mvrhel_laptop | Robin_Watts: I have all the thumbnails but those are small. I keep bitmaps for what ever number of pages are visible in the window though | 16:22.38 |
| have to go to eye dr. now | 16:22.44 |
| or going to be late | 16:22.48 |
| bbiaw | 16:22.51 |
Robin_Watts | ttyl. | 16:23.03 |
ray_laptop | chrisl: Thanks for fixing the msvc LARGE_COLOR_INDEX build issue | 17:06.44 |
| chrisl: I figured if I ignored it long enough, you'd take it :-) | 17:07.09 |
chrisl | ray_laptop: are you happy with the fix? I haven't pushed it yet.... | 17:07.37 |
ray_laptop | chrisl: Oh, yeah. I'm happy (happy that I didn't have to do it). ;-) | 17:08.03 |
chrisl | Cool I'll push it, then | 17:08.13 |
ray_laptop | chrisl: seriously, tho' the fix looks fines | 17:08.20 |
chrisl | Pushed, thanks | 17:10.00 |
| ray_laptop: It came at a good time - I hit an issue with the builds reorg that needed some pondering/mental percolation, so that and small fix in the PDF interp code were nice distractions..... | 17:11.10 |
| Right, off to do some shopping whilst it's still light and more importantly dry | 17:15.24 |
Robin_Watts | https://www.kickstarter.com/projects/1939723822/fish-on-wheels?ref=live | 17:49.11 |
| Surely it should have been named the "Fish Tank" ? | 17:49.21 |
tor8 | Robin_Watts: if you don't care about detecting duplicate resources, it's just a matter of copying (while renumbering) objects from one pdf_document to another, and updating the page tree | 17:57.58 |
| merging destination name trees, etc, would of course be more work... | 17:58.17 |
Robin_Watts | tor8: Yes, but in the case where the resources are at the top of the page tree rather than on each page, you have problems of not knowing what belongs to what page. | 17:58.49 |
| so including a page from a large file, might pull in all the resources from that file. | 17:59.27 |
| tor8: but it's not a massive job. As I say, we could do it properly within a week, I think. | 18:05.56 |
Flash_G0rd0n | Hey guys I'm trying to convert pdf->jpeg and I get this warning "Ghostscript 9.05: Warning: 'loca' length 416 is greater than numGlyphs 414 in the font AAAAAD+Scada-Bold" I get the image but with missing text.And If I try pdf->pdf->jpeg through ghostscript I get the pdf as the original and the image as mentioned above. | 20:58.12 |
| what am I missing or doing wrong? | 20:58.54 |
henrys | Flash_G0rd0n: can you open the file in adobe reader? | 20:59.12 |
Flash_G0rd0n | yes | 20:59.20 |
henrys | phone be back in a moment | 21:01.38 |
| Flash_G0rd0n: then I'd be inclined to report a bug at bugs.ghostscript.com | 21:04.15 |
| Flash_G0rd0n: the person likely to look at it is gone for the day but check tomorrow | 21:10.29 |
Flash_G0rd0n | henrys: I don't know if it helps the pdf was generated with tcpdf 6.0.052 PHP class using utf-8 encoding and has mixed cyrillic and western characters.Also through google I saw other people had the same problem with older versions of ghostscript but never found the solution. | 21:10.55 |
| henrys: thank you for the support till now and which nickname should I look for? | 21:14.14 |
henrys | Flash_G0rd0n: kens but I suspect he's going to tell you to report a bug so he can look at the file. StackOverflow is a good resource too. | 21:15.04 |
| Forward 1 day (to 2014/05/02)>>> | |