language lawyer needed: PIL fails on Adobe Illustrator EPS...

Bill Janssen <[email protected]>
Newsgroups gmane.comp.python.image
Message-ID <[email protected]>
I think I need a language lawyer.  I'm finding that PIL 1.1.7 can't
import EPS files output by Adobe Illustrator.  It chokes on the
following sequence of lines in the header:

%!PS-Adobe-3.0 EPSF-3.0
%%Creator: Adobe Illustrator(R) 8.0
%%AI8_CreatorVersion: 13.0.0
%%For: (Administrator) ()
%%CreationDate: 8/20/2008 6:47 PM
%%BoundingBox: 0 0 2801 2801
%%HiResBoundingBox: 0 0 2800.5 2800.5
%%DocumentProcessColors: Cyan Magenta Yellow Black
%%DocumentSuppliedResources: procset Adobe_level2_AI5 1.2 0
%%+ procset AGM_Gradient 1.0 0
%%+ procset Adobe_ColorImage_AI6 1.3 0
%%+ procset Adobe_Illustrator_AI5 1.3 0
%%+ procset Adobe_pattern_AI5 1.0 0
%%+ procset Adobe_cshow 2.0 8
%%+ procset Adobe_shading_AI8 1.0 0
%AI5_FileFormat 4.0
%AI3_ColorUsage: Color
%AI3_IncludePlacedImages
[...]

When I look at it with pdb, the problem seems to be the %AI5 and %AI3
lines -- they don't match the header line template, though I believe
they are valid Postscript comments:

(Pdb) !Image.open("/project/uplib/samples/postscript/badfoo.eps")
!Image.open("/project/uplib/samples/postscript/badfoo.eps")
*** IOError: bad EPS header
(Pdb) l
201  	                    if k[:8] == "PS-Adobe":
202  	                        self.info[k[:8]] = k[9:]
203  	                    else:
204  	                        self.info[k] = ""
205  	                else:
206  ->	                    raise IOError, "bad EPS header"
207  	
208  	            s = fp.readline()
209  	
210  	            if s[:1] != "%":
211  	                break
(Pdb) p s
'%AI3_ColorUsage: Color'
(Pdb) field
<_sre.SRE_Pattern object at 0x4798a0>
(Pdb) field.match(s)
(Pdb) ^D

So, are Postscript comments allowed in the DSC headers?  That is, is
this a PIL bug or an Illustrator bug.

Bill
_______________________________________________
Image-SIG maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/image-sig
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.