{ "BMP", 0, MagickString("CI") },
{ "BMP", 0, MagickString("CP") },
{ "BMP", 0, MagickString("IC") },
+ { "PICT", 0, MagickString("PICT") },
{ "BMP", 0, MagickString("PI") },
{ "CALS", 21, MagickString("version: MIL-STD-1840") },
{ "CALS", 0, MagickString("srcdocid:") },
*/
static MagickBooleanType IsPICT(const unsigned char *magick,const size_t length)
{
+ if (length < 12)
+ return(MagickFalse);
+ /*
+ Embedded OLE2 macintosh have "PICT" instead of 512 platform header.
+ */
+ if (memcmp(magick,"PICT",4) == 0)
+ return(MagickTrue);
if (length < 528)
return(MagickFalse);
if (memcmp(magick+522,"\000\021\002\377\014\000",6) == 0)
ExceptionInfo *exception)
{
char
- geometry[MaxTextExtent];
+ geometry[MaxTextExtent],
+ header_ole[4];
Image
*image;
*/
pixmap.bits_per_pixel=0;
pixmap.component_count=0;
- for (i=0; i < 512; i++)
- (void) ReadBlobByte(image); /* skip header */
+ /*
+ Skip header : 512 for standard PICT and 4, ie "PICT" for OLE2.
+ */
+ header_ole[0]=ReadBlobByte(image);
+ header_ole[1]=ReadBlobByte(image);
+ header_ole[2]=ReadBlobByte(image);
+ header_ole[3]=ReadBlobByte(image);
+ if (!((header_ole[0] == 0x50) && (header_ole[1] == 0x49) &&
+ (header_ole[2] == 0x43) && (header_ole[3] == 0x54 )))
+ for (i=0; i < 508; i++)
+ (void) ReadBlobByte(image);
(void) ReadBlobMSBShort(image); /* skip picture size */
ReadRectangle(image,frame);
while ((c=ReadBlobByte(image)) == 0) ;
<mime type="image/x-pict" description="Macintosh Quickdraw/PICT drawing" priority="100" pattern="*.pict" />
<mime type="image/x-pict" description="Macintosh Quickdraw/PICT drawing" priority="100" pattern="*.pict1" />
<mime type="image/x-pict" description="Macintosh Quickdraw/PICT drawing" priority="100" pattern="*.pict2" />
+ <mime type="image/x-pict" description="Macintosh Quickdraw/PICT drawing" data-type="string" offset="0" magic="PICT" priority="50" />
<mime type="application/x-ufraw" acronym="UFRaw" description="Unidentified Flying Raw" priority="100" pattern="*.ufraw" />
<mime type="image/x-adobe-dng" acronym="DNG" description="Digital Negative" priority="100" pattern="*.dng" />
<mime type="image/x-canon-crw" description="Canon RaW" data-type="string" offset="0" magic="II\x1a\x00\x00\x00HEAPCCDR" priority="50" />