From 8bd69f7c46c56ae48b84bc332d4f60b127b8254e Mon Sep 17 00:00:00 2001 From: vog Date: Fri, 24 Jun 2011 22:03:19 +0000 Subject: [PATCH] #689: Added support for DOS EPS files --- src/epsimage.cpp | 274 +++++++++++++----- test/data/eps/eps-flat_invalid-doseps.eps | Bin 0 -> 32 bytes ...at_oodraw_ai-cs5-lev3-preview-preview1.jpg | Bin 0 -> 3166 bytes ...flat_oodraw_ai-cs5-lev3-preview.eps.newxmp | Bin 0 -> 250606 bytes .../eps-flat_oodraw_ai-cs5-lev3-preview.xmp | 78 +++++ ...ps-flat_photoshop-e9-win-doseps.eps.newxmp | Bin 0 -> 120431 bytes .../eps/eps-flat_photoshop-e9-win-doseps.xmp | 48 +++ test/data/eps/eps-test.out | 241 +++++++++++++-- 8 files changed, 542 insertions(+), 99 deletions(-) create mode 100644 test/data/eps/eps-flat_invalid-doseps.eps create mode 100644 test/data/eps/eps-flat_oodraw_ai-cs5-lev3-preview-preview1.jpg create mode 100644 test/data/eps/eps-flat_oodraw_ai-cs5-lev3-preview.eps.newxmp create mode 100644 test/data/eps/eps-flat_oodraw_ai-cs5-lev3-preview.xmp create mode 100644 test/data/eps/eps-flat_photoshop-e9-win-doseps.eps.newxmp create mode 100644 test/data/eps/eps-flat_photoshop-e9-win-doseps.xmp diff --git a/src/epsimage.cpp b/src/epsimage.cpp index 66988755..85e02d55 100644 --- a/src/epsimage.cpp +++ b/src/epsimage.cpp @@ -61,7 +61,7 @@ namespace { using namespace Exiv2; // signature of DOS EPS - static const std::string epsDosSignature = "\xc5\xd0\xd3\xc6"; + static const std::string dosEpsSignature = "\xC5\xD0\xD3\xC6"; // first line of EPS static const std::string epsFirstLine[] = { @@ -142,6 +142,38 @@ namespace { writeTemp(tempIo, data.data(), data.size()); } + //! Get the current write position of temp file, taking care of errors + static size_t posTemp(BasicIo& tempIo) + { + const long pos = tempIo.tell(); + if (pos == -1) { + #ifndef SUPPRESS_WARNINGS + EXV_WARNING << "Internal error while determining current write position in temporary file.\n"; + #endif + throw Error(21); + } + return pos; + } + + //! Write an unsigned 32-bit integer into temp file, taking care of errors + static void writeTempUInt32LE(BasicIo& tempIo, unsigned int v) + { + const unsigned char b[4] = { + (v >> 0*8) & 0xFF, + (v >> 1*8) & 0xFF, + (v >> 2*8) & 0xFF, + (v >> 3*8) & 0xFF, + }; + writeTemp(tempIo, reinterpret_cast(b), sizeof(b)); + } + + //! Read an unsigned 32-bit integer in little endian + static unsigned int readUInt32LE(const char* data, size_t startPos) + { + const unsigned char* b = reinterpret_cast(data + startPos); + return (((((b[3] << 8) | b[2]) << 8) | b[1]) << 8) | b[0]; + } + //! Check whether a string has a certain beginning static bool startsWith(const std::string& s, const std::string& start) { @@ -208,7 +240,7 @@ namespace { } //! Find an XMP block - static void findXmp(size_t& xmpPos, size_t& xmpSize, const char* data, size_t size, bool write) + static void findXmp(size_t& xmpPos, size_t& xmpSize, const char* data, size_t startPos, size_t size, bool write) { // prepare list of valid XMP headers std::vector > xmpHeaders; @@ -223,7 +255,7 @@ namespace { // search for valid XMP header xmpSize = 0; - for (xmpPos = 0; xmpPos < size; xmpPos++) { + for (xmpPos = startPos; xmpPos < size; xmpPos++) { if (data[xmpPos] != '\x00' && data[xmpPos] != '<') continue; for (size_t i = 0; i < xmpHeaders.size(); i++) { const std::string &header = xmpHeaders[i].first; @@ -290,7 +322,7 @@ namespace { } //! Find removable XMP embeddings - static std::vector > findRemovableEmbeddings(const char* data, size_t posEof, size_t posEndPageSetup, + static std::vector > findRemovableEmbeddings(const char* data, size_t posStart, size_t posEof, size_t posEndPageSetup, size_t xmpPos, size_t xmpSize, bool write) { std::vector > removableEmbeddings; @@ -367,7 +399,7 @@ namespace { // check whether another XMP metadata block would take precedence if this one was removed { size_t xmpPos, xmpSize; - findXmp(xmpPos, xmpSize, data, posEndPageSetup, write); + findXmp(xmpPos, xmpSize, data, posStart, posEndPageSetup, write); if (xmpSize != 0) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Second XMP metadata block interferes at position: " << xmpPos << "\n"; @@ -400,16 +432,79 @@ namespace { // read from input file via memory map const char *data = reinterpret_cast(io.mmap()); - const size_t size = io.size(); - size_t pos = 0; - std::string line; - // TODO: Add support for DOS EPS (C5 D0 D3 C6) + // default positions and sizes + const size_t size = io.size(); + size_t posEps = 0; + size_t posEndEps = size; + size_t posWmf = 0; + size_t sizeWmf = 0; + size_t posTiff = 0; + size_t sizeTiff = 0; + + // check for DOS EPS + const bool dosEps = (size >= dosEpsSignature.size() && memcmp(data, dosEpsSignature.data(), dosEpsSignature.size()) == 0); + if (dosEps) { + #ifdef DEBUG + EXV_DEBUG << "readWriteEpsMetadata: Found DOS EPS signature\n"; + #endif + if (size < 30) { + #ifndef SUPPRESS_WARNINGS + EXV_WARNING << "Premature end of file after DOS EPS signature.\n"; + #endif + throw Error(write ? 21 : 14); + } + posEps = readUInt32LE(data, 4); + posEndEps = readUInt32LE(data, 8) + posEps; + posWmf = readUInt32LE(data, 12); + sizeWmf = readUInt32LE(data, 16); + posTiff = readUInt32LE(data, 20); + sizeTiff = readUInt32LE(data, 24); + #ifdef DEBUG + EXV_DEBUG << "readWriteEpsMetadata: EPS section at position " << posEps << ", size " << (posEndEps - posEps) << "\n"; + EXV_DEBUG << "readWriteEpsMetadata: WMF section at position " << posWmf << ", size " << sizeWmf << "\n"; + EXV_DEBUG << "readWriteEpsMetadata: TIFF section at position " << posTiff << ", size " << sizeTiff << "\n"; + #endif + if (!(data[28] == '\xFF' && data[29] == '\xFF')) { + #ifdef DEBUG + EXV_DEBUG << "readWriteEpsMetadata: DOS EPS checksum is not FFFF\n"; + #endif + } + if (!((posWmf == 0 && sizeWmf == 0) || (posTiff == 0 && sizeTiff == 0))) { + #ifndef SUPPRESS_WARNINGS + EXV_WARNING << "DOS EPS file has both WMF and TIFF section. Only one of those is allowed.\n"; + #endif + if (write) throw Error(21); + } + if (sizeWmf == 0 && sizeTiff == 0) { + #ifndef SUPPRESS_WARNINGS + EXV_WARNING << "DOS EPS file has neither WMF nor TIFF section. Exactly one of those is required.\n"; + #endif + if (write) throw Error(21); + } + if (posEps < 30 || posEndEps > size) { + #ifndef SUPPRESS_WARNINGS + EXV_WARNING << "DOS EPS file has invalid position (" << posEps << ") or size (" << (posEndEps - posEps) << ") for EPS section.\n"; + #endif + throw Error(write ? 21 : 14); + } + if (sizeWmf != 0 && (posWmf < 30 || posWmf + sizeWmf > size)) { + #ifndef SUPPRESS_WARNINGS + EXV_WARNING << "DOS EPS file has invalid position (" << posWmf << ") or size (" << sizeWmf << ") for WMF section.\n"; + #endif + if (write) throw Error(21); + } + if (sizeTiff != 0 && (posTiff < 30 || posTiff + sizeTiff > size)) { + #ifndef SUPPRESS_WARNINGS + EXV_WARNING << "DOS EPS file has invalid position (" << posTiff << ") or size (" << sizeTiff << ") for TIFF section.\n"; + #endif + if (write) throw Error(21); + } + } // check first line - const size_t firstLinePos = pos; - pos = readLine(line, data, firstLinePos, size); - const std::string firstLine = line; + std::string firstLine; + const size_t posSecondLine = readLine(firstLine, data, posEps, posEndEps); #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: First line: " << firstLine << "\n"; #endif @@ -422,13 +517,13 @@ namespace { } // determine line ending style of the first line - if (pos >= size) { + if (posSecondLine >= posEndEps) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Premature end of file after first line.\n"; #endif throw Error(write ? 21 : 14); } - const std::string lineEnding(data + firstLinePos + firstLine.size(), pos - (firstLinePos + firstLine.size())); + const std::string lineEnding(data + posEps + firstLine.size(), posSecondLine - (posEps + firstLine.size())); #ifdef DEBUG if (lineEnding == "\n") { EXV_DEBUG << "readWriteEpsMetadata: Line ending style: Unix (LF)\n"; @@ -442,26 +537,27 @@ namespace { #endif // scan comments - size_t posLanguageLevel = size; - size_t posContainsXmp = size; - size_t posPages = size; - size_t posExiv2Version = size; - size_t posExiv2Website = size; - size_t posEndComments = size; - size_t posPage = size; - size_t posEndPageSetup = size; - size_t posPageTrailer = size; - size_t posEof = size; + size_t posLanguageLevel = posEndEps; + size_t posContainsXmp = posEndEps; + size_t posPages = posEndEps; + size_t posExiv2Version = posEndEps; + size_t posExiv2Website = posEndEps; + size_t posEndComments = posEndEps; + size_t posPage = posEndEps; + size_t posEndPageSetup = posEndEps; + size_t posPageTrailer = posEndEps; + size_t posEof = posEndEps; bool implicitPage = false; bool photoshop = false; bool inDefaultsOrPrologOrSetup = false; bool inPageSetup = false; - while (pos < posEof) { + for (size_t pos = posEps; pos < posEof;) { const size_t startPos = pos; - pos = readLine(line, data, startPos, size); + std::string line; + pos = readLine(line, data, startPos, posEndEps); // implicit comments if (line == "%%EOF" || line == "%begin_xml_code" || !(line.size() >= 2 && line[0] == '%' && '\x21' <= line[1] && line[1] <= '\x7e')) { - if (posEndComments == size) { + if (posEndComments == posEndEps) { posEndComments = startPos; #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Found implicit EndComments at position: " << startPos << "\n"; @@ -469,14 +565,14 @@ namespace { } } if (line == "%%EOF" || line == "%begin_xml_code" || (line.size() >= 1 && line[0] != '%')) { - if (posPage == size && posEndComments != size && !inDefaultsOrPrologOrSetup && !onlyWhitespaces(line)) { + if (posPage == posEndEps && posEndComments != posEndEps && !inDefaultsOrPrologOrSetup && !onlyWhitespaces(line)) { posPage = startPos; implicitPage = true; #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Found implicit Page at position: " << startPos << "\n"; #endif } - if (posEndPageSetup == size && posPage != size && !inPageSetup) { + if (posEndPageSetup == posEndEps && posPage != posEndEps && !inPageSetup) { posEndPageSetup = startPos; #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Found implicit EndPageSetup at position: " << startPos << "\n"; @@ -484,7 +580,7 @@ namespace { } } if (line.size() >= 1 && line[0] != '%') continue; // performance optimization - if (line == "%%EOF" && posPageTrailer == size) { + if (line == "%%EOF" && posPageTrailer == posEndEps) { posPageTrailer = startPos; #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Found implicit PageTrailer at position: " << startPos << "\n"; @@ -494,17 +590,17 @@ namespace { #ifdef DEBUG bool significantLine = true; #endif - if (posEndComments == size && posLanguageLevel == size && startsWith(line, "%%LanguageLevel:")) { + if (posEndComments == posEndEps && posLanguageLevel == posEndEps && startsWith(line, "%%LanguageLevel:")) { posLanguageLevel = startPos; - } else if (posEndComments == size && posContainsXmp == size && startsWith(line, "%ADO_ContainsXMP:")) { + } else if (posEndComments == posEndEps && posContainsXmp == posEndEps && startsWith(line, "%ADO_ContainsXMP:")) { posContainsXmp = startPos; - } else if (posEndComments == size && posPages == size && startsWith(line, "%%Pages:")) { + } else if (posEndComments == posEndEps && posPages == posEndEps && startsWith(line, "%%Pages:")) { posPages = startPos; - } else if (posEndComments == size && posExiv2Version == size && startsWith(line, "%Exiv2Version:")) { + } else if (posEndComments == posEndEps && posExiv2Version == posEndEps && startsWith(line, "%Exiv2Version:")) { posExiv2Version = startPos; - } else if (posEndComments == size && posExiv2Website == size && startsWith(line, "%Exiv2Website:")) { + } else if (posEndComments == posEndEps && posExiv2Website == posEndEps && startsWith(line, "%Exiv2Website:")) { posExiv2Website = startPos; - } else if (posEndComments == size && line == "%%EndComments") { + } else if (posEndComments == posEndEps && line == "%%EndComments") { posEndComments = startPos; } else if (line == "%%BeginDefaults") { inDefaultsOrPrologOrSetup = true; @@ -518,32 +614,32 @@ namespace { inDefaultsOrPrologOrSetup = true; } else if (line == "%%EndSetup") { inDefaultsOrPrologOrSetup = false; - } else if (posPage == size && startsWith(line, "%%Page:")) { + } else if (posPage == posEndEps && startsWith(line, "%%Page:")) { posPage = startPos; } else if (line == "%%BeginPageSetup") { inPageSetup = true; - } else if (posEndPageSetup == size && line == "%%EndPageSetup") { + } else if (posEndPageSetup == posEndEps && line == "%%EndPageSetup") { inPageSetup = false; posEndPageSetup = startPos; - } else if (posPageTrailer == size && line == "%%PageTrailer") { + } else if (posPageTrailer == posEndEps && line == "%%PageTrailer") { posPageTrailer = startPos; } else if (startsWith(line, "%BeginPhotoshop:")) { photoshop = true; } else if (line == "%%EOF") { posEof = startPos; } else if (startsWith(line, "%%BeginDocument:")) { - if (posEndPageSetup == size) { + if (posEndPageSetup == posEndEps) { #ifndef SUPPRESS_WARNINGS - EXV_WARNING << "Embedded document at invalid position (before explicit or implicit EndPageSetup): " << startPos << "\n"; + EXV_WARNING << "Nested document at invalid position (before explicit or implicit EndPageSetup): " << startPos << "\n"; #endif throw Error(write ? 21 : 14); } - // TODO: Add support for embedded documents! + // TODO: Add support for nested documents! #ifndef SUPPRESS_WARNINGS - EXV_WARNING << "Embedded documents are currently not supported. Found embedded document at position: " << startPos << "\n"; + EXV_WARNING << "Nested documents are currently not supported. Found nested document at position: " << startPos << "\n"; #endif throw Error(write ? 21 : 14); - } else if (posPage != size && startsWith(line, "%%Page:")) { + } else if (posPage != posEndEps && startsWith(line, "%%Page:")) { if (implicitPage) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Page at position " << startPos << " conflicts with implicit page at position: " << posPage << "\n"; @@ -573,7 +669,8 @@ namespace { } // interpret comment "%ADO_ContainsXMP:" - readLine(line, data, posContainsXmp, size); + std::string line; + readLine(line, data, posContainsXmp, posEndEps); bool containsXmp; if (line == "%ADO_ContainsXMP: MainFirst" || line == "%ADO_ContainsXMP:MainFirst") { containsXmp = true; @@ -588,11 +685,11 @@ namespace { std::vector > removableEmbeddings; bool fixBeginXmlPacket = false; - size_t xmpPos = size; + size_t xmpPos = posEndEps; size_t xmpSize = 0; if (containsXmp) { // search for XMP metadata - findXmp(xmpPos, xmpSize, data, size, write); + findXmp(xmpPos, xmpSize, data, posEps, posEndEps, write); if (xmpSize == 0) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Unable to find XMP metadata as announced at position: " << posContainsXmp << "\n"; @@ -600,19 +697,19 @@ namespace { throw Error(write ? 21 : 14); } // check embedding of XMP metadata - const size_t posLineAfterXmp = readLine(line, data, xmpPos + xmpSize, size); + const size_t posLineAfterXmp = readLine(line, data, xmpPos + xmpSize, posEndEps); if (line != "") { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Unexpected " << line.size() << " bytes of data after XMP at position: " << (xmpPos + xmpSize) << "\n"; #endif if (write) throw Error(21); } - readLine(line, data, posLineAfterXmp, size); + readLine(line, data, posLineAfterXmp, posEndEps); if (line == "% &&end XMP packet marker&&" || line == "% &&end XMP packet marker&&") { #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Recognized flexible XMP embedding\n"; #endif - const size_t posBeginXmlPacket = readPrevLine(line, data, xmpPos, size); + const size_t posBeginXmlPacket = readPrevLine(line, data, xmpPos, posEndEps); if (startsWith(line, "%begin_xml_packet:")) { #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Found %begin_xml_packet before flexible XMP embedding\n"; @@ -629,7 +726,7 @@ namespace { if (write) throw Error(21); } } else { - removableEmbeddings = findRemovableEmbeddings(data, posEof, posEndPageSetup, xmpPos, xmpSize, write); + removableEmbeddings = findRemovableEmbeddings(data, posEps, posEof, posEndPageSetup, xmpPos, xmpSize, write); if (removableEmbeddings.empty()) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Unknown XMP embedding at position: " << xmpPos << "\n"; @@ -640,10 +737,10 @@ namespace { } if (!write) { - // copy + // copy XMP metadata xmpPacket.assign(data + xmpPos, xmpSize); } else { - const bool useExistingEmbedding = (xmpPos != size && removableEmbeddings.empty()); + const bool useExistingEmbedding = (xmpPos != posEndEps && removableEmbeddings.empty()); // TODO: Add support for deleting XMP metadata. Note that this is not // as simple as it may seem, and requires special attention! @@ -679,7 +776,7 @@ namespace { positions.push_back(posEndPageSetup); positions.push_back(posPageTrailer); positions.push_back(posEof); - positions.push_back(size); + positions.push_back(posEndEps); if (useExistingEmbedding) { positions.push_back(xmpPos); } @@ -689,8 +786,13 @@ namespace { std::sort(positions.begin(), positions.end()); // assemble result EPS document - size_t prevPos = 0; - size_t prevSkipPos = 0; + if (dosEps) { + // DOS EPS header will be written afterwards + writeTemp(*tempIo, std::string(30, '\x00')); + } + const size_t posEpsNew = posTemp(*tempIo); + size_t prevPos = posEps; + size_t prevSkipPos = prevPos; for (std::vector::const_iterator i = positions.begin(); i != positions.end(); i++) { const size_t pos = *i; if (pos == prevPos) continue; @@ -702,53 +804,53 @@ namespace { throw Error(21); } writeTemp(*tempIo, data + prevSkipPos, pos - prevSkipPos); - const size_t posLineEnd = readLine(line, data, pos, size); + const size_t posLineEnd = readLine(line, data, pos, posEndEps); size_t skipPos = pos; // add last line ending if necessary - if (pos == size && pos >= 1 && data[pos - 1] != '\r' && data[pos - 1] != '\n') { + if (pos == posEndEps && pos >= 1 && data[pos - 1] != '\r' && data[pos - 1] != '\n') { writeTemp(*tempIo, lineEnding); #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Added missing line ending of last line\n"; #endif } // update and complement DSC comments - if (pos == posLanguageLevel && posLanguageLevel != size && !useExistingEmbedding) { + if (pos == posLanguageLevel && posLanguageLevel != posEndEps && !useExistingEmbedding) { if (line == "%%LanguageLevel:1" || line == "%%LanguageLevel: 1") { writeTemp(*tempIo, "%%LanguageLevel: 2" + lineEnding); skipPos = posLineEnd; } } - if (pos == posContainsXmp && posContainsXmp != size) { + if (pos == posContainsXmp && posContainsXmp != posEndEps) { if (line != "%ADO_ContainsXMP: MainFirst") { writeTemp(*tempIo, "%ADO_ContainsXMP: MainFirst" + lineEnding); skipPos = posLineEnd; } } - if (pos == posExiv2Version && posExiv2Version != size) { + if (pos == posExiv2Version && posExiv2Version != posEndEps) { writeTemp(*tempIo, "%Exiv2Version: " + std::string(version()) + lineEnding); skipPos = posLineEnd; } - if (pos == posExiv2Website && posExiv2Website != size) { + if (pos == posExiv2Website && posExiv2Website != posEndEps) { writeTemp(*tempIo, "%Exiv2Website: http://www.exiv2.org/" + lineEnding); skipPos = posLineEnd; } if (pos == posEndComments) { - if (posLanguageLevel == size && !useExistingEmbedding) { + if (posLanguageLevel == posEndEps && !useExistingEmbedding) { writeTemp(*tempIo, "%%LanguageLevel: 2" + lineEnding); } - if (posContainsXmp == size) { + if (posContainsXmp == posEndEps) { writeTemp(*tempIo, "%ADO_ContainsXMP: MainFirst" + lineEnding); } - if (posPages == size) { + if (posPages == posEndEps) { writeTemp(*tempIo, "%%Pages: 1" + lineEnding); } - if (posExiv2Version == size) { + if (posExiv2Version == posEndEps) { writeTemp(*tempIo, "%Exiv2Version: " + std::string(version()) + lineEnding); } - if (posExiv2Website == size) { + if (posExiv2Website == posEndEps) { writeTemp(*tempIo, "%Exiv2Website: http://www.exiv2.org/" + lineEnding); } - readLine(line, data, posEndComments, size); + readLine(line, data, posEndComments, posEndEps); if (line != "%%EndComments") { writeTemp(*tempIo, "%%EndComments" + lineEnding); } @@ -819,7 +921,7 @@ namespace { } } if (pos == posPageTrailer) { - if (pos == size || pos == posEof) { + if (pos == posEndEps || pos == posEof) { writeTemp(*tempIo, "%%PageTrailer" + lineEnding); } else { skipPos = posLineEnd; @@ -831,12 +933,39 @@ namespace { } } // add EOF comment if necessary - if (pos == size && posEof == size) { + if (pos == posEndEps && posEof == posEndEps) { writeTemp(*tempIo, "%%EOF" + lineEnding); } prevPos = pos; prevSkipPos = skipPos; } + const size_t posEndEpsNew = posTemp(*tempIo); + #ifdef DEBUG + EXV_DEBUG << "readWriteEpsMetadata: New EPS size: " << (posEndEpsNew - posEpsNew) << "\n"; + #endif + if (dosEps) { + // add WMF and/or TIFF section if present + writeTemp(*tempIo, data + posWmf, sizeWmf); + writeTemp(*tempIo, data + posTiff, sizeTiff); + #ifdef DEBUG + EXV_DEBUG << "readWriteEpsMetadata: New DOS EPS total size: " << posTemp(*tempIo) << "\n"; + #endif + // write DOS EPS header + if (tempIo->seek(0, BasicIo::beg) != 0) { + #ifndef SUPPRESS_WARNINGS + EXV_WARNING << "Internal error while seeking in temporary file.\n"; + #endif + throw Error(21); + } + writeTemp(*tempIo, dosEpsSignature); + writeTempUInt32LE(*tempIo, posEpsNew); + writeTempUInt32LE(*tempIo, posEndEpsNew - posEpsNew); + writeTempUInt32LE(*tempIo, sizeWmf == 0 ? 0 : posEndEpsNew); + writeTempUInt32LE(*tempIo, sizeWmf); + writeTempUInt32LE(*tempIo, sizeTiff == 0 ? 0 : posEndEpsNew + sizeWmf); + writeTempUInt32LE(*tempIo, sizeTiff); + writeTemp(*tempIo, std::string("\xFF\xFF")); + } // copy temporary file to real output file io.close(); @@ -939,7 +1068,7 @@ namespace Exiv2 bool isEpsType(BasicIo& iIo, bool advance) { // read as many bytes as needed for the longest (DOS) EPS signature - size_t bufSize = epsDosSignature.size(); + size_t bufSize = dosEpsSignature.size(); for (size_t i = 0; i < (sizeof epsFirstLine) / (sizeof *epsFirstLine); i++) { if (bufSize < epsFirstLine[i].size()) { bufSize = epsFirstLine[i].size(); @@ -951,7 +1080,7 @@ namespace Exiv2 return false; } // check for all possible (DOS) EPS signatures - bool matched = (memcmp(buf, epsDosSignature.data(), epsDosSignature.size()) == 0); + bool matched = (memcmp(buf, dosEpsSignature.data(), dosEpsSignature.size()) == 0); for (size_t i = 0; !matched && i < (sizeof epsFirstLine) / (sizeof *epsFirstLine); i++) { matched = (memcmp(buf, epsFirstLine[i].data(), epsFirstLine[i].size()) == 0); } @@ -961,4 +1090,5 @@ namespace Exiv2 } return matched; } + } // namespace Exiv2 diff --git a/test/data/eps/eps-flat_invalid-doseps.eps b/test/data/eps/eps-flat_invalid-doseps.eps new file mode 100644 index 0000000000000000000000000000000000000000..55f7706c3e345bedd8ed008df234e05097b8bcb3 GIT binary patch literal 32 gcmX?l;qoyB1_p*h=|BPs9s${FbQu`_|7TzT0Gy%-m;e9( literal 0 HcmV?d00001 diff --git a/test/data/eps/eps-flat_oodraw_ai-cs5-lev3-preview-preview1.jpg b/test/data/eps/eps-flat_oodraw_ai-cs5-lev3-preview-preview1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..29499566bad777bf2f3983cb2116fd845ed1dbfa GIT binary patch literal 3166 zcmex=D zFajZz{{N1F&oL!GDU~7R07&NlZH5*GHWn5ZRu(o^RyIyHAm-*^W8>iF;o{=v;^GnD z0RsUZK7IjyJ|1CV5fNcw8EI*08F@HhWM^mR<>8eO5Ri}(6%>_%OAyQWe}F-dgW&=r z12dx_1Ct;lvmoRDBaDlH4rFHp0U!emSXh~v*cchuIXJnv85x+En2}|H0?aI|Y+y+N z1|~*kW+oOUHg;wp!Bou1#4O0dz^W)@=orW*oTyaTC}K2mA-m{CC*^}d7atmnC4EpS zYWk?^Y!WW&ydF zH4x}xw!+4VMhiE75IK19p|X=`P*TxHV-*wUCb3Dus*9309bzxOWctXZSv+JiFmxm& z)y!O_)Kf}A%|9*Pd{{&C^5f4fQ5Z`i-d#xOK~)$RIy!T(qi!fV5B|NS)ogR*G()!hB}HUBd(8IFqK2!p8q40|s8 zXIQa+wP@(k*sk58Wm<1SZ>-)Jp0tj5Zm4$r_gV5^#lI%4+CidLggr~M|9y7;x9H!R z&~UOG0Wv9MZT-EB`YZ8QyH-6S!TktF0R6sd>iXYj`G0l)+87!`a!9~T3flUgp>pAW zhQRtTt<_|PYIxGBu>J2%>|g1>IvQFCGnwT0@w)!^S^HntzY(j}krA~JYgdjY6ZAYW znoKauhtXt$QDBTF6U=0?=|;WQo?{c0q`QqmohHBXz7hQQYioG@skNWQfB!rG&&~Tk OL&(Na{xA=Z|2F}kktZ<# literal 0 HcmV?d00001 diff --git a/test/data/eps/eps-flat_oodraw_ai-cs5-lev3-preview.eps.newxmp b/test/data/eps/eps-flat_oodraw_ai-cs5-lev3-preview.eps.newxmp new file mode 100644 index 0000000000000000000000000000000000000000..f83cd8cfbd60c00d63ac8cf53f59c9caba706dda GIT binary patch literal 250606 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 literal 0 HcmV?d00001 diff --git a/test/data/eps/eps-flat_oodraw_ai-cs5-lev3-preview.xmp b/test/data/eps/eps-flat_oodraw_ai-cs5-lev3-preview.xmp new file mode 100644 index 00000000..28bff94d --- /dev/null +++ b/test/data/eps/eps-flat_oodraw_ai-cs5-lev3-preview.xmp @@ -0,0 +1,78 @@ + + + + + + + + + + + + + Black + + + + + + + + + + + + + + + + + + diff --git a/test/data/eps/eps-flat_photoshop-e9-win-doseps.eps.newxmp b/test/data/eps/eps-flat_photoshop-e9-win-doseps.eps.newxmp new file mode 100644 index 0000000000000000000000000000000000000000..2fcf9c4aa9e66f79c97557be5ac94439b79a5fcc GIT binary patch literal 120431 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%0D~OtynUubmiE1>NX}@39kT;WV=~nOv*u%_FYqbZ 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 + + + + + + + + + + + + diff --git a/test/data/eps/eps-test.out b/test/data/eps/eps-test.out index cf2e720d..1b11eb3f 100644 --- a/test/data/eps/eps-test.out +++ b/test/data/eps/eps-test.out @@ -145,6 +145,14 @@ Exit code: 0 Command: exiv2 -f -ex eps-flat_inkscape.eps Exit code: 0 +-----> eps-flat_invalid-doseps.eps <----- + +Command: exiv2 -u -pa eps-flat_invalid-doseps.eps +Warning: DOS EPS file has invalid position (32) or size (26562) for EPS section. +Exiv2 exception in print action for file eps-flat_invalid-doseps.eps: +Failed to read image data +Exit code: 1 + -----> eps-flat_minimal-eof.eps <----- Command: exiv2 -u -pa eps-flat_minimal-eof.eps @@ -1802,9 +1810,130 @@ Exit code: 0 -----> eps-flat_oodraw_ai-cs5-lev3-preview.eps <----- Command: exiv2 -u -pa eps-flat_oodraw_ai-cs5-lev3-preview.eps -Exiv2 exception in print action for file eps-flat_oodraw_ai-cs5-lev3-preview.eps: -This does not look like a EPS image -Exit code: 1 +Xmp.xmp.CreatorTool XmpText 21 Adobe Illustrator CS5 +Xmp.xmp.CreateDate XmpText 25 2011-03-25T16:09:09+01:00 +Xmp.xmp.MetadataDate XmpText 25 2011-03-25T16:09:09+01:00 +Xmp.xmp.ModifyDate XmpText 25 2011-03-25T16:09:09+01:00 +Xmp.xmp.Thumbnails XmpText 0 type="Alt" +Xmp.xmp.Thumbnails[1] XmpText 0 type="Struct" +Xmp.xmp.Thumbnails[1]/xmpGImg:width XmpText 3 256 +Xmp.xmp.Thumbnails[1]/xmpGImg:height XmpText 3 208 +Xmp.xmp.Thumbnails[1]/xmpGImg:format XmpText 4 JPEG +Xmp.xmp.Thumbnails[1]/xmpGImg:image XmpText 4279 /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA +AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK +DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f +Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgA0AEAAwER +AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA +AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB +UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE +1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ +qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy +obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp +0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo ++DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8APbW1tvq0X7pPsL+yPDFV +X6rbf75T/gRgV31W2/3yn/AjFXfVbb/fKf8AAjFXfVbb/fKf8CMVd9Vtv98p/wACMVd9Vtv98p/w +IxV31W2/3yn/AAIxV31W2/3yn/AjFXfVbb/fKf8AAjFXfVbb/fKf8CMVd9Vtv98p/wACMVd9Vtv9 +8p/wIxV31W2/3yn/AAIxV31W2/3yn/AjFXfVbb/fKf8AAjFXfVbb/fKf8CMVd9Vtv98p/wACMVd9 +Vtv98p/wIxV31W2/3yn/AAIxV31W2/3yn/AjFXfVbb/fKf8AAjFXfVbb/fKf8CMVd9Vtv98p/wAC +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 +Xmp.xmpTPg.MaxPageSize XmpText 0 type="Struct" +Xmp.xmpTPg.MaxPageSize/stDim:w XmpText 10 612.000000 +Xmp.xmpTPg.MaxPageSize/stDim:h XmpText 10 792.000000 +Xmp.xmpTPg.MaxPageSize/stDim:unit XmpText 6 Points +Xmp.xmpTPg.NPages XmpText 1 1 +Xmp.xmpTPg.HasVisibleTransparency XmpText 5 False +Xmp.xmpTPg.HasVisibleOverprint XmpText 5 False +Xmp.xmpTPg.PlateNames XmpSeq 1 Black +Xmp.xmpTPg.SwatchGroups XmpText 0 type="Seq" +Xmp.xmpTPg.SwatchGroups[1] XmpText 0 type="Struct" +Xmp.xmpTPg.SwatchGroups[1]/xmpG:groupName XmpText 20 Default Swatch Group +Xmp.xmpTPg.SwatchGroups[1]/xmpG:groupType XmpText 1 0 +Xmp.dc.format XmpText 22 application/postscript +Xmp.xmpMM.DerivedFrom XmpText 0 type="Struct" +Xmp.xmpMM.DerivedFrom/stRef:instanceID XmpText 40 xmp.iid:02801174072068118C14A928EC4F6B4E +Xmp.xmpMM.DerivedFrom/stRef:documentID XmpText 40 xmp.did:02801174072068118C14A928EC4F6B4E +Xmp.xmpMM.DerivedFrom/stRef:originalDocumentID XmpText 40 xmp.did:01801174072068118C14A928EC4F6B4E +Xmp.xmpMM.DocumentID XmpText 40 xmp.did:03801174072068118C14A928EC4F6B4E +Xmp.xmpMM.InstanceID XmpText 40 xmp.iid:03801174072068118C14A928EC4F6B4E +Xmp.xmpMM.OriginalDocumentID XmpText 40 xmp.did:01801174072068118C14A928EC4F6B4E +Xmp.xmpMM.History XmpText 0 type="Seq" +Xmp.xmpMM.History[1] XmpText 0 type="Struct" +Xmp.xmpMM.History[1]/stEvt:action XmpText 5 saved +Xmp.xmpMM.History[1]/stEvt:instanceID XmpText 40 xmp.iid:01801174072068118C14A928EC4F6B4E +Xmp.xmpMM.History[1]/stEvt:when XmpText 22 2011-03-25T16:07+01:00 +Xmp.xmpMM.History[1]/stEvt:softwareAgent XmpText 21 Adobe Illustrator CS5 +Xmp.xmpMM.History[1]/stEvt:changed XmpText 1 / +Xmp.xmpMM.History[2] XmpText 0 type="Struct" +Xmp.xmpMM.History[2]/stEvt:action XmpText 5 saved +Xmp.xmpMM.History[2]/stEvt:instanceID XmpText 40 xmp.iid:02801174072068118C14A928EC4F6B4E +Xmp.xmpMM.History[2]/stEvt:when XmpText 25 2011-03-25T16:07:33+01:00 +Xmp.xmpMM.History[2]/stEvt:softwareAgent XmpText 21 Adobe Illustrator CS5 +Xmp.xmpMM.History[2]/stEvt:changed XmpText 1 / +Xmp.xmpMM.History[3] XmpText 0 type="Struct" +Xmp.xmpMM.History[3]/stEvt:action XmpText 5 saved +Xmp.xmpMM.History[3]/stEvt:instanceID XmpText 40 xmp.iid:03801174072068118C14A928EC4F6B4E +Xmp.xmpMM.History[3]/stEvt:when XmpText 25 2011-03-25T16:09:09+01:00 +Xmp.xmpMM.History[3]/stEvt:softwareAgent XmpText 21 Adobe Illustrator CS5 +Xmp.xmpMM.History[3]/stEvt:changed XmpText 1 / +Exit code: 253 + +Command: exiv2 -pp eps-flat_oodraw_ai-cs5-lev3-preview.eps +Preview 1: image/jpeg, 256x208 pixels, 3166 bytes +Exit code: 0 + +Command: exiv2 -f -ep eps-flat_oodraw_ai-cs5-lev3-preview.eps +Exit code: 0 + +Command: exiv2 -f -eX eps-flat_oodraw_ai-cs5-lev3-preview.eps +Exit code: 0 + +Command: exiv2 -ix eps-flat_oodraw_ai-cs5-lev3-preview.eps +Exit code: 0 + +Command: (2) exiv2 -ix eps-flat_oodraw_ai-cs5-lev3-preview.eps +Exit code: 0 + +Command: exiv2 -f -ex eps-flat_oodraw_ai-cs5-lev3-preview.eps +Exit code: 0 -----> eps-flat_oodraw_ai-cs5-lev3.eps <----- @@ -2719,9 +2848,56 @@ Exit code: 1 -----> eps-flat_photoshop-e9-win-doseps.eps <----- Command: exiv2 -u -pa eps-flat_photoshop-e9-win-doseps.eps -Exiv2 exception in print action for file eps-flat_photoshop-e9-win-doseps.eps: -This does not look like a EPS image -Exit code: 1 +Xmp.xmp.CreatorTool XmpText 36 Adobe Photoshop Elements 9.0 Windows +Xmp.xmp.MetadataDate XmpText 25 2011-06-15T17:26:37+02:00 +Xmp.xmp.ModifyDate XmpText 25 2011-06-15T17:26:37+02:00 +Xmp.xmp.CreateDate XmpText 25 2011-06-15T17:26:37+02:00 +Xmp.xmpMM.InstanceID XmpText 40 xmp.iid:BB76D1936397E011BD8F809D442CE889 +Xmp.xmpMM.DocumentID XmpText 40 xmp.did:BA76D1936397E011BD8F809D442CE889 +Xmp.xmpMM.OriginalDocumentID XmpText 40 xmp.did:BA76D1936397E011BD8F809D442CE889 +Xmp.xmpMM.History XmpText 0 type="Seq" +Xmp.xmpMM.History[1] XmpText 0 type="Struct" +Xmp.xmpMM.History[1]/stEvt:action XmpText 7 created +Xmp.xmpMM.History[1]/stEvt:instanceID XmpText 40 xmp.iid:BA76D1936397E011BD8F809D442CE889 +Xmp.xmpMM.History[1]/stEvt:when XmpText 25 2011-06-15T17:26:37+02:00 +Xmp.xmpMM.History[1]/stEvt:softwareAgent XmpText 36 Adobe Photoshop Elements 9.0 Windows +Xmp.xmpMM.History[2] XmpText 0 type="Struct" +Xmp.xmpMM.History[2]/stEvt:action XmpText 5 saved +Xmp.xmpMM.History[2]/stEvt:instanceID XmpText 40 xmp.iid:BB76D1936397E011BD8F809D442CE889 +Xmp.xmpMM.History[2]/stEvt:when XmpText 25 2011-06-15T17:26:37+02:00 +Xmp.xmpMM.History[2]/stEvt:softwareAgent XmpText 36 Adobe Photoshop Elements 9.0 Windows +Xmp.xmpMM.History[2]/stEvt:changed XmpText 1 / +Xmp.dc.format XmpText 10 image/epsf +Xmp.tiff.Orientation XmpText 1 top, left +Xmp.tiff.XResolution XmpText 13 118 +Xmp.tiff.YResolution XmpText 13 118 +Xmp.tiff.ResolutionUnit XmpText 1 cm +Xmp.tiff.NativeDigest XmpText 134 256,257,258,259,262,274,277,284,530,531,282,283,296,301,318,319,529,532,306,270,271,272,305,315,33432;ACFFF7D243A168D5528B080270FB9FEC +Xmp.exif.PixelXDimension XmpText 4 1890 +Xmp.exif.PixelYDimension XmpText 4 1417 +Xmp.exif.ColorSpace XmpText 1 sRGB +Xmp.exif.NativeDigest XmpText 414 36864,40960,40961,37121,37122,40962,40963,37510,40964,36867,36868,33434,33437,34850,34852,34855,34856,37377,37378,37379,37380,37381,37382,37383,37384,37385,37386,37396,41483,41484,41486,41487,41488,41492,41493,41495,41728,41729,41730,41985,41986,41987,41988,41989,41990,41991,41992,41993,41994,41995,41996,42016,0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,22,23,24,25,26,27,28,30;688FEB35A103981B434E9C688B2AB188 +Xmp.photoshop.ColorMode XmpText 1 3 +Xmp.photoshop.ICCProfile XmpText 17 sRGB IEC61966-2.1 +Exit code: 253 + +Command: exiv2 -pp eps-flat_photoshop-e9-win-doseps.eps +Exit code: 0 + +Command: exiv2 -f -ep eps-flat_photoshop-e9-win-doseps.eps +Exit code: 0 + +Command: exiv2 -f -eX eps-flat_photoshop-e9-win-doseps.eps +Exit code: 0 + +Command: exiv2 -ix eps-flat_photoshop-e9-win-doseps.eps +Exit code: 0 + +Command: (2) exiv2 -ix eps-flat_photoshop-e9-win-doseps.eps +Exit code: 0 + +Command: exiv2 -f -ex eps-flat_photoshop-e9-win-doseps.eps +Exit code: 0 -----> eps-flat_photoshop-e9-win.eps <----- @@ -2812,7 +2988,7 @@ Exit code: 1 -----> eps-nested_noxmp_ai-3-lev2.eps <----- Command: exiv2 -u -pa eps-nested_noxmp_ai-3-lev2.eps -Warning: Embedded documents are currently not supported. Found embedded document at position: 9908 +Warning: Nested documents are currently not supported. Found nested document at position: 9908 Exiv2 exception in print action for file eps-nested_noxmp_ai-3-lev2.eps: Failed to read image data Exit code: 1 @@ -2820,7 +2996,7 @@ Exit code: 1 -----> eps-nested_noxmp_ai-3-lev3.eps <----- Command: exiv2 -u -pa eps-nested_noxmp_ai-3-lev3.eps -Warning: Embedded documents are currently not supported. Found embedded document at position: 9908 +Warning: Nested documents are currently not supported. Found nested document at position: 9908 Exiv2 exception in print action for file eps-nested_noxmp_ai-3-lev3.eps: Failed to read image data Exit code: 1 @@ -2828,7 +3004,7 @@ Exit code: 1 -----> eps-nested_noxmp_ai-8-lev2.eps <----- Command: exiv2 -u -pa eps-nested_noxmp_ai-8-lev2.eps -Warning: Embedded documents are currently not supported. Found embedded document at position: 51363 +Warning: Nested documents are currently not supported. Found nested document at position: 51363 Exiv2 exception in print action for file eps-nested_noxmp_ai-8-lev2.eps: Failed to read image data Exit code: 1 @@ -2836,7 +3012,7 @@ Exit code: 1 -----> eps-nested_noxmp_ai-8-lev3.eps <----- Command: exiv2 -u -pa eps-nested_noxmp_ai-8-lev3.eps -Warning: Embedded documents are currently not supported. Found embedded document at position: 51363 +Warning: Nested documents are currently not supported. Found nested document at position: 51363 Exiv2 exception in print action for file eps-nested_noxmp_ai-8-lev3.eps: Failed to read image data Exit code: 1 @@ -2844,7 +3020,7 @@ Exit code: 1 -----> eps-nested_noxmp_ai-cs5-lev2.eps <----- Command: exiv2 -u -pa eps-nested_noxmp_ai-cs5-lev2.eps -Warning: Embedded documents are currently not supported. Found embedded document at position: 199781 +Warning: Nested documents are currently not supported. Found nested document at position: 199781 Exiv2 exception in print action for file eps-nested_noxmp_ai-cs5-lev2.eps: Failed to read image data Exit code: 1 @@ -2852,7 +3028,7 @@ Exit code: 1 -----> eps-nested_noxmp_ai-cs5-lev3.eps <----- Command: exiv2 -u -pa eps-nested_noxmp_ai-cs5-lev3.eps -Warning: Embedded documents are currently not supported. Found embedded document at position: 199367 +Warning: Nested documents are currently not supported. Found nested document at position: 199367 Exiv2 exception in print action for file eps-nested_noxmp_ai-cs5-lev3.eps: Failed to read image data Exit code: 1 @@ -2860,35 +3036,39 @@ Exit code: 1 -----> eps-nested_noxmp_indesign-cs5-lev2-bin.eps <----- Command: exiv2 -u -pa eps-nested_noxmp_indesign-cs5-lev2-bin.eps +Warning: Nested documents are currently not supported. Found nested document at position: 180329 Exiv2 exception in print action for file eps-nested_noxmp_indesign-cs5-lev2-bin.eps: -This does not look like a EPS image +Failed to read image data Exit code: 1 -----> eps-nested_noxmp_indesign-cs5-lev2.eps <----- Command: exiv2 -u -pa eps-nested_noxmp_indesign-cs5-lev2.eps +Warning: Nested documents are currently not supported. Found nested document at position: 180411 Exiv2 exception in print action for file eps-nested_noxmp_indesign-cs5-lev2.eps: -This does not look like a EPS image +Failed to read image data Exit code: 1 -----> eps-nested_noxmp_indesign-cs5-lev3-bin.eps <----- Command: exiv2 -u -pa eps-nested_noxmp_indesign-cs5-lev3-bin.eps +Warning: Nested documents are currently not supported. Found nested document at position: 180329 Exiv2 exception in print action for file eps-nested_noxmp_indesign-cs5-lev3-bin.eps: -This does not look like a EPS image +Failed to read image data Exit code: 1 -----> eps-nested_noxmp_indesign-cs5-lev3.eps <----- Command: exiv2 -u -pa eps-nested_noxmp_indesign-cs5-lev3.eps +Warning: Nested documents are currently not supported. Found nested document at position: 180411 Exiv2 exception in print action for file eps-nested_noxmp_indesign-cs5-lev3.eps: -This does not look like a EPS image +Failed to read image data Exit code: 1 -----> eps-nested_noxmp_oodraw-lev2-epsi.eps <----- Command: exiv2 -u -pa eps-nested_noxmp_oodraw-lev2-epsi.eps -Warning: Embedded documents are currently not supported. Found embedded document at position: 111882 +Warning: Nested documents are currently not supported. Found nested document at position: 111882 Exiv2 exception in print action for file eps-nested_noxmp_oodraw-lev2-epsi.eps: Failed to read image data Exit code: 1 @@ -2896,14 +3076,15 @@ Exit code: 1 -----> eps-nested_noxmp_oodraw-lev2-preview.eps <----- Command: exiv2 -u -pa eps-nested_noxmp_oodraw-lev2-preview.eps +Warning: Nested documents are currently not supported. Found nested document at position: 16203 Exiv2 exception in print action for file eps-nested_noxmp_oodraw-lev2-preview.eps: -This does not look like a EPS image +Failed to read image data Exit code: 1 -----> eps-nested_noxmp_oodraw-lev2.eps <----- Command: exiv2 -u -pa eps-nested_noxmp_oodraw-lev2.eps -Warning: Embedded documents are currently not supported. Found embedded document at position: 1937 +Warning: Nested documents are currently not supported. Found nested document at position: 1937 Exiv2 exception in print action for file eps-nested_noxmp_oodraw-lev2.eps: Failed to read image data Exit code: 1 @@ -2911,42 +3092,47 @@ Exit code: 1 -----> eps-nested_xmp_ai-3-lev3.eps <----- Command: exiv2 -u -pa eps-nested_xmp_ai-3-lev3.eps +Warning: Nested documents are currently not supported. Found nested document at position: 24646 Exiv2 exception in print action for file eps-nested_xmp_ai-3-lev3.eps: -This does not look like a EPS image +Failed to read image data Exit code: 1 -----> eps-nested_xmp_ai-8-lev3.eps <----- Command: exiv2 -u -pa eps-nested_xmp_ai-8-lev3.eps +Warning: Nested documents are currently not supported. Found nested document at position: 250651 Exiv2 exception in print action for file eps-nested_xmp_ai-8-lev3.eps: -This does not look like a EPS image +Failed to read image data Exit code: 1 -----> eps-nested_xmp_ai-cs5-lev3.eps <----- Command: exiv2 -u -pa eps-nested_xmp_ai-cs5-lev3.eps +Warning: Nested documents are currently not supported. Found nested document at position: 233935 Exiv2 exception in print action for file eps-nested_xmp_ai-cs5-lev3.eps: -This does not look like a EPS image +Failed to read image data Exit code: 1 -----> eps-nested_xmp_indesign-cs5-lev3-bin.eps <----- Command: exiv2 -u -pa eps-nested_xmp_indesign-cs5-lev3-bin.eps +Warning: Nested documents are currently not supported. Found nested document at position: 180285 Exiv2 exception in print action for file eps-nested_xmp_indesign-cs5-lev3-bin.eps: -This does not look like a EPS image +Failed to read image data Exit code: 1 -----> eps-nested_xmp_indesign-cs5-lev3.eps <----- Command: exiv2 -u -pa eps-nested_xmp_indesign-cs5-lev3.eps +Warning: Nested documents are currently not supported. Found nested document at position: 180367 Exiv2 exception in print action for file eps-nested_xmp_indesign-cs5-lev3.eps: -This does not look like a EPS image +Failed to read image data Exit code: 1 -----> eps-nested_xmp_oodraw-lev2-epsi.eps <----- Command: exiv2 -u -pa eps-nested_xmp_oodraw-lev2-epsi.eps -Warning: Embedded documents are currently not supported. Found embedded document at position: 111804 +Warning: Nested documents are currently not supported. Found nested document at position: 111804 Exiv2 exception in print action for file eps-nested_xmp_oodraw-lev2-epsi.eps: Failed to read image data Exit code: 1 @@ -2954,14 +3140,15 @@ Exit code: 1 -----> eps-nested_xmp_oodraw-lev2-preview.eps <----- Command: exiv2 -u -pa eps-nested_xmp_oodraw-lev2-preview.eps +Warning: Nested documents are currently not supported. Found nested document at position: 16365 Exiv2 exception in print action for file eps-nested_xmp_oodraw-lev2-preview.eps: -This does not look like a EPS image +Failed to read image data Exit code: 1 -----> eps-nested_xmp_oodraw-lev2.eps <----- Command: exiv2 -u -pa eps-nested_xmp_oodraw-lev2.eps -Warning: Embedded documents are currently not supported. Found embedded document at position: 1859 +Warning: Nested documents are currently not supported. Found nested document at position: 1859 Exiv2 exception in print action for file eps-nested_xmp_oodraw-lev2.eps: Failed to read image data Exit code: 1