Return-Path: Delivered-To: apmail-xmlgraphics-general-archive@www.apache.org Received: (qmail 49874 invoked from network); 9 Feb 2007 08:36:33 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 9 Feb 2007 08:36:33 -0000 Received: (qmail 65035 invoked by uid 500); 9 Feb 2007 08:36:40 -0000 Mailing-List: contact general-help@xmlgraphics.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: general@xmlgraphics.apache.org Delivered-To: mailing list general@xmlgraphics.apache.org Received: (qmail 65005 invoked by uid 99); 9 Feb 2007 08:36:40 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 09 Feb 2007 00:36:40 -0800 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: local policy) Received: from [213.239.215.103] (HELO tux17.hoststar.ch) (213.239.215.103) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 09 Feb 2007 00:36:29 -0800 Received: from [127.0.0.1] (adsl-84-227-11-163.adslplus.ch [84.227.11.163]) (authenticated bits=0) by tux17.hoststar.ch (8.13.6/8.12.11) with ESMTP id l198a6hT021578; Fri, 9 Feb 2007 09:36:09 +0100 Date: Fri, 09 Feb 2007 09:36:15 +0100 From: Jeremias Maerki To: general@xmlgraphics.apache.org Subject: [VOTE:RESULTS] New component: DSC parser/processor Cc: private@xmlgraphics.apache.org In-Reply-To: <20070203190402.FC9C.DEV@jeremias-maerki.ch> References: <20070203190402.FC9C.DEV@jeremias-maerki.ch> Message-Id: <20070209092649.69B1.DEV@jeremias-maerki.ch> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable X-Mailer: Becky! ver. 2.28.01 [en] X-Antivirus: avast! (VPS 000712-1, 08.02.2007), Outbound message X-Antivirus-Status: Clean X-Virus-Checked: Checked by ClamAV on apache.org Ok, we have 6 +1 votes and no other votes. I'm currently filling out the IP clearance forms (it's a larger contribution developed off-line and I have to jump through the hoops). When it's all recorded, I'll commit the code. On 03.02.2007 19:18:21 Jeremias Maerki wrote: > Hi there >=20 > I've just finished the initial version of a DSC parser which I'd like to > put into XML Graphics Commons. What the heck is a DSC parser? :-) Here's > the text of the (somewhat minimal) documentation I wrote for the thing: >=20 > ------------------------ >=20 > DSC parser/processor >=20 > Many PostScript files use special comments to structure a document. This > allows manipulation of PostScript files without interpreting them. These > special comments are defined in the Document Structuring Conventions. > http://partners.adobe.com/public/developer/en/ps/5001.DSC_Spec.pdf > The code in Commons is designed to work with DSC 3.0. For details on how > DSC is used, please take a look at the DSC specification. >=20 > The DSC support in Commons was primarily developed to implement resource > optimization features in Apache FOP's PostScript output support. > Resources like images which are used repeatedly in a document should not > be written to the PostScript file each time it is used. Instead it is > written once at the beginning of the file as a PostScript form. The form > is then called whenever the image needs painting. >=20 > But the DSC parser could potentially be used for other purposes. The > most obvious is extracting a subset of pages from a DSC-compliant file. > Assume you want to print only page 45 to 57 of a particular document. > There's an example that demonstrates exactly this. Check out the > "examples" directory in the distribution. Other potential use cases for > the DSC parser are: >=20 > * Patching PostScript files, for example, adding OMR marks for automa= tic packaging > * Imposition (2-up, n-up, rotation, etc.) > * EPS graphic extraction > * Inspecting the page count > * etc. etc. >=20 > The DSC parser (DSCParser) was designed as a pull parser, i.e. you fetch > new events from the parser inspecting them and acting on them as they > are found. If you prefer to work with a push parser, you can pass the > DSCParser a DSCHandler implementation and the parser will send you all > the events. >=20 > The best example to understand how to use the DSC parser is the > PageExtractor class that implements the page extraction functionality > mentioned above.=20 >=20 > ------------------------ >=20 > I hope that explains what I've built. I'd like to ask if anyone has any > reservations about my adding the DSC parser to XML Graphics Commons. > After all, it's a rather large and completely new thing and therefore I > thought it necessary to ask before committing. It's probably a lot less > interesting for Batik, but it is for FOP. Since it is designed to be > used separately from FOP I thought it was best to put it in Commons. > I've also already built the resource optimization functionality for FOP > that uses the DSC parser. I can commit those changes (Commons and FOP) > as soon as we know that nobody objects. >=20 > I've made a patch containing the DSC parser available (including full > javadocs, an example and minimal documentation for the website), so you > can see what exactly we're talking about: > http://people.apache.org/~jeremias/xmlgraphics-commons-dsc-new.diff.txt >=20 >=20 > +1 from me for adding the DSC parser (obviously). >=20 > Jeremias Maerki Jeremias Maerki --------------------------------------------------------------------- Apache XML Graphics Project URL: http://xmlgraphics.apache.org/ To unsubscribe, e-mail: general-unsubscribe@xmlgraphics.apache.org For additional commands, e-mail: general-help@xmlgraphics.apache.org