cvs commit: xml-fop/docs/xml-docs/skins - New directory
keiron 01/10/05 01:38:51 xml-fop/docs/xml-docs/skins - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/docs/xml-docs/skins/xml.apache.org - New directory
keiron 01/10/05 02:15:08 xml-fop/docs/xml-docs/skins/xml.apache.org - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/docs/xml-docs/skins/xml.apache.org/resources - New directory
keiron 01/10/05 02:15:26 xml-fop/docs/xml-docs/skins/xml.apache.org/resources - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/docs/xml-docs/skins/xml.apache.org/stylesheets - New directory
keiron 01/10/05 02:15:27 xml-fop/docs/xml-docs/skins/xml.apache.org/stylesheets - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/docs/xml-docs/dtd - New directory
keiron 01/10/05 02:26:02 xml-fop/docs/xml-docs/dtd - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
bug inside
Hi, there. I write to let you know one more issue concerning FOP. :) Here it is: Moving from v0.19 to v0.20.1 I found the PCL renderer having acquired a new bug. It has problems drawing vertical lines. The version 0.20.2 left the problem unsolved, while 0.19 works fine. Perpetuam felicitatem, IVG Below is an example XML/XSL document that causes the problem. The example consists of two files: demorep.xsl demorep.xml begin file demorep.xsl - ?xml version=1.0 encoding=utf-8? xsl:stylesheet version=1.0 xmlns:xsl=http://www.w3.org/1999/XSL/Transform; xmlns:fo=http://www.w3.org/1999/XSL/Format; xsl:template match=/ fo:root xmlns:fo=http://www.w3.org/1999/XSL/Format; fo:layout-master-set fo:simple-page-master master-name=A4 page-width=297mm page-height=210mm margin-top=10mm margin-bottom=20mm margin-left=20mm margin-right=20mm fo:region-body margin-top=10mm/ /fo:simple-page-master /fo:layout-master-set fo:page-sequence master-name=A4 fo:flow flow-name=xsl-region-body fo:table fo:table-column column-width=185mm/ fo:table-column column-width=75mm/ fo:table-body fo:table-row fo:table-cell border-after-width=1mm border-after-color=#609090 border-after-style=solid /fo:table-cell fo:table-cell border-before-width=1mm border-before-color=#609090 border-before-style=solid border-start-width=1mm border-start-color=#609090 border-start-style=solid fo:block font-family=Helvetica font-size=30pt text-align=end Balance Sheet /fo:block /fo:table-cell /fo:table-row /fo:table-body /fo:table fo:block font-family=Helvetica font-size=20pt text-align=center space-after=5pt/fo:block fo:table fo:table-column column-width=260mm/ fo:table-body fo:table-row fo:table-cell border-before-width=0.5mm border-before-color=#906060 border-before-style=solid /fo:table-cell /fo:table-row /fo:table-body /fo:table fo:block font-family=Helvetica font-size=20pt text-align=center space-after=10pt/fo:block fo:table fo:table-column column-width=30mm/ fo:table-column column-width=100mm/ fo:table-column column-width=10mm/ fo:table-column column-width=80mm/ fo:table-column column-width=40mm/ fo:table-body fo:table-row fo:table-cell fo:block font-family=Helvetica font-size=12pt font-weight=bold text-align=center space-after=5pt space-before=5pt Description/fo:block/fo:table-cell fo:table-cell border-width=0.1mm border-style=solid fo:block font-family=Helvetica font-size=12pt font-weight=bold text-align=center space-after=5pt space-before=5pt xsl:apply-templates select=//HEAD//fo:block/fo:table-cell fo:table-cellfo:block/fo:block/fo:table-cell fo:table-cell fo:block font-family=Helvetica font-size=12pt font-weight=bold text-align=end space-after=5pt space-before=5pt margin-right=10pt Starting Balance/fo:block/fo:table-cell fo:table-cell border-width=0.1mm border-style=solid fo:block font-family=Helvetica font-size=12pt font-weight=bold text-align=center space-after=5pt space-before=5pt xsl:apply-templates select=//START//fo:block/fo:table-cell /fo:table-row /fo:table-body /fo:table fo:block font-family=Helvetica font-size=12pt text-align=start space-after=40pt/fo:block fo:table border-width=0.1mm border-style=solid border-collapse=collapse fo:table-column column-width=30mm/ fo:table-column column-width=110mm/ fo:table-column column-width=40mm/ fo:table-column column-width=40mm/ fo:table-column column-width=40mm/ fo:table-body fo:table-row fo:table-cell border-width=0.1mm border-style=solid fo:block font-family=Helvetica font-size=12pt font-weight=bold text-align=center space-after=5pt space-before=5pt Date/fo:block/fo:table-cell fo:table-cell border-width=0.1mm border-style=solid fo:block font-family=Helvetica font-size=12pt font-weight=bold text-align=center space-after=5pt space-before=5pt Item Description/fo:block/fo:table-cell fo:table-cell border-width=0.1mm border-style=solid fo:block font-family=Helvetica font-size=12pt font-weight=bold text-align=center space-after=5pt
cvs commit: xml-fop/docs/xml-docs/data - New directory
keiron 01/10/05 02:35:41 xml-fop/docs/xml-docs/data - New directory - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/lib stylebook.jar
keiron 01/10/05 02:47:33 Modified:lib stylebook.jar Log: more recent style book version 1.0b3 Revision ChangesPath 1.2 +150 -147 xml-fop/lib/stylebook.jar Binary file - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/org/apache/fop/render/svg SVGRenderer.java
keiron 01/10/05 02:49:21 Modified:src/org/apache/fop/apps CommandLineOptions.java Driver.java Added: src/org/apache/fop/render/svg SVGRenderer.java Log: added svg renderer Revision ChangesPath 1.14 +18 -1 xml-fop/src/org/apache/fop/apps/CommandLineOptions.java Index: CommandLineOptions.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/apps/CommandLineOptions.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- CommandLineOptions.java 2001/09/17 13:29:52 1.13 +++ CommandLineOptions.java 2001/10/05 09:49:21 1.14 @@ -1,5 +1,5 @@ /* - * $Id: CommandLineOptions.java,v 1.13 2001/09/17 13:29:52 keiron Exp $ + * $Id: CommandLineOptions.java,v 1.14 2001/10/05 09:49:21 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. @@ -48,6 +48,8 @@ private static final int PS_OUTPUT = 6; /* output: text file */ private static final int TXT_OUTPUT = 7; +/* output: svg file */ +private static final int SVG_OUTPUT = 8; /* System buffers */ private static final int BUFFER_FILE = 8; @@ -247,6 +249,14 @@ outfile = new File(args[i + 1]); i++; } +} else if (args[i].equals(-svg)) { +setOutputMode(SVG_OUTPUT); +if ((i + 1 == args.length) +|| (args[i + 1].charAt(0) == '-')) { +throw new FOPException(you must specify the svg output file); } else { +outfile = new File(args[i + 1]); +i++; +} } else if (args[i].charAt(0) != '-') { if (inputmode == NOT_SET) { inputmode = FO_INPUT; @@ -376,6 +386,8 @@ return Driver.RENDER_PS; case TXT_OUTPUT: return Driver.RENDER_TXT; +case SVG_OUTPUT: +return Driver.RENDER_SVG; case AREA_OUTPUT: rendererOptions.put(fineDetail, isCoarseAreaXml()); return Driver.RENDER_XML; @@ -532,6 +544,7 @@ + -pcl outfile input will be rendered as pcl file (outfile req'd) \n + -ps outfile input will be rendered as PostScript file (outfile req'd) \n + -txt outfile input will be rendered as text file (outfile req'd) \n + + -svg outfile input will be rendered as an svg slides file (outfile req'd) \n + -at outfile representation of area tree as XML (outfile req'd) \n + -printinput file will be rendered and sent to the printer \n + see options with \-print help\ \n\n @@ -612,6 +625,10 @@ break; case TXT_OUTPUT: log.debug(txt); +log.debug(output file: + outfile.toString()); +break; +case SVG_OUTPUT: +log.debug(svg); log.debug(output file: + outfile.toString()); break; default: 1.36 +10 -1 xml-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.35 retrieving revision 1.36 diff -u -r1.35 -r1.36 --- Driver.java 2001/09/17 13:29:52 1.35 +++ Driver.java 2001/10/05 09:49:21 1.36 @@ -1,5 +1,5 @@ /* - * $Id: Driver.java,v 1.35 2001/09/17 13:29:52 keiron Exp $ + * $Id: Driver.java,v 1.36 2001/10/05 09:49:21 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. @@ -132,6 +132,11 @@ public static final int RENDER_TXT = 8; /** + * Render to SVG. OutputStream must be set + */ +public static final int RENDER_SVG = 9; + +/** * the FO tree builder */ private FOTreeBuilder _treeBuilder; @@ -308,6 +313,7 @@ * liRENDER_PCL * liRENDER_PS * liRENDER_TXT + * liRENDER_SVG * /ul * @param renderer the type of renderer to use */ @@ -334,6 +340,9 @@ break; case RENDER_XML: setRenderer(new org.apache.fop.render.xml.XMLRenderer()); +break; +case RENDER_SVG: +
cvs commit: xml-fop/src/org/apache/fop/fo FOTreeBuilder.java
keiron 01/10/05 03:17:55 Modified:src/org/apache/fop/fo FOTreeBuilder.java Log: prevents npe if namespace is unknown Revision ChangesPath 1.30 +6 -3 xml-fop/src/org/apache/fop/fo/FOTreeBuilder.java Index: FOTreeBuilder.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/FOTreeBuilder.java,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- FOTreeBuilder.java2001/09/24 09:17:12 1.29 +++ FOTreeBuilder.java2001/10/05 10:17:55 1.30 @@ -1,5 +1,5 @@ /* - * $Id: FOTreeBuilder.java,v 1.29 2001/09/24 09:17:12 keiron Exp $ + * $Id: FOTreeBuilder.java,v 1.30 2001/10/05 10:17:55 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. @@ -210,12 +210,15 @@ FObj fobj; /* the maker for the formatting object started */ -FObj.Maker fobjMaker; +FObj.Maker fobjMaker = null; // String fullName = mapName(rawName); //String fullName = uri + ^ + localName; HashMap table = (HashMap)fobjTable.get(uri); -fobjMaker = (FObj.Maker)table.get(localName); +if(table != null) { +fobjMaker = (FObj.Maker)table.get(localName); +} + PropertyListBuilder currentListBuilder = (PropertyListBuilder)this.propertylistTable.get(uri); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/docs/design areas.xml build.sh layout.xml optimise.xml useragent.xml
keiron 01/10/05 04:06:02 Modified:docs/design areas.xml build.sh layout.xml optimise.xml useragent.xml Log: more ideas on the design, areas Revision ChangesPath 1.3 +176 -0xml-fop/docs/design/areas.xml Index: areas.xml === RCS file: /home/cvs/xml-fop/docs/design/areas.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- areas.xml 2001/09/10 11:32:13 1.2 +++ areas.xml 2001/10/05 11:06:02 1.3 @@ -13,4 +13,180 @@ discarded once the layout is finalised. /para +section + titleThe Area Tree/title + para +The area tree is a root element that has a list of page-viewport-areas. +Each page viewport has a page-reference-area which holds the contents of +the page. To handle the processing better FOP does not maintain a list +at the root level but lets another class handle each page as it is added. + /para +/section + +section + titlePage/title + para +A page is made up of five area regions. These are before, start, body, +end and after. Each region has a viewport and contains the areas +produced from the children in the FO object heirarchy. + /para + para +For the body area there are more subdivisions for before floats, +footnotes and the main reference area. The main reference area is +made from span areas which have normal flow reference areas as +children. The flow areas are then created inside these normal flow +reference areas. + /para + para +Since the layout is done inside a page, the page is created from the +pagemaster with all the appropriate areas. The layout manager then +uses the page to add areas into the normal flow reference areas +and floats and footnotes. After the layout of the body region +is complete then the other regions can be done. + /para +/section + +section + titleBlock Areas/title + para +Block areas are created and/or returned by all top level elements +in the flow. These areas have keep and spacing information that +needs to be retained until the page is finalised. A block area +is stacked with other block areas in a particular direction, it +has a size and it contains either line areas made from a group +of inline areas or block areas. + /para + para +A block area can also be split into two block areas by splitting +between two line areas or splitting between two block areas (or +groups) that are stacked in the block progression direction of +the page. The split may also be in a child block area. + /para +/section + +section + titleLine Areas/title + para +A line areas is simply a collection of inline areas that are stacked +in the inline progression direction. A line area has a height and +width. It also contains information about floats and footnotes +that are associated with the inline areas. + /para + para +A line area gets a set of inline areas added until complete then +it is justified and vertically aligned. If the line area contains +unresolved areas it will retain the justification information +until all areas are resolved. + /para +/section + +section + titleInline Areas/title + para +There are a few different types of inline areas. All inline areas +have a height. Their width may be variable until the line is +finalised. + /para + para +Unresolved areas can reserve some space to allow for possible +sizes once it is resolved. Then the line can be re-justified +and finalised. + /para +/section + +section + titleCloning/title + para +Any subtree of the area tree should be cloneable so that for +areas that are repeated the area tree can simply be copied rather +than going through the layout again. This will only work if the +width is the same. + /para + para +Resolveable areas may be converted into an unresolved form. + /para +/section + +section + titleClasses/title + para +The following class structure will be used to represent the area +tree. + /para + para + + /para +section + titlePage Area Classes/title + para +The page area classes hold the top level layout of a page. The +areas are created by the page master and should be ready to have +flow areas added. + /para +/section +section + titleBlock Area Classes/title + para +The block areas typically hold either a set of line areas or a set of +block areas. The child areas are usually stacked in a particular +direction. + /para + para +Areas for tables and lists have their child block areas stacked +in different ways. Lists also can have spacing between the block +areas. + /para +/section +section + titleInline Area Classes/title + para +The inline areas are used to make up a line area. An inline area +typically has a height, width and some content.
FOP in WebSphere and some general notes (Was: Re: Using FOP in Servlet)
Karen Lease wrote: Configuration.put(baseDir, SOMEURLSTRING); Thanks. I meanwhile figured it out that i could use SOMEURLSTRING=file:+xslFileName Some other notes on FOP 0.20.2 in general and using in in an IBM WebSphere Server in particular (including problems actually caused by Batik): - IBM has their own Logging mechanism (though it's primitive). Using LogKit is of no real use for me, it just forces me to put logkit.jar in the classpath which noticable increases startup time (invconvenient in development only, but i *am* developing...). Could you use an lightweight interface which belongs to a FOP package, and an default implementation which dispates to an LogKit logger? Something like the ErrorListener class in JAXP. I could then provide my own implementation to the interface without having to pull in the whole LogKit. This would also make for an much better separation of the libraries, there would be just one class in FOP which uses LogKit stuff in the delegation and setup routines. - Something similar goes for the avalon framework. I thought i could avoid putting the jar in the classpath by not using the Driver class, but it still goes in by a remarkably twisted way: somewhere during SVG rendering in Batik a batik.bridge.BridgeContext is created, which quite unnecessarily creates a (Batik) DocumentLoader (there is no document because FOP gets the XML already as SAX event stream), which in turn gets a XML Parser name from the SVGUserAgent supplied by FOP which gets it from the fop.apps.Driver class. While the primary fault is in Batik which should create stuff more lazily (you may forward this complaint!), i don't think the fop.apps.Driver should act both as central repository for configuration settings and be an Avalon loggable at the same time. In fact i'd like to have an interface to FOP which resembles slightly more the XSLT TransformerFactory/ Transformer interfaces, with setting parameters using a Parameters object like Java Mail mixed in. The framework stuff including setting up a LogKit logger and and all that could be build around that. If this catches your curiosity, ask me to write up a more complete specification. - There is a unfortunate problem with Batik and the IBM class loaders. In Websphere, there is an ApplicationServer, a JVM running in its own OS process, which can contain several WebApps. Each WebApp may have its own classpath settings. At first i added batik.jar (and all other jars) to the WebApp specific classpath. Several Batik classes have static class variables which register some stuff in the AWT run time at class load time. If there is more than one WebAbb using Batik, directly or indirectly, the first WebApp has no problems, but the WebApp coming second gets errors roughly like instance NNN of class name exists. I got around this by adding the jars to the ApplicationServer classpath, where they really belong (but this is awkward without permission to mangle the server startup files). Some minor points: - In fop.apps.Driver, the _areaTree variable and related imports and statements appear to be defunct and can probably be deleted. - FOP gets a null pointer exception if there is no default namespace and an element without a namespace prefix slipped into the input. This is because in fop/fo/FOTreeBuilder.java Line 218: HashMap table = (HashMap)fobjTable.get(uri); fobjMaker = (FObj.Maker)table.get(localName); table is null. I believe this also happens always if the namespace URI is not recognized. - The PixelToMM factor (0.35277...) is repeated remarkably often in the source. Regards J. Pietschmann - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: mysterious init tag
Hi, cell justify=rightinit//cell every inner tag has to finish before finishing parent's tag. But maybe you can write cell justify=right lt;initgt; /cell Petr Zeman - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, October 05, 2001 2:15 PM Subject: mysterious init tag Anyone ever see this happen: cell justify=rightinit/cell The cell tags are mine, but the init is an erroneous mystery. I recompiled the class and it now seems fine. Am I possibly messing up something? I'm using 0.18 and Java 1.3. -Lou - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: mysterious init tag
Sorry, I was not clear - I did not, in any way, insert the init tag. I have no idea where it came from. -Lou Petr Zeman [EMAIL PROTECTED] on 10/05/2001 09:10:31 AM Please respond to [EMAIL PROTECTED] To: [EMAIL PROTECTED] cc: Subject: Re: mysterious init tag Hi, cell justify=rightinit//cell every inner tag has to finish before finishing parent's tag. But maybe you can write cell justify=right lt;initgt; /cell Petr Zeman - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, October 05, 2001 2:15 PM Subject: mysterious init tag Anyone ever see this happen: cell justify=rightinit/cell The cell tags are mine, but the init is an erroneous mystery. I recompiled the class and it now seems fine. Am I possibly messing up something? I'm using 0.18 and Java 1.3. -Lou - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: Questions about space compound type
Paul Grosso wrote: Peter, Again, thanks for your input. Comments embedded. At 00:53 2001 09 27 -0400, Peter B. West wrote: The following sections contain references to start-space and end-space. I assume that these references should be to space-start and space-end. 5.5.1 Word spacing and Letter spacing Properties These properties may set values for the start-space and end-space traits, as described in the property definitions. 7.16.2 letter-spacing 'For an fo:character that in the Unicode database is classified as Alphabetic, unless the treat-as-word-space trait has the value true, the start-space and end-space traits are each set to a value as follows:' 7.16.8 word-spacing 'For fo:character whose treat-as-word-space trait has the value true, the start-space and end-space traits are each set to a value as follows:' Yes, all these should be corrected. The quote from 7.16.2 continues: 'For normal: .optimum = the normal spacing for the current font / 2, .maximum = auto, .minimum = auto, .precedence = force, and .conditionality = discard. A value of auto for a component implies that the limits are User Agent specific.' That is, it allows the .maximum and .minimum sub-properties of a space to take on values of auto. Auto is not mentioned as a valid assignment to these properties in wither the general discussion of space in 5.11, where .maximum, .optimum and .minimum are defined as lengths, nor in the discussions of space-start and space-end in 7.11.1 7.11.2. Further, in 7.14.1 block-progression-dimension and 7.14.5 inline-progression-dimension, a value of auto is defined to set the three length sub-properties to auto. In general, our data-typing relates to the refined values, and inherit and percentages are refined away. We plan to make this clearer in section 5.11. Am I right in assuming that, where a compound property is one of the possible assignments to a property, any specified value imples some computed setting of each of the compound components? That is, that there are no circumstances in which a property which may take a compound datatype will have undefined computed values for the components? In that case, what are the default values of .precedence and .conditionality for 7.16.2 letter-spacing and 7.16.8 word-spacing? 7.16.2 and 7.16.8 do not discuss conditionality at all, and only indirectly mention precedence. 7.16.2 has: 'If it is desired that the letter space combine with other spaces that have less than forcing precedence, then the value of the letter-space should be specified as a space with precedence less than force which implies that space combines according to the space resolution rules described in [4.3 Spaces and Conditionality].' However, in the absence of any specific default setting, the other indications from the discussion in 5.11 and in sections where the default values of precedence are spelled out would indicate a default value of 0. Likewise, the default value for conditionality would seem to be discard. We have defined how this works in 5.11: A short form of compound value specification may be used, in cases where the datatype has some length components and for the keep datatype. In the first case the specification consists of giving a length value to an attribute with a name matching a property name. Such a specification gives that value to each of the length components and the initial value to all the non-length components. paul Paul, I'm working off this definition, but the problem with 7.16.2 and 7.16.8 is that the set of initial values is not discussed in terms of the property itself, but, as mentioned at the top of this message, in these terms (for 7.16.2): For an fo:character that in the Unicode database is classified as Alphabetic, unless the treat-as-word-space trait has the value true, the start-space and end-space traits are each set to a value as follows: I.e., the property initial values are discussed in respect of space-start and space-end properties. Is some translation into these properties implied in this discussion, or explicitly noted in the spec? Peter -- Peter B. West [EMAIL PROTECTED] http://powerup.com.au/~pbwest Lord, to whom shall we go? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
[Fwd: Re: Compound datatypes: length-range]
Original Message Subject: Re: Compound datatypes: length-range Date: Thu, 04 Oct 2001 09:17:54 -0500 From: Paul Grosso [EMAIL PROTECTED] To: Peter B. West [EMAIL PROTECTED], xsl-editors [EMAIL PROTECTED] At 12:21 2001 09 28 -0400, Peter B. West wrote: In 5.11 Property Datatypes, length and percentage are defined separately, and length-range is specified as: 'A compound datatype, with components: minimum, optimum, maximum. Each component is a length.' 7.21.4 leader-length has: 'Value: length-range | percentage | inherit Initial: leader-length.minimum=0pt, .optimum=12.0pt, .maximum=100% Applies to: fo:leader Inherited: yes Percentages: refer to width of content-rectangle of parent area Media: visual Values have the following meanings: length-range ...' There is no discussion of the meaning of percentage corresponding to the discussion of the meaning of length-range. We do already say: Percentages: refer to width of content-rectangle of parent area so I'm not sure what else needs to be discussed. (We are planning to reword this somewhat to be in terms of the inline-progression-dimension instead of width.) Further on, the following example is given: leader-length.minimum=0pt leader-length.optimum=12pt leader-length.maximum=100% In other words, the value of the leader-length property is not a length-range or a percentage, it is a length-range whose components are not simply lengths, but length|percentage. 'inherit' is presumably excluded by the constraint that compound datatypes may only be inherited as a compound. If my understanding is correct, the actual specification of the allowable value of leader-length is length-percentage-range|inherit, where each component of length-percentage-range is length|percentage. Our data-typing is based on the refined values, not the specified values. I assume from 7.21.4 that it is not intended to allow entries like leader-length=20%. That is allowed; it means: leader-length.minimum=20% leader-length.optimum=20% leader-length.maximum=20% and then the 20% gets refined into a value which is 20% of the inline-progression-dimension of the parent's content rectangle (which might be, say, the current column width). paul -- Peter B. West [EMAIL PROTECTED] http://powerup.com.au/~pbwest Lord, to whom shall we go? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
[Fwd: Re: Questions about space compound type]
Original Message Subject: Re: Questions about space compound type Date: Thu, 04 Oct 2001 09:16:43 -0500 From: Paul Grosso [EMAIL PROTECTED] To: Peter B. West [EMAIL PROTECTED], xsl-editors [EMAIL PROTECTED] Peter, Again, thanks for your input. Comments embedded. At 00:53 2001 09 27 -0400, Peter B. West wrote: The following sections contain references to start-space and end-space. I assume that these references should be to space-start and space-end. 5.5.1 Word spacing and Letter spacing Properties These properties may set values for the start-space and end-space traits, as described in the property definitions. 7.16.2 letter-spacing 'For an fo:character that in the Unicode database is classified as Alphabetic, unless the treat-as-word-space trait has the value true, the start-space and end-space traits are each set to a value as follows:' 7.16.8 word-spacing 'For fo:character whose treat-as-word-space trait has the value true, the start-space and end-space traits are each set to a value as follows:' Yes, all these should be corrected. The quote from 7.16.2 continues: 'For normal: .optimum = the normal spacing for the current font / 2, .maximum = auto, .minimum = auto, .precedence = force, and .conditionality = discard. A value of auto for a component implies that the limits are User Agent specific.' That is, it allows the .maximum and .minimum sub-properties of a space to take on values of auto. Auto is not mentioned as a valid assignment to these properties in wither the general discussion of space in 5.11, where .maximum, .optimum and .minimum are defined as lengths, nor in the discussions of space-start and space-end in 7.11.1 7.11.2. Further, in 7.14.1 block-progression-dimension and 7.14.5 inline-progression-dimension, a value of auto is defined to set the three length sub-properties to auto. In general, our data-typing relates to the refined values, and inherit and percentages are refined away. We plan to make this clearer in section 5.11. Am I right in assuming that, where a compound property is one of the possible assignments to a property, any specified value imples some computed setting of each of the compound components? That is, that there are no circumstances in which a property which may take a compound datatype will have undefined computed values for the components? In that case, what are the default values of .precedence and .conditionality for 7.16.2 letter-spacing and 7.16.8 word-spacing? 7.16.2 and 7.16.8 do not discuss conditionality at all, and only indirectly mention precedence. 7.16.2 has: 'If it is desired that the letter space combine with other spaces that have less than forcing precedence, then the value of the letter-space should be specified as a space with precedence less than force which implies that space combines according to the space resolution rules described in [4.3 Spaces and Conditionality].' However, in the absence of any specific default setting, the other indications from the discussion in 5.11 and in sections where the default values of precedence are spelled out would indicate a default value of 0. Likewise, the default value for conditionality would seem to be discard. We have defined how this works in 5.11: A short form of compound value specification may be used, in cases where the datatype has some length components and for the keep datatype. In the first case the specification consists of giving a length value to an attribute with a name matching a property name. Such a specification gives that value to each of the length components and the initial value to all the non-length components. paul -- Peter B. West [EMAIL PROTECTED] http://powerup.com.au/~pbwest Lord, to whom shall we go? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
[Fwd: Re: Compound datatypes]
Dear List, I have some responses from Paul Grosso to questions about compound properties. Peter Original Message Subject: Re: Compound datatypes Date: Wed, 03 Oct 2001 09:02:38 -0400 From: Paul Grosso [EMAIL PROTECTED] To: Peter B. West [EMAIL PROTECTED], xsl-editors [EMAIL PROTECTED] Peter, Thank you for your comments. We are looking at the several messages you sent to xsl-editors, but let me attempt a reply to this one that I hope will answer several of your questions. At 03:35 2001 09 21 -0400, Peter B. West wrote: I find the definition of compound datatypes very confusing. From an implementation point of view, I find myself treating the compound types not as datatypes but as another form of shorthand, whose major difference from the existing shorthand properties is in the handling of inheritance. You are right that compound datatypes are not the same thing as shorthands. Shorthand properties do not inherit from the shorthand on the parent. Instead the individual properties that the shorthand expands into may inherit. 5.2 On the other hand, 5.11 has: Compound values of properties are inherited as a unit and not as individual components. In other respects, compounds parallel shorthands. The compound datatypes, such as space, are represented in the result tree as multiple attributes. In other words, the compounds expand into individual properties, like the shorthands. It seems to me that when talking about a datatype, one expects to be specifying the kind of data that may be assigned to particular attributes/properties. This is not how we did it in the XSL spec. Instead, our datatypes are for the refined values, not the specified values. Hence, things like inherit and percentages are not considered part of the datatype. We will look into making this clearer in section 5.11. Compounds are not datatypes in that sense. They partially specify the name of the attribute, and specify the type of data which may be assigned to those attributes. In my limited experience, I have never encountered such a datatype before, and I was very confused by them. length-conditional I have a few specific questions about this compound. It occurs in association with the relative edge width specifications for border and padding, and in a few other places. When the compounds are discussed, the examples of space and keep are used. In those cases, a single assignment to the compound implies a series of assignments to each of the component properties. So space-before=4.0pt is equivalent to a specification of space-before.minimum=4.0pt space-before.optimum=4.0pt space-before.maximum=4.0pt space-before.precedence=0 space-before.conditionality=discard Similarly with keep. Correct (precedence and conditionality take their initial value). What about border-before-width? The legal values for border-before-width are specified as border-width|length-conditional|inherit border-width is defined in 7.7.21 border-top-width to have the possible values thin, medium, thick or length. Specified values such as thin, medium, thick are refined into a length. length-conditional, as is explained in 7.7.9 border-before-width, has .length and .conditionality components, with an initial value for .conditionality of discard. However, according to Appendix C, the initial value for border-before-width is medium. There is no mention of .conditionality. The assignment (or initial value) of border-before-width=medium equates to: border-before-width.minimum=medium border-before-width.optimum=medium border-before-width.maximum=medium border-before-width.conditionality=discard 7.7.9 says the initial value of border-before-width.conditionality=discard. Note that 5.11 says: A short form of compound value specification may be used, in cases where the datatype has some length components and for the keep datatype. In the first case the specification consists of giving a length value to an attribute with a name matching a property name. Such a specification gives that value to each of the length components and the initial value to all the non-length components. and that applies to length-conditional and hence border-before-width. Given these definitions, what am I to make of an assignment like border-before-width=10pt? Is this a border-width or a length-conditional? To what do I assign the 10pt? border-before-width or border-before-width.length or both? Does any such assignment to border-before-width imply an assignment to border-before-width.length and border-before-width.conditionality as well? Per the above discussion, border-before-width=10pt equates to: border-before-width.minimum=10pt border-before-width.optimum=10pt border-before-width.maximum=10pt border-before-width.conditionality=discard This question is more involved because of corresponding properties. In an lr-tb environment, border-top-width is a
Re: pdf freeze due to image?
does this happen only on windows 2000? Also I am sure this is just a typo with your URL below...the server is missing in the url. Linda Zammit wrote: We have an intermittent problem with out pdf's that are created with FOP 19. For some reason the image referred to in: fo:external-graphic src=http://whatever.gif/ does not always display. When it does display on the Adobe pdf screen, many time the user's Win2K system freezes and they have to shut down Adobe 5 completely and start again. We checked out the Adobe site and see that there is an issue logged with printing (which is also sometimes a freezing problem) but we seemed to have it narrowed down to something with the external graphic. That is, when I take out the fo:external-graphic link, the system doesn't freeze. Has anyone else experienced this? Thanks in advance. Linda - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: pdf freeze due to image?
Title: RE: pdf freeze due to image? So far it has only been on windows 2000... the URL that I sent was just a sample... fo:external-graphic src="http://lzammit/whatever.gif/ would be more correct. Thanks Linda -Original Message- From: Amit [mailto:[EMAIL PROTECTED]] Sent: October 5, 2001 12:27 PM To: [EMAIL PROTECTED] Subject: Re: pdf freeze due to image? does this happen only on windows 2000? Also I am sure this is just a typo with your URL below...the server is missing in the url. Linda Zammit wrote: We have an intermittent problem with out pdf's that are created with FOP 19. For some reason the image referred to in: fo:external-graphic src="http://whatever.gif/ does not always display. When it does display on the Adobe pdf screen, many time the user's Win2K system freezes and they have to shut down Adobe 5 completely and start again. We checked out the Adobe site and see that there is an issue logged with printing (which is also sometimes a freezing problem) but we seemed to have it narrowed down to something with the external graphic. That is, when I take out the fo:external-graphic link, the system doesn't freeze. Has anyone else experienced this? Thanks in advance. Linda - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
DO NOT REPLY [Bug 4002] New: - TTFReader unable to handle 3 of 9 Barcode font
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=4002. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=4002 TTFReader unable to handle 3 of 9 Barcode font Summary: TTFReader unable to handle 3 of 9 Barcode font Product: Fop Version: all Platform: PC OS/Version: Windows NT/2K Status: NEW Severity: Normal Priority: Other Component: general AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] I am trying to create the metrics file for the 3 of 9 Barcode font and when I run TTFReader I get the following output: TTF Reader v1.1.1 Reading 3of9.ttf... Number of glyphs in font: 218 Unicode cmap table not present java.util.NoSuchElementException: Vector Enumeration at java.util.Vector$1.nextElement(Unknown Source) at org.apache.fop.fonts.TTFFile.createCMaps(TTFFile.java:415) at org.apache.fop.fonts.TTFFile.readFont(TTFFile.java:404) at org.apache.fop.fonts.apps.TTFReader.loadTTF(TTFReader.java:181) at org.apache.fop.fonts.apps.TTFReader.main(TTFReader.java:143) I am using the fop-0_20_1-dev version of fop. Could somebody please look into allowing the TTFReader to create the metrics for this font, as I am trying to use fop for reporting purposes and I require the report to have barcodes. Thanks PS - You can get a free copy of this font from http://www.netlabels.com/faq2/barcode.html - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
FOP performance enhancement
I've been following the progress of FOP since .15 and I'd like to say that I really appreciate all the work everyone puts in. My company produces student administration software for k-12 schools and open-source projects are the ideal way to put great technology in the hands of under-funded school districts. We currently use FOP in a servlet environment for doing pdf reporting (1 to 20 pages). The memory consumption is a bit high, but we have had great sucess and stability with our current usage. Our IDEAL dream is to be able to batch print report cards and parent letters using this technology. This would involve taking the same simple fo document and applying it 500-3000 times, depending on the number of students. We don't use anything fancy like page counting, or references to other parts of the document. As far as I can see, it should be possible to format, render and stream out each page as it's completed. (Although this probably breaks other aspects of the FO spec.) If I am able to produce documents like this in the near future, it will lock in Fop as a core part of our technology architecture. Is there any way to optimize my fo documents to make this possible? I remember seeing some benchmarks reaching thousands of pages by Mark Lillywhite, but unfortunately my documents were unable to take advantage of those enhancements. Is anyone else currently working on something like this? Thanks, Dave Frankson - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]