| <<<Back 1 day (to 2013/05/08) | 2013/05/09 |
mvrhel_laptop | and links are working again. tonight I will get the text search working again then I just need to clean up the zooming | 00:00.03 |
Robin_Watts | mvrhel_laptop: Nice. | 00:00.20 |
mvrhel_laptop | Robin_Watts: it is good that I reworked all this | 00:00.31 |
Robin_Watts | Have you rebased recently? | 00:00.36 |
mvrhel_laptop | oh not in a wihle | 00:00.46 |
| awhile | 00:00.48 |
| I need to do that | 00:00.50 |
| I also have the web html stuff working | 00:01.07 |
| but I dont have your latest stuff obviously | 00:01.18 |
Robin_Watts | We changed the types for text extraction a bit, so there will be some changes there. | 00:01.30 |
| so don't rebase until you're prepared for it to break :) | 00:01.43 |
mvrhel_laptop | oh. OK. maybe I should pull that in first then | 00:01.44 |
Robin_Watts | It's not a huge change. | 00:02.07 |
mvrhel_laptop | thats good to hear. I am very pleased with the way this has worked out now. once I understood how the collections of objects can be bound to a data template in the ui xaml code things really ended up being much simplier code wise | 00:03.16 |
| the trick is figuring out the secret way to set it all up | 00:03.34 |
| they dont make it easy to understand | 00:03.48 |
Robin_Watts | job security :) | 00:04.06 |
mvrhel_laptop | I guess it is written for people who already drank the kool-aid | 00:04.14 |
| bbiaw | 00:04.32 |
Robin_Watts | bedtime for me. ttyl. | 00:04.53 |
henrys | marcosw:uncle! | 03:16.43 |
mvrhel_laptop | and text search is working again now | 05:05.11 |
| time for sleep for me | 05:05.29 |
henrys | wow marcosw sure knows how to throw a party ;-) | 14:14.27 |
kens | I gave up trying to follow them, they were in and resolved too much | 14:15.11 |
Robin_Watts | invite you, then uninvite you, then invite you, then uninvite you... | 14:15.20 |
kens | 300 emails to wade through this morning.... | 14:15.40 |
chrisl | "Select all", "Mark as read"..... | 14:16.27 |
kens | Yes, that's what I mean, I gave up | 14:16.55 |
chrisl | I'll wait until they're assigned | 14:17.16 |
cousteau_ | Word document with PNG images with transparencies. Converting to PDF with PDFCreator makes the images look ugly. Can this be because GhostScript cannot handle non-binary transparencies? | 14:26.54 |
kens | a*PostScript* cannot handle transparency | 14:27.21 |
| Ghostscript does not handle Word documents | 14:27.33 |
cousteau_ | I see | 14:27.58 |
kens | I suggest you take it p with the PDFCreator supplier, who at least will be able to tell us how Ghostscript is being used | 14:28.09 |
| Oh, and you can't have PNG in PostScript either | 14:28.42 |
cousteau_ | Word can, however, save files to PDF directly, and then transparency works fine. But the resolution is ugly. | 14:29.15 |
kens | I cna't comment. There must be a conversion fro WOrd to a language we can interpret. | 14:30.02 |
cousteau_ | afaik, PDFCreator does .doc -> .ps -> .pdf and uses GhostScript for the latter (if StackExchange isn't wrong) | 14:30.09 |
kens | Most likely this is to PostScript using the OS printer driver | 14:30.13 |
| So there's your first likely problem, converting a PNG into a PostScript image operator | 14:30.46 |
| Then there is the settings being used by 'PDFCreator' to drive Ghostscript. | 14:31.20 |
| Before we cna help you, you would need to supply us with a PostScript file, and a Ghostscript command line | 14:31.41 |
| I suspect you can't do that, as I doubt you can find out how PDFCreator is using Ghostscript | 14:32.08 |
cousteau_ | if PS doesn't handle transparency, something in the middle must be converting the images to a non-transparent format | 14:32.16 |
kens | Yes, exactly | 14:32.26 |
cousteau_ | I'll see if PDFCreator can output PS files | 14:32.29 |
kens | Outputting a PS file won't help, unless its the one that it gets from the printer driver | 14:32.57 |
| Which is why I suggest you could back to the suppliers of the application | 14:33.35 |
| s/could/go/ | 14:33.47 |
cousteau_ | they don't have an IRC channel... | 14:34.45 |
| ...damn, Windows doesn't know what a .ps is | 14:35.03 |
kens | Naturally | 14:35.11 |
| It would only know if you had registered an application for that extension | 14:35.46 |
| Wordpad works fine for reading PS files (do not attempt to edit them with this) | 14:36.15 |
| NB when I say 'reading' I really mean reading the language, not rendering it | 14:36.45 |
| You need GS for that | 14:36.54 |
cousteau_ | ok, I think I'll just (a) remove the transparency of the images and replace it with white before pasting them to Word, or (b) try to figure out how to increase the resolution for Word's native PDF converter | 14:43.53 |
| ...seems that I can do (a) directly from Word... | 14:48.11 |
| er, nope | 14:48.24 |
cousteau_ | regrets not being using LibreOffice | 14:48.47 |
kens | Hmm wikipedia says nasty things about PDFCreator | 14:48.55 |
cousteau_ | I think I'll forget about this for now | 14:49.04 |
| nasty things such as? (/me checks) | 14:49.14 |
kens | spywarre toolbars | 14:49.22 |
chrisl | cousteau_: could you be a bit more specific about what "images look ugly" means? | 14:49.46 |
cousteau_ | yeah, just found that on wikipedia | 14:50.03 |
kens | The prot monitor appears to be open source, so you could technically modify it to capture the PostScript stream | 14:50.15 |
| and also figure out hte GS configuration | 14:50.37 |
cousteau_ | chrisl: images are black anti-aliased text over a transparent background. Anti-aliasing seems to be handled incorrectly. | 14:50.45 |
kens | THere may even be an easy debugging mode for this | 14:50.49 |
cousteau_ | chrisl: anyway I have decided to stop trying to figure this out for now | 14:51.15 |
kens | The text is part of the image ? If so that's not us | 14:51.18 |
chrisl | cousteau_: the images may be being converted to JPEG and/or downsampled either could foul up that kind of image | 14:52.02 |
cousteau_ | http://prntscr.com/1446gc - this is what I'm talking about | 14:52.36 |
kens | My guess is that whatever flattened the image is doing that | 14:53.04 |
cousteau_ | chrisl: in PDFCreator I selected compression = ZIP instead of JPEG | 14:53.06 |
| kens: yep | 14:53.15 |
kens | THat affexts the PDF output,bu won't affect the PostScript creation, and tehrefore the flattening of the image | 14:53.33 |
cousteau_ | anyway, I'll just ignore this for now. | 14:53.33 |
chrisl | That looks like very low resolution. I'd have a dig around in the PDFCreator printer driver for resolution options - overall, and image specific. | 14:53.41 |
kens | suspects it may be the same reason the Word direct output is poor. | 14:54.12 |
| perhaps its a Word setting | 14:54.30 |
| Good luck with finding *that* :-( | 14:54.44 |
Robin_Watts | Got a wierdness here, I don't understand. | 14:54.44 |
| http://ghostscript.com/~robin/1500_1.pdf | 14:54.56 |
| gs and acrobat render it fine. | 14:55.09 |
cousteau_ | MS Office is a wonderful, fully featured tool that needs no help from external applications to work. The "save as PDF" feature is more than fit for what I want. The default output resolution is more than I could ever need anyway. (This is sarcasm, but is what I'm going to do) | 14:55.10 |
Robin_Watts | mupdf does not | 14:55.27 |
kens | Its a pattern fill on a wavy line in pdf.js | 14:55.45 |
Robin_Watts | and looking at the input file, I am confused. | 14:55.46 |
| kens: Indeed. | 14:55.50 |
| The pattern does not specify a linewidth. | 14:56.00 |
kens | goes to download the file | 14:56.06 |
Robin_Watts | So... what linewidth should be used? | 14:56.17 |
kens | The default | 14:56.41 |
Robin_Watts | which is... | 14:57.10 |
kens | There's a '20 w' in the page stream | 14:57.11 |
Robin_Watts | right. That's for the wavy line, not for the pattern. | 14:57.40 |
| mupdf ends up using that for the pattern too :( | 14:57.47 |
kens | There is a defined default somewhere in the spec for linewidth | 14:57.54 |
kens | opens PDFRM | 14:58.15 |
Robin_Watts | Ah! Got it. 1. | 14:58.51 |
| so in mupdf we should set the defaults at the start of each pattern execution. | 14:59.17 |
| Thanks. | 14:59.21 |
cousteau_ | kens: what do you mean "good luck"? Office options are incredibly easy to tweak! (sarcasm) | 14:59.24 |
kens | Roq there you are, knew it was there somewhere | 14:59.41 |
| Robin_Watts : ^^ | 14:59.56 |
Robin_Watts | q != tab :) | 15:00.09 |
kens | I know, I know, I never said I could type :-( | 15:00.22 |
chrisl | Doesn't a type 1 pattern inherit the "parent" gstate attributes when it's defined? | 15:03.07 |
kens | Patterns have some funny rules | 15:03.20 |
| I remember going through this with Angus some years ago | 15:03.32 |
| I don't tihnk patterns inherit the parent gstate though | 15:04.11 |
chrisl | Yeh, had a feeling I'd seen some issues with picking up graphics state settings from the first *use* of the pattern, rather than the *definition* - but it was some time ago | 15:04.56 |
Robin_Watts | Putting 20 w before the pattern definition doesn't change it in gs. | 15:04.56 |
kens | How do youe mean 'before ' ? | 15:05.19 |
Robin_Watts | 20 w /PT1 SCN | 15:05.35 |
| before selection of the pattern I mean. | 15:05.44 |
kens | OK p294 "Installs the graphics state that was in effect at the beginning of the patterns parent content stream" | 15:06.02 |
| Note *beginning* | 15:06.08 |
Robin_Watts | p294 of what? :) | 15:06.36 |
cousteau_ | amyway, I'm outta here. Thanks for the help! Bye! | 15:06.37 |
kens | Robin_Watts : 1.7 PDFRM | 15:06.47 |
| The reason this gets complicated is if you define a FOrm, put the form inside a page, and use a pttern on the form. | 15:07.13 |
| The 'parent' is then the form, not the page, and that can be quite different from the page gstate | 15:07.51 |
Robin_Watts | kens: right, that affects the matrix. | 15:08.04 |
kens | Not jsut the matrix, all the gstate parameters | 15:08.16 |
Robin_Watts | I'm not sure it can reasonably affect the linewidth etc. | 15:08.16 |
kens | It means *all* the gstate parameters | 15:08.40 |
| THe same paragraph goe son to discuss the CTM explicitly | 15:08.54 |
Robin_Watts | Exactly how can you change the linewidth used for a form? | 15:08.57 |
kens | As I recall its the gstate at the time the form is executed. | 15:09.30 |
| So if you then use a pattern on the form, its gstate is the gstate in force at the time the form was executed, not ther time the page stream started | 15:10.04 |
| But if you used the *same* pattern on the page, you would get a different result. | 15:10.18 |
| I did mention thjat patterns have some funny rules, yes ? | 15:10.33 |
Robin_Watts | crumbs. | 15:11.55 |
kens | I seem to recall having to carry round a gstate with each content stream, which was nothign more than a record of the gstate at the start of that stream, just to enable patterns to get the right state | 15:11.56 |
| I have to admit I'mhazy on this, it was swome years ago, alexcher may have a better handle on it | 15:12.52 |
Robin_Watts | what you say makes sense, for some definition of sense. | 15:13.13 |
kens | I seem to recall thinking it was one of the more bizarre parts of the spec | 15:13.39 |
| By reading old specs, and some experimentation, we concluded it was a bug that Adobe decided to writ into the spec rather than fix (probably because lots of their own software relied o it by then) | 15:14.35 |
| Robin_Watts : do you want a pattern torture test file ? | 15:25.56 |
Robin_Watts | kens: want being a relative term :) | 15:26.27 |
| yes please. | 15:26.29 |
kens | I'll mail it to you | 15:26.41 |
Robin_Watts | Thanks. | 15:26.45 |
kens | has patterns in forms and things, also transparency | 15:26.53 |
Robin_Watts | Is there a reason it's not in our test repo ? | 15:26.58 |
kens | I'd rather it wasn't, it came form a former employer | 15:27.10 |
Robin_Watts | ok. | 15:27.18 |
tor8 | Robin_Watts: the "at the start of the parent's content stream" is handled with "topctm" in the mupdf interpreter. I guess we need to extend that to more than just the CTM... | 15:27.28 |
kens | Yes, it needs to be a full gstate copy | 15:27.46 |
| Its a horror, but there's no other way to handle it I think | 15:28.00 |
tor8 | A horror indeed. | 15:28.10 |
Robin_Watts | tor8: I am coding something now. | 15:28.24 |
henrys | kens:I imagine you intelligent thing has something to do with the font matrix fiddling pl/plchar.c around line 790 or so, but I can't remember why I did that. | 15:41.25 |
| s/intelligent/intellifont | 15:41.45 |
kens | henrys I suspect its related, the fact that the font is 'upside down' is odd. | 15:41.48 |
henrys | damn colloquy spell corrector | 15:42.01 |
kens | :-) | 15:42.04 |
Robin_Watts | kens: My God. You weren't kidding about it being tortuous. | 16:01.32 |
henrys | Robin_Watts:google glasses gives me the idea that somebody needs to put all the garmin running sensors, hrm, gps etc. in the heart rate monitor than bluetooth all that data up to sunglasses - get rid of the watch entirely. | 16:01.37 |
kens | :-) | 16:01.39 |
Robin_Watts | henrys: Personally, I don't want a phone in my glasses, irradiating my head. | 16:02.17 |
| I'd like the glasses to be as low power as possible - probably bluetoothing to the phone. | 16:02.33 |
kens | I don't want a pair of glasses | 16:02.35 |
Robin_Watts | Therefore I'd like the gps etc to be done in the phone (or in the watch), not in the glasses. | 16:03.15 |
kens | personal area network | 16:03.34 |
henrys | your just sending the display to the glasses the gps would be in the heart rate monitor | 16:03.51 |
| the point is not to have to look down while you are running. | 16:04.14 |
Robin_Watts | henrys: See the size of the watch? That's cos of the battery and the gps. | 16:04.34 |
| That's too large for a heart rate monitor. | 16:05.00 |
henrys | probably so - give it a few years. I'd still like the watch to transmit to the glasses. Have a constant display of speed and hrm | 16:06.24 |
Robin_Watts | When I run, I have an ipod, a watch, sunglasses and a heart rate monitor. With google glass you'd need to have a phone (or at least, with a form of google glass that I'd be prepared to use), so you'd lose the ipod and sunglasses and gain a phone and google glass. | 16:07.12 |
| Which would mean you could lose the watch. | 16:07.21 |
| but the smarts would be in the phone, not the HRM. | 16:07.32 |
| Also, for triathletes, is glass waterproof? | 16:07.58 |
henrys | I don't necessarily want google glasses - I just got thinking about it because of the product. sunglasses with the display | 16:10.32 |
| is enough | 16:10.38 |
Robin_Watts | Someone is doing a golf visor thing in the same style, IIRC. | 16:11.09 |
| http://www.gizmag.com/o-synce-screeneye-x-heads-up-visor/26199/ | 16:12.34 |
| The device also pairs with ANT + sensors, such as foot pods, heart rate monitors and multi-sport monitors, to display such measurements as speed, distance, heart rate and calories burned. | 16:12.51 |
| Your garmin HRM is ANT+, so it should be compatible. | 16:14.18 |
| of course, it doesn't say if it can cope with being washed every day :) | 16:14.45 |
henrys | won't work on the bike though but yes that is what I was looking for. | 16:14.57 |
Robin_Watts | henrys: Why not? | 16:15.10 |
| You can get ANT+ power meters, right? | 16:16.15 |
henrys | if you are racing the visor would obscure your vision riding aero, at least for me it would | 16:16.55 |
Robin_Watts | Ah. | 16:18.22 |
kens | Intrigujingly, the pattern thing is 'trying' to draw a pattern, but messing it up badly | 16:19.33 |
Robin_Watts | kens: which pattern thing? | 16:19.52 |
kens | the PCL one henrsy reduced for me | 16:20.01 |
Robin_Watts | oh, right, different thing entirely, sorry. | 16:20.10 |
kens | Sorry, worng kind of pattern | 16:20.19 |
| yes, I should have said | 16:20.27 |
Leolo_3 | what happened to pcl6 -C ? | 16:30.04 |
kens | OK heading off, night all | 16:30.04 |
henrys | Leolo_3:was that count pages? | 16:33.08 |
Leolo_3 | yes | 16:35.42 |
| http://pl.it-usenet.org/thread/15769/5584/ # bugger nuts, it got removed | 16:46.32 |
| so I have to count HiResBoundingBox in stdout ... | 16:46.42 |
henrys | Leolo_3:yes that's my commit, you'd think I could remember these things | 16:47.15 |
| Leolo_3:probably non zero bounding boxes would be better. I think there are cases where we do a 0 area bbox on the last page and it would not be printed on a printing device. | 16:50.22 |
| that may not handle unconditional form feed though - hmm | 16:51.47 |
Leolo_3 | so, you remove a simple switch, and there is no reliable substitute? | 16:55.12 |
henrys | you'll have to experiment and if you find a bug please report it on bugs.ghostscript.com and I'll fix it. The page count should include 0 area bbox's but I suspect there are bugs. | 16:55.16 |
Leolo_3 | ... | 16:57.19 |
henrys | -C was unreliable as well. so now I have one unreliable solution instead of two ;-) | 16:57.21 |
| progress | 16:57.32 |
Leolo_3 | I have yet to see -C fail me | 16:58.08 |
henrys | Robin_Watts:here is another idea: http://www.dcrainmaker.com/2011/09/in-depth-review-of-4iiii-ant-heads-up.html | 16:58.34 |
| no numbers though voice and training zone warning lights. | 16:58.55 |
Artur__ | HI everyone | 16:59.24 |
henrys | Leolo_3:what's the application? | 16:59.58 |
Leolo_3 | I've built a document warehouse. one of the doc formats I support is pcl | 17:00.31 |
| i need to know the number of pages in the doc, so that I can display them one by one | 17:01.06 |
| in a browser, converted to GIF | 17:01.18 |
| anyway, if you say "counting non-zero bounding boxes is more reliable" imma implement that, and curse the fickle devs who remove useful options | 17:02.00 |
henrys | why don't you just use %d in the output file specification? | 17:03.57 |
Leolo_3 | what? | 17:04.48 |
| because that would be helluva more complicated | 17:04.59 |
| create a bunch of files, just to count them and then delete them? | 17:05.09 |
| is the BoundingBox output X1 Y1 X2 Y2 or X Y W H ? | 17:05.41 |
henrys | Leolo_3:you said you were going to display the pages so at some point they must be rendered. You can read the gs/doc about the bbox or ask at stack overflow. Sorry for the inconvenience of pulling out the option. | 17:09.58 |
Leolo_3 | "at some point" can be days/weeks into the future. the rendering part is all solved, with inteligent caching etc etc. | 17:10.54 |
| gs/doc/Devices.htm doesn't say what the values represent | 17:13.15 |
Artur__ | I need a help to make mupdf reader for android guys. Could you please help me? | 17:15.24 |
Robin_Watts | Artur__: Based on MuPDF? We can help, sure. | 17:16.10 |
Artur__ | yes, thanks | 17:16.23 |
| I`ve compiled libs from sources | 17:16.36 |
| and was able to run the test app on device | 17:16.53 |
| I need some goide and / or API docs of the lib, how can I use it to make a simple pdf veauer in my android application | 17:18.31 |
Robin_Watts | Artur__: The public API of mupdf is at the C library level. | 17:18.50 |
Artur__ | thank you for your time again | 17:18.53 |
Robin_Watts | As such, the documentation is written at that level. | 17:19.26 |
| As part of the example android viewer, we've exposed some of that functionality (just enough that we needed) to the Java via the android/jni/mupdf.c code. | 17:20.15 |
Artur__ | is there any articles / toturials to use that lib? I`ve googled for it, but could not find any usefull thing | 17:20.22 |
Robin_Watts | which is called via the MuPDFCore.java code. | 17:20.45 |
| There is no documentation for the android classes. | 17:20.53 |
henrys | Leola_3:the postscript definition %%BoundingBox is assumed llx,lly,urx,ury | 17:21.52 |
Robin_Watts | (on phone) | 17:21.57 |
| back. | 17:22.41 |
henrys | bbiab | 17:22.44 |
Robin_Watts | there is (a small amount of) documentation for the mupdf library API in the doc directory of the source. | 17:23.12 |
| and apps/mudraw.c for instance shows how to use it in a fairly simple way. | 17:23.33 |
Artur__ | ok, thanks | 17:24.17 |
Robin_Watts | If you have specific questions about the use of that interface we can help you here. | 17:24.36 |
Artur__ | is there anything else I can look at to make my life easyer? )) | 17:24.38 |
Robin_Watts | If you have questions about how the java classes work, we can also help, but to a lesser degree. | 17:25.06 |
| Artur__: Nothing else, really. The overview in doc shows how to use MuPDF to open and render a PDF document in less than 100 lines. | 17:26.08 |
Artur__ | I appreciate this. Let me look what can I figure out with what you`ve wrote, and I`ll come back with sore specific questions | 17:26.32 |
Robin_Watts | ok. | 17:26.38 |
sebras | Artur__: maybe the source for other open source android apps based on mupdf might help you if you are interested in GUI-side of the app rather than the rendering-part... | 17:26.41 |
Artur__ | yes sure, can you list few of them? | 17:27.34 |
| One more question, With mupdf I will try to open pdf and list thrue pages, does standard .mk provide functions for that opertunity? | 17:28.59 |
sebras | Artur__: https://code.google.com/p/apv/ http://code.google.com/p/vudroid/ just search for "mupdf" on play.google.com and you'll find several more. | 17:29.01 |
Artur__ | programaticaly | 17:29.18 |
| thank you once again | 17:29.45 |
sebras | Artur__: the official mupdf android app is this one: https://play.google.com/store/apps/details?id=com.artifex.mupdfdemo | 17:30.52 |
Robin_Watts | Artur__: Our example android viewer application manages to open a pdf, and render the pages one at a time, yes. | 17:31.09 |
| but that functionality is exposed to the java in a way that might well be tied to the way our java classes need it to work. | 17:32.09 |
| The C API is NOT simply mirrored into the java. It's 'repackaged'. | 17:32.30 |
| Doing a simple mirroring is something we would be interested in doing, as it would expose more of the features of the library, but we have not had the time (or the impetus) to do that yet. | 17:33.06 |
Artur__ | I see | 17:33.34 |
sebras | Artur__: how come you are developing an (open source?) android app based on mupdf? | 17:40.00 |
Artur__ | what do you mean? | 17:41.27 |
Robin_Watts | Artur__: I guess sebras is asking for more details about your application. I mean, presumably there is something that the mupdf app itself doesn't do to cause you to write your own? | 17:42.36 |
sebras | yes, exactly. | 17:43.43 |
| I'm try to see if there a features that many mupdf-based android apps need that should be in the mupdf library instead. | 17:44.14 |
Robin_Watts | Another marvellous Windows-ism. If your app crashes repeatedly several times, windows silently flags it as problematic, and causes subsequent runs to silently be run with a fault tolerant shim on the heap. So suddenly you stop being able to debug it. Awesome! | 17:44.42 |
Artur__ | ok, I am learning actually , I have looked NDK for android, want to monually build light pdf veauer, I know that android have not built in, and I want to handle specific actions that could be done programaticaly. | 17:46.39 |
Robin_Watts | what sort of actions ? | 17:47.05 |
Artur__ | i wan to display each page for some perioud of time for example and then the other. | 17:48.49 |
Robin_Watts | Artur__: ok. Transitions. | 17:49.08 |
Artur__ | or to open cpecific page | 17:49.08 |
| it is interesting, cause I am using native libs | 17:49.33 |
| I`ve discoovered JNI , and want to get used to lower level programing | 17:50.41 |
tor8 | Artur__: sounds to me like you want to write your own JNI interface to mupdf C library, and your own java classes, rather than build on our android viewer. | 17:54.29 |
sebras | tor8: yes, but also like the existing java classes and mupdf-jni is a good starting point. | 17:55.01 |
| is? IS?! I mean _are_ of course. | 17:55.23 |
Robin_Watts | Artur__: If your intention is to learn jni, then writing your own interface would be a good way to go. | 17:55.53 |
tor8 | sebras: actually, I don't think so. the existing java classes and JNI layer are rather inflexible and bound to each other in a way that doesn't really mirror the C library very well. | 17:56.11 |
Robin_Watts | If you get a mirror of the C library API working in java, let us know! | 17:56.29 |
| tor8: Right, that's what I always try to warn people. The existing java->C stuff is *just* enough for us, and tightly bound to our needs. | 17:57.09 |
tor8 | I think we should maybe put some more effort into making public language wrapper APIs, starting with Java | 17:57.41 |
sebras | tor8: I don't disagree about that, but if I were just about to learn jni then I'd definitely take a look for inspiration. | 17:58.11 |
tor8 | I have some ideas for a slightly higher level C api, being basically wrapper functions for common use cases that hide the device interface and setup | 17:58.25 |
| sebras: nitpicking, you disagree "with" not "about" ;) | 17:58.58 |
malc__ | tor8: please - no | 17:59.02 |
Artur__ | sure, but I have a way to go till that) At first I want to finish what I`ve started guys ( Figure out mupdf usage in java level at first ) | 17:59.15 |
tor8 | malc__: why not? the current lego brick design won't go away, if that's what you're worried about. | 17:59.44 |
Robin_Watts | "disagree about" is acceptable english I think. | 17:59.58 |
malc__ | tor8: in this case - knock yourself out :) | 18:00.16 |
tor8 | but the fairly talkative and repetitive set up required to get a bitmap out, or get a text search up and running, is, well, repetitive and could be trivially wrapped in a library function | 18:00.47 |
malc__ | tor8: problems will begin when you will decide to hide some bricks into -internal and then (possibly) make -internal inaccessible to mere mortals is what frightens me | 18:01.17 |
Robin_Watts | Artur__: Attempting to understand the existing java level usage may be worthwhile. Attempting to extend the java stuff without changing the jni is likely to lead to problems. | 18:01.50 |
tor8 | malc__: the current split of what is in -internal and public is not perfect. | 18:01.52 |
| malc__: I think Robin's classification of -internal being "unstable API" and public being "somewhat more stable API" is a better way to think about it | 18:02.30 |
sebras | tor8: do you envision making -internal inaccessible at some point? this appears to malc__'s real problem... | 18:02.45 |
malc__ | tor8: fair enough then, works for me | 18:02.56 |
tor8 | sebras: I'm hoping that soon-ish we can reorganize all the headers... robin's opinion that we should split them into much smaller pieces is starting to appeal to me more and more. | 18:03.34 |
| malc__: if there are things in internal that you think should be public, do speak up about them. | 18:04.23 |
| also if there are awkward APIs | 18:04.36 |
sebras | tor8: oh, ok... why? | 18:04.40 |
Robin_Watts | I get some definite progressions with this 'parent gstate' thing. Also lots of regressions. But I'll keep bashing. | 18:04.50 |
tor8 | I know the text extraction data structures are a pain to work with | 18:05.02 |
Robin_Watts | sebras: Change one function type. recompile EVERYTHING. | 18:05.15 |
malc__ | tor8: pdf.trailer | 18:05.22 |
| pixmap fields | 18:05.35 |
tor8 | Robin_Watts: you're basing it on the topctm stuff? | 18:05.38 |
malc__ | pdf_page.ctm | 18:05.46 |
Robin_Watts | tor8: not exactly. | 18:05.49 |
malc__ | fz_device.user | 18:05.55 |
| pdf.page_objs | 18:06.12 |
| dev.hints | 18:06.18 |
| page.mediabox | 18:06.25 |
| pdf_lookup_dest | 18:06.38 |
| pdf_parse_link_dest | 18:06.46 |
tor8 | malc__: pdf_page internals should be opaque; is there any particular reason you need those internals? | 18:06.52 |
malc__ | tor8: sure, getting links rectangles for instance | 18:07.17 |
tor8 | agh. that reminds me... the link rectangles are not transformed as they should. we're missing a step there to get them into the "neutral" document space. | 18:08.08 |
malc__ | fz_text_style fields | 18:08.28 |
| pdf_lookup_substitute_font [that's more of a hack though] | 18:08.55 |
tor8 | malc__: the pixmap fields should have accessor functions | 18:09.00 |
malc__ | i fail to see the reason for this, but okay | 18:09.36 |
tor8 | malc__: system font callbacks for font lookups are a todo list item, which just needs some prodding because it's simple but not a priority | 18:09.41 |
malc__ | tor8: i didn't mean that :) i'm just using droidsansfallback to render the ui elements | 18:10.29 |
tor8 | malc__: ah! well, that's a hack so justifies calling an "internal" function :) | 18:11.44 |
malc__ | indeed :) | 18:12.09 |
k2 | hello | 18:28.54 |
Robin_Watts | greetings | 18:29.18 |
k2 | someone told me about your RGB to CMYK color algorithm, do you know if it is published anywhere so I can check it? I'd thank it so much | 18:30.25 |
Robin_Watts | k2: Which RGB to CMYK color algorithm? | 18:31.42 |
| Is this a gs question? or a mupdf one? | 18:31.55 |
k2 | http://svn.ghostscript.com/ghostscript/tags/ghostscript-9.02/base/gxdcconv.c | 18:32.08 |
| this one | 18:32.17 |
| gs one | 18:32.30 |
Robin_Watts | The guy to talk to about color question is mvrhel, and he's out for the next couple of hours at least. | 18:33.08 |
k2 | i'm just missing the ucr value that you used there | 18:33.21 |
| ahh ok thank you so much for the info :D | 18:33.29 |
Robin_Watts | but broadly, we tend to use a proper color management system now. | 18:33.32 |
| ucr = Under Color Removal, AIUI. | 18:33.41 |
k2 | ahh ok | 18:34.26 |
| we want to make something web based design system that would allow the user to see colors in CMYK in a live way | 18:35.00 |
| so we're basically converting it to CMYK and then back to RGB so the result is the intended as browsers won't let you use CMYK values yet | 18:35.29 |
| that why we're looking for an accurate way to make the conversion | 18:35.57 |
| something that we couldn't do the right way with common algorithms | 18:36.17 |
Robin_Watts | k2: It sounds to me like you really want to be using a color management system. | 18:36.47 |
| Such as lcms. | 18:36.50 |
| That way you can use that to do the mapping for you, and by giving it different profiles you can cope with different monitors etc. | 18:37.17 |
k2 | def, will have to take a look into it | 18:39.31 |
| ok, thank you so much for the info, need to run :D see you, farewell | 18:41.25 |
Robin_Watts | tor8: excellent. 147 differences, all progressions. | 18:52.38 |
| Let's see if I can split this off from the svgwrite commit. | 18:52.59 |
| tor8: OK, various reviews on robin master | 19:25.14 |
| The svgwrite one could go in now too I guess. It's not complete, but it doesn't crash, and it makes a good effort at most stuff. | 19:25.58 |
| Forward 1 day (to 2013/05/10)>>> | |