diff --git a/README.md b/README.md index 92f4220..42a2906 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ > # UNDER CONTRUCTION -> ## Due for Release on ~~Tuesday, Oct 4, 2016~~ Friday, Oct 7, 2016 > Sorry for the delay! # [Tesseract.js](http://tesseract.projectnaptha.com/) @@ -281,4 +280,4 @@ After you've cloned the repo and run `npm install` as described in the [Developm ``` ### Send us a Pull Request! -Thanks :) \ No newline at end of file +Thanks :) diff --git a/dist/tesseract.js b/dist/tesseract.js index 7f5950f..942fbcc 100644 --- a/dist/tesseract.js +++ b/dist/tesseract.js @@ -3,12 +3,19 @@ exports.defaultOptions = { langPath: 'https://cdn.rawgit.com/naptha/tessdata/gh-pages/3.02/', - workerPath: 'dist/worker.js', + // workerPath: 'dist/worker.js', + workerPath: 'https://cdn.rawgit.com/naptha/tesseract.js/0.1.3/dist/worker.js', tesseractPath: 'https://cdn.rawgit.com/naptha/tesseract.js-core/0.1.0/index.js' }; exports.spawnWorker = function spawnWorker(instance, workerOptions) { - var worker = new Worker(workerOptions.workerPath); + if (window.Blob && window.URL) { + var blob = new Blob(['importScripts("' + workerOptions.workerPath + '");']); + var worker = new Worker(window.URL.createObjectURL(blob)); + } else { + var worker = new Worker(workerOptions.workerPath); + } + worker.onmessage = function (e) { var packet = e.data; instance._recv(packet); @@ -167,8 +174,13 @@ var TesseractWorker = function () { var _this = this; return this._delay(function (job) { - options = options || {}; - options.lang = options.lang || 'eng'; + if (typeof options === 'string') { + options = { lang: options }; + } else { + options = options || {}; + options.lang = options.lang || 'eng'; + } + job._send('recognize', { image: image, options: options, workerOptions: _this.workerOptions }); }); } diff --git a/dist/worker.js b/dist/worker.js index 4d264c4..84d7efd 100644 --- a/dist/worker.js +++ b/dist/worker.js @@ -12245,6 +12245,7 @@ function handleRecognize(req, res) { base.Init(null, lang); res.progress({ status: 'initialized with language' }); + var options = req.options; for (var option in options) { if (options.hasOwnProperty(option)) { base.SetVariable(option, options[option]); diff --git a/src/browser/index.js b/src/browser/index.js index 7ac97fa..d49d25f 100644 --- a/src/browser/index.js +++ b/src/browser/index.js @@ -1,11 +1,18 @@ exports.defaultOptions = { langPath: 'https://cdn.rawgit.com/naptha/tessdata/gh-pages/3.02/', - workerPath: 'dist/worker.js', + // workerPath: 'dist/worker.js', + workerPath: 'https://cdn.rawgit.com/naptha/tesseract.js/0.1.3/dist/worker.js', tesseractPath: 'https://cdn.rawgit.com/naptha/tesseract.js-core/0.1.0/index.js', } exports.spawnWorker = function spawnWorker(instance, workerOptions){ - var worker = new Worker(workerOptions.workerPath) + if(window.Blob && window.URL){ + var blob = new Blob(['importScripts("' + workerOptions.workerPath + '");']) + var worker = new Worker(window.URL.createObjectURL(blob)); + }else{ + var worker = new Worker(workerOptions.workerPath) + } + worker.onmessage = function(e){ var packet = e.data; instance._recv(packet) diff --git a/src/common/worker.js b/src/common/worker.js index ab9b1d7..b6e4a4f 100644 --- a/src/common/worker.js +++ b/src/common/worker.js @@ -91,6 +91,7 @@ function handleRecognize(req, res){ base.Init(null, lang) res.progress({ status: 'initialized with language' }) + var options = req.options; for (var option in options) { if (options.hasOwnProperty(option)) { base.SetVariable(option, options[option]); diff --git a/src/index.js b/src/index.js index 4ad3357..9bf2830 100644 --- a/src/index.js +++ b/src/index.js @@ -18,8 +18,13 @@ class TesseractWorker { recognize(image, options){ return this._delay(job => { - options = options || {} - options.lang = options.lang || 'eng'; + if(typeof options === 'string'){ + options = { lang: options }; + }else{ + options = options || {} + options.lang = options.lang || 'eng'; + } + job._send('recognize', { image: image, options: options, workerOptions: this.workerOptions }) }) }