ErgoEmacsEmacsLispBlogEmacsLispBuy Tutorial
Web Hosting by 1&1

38.16.1 Image Formats

Emacs can display a number of different image formats; some of them are supported only if particular support libraries are installed on your machine. In some environments, Emacs can load image libraries on demand; if so, the variable image-library-alist can be used to modify the set of known names for these dynamic libraries (though it is not possible to add new image formats).

The supported image formats include XBM, XPM (this requires the libraries libXpm version 3.4k and libz), GIF (requiring libungif 4.1.0), PostScript, PBM, JPEG (requiring the libjpeg library version v6a), TIFF (requiring libtiff v3.4), PNG (requiring libpng 1.0.2), and SVG (requiring librsvg 2.0.0).

You specify one of these formats with an image type symbol. The image type symbols are xbm, xpm, gif, postscript, pbm, jpeg, tiff, png, and svg.

— Variable: image-types

This variable contains a list of those image type symbols that are potentially supported in the current configuration. Potentially here means that Emacs knows about the image types, not necessarily that they can be loaded (they could depend on unavailable dynamic libraries, for example).

To know which image types are really available, use image-type-available-p.

— Variable: image-library-alist

This in an alist of image types vs external libraries needed to display them.

Each element is a list (image-type library...), where the car is a supported image format from image-types, and the rest are strings giving alternate filenames for the corresponding external libraries to load.

Emacs tries to load the libraries in the order they appear on the list; if none is loaded, the running session of Emacs won't support the image type. pbm and xbm don't need to be listed; they're always supported.

This variable is ignored if the image libraries are statically linked into Emacs.

— Function: image-type-available-p type

This function returns non-nil if image type type is available, i.e., if images of this type can be loaded and displayed in Emacs. type should be one of the types contained in image-types.

For image types whose support libraries are statically linked, this function always returns t; for other image types, it returns t if the dynamic library could be loaded, nil otherwise.

blog comments powered by Disqus