| <<<Back 1 day (to 2017/01/16) | 20170117 |
kasimscs | Hello, I want to know that, whether this library supports Text Extraction from Pdf | 09:32.43 |
| Hello, I want to know that, whether this library supports Text Extraction from Pdf | 09:33.41 |
chrisl | kasimscs: which library? | 09:33.52 |
kasimscs | mupdf | 09:34.07 |
| @chrisl i'm asking about http://www.mupdf.com | 09:34.40 |
chrisl | mupdf does support that, when the information is available inthe PDF to do so | 09:34.48 |
kasimscs | Thanks you @chrisl | 09:35.38 |
Guest33569 | hello, i use to download the project mupdf for android, i use to compile the project successfully, but when i select a pdf i have an fatal error when the app liking the libmupdf_java.so | 15:51.47 |
| can find the symbol __aeabi_memclr8, any have an idea ? | 15:52.20 |
| join mupdf | 15:53.12 |
tor8 | Guest33569: sorry, no. did you follow *all* the instructions in the android ReadMe.txt? | 15:54.13 |
jogux | Guest33569: That basically means that the APP_PLATFORM or something similar is set wrongly in your project. ie. the NDK is set to target android API 24 or later, and you're trying to run on an earlier device. So you need to set APP_PLATFORM to the minimum Android you want to support. | 16:00.44 |
Robin_Watts | Yeah, what jogux said. | 16:13.07 |
| You are most probably running an up to date ndk that no longer supports an APP_PLATFORM as old as we use by default. | 16:13.35 |
| You can tweak the APP_PLATFORM (or something like that at least) to make it work. | 16:13.50 |
| They removed older API levels from the later NDKs. | 16:14.03 |
jogux | Robin_Watts: ahhh, is that it is. We should probably update our version in git to target one higher than the latest SDK allows or something? It's frigging annoying how often this comes up :( | 16:35.57 |
Robin_Watts | jogux: Probably, yes. | 16:36.16 |
jogux | pokes my last comment in sebras direction then (he deals with the android app, right) | 16:44.22 |
Robin_Watts | I believe so. | 16:44.38 |
tor8 | jogux: I think sebras found and fixed several inconsistencies with the version numbers of various platforms | 16:50.00 |
| the work is in the new repositories | 16:50.10 |
| http://git.ghostscript.com/?p=mupdf-android-viewer-old.git;a=summary | 16:50.32 |
| the Harmonize API level one | 16:50.51 |
dograt | Hi. Can anyone explain how the TJ operator in PDF works? Reference says numbers are subtracted from the current coordinte, moving the glyph left for positive adjustments. | 20:32.37 |
| And yet the example immediate following shows the opposite; [ (A) 120 (W) 120 (A) 95 (Y again) ] TJ prints more spread out than [ (AWAY again) ] TJ rather than smushed together | 20:33.29 |
sh4rm4^bnc | hmm, it seems JSON.parse is a bit buggy | 20:55.45 |
| {"chans":{"#reaver":{"autojoin":"true","dogreet":"true"}},"doAuth":false,"nickservpass":"p4ssw0rd","bar":"foose99"} | 20:56.59 |
| privmsg(cha� | 20:57.15 |
| SyntaxError: JSON:1: expected 'u' | 20:57.16 |
| at JSON.parse (native) | 20:57.16 |
Robin_Watts | JSON is supposedly hugely flakey. | 20:57.57 |
| but what does that have to do with ghostscript? | 20:58.11 |
sh4rm4^bnc | isn't mujs your product ? | 20:58.22 |
Robin_Watts | oh, right, yeah. | 20:58.41 |
| Didn't realise JSON.parse was part of the standard js stuff. | 20:59.09 |
sh4rm4^bnc | yeah, i was mildly suprised that mujs supports it | 20:59.38 |
| hmm. maybe my json-from-disk routine doesn't zero-terminate the string... | 21:01.08 |
| ,settings | 21:03.41 |
jsbot | {"chans":{"#reaver":{"autojoin":"true","dogreet":"true"}},"doAuth":false,"nickservpass":"p4ssw0rd","bar":"foose99"} | 21:03.42 |
sh4rm4^bnc | hmm, i guess that was it. sorry for the noise. | 21:04.14 |
| ,leave | 21:04.16 |
tor8 | sh4rm4^bnc: really? mujs's JSON parser parses the text you pasted just fine. | 21:05.46 |
| sh4rm4^bnc: http://pastebin.com/raw/7K9YHLNx | 21:06.35 |
sh4rm4^bnc | yeah, i suppose it was my json-from-disk routine that didn't zero-terminate the string | 21:06.36 |
tor8 | yeah, that'll do it. | 21:06.46 |
sh4rm4^bnc | btw i now call my JS functions from c via eval_print(J, "my_js_func()"); | 21:07.50 |
| that works but has the disadvantage that i need to escape strings | 21:08.07 |
| is there a better way ? | 21:08.15 |
| or is there a built-in, 100% safe escape function ? | 21:08.53 |
tor8 | js_getglobal(J, "my_js_func"); js_pushnull(); /* the 'this' object to use */ js_pcall(J, 0); | 21:09.04 |
| js_getglobal(J, "print"); js_pushnull(); js_pushstring(J, "hello, world"); js_pcall(J, 1); | 21:09.37 |
sh4rm4^bnc | my escape func: http://sprunge.us/QYVK | 21:09.45 |
| oh nice, thanks | 21:10.15 |
tor8 | followed by js_pop() to pop the return value or error object | 21:10.27 |
| so, js_getglobal(function-name); js_pushnull(); js_pushstring() ... and all the arguments ... js_pcall(number of arguments); js_pop(1) | 21:10.54 |
| the return value of js_pcall tells you if an exception was thrown. if it was, the error object is on the top of the stack | 21:11.28 |
| otherwise the return value is on the top of the stack ('undefined' if nothing was returned) | 21:11.44 |
sh4rm4^bnc | ok, thanks | 21:12.27 |
| hmm it seems all changes i do to a global js object from inside functions are abandoned when the func goes out of scope | 22:30.33 |
tor8 | sh4rm4^bnc: have you got your code somewhere? | 22:33.38 |
sh4rm4^bnc | http://sprunge.us/OgQZ?js | 22:36.15 |
| if i for example set settings.chans["#newchan"] = {} in a func, it will be undefined in the next func call | 22:37.45 |
tor8 | sh4rm4^bnc: that sounds implausible... do you have the c code where you call functions? | 22:41.17 |
sh4rm4^bnc | yeah http://sprunge.us/GAKS?c | 22:42.22 |
tor8 | and you're not getting any error messages? | 22:43.10 |
sh4rm4^bnc | yeah, i always get TypeError: cannot convert undefined to object | 22:44.49 |
| at get_chan_setting (ircbot.js:18) | 22:44.49 |
bperry | [object Object] | 22:45.03 |
sh4rm4^bnc | when i access settings.chans["#newchan"] after i've set it from inside a func | 22:45.29 |
tor8 | sh4rm4^bnc: http://pastebin.com/raw/uB9M2vcJ | 22:47.00 |
sh4rm4^bnc | thanks, i was about to clean up my code to do an initial git commit with my current version before switching to your new better call method | 22:48.37 |
| is the issue with the object lifetime related to how i called into js ? | 22:49.31 |
tor8 | sh4rm4^bnc: no. I suspect some other bug. | 22:50.17 |
| if you can access the 'settings' object at all you should be good | 22:50.42 |
| in init_chan_settings, if (chan in settings.chans) is a better idiom than calling typeof | 22:52.58 |
sh4rm4^bnc | ok | 22:54.18 |
tor8 | you're not calling reload_script by accident? | 22:55.09 |
sh4rm4^bnc | urgh | 22:56.50 |
| indeed | 22:56.52 |
sh4rm4^bnc | hides | 22:57.20 |
| damn, that bug was driving me crazy. thanks for the heads up :) | 22:58.45 |
| leftover debug code... | 22:59.13 |
| Forward 1 day (to 2017/01/18)>>> | |