Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Image::Info::SVG(3)   User Contributed Perl Documentation  Image::Info::SVG(3)

NAME
       Image::Info::SVG	- SVG support for Image::Info

SYNOPSIS
	use Image::Info	qw(image_info dim);

	my $info = image_info("image.svg");
	if (my $error =	$info->{error})	{
	    die	"Can't parse image info: $error\n";
	}
	my $title = $info->{SVG_Title};

	my($w, $h) = dim($info);

DESCRIPTION
       This modules supplies the standard key names except for BitsPerSample,
       Compression, Gamma, Interlace, LastModificationTime, as well as:

       ImageDescription
	   The image description, corresponds to <desc>.

       SVG_Image
	   A scalar or reference to an array of	scalars	containing the URI's
	   of embedded images (JPG or PNG) that	are embedded in	the image.

       SVG_StandAlone
	   Whether or not the image is standalone.

       SVG_Title
	   The image title, corresponds	to <title>

       SVG_Version
	   The URI of the DTD the image	conforms to.

METHODS
   process_file()
	       $info->process_file($source, $options);

       Processes one file and sets the found info fields in the	$info object.

FILES
       This module requires either XML::LibXML::Reader or XML::Simple.

COMPATIBILITY
       Previous	versions (until	Image-Info-1.28) used XML::Simple as the
       underlying parser. Since	Image-Info-1.29	the default parser is
       XML::LibXML::Reader which is much more faster, memory-efficient,	and
       does not	rely on	regular	expressions for	some aspects of	XML parsing.
       If for some reason you need the old parser, you can force it by setting
       the variable @Image::Info::SVG::PREFER_MODULE as	early as possible:

	   use Image::Info;
	   @Image::Info::SVG::PREFER_MODULE = qw(Image::Info::SVG::XMLSimple Image::Info::SVG::XMLLibXMLReader);

       The variable $Image::Info::SVG::USING_MODULE can	be queried to see
       which parser is in use (after Image::Info::SVG is required).

       Since 1.38_50 processing	of XML external	entities (XXE) is not done
       anymore for security reasons in both backends
       (Image::Info::SVG::XMLLibXMLReader and Image::Info::SVG::XMLSimple).
       Controlling XXE processing behavior in XML::Simple is not really
       possible	(see <https://rt.cpan.org/Ticket/Display.html?id=83794>), so
       as a workaround the underlying SAX parser is fixed to
       XML::SAX::PurePerl which	is uncapable of	processing external entities a
       but unfortunately it is also a slow parser.

SEE ALSO
       Image::Info, XML::LibXML::Reader, XML::Simple, XML::SAX::PurePerl

NOTES
       For more	information about SVG see <http://www.w3.org/Graphics/SVG/>

       Random notes:

	 Colors
	   # iterate over polygon,rect,circle,ellipse,line,polyline,text for style->stroke: style->fill:?
	   #  and iterate over each of these within <g>	too?! and recurse?!
	   # append <color>'s
	   # perhaps even deep recursion through <svg>'s?
	 ColorProfile <color-profile>
	 RenderingIntent ?
	 requiredFeatures
	 requiredExtensions
	 systemLanguage

AUTHOR
       Jerrad Pierce <belg4mit@mit.edu>/<webmaster@pthbb.org> wrote the
       original	code based on XML::Simple

       Slaven Rezic <srezic@cpan.org> wrote the	code using XML::LibXML::Reader

       This library is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

perl v5.32.0			  2017-03-19		   Image::Info::SVG(3)

NAME | SYNOPSIS | DESCRIPTION | METHODS | FILES | COMPATIBILITY | SEE ALSO | NOTES | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Image::Info::SVG&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help