Re: question on fonts
--- Wolf Gustavo (SGC-EXT) [EMAIL PROTECTED] wrote: Hi all, does anyone know how to make fop transform a th (like in 4th) in order to put it as superscript with a small font (in good ol'LateX it would go like $4^{th}$)? You might try 4fo:inline font-size=7pt line-height='8pt' vertical-align=super th/fo:inline though I haven't tried it.. = Alex McLintock[EMAIL PROTECTED]Open Source Consultancy in London OpenWeb Analysts Ltd, http://www.OWAL.co.uk/ DR WHO COMPETITION: http://www.diversebooks.com/cgi-bin/caption/captions.cgi?date=200104 Get Your XML T-Shirt t-shirt/ at http://www.inversity.co.uk/ Do You Yahoo!? Get your free @yahoo.co.uk address at http://mail.yahoo.co.uk or your free @yahoo.ie address at http://mail.yahoo.ie - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: fo:flow within fo:page-sequence
On Thu, 12 Jul 2001 11:25:06 Wolf Gustavo (SGC-EXT) wrote: Hi, in the XML bible, chap. 15, I read that for a fo:page-sequence I can have one fo:flow per region, i.e.: fo:flow flow-name=xsl-region-body, and then another like fo:flow flow-name=xsl-region-after., etc, which makes 5 in total per page. However, when I try to define one flow for body and another for after, Fop tells me that only a single fo:flow admitted per fo:page-sequence. Does anybody know how to solve this? Thanks a lot, Gustavo The allowed content for a page-sequence is: (title?,static-content*,flow) That is - only one flow. What you want (possibly) is to define some static-content, as in the example in docs/examples/pagination/allregions.fo. eg. fo:static-content flow-name=xsl-region-start fo:block-container height=22.2cm width=1cm top=0cm left=0cm position=absolute fo:blockStart/fo:block /fo:block-container /fo:static-content - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
cannot find class java/lang/Thread
Hi, I have installed FOP on my Sun station. When I try to execute the fop.sh command, I get the following error message: Unable to initialize threads: cannot find class java/lang/Thread Can anyone tell me if there is a solution to this problem ? Thanks a lot - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
cvs commit: xml-fop/src/org/apache/fop/svg SVGElementMapping.java
keiron 01/07/12 06:03:42 Modified:src/org/apache/fop/apps Driver.java src/org/apache/fop/configuration Configuration.java ConfigurationReader.java src/org/apache/fop/extensions ExtensionElementMapping.java src/org/apache/fop/fo ElementMapping.java StandardElementMapping.java src/org/apache/fop/image SVGImage.java src/org/apache/fop/render/awt AWTRenderer.java src/org/apache/fop/render/pdf PDFRenderer.java src/org/apache/fop/render/ps PSRenderer.java src/org/apache/fop/svg SVGElementMapping.java Log: combined property list setting into element setting also always get parser class name from one place Revision ChangesPath 1.28 +96 -53xml-fop/src/org/apache/fop/apps/Driver.java Index: Driver.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/apps/Driver.java,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- Driver.java 2001/07/02 10:48:01 1.27 +++ Driver.java 2001/07/12 13:02:56 1.28 @@ -1,4 +1,4 @@ -/* $Id: Driver.java,v 1.27 2001/07/02 10:48:01 keiron Exp $ +/* $Id: Driver.java,v 1.28 2001/07/12 13:02:56 keiron Exp $ * 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. @@ -9,7 +9,6 @@ // FOP import org.apache.fop.fo.FOTreeBuilder; import org.apache.fop.fo.ElementMapping; -import org.apache.fop.fo.PropertyListMapping; import org.apache.fop.layout.AreaTree; import org.apache.fop.layout.FontInfo; import org.apache.fop.render.Renderer; @@ -136,6 +135,18 @@ /** the system resources that FOP will use*/ private BufferManager _bufferManager; +public static final String getParserClassName() { +String parserClassName = null; +try { +parserClassName = System.getProperty(org.xml.sax.parser); +} catch(SecurityException se) { +} +if (parserClassName == null) { +parserClassName = org.apache.xerces.parsers.SAXParser; +} +return parserClassName; +} + /** create a new Driver */ public Driver() { _stream = null; @@ -200,30 +211,24 @@ _reader = reader; } - /** * Sets all the element and property list mappings to their default values. * */ public void setupDefaultMappings() { addElementMapping(org.apache.fop.fo.StandardElementMapping); -addPropertyList (org.apache.fop.fo.StandardPropertyListMapping); - addElementMapping(org.apache.fop.svg.SVGElementMapping); -addPropertyList (org.apache.fop.svg.SVGPropertyListMapping); - addElementMapping(org.apache.fop.extensions.ExtensionElementMapping); -addPropertyList (org.apache.fop.extensions.ExtensionPropertyListMapping); -// add mappings from user configuration -Hashtable mappings = Configuration.getHashtableValue(mappings); -if (mappings != null) { -String prop = (String) mappings.get(property); -String ele = (String) mappings.get(element); -try { -addElementMapping(ele); -addPropertyList(prop); -} catch (IllegalArgumentException e) { +// add mappings from available services +Enumeration providers = Service.providers(org.apache.fop.fo.ElementMapping.class); +if (providers != null) { +while(providers.hasMoreElements()) { +String str = (String)providers.nextElement(); +try { +addElementMapping(str); +} catch (IllegalArgumentException e) { +} } } } @@ -271,7 +276,6 @@ } - /** * Set the Renderer to use * @param renderer the renderer instance to use @@ -361,41 +365,6 @@ } /** - * Add the PropertyListMapping. - */ -public void addPropertyList(PropertyListMapping mapping) { -mapping.addToBuilder(_treeBuilder); -} - -/** - * Add the PropertyListMapping with the given class name. - */ -public void addPropertyList(String listClassName) -throws IllegalArgumentException { -try { -PropertyListMapping mapping = - (PropertyListMapping) Class.forName( -listClassName).newInstance(); -addPropertyList(mapping); - -} catch (ClassNotFoundException e) { -throw new IllegalArgumentException(Could not find +
cvs commit: xml-fop/src/org/apache/fop/svg SVGPropertyListMapping.java
keiron 01/07/12 06:12:09 Removed: src/org/apache/fop/extensions ExtensionPropertyListMapping.java src/org/apache/fop/fo PropertyListMapping.java StandardPropertyListMapping.java src/org/apache/fop/svg SVGPropertyListMapping.java Log: no longer needed - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Java Extensions in Xalan vs Fop
Hi all, Firstly, many thanks for the hard work on FOP -- it's a great piece of work. Unfortunately I've stumbled upon a problem which I'm at a loss to figure out. I'm hoping that someone on the list will be able to shed some light on the problem. I've been playing with Java Extension functions under Xalan with great success. I need to move one of these over to go through FOP in order to process dates, so I've slightly amended the example as provided with Xalan to better suit my needs and to test the process. I've got a small test xml file which contains the following: [g-test.xml] -- ?xml version=1.0? gtest date2001-07-11/date /gtest -- The XSL file generates a FO file suitable for processing by FOP. Cutting out most of the cruft, the file is as follows: [g-test.xsl] -- ?xml version=1.0? xsl:stylesheet version=1.0 xmlns:xsl=http://www.w3.org/1999/XSL/Transform; xmlns:fo=http://www.w3.org/1999/XSL/Format; xmlns:java=http://xml.apache.org/xslt/java; xmlns:bchext=xalan://BchDate xsl:template match=/ fo:root xmlns:fo=http://www.w3.org/1999/XSL/Format; !-- Layout the page dimensions. A4 landscape... -- [SNIP] !-- Start the page sequence... Each page will follow this odel... -- [SNIP] /fo:root /xsl:template xsl:template match=date !-- This is the format mask for SimpleDateFormat -- xsl:variable name=format select=string('EEE MMM dd ')/ xsl:variable name=date select=string(.)/ fo:table font-size=7pt [TABLE COLUMN SETUP / SNIP] fo:table-header [SNIP] /fo:table-header fo:table-body fo:table-row fo:table-cell fo:block border-right-width=0.5pt text-align=center vertical-align=middle border-style=solid line-height=11pt xsl:variable name=formatter select=java:java.text.SimpleDateFormat.new($format)/ xsl:variable name=formatdate select=java:BchDate.getDate ($date)/ xsl:value-of select=java:format($formatter, $formatdate)/ /fo:block /fo:table-cell ... [SNIP] ... /fo:table-row /fo:table-body /fo:table /xsl:template /xsl:stylesheet -- I'll leave out the Java class for brevity, it's basically the same as the 3-java-namespace example from Xalan. The Java class is on the classpath, I included a function 'main' to test this and all works fine. The XML, XSL and Java will all process through Xalan as expected, and an XSL:FO file is produced correctly, no problems. However, I wish to use FOP to do all this in one go with the usual java -jar fop.jar -xml g-test.xml -xsl g-test.xsl -pdf out.pdf -- and this is where my problem crops up. When I run the command as shown, the error: filepath; Line 123; Column 87; ERROR: BchDate is shown. I understand this error to be along the lines of a Can't find class BchDate, as I had the same problem with Xalan whilst learning how to implement extensions. Can anyone point out what stupid mistake I am making here? I'm at a loss as to why the same files will process with Xalan-j_2_2_D6 and yet not with FOP-0.19 which, as I understand it, uses Xalan for the XSLT stage... I've double checked the CLASS_PATH settings, tested the Java and been all over the website trying to figure out if I should be using a different namespace setting for FOP (things aren't particularly clear, there or in the docs). I'm running NT4 for development, and the server is 2k. Java is JDK1.3.1 from Sun. I'm sorry for the length of the post. I thought it would save time to explain things as verbosly as possible! Thanks in advance for your time, best regards Gareth Noyce P.S. I'll happily send all my test files to anyone off list if it helps. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: Java Extensions in Xalan vs Fop
The Java class is on the classpath, I included a function 'main' to test this and all works fine. The XML, XSL and Java will all process through Xalan as expected, and an XSL:FO file is produced correctly, no problems. However, I wish to use FOP to do all this in one go with the usual java -jar fop.jar -xml g-test.xml -xsl g-test.xsl -pdf out.pdf -- and this is where my problem crops up. When I run the command as shown, the error: I may get something wrong, but don't you have to specify an additional -cp for you BchDate class? fop.jar contains a manifest file which specifies the classpath to use. If you need more than the standard packages, I'd write something like: java -jar -cp yourPath fop.jar -xml ... I didn't test this but it's worth a try. Jeremias Märki mailto:[EMAIL PROTECTED] OUTLINE AG Postfach 3954 - Rhynauerstr. 15 - CH-6002 Luzern Fon +41 (41) 317 2020 - Fax +41 (41) 317 2029 Internet http://www.outline.ch - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: cannot find class java/lang/Thread
--- Davy Moskofian [EMAIL PROTECTED] wrote: Hi, I have installed FOP on my Sun station. When I try to execute the fop.sh command, I get the following error message: Unable to initialize threads: cannot find class java/lang/Thread Can anyone tell me if there is a solution to this problem ? You really need to make sure that you can run java programs on your system. It sounds like it isn't set up properly (or your environment isn't). FOP isn't an idiot proof application - you do need to know some Java and XML. Alex = Alex McLintock[EMAIL PROTECTED]Open Source Consultancy in London OpenWeb Analysts Ltd, http://www.OWAL.co.uk/ DR WHO COMPETITION: http://www.diversebooks.com/cgi-bin/caption/captions.cgi?date=200104 Get Your XML T-Shirt t-shirt/ at http://www.inversity.co.uk/ Do You Yahoo!? Get your free @yahoo.co.uk address at http://mail.yahoo.co.uk or your free @yahoo.ie address at http://mail.yahoo.ie - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
is there something like internal-graphic ?
I use FOP currently with external graphics, but I want to add directly binary data of an element like: bmp BDGADUGADUGFSZFDSSJDGSGDSDSDSDTSDGSICXSGDSD(S /bmp Does anybody know a way to include this directly in the FO or do I have to create a file with the data of bmp and use fo:external-graphic ? -- GMX - Die Kommunikationsplattform im Internet. http://www.gmx.net GMX Tipp: Machen Sie Ihr Hobby zu Geld bei unserem Partner 11! http://profiseller.de/info/index.php3?ac=OM.PS.PS003K00596T0409a - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: properties, elements
A few quick thoughts... That was probably just my XML super-ego thinking that case-by-case checks were a _bad_ thing... But on the other hand, as Arved points out, the complexity of the model would make it rather problematic. It's certainly more important to focus on detecting cases which FOP (or FO) can't or isn't supposed to handle and giving some kind of comprehensible message to the user, rather than getting hung up on formal correctness. We can do some global checking in the end method if that's necessary. That lets us look at all the descendants of an FO. The other way to look at constraints like the footnote one (or more generally, no floats beneath other floats - Dieu merci!) is from the ancestor point of view. When an FO is created, it knows what its parent will be even though it isn't yet on that parent's child list. So a footnote or float FO can check to see if has a footnote or float ancestor. We also need to think about what to do when we encounter this kind of case. Obviously we want to inform the user. We could either stop on an exception or just ignore the offending FO and keep going. Considering the property validity checks, I haven't touched that stuff in ages. In general there are warning messages for values that aren't convertible into one of the expected types. Most properties are just assumed to be valid for all elements unless they are explicitly associated with a particular element or elements. There are still lots of values which aren't handled, including the famous inherit keyword for all properties. In short, there is still plenty of work in there for some enterprising person(s). Regards, Karen Arved Sandstrom wrote: At 10:25 PM 7/11/01 +0200, Karen Lease wrote: Keiron Liddle wrote: Then after that I will see about handling the element child constraints (I haven't worked out how this should be done yet, any ideas) and doing a similar thing (to be impl.) with the rest of the elements that we don't have yet. For things like tables, I had been thinking of handling child type checking in the addChild method. That way we can give messages early in the game and also do special things like handling different children in special ways. An example is when table-cell FO are directly under a table-body (or header or footer) rather than in a table-row. In that case, I think it would be better to create a fake row to hold them. That kind of work is logically done during FO tree building. However that's rather a piecemeal approach. Perhaps it would be good to describe (schema? DTD?) the possible child types and have the base class implementation do that kind of checking. Just my .02 euros! I wonder if we should bother with formal parse-time validation at all (i.e. the schema/DTD idea). We already know that inheritable properties complicate the attribute issue, and then we also know that there are enough formatting objects with special content constraints that why even bother? I suggest letting the existing (and improved as required) properties refinement mechanism worry about checking property validity (Karen, maybe you can give us a state of the union as to where we stand on this?), and as Karen also mentioned, let's build in our own checking mechanism. My contribution to Karen's comments is merely to argue for not even bothering with schemas or DTDs at all. Perhaps we should winnow out all the rules from the spec into one document, and that should give us a 10,000 ft view of what we are faced with. That might lead us to an efficient approach, or suggest certain base-class checking shortcuts rather than sub-class checking. For example, among the variety of things we have are: 1) fo:wrapper - (#PCDATA|%inline;|%block;)* An fo:wrapper is only permitted to have children that would be permitted to be children of the parent of the fo:wrapper, with two exceptions: * An fo:wrapper may always have a sequence of zero or more fo:markers as its initial children. * An fo:wrapper that is a child of an fo:multi-properties is only permitted to have children that would be permitted in place of the fo:multi-properties. This restriction applies recursively. 2) fo:footnote Contents: (inline,footnote-body) An fo:footnote is not permitted to have an fo:float, fo:footnote, or fo:marker as a descendant. Additionally, an fo:footnote is not permitted to have as a descendant an fo:block-container that generates an absolutely positioned area. 3) fo:table-header Contents: (table-row+|table-cell+) The fo:table-header has fo:table-row (one or more) as its children, or alternatively fo:table-cell (one or more). In the latter case cells are grouped into rows using the starts-row and ends-row properties. In addition this formatting object may have a sequence of zero or more fo:markers as its initial children. I do not get the feeling that we have a comprehensive or consistent system for enforcing these content rules. Note
cvs commit: xml-fop/src/org/apache/fop/fo/flow Block.java
arved 01/07/12 19:30:37 Modified:src/org/apache/fop/fo/flow Block.java Log: AHS: addressing break boundary conditions Revision ChangesPath 1.34 +21 -73xml-fop/src/org/apache/fop/fo/flow/Block.java Index: Block.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/flow/Block.java,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- Block.java2001/03/05 04:39:56 1.33 +++ Block.java2001/07/13 02:30:33 1.34 @@ -1,52 +1,8 @@ -/*-- $Id: Block.java,v 1.33 2001/03/05 04:39:56 keiron Exp $ -- - - - The Apache Software License, Version 1.1 - - - Copyright (C) 1999 The Apache Software Foundation. All rights reserved. - - Redistribution and use in source and binary forms, with or without modifica- - tion, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - 3. The end-user documentation included with the redistribution, if any, must - include the following acknowledgment: This product includes software - developed by the Apache Software Foundation (http://www.apache.org/). - Alternately, this acknowledgment may appear in the software itself, if - and wherever such third-party acknowledgments normally appear. - - 4. The names FOP and Apache Software Foundation must not be used to - endorse or promote products derived from this software without prior - written permission. For written permission, please contact - [EMAIL PROTECTED] - - 5. Products derived from this software may not be called Apache, nor may - Apache appear in their name, without prior written permission of the - Apache Software Foundation. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- - DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - This software consists of voluntary contributions made by many individuals - on behalf of the Apache Software Foundation and was originally created by - James Tauber [EMAIL PROTECTED]. For more information on the Apache - Software Foundation, please see http://www.apache.org/. - +/*-- $Id: Block.java,v 1.34 2001/07/13 02:30:33 arved Exp $-- */ +/* + * 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.fo.flow; @@ -147,10 +103,14 @@ area.getIDReferences().createID(id); this.marker = 0; - int breakStatus; - if ((breakStatus = propMgr.checkBreakBefore()) != Status.OK) { -return new Status(breakStatus); - } + + // no break if first in area tree, or leading in context + // area + int breakBeforeStatus = propMgr.checkBreakBefore(area); + if (breakBeforeStatus != Status.OK) { + return new Status(breakBeforeStatus); + } + int numChildren = this.children.size(); for (int i = 0; i numChildren;
cvs commit: xml-fop/src/org/apache/fop/layout Area.java
arved 01/07/12 19:31:16 Modified:src/org/apache/fop/layout Area.java Log: AHS: addressing break boundary conditions Revision ChangesPath 1.20 +5 -1 xml-fop/src/org/apache/fop/layout/Area.java Index: Area.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/layout/Area.java,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- Area.java 2001/06/12 11:37:35 1.19 +++ Area.java 2001/07/13 02:31:14 1.20 @@ -1,4 +1,4 @@ -/* $Id: Area.java,v 1.19 2001/06/12 11:37:35 keiron Exp $ +/* $Id: Area.java,v 1.20 2001/07/13 02:31:14 arved Exp $ * 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. @@ -120,6 +120,10 @@ public Vector getChildren() { return this.children; +} + +public boolean hasChildren() { +return (this.children.size() != 0); } public int getContentWidth() { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Boundary Conditions on breaks
Hi, all Latest commits against PropertyManager, Block and Area begin to address boundary conditions on page and column breaks. What I mean by this is, in case nobody noticed, up til now if a block had a break-before=*page|column on it, _and_ it was already leading in its context, the break would get forced nevertheless. The same goes for break-after. I have code in PropertyManager, relatively untested, which should address break-before boundary conditions. The equivalent needs to be done for break-after; this is a bit more complicated. Having a block with a break condition actually lead or trail in context, before imposing the break condition, is relatively rare, I think, so this may have not caused many problems. Leastways nobody has complained. Where it would cause issues is most likely in the case you are doing things properly, and using XSLT to generate your FO, and let's say that you use sections, and you put a break-before=page on every section title; if a section leads off a page-sequence, which is pretty likely, then you would get an extra unwanted blank page. This should now be fixed. Regards, Arved Sandstrom -- Fairly Senior Software Type e-plicity (http://www.e-plicity.com) Halifax, Nova Scotia Wireless * B2B * J2EE * XML - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: Tree class
On Tuesday 10 July 2001 04:27, Peter B. West wrote: I have attempted to make Tree class operations thread-safe, and have added a subclass TreeRoot in an attempt to support fail-fast iterators as in AbstractList and its subclasses. Comments from more experienced Java folks would be welcome. My motivation, apart from the perceived need to give direct expression to the trees in use, was to provide a platform for some of the tree flattening operations which werer talked about here briefly. My concerns about the relationship between the final form of layout and the tree structure have tended to resolve in favour of virtual operations on an underlying tree, because the trees express so eloquently the relationships between the various layout components. If virtual flattening operations on trees are to be implemented, they will have to have well defined trees to work with, I should think. I still haven't looked in depth into the code, but it also occurs to me that, in association with the FO and area trees, a context stack would be a very useful way of keeping track of a lot of information that is relevant to the layout process. Some such stack or stacks may already be present in the code, explicitly or implicitly. Can someone point me in the right direction? Peter Hi, Peter Your Tree class efforts have not gone unnoticed. I've been mulling them over, anyway. My interest in what you are doing is not related to flattening, per se, although this mechanism may simplify answering questions that we need to ask. The kinds of questions that routinely come up are: 1. Is this area leading or trailing in context (page, even-page, odd-page, column)? 2. Is this area first or last in a reference-area or page-sequence? 3. Get me the preceding or succeeding sibling. Get me all siblings and/or ancestors that have this or that constraint (e.g. particular keep); 4. Tell me if there is a stacking constraint before or after this area? If so, what is it? There are convoluted mechanisms for doing some of this. Answering questions about trailing conditions (is this area trailing in context? is this the last area in the page sequence?) are currently not so easy. I don't want to even think about trying to answer question 4 for all the different situations - anything your efforts can do to simplify that would be great. I know that you have taken an interest in space-specifier resolution; the first step of course is just to figure out what the sequence of space specifiers is, assuming a stacking constraint exists, and right now that would be a serious pain in the butt. I would recommend familiarizing with our current area hierarchy, assuming you have not already done so. Basically Pages are flat within the area tree (AreaTree); each page contains 5 AreaContainers (for the regions), and the region-body itself is a container for 3 AreaContainers. One of those, the main-reference-area, is a container for span-area AreaContainers, and finally, span-areas contain ColumnAreas, which are also AreaContainers (and represent normal-flow-areas). So you see that we are pretty closely following the abstract model in the spec. ColumnAreas contain all the actual normal flow stuff. I cannot really say that there are any context stacks. Areas maintain a list of their children, as a Vector. There is just no other context information easily to be had, for example related to easily answering questions like the above. If you look at the checkBreakBefore() method in PropertyManager, you'll see the kinds of hoops we have to jump through right now to answer basic questions...it would be nice to obviate the necessity for that. Any insight you can bring to bear on this would be appreciated. I'd personally be happy to assist with integrating your tree stuff into FOP. Regards, Arved -- Fairly Senior Software Type e-plicity (http://www.e-plicity.com) Halifax, Nova Scotia Wireless * B2B * J2EE * XML - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
PDF rotate
Hello! Can somebody tell me if I can use fop to rotate a PDF document read it from a file? If yes, kindly show some sample code if possible. Thanks! - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Browser and Reader Versions supported
Hi, I wanted to know what Web Browser(IE) and Acrobat Reader versions FOP(FOP generated PDF) supports. Right now we are also using iText, the generated PDF doesn't render on certain browser/reader combinations. Thanks, Vasu - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]