branch: externals/scanner commit 52bb7197d9e5dc4ea3651e85d7cb95535fd177e0 Author: Raffael Stocker <r.stoc...@mnet-mail.de> Commit: Raffael Stocker <r.stoc...@mnet-mail.de>
fix handling of tessdata directory --- scanner-test.el | 7 +++++-- scanner.el | 11 ++++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/scanner-test.el b/scanner-test.el index a88d67c..c7a2bb6 100644 --- a/scanner-test.el +++ b/scanner-test.el @@ -141,6 +141,7 @@ (scanner-tesseract-languages '("eng" "deu")) (scanner-tesseract-switches '("--opt1" "--opt2")) (scanner-tesseract-outputs '("out1" "out2")) + (scanner-tessdata-dir "/usr/share/tessdata/") (-compare-fn #'string=)) (should (-is-infix-p '("-l" "eng+deu") (scanner--tesseract-args "infile" "outfile"))) @@ -149,13 +150,15 @@ "outfile")))) (let ((scanner--tesseract-v4 "1000")) (should-not (-is-infix-p '("--dpi" "300") (scanner--tesseract-args "infile" - "outfile")))) + "outfile")))) (should (-contains-p (scanner--tesseract-args "infile" "outfile") "--opt1")) (should (-contains-p (scanner--tesseract-args "infile" "outfile") "--opt2")) (should (-contains-p (scanner--tesseract-args "infile" "outfile") "infile")) (should (-contains-p (scanner--tesseract-args "infile" "outfile") "outfile")) (should (-contains-p (scanner--tesseract-args "infile" "outfile") "out1")) - (should (-contains-p (scanner--tesseract-args "infile" "outfile") "out2")))) + (should (-contains-p (scanner--tesseract-args "infile" "outfile") "out2")) + (should (-is-infix-p '("--tessdata-dir" "/usr/share/tessdata/") + (scanner--tesseract-args "infile" "outfile"))))) ;; Note: interactive commands are only tested for their non-interactive ;; behavior diff --git a/scanner.el b/scanner.el index b4cad60..c40107a 100644 --- a/scanner.el +++ b/scanner.el @@ -144,14 +144,19 @@ widget's values and the elements of SET." widget))) (defcustom scanner-tessdata-dir - (or (getenv "TESSDATA_PREFIX") - "/usr/share/") + (let ((prefix (directory-file-name + (getenv "TESSDATA_PREFIX")))) + (if prefix + (if (string= (file-name-nondirectory prefix) "tessdata/") + prefix + (concat (file-name-as-directory prefix) "tessdata/")) + "/usr/share/tessdata/")) "Tesseract data directory prefix." :type '(string)) (defcustom scanner-tesseract-configdir (if scanner-tessdata-dir - (concat (file-name-as-directory scanner-tessdata-dir) "tessdata/configs/") + (concat (file-name-as-directory scanner-tessdata-dir) "configs/") "/usr/share/tessdata/configs/") "Config file directory for tesseract." :type '(string))