[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/scanner a09407e 11/17: query tesseract version and use
From: |
Stefan Monnier |
Subject: |
[elpa] externals/scanner a09407e 11/17: query tesseract version and use new switches conditionally |
Date: |
Mon, 14 Dec 2020 18:34:43 -0500 (EST) |
branch: externals/scanner
commit a09407e101996a0c92e7bb4feabacc8605d350aa
Author: Raffael Stocker <r.stocker@mnet-mail.de>
Commit: Raffael Stocker <r.stocker@mnet-mail.de>
query tesseract version and use new switches conditionally
* scanner.el: (scanner--tesseract-version): new function
(scanner--tesseract-args): make --dpi switch depend on tesseract
version
* scanner-test.el (scanner-test-tesseract-args): add tests for
tesseract-version dependency
---
scanner-test.el | 8 ++++++--
scanner.el | 11 ++++++++++-
2 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/scanner-test.el b/scanner-test.el
index 8500af4..a88d67c 100644
--- a/scanner-test.el
+++ b/scanner-test.el
@@ -144,8 +144,12 @@
(-compare-fn #'string=))
(should (-is-infix-p '("-l" "eng+deu") (scanner--tesseract-args "infile"
"outfile")))
- (should (-is-infix-p '("--dpi" "300") (scanner--tesseract-args "infile"
- "outfile")))
+ (let ((scanner--tesseract-v4 "0"))
+ (should (-is-infix-p '("--dpi" "300") (scanner--tesseract-args "infile"
+
"outfile"))))
+ (let ((scanner--tesseract-v4 "1000"))
+ (should-not (-is-infix-p '("--dpi" "300") (scanner--tesseract-args
"infile"
+
"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"))
diff --git a/scanner.el b/scanner.el
index a36f320..b4cad60 100644
--- a/scanner.el
+++ b/scanner.el
@@ -338,6 +338,12 @@ simply dropped."
switches)
scanner-scanimage-switches))))
+(defconst scanner--tesseract-v4 "4")
+
+(defun scanner--tesseract-version ()
+ "Determine the version of tesseract."
+ (cadr (split-string (car (process-lines scanner-tesseract-program
"--version")))))
+
(defun scanner--tesseract-args (input output-base)
"Construct the argument list for ‘tesseract(1)’.
INPUT is the input file name, OUTPUT-BASE is the basename for the
@@ -346,7 +352,10 @@ extensions depending on the selected output options, see
‘scanner-tesseract-outputs’."
(-flatten (list input output-base
"-l" (mapconcat #'identity
scanner-tesseract-languages "+")
- "--dpi" (number-to-string (plist-get
scanner-resolution :doc))
+ (unless (version< (scanner--tesseract-version)
+
scanner--tesseract-v4)
+ (list "--dpi" (number-to-string
+ (plist-get
scanner-resolution :doc))))
scanner-tesseract-switches
"--tessdata-dir"
scanner-tessdata-dir
- [elpa] externals/scanner 7d5cd5c 02/17: correct Readme.org markup (=...= instead of ~...~), (continued)
- [elpa] externals/scanner 7d5cd5c 02/17: correct Readme.org markup (=...= instead of ~...~), Stefan Monnier, 2020/12/14
- [elpa] externals/scanner 2101ca0 08/17: handle undefined options and tesseract config directory gracefully, Stefan Monnier, 2020/12/14
- [elpa] externals/scanner 22ead30 15/17: correct handling of empty TESSDATA_PREFIX env variable, Stefan Monnier, 2020/12/14
- [elpa] externals/scanner 5c8f04b 09/17: add --tessdata-dir option to scanner--tesseract-args, Stefan Monnier, 2020/12/14
- [elpa] externals/scanner 52bb719 14/17: fix handling of tessdata directory, Stefan Monnier, 2020/12/14
- [elpa] externals/scanner ff513b0 10/17: add image size selection function and order menu more logically, Stefan Monnier, 2020/12/14
- [elpa] externals/scanner 1439335 16/17: update documentation, Stefan Monnier, 2020/12/14
- [elpa] externals/scanner f1a7256 12/17: make use of --tessdata-dir compatible with tesseract v4, Stefan Monnier, 2020/12/14
- [elpa] externals/scanner 440a324 13/17: Revert "make use of --tessdata-dir compatible with tesseract v4", Stefan Monnier, 2020/12/14
- [elpa] externals/scanner b96d3d1 17/17: bump version number, Stefan Monnier, 2020/12/14
- [elpa] externals/scanner a09407e 11/17: query tesseract version and use new switches conditionally,
Stefan Monnier <=