branch: externals/scanner commit 9a93e82540994e7bf3194549bb7ff54ae94c7d50 Author: Raffael Stocker <r.stoc...@mnet-mail.de> Commit: Raffael Stocker <r.stoc...@mnet-mail.de>
add size parsing function --- scanner.el | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/scanner.el b/scanner.el index b35e42acf0..13c45be9c1 100644 --- a/scanner.el +++ b/scanner.el @@ -610,6 +610,21 @@ y-dimension. If no size is configured, return nil." 'user-switches 'scanner-scanimage-switches) "The arguments list used for preview scans.") +(defun scanner--size-cm (size) + (cond ((and (keywordp size) + (plist-member scanner-paper-sizes size)) + (mapcar (lambda (num) (/ num 10.0)) + (plist-get scanner-paper-sizes size))) + ((stringp size) (mapcar (lambda (size-str) + (let ((idx (string-match + "\\([[:digit:]]+\\(\\.[[:digit:]]+\\)?\\)cm" + size-str))) + (if idx (string-to-number + (match-string 1 size-str)) + (user-error "Unknown size format: %s" size-str)))) + (split-string size ","))) + (t (error "Unknown paper size: %s" size)))) + (defun scanner--cm-to-pixels (cm resolution) (floor (* (/ cm 2.54) resolution)))