Emacs под Windows и PNG файлы
У кого-нибудь есть указатели на получение изображений PNG для отображения в Emacs 23 под Win32?.. Я установил набор утилит gnuwin32, включая libpng и zlib; C:\Program Files\GnuWin32\bin находится в пути. Файлы JPG начали работать, но не PNG. Я был бы признателен за любые намеки на то, чтобы это работало.
EDIT: миниатюры PNG на самом деле отображают тонкие (например, в Dired через C-t C-t). Однако открытие их не выполняется (открывается как мусор в основном режиме, а в режиме изображения M-x указывается "недопустимая спецификация изображения" ).
Ответы
Ответ 1
Вам необходимо скопировать одну из этих dlls "libpng12d.dll" "libpng12.dll" "libpng.dll" "libpng13d.dll" "libpng13.dll" в ваш каталог emacs-23.1/bin/. Им нужен zlib1.dll, который вы также должны скопировать. Я сделал то же самое для jpeg62.dll и giflib4.dll, и теперь мои emacs поддерживают файлы jpg, gif и png. По какой-то причине это не работает, если я просто поместил эти DLL в путь.
Вы можете проверить (image-type-available-p 'png)
, чтобы узнать, поддерживается ли png. image-library-alist
отображает тип изображения в список DLL, которые его поддерживают.
Ответ 2
Согласно официальному руководству:
3.3 Как получить поддержку изображения?
В Emacs встроена поддержка изображений XBM и PBM/PGM/PPM. Этого достаточно, чтобы увидеть монохромные заставки и значки инструментов. Начиная с 22.2, официальные предварительно скомпилированные двоичные файлы для Windows содержат пакет libXpm, который требуется для отображения цветовых версий этих изображений.
Emacs скомпилирован для распознавания изображений JPEG, PNG, GIF и TIFF, но для отображения этих типов изображений требуются внешние библиотеки DLL, которые не входят в состав Emacs. См. Другие полезные порты.
Эти dll для различных форматов изображений (насколько мне известно) - XPM (xpm4.dll), PNG (libpng13.dll, zlib1.dll), JPEG (jpeg62.dll), TIFF (libtiff3.dll) и GIF (giflib4.dll);
Ответ 3
Чтобы отобразить версию DLL PNG, доступную для вашей версии Emacs для Windows, вы можете оценить (cdr (assq 'png dynamic-library-alist))
Ответ 4
Начиная с Emacs 25 каталог загрузки файлов Emacs включает в себя -deps
zip-пакеты, которые можно извлечь в папку установки emacs и включить библиотеки изображений для PNG, SVG, JPEG, GIF, TIFF и т.д.
Смотрите также этот ответ emacs.stackexchange.