| <<<Back 1 day (to 2016/03/10) | 20160311 |
vtorri_ | chrisl: hey | 06:59.01 |
| chrisl: i've modified gconfid.h to have / and not \ in GS_LIB_DEFAULT | 07:00.28 |
| i've fixed another problem (mkdir() in pjparse.c takes 1 arg on Windows) | 07:01.32 |
| chrisl: and i define GSDLLEXPORT to __declspec(dllexport) in iapi.h (#if 0 replaced by #if 1) | 07:02.34 |
| and the compilation was successfull | 07:02.48 |
| i have the dll | 07:02.59 |
chrisl | vtorri_: can you stick a patch on the bug? | 07:45.20 |
vtorri_ | chrisl: i have no patch, as i don't know what you really want | 08:06.33 |
chrisl | vtorri_: right now, I just want a record of what you've done | 08:07.20 |
| vtorri_: but I'm also thinking this sounds like a compiler problem..... | 08:07.42 |
vtorri_ | not really | 08:11.24 |
| mkdir : it's the OS | 08:11.38 |
| GSDLLEXPORT : it's just that def files are certainly not supported by the make rules | 08:12.22 |
| GS_LIB_DEFAULT : i don't know. This seems generated by one of the built tools | 08:12.58 |
chrisl | vtorri_: the path(s), I think, do not change between the executable build and the DLL/so, so why does gscdefs.c build okay for the executable, and not for the DLL? | 08:22.40 |
kent3116 | Good Morning. I was speaking with Robin a couple of days ago regarding an issue I was having when using 'pdf_insert_page'. Because I am developing a plugin for another application, debugging isn't viable as suggested. So, instead I've written a simple app to reproduce. | 09:12.13 |
| When I attempt to call 'pdf_insert_page', it's causing a 'Unhandled Exception' due to a 'Access Violation' in pdf-xref.c | 09:15.21 |
| in the 'pdf_xref_ensure_incremental_object' function (in 'pdf-xref.c' file ) | 09:16.31 |
| The access violation is trying to read the 'xref' class. It says 'Unable to read memory' | 09:19.09 |
Robin_Watts | kent3116: Hi. What OS? | 09:21.32 |
kent3116 | http://files.kamar.nz/PDF_Test.zip is a copy of the project. I'm using MS Visual Studio 2015 on Windows 10 | 09:22.01 |
| Hi Robin. | 09:22.22 |
Robin_Watts | Oh, I remember. You were having an assert that wasn't working as we'd expect. | 09:22.27 |
| 198 Meg does not qualify as a small test example :( | 09:23.04 |
kent3116 | Yes - but because i was in a plugin - I wasn't seeing the effects immediately. So, I've recreated in a stand alone app so I can debug as you suggested. | 09:23.07 |
Robin_Watts | is off out for a bit. | 09:23.23 |
kent3116 | It includes the mupdf source. | 09:23.25 |
Robin_Watts | tor might be able to help you when he comes along, as he was the last person in pdf_insert_page. | 09:23.59 |
kent3116 | He starts later in the day doesn't he ? | 09:26.01 |
| http://files.kamar.nz/PDF_Test_Placeholder.zip is a smaller copy without the mupdf-source included if download size is an issue. | 09:27.18 |
Robin_Watts | It varies. He's in sweden. | 09:27.24 |
kent3116 | It's 10:30pm for me. Just wondering if it's worth me staying up late - or getting up early and hoping to catch him before he finishes | 09:28.15 |
tor8 | kent3116: morning. | 10:30.28 |
kent3116 | Evening tor :) | 10:33.15 |
tor8 | kent3116: unfortunately it's not possible to do what you are trying to do. | 10:34.35 |
| kent3116: you can't load a page from one document and add it to another -- the data structures are bound to the source document. | 10:34.57 |
kent3116 | Bugger - so that's why it's failing :( | 10:35.26 |
tor8 | a page structures have pointers to other structures, so they still refer to objects in the other document | 10:35.47 |
| we're working on a way to do this, but it's not going to make it into the next release | 10:35.57 |
| but if you're willing to work from git, it should be possible in a few weeks time | 10:36.08 |
kent3116 | Does 'pdf_insert_page' only work if you create a new page in the current document | 10:36.12 |
tor8 | correct. | 10:36.17 |
| we are working on a way to 'graft' objects from one document to another | 10:36.32 |
| when that is done, it should be possible to graft a page object from one document into the other | 10:36.51 |
| but until that is done, you're out of luck. sorry. | 10:37.11 |
kent3116 | Okay - I guess I'll just have to wait a few weeks. At least I know it's not something I'm doing and will stop trying to work it out. | 10:37.45 |
| How will I know when it's possible ? | 10:38.38 |
| I mainly want to append onto the current open document an entire other pdf document. this seemed the way to do it (and is similar to the OS X API way of doing it). :) | 10:43.47 |
| In the mean time, I'll work on the other functionality I need - printing the PDF. | 10:45.23 |
| thanks - nearly midnight, so will let you get on with your day. | 10:45.41 |
Robin_Watts | tor8: ping. | 11:46.32 |
| I've updated the bidi/text code on robin/master. See what you think. | 11:47.08 |
| It now uses levels throughout. I'm happier with it now. | 11:47.39 |
NTQ | Hi. Is it possible to add an anchor to every page of an already existing pdf in the form p.<pagenumber>, so it can be accessed with the hash in an URL in a browser? | 11:48.04 |
tor8 | Robin_Watts: Will look now. | 11:48.18 |
Robin_Watts | NTQ: Technically, yes. Using Ghostscript? No. (Unless you're prepared to work very hard) | 11:48.46 |
tor8 | Robin_Watts: should the enum flags be uppercase? | 11:49.02 |
Robin_Watts | should they? | 11:49.18 |
NTQ | Robin_Watts: Which free linux tool would you suggest to do this sort of thing? | 11:49.55 |
tor8 | Robin_Watts: like #defined values are, was my thinking | 11:50.16 |
Robin_Watts | fz_link_kind has it's entries uppercase, but the fz_link_flag stuff is lower case. | 11:50.22 |
| I think uppercase would be better. Will fix. | 11:50.58 |
tor8 | I think the link_flag stuff is an anomaly | 11:51.00 |
Robin_Watts | NTQ: I have no suggestions. | 11:51.26 |
| If it was me, I'd use MuPDF to do it, but I'd be prepared to do lots of coding myself. | 11:51.43 |
tor8 | Robin_Watts: at least now you can use mutool run to do it in javascript :) | 11:52.19 |
| rather than having to build a tool in C and compile and link | 11:52.33 |
Robin_Watts | tor8: was just pondering that, yes :) | 11:53.25 |
tor8 | Robin_Watts: so nothing uses the language tag yet? | 11:53.43 |
Robin_Watts | Nothing yet. | 11:53.49 |
tor8 | doesn't hurt to fix the api just before a release, if we intend to add it | 11:53.59 |
| I'm happy with the commit, if you fix the uppercase enum thing | 11:54.18 |
Robin_Watts | The language tag is the big unknown at the moment, yes. | 11:54.33 |
| Thanks. | 11:54.36 |
tor8 | should it be fz_dir_unset or fz_dir_neutral? | 11:54.59 |
| I'm happy either way | 11:55.09 |
| I was going to say let's hold until after the release, but the cleanups in the bidi code and removal of special handling for numbers make it worth having in the release, IMO | 11:55.56 |
Robin_Watts | I prefer unset, I think. | 11:56.21 |
| tor8: How do you feel about the API for the text-shaper in the last commit? | 12:00.16 |
tor8 | Robin_Watts: not sure I like the statefulness. | 12:03.09 |
| Robin_Watts: is the intent to reuse one shaper to create many fz_text objects? | 12:03.22 |
Robin_Watts | Potentially. | 12:03.42 |
| It needs to have state because we feed it text in different fonts/languages etc. | 12:04.14 |
tor8 | yeah, the question is whether to supply them with each bit of string or as separate calls to set the state | 12:04.43 |
Robin_Watts | We then bidi those multiple disparate bits of text, then shape it to get the final fz_text. | 12:04.45 |
tor8 | supply them before is probably easier if we want to supply text one character at a time | 12:04.59 |
| but if we only want to work on a chunk of string at a time, passing them with the same call makes sense | 12:05.15 |
Robin_Watts | If we are going to be passed an entire paragraph at a time, then sure, no state required. | 12:05.41 |
tor8 | from a user perspective, I'd like to be able to hand off a (rich) string and get a fz_text back; and have some way to query hit tests, cursor positions, and selection spans | 12:05.41 |
| if my input is some form of text annotated with styles, being able to feed it one character at a time makes sense, in which case a stateful api is probably better | 12:06.11 |
| set the font/style/language and then feed it one unicode character at a time | 12:06.22 |
| then flush the shaper and read back the data | 12:06.35 |
Robin_Watts | Well, I have it so that you can pass in 'blocks' at a time, rather than a single char. | 12:06.45 |
| Gotta drop helen at station. back soon. | 12:06.53 |
tor8 | and we can of course pass a block of utf-8 text at once as well | 12:07.00 |
Robin_Watts | Probably need to allow for colours/styles etc. | 12:07.02 |
tor8 | a fz_text doesn't deal with colours | 12:07.13 |
Robin_Watts | which means multiple fz_texts per area. Need to think about that some more. | 12:07.25 |
| Will ponder about the requirement for measurement too. | 12:07.47 |
tor8 | hm, yes...that's one option | 12:07.48 |
| but then we need to let the caller know there's a bunch of text objects to query from | 12:08.05 |
Robin_Watts | tor8: The alternative is to expose something more like the html structures. | 12:49.37 |
| tor8: You here? | 14:04.03 |
| I wonder if we're actually talking about 2 different chunks of code here. | 14:04.19 |
| The first is some high level representation for editable/reflowable text in different colors etc. | 14:04.52 |
| the second is a routine to take that representation to fz_text's, and/or positions within the fz_text and selections etc. | 14:05.25 |
tor8 | we already have the first part, it's our html code :) | 14:05.47 |
| joking aside, yes, I think it'd be better to have two levels here | 14:06.03 |
Robin_Watts | Right. But the second part is NOT the same as our html layout. Or at least isn't yet. | 14:06.22 |
| We could expose the html structures (or something based on it) as the top layer. | 14:07.21 |
| and then rejig the html layout layer into the shaper. | 14:07.38 |
tor8 | what I need most urgently is a single font, single line shaper that can give me cursor positions and selection rangers | 14:14.07 |
| ranges | 14:14.10 |
| to deal with form filling, annotation creation, and the search box for mupdf-gl | 14:14.29 |
| and for the outline layout and other text display | 14:14.37 |
Robin_Watts | And you want that for this release? | 14:15.04 |
tor8 | no, for post release | 14:15.13 |
Robin_Watts | ok. So what are we missing for the release ? | 14:15.32 |
tor8 | I need to track down this elusive java jni segfault thing with freetype | 14:15.37 |
| and write up some javascript/jni docs | 14:15.48 |
Robin_Watts | tor8: yeah, sounds horrid. | 14:15.48 |
| So what do you need from *me* for this release? | 14:17.21 |
| (For form filling, you need multiple lines, single font, single color, I reckon) | 14:18.05 |
| So the input to that can be as simple as a zero terminated unicode buffer, with \n for paragraph breaks. | 14:18.54 |
| If this is for post release, I'll leave it for now, and have a quick scan through the mupdf bugs in bugzilla to see if anything real has popped up. | 14:22.41 |
tor8 | Robin_Watts: yes. | 14:25.14 |
rayjj | This is inconsistent at best. On windows, it turns out that PS does support 64-bit integers (iref.h definition of ps_int and ps_uint), but the GS_PARAM_VALUE_UNION in gsparam.h has it as a "long". On 64-bit linux, this is 64-bit, so parametr values can be larger that 32-bit | 19:19.26 |
| but on Windows, the values > 0x7fffffff become negative | 19:20.51 |
| even on 64-bit builds | 19:22.04 |
| BTW, even 32-bit builds on Windows support 64-bit integers in PS | 19:23.08 |
| I'd like to make the params mirror the ref PS integer, and move them to 64-bit, but am concerned since devices use the same param functions. | 19:27.03 |
| we _could_ change the definition of long to be 64-bit, at least for 64-bit Windows builds (so that we match gcc) | 19:31.28 |
| but that messes up on all the system calls | 19:41.22 |
Robin_Watts | rayjj: If you want 64bit OS to have 64bit params consistently, and 32 bit OS to have 32bit params consistently, then intptr_t is the beast. | 19:44.28 |
| s/OS/builds/ | 19:44.43 |
| and all system calls where the sizes matter should go through a gp_ thing, which can do: if (sizeof(intptr_t) == 4) blah() else _wblah(); | 19:46.07 |
rayjj | Robin_Watts: changing all the places (like contrib devices) that use "long" params to something else is more than I'd like to tackle | 19:52.20 |
| Robin_Watts: but adding a new param type ps_int is doable, | 19:52.58 |
Robin_Watts | I'm channelling chrisl here, and i think he'd say... "After the release". | 19:53.01 |
rayjj | Robin_Watts: I thought he was going to have the RC already | 19:53.43 |
| Robin_Watts: but yeah, not jut before the release | 19:54.01 |
kent3116 | Evening tor8. Just a followup question regarding '...a few weeks...' I know you probably can't give a definite timeline, but a rough timeline would be good. I have a deadline of end April for what I'm currently working on, so would be good to know if a few weeks was mid April for a git version to be available. | 19:55.44 |
Robin_Watts | kent3116: We have a release planned before the end of the month. | 19:59.14 |
| The stuff you want is not going to happen for that release. | 20:00.08 |
| but it is planned as the next job (I think). | 20:00.16 |
kent3116 | Hi Robin - Okay, but that won't have the ability to merge a page from one PDF into another - which is what I'm needing. tor mentioned it was a few weeks away | 20:00.21 |
Robin_Watts | So, it's feasible that it could be ready by the end of April. | 20:00.37 |
| But I wouldn't like to guarantee it. | 20:00.44 |
kent3116 | That's my concern. Which leaves me in a quandary with my deadline :-( | 20:01.43 |
Robin_Watts | I understand, and there is nothing I can do to ease your mind. | 20:02.16 |
kent3116 | Thanks. I'll just have to keep an eye out. How will I know when it's been done ? I don't want to have to annoy you asking all the time after all :-) | 20:03.41 |
Robin_Watts | kent3116: Your best bet is to check in here periodically and watch the git repo. | 20:04.04 |
| having someone to actually test our code as we write it would be a good thing. | 20:04.28 |
kent3116 | I'm having a look - where do I find the git repo change log ? | 20:33.21 |
| I've found y our bug tracking | 20:33.31 |
| don't worry - I was clicking the wrong link. Found it now :-) | 20:34.11 |
PosNeg | how to invert .pdf white text on black background to normal BW .pdf? | 22:09.46 |
| Forward 1 day (to 2016/03/12)>>> | |