mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-27 10:54:40 +00:00
* README.imagemagick: Remove.
* etc/NEWS: Move remaining ImageMagick items here.
This commit is contained in:
parent
399653d697
commit
ae2cc2d8e7
@ -1,151 +0,0 @@
|
|||||||
* README for the ImageMagick Emacs branch
|
|
||||||
|
|
||||||
This is the imagemagick branch of Emacs. Imagemagick can now be used
|
|
||||||
to load many new image formats, and also do useful transforms like
|
|
||||||
scaling and rotation.
|
|
||||||
|
|
||||||
This file will attempt to contain draft NEWS, Changelog and manual
|
|
||||||
entries for the new functionality.
|
|
||||||
|
|
||||||
You might need to regenerate the configure scripts:
|
|
||||||
aclocal
|
|
||||||
automake
|
|
||||||
autoheader
|
|
||||||
autoconf
|
|
||||||
./configure --with-imagemagick
|
|
||||||
|
|
||||||
|
|
||||||
* TODO image-type-header-regexps priorities the jpeg loader over the
|
|
||||||
imagemagick one. This is not wrong, but how should a user go about
|
|
||||||
prefering the imagemagick loader? The user might like zooming etc in
|
|
||||||
jpegs.
|
|
||||||
|
|
||||||
try (setq image-type-header-regexps nil) for a quick hack to prefer
|
|
||||||
imagemagick over the jpg loader.
|
|
||||||
|
|
||||||
* TODO For some reason its unbearably slow to look at a page in a large
|
|
||||||
image bundle using the :index feature. The imagemagick "display"
|
|
||||||
command is also a bit slow, but nowhere near as slow as the emacs
|
|
||||||
code. It seems imagemagick tries to unpack every page when loading
|
|
||||||
the bundle. This feature is not the primary usecase for the
|
|
||||||
imagemagick patch though.
|
|
||||||
|
|
||||||
ImageMagick 6.6.2-9 introduced a bugfix for single page djvu load.
|
|
||||||
It is now way faster to use the :index feature, but its still not
|
|
||||||
very fast.
|
|
||||||
|
|
||||||
** DONE optimize number of pages calculation for bundles as suggested by
|
|
||||||
imagemagick forum: "set the density to something low like 2 and use
|
|
||||||
MagickPingImage()"
|
|
||||||
|
|
||||||
** TODO try to cache the num pages calculation. it can take a while to
|
|
||||||
calculate the number of pages, and if you need to do it for each
|
|
||||||
page view, page-flipping becomes uselessly slow.
|
|
||||||
|
|
||||||
* TODO integrate with image-dired
|
|
||||||
|
|
||||||
* TODO integrate with docview.
|
|
||||||
|
|
||||||
* TODO integrate with image-mode
|
|
||||||
Some work has been done, M-x image-transform-fit-to-height will fit
|
|
||||||
the image to the height of the Emacs window for instance.
|
|
||||||
|
|
||||||
* TODO look for optimizations for handling images with low depth
|
|
||||||
Currently the code seems to default to 24 bit RGB which is costly for
|
|
||||||
images with lower bit depth.
|
|
||||||
|
|
||||||
* TODO complete documentation drafts below
|
|
||||||
|
|
||||||
* DONE fix inconsistencys with spelling of imagemagick in the src
|
|
||||||
* DONE report number of images in image bundle types somehow
|
|
||||||
Works like for "gif" support. Thanks to Juri Linkov.
|
|
||||||
* DONE probably add pdf to inhibited types
|
|
||||||
* DONE inhibit types is defconst should probably be defcustom
|
|
||||||
* TODO decide what to do with some uncommitted imagemagick support
|
|
||||||
functions for image size etc.
|
|
||||||
* TODO Test with more systems
|
|
||||||
Tested on Fedora 12, Fedora 14 so far, and the libmagick that ships with it.
|
|
||||||
Ubuntu 8.04 was also tested, but it seems it ships a broken
|
|
||||||
ImageMagick.
|
|
||||||
|
|
||||||
I also tried using an imagemagick compiled from their SVN, in
|
|
||||||
parallell with the one packaged by Fedora, it worked well.
|
|
||||||
|
|
||||||
* DONE Also need some way to handle render methods that only work on newer ImageMagicks
|
|
||||||
Is handled by configure now
|
|
||||||
|
|
||||||
* Some nits from Stefan Monnier
|
|
||||||
I just took a quick look at the code and I see the following nits to fix:
|
|
||||||
|
|
||||||
** DONE obviously a merge will have to come with a good ChangeLog.
|
|
||||||
** DONE also the merge will need to come with documentation. Maybe not in the
|
|
||||||
Texinfo form yet, but at least in the etc/NEWS with enough info that
|
|
||||||
describes the `scale' and other such arguments that someone can start
|
|
||||||
using them.
|
|
||||||
** DONE the README talks about naming inconsistencies, I think these should be
|
|
||||||
fixed before a first commit (should be straightforward).
|
|
||||||
|
|
||||||
** DONE the "let" in image.el should not be followed by a line break and the while
|
|
||||||
should be replaced by a dolist.
|
|
||||||
|
|
||||||
** DONE the prototype of imagemagick_load_image has some odd indentation in ([[2010.06.14]])
|
|
||||||
its args, not sure what happened.
|
|
||||||
** DONE a few lines in the C code break the 80columns limit.
|
|
||||||
** DONE please use ANSI style function declarations rather than K&R for new code. ([[2010.06.14]])
|
|
||||||
** DONE you can get rid of the prototypes by reordering the code. ([[2010.06.14]])
|
|
||||||
** DONE the docstrings in DEFUN should not be indented (they'll display ([[2010.06.14]])
|
|
||||||
weirdly otherwise in C-h f).
|
|
||||||
** DONE Some "{" are at the end of a for/if rather than on their own line. ([[2010.06.14]])
|
|
||||||
** DONE why use "*( imtypes + i)" rather than "imtypes[i]"? ([[2010.06.14]])
|
|
||||||
** DONE some "," lack a space after them. ([[2010.06.14]])
|
|
||||||
** DONE several "=" and "==" lack spaces around them. ([[2010.06.14]])
|
|
||||||
|
|
||||||
|
|
||||||
* NEWS entry
|
|
||||||
** ImageMagick support
|
|
||||||
It is now possible to use the Imagemagick library to load many new
|
|
||||||
image formats in Emacs.
|
|
||||||
|
|
||||||
To enable, use the following configure option:
|
|
||||||
--with-imagemagick
|
|
||||||
|
|
||||||
The new function (imagemagick-types) returns a list of image file
|
|
||||||
extensions that your installation of imagemagick supports.
|
|
||||||
|
|
||||||
The function (imagemagick-register-types) will enable the imagemagick
|
|
||||||
support for the extensions in imagemagick-types minus the types listed
|
|
||||||
in imagemagick-types-inhibit.
|
|
||||||
|
|
||||||
imagemagick-types-inhibit has the value '(C HTML HTM TXT PDF) by default.
|
|
||||||
This means imagemagick will be used also to load jpeg files, if you
|
|
||||||
have both jpeg and imagemagick libraries linked. Add 'JPG to
|
|
||||||
imagemagick-types-inhibit if you do not want this.
|
|
||||||
|
|
||||||
imagemagick-render-type is a new variable which can be set to choose
|
|
||||||
between screen render methods.
|
|
||||||
|
|
||||||
- 0 is a conservative metod which works with older ImageMagick
|
|
||||||
versions. It is a bit slow, but robust.
|
|
||||||
|
|
||||||
- 1 utilizes a newer ImageMagick method
|
|
||||||
|
|
||||||
|
|
||||||
Images loaded with imagemagick will support a couple of new display
|
|
||||||
specification behaviours:
|
|
||||||
|
|
||||||
- if the :width and :height keywords are specified, these values are
|
|
||||||
used for scaling the image. If only one of :width or :height is
|
|
||||||
specified, the other one will be calculated so as to preserve the
|
|
||||||
aspect ratio.If both :width and :height are specified, aspect ratio
|
|
||||||
will not be preserved.
|
|
||||||
|
|
||||||
- :rotation specifies a rotation angle in degrees.
|
|
||||||
|
|
||||||
- :index specifies which image inside an image bundle file format, such
|
|
||||||
as TIFF or DJVM, to view.
|
|
||||||
|
|
||||||
The image-metadata function can be used to retrieve the total number
|
|
||||||
of images in an image bundle. This is simmilar to how GIF files work.
|
|
||||||
|
|
||||||
* Manual entry
|
|
||||||
nothing yet, but the NEWS entry could be adapted.
|
|
45
etc/TODO
45
etc/TODO
@ -625,6 +625,51 @@ http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg02234.html
|
|||||||
the window associated with that modeline.
|
the window associated with that modeline.
|
||||||
http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg02416.html
|
http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg02416.html
|
||||||
|
|
||||||
|
* Things to be done for specific packages or features
|
||||||
|
|
||||||
|
** ImageMagick support
|
||||||
|
|
||||||
|
*** image-type-header-regexps priorities the jpeg loader over the
|
||||||
|
ImageMagick one. This is not wrong, but how should a user go about
|
||||||
|
prefering the ImageMagick loader? The user might like zooming etc in jpegs.
|
||||||
|
|
||||||
|
Try (setq image-type-header-regexps nil) for a quick hack to prefer
|
||||||
|
ImageMagick over the jpg loader.
|
||||||
|
|
||||||
|
*** For some reason its unbearably slow to look at a page in a large
|
||||||
|
image bundle using the :index feature. The ImageMagick "display"
|
||||||
|
command is also a bit slow, but nowhere near as slow as the Emacs
|
||||||
|
code. It seems ImageMagick tries to unpack every page when loading the
|
||||||
|
bundle. This feature is not the primary usecase in Emacs though.
|
||||||
|
|
||||||
|
ImageMagick 6.6.2-9 introduced a bugfix for single page djvu load. It
|
||||||
|
is now much faster to use the :index feature, but still not very fast.
|
||||||
|
|
||||||
|
*** Try to cache the num pages calculation. It can take a while to
|
||||||
|
calculate the number of pages, and if you need to do it for each page
|
||||||
|
view, page-flipping becomes uselessly slow.
|
||||||
|
|
||||||
|
*** Integrate with image-dired.
|
||||||
|
|
||||||
|
*** Integrate with docview.
|
||||||
|
|
||||||
|
*** Integrate with image-mode.
|
||||||
|
Some work has been done, e.g. M-x image-transform-fit-to-height will
|
||||||
|
fit the image to the height of the Emacs window.
|
||||||
|
|
||||||
|
*** Look for optimizations for handling images with low depth.
|
||||||
|
Currently the code seems to default to 24 bit RGB which is costly for
|
||||||
|
images with lower bit depth.
|
||||||
|
|
||||||
|
*** Decide what to do with some uncommitted imagemagick support
|
||||||
|
functions for image size etc.
|
||||||
|
|
||||||
|
*** Test with more systems.
|
||||||
|
Tested on Fedora 12, 14, and the libmagick that ships with it.
|
||||||
|
I also tried using an ImageMagick compiled from their SVN, in
|
||||||
|
parallel with the one packaged by Fedora, it worked well.
|
||||||
|
Ubuntu 8.04 was tested, but it seems it ships a broken ImageMagick.
|
||||||
|
|
||||||
* Internal changes
|
* Internal changes
|
||||||
|
|
||||||
** Cleanup all the GC_ mark bit stuff -- there is no longer any distinction
|
** Cleanup all the GC_ mark bit stuff -- there is no longer any distinction
|
||||||
|
Loading…
Reference in New Issue
Block a user