0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-01-10 00:40:30 -05:00

Merge pull request #4520 from penpot/alotor-fix-exporter-problem

🐛 Fix problem with exporter texts
This commit is contained in:
Alejandro 2024-04-25 16:30:32 +02:00 committed by GitHub
commit 625bfa7166
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 28 additions and 5 deletions

View file

@ -122,7 +122,11 @@
(add! :stroke-cap-end)))
(cond-> text?
(-> (add! :grow-type)
(-> (add! :x)
(add! :y)
(add! :width)
(add! :height)
(add! :grow-type)
(add! :content (comp json/encode uuid->string))
(add! :position-data (comp json/encode uuid->string))))

View file

@ -94,6 +94,13 @@
(obj/unset! "disable-shadows?")
(obj/set! "ref" ref)
(obj/set! "id" (dm/fmt "shape-%" shape-id))
;; TODO: This is added for backward compatibility.
(cond-> (and (cfh/text-shape? shape) (empty? (:position-data shape)))
(-> (obj/set! "x" (:x shape))
(obj/set! "y" (:y shape))
(obj/set! "width" (:width shape))
(obj/set! "height" (:height shape))))
(obj/set! "style" styles))
wrapper-props

View file

@ -272,9 +272,21 @@
(def has-position? #{:frame :rect :image :text})
(defn parse-position
[props svg-data]
(let [values (->> (select-keys svg-data [:x :y :width :height])
(d/mapm (fn [_ val] (d/parse-double val))))]
[props node svg-data]
(let [x (get-meta node :x d/parse-double)
y (get-meta node :y d/parse-double)
width (get-meta node :width d/parse-double)
height (get-meta node :height d/parse-double)
values (->> (select-keys svg-data [:x :y :width :height])
(d/mapm (fn [_ val] (d/parse-double val))))
values
(cond-> values
(some? x) (assoc :x x)
(some? y) (assoc :y y)
(some? width) (assoc :width width)
(some? height) (assoc :height height))]
(d/merge props values)))
(defn parse-circle
@ -392,7 +404,7 @@
center (gpt/point center-x center-y)]
(cond-> props
(has-position? type)
(parse-position svg-data)
(parse-position node svg-data)
(= type :svg-raw)
(add-svg-position node)