| <<<Back 1 day (to 2014/04/03) | 2014/04/04 |
norbertj | chrisl_r500: you want to review my 695100 fix? | 08:39.16 |
| henrys: same question | 08:39.48 |
kens | henrys won;t be up (its real early in the US) and he's on vacation today | 08:40.08 |
norbertj | kens: I just realized (when seeing the time on is joining IRC ;) | 08:40.41 |
chrisl_r500 | norbertj: it looks okay to me. | 08:50.45 |
norbertj | chrisl_500: fine, I push to golden then. | 08:52.18 |
chrisl_r500 | norbertj: once you do, it's good to keep an eye on the regression cluster status page, just as a double check that no problems arise testing the commit | 08:53.58 |
norbertj | chrisl_r500: I am watching (just clusterpushed), if that looks still ok, I push | 08:54.41 |
| chrisl_r500: diffs should only be progressions | 08:55.22 |
chrisl_r500 | norbertj: oh, one thing: there are some typos in the comment.... | 08:55.40 |
norbertj | chrisl_r500: which do you mean (I'm dutch ...) | 08:58.54 |
chrisl | So, "provides room 1 exactly 1 scan" I guess should be "provides room for exactly 1 scanline" | 08:59.23 |
| (Sorry I have to change computers....) | 08:59.33 |
norbertj | chrisl: me to, Have a meeting, back in 1 hour., but will fix the typo before checking in. | 09:00.04 |
chrisl | And "room ro complete image" should be "room for complete image" | 09:00.17 |
| And "expects complet image copied" should be "expects complete image copied" | 09:00.41 |
| norbertj: okay, no problem | 09:00.51 |
| norbertj: BTW, as most Dutch people I've met speak English better than most English people, I'm not sure that's a good reason ;-) | 09:02.44 |
kens | chrisl you busy or have some minutes free ? | 09:03.56 |
chrisl | kens: I have some time | 09:06.27 |
kens | I have a weird problem with PCL and Intellifont which I don't understand at all | 09:06.46 |
| THe file I'm looking at contains a font which has an 'unusual' bbox, the bottom left corner is nowhere near 0,0 | 09:07.13 |
| So the glyphs are offset up and right | 09:07.28 |
| Each glyph description contains this offset | 09:07.37 |
| So the text comes out in the wrong place with pdfwrite. | 09:07.49 |
| I tried a quick hack of resetting the bbox in the glyph description, and the file works. | 09:08.09 |
| However, other files don't. In particular a different file which uses the *same* font...... | 09:08.31 |
chrisl | What do you mean by "resetting the bbox"? | 09:08.58 |
kens | Somehow, when rendering, the text comes out in the correct place, and I'm at a loss to explain it | 09:09.00 |
| chrisl, I take the bbox of the glyph from the setcachedevice2, and add a 'concat' which moves the glyph description so that the bottom left is at 0,0 | 09:09.42 |
| Obviously I also reset the setcachedevice cvalues appropriately so that the glyph doesn't get clipped | 09:10.15 |
chrisl | Oh, hmm.... | 09:10.22 |
kens | THis can't be what the rendering code is doing | 09:10.37 |
| Doing that causes *many* PCL files to go wrong | 09:11.27 |
| Whereas this is just one test file | 09:11.41 |
| Earlier on I hacked the glyph description in the emitted PDF file to show that the actual glyph is indeed positioned in a strange place (top right) of the glyph bounding box | 09:12.30 |
| I think I may need to tackle henrsy about this | 09:13.43 |
| I can't see anything in the PCL file which moves the text | 09:14.02 |
chrisl | So, is it an atomic or a compound glyph? | 09:14.41 |
kens | atomic | 09:14.45 |
| I'm 'reasonably' sure the font is 'correct', I see the same numbers coming back when I run it through the rendering code. | 09:15.37 |
| But somehow it places the glyph bitmap in a different position | 09:15.54 |
chrisl | Okay what's the file, and is it fairly simple? | 09:16.18 |
kens | I have a *very* cut down file, one glyph, if you want it. It still contains all the fonts though | 09:16.44 |
| The file cut down by henry is on the bug, 693947 | 09:16.59 |
| I've mailed you the reduced file | 09:19.04 |
chrisl | Hmm, the file on the bug is the complete file, I think..... | 09:19.24 |
kens | No, the original is a multi-page file | 09:19.48 |
chrisl | Oh, well it still has a page full of text | 09:20.04 |
kens | Yeah, I used pxldis and pxlasm to reduce it further | 09:20.20 |
| If you run the full page file through pdfwrite and to display, you can see the text which is a problem | 09:20.41 |
| THe reduced file is probably easier to work with | 09:20.50 |
| But because there's no point of reference its hard to see the problem | 09:21.08 |
chrisl | Okay, give me a few minutes to have a look in the debugger..... | 09:21.54 |
kens | I found plchar.c, pl_intelli_build_char useful, that's where teh bounding box is read and set for setcachedevice2 | 09:22.29 |
chrisl | Well, one thing strikes me is that the FontMatrix is changed to a matrix with a non-zero tx/ty offset, after which the font is not "set"..... yet again, PCL abuses the graphics library :-( | 09:26.01 |
kens | Oh, well tht could well be my problem, I missed that, where is it done ? | 09:26.22 |
chrisl | pxfont.c - line 413 | 09:27.03 |
| px_text() | 09:27.10 |
kens | Hmm, yes I see, let me debug to there | 09:27.54 |
| Hmm, I wonder if I've simply got the font matrix wrong in pdfwrite, we don't often see a FontMatrix with tx and ty set. | 09:28.56 |
chrisl | No, well, this isn't *really* the FontMatrix..... | 09:29.45 |
kens | pfont->orig_FontMatrix has non-zero values there | 09:30.14 |
chrisl | Oh, yes, so it does.... | 09:30.26 |
kens | And I seem to remember seeing Tx and Ty set in teh pdfwrite emitted FontMatrix | 09:30.44 |
| I wonder if that's the source of this problem | 09:30.56 |
| I'll just debug back through with pdfwrite | 09:31.10 |
chrisl | It's the only thing that immediately springs out as shifting the glyph outline..... | 09:31.37 |
kens | It didn't occur to me, I hadn't spotted the odd FotnMatrix | 09:32.01 |
| Well we definitely have a strange FontMatrix there: | 09:33.11 |
| "/FontMatrix[0.0188976 0 0 -0.0188976 -0.33933 -0.612617]" | 09:33.23 |
| That is the matrix returned by the concat in pxlfont.c I think | 09:33.56 |
| Looks to melike the Tx and Ty values are just wrong | 09:34.13 |
| Yes, when we do the matrix_multiply it scales everythgin by a factor of 168 but does not affect teh Tx and Ty values | 09:35.11 |
chrisl | Yes, I just saw that | 09:35.22 |
| Do we really, really need a macro for "== 0.0"..... | 09:38.57 |
kens | Of course, macros for everything :-( | 09:39.10 |
chrisl | Part of the "clever" abstraction so code doesn't assume how the matrix is stored <sigh> | 09:40.20 |
| Although it's hard to believe, it looks to me like gs_matrix_multiply() is wrong! | 09:41.11 |
kens | No, I think its the multiply order which is wrong | 09:41.25 |
| We multiply the character matrix by the font matrix, then store that in the font matrix | 09:41.40 |
| I thin we should multiply the font matrix by the character matrix | 09:41.52 |
chrisl | Oh, of course, that makes sense | 09:42.01 |
kens | Well the single character case looks 'better' but its hard to tell, I'll just try the complete job | 09:42.25 |
| LOL well that is worse | 09:43.00 |
chrisl | What about for rendering? | 09:43.23 |
kens | didn't try that, but I suspect no difference, just a moment | 09:43.40 |
| rendering remains unchanged | 09:44.16 |
| Which is good, and proves that PXL isn't using the information, as implied by the comment in pxlfont.x | 09:44.39 |
chrisl | Oh, you did note that there's also the case above for the gs_setcharmatrix() call? That might need looked at, too | 09:44.40 |
kens | Errk, no | 09:44.47 |
| OIh wait, I think I still have my hackery in there | 09:45.04 |
| Best I remove that too | 09:45.09 |
| Hmm, the case above looks wrong at first inspection, but that looks like it will affect rendering | 09:46.27 |
kens | has to do 2 builds, one for GS and the one for PXL | 09:47.35 |
| I keep forgetting that.... | 09:47.42 |
| Aha, without my hackery that works perfectly! | 09:48.05 |
| Thanks for the help chrisl, now for a proper test :-) | 09:48.20 |
chrisl | Excellent! Now you find all the bases it breaks...... | 09:48.54 |
kens | Yeah :-( | 09:49.00 |
| I'm actually hopeful it won't, because if it did more problems would have popped up than jsut this one test file when I did the original cvhange. But we'll see...... | 09:49.44 |
norbertj | chrisl: it wasn't my being dutch, but some cognitive disonance that was playing with me. | 10:06.43 |
chrisl | norbertj: not a problem - it's always hardest spot these things in your own typing! | 10:07.34 |
norbertj | chrisl: I pushed my fix to golden, but now the regressionboard shows a failuer. | 10:49.05 |
| failure | 10:49.08 |
| chrisl: I see a typo, can't understand how that got through. | 10:50.19 |
| chrisl: I think I didn't check :( | 10:51.23 |
chrisl | norbertj: I can back out your commit - I doubt anyone has pulled it yet. | 10:52.51 |
norbertj | chrisl: please do. | 10:53.03 |
chrisl | norbertj: done. FWIW, anyone with commit rights can do it, but we generally discourage it.... | 10:54.52 |
norbertj | chrisl: thanks. | 10:55.52 |
chrisl | No problem - these things do happen! | 10:56.22 |
| I have to head out for a bit - back in a while..... | 11:31.07 |
kubilayrd | Hi folks | 11:38.30 |
| I have a question about MuPDF | 11:38.37 |
| I convert my PDF to high-res PNG images with GS | 11:38.50 |
| I then want to convert all these images with mudraw | 11:39.00 |
| Normally, I'd use mudraw -o out%d.png -w 1536 in.pdf for a single file | 11:39.25 |
| But when I do mudraw -o out%d.png -w 1536 *.png, it recreates same file as out1.png | 11:39.45 |
| How can I convert all files with their own order pattern? | 11:40.06 |
| Here you go: | 11:52.09 |
| for i in *; do mudraw -o out$i -w 1536 $i; done | 11:52.33 |
kens | Why use MuPDF on a PNG file ? If you want the result of a PDF as PNG using MuPDF, then why not just convert the PPDF directly to PNG using MuPDF ? | 12:02.52 |
| TBH I'm not surprised that converting a PNG to a PNG results in identical files. | 12:03.27 |
kubilayrd | kens: I've been trying to convert same magazine file in GS, MuPDF and IM for two days | 12:10.53 |
| The thing is that when the quality is high, size is ultimate | 12:11.10 |
kens | Yes, quality vs size is a trade off | 12:11.22 |
kubilayrd | When the quality is low, images are OK but text is a disaster | 12:11.25 |
kens | THat's pretty much to be expected | 12:11.41 |
kubilayrd | Going through different values, I've discovered that I can catch an optimum quality/size value but the problem was some fonts | 12:12.02 |
| They were rendered quite ugly | 12:12.09 |
| So I tried to convert to high quality, reduce resolution with MuPDF then convert to JPG with mogrify | 12:12.34 |
| The result was surprisingly good | 12:12.43 |
| Custom fonts were rendered as others | 12:12.50 |
| That's the reason | 12:12.54 |
| The process is in 3 steps now but that's not a problem as long as the result is good | 12:13.43 |
| PDF file size is 200 MB | 12:13.50 |
| output is 50 MB | 12:13.55 |
| resolution is 1536 width | 12:14.05 |
kens | MuPDF is not a general image manipulation application. you would almost certainly be better off taking the output of Ghostscript and using something like ImageMagixk or GIMP to reduce the resolution. | 12:14.24 |
kubilayrd | kens: What would differ? MuPDF seems like doing allright | 12:14.54 |
kens | But you say above that it *isn't* | 12:15.08 |
| You say that the output is the same as the input | 12:15.16 |
| To be honest, you're talking to the wrong person anyway, I don't work on MuPDF and none of the developers are online today. Two are on vacation until Tuesday | 12:16.07 |
kubilayrd | kens: I already have a solution as I shared above, however if you think IM or GIMP would do better with PNG resolution reducing, I'll give it a try | 12:17.16 |
kens | In general you are better off using a dedicated image manipulation application, because it will offer more options, and will allow the use of compute-intensive algorithms which a fast and light image application won't. The assumption is that if you are usingf a screen reader (MuPDF) or print application )GS) you want things to happen in a reasonable time with 'decent' quality, often using a low powered processor. | 12:18.29 |
| An image manipulation application assumes that you want the best possible result, or want a range of options, and provides exactly that. You'd be cross if your priner took 10 minutes to render a page, bt maybe not so cross if your desktop took 10 minutes ot resample an image, as long as it did the job you wanted. | 12:19.55 |
| Note this is all generalisation. | 12:20.12 |
| And you still haven't explained your original question, if the process works, then what's is your problem ? | 12:20.56 |
kubilayrd | kens: I had a problem at first, it was being unable to use MuPDF for batch convert | 12:21.52 |
| Then I've solved it and shared here | 12:22.01 |
kens | So this wasn't a problem ? THat wasn't clear to me | 12:22.15 |
kubilayrd | It was a problem untill 14:40 messages | 12:22.52 |
| While waiting an answer here, I've kept on searching and found a solution | 12:23.04 |
| Still not clear? | 12:23.07 |
kens | OK probably would have helped make it clear if you had said that | 12:23.21 |
kubilayrd | Sorry, my bad | 12:23.48 |
kens | Not a problem, just explaining why I thought it ws still a question rather than a solution | 12:24.07 |
kubilayrd | Allright then | 12:25.45 |
norbertj | Robin_Watts: pull/push is working on my pc-at work. For this I have the "golden norbert@184.73.189.105:/home/git/ghostpdl.git and origin norbert@184.73.189.105:/home/norbert/repos/ghostpdl.git" | 12:52.18 |
| However, the clusterpush I can only do via plink->peeves. The "git cluster" on my local pc does not work. | 12:52.57 |
| Robin_Watts; and cluster as: cluster regression@184.73.189.105:/home/regression/cluster/gitbridge/ghostpdl | 12:54.47 |
| Robin_Watts; at home I have: cluster regression@ghostscript.com:/home/regression/cluster/gitbridge/ghostpdl | 12:55.20 |
| at home: git cluster works. | 12:55.45 |
kens | norbertj : Robin_Watts is on vaCATION | 12:58.36 |
| until Tuesday | 12:58.41 |
norbertj | kens: I thought because his names up on my irc list, that he's also here | 12:59.16 |
kens | afaraid not | 12:59.33 |
norbertj | kens: ok, I can work with clusterpushing from peeves. | 12:59.37 |
henrys | kens:fix looks fine to me, somewhat surprised that hasn't shown up yet | 13:51.16 |
kens | henrys I think its really rare | 13:51.37 |
| I'll commit it ina minute, thanks | 13:51.54 |
| Thougth you were on vacation today ? | 13:52.26 |
henrys | ah origFontMatrix is usually identity that's why | 13:53.22 |
kens | yes, or at least has no Tx Ty | 13:53.36 |
henrys | kens:I'll be in and out today , mostly out | 13:55.45 |
kens | well happy birthday :) | 13:55.55 |
henrys | kens: thanks | 13:56.23 |
norbertj | henrys: congratulations too. And I just pushed the jpeg-decoder fix. | 13:57.39 |
henrys | norbertj: oh congrats norbert - now you make bugs ahem fix stuff in the main trunk like the rest of us. | 13:58.49 |
| ;-) | 13:59.05 |
sebras | henrys: congrats! :) | 14:01.01 |
jogux_mac | Happy Birthday henrys :) | 14:07.12 |
henrys | jogux_mac, sebras thanks guys: I have a friend who says good job getting born and all, you managed not to screw that up :-) | 14:09.56 |
jogux_mac | :-) | 14:10.11 |
norbertj | henrys: why does the compile fail of my checkin. If I look at the diff of pximage.c it's ok. | 14:13.14 |
| henrys: my mistake, the update on my dashboard is a bit slow, and I looked at the wrong line. | 14:16.41 |
mvrhel_laptop | henrys: so this is interesting http://techcrunch.com/2014/04/03/microsoft-launches-net-foundation-to-foster-the-net-open-source-ecosystem/ | 15:04.47 |
kens | I read the Register on that one this morning | 15:05.01 |
| Also did you notice that you can now use '90%' of code common to all win 8 oplatforms ? | 15:05.30 |
mvrhel_laptop | yes | 15:05.35 |
| knowing my luck I am a heavy user of the 10% | 15:05.52 |
kens | and there's an IPC method for 'mopdern ui' apps to talk to desktop apps | 15:05.55 |
mvrhel_laptop | cool. I need to review that. I am still beating on this damn binding issue for text selection. I am doing something that is making is very slow. I may stop and work on getting the mutool stuff working in gsview (page extraction) and then come back | 15:07.18 |
| need to take daughter to school | 15:07.29 |
| bbiab | 15:07.31 |
kens | bb | 15:07.34 |
henrys | I'm still reading the word 1.0 code released to the museum ;-) | 15:07.36 |
mvrhel_laptop | :) | 15:07.47 |
kens | shudders | 15:07.56 |
| Oh and of course the other big news was that Win Phone 8 is now royalty free for smaller devices | 15:08.43 |
mvrhel_laptop | right I read that | 15:09.47 |
henrys | for the logs Robin_Watts http://www.instructables.com/id/Preventing-Bacon-Shrinkage-An-Experiment/?ALLSTEPS | 15:24.38 |
jogux_mac | does anyone have any strong feelings on whether the ios status bar should be visible in SO on ios7? The current app store version has it shown, the current code [mostly] has it hidden (as that was the easiest way they found to workaround an ios7 sdk issue). I think it should be visible as per the current appstore version (apart from when explicitly hidden in slideshow mode etc) | 15:30.32 |
| anyone know it's there a location we keep the ios signing keys in? (tor8?) I'm going to generate the ones for the new artifex account at some point so thinking I should put them in the same place. | 15:46.31 |
| s/it/if/ | 15:46.45 |
tor8 | jogux_mac: I've just kept them in a directory in my home directory on casper | 15:53.53 |
jogux_mac | tor8: okay, thanks! | 15:54.33 |
robin_watts_mac | henrys: Thanks. | 16:02.04 |
| henrys: Happy Birthday! I think you share it with pedro. | 16:05.53 |
jogux_mac | pedro's birthday is next month :-) | 16:06.31 |
henrys | thanks robin_watts_mac | 16:07.47 |
| how's the vacation going robin_watts_mac ? | 16:08.07 |
robin_watts_mac | henrys: Fab thanks. | 16:11.06 |
| We are in Granada. The Alhambra is fab. | 16:11.25 |
| Granada itself is a bit grotty though. | 16:11.58 |
jogux_mac | the SO iOS alien leaks memory like a sieve :-( | 16:55.05 |
ray_laptop | finally got peeved networking straightened out after the cable problem | 17:03.58 |
| I had to sudo ifdown -f eth0 then sudo ifup eth0 and it eventually came online | 17:05.16 |
| don't know how it got in that state :-( | 17:05.35 |
| Robin_Watts: My wife and I liked ALhambra as well. | 17:10.50 |
| that was back before we had kids | 17:11.08 |
| granada was nowhere near as run down as Morocco , but to be fair, all we visited was Tangier (came over from Spain) and maybe it was just the "border town" effect | 17:12.45 |
| I find it funny that the SOT testdoccs/postscript has gs_init.ps and gs_statd.ps :-) | 17:14.03 |
chrisl_r500 | Why does it have any PS? | 17:14.44 |
ray_laptop | chrisl: who knows. It has some of EVERYTHING in it | 17:15.38 |
| how else can you get up to 573 Gb of test files | 17:15.57 |
| the gs_init.ps doesn't correspond to current standards where the first token is the version number. The Copyright Aladdin is 1991 | 17:16.52 |
chrisl_r500 | I guess it's probably just "do something sane with a file type we don't handle" | 17:17.28 |
ray_laptop | my impression is that those guys dabbled in lots of areas | 17:18.23 |
| hmm... the gs_statd.ps sets the "revision" to (20100) -- that would make it 2.1.0 The first version I used was 2.5.2 iirc | 17:20.53 |
chrisl | I have to be off - everyone enjoy your weekends | 17:26.57 |
ray_laptop | chrisl: you too. | 17:27.04 |
| henrys: Happy Birthday !!! | 17:27.17 |
mvrhel_laptop | argh. so I burnt up a week with this slowness of my binding and it only was doing it in debug mode. release mode is super fast | 20:24.02 |
| oh well things could be worse | 20:24.08 |
Jogux | mvrhel : oops :( well, at least it's sorted anyway | 20:41.14 |
| Forward 1 day (to 2014/04/05)>>> | |