| <<<Back 1 day (to 2016/04/20) | 20160421 |
squ | good day | 04:46.10 |
| http://mujs.com/docs/about | 04:47.16 |
| The primary meeting place for the MuJS community is the #ghostscript IRC channel on freenode. | 04:47.23 |
| http://vpaste.net/TY4ky | 05:08.28 |
| jni/../../../../thirdparty/mujs/jsdate.c:340: error: undefined reference to '__isfinite' | 05:08.35 |
| jni/../../../../thirdparty/mujs/jsnumber.c:40: error: undefined reference to '__isinf' | 05:08.41 |
sebras | squ: good morning! | 05:58.18 |
squ | hello | 05:58.27 |
ghostbot | Welcome to #ghostscript, the channel for Ghostscript and MuPDF. If you have a question, please ask it, don't ask to ask it. Do be prepared to wait for a reply as devs will check the logs and reply when they come on line. | 05:58.27 |
sebras | squ: someone else reported having a similar issue yesterday. let me check the channel logs to see if someone came up with a solution. | 05:59.28 |
squ | maybe it was me | 05:59.52 |
sebras | squ: are you Van_? | 06:00.21 |
squ | nope | 06:00.29 |
sebras | squ: then it was not you. :) | 06:00.39 |
| squ: right, so someone suggested downgrading the Android NDK version to NDK r10e 32bit and it built without errors (using r11 this person saw similar errors to yours). | 06:01.31 |
squ | interesting | 06:01.49 |
sebras | squ: in case you want to read the full discussion search for Van_ in these two chatlogs: http://ghostscript.com/irclogs/2016/04/18.html http://ghostscript.com/irclogs/2016/04/19.html | 06:03.26 |
squ | he is on windows | 06:04.25 |
| http://dl.google.com/android/ndk/android-ndk-r10e-darwin-x86_64.bin | 06:06.20 |
| this is what he recommends, r10e | 06:06.28 |
sebras | squ: yes, do you mind trying it out? | 06:11.55 |
squ | I am | 06:12.05 |
| trying | 06:12.08 |
| please wait | 06:12.15 |
sebras | Robin_Watts_: hm... so android prints "LOCAL_LDLIBS is always ignored for static libraries" and then complains about isinfinite and isinf missing and LOCAL_LDLIBS contains -lm. maybe we _are_ doing something wrong? | 06:17.31 |
squ | yes you are | 06:19.04 |
| you also have outdated documentation http://www.mupdf.com/docs/how-to-build-mupdf-for-android | 06:20.06 |
sebras | squ: I think the documentation in platform/android/viewer/ReadMe.txt is updated though. | 06:20.58 |
| squ: but thanks for reminding us to update the website. | 06:22.03 |
squ | thanks, it has some information | 06:22.04 |
| r10e compiles | 06:26.37 |
| wouldn't be surprised if that's android team fault, because they are total noobs | 06:27.12 |
sebras | squ: the warning we get does worry me though. maybe ndk r11 is right in failng to link but it would have been nicer to have one version grace period where you get a warning but still linking. | 06:30.11 |
squ | yay, application runs on device, pdf is rendered | 06:34.06 |
sebras | squ: congrats! :) | 06:34.14 |
squ | thanks | 06:34.31 |
| mind looking at https://design.google.com/icons/ | 06:36.32 |
| bottom Action section, there is TOC icon | 06:37.01 |
| that what you show as toc icon in your app is not toc | 06:37.23 |
| toc is text --- number * | 06:37.48 |
| :) | 06:37.55 |
sebras | squ: I can't find the icon you're mentioning (there are too many). what does the caption say? | 06:38.04 |
squ | caption say âtocâ | 06:38.15 |
| that what you use currently is list | 06:38.41 |
| list is: * bullet --- text | 06:39.02 |
| toc is: text --- number * | 06:39.12 |
| :) | 06:39.19 |
sebras | squ: ah! I see what you mean now. | 06:40.23 |
squ | I can update icons and make empty template project | 06:44.37 |
| because this is what I'm going to do anyway :) | 06:45.26 |
sebras | kens: morning kens! | 06:49.58 |
kens | morning sebras | 06:50.11 |
squ | 17 megabytes - libs/armeabi-v7a/libmupdf_java.so | 07:00.21 |
| embedding pdf.js takes only 2 mb | 07:02.03 |
kens | and ? | 07:03.11 |
sebras | squ: that size is most likely due to the embedded font files. | 07:04.23 |
squ | they are not shared? | 07:04.59 |
kens | Perhaps more to the point, pdf.js is a very poor PDF consumer, it gets *lots* of things wrong | 07:05.13 |
squ | I've tried it yesterday | 07:05.33 |
| choosing between two, mupdf and pdf.js | 07:05.47 |
chrisl | pdf.js is basically just a PDF interpreter - most of the graphics heavy lifting, decompression etc is done in the web browser. | 07:07.11 |
squ | do you know about paid solution, PlugPDF, what does it use? | 07:08.50 |
| check out prices, $700 for 1 app https://plugpdf.com/order/ | 07:09.22 |
sebras | squ: can I ask what kind of project you are using mupdf for? | 07:09.39 |
squ | I want to have native android listviews for pdf selection (1) and listview for outlines (table of contents (2) and then pdf viewer | 07:10.24 |
sebras | squ: there is a NOCJK flag that can be used to disable some of the fonts in mupdf making the library smaller, but that may of course cause PDFs using CJK to render improperly. | 07:10.30 |
squ | CJK is chinese? | 07:10.47 |
sebras | squ: chinese, japanese, korean, yes. | 07:10.57 |
squ | that's great | 07:11.10 |
| can try | 07:11.24 |
kens | squ are you aware of the licencing for MuPDF ? Are you planning a commercial applicatoin or an AGPL project ? | 07:11.56 |
squ | free app | 07:12.20 |
| source/fitz/noto.c|28 col 8| #ifdef NOCJK | 07:12.25 |
| source/pdf/pdf-cmap-table.c|3 col 9| #ifndef NOCJK | 07:12.25 |
kens | free isn't enough, you need to be AGPL compliant, and that means publishing your source as well. | 07:12.59 |
squ | that's weird | 07:13.19 |
| do you know other pdf viewer solutions for android? | 07:13.41 |
kens | Nope | 07:15.10 |
sebras | squ: our focus is on mupdf and ghostscript. | 07:15.36 |
squ | http://developer.android.com/reference/android/graphics/pdf/PdfRenderer.html | 07:16.27 |
| do you know what they use? | 07:16.34 |
| mupdf? | 07:16.40 |
sebras | squ: I honestly have no idea. | 07:17.36 |
| squ: if you decide that you do want to use mupdf, but do not want to publish the source code for your app then you may negotiate for a commercial license for mupdf by contacting sales@artifex.com | 07:19.14 |
squ | :) | 07:19.34 |
| thank you | 07:19.41 |
tor8 | Robin_Watts_: there's a weird line in the "Fix bug 696718" commit; did you review it? | 08:11.48 |
squ | sebras: sent e-mail asking how much would cost to pay you | 08:17.04 |
sebras | tor8: seems like maybe we should only specify LOCAL_LDLIBS when building the app. but I haven't looks into it in detail. | 08:18.25 |
tor8 | squ: for commercial licensing, you should contact Scott at sales@artifex.com. He'll get back to you with a hundred questions, which you should answer as well as you can (many of them will be irrelevant to your case, so just ignore the ones that don't apply). | 08:18.28 |
squ | I see | 08:19.42 |
tor8 | fredross-perry: (for the logs) in onShowOutline, you do "if (!outline) [outline release]" I suspect you mean "if (outline) [outline release]" | 08:24.06 |
squ | you do objc without arc? | 08:25.47 |
tor8 | squ: our iOS code predates ARC. | 08:26.08 |
squ | that's not excuse | 08:26.16 |
tor8 | and we don't feel like rewriting crap every time apple sneezes ;) | 08:26.39 |
squ | xcode has automatic conversion utilitiy | 08:26.47 |
| you feel like fixing if (!outline) [outline release] | 08:27.16 |
tor8 | fredross-perry: the app icons are all a bit mixed, some have rounded corners others have square. I vaguely remember apple's guidelines saying to use square corners because ios will round them automatically. | 08:28.10 |
squ | it was meant for the app store | 08:28.56 |
tor8 | fredross-perry: the original icon is in docs/logo/mupdf-simplified-logo.png at 1280x1280 resolution so you can scale that down to get a sharper app icon for 167 | 08:29.43 |
squ | â#define NOCJK 1â makes âlibmupdf_java.soâ 10 megabyte (instead of 17) | 08:46.53 |
tor8 | squ: you need both #define NOCJK and #define TOFU, but then multi-language EPUB support will be lacking | 08:47.28 |
squ | tofu is what? | 08:47.48 |
tor8 | a pun on a pun... | 08:48.12 |
squ | ? :) | 08:48.21 |
tor8 | define TOFU removes the NoTo fonts | 08:48.25 |
| Noto fonts are "no tofu" | 08:48.34 |
squ | which correspond to what language? | 08:48.36 |
tor8 | Tofu are the little squares you get when a font is missing characters | 08:49.07 |
squ | I see | 08:49.14 |
tor8 | named for appearance of the food | 08:49.20 |
squ | ok | 08:49.25 |
| square food ? :) | 08:49.43 |
kens2 | tofu = bean curd, google or wikipedia will tell you more | 08:50.04 |
tor8 | with -DTOFU all of the Noto fonts are skipped (and you'll be missing lots of unicode characters) | 08:50.16 |
squ | 2.6 megabyte | 08:50.36 |
| something is wrong ? :) | 08:50.40 |
tor8 | with -DNOCJK all of the CJK fonts and encoding tables are skipped (and you won't be able to show *any* CJK PDF files, whether the font is embedded or not) | 08:50.43 |
| squ: https://duckduckgo.com/?q=tofu&t=ffab&iax=1&ia=images | 08:50.51 |
squ | in which Makefile -DNOCJK needs to be added ? Because I'm manually editing these two files: | 08:51.34 |
| source/fitz/noto.c|28 col 8| #ifdef NOCJK | 08:51.40 |
| source/pdf/pdf-cmap-table.c|3 col 9| #ifndef NOCJK | 08:51.40 |
tor8 | squ: you're building for android with ndk-build? then Core.mk | 08:52.33 |
squ | yes | 08:52.40 |
tor8 | squ: -DTOFU -DTOFU_CJK if you want none of the embedded fonts, but still want to be able to display CJK PDF files if the file has embedded fonts | 08:53.46 |
| -DNOTO_SMALL if you still want reasonable unicode support for EPUB, but skip the most uncommon scripts | 08:54.25 |
sebras | tor8: if you are going to work on documentation again today, maybe this info ought to be in ReadMe.txt. :) | 08:54.27 |
squ | LOCAL_CFLAGS += -DNOCJK -DTOFU | 08:54.37 |
| gives 2.6 megabyte .so file | 08:54.53 |
tor8 | sebras: it's at the top of noto.c ... and we don't recommend building without fonts. it's going to be a crappy user experience to see tofu everywhere. | 08:55.00 |
squ | can't fonts be shared? | 08:56.07 |
tor8 | squ: yes, that's about right. there's still plenty of data tables that we can't live without. like the base 14 fonts for PDF (about 800k) | 08:56.08 |
| squ: no. because system fonts are very often not available, or the wrong versions, or substituted with another font altogether on linux. | 08:56.46 |
| and we don't want to deal with bugs due to users having the wrong fonts installed; better to ship with the correct fonts that we know work. | 08:57.13 |
squ | you may like this reading https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/On_Demand_Resources_Guide/ | 08:57.13 |
| On-demand resources are fetched into application when they are needed | 08:57.55 |
tor8 | squ: That's only going to work on iOS. mupdf runs on *everything*. | 08:57.57 |
squ | ) | 08:58.18 |
| in real life means doesn't properly run anywhere | 08:58.40 |
kens | Not really, no. | 08:59.08 |
squ | apple created their own renderer, android will do too it just lags years behind apple | 09:00.22 |
| viewer doesn't handle links? | 09:24.11 |
sebras | squ: mupdf the rendering library does, and at least some of the sample viewers do. I'm not sure if the android app does though. | 09:29.04 |
tor8 | sebras: it does, but you have to toggle them to active with the links button in the toolbar | 09:30.06 |
squ | right | 09:30.25 |
ferter | hi everyone! have i understood correctly, that pdf standart defines width for annotation borders to stay in an interval [0, 12]? | 09:33.35 |
kens | Perhaps you could quote the page of the PDF Reference where that is stated ? | 09:34.07 |
sebras | tor8: oh. I had forgotten that. | 09:34.12 |
kens | ferter : I cannot immediately see anything in the specification which limits the width of a Border | 09:36.16 |
ferter | kens: the thing is that i failed to find it. i've just realized, that different pdf readers let you set the Width no more than 12 and if i save annotation with width more than 12 it works weird and wrong in different viewers. | 09:37.08 |
kens | Well that sounds like a bug in the PDF consumer. I can't see anything in the specification which limits the border width. | 09:37.41 |
ferter | it works fine if i keep it within [0, 12] interval. | 09:37.42 |
| ok | 09:37.57 |
kens | I suggest you go and read the specificatoin, *I* can't find anything there which imposies a limit | 09:38.04 |
ferter | yeah, i failed to find it as well. and decided to ask you | 09:38.32 |
kens | Of course, if you want accurate, portable annotatoin appearances you should create an appearance stream for your annotatoins | 09:38.41 |
ferter | yeah, i do. | 09:39.41 |
kens | Of course, Acrobat always ignores appearance streams and creates its own anyway, so there is no real way to be 100% certain of the result | 09:40.19 |
ferter | yeah, i know. | 09:40.49 |
| thank you. i will dig into that | 09:41.46 |
tor8 | Robin_Watts_: oh, bollocks. we've really cocked up the release this time... int markup_dir:2 means any value other than 0 or 1 will be negative | 10:10.24 |
| so we create a new fz_text span for every glyph | 10:10.53 |
| because 2 != -2 | 10:11.00 |
Robin_Watts_ | unsigned int. balls. | 10:37.28 |
jogux | :( slightly odd none of the compilers picked that up. | 10:37.53 |
tor8 | Robin_Watts_: fix on tor/master | 10:42.26 |
| Robin_Watts_: memory wise it's not a huge problem (the number of characters on a page is still relatively small) | 10:42.46 |
| but it does mess up text extraction and search whenever there is glyph cluster mapping involved, such as for ligatures | 10:43.08 |
squ | -Wsign-compare | 10:43.23 |
tor8 | because the 'null' glyph corresponding to the 'i' in an 'fi' cluster will end up in its own span, and have no actual bbox to use so text extraction guesses wrong and splits the line and makes the highlighted area wonky | 10:45.34 |
squ | you don't use any lint-like software? | 10:47.53 |
Robin_Watts_ | 1.9b ? | 10:47.56 |
tor8 | Robin_Watts_: yeah, it looks like we'll have to do a 1.9a | 10:48.13 |
Robin_Watts_ | squ: Yes. We use lots of static analysis stuff, and regression testing etc. | 10:48.30 |
| tor8: I'd prefer 1.9.1 | 10:48.43 |
| 1.9a sounds like 1.9 alpha. | 10:48.48 |
| similarly 1.9b | 10:48.57 |
tor8 | Robin_Watts_: blender does 'a', 'b', 'c' ... 'z' for patch releases like this | 10:49.30 |
| 1.9.1 looks like a real release | 10:49.40 |
malc_ | 1.9 XP | 10:49.49 |
| or Vista | 10:49.51 |
Robin_Watts_ | It is a real release. | 10:49.53 |
tor8 | Robin_Watts_: as in, with new features etc. not just a bugfix release. | 10:50.07 |
Robin_Watts_ | tor8: Well, I guess we can get fred ios viewer epub toc fix in too. | 10:50.23 |
tor8 | Robin_Watts_: that would be nice. did you see my ramblings about icons for the ios viewer? | 10:50.43 |
Robin_Watts_ | tor8: I did not. | 10:50.49 |
tor8 | in docs/logo/mupdf-simplified-logo.png is the original app logo | 10:51.02 |
| app icon* | 10:51.10 |
jogux | my preference would be following http://semver.org - the reason for that is that parts of the iOS app store, and cocoapods, use semantic versioning. | 10:51.41 |
tor8 | Robin_Watts_: also, some oddities in fred's other commit. if (ptr is null) free(ptr) | 10:51.46 |
jogux | (semantic versions says that the z x.y.z is always a patch release) | 10:51.54 |
squ | btw, do you have cocoapods? | 10:52.15 |
Robin_Watts_ | squ: But *do* answer with all the details you can. The more details, the closer we can tailor the license, the lower the price. | 10:52.18 |
jogux | squ: yes. | 10:52.21 |
| squ: https://cocoapods.org/pods/MuPDF | 10:52.35 |
tor8 | jogux: I guess we could switch to another versioning scheme. | 10:52.37 |
Robin_Watts_ | bah. stupid irc/me. | 10:52.39 |
squ | why not do similar thing with android? | 10:52.47 |
| dependencies { | 10:53.29 |
| compile 'io.reactivex:rxandroid:0.24.0' | 10:53.29 |
| } | 10:53.29 |
Robin_Watts_ | tor8: which strange line in the bug 696718 ? | 10:53.38 |
squ | this line in file âbuild.gradleâ adds lib | 10:53.49 |
tor8 | if (!outline) | 10:54.10 |
| +[outline release]; | 10:54.10 |
Robin_Watts_ | tor8: OK, I don't speak objC well enough to know why that's strange :) | 10:55.09 |
squ | it call method on NULL | 10:55.37 |
| which, btw, is fine | 10:55.50 |
jogux | tor8: I would say it should just call release. | 10:57.30 |
kens | jogux see #artifex | 10:57.47 |
jogux | kens: ta | 10:58.17 |
tor8 | Robin_Watts_: release is the equiv. of free. I suspect he wants to free if it's set, not if it's null. | 11:00.05 |
| squ: it's not a crash, it's a memory leak... | 11:00.14 |
squ | no it is not a leak | 11:08.44 |
| :) | 11:08.46 |
tor8 | squ: try thinking a bit harder. | 11:09.28 |
squ | :) | 11:09.37 |
f77 | I know the standard convention is not to ask to ask but just ask. However, would this be an appropriate forum to ask Robin_Watts_ (and maybe jogux) about CVS repositories or is there a better channel for that? | 12:22.39 |
kens | No ths is the best place | 12:23.27 |
| We don't do CVS though, we use Git | 12:23.33 |
jogux | kens: see #artifex ;-) | 12:23.46 |
kens | aha! | 12:24.00 |
| Then I am the wrong person to ask :-) | 12:24.10 |
jogux | f77: go for it, if we get too far off topic we can move elsewhere | 12:24.11 |
f77 | My dream (and this could just be a dream) is to get matching SHAs in the new git repo as I think that'll make things easier for everyone, it certainly won't make things harder. | 12:25.46 |
| I reckon the best chance of that is to use the same version of the conversion program | 12:26.12 |
| My package manager will give me something based on r5319 (officially labelled 2.4.0-dev), I can download a release from 2012 (not sure which revision that is based on) or I can grab any revision I like from the tigris SVN repo (latest seems to be 5464 from 20th September last year). | 12:27.13 |
| Is there a way of finding out exactly what was used previously? | 12:28.08 |
jogux | there may well be. just seeing if I can remember how I login to that machine... | 12:34.23 |
f77 | kens: I really wish I didn't have to do CVS :) | 12:35.32 |
jogux | I canât believe you guys still havenât switched :-) | 12:35.48 |
kens | f77 I haven't used it in decades, can't say I'm sorry :) | 12:36.04 |
jogux | f77: er, just to check, which tool are we talking about? :) | 12:36.18 |
f77 | jogux: cvs2git but most of the files will be labelled cvs2svn | 12:36.36 |
tor8 | there are probably dozens of cvs-to-git export scripts | 12:37.08 |
jogux | thereâs a cvs2svn package installed which is version 2.3.0-2 | 12:37.15 |
f77 | jogux: one python wrapper calling a load of files inside a directory like cvs2svn_lib and maybe cvs2svn_rcsparse | 12:37.19 |
jogux | the machine is running ubuntu precise, so itâs probably the default version from there. | 12:38.02 |
f77 | kens: Last time I used it properly was converting a CVS repo to SVN before turning my back on it, and that was a long time ago. Then yesterday I got re-acquainted with that particular horror from my past. | 12:38.43 |
jogux | f77: I canât find any locally installed versions, so 2.3.0-2 seems a good bet. | 12:39.06 |
f77 | jogux: I'm not installing ubuntu for this, there is only so far I'm willing to go :) | 12:39.13 |
jogux | assuming you at least have debian, you could try dpkg -i on something from http://packages.ubuntu.com/precise/all/cvs2svn/download | 12:40.28 |
| itâs dependencies look trivial so that would probably work | 12:40.48 |
f77 | jogux: does apt tell you any more about the exact version and when they packaged it? I'm more of a yum person but maybe apt-cache show cvs2git | 12:40.55 |
jogux | f77: http://packages.ubuntu.com/precise/cvs2svn has links on the right hand side (âDownload Source Packageâ to the original upstream tar.gz and the patches they applied | 12:42.34 |
f77 | We're a redhat/fedora/centos shop - looks like I can get close enough though | 12:42.57 |
jogux | the patches look entirely uninteresting, so Iâd say you could build from that tar.gz and the result would be equivalent. | 12:43.31 |
f77 | All seems to be working fine from that download, I guess I'll wait to see what kind of SHAs pop out the other end | 13:10.00 |
jogux | f77: cool, thanks. It may not matter if the SHAs donât match as we can probably still use git rebase to pull stuff across so long as the resulting source trees at the point we diverged end up roughly equivalent. | 13:13.42 |
f77 | Yeah, I think that's probably good enough but matching SHAs would be pretty awesome as then some proper git magic could happen should you want to just cherry pick specific fixes to any current branch you may have. I doubt it'll happen but worth a shot. | 13:23.09 |
jogux | indeed | 13:23.23 |
Robin_Watts_ | sorry, was out on an errand. back now, reading logs. | 13:27.55 |
| f77: Hi. Sounds like Jogux has you sorted. | 13:29.47 |
f77 | I think so Robin_Watts_ unless you have any recollection of using a different version of cvs2git than the one he found. | 13:30.21 |
Robin_Watts_ | I don't. | 13:31.42 |
| I have root on that box, so I probably did: sudo apt-get install cvs2svn | 13:32.02 |
f77 | Ok, I think what I'm using is as close as I'll get without installing ubuntu on a physical machine | 13:32.34 |
Robin_Watts_ | Actually... given that rewriting the commit messages changes the SHAs, I think it's very unlikely that we'll get exactly the same SHAs. | 13:33.39 |
| Cos I may not have all the rewrite operations recorded there. | 13:33.55 |
f77 | By the looks of it, though, there is an initial import which should have a load of SHAs (i.e. all CVS commits to the point you had) then the commit re-writes happened inside of git so unless commit history was re-written we might have some overlap. I'm kind of hoping for the best and expecting the worst here. | 13:36.34 |
| Given I had to run it anyway, it seemed to make sense to use the same version since it can't make the situation any worse. | 13:36.55 |
| Nice to meet you, BTW | 13:37.49 |
Robin_Watts_ | and you. | 13:52.04 |
| f77: The point of the commit message rewrites is to change the commit history. | 14:07.30 |
| The Picsel review system using i-spec templates etc means that every CVS commit message starts: "Description:" | 14:08.06 |
| so when you look in gitk, every commit is called "Description:". It's not hugely helpful :) | 14:08.30 |
| So that's why we rewrote the messages. | 14:08.38 |
| And in git, if you change the message you change the SHA. | 14:08.56 |
| I can't argue with your logic for using the most equivalent version possible though. | 14:11.28 |
f77 | I'll see what I get and maybe a combination of the commands I have from you coupled with you just giving me a few examples of what your comments look like should let me reproduce the same process. I've not seen any output yet so I have this fear that I'll need to make a directory called /home/robin and run the whole thing again :) | 14:38.07 |
rayjj | somehow my chatzilla window got made so small that there wasn't even room for the "X" shutdown button ??? | 15:50.47 |
| I had to shut it down from task manager and when I restarted it was at least big enough to resize back to normal. | 15:51.24 |
| Windows 10 has too many weird shortcuts and hotkeys that I trip over when I bump a wrong key sometimes | 15:52.18 |
| and I still have the issue that windows ofthen don't come to the top when they get focus | 15:52.55 |
| Forward 1 day (to 2016/04/22)>>> | |