This commit is contained in:
@@ -14,7 +14,7 @@
|
|||||||
(def ^:private font-size 10)
|
(def ^:private font-size 10)
|
||||||
|
|
||||||
(def ^:private tightpage-regexp
|
(def ^:private tightpage-regexp
|
||||||
#"^Preview: Tightpage (-?[0-9]+)\s*(-?[0-9]+)\s*(-?[0-9]+)\s*(-?[0-9]+)")
|
#"Preview: Tightpage (-?\d+) *(-?\d+) *(-?\d+) *(-?\d+)")
|
||||||
|
|
||||||
(def ^:private preview-end-regexp
|
(def ^:private preview-end-regexp
|
||||||
#"(?:^Preview: Tightpage.*$)?\n! Preview: Snippet \d+ ended.\((\d+)\+(\d+)x(\d+)\)")
|
#"(?:^Preview: Tightpage.*$)?\n! Preview: Snippet \d+ ended.\((\d+)\+(\d+)x(\d+)\)")
|
||||||
@@ -22,12 +22,11 @@
|
|||||||
(defn- invoke [extra-opts & args]
|
(defn- invoke [extra-opts & args]
|
||||||
(let [namespace (or (::ns extra-opts)
|
(let [namespace (or (::ns extra-opts)
|
||||||
(first args))
|
(first args))
|
||||||
|
out-bytes (ByteArrayOutputStream.)
|
||||||
out-stream (common/tee-output-stream
|
out-stream (common/tee-output-stream
|
||||||
(ByteArrayOutputStream.)
|
out-bytes
|
||||||
(l/log-stream :info (str namespace "/out")))
|
(l/log-stream :info (str namespace "/out")))
|
||||||
err-stream (common/tee-output-stream
|
err-stream (l/log-stream :info (str namespace "/err"))
|
||||||
(ByteArrayOutputStream.)
|
|
||||||
(l/log-stream :info (str namespace "/err")))
|
|
||||||
opts (merge extra-opts
|
opts (merge extra-opts
|
||||||
{:out out-stream :err err-stream :continue true
|
{:out out-stream :err err-stream :continue true
|
||||||
:shutdown p/destroy-tree
|
:shutdown p/destroy-tree
|
||||||
@@ -38,12 +37,10 @@
|
|||||||
(l/infof "%s exited w/ status %d"
|
(l/infof "%s exited w/ status %d"
|
||||||
(first cmd) exit))})
|
(first cmd) exit))})
|
||||||
r (apply p/shell opts args)
|
r (apply p/shell opts args)
|
||||||
out (.toString out-stream)]
|
out (.toString out-bytes)]
|
||||||
(-> r
|
(-> r
|
||||||
(assoc ::out out))))
|
(assoc ::out out))))
|
||||||
|
|
||||||
;; dvisvgm --page=1- --optimize --clipjoin --relative --no-fonts -v3 --message='processing page {?pageno}: output written to {?svgpath}' --bbox=preview -o %B-%%9p.svg %f
|
|
||||||
|
|
||||||
(defn- invoke-xelatex [& {:keys [file output-dir]}]
|
(defn- invoke-xelatex [& {:keys [file output-dir]}]
|
||||||
(let [{out ::out} (invoke
|
(let [{out ::out} (invoke
|
||||||
{:dir output-dir}
|
{:dir output-dir}
|
||||||
@@ -52,6 +49,7 @@
|
|||||||
[tp1 tp2 tp3 tp4] (->> (re-find tightpage-regexp out)
|
[tp1 tp2 tp3 tp4] (->> (re-find tightpage-regexp out)
|
||||||
(drop 1)
|
(drop 1)
|
||||||
(map parse-long))]
|
(map parse-long))]
|
||||||
|
(def the-out out)
|
||||||
(->> (re-seq preview-end-regexp out)
|
(->> (re-seq preview-end-regexp out)
|
||||||
(map #(let [[d1 d2 d3] (map parse-long (drop 1 %))
|
(map #(let [[d1 d2 d3] (map parse-long (drop 1 %))
|
||||||
depth (/ (- d2 tp2)
|
depth (/ (- d2 tp2)
|
||||||
@@ -66,6 +64,11 @@
|
|||||||
scale-divisor
|
scale-divisor
|
||||||
font-size)})))))
|
font-size)})))))
|
||||||
|
|
||||||
|
;; dvisvgm --page=1- --optimize --clipjoin --relative --no-fonts -v3 --message='processing page {?pageno}: output written to {?svgpath}' --bbox=preview -o %B-%%9p.svg %f
|
||||||
|
|
||||||
|
#_
|
||||||
|
(defn- invoke-dvisvgm [& {:keys []}])
|
||||||
|
|
||||||
|
|
||||||
;;; Temml
|
;;; Temml
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user