all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Oleksandr Gavenko <gavenko@bifit.com.ua>
Cc: help-gnu-emacs@gnu.org
Subject: Re: Svg mode
Date: Fri, 15 Oct 2010 17:20:39 +0200	[thread overview]
Message-ID: <83vd53bhyw.fsf@gnu.org> (raw)
In-Reply-To: <i99o1h$3gj$1@dough.gmane.org>

> From: Oleksandr Gavenko <gavenko@bifit.com.ua>
> Date: Fri, 15 Oct 2010 17:21:47 +0300
> 
> MS Windows:
> 
>    $ strings emacs.exe | grep png
> libpng12d.dll
> libpng12.dll
> libpng.dll
> libpng13d.dll
> libpng13.dll

This doesn't do what you think it does.  In general, the mere fact
that libpng is seen in some string within a binary does not mean the
binary supports display of PNG images.  For example, it could come
from a message string like "Sorry, libpng12.dll is not supported."

What you see is that Emacs knows _something_ about PNG libraries.
That something comes from image-library-alist (dynamic-library-alist,
if you are using the development sources of Emacs 24).  This alist
simply says that to support PNG, Emacs needs to load one of these
dynamic libraries.

> But 'depends.exe' show that 'libpng12.dll' come from third party:
> 
>    c:\opt\graphviz2.26.3\bin\LIBPNG12.DLL

Emacs loads these DLLs dynamically and on demand, so `depends.exe'
will not necessarily see any dependencies, because technically Emacs
does not "depend" on them -- it can run without them.

> Emacs from ftp.gnu.org is come only with 'libXpm.dll'.

Yes, because of copyright considerations, and because without XPM
support Emacs cannot show its toolbar icons in color.

> With 'grep svg' on Windows:
> 
>    $ strings emacs.exe | grep svg
> librsvg-2-2.dll

See above: this doesn't mean what you think it does.

> I download 'librsvg-2-2.dll' from
> http://ftp.gnome.org/pub/gnome/binaries/win32/librsvg/2.22/
> 
> and put it to PATH. Emacs on open .svg say:
> 
> byte-code: Cannot display image: (Invalid image type `svg')
> image-type: Cannot determine image type

Exactly!  The Emacs binary you have was not compiled with SVG support,
so it does not recognize the SVG format.  The SVG DLL is loaded only
if Emacs recognizes this format, whose support is optional (and
doesn't work very well on Windows, because the SVG support DLL is not
stable enough, AFAIK).

> So try search svg string in emacs executable and install appropriate lib.

That's not guaranteed to solve the problem, as I explain above.



      reply	other threads:[~2010-10-15 15:20 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-14 16:01 Svg mode Andrea Crotti
2010-10-15  8:31 ` Oleksandr Gavenko
2010-10-15 13:22   ` Andrea Crotti
2010-10-15 14:21     ` Oleksandr Gavenko
2010-10-15 15:20       ` Eli Zaretskii [this message]

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83vd53bhyw.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=gavenko@bifit.com.ua \
    --cc=help-gnu-emacs@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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.