Emacs может отображать несколько различных форматов изображений. Некоторые из этих форматов изображений поддерживаются только при установке определенных библиотек поддержки. На некоторых платформах Emacs может загружать библиотеки поддержки по требованию; в таком случае переменную dynamic-library-alist можно использовать для изменения набора известных имен этих динамических библиотек.
См. Динамически загружаемые библиотеки.
Поддерживаемые форматы изображений (и требуемые библиотеки поддержки) включают PBM и XBM (которые не зависят от библиотек поддержки и всегда доступны), XPM (libXpm), GIF (libgif или libungif), JPEG (libjpeg), TIFF (libtiff), PNG (libpng), SVG (librsvg) и WebP (libwebp).
Каждый из этих форматов изображений связан с символом типа изображения. Символы для вышеуказанных форматов, соответственно, pbm, xbm, xpm, gif, jpeg, tiff, png, svg и webp.
На некоторых платформах встроенная поддержка изображений, которая не требует каких-либо необязательных библиотек, включает изображения BMP.32
Кроме того, если вы собираете Emacs с поддержкой ImageMagick (libMagickWand), Emacs может отображать любой формат изображения, который может отобразить ImageMagick. См. Изображения ImageMagick. Все изображения, отображаемые через ImageMagick, имеют символ типа imagemagick.
Эта переменная содержит список символов типов для форматов изображений, которые потенциально поддерживаются в текущей конфигурации.
"Потенциально" означает, что Emacs знает об этих типах изображений, но это не обязательно означает, что они могут быть использованы (например, они могут зависеть от недоступных динамических библиотек). Чтобы узнать, какие типы изображений действительно доступны, используйте image-type-available-p.
Эта функция возвращает не-nil, если изображения типа type могут быть загружены и отображены. type должен быть символом типа изображения.
Для типов изображений, чьи библиотеки поддержки статически связаны, эта функция всегда возвращает t. Для типов изображений, чьи библиотеки поддержки загружаются динамически, она возвращает t, если библиотека могла быть загружена, и nil в противном случае.
В MS-Windows для этого требуется, чтобы w32-use-native-image-API было установлено в не-nil.