Can't read Adobe Illustrator 8 File

Bug #178110 reported by Mark Streitman
6
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Medium
Unassigned

Bug Description

Since the newest version is suppose to have AI 8 support, I'm posting this as a new bug.
I just loaded this program on a Windows XP SP1 machine.
Upon reading an .ai file I get the following error:

Couldn't load Perl module Image::Magick. Images will be skipped.
Can't locate Image/Magick.pm in @INC (@INC contains: /usr/lib/perl5/5.8/cygwin /usr/lib/perl5/5.8 /usr/lib/perl5/site_perl/5.8/cygwin /usr/lib/perl5/site_perl/5.8 /usr/lib/perl5/site_perl/5.8/cygwin /usr/lib/perl5/site_perl/5.8 /usr/lib/perl5/vendor_perl/5.8/cygwin /usr/lib/perl5/vendor_perl/5.8 /usr/lib/perl5/vendor_perl/5.8/cygwin /usr/lib/perl5/vendor_perl/5.8 .) at (eval 1) line 1.
BEGIN failed--compilation aborted at (eval 1) line 1.

Use of uninitialized value in subtraction (-) at share\extensions\ill2svg.pl line 318, <> chunk 5.
Argument "M-\fM-,MO_X^[M-sM-.@M-}xWyM- ^\M-mM-;M-j^H&\r\r^V\\Krl*M->..." isn't numeric in printf at share\extensions\ill2svg.pl line 323, <> chunk 5.
Use of uninitialized value in printf at share\extensions\ill2svg.pl line 324, <> chunk 5.
Use of uninitialized value in printf at share\extensions\ill2svg.pl line 325, <> chunk 5.
Use of uninitialized value in concatenation (.) or string at share\extensions\ill2svg.pl line 329, <> chunk 5.
ERROR: This fileformat is not supported by ill2svg.pl.
(Is it possible you are trying to use ill2svg.pl on a PDF file?)

Tags: importing ai
Revision history for this message
vonHalenbach (lustik) wrote :

Hello Mark,
thank you for taking the time to make inkscape better. Could you please attach a simple illustratorfile that crashes your inkscape?

Changed in inkscape:
importance: Undecided → Medium
status: New → Incomplete
Revision history for this message
vonHalenbach (lustik) wrote :

I can confirm this bug. Inkscape tries to give the ai-file to an external script, which doesn't work. Inkscape doesn't crash, it sayd that loading of this file was unsuccessfully. That is okay.

Couldn't load Perl module Image::Magick. Images will be skipped.
Can't locate Image/Magick.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share

Changed in inkscape:
status: Incomplete → Confirmed
Revision history for this message
Peter Lewerin (vermeil-deactivatedaccount) wrote :

It would still be enlightening to see the .ai file.

The external script is ill2svg.pl, which should be the standard import filter for .ai files. There appears to be a problem with parsing the arguments to the Xh operator.

Revision history for this message
Peter Lewerin (vermeil-deactivatedaccount) wrote :

The ill2svg.pl filter seems a bit dodgy. It isn't clear which AI version it supports (I'd say it doesn't follow the AI7 spec, which is available on the net). Also, even if it is supposed to skip images, it still tries to do some processing on image data, which is the cause of this particular crash.

There was an ill2svg.py project going on, but it seems to have evaporated since.

Revision history for this message
Peter Lewerin (vermeil-deactivatedaccount) wrote :

Can someone please try this patch to the ill2svg.pl file?

It's a limited fix to avoid image processing altogether when $skip_images is true (when Image::Magick is unavailable, or if the user sets it to 1).

I don't have a Perl installed at the moment, and neither do I have any Illustrator files to test it on.

Revision history for this message
bbyak (buliabyak) wrote :

I think we should not claim to support AI files older than 9, i.e. PS-based. Yes, we have that perl script, but it barely works, with many complaints of failing. In general I'm extremely skeptical about the prospects of correctly parsing a PS file by a simple perl script. I think it's best to recommend people to use a more recent format.

If someone will volunteer to update and maintain that script, I would welcome that. It's better than nothing. But I'm reluctant to apply a patch that was not tested.

By the way we have another patch in the tracker where a Python replacement for that perl script is submitted. If anyone can test it and assure that it is at least not worse than the perl one, I would be happy to replace it, which will get rid of the perl requirement and many related problems.

summary: - Can't read Adobe Illistrator 8 File
+ Can't read Adobe Illustrator 8 File
Revision history for this message
su_v (suv-lp) wrote :

Supported via UniConvertor since Inkscape 0.48:
- Bug #169749 “ill2svg.pl replacement in python”
  <https://bugs.launchpad.net/inkscape/+bug/169749>
- Fixed in revision 8957:
  <http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/revision/8957>

See also bug #570527 on how to access this file type from within Inkscape.

Changed in inkscape:
milestone: none → 0.48
status: Confirmed → Fix Released
tags: added: ai importing
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.