From f12e281e17c7c4c35e6c87cb2fc82cf937d9bd8d Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@unknown> Date: Sun, 2 Dec 2001 22:17:30 +0000 Subject: [PATCH] This commit was manufactured by cvs2svn to create branch 'fop-0_20_2-maintain'. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/fop-0_20_2-maintain@194580 13f79535-47bb-0310-9956-ffa450edef68 --- lib/logkit-1.0.jar | Bin 0 -> 70529 bytes src/org/apache/fop/image/EPSImage.java | 94 ++++++++ .../apache/fop/image/analyser/EPSReader.java | 218 ++++++++++++++++++ src/org/apache/fop/pdf/PDFICCStream.java | 57 +++++ 4 files changed, 369 insertions(+) create mode 100644 lib/logkit-1.0.jar create mode 100644 src/org/apache/fop/image/EPSImage.java create mode 100644 src/org/apache/fop/image/analyser/EPSReader.java create mode 100644 src/org/apache/fop/pdf/PDFICCStream.java diff --git a/lib/logkit-1.0.jar b/lib/logkit-1.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..8b1d2c1440c356b03a0918ce9c1a00be878eb2dc GIT binary patch literal 70529 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

h@yCx35jr(~K`wv1+!z+0+ztX6i4M;*cY|U^ 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 0) { + preview = new byte[(int)tiffLength]; + System.arraycopy(rawEps, (int)tiffStart, preview, 0, (int)tiffLength); + } + } + return preview; + } + + /** Extract bounding box from eps part + */ + private long[] readBBox() { + long[] mbbox = null; + int idx = 0; + byte[] bbxName = "%%BoundingBox: ".getBytes(); + boolean found = false; + + while (!found && (epsFile.length > (idx + bbxName.length))) { + boolean sfound = true; + int i = idx; + for (i = idx; sfound && (i-idx) < bbxName.length; i++) { + if (bbxName[i - idx] != epsFile[i]) + sfound = false; + } + if (sfound) { + found = true; + idx = i; + } else { + idx++; + } + } + + if (!found) + return mbbox; + + + mbbox = new long[4]; + idx += readLongString(mbbox, 0, idx); + idx += readLongString(mbbox, 1, idx); + idx += readLongString(mbbox, 2, idx); + idx += readLongString(mbbox, 3, idx); + + return mbbox; + } + + private int readLongString(long[] mbbox, int i, int idx) { + while (idx < epsFile.length && + (epsFile[idx] == 32)) + idx++; + + int nidx = idx; + + while (nidx < epsFile.length && + (epsFile[nidx] >= 48 && epsFile[nidx] <= 57)) + nidx++; + + byte[] num = new byte[nidx - idx]; + System.arraycopy(epsFile, idx, num, 0, nidx-idx); + String ns = new String(num); + mbbox[i] = Long.parseLong(ns); + + return (1+nidx - idx); + } + + public String getMimeType() { + return "image/eps"; + } + + /** + * Return the BoundingBox + */ + public int[] getBBox() { + int[] bbox = new int[4]; + bbox[0] = (int)this.bbox[0]; + bbox[1] = (int)this.bbox[1]; + bbox[2] = (int)this.bbox[2]; + bbox[3] = (int)this.bbox[3]; + return bbox; + } +} + diff --git a/src/org/apache/fop/pdf/PDFICCStream.java b/src/org/apache/fop/pdf/PDFICCStream.java new file mode 100644 index 000000000..7890b51a9 --- /dev/null +++ b/src/org/apache/fop/pdf/PDFICCStream.java @@ -0,0 +1,57 @@ +/* + * $Id$ + * Copyright (C) 2001 The Apache Software Foundation. All rights reserved. + * For details on use and redistribution please refer to the + * LICENSE file included with these sources. + */ + +package org.apache.fop.pdf; +import org.apache.fop.datatypes.ColorSpace; + +public class PDFICCStream extends PDFStream { + private int origLength; + private int len1, len3; + private byte[] originalData = null; + + private ColorSpace cs; + + public void setColorSpace(ColorSpace cs) throws java.io.IOException { + this.cs = cs; + setData(cs.getICCProfile()); + } + + public PDFICCStream(int num) { + super(num); + cs = null; + } + + public PDFICCStream(int num, ColorSpace cs) throws java.io.IOException { + super(num); + setColorSpace(cs); + } + + // overload the base object method so we don't have to copy + // byte arrays around so much + protected int output(java.io.OutputStream stream) + throws java.io.IOException { + int length = 0; + String filterEntry = applyFilters(); + StringBuffer pb = new StringBuffer(); + pb.append(this.number).append(" ").append(this.generation).append(" obj\n<< "); + pb.append("/N ").append(cs.getNumComponents()).append(" "); + + if (cs.getColorSpace() > 0) + pb.append("/Alternate /").append(cs.getColorSpacePDFString()).append(" "); + + pb.append("/Length ").append((_data.size() + 1)).append(" ").append(filterEntry); + pb.append(" >>\n"); + byte[] p = pb.toString().getBytes(); + stream.write(p); + length += p.length; + length += outputStreamData(stream); + p = "endobj\n".getBytes(); + stream.write(p); + length += p.length; + return length; + } +} -- 2.39.5