mirror of
https://github.com/penpot/penpot.git
synced 2025-01-10 17:00:36 -05:00
🐛 Fixes issue when parsing exponential numbers in paths (backport).
This commit is contained in:
parent
94ccc013d7
commit
162b0cfa6c
1 changed files with 11 additions and 10 deletions
|
@ -31,11 +31,11 @@
|
||||||
(into [] (impl-simplify/simplify points tolerance true)))))
|
(into [] (impl-simplify/simplify points tolerance true)))))
|
||||||
|
|
||||||
;;
|
;;
|
||||||
(def commands-regex #"(?i)[a-z][^a-z]*")
|
(def commands-regex #"(?i)[mzlhvcsqta][^mzlhvcsqta]*")
|
||||||
|
|
||||||
;; Matches numbers for path values allows values like... -.01, 10, +12.22
|
;; Matches numbers for path values allows values like... -.01, 10, +12.22
|
||||||
;; 0 and 1 are special because can refer to flags
|
;; 0 and 1 are special because can refer to flags
|
||||||
(def num-regex #"[+-]?(\d+(\.\d+)?|\.\d+)")
|
(def num-regex #"[+-]?(\d+(\.\d+)?|\.\d+)(e[+-]?\d+)?")
|
||||||
|
|
||||||
(def flag-regex #"[01]")
|
(def flag-regex #"[01]")
|
||||||
|
|
||||||
|
@ -373,14 +373,15 @@
|
||||||
(reduce simplify-command [[start] start-pos start-pos start-pos start-pos])
|
(reduce simplify-command [[start] start-pos start-pos start-pos start-pos])
|
||||||
(first))))
|
(first))))
|
||||||
|
|
||||||
(defn path->content [string]
|
(defn path->content [path-str]
|
||||||
(let [clean-string (-> string
|
(let [clean-path-str
|
||||||
|
(-> path-str
|
||||||
(str/trim)
|
(str/trim)
|
||||||
;; Change "commas" for spaces
|
;; Change "commas" for spaces
|
||||||
(str/replace #"," " ")
|
(str/replace #"," " ")
|
||||||
;; Remove all consecutive spaces
|
;; Remove all consecutive spaces
|
||||||
(str/replace #"\s+" " "))
|
(str/replace #"\s+" " "))
|
||||||
commands (re-seq commands-regex clean-string)]
|
commands (re-seq commands-regex clean-path-str)]
|
||||||
(-> (mapcat parse-command commands)
|
(-> (mapcat parse-command commands)
|
||||||
(simplify-commands))))
|
(simplify-commands))))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue