You can also do this right in Javascript on the client side using ImageMagick.
see http://manuels.github.io/unix-toolbox.js/ and https://github.com/manuels/unix-toolbox.js-imagemagick/tree/...
HN user
You can also do this right in Javascript on the client side using ImageMagick.
see http://manuels.github.io/unix-toolbox.js/ and https://github.com/manuels/unix-toolbox.js-imagemagick/tree/...
why does it want permission to my github account at all?
The GNU Privacy Guard suite was ported using Mozilla's emscripten [1] and requires a recent browser with window.crypto.getRandomValues() support (e.g. Chrome or the Firefox released yesterday).
For more Unix tools ported to Javascript have a look a the unix-toolbox.js project [2]
[1] http://emscripten.org/ [2] http://manuels.github.io/unix-toolbox.js/
Tobias Schneider's barcode scanner [1] is a great example for a simple bar code scanner (<100 lines) However, it turned out to be not very accurate in a lot of cases. That's why I ported ExactImage's [2] bardecode [3] to javascript using emscripten [4].
I hope you like it.
[1] https://gist.github.com/tobeytailor/421369 [2] http://www.exactcode.com/site/open_source/exactimage/bardeco... [3] http://manpages.ubuntu.com/manpages/lucid/man1/bardecode.1.h... [4] http://emscripten.org/
Thanks ivan_ah! I really didn't expect so much positive response!
Yes, the main work is done in the webworker (~250kb) + the tex format file latex.fmt (~700kb)
Really?! I didn't expect that! (I don't run Windows, and so I didn't try it in IE.) Good to know, thanks!
I added support for packages (you might have to refresh your browser's cache).
The first package supported is geometry. If you want to add another, append the required files to the supported_packages array.
This is what it looks like for the geometry package: https://github.com/manuels/texlive.js/blob/master/website/ma...
Sad to hear that. I don't use Safari, but maybe it cannot compete with the JS engines of Firefox and Chrome's version of the Webkit engine.
This script reqiures a lot of computation in JS and communication between the website and the webworker (~300kb). Maybe Safari is unable to cope with this in a decent amount of time.
Yes, the font file for italic fonts are currently missing (See https://github.com/manuels/texlive.js/issues/1)
I could not figure out which file is missing, yet. but as soon as I find it, I will include it and fix this.
Latex packages are not supported automatically. The script has to download the required files in advance which is currently only done for the font file etc.
In theory one could search the LaTeX code for '\usepackage' stings and download the required files and mount them into the virtual filesystem of emscripten.
See https://github.com/manuels/texlive.js/blob/master/website/ma...
No, emscripten emulates a virtual unix filesystem. That's why you see this error on a Windows machine.
Thanks for your hints! I added a 'Open PDF' button to circumvent popup blockers.
Yes, I used emscripten to port it to Javascript. It was not that hard. Emscripten had three bugs I had to fix (the hardest was to find that the %g format was not supported by emscripten's sscanf).
But it was compiled almost like for x86: first convert the pdftex 'web' souce code to c using web2c, then compile it to LLVM bytecode and the LLVM bytecode to JS.