unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
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




             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

  List information: https://www.gnu.org/software/emacs/

* 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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).