hniksic / emacs-htmlize

Convert buffer text and decorations to HTML.
192 stars 45 forks source link

SVG inline image broken #49

Closed TobiasZawada closed 2 months ago

TobiasZawada commented 2 months ago

The following lisp-code creates a buffer *test* with an embedded svg image data.

The image is broken in the HTML file generated by htmlize-buffer in buffer *test*.

The reason is that the data is exported with Mime type svg instead of svg+xml.

(with-current-buffer (get-buffer-create "*test*")
  (let (b e)
    (erase-buffer)
    (insert "\t  Text before\n\t")
    (setq b (point))
    (insert (propertize "bold\n" 'face 'bold)
        (propertize "\t  italic\n" 'face 'italic))
    (setq e (point))
    (insert "\n\tText after")
    (let ((ol (make-overlay b e)))
      (overlay-put
       ol
       'display
       (create-image
    "<svg height=\"140\" width=\"500\" xmlns=\"http://www.w3.org/2000/svg\">
<ellipse rx=\"100\" ry=\"50\" cx=\"120\" cy=\"80\"
style=\"fill:yellow;stroke:green;stroke-width:3\" />
</svg>"
    'svg
    t)))))