From: Lars Ingebrigtsen <larsi@gnus.org>
To: emacs-devel@gnu.org
Subject: Image-conversion shims
Date: Sat, 28 Sep 2019 22:06:29 +0200 [thread overview]
Message-ID: <87v9tctcca.fsf@gnus.org> (raw)
I suggested this in an unrelated bug report, but nobody probably saw it
there, so I'm bringing it up here again:
Emacs has approximate feature parity for the major image formats (JPEG,
PNG, etc) now with ImageMagick-enabled Emacs versions. I think our
long-term plan is to obsolete the ImageMagick support completely,
because ImageMagick has some security issues.
However, the only way to support more obscure image formats (like BMP or
WebP) is currently to build with ImageMagick support, so it seems likely
to me that distributions are going to continue doing that.
So I wonder whether a way to speed up the transition to an
ImageMagick-less future would be to have a small package that would
convert "transparently" from formats we don't understand to formats we
do understand.
The only likely external conversion program is, unfortunately, "convert"
from ImageMagick, so there are still security implications, and a shim
like that isn't something we could have switched on by default.
However, we would be able to say to users who need to handle some BMP
images "set `use-external-image-formats' to t" instead of "build with
ImageMagick", and that would be a win, I think. (Because Emacs would at
least segfault less.)
If that variable is t, and we don't have support for whatever image
format the user is trying to display, then `create-image' would use the
conversion package to basically run "convert" on the file first. And
"convert -list format/magic" tell us what formats it supports, so it
could all be made to work automagically.
Thoughts?
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
next reply other threads:[~2019-09-28 20:06 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-28 20:06 Lars Ingebrigtsen [this message]
2019-09-28 20:37 ` Image-conversion shims Clément Pit-Claudel
2019-09-28 21:20 ` Lars Ingebrigtsen
2019-09-29 6:24 ` Eli Zaretskii
2019-09-28 21:05 ` Stefan Monnier
2019-09-28 21:21 ` Lars Ingebrigtsen
2019-09-28 23:29 ` Lars Ingebrigtsen
2019-09-29 0:01 ` Lars Ingebrigtsen
2019-09-29 7:11 ` Eli Zaretskii
2019-09-29 11:44 ` Lars Ingebrigtsen
2019-09-29 11:56 ` Eli Zaretskii
2019-09-30 4:12 ` Lars Ingebrigtsen
2019-09-30 7:06 ` Eli Zaretskii
2019-09-30 13:42 ` Lars Ingebrigtsen
2019-09-30 14:01 ` Eli Zaretskii
2019-10-01 12:06 ` Lars Ingebrigtsen
2019-10-01 12:36 ` Eli Zaretskii
2019-09-30 17:27 ` Stefan Monnier
2019-10-01 12:08 ` Lars Ingebrigtsen
2019-10-01 13:09 ` Stefan Monnier
2019-10-06 20:58 ` Juri Linkov
2019-10-07 1:41 ` Lars Ingebrigtsen
2019-10-07 18:48 ` Juri Linkov
2019-10-08 16:06 ` Lars Ingebrigtsen
2019-10-08 17:47 ` Stefan Monnier
2019-10-09 19:26 ` Lars Ingebrigtsen
2019-10-09 19:53 ` Stefan Monnier
2019-10-14 4:53 ` Lars Ingebrigtsen
2019-10-14 19:27 ` Juri Linkov
2019-10-14 19:41 ` Lars Ingebrigtsen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87v9tctcca.fsf@gnus.org \
--to=larsi@gnus.org \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.