Bug report for Fop [2001/10/14]
+---+ | Bugzilla Bug ID | | +-+ | | Status: UNC=Unconfirmed NEW=New ASS=Assigned| | | OPN=ReopenedVER=Verified(Skipped Closed/Resolved) | | | +-+ | | | Severity: BLK=Blocker CRI=CriticalMAJ=Major | | | | MIN=Minor NOR=Normal EHN=Ehnancement | | | | +-+ | | | | Date Posted | | | | | +--+ | | | | | Description | | | | | | | | 626|New|Nor|2001-02-16|Negative number are shifted slightly towards left.| | 635|New|Nor|2001-02-18|Doesn't support id= attribute in fo:page-sequence | | 664|Opn|Nor|2001-02-21|Basic-Link does not move with its content, when us| | 682|New|Nor|2001-02-22|Lists do not display correctly| | 684|New|Nor|2001-02-23|border width in tables adds up| | 808|New|Nor|2001-03-01|Batch processing xml files| | 836|New|Min|2001-03-05|hyphenation problem with very long words | | 839|New|Nor|2001-03-05|Positioning of blocks in a block section. | | 902|New|Nor|2001-03-08|line-height is not applied corectly when using the| | 907|New|Nor|2001-03-08|first list-item dropped at very bottom of page. | | 928|New|Nor|2001-03-10|Font metrics and setComponent | | 964|New|Nor|2001-03-13|FOP 0.17 throws exception with basic-link in xsl-r| | 1063|New|Nor|2001-03-21|fop does not handle large fo files| | 1130|New|Nor|2001-03-27|Alignment of page-number-citation inside a ToC| | 1154|New|Nor|2001-03-29|nested lists more than 3 level depth | | 1171|New|Nor|2001-03-30|small-caps in static content becomes all-caps | | 1180|New|Maj|2001-04-02|Problem with monospaced font | | 1211|New|Min|2001-04-04|Tables are not formatted properly.| | 1231|New|Nor|2001-04-05|basic-link can't link to a page-sequence element | | 1242|New|Nor|2001-04-06|Error in Font-Documentation | | 1261|New|Nor|2001-04-09|problem with rendering of external-graphic in Fop-| | 1312|New|Blk|2001-04-11|fo:external-graphics using 0.17.0 as well as 0.18.| | 1318|New|Nor|2001-04-12|problems with tables (column width and when used i| | 1332|New|Nor|2001-04-12|MIF output strings not properly escaped | | 1335|New|Nor|2001-04-13|Problem with sample FOP servlet. | | 1391|New|Blk|2001-04-19|Bug in border-top-style | | 1432|New|Nor|2001-04-20|keep-with-* not functioning for fo:table-row | | 1474|New|Maj|2001-04-24|fo:external-graphic rendered as block level object| | 1531|New|Cri|2001-04-26|Cell Spacing | | 1596|New|Maj|2001-05-02|Adobe Acrobat claims Fop output has bad page conte| | 1640|Ass|Nor|2001-05-07|building formatting object tree gets OutOfMemoryEr| | 1724|Opn|Nor|2001-05-11|Text alignment in table cells | | 1759|New|Nor|2001-05-15|table-omit-footer-at-break sometimes cause crash | | 1766|New|Maj|2001-05-15|Text matrix in svg get doubled when run thru FOP | | 1773|New|Blk|2001-05-16|A table that is bigger than the page produces an e| | 1859|New|Min|2001-05-22|org.apache.fop.apps.Driver.reset() doesn't fully r| | 1923|New|Nor|2001-05-28|text-decoration does not work | | 1952|New|Cri|2001-06-01|color attribute to table content overflowing on ne| | 1967|New|Nor|2001-06-02|blank-or-not-blank behavior | | 1998|New|Nor|2001-06-05|linefeed-treatment not understood | | 2085|New|Maj|2001-06-08|Out of memory error when building FO Tree | | 2105|New|Nor|2001-06-11|text-alignment when containing euro sign | | 2106|New|Nor|2001-06-11|broken justification with numeric umlaut entities | | 2107|New|Min|2001-06-11|indentation in em units is larger than the lette| | 2127|New|Cri|2001-06-12|Preserve the Line breaks | | 2150|Ass|Maj|2001-06-13|New page with a table-header but without any tabl| | 2153|New|Cri|2001-06-13|Borders are calculated incorrectly| | 2207|New|Maj|2001-06-18|Embedding problems| | 2227|New|Nor|2001-06-18|missing class on startup in Fop-0.19.0 compiled do| | 2279|New|Nor|2001-06-22|block-container property position does not exist| | 2289|New|Cri|2001-06-22|Opening files with Adobe Acrobat Version 5 generat| |
Re: Table Headings
Hi Scott, It sounds like you may be putting the background on the block containing the text. Try putting it on the table-cell itself or even on the row. HTH, Karen Scott Moore wrote: I'm creating tables for FOP that have a black background with white text in the table header. The rest of the table (the data) is inverse, with black characters and white background. If the header text in a column doesn't fit on one line, it will wrap, which is a good thing. The problem is the rest of the headers that don't wrap, their black backgrounds stay on one line. Therefore, the whole table header looks uneven and ugly. Here's an example, the # are the black background: - -#Column#1##|#This#is#column| - |2##| - - Table data| blah blah blah| - Are there any settings that can automatically fix this? I've tried using padding-bottom='1em' for the first column, and that kinda works, but it's still slightly off. The problem is I won't always know which column headings wrap because the fonts are user configurable. Thanks for any help! Scott - 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: page cannot be printed
Hi Cristian, If this is the same table you had written about the other day, which gave you some error messages, including: [WARN]: current implementation of tables requires a table-column for each column, indicating column-width it looks like you have a table without table-column objects, or a table-column without any column-width specified. I don't know why DocBook would generate that, but you could try sending your FO file, or the part of it containing the table which fails, to this group. Also, hopefully tonight, I'll commit some new table code which implements the proportional width function for table-columns, so it's easier to specify them. Hope that helps, Karen Lease Kaiser Christian (SV SC RS T33) wrote: Hello, a page that includes a (certain) table cannon be printed. This table includes only images. I've create this document in DocBook XML 5.0 beta. Xalan to translate it into FO (DocBook XSL Stylesheets v. 1.44). I have specified the column-with for each column. I've also specified the amount of columns in the attribute cols of informaltable. It just stops printing if this page would be on the turn. I can watch it, but not print. Is there a way arround this problem, or does anybody know what causes it (to fix the bug). best regards, (-:hris Christian Kaiser SiemensVDO Automotive AG SV SC RS T33 Osterhofener Straße 19 - O19 93055 Regensburg Germany Tel: ++49 (0)941-790-6689 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
cvs commit: xml-fop/src/codegen foproperties.xml
klease 01/10/14 13:27:57 Modified:src/codegen foproperties.xml Log: Add table-layout and inline-progression-dimension Revision ChangesPath 1.25 +49 -16xml-fop/src/codegen/foproperties.xml Index: foproperties.xml === RCS file: /home/cvs/xml-fop/src/codegen/foproperties.xml,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- foproperties.xml 2001/09/21 21:40:09 1.24 +++ foproperties.xml 2001/10/14 20:27:56 1.25 @@ -965,9 +965,9 @@ subproperty set-by-shorthand=true nameminimum/name datatypeLength/datatype - defaultauto/default - auto-ok/ - percent-ok base=CONTAINING_BOX/ +defaultauto/default +auto-ok/ +percent-ok base=CONTAINING_BOX/ corresponding propvalmin-wmrel2abs dir=BLOCKPROGDIM//propval /corresponding @@ -975,16 +975,16 @@ subproperty set-by-shorthand=true nameoptimum/name datatypeLength/datatype - defaultauto/default - auto-ok/ - percent-ok base=CONTAINING_BOX/ +defaultauto/default +auto-ok/ +percent-ok base=CONTAINING_BOX/ /subproperty subproperty set-by-shorthand=true namemaximum/name datatypeLength/datatype - auto-ok/ - defaultauto/default - percent-ok base=CONTAINING_BOX/ +auto-ok/ +defaultauto/default +percent-ok base=CONTAINING_BOX/ corresponding propvalmax-wmrel2abs dir=BLOCKPROGDIM//propval /corresponding @@ -1015,10 +1015,40 @@ property nameinline-progression-dimension/name inheritedfalse/inherited -datatypeToBeImplemented/datatype -defaultauto/default - /property - property +datatypeLengthRange/datatype +corresponding use-if-specified=true + propvalwmrel2abs dir=INLINEPROGDIM//propval +/corresponding +compound + subproperty set-by-shorthand=true +nameminimum/name +datatypeLength/datatype +defaultauto/default +auto-ok/ +percent-ok base=CONTAINING_BOX/ +corresponding + propvalmin-wmrel2abs dir=INLINEPROGDIM//propval +/corresponding + /subproperty + subproperty set-by-shorthand=true +nameoptimum/name +datatypeLength/datatype +defaultauto/default +auto-ok/ +percent-ok base=CONTAINING_BOX/ + /subproperty + subproperty set-by-shorthand=true +namemaximum/name +datatypeLength/datatype +auto-ok/ +defaultauto/default +percent-ok base=CONTAINING_BOX/ +corresponding + propvalmax-wmrel2abs dir=INLINEPROGDIM//propval +/corresponding + /subproperty +/compound + /property property namemax-height/name inheritedfalse/inherited datatypeToBeImplemented/datatype @@ -1797,7 +1827,7 @@ namecolumn-width/name inheritedfalse/inherited datatypeLength/datatype -defaultproportional-column-width(1)/default +default contextdep=trueproportional-column-width(1)/default /property property nameempty-cells/name @@ -1838,9 +1868,12 @@ property nametable-layout/name inheritedfalse/inherited -datatypeToBeImplemented/datatype +datatypeEnum/datatype defaultauto/default - /property +enumeration + value const=AUTOauto/value + value const=FIXEDfixed/value +/enumeration /property property nametable-omit-footer-at-break/name inheritedfalse/inherited - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/codegen properties.xsl
klease 01/10/14 13:29:12 Modified:src/codegen properties.xsl Log: Fix a bug in initializing compound properties like inline-progression-dimension from their 'corresponding' properties Revision ChangesPath 1.13 +3 -1 xml-fop/src/codegen/properties.xsl Index: properties.xsl === RCS file: /home/cvs/xml-fop/src/codegen/properties.xsl,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- properties.xsl2001/09/21 21:42:08 1.12 +++ properties.xsl2001/10/14 20:29:12 1.13 @@ -502,7 +502,9 @@ xsl:apply-templates select=propval/ subprop= propertyList.getExplicitOrShorthand(sbExpr.toString()); /xsl:otherwise/xsl:choose - setSubprop(p, xsl:value-of select='../name'/, subprop); + if (subprop != null) { +setSubprop(p, xsl:value-of select='../name'/, subprop); + } /xsl:for-each /xsl:if return p; - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/org/apache/fop/datatypes AutoLength.java FixedLength.java Length.java TableColLength.java PercentLength.java LinearCombinationLength.java MixedLength.java
klease 01/10/14 13:33:36 Modified:src/org/apache/fop/datatypes Length.java TableColLength.java PercentLength.java LinearCombinationLength.java MixedLength.java Added: src/org/apache/fop/datatypes AutoLength.java FixedLength.java Log: Modify the Length class hierarchy Revision ChangesPath 1.14 +25 -75xml-fop/src/org/apache/fop/datatypes/Length.java Index: Length.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/datatypes/Length.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- Length.java 2001/09/11 10:04:24 1.13 +++ Length.java 2001/10/14 20:33:36 1.14 @@ -1,5 +1,5 @@ /* - * $Id: Length.java,v 1.13 2001/09/11 10:04:24 keiron Exp $ + * $Id: Length.java,v 1.14 2001/10/14 20:33:36 klease 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. @@ -7,6 +7,7 @@ package org.apache.fop.datatypes; +import org.apache.fop.fo.expr.Numeric; import org.apache.fop.fo.Property; import org.apache.fop.messaging.MessageHandler; @@ -14,97 +15,39 @@ * a length quantity in XSL */ public class Length { -public static final Length AUTO = new Length(0); -static { -AUTO.bAuto = true; -} - protected int millipoints = 0; protected boolean bIsComputed = false; -private boolean bAuto = false; - -/** - * Set the length given a number of relative units and the current - * font size in base units. - */ -public Length(double numRelUnits, int iCurFontSize) { -millipoints = (int)(numRelUnits * (double)iCurFontSize); -setIsComputed(true); -} - -/** - * Set the length given a number of units and a unit name. - */ -public Length(double numUnits, String units) { -convert(numUnits, units); -} - -/** - * set the length as a number of base units - */ -public Length(int baseUnits) { -millipoints = baseUnits; -setIsComputed(true); -} - -/** - * Convert the given length to a dimensionless integer representing - * a whole number of base units (milli-points). - */ -protected void convert(double dvalue, String unit) { - -int assumed_resolution = 1;// points/pixel - -if (unit.equals(in)) -dvalue = dvalue * 72; -else if (unit.equals(cm)) -dvalue = dvalue * 28.3464567; -else if (unit.equals(mm)) -dvalue = dvalue * 2.83464567; -else if (unit.equals(pt)) -dvalue = dvalue; -else if (unit.equals(pc)) -dvalue = dvalue * 12; -/* - * else if (unit.equals(em)) - * dvalue = dvalue * fontsize; - */ -else if (unit.equals(px)) -dvalue = dvalue * assumed_resolution; -else { -dvalue = 0; -MessageHandler.errorln(unknown length unit ' + unit - + '); -} -this.millipoints = (int)(dvalue * 1000); -setIsComputed(true); -} -protected void setIsComputed(boolean bIsComputed) { -this.bIsComputed = bIsComputed; -} - /** * return the length in 1/1000ths of a point */ public int mvalue() { -if (!bIsComputed) -millipoints = computeValue(); +if (!bIsComputed) { +computeValue(); + } return millipoints; } -protected int computeValue() { -return millipoints; +protected void computeValue() { +} + + +protected void setComputedValue(int millipoints) { + setComputedValue(millipoints, true); } -protected void setValue(int millipoints) { +protected void setComputedValue(int millipoints, boolean bSetComputed) { this.millipoints = millipoints; -setIsComputed(true); +this.bIsComputed = bSetComputed; } public boolean isAuto() { -return bAuto; +return false; +} + +public boolean isComputed() { + return this.bIsComputed; } /** @@ -121,6 +64,13 @@ */ public double getTableUnits() { return 0.0; +} + +public void resolveTableUnit(double dTableUnit) { +} + +public Numeric asNumeric() { + return null; } public String toString() { 1.4 +23 -11xml-fop/src/org/apache/fop/datatypes/TableColLength.java Index:
cvs commit: xml-fop/src/org/apache/fop/fo LengthProperty.java
klease 01/10/14 13:36:00 Modified:src/org/apache/fop/fo LengthProperty.java Log: Modify Length to Numeric conversion code Revision ChangesPath 1.5 +4 -13 xml-fop/src/org/apache/fop/fo/LengthProperty.java Index: LengthProperty.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/LengthProperty.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- LengthProperty.java 2001/07/30 20:29:20 1.4 +++ LengthProperty.java 2001/10/14 20:36:00 1.5 @@ -1,5 +1,5 @@ /* - * $Id: LengthProperty.java,v 1.4 2001/07/30 20:29:20 tore Exp $ + * $Id: LengthProperty.java,v 1.5 2001/10/14 20:36:00 klease 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. @@ -8,8 +8,7 @@ package org.apache.fop.fo; import org.apache.fop.datatypes.Length; -import org.apache.fop.datatypes.PercentLength; -import org.apache.fop.datatypes.TableColLength; +import org.apache.fop.datatypes.AutoLength; import org.apache.fop.fo.expr.Numeric; import org.apache.fop.apps.FOPException; @@ -40,7 +39,7 @@ if (isAutoLengthAllowed()) { String pval = p.getString(); if (pval != null pval.equals(auto)) -return new LengthProperty(Length.AUTO); +return new LengthProperty(new AutoLength()); } if (p instanceof LengthProperty) return p; @@ -70,15 +69,7 @@ } public Numeric getNumeric() { -// Can't just do new Numeric(length) because it always uses -// the constructor for Length! -// Otherwise, must make each class know about Numeric... -// ie, return length.asNumeric(): cleaner -if (length instanceof PercentLength) -return new Numeric((PercentLength)length); -if (length instanceof TableColLength) -return new Numeric((TableColLength)length); -return new Numeric(length); +return length.asNumeric() ; } public Length getLength() { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/org/apache/fop/fo Property.java PropertyListBuilder.java
klease 01/10/14 13:37:10 Modified:src/org/apache/fop/fo Property.java PropertyListBuilder.java Log: Make sure PropertyException messages are logged Revision ChangesPath 1.18 +4 -5 xml-fop/src/org/apache/fop/fo/Property.java Index: Property.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/Property.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- Property.java 2001/09/11 10:04:24 1.17 +++ Property.java 2001/10/14 20:37:10 1.18 @@ -1,5 +1,5 @@ /* - * $Id: Property.java,v 1.17 2001/09/11 10:04:24 keiron Exp $ + * $Id: Property.java,v 1.18 2001/10/14 20:37:10 klease 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. @@ -188,10 +188,9 @@ } return pret; } catch (org.apache.fop.fo.expr.PropertyException propEx) { -//MessageHandler.errorln(Error in + propName -// + property value ' + value + ': -// + propEx); -throw new FOPException(Property error); +throw new FOPException(Error in + propName + +property value ' + value + ': + + propEx); } } 1.33 +2 -1 xml-fop/src/org/apache/fop/fo/PropertyListBuilder.java Index: PropertyListBuilder.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/PropertyListBuilder.java,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- PropertyListBuilder.java 2001/09/24 09:17:12 1.32 +++ PropertyListBuilder.java 2001/10/14 20:37:10 1.33 @@ -1,5 +1,5 @@ /* - * $Id: PropertyListBuilder.java,v 1.32 2001/09/24 09:17:12 keiron Exp $ + * $Id: PropertyListBuilder.java,v 1.33 2001/10/14 20:37:10 klease 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. @@ -166,6 +166,7 @@ p.put(propName, propVal); } } catch (FOPException e) { /* Do other props. */ +MessageHandler.errorln(e.getMessage()); } } else { if (!attributeName.startsWith(xmlns)) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/org/apache/fop/fo/expr Numeric.java PropertyParser.java
klease 01/10/14 13:38:25 Modified:src/org/apache/fop/fo/expr Numeric.java PropertyParser.java Log: Modify Length property parsing Revision ChangesPath 1.4 +15 -10xml-fop/src/org/apache/fop/fo/expr/Numeric.java Index: Numeric.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/expr/Numeric.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- Numeric.java 2001/07/30 20:29:21 1.3 +++ Numeric.java 2001/10/14 20:38:25 1.4 @@ -1,5 +1,5 @@ /* - * $Id: Numeric.java,v 1.3 2001/07/30 20:29:21 tore Exp $ + * $Id: Numeric.java,v 1.4 2001/10/14 20:38:25 klease 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. @@ -7,9 +7,11 @@ package org.apache.fop.fo.expr; +import java.util.Vector; import org.apache.fop.fo.Property; import org.apache.fop.datatypes.Length; +import org.apache.fop.datatypes.FixedLength; import org.apache.fop.datatypes.PercentLength; import org.apache.fop.datatypes.LinearCombinationLength; import org.apache.fop.datatypes.MixedLength; @@ -91,7 +93,7 @@ * Construct a Numeric object from a Length. * @param l The Length. */ -public Numeric(Length l) { +public Numeric(FixedLength l) { this(ABS_LENGTH, (double)l.mvalue(), 0.0, 0.0, 1, null); } @@ -121,19 +123,22 @@ */ public Length asLength() { if (dim == 1) { -if (valType == ABS_LENGTH) { -return new Length((int)absValue); + Vector len = new Vector(3); +if ((valType ABS_LENGTH) != 0) { +len.add(new FixedLength((int)absValue)); } -PercentLength pclen = null; if ((valType PC_LENGTH) != 0) { -pclen = new PercentLength(pcValue, pcBase); -if (valType == PC_LENGTH) -return pclen; +len.add(new PercentLength(pcValue, pcBase)); } if ((valType TCOL_LENGTH) != 0) { -return new TableColLength((int)absValue, pclen, tcolValue); +len.add(new TableColLength(tcolValue)); } -return new MixedLength((int)absValue, pclen); + if (len.size() == 1) { + return (Length)len.elementAt(0); + } + else { + return new MixedLength(len); + } } else { // or throw exception??? // can't make Length if dimension != 1 1.6 +3 -3 xml-fop/src/org/apache/fop/fo/expr/PropertyParser.java Index: PropertyParser.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/expr/PropertyParser.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- PropertyParser.java 2001/07/30 20:29:21 1.5 +++ PropertyParser.java 2001/10/14 20:38:25 1.6 @@ -1,5 +1,5 @@ /* - * $Id: PropertyParser.java,v 1.5 2001/07/30 20:29:21 tore Exp $ + * $Id: PropertyParser.java,v 1.6 2001/10/14 20:38:25 klease 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. @@ -270,10 +270,10 @@ numLen)); Length length = null; if (unitPart.equals(RELUNIT)) { -length = new Length(numPart.doubleValue(), +length = new FixedLength(numPart.doubleValue(), propInfo.currentFontSize()); } else -length = new Length(numPart.doubleValue(), unitPart); +length = new FixedLength(numPart.doubleValue(), unitPart); if (length == null) { throw new PropertyException(unrecognized unit name: + currentTokenValue); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/org/apache/fop/fo/flow Flow.java StaticContent.java
klease 01/10/14 13:39:54 Modified:src/org/apache/fop/fo/flow Flow.java StaticContent.java Log: Make it possible to use percentages to specify Length values for flow and static-content children Revision ChangesPath 1.24 +12 -5 xml-fop/src/org/apache/fop/fo/flow/Flow.java Index: Flow.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/flow/Flow.java,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- Flow.java 2001/09/11 10:04:24 1.23 +++ Flow.java 2001/10/14 20:39:54 1.24 @@ -1,5 +1,5 @@ /* - * $Id: Flow.java,v 1.23 2001/09/11 10:04:24 keiron Exp $ + * $Id: Flow.java,v 1.24 2001/10/14 20:39:54 klease 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. @@ -54,6 +54,11 @@ */ private String _flowName; +/** + * Content-width of current column area during layout + */ +private int contentWidth; + private Status _status = new Status(Status.AREA_FULL_NONE); @@ -145,6 +150,8 @@ this.marker = i; markerSnapshot = this.getMarkerSnapshot(new Vector()); } + // Set current content width for percent-based lengths in children + setContentWidth(currentArea.getContentWidth()); _status = fo.layout(currentArea); @@ -200,15 +207,15 @@ return _status; } +protected void setContentWidth(int contentWidth) { + this.contentWidth = contentWidth; +} /** * Return the content width of this flow (really of the region * in which it is flowing). */ public int getContentWidth() { -if (area != null) -return area.getContentWidth();// getAllocationWidth()?? -else -return 0; // not laid out yet + return this.contentWidth; } protected String getElementName() { 1.18 +2 -1 xml-fop/src/org/apache/fop/fo/flow/StaticContent.java Index: StaticContent.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/flow/StaticContent.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- StaticContent.java2001/09/25 12:46:19 1.17 +++ StaticContent.java2001/10/14 20:39:54 1.18 @@ -1,5 +1,5 @@ /* - * $Id: StaticContent.java,v 1.17 2001/09/25 12:46:19 keiron Exp $ + * $Id: StaticContent.java,v 1.18 2001/10/14 20:39:54 klease 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. @@ -70,6 +70,7 @@ } else if (regionClass.equals(RegionAfter.REGION_CLASS)) { area.setAbsoluteHeight(area.getPage().getBody().getMaxHeight()); } + setContentWidth(area.getContentWidth()); for (int i = 0; i numChildren; i++) { FObj fo = (FObj)children.elementAt(i); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/org/apache/fop/fo/flow Table.java TableColumn.java
klease 01/10/14 13:43:32 Modified:src/org/apache/fop/fo/flow Table.java TableColumn.java Log: Implement proportional column widths Revision ChangesPath 1.39 +179 -14 xml-fop/src/org/apache/fop/fo/flow/Table.java Index: Table.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/flow/Table.java,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- Table.java2001/09/20 21:01:18 1.38 +++ Table.java2001/10/14 20:43:32 1.39 @@ -1,5 +1,5 @@ /* - * -- $Id: Table.java,v 1.38 2001/09/20 21:01:18 klease Exp $ -- + * -- $Id: Table.java,v 1.39 2001/10/14 20:43:32 klease 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. @@ -32,12 +32,13 @@ return new Table.Maker(); } +private static final int MINCOLWIDTH = 1; // 10pt int breakBefore; int breakAfter; int spaceBefore; int spaceAfter; ColorType backgroundColor; -int width; +LengthRange ipd; int height; String id; TableHeader tableHeader = null; @@ -47,6 +48,14 @@ Vector columns = new Vector(); int bodyCount = 0; +private boolean bAutoLayout=false; +private int contentWidth = 0; // Sum of column widths +/** Optimum inline-progression-dimension */ +private int optIPD; +/** Minimum inline-progression-dimension */ +private int minIPD; +/** Maximum inline-progression-dimension */ +private int maxIPD; AreaContainer areaContainer; @@ -106,8 +115,12 @@ this.properties.get(space-after.optimum).getLength().mvalue(); this.backgroundColor = this.properties.get(background-color).getColorType(); -this.width = this.properties.get(width).getLength().mvalue(); +this.ipd = + this.properties.get(inline-progression-dimension). + getLengthRange(); this.height = this.properties.get(height).getLength().mvalue(); +this.bAutoLayout = (this.properties.get(table-layout).getEnum() == + TableLayout.AUTO); this.id = this.properties.get(id).getString(); @@ -157,6 +170,7 @@ new AreaContainer(propMgr.getFontState(area.getFontInfo()), 0, 0, area.getAllocationWidth(), area.spaceLeft(), Position.STATIC); + areaContainer.foCreator = this;// G Seshadri areaContainer.setPage(area.getPage()); areaContainer.setBackgroundColor(backgroundColor); @@ -170,13 +184,20 @@ boolean addedFooter = false; int numChildren = this.children.size(); - // Set up the column vector + // Set up the column vector; + // calculate width of all columns and get total width if (columns.size()==0) { findColumns(areaContainer); + if (this.bAutoLayout) { + log.warn(table-layout=auto is not supported, using fixed!); + } + // Pretend it's fixed... + this.contentWidth = + calcFixedColumnWidths(areaContainer.getAllocationWidth()); } - // Now layout all the columns and get total offset -areaContainer.setAllocationWidth( layoutColumns(areaContainer)); - +areaContainer.setAllocationWidth(this.contentWidth); +layoutColumns(areaContainer); + for (int i = this.marker; i numChildren; i++) { FONode fo = (FONode)children.elementAt(i); if (fo instanceof TableHeader) { @@ -367,28 +388,127 @@ } } } + -private int layoutColumns(Area areaContainer) throws FOPException { -int offset = 0; + +private int calcFixedColumnWidths(int maxAllocationWidth) { int nextColumnNumber=1; + int iEmptyCols=0; + double dTblUnits=0.0; + int iFixedWidth=0; + double dWidthFactor = 0.0; + double dUnitLength = 0.0; + double tuMin = 10.0 ; // Minimum number of proportional units Enumeration eCol = columns.elements(); while (eCol.hasMoreElements()) { TableColumn c = (TableColumn)eCol.nextElement(); if (c == null) { - log.warn(No table-column specified in column + + log.warn(No table-column specification for column + nextColumnNumber); + // What about sizing issues? + iEmptyCols++; } else { - //c.doSetup(areaContainer); - c.setColumnOffset(offset); -
cvs commit: xml-fop/src/org/apache/fop/layout BlockArea.java
klease 01/10/14 13:44:37 Modified:src/org/apache/fop/layout BlockArea.java Log: Account for padding and border when calculating space remaining for content Revision ChangesPath 1.31 +12 -2 xml-fop/src/org/apache/fop/layout/BlockArea.java Index: BlockArea.java === RCS file: /home/cvs/xml-fop/src/org/apache/fop/layout/BlockArea.java,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- BlockArea.java2001/07/30 20:29:27 1.30 +++ BlockArea.java2001/10/14 20:44:37 1.31 @@ -1,5 +1,5 @@ /* - * $Id: BlockArea.java,v 1.30 2001/07/30 20:29:27 tore Exp $ + * $Id: BlockArea.java,v 1.31 2001/10/14 20:44:37 klease 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. @@ -201,8 +201,18 @@ - endIndent; } +/** + * Return the maximum space remaining for this area's content in + * the block-progression-dimension. + * Remove top and bottom padding and spacing since these reduce + * available space for content and they are not yet accounted for + * in the positioning of the object. + */ public int spaceLeft() { -return maxHeight - currentHeight; +// return maxHeight - currentHeight ; +return maxHeight - currentHeight - + (getPaddingTop() + getPaddingBottom() + + getBorderTopWidth() + getBorderBottomWidth()); } public int getHalfLeading() { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop CHANGES
klease 01/10/14 13:52:59 Modified:.CHANGES Log: Update for my commits Revision ChangesPath 1.10 +17 -0 xml-fop/CHANGES Index: CHANGES === RCS file: /home/cvs/xml-fop/CHANGES,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- CHANGES 2001/08/14 00:20:26 1.9 +++ CHANGES 2001/10/14 20:52:59 1.10 @@ -1,4 +1,21 @@ == +Done since 0.20.2 release +*** Tables +- Implement the proportional-column-width() function in table-column and +make it possible to specify table width (or inline-progression-dimension) +using percentage values. (Karen Lease) +- Fix a bug causing strange layout when a cell containing a nested table +was laid out again because another cell in the same row was split (David +Dixon's example). (Karen Lease) +*** Datatypes +- Rearrange the Length class hierarchy as part of the table-column proportional +width work. (Karen Lease) +*** Areas +- Fix BlockArea to account for padding and border when calculating space +remaining for content. (Karen Lease) +*** Properties +- Add support for inline-progression-dimension and table-layout. (Karen) +== Done since 0.20 release *** General - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/docs/examples/fo border.fo
klease 01/10/14 14:03:14 Modified:docs/examples/fo border.fo Log: Reduce line-height in block-containers to make the text fit Revision ChangesPath 1.8 +12 -12xml-fop/docs/examples/fo/border.fo Index: border.fo === RCS file: /home/cvs/xml-fop/docs/examples/fo/border.fo,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- border.fo 2001/05/16 10:09:27 1.7 +++ border.fo 2001/10/14 21:03:14 1.8 @@ -45,64 +45,64 @@ /fo:block-container fo:block-container border-color=black border-style=solid border-width=.5mm height=0.5cm width=2.49cm top=1.2cm left=13.8cm padding=.6mm position=absolute -fo:block text-align=start space-after.optimum=3pt line-height=15pt font-family=sans-serif font-size=12pt +fo:block text-align=start space-after.optimum=3pt line-height=14pt font-family=sans-serif font-size=12pt DATE /fo:block /fo:block-container fo:block-container border-color=black border-style=solid border-width=.5mm height=0.5cm width=2.49cm top=1.87cm left=13.8cm padding=.6mm position=absolute -fo:block text-align=start space-after.optimum=3pt line-height=15pt font-family=sans-serif font-size=10pt +fo:block text-align=start space-after.optimum=3pt line-height=14pt font-family=sans-serif font-size=10pt 01/01/2000 /fo:block /fo:block-container fo:block-container border-color=black border-style=solid border-width=.5mm height=0.5cm width=2.49cm top=1.2cm left=16.46cm padding=.6mm position=absolute -fo:block text-align=start space-after.optimum=3pt line-height=15pt font-family=sans-serif font-size=12pt +fo:block text-align=start space-after.optimum=3pt line-height=14pt font-family=sans-serif font-size=12pt SALE # /fo:block /fo:block-container fo:block-container border-color=black border-style=solid border-width=.5mm height=0.5cm width=2.49cm top=1.87cm left=16.46cm padding=.6mm position=absolute -fo:block text-align=start space-after.optimum=3pt line-height=15pt font-family=sans-serif font-size=10pt +fo:block text-align=start space-after.optimum=3pt line-height=14pt font-family=sans-serif font-size=10pt 1 /fo:block /fo:block-container fo:block-container border-color=black border-style=solid border-width=.5mm height=0.5cm width=8.95cm top=3cm left=0cm padding=.6mm position=absolute -fo:block text-align=start line-height=15pt font-family=sans-serif font-size=12pt +fo:block text-align=start line-height=14pt font-family=sans-serif font-size=12pt SOLD TO /fo:block /fo:block-container fo:block-container border-color=black border-style=solid border-width=.5mm height=3cm width=8.95cm top=3.67cm left=0cm padding=.6mm position=absolute -fo:block text-align=start space-after.optimum=3pt line-height=15pt font-family=sans-serif font-size=12pt +fo:block text-align=start space-after.optimum=3pt line-height=14pt font-family=sans-serif font-size=12pt /fo:block /fo:block-container fo:block-container border-color=black border-style=solid border-width=.5mm height=0.5cm width=8.95cm top=3cm left=10cm padding=.6mm position=absolute -fo:block text-align=start space-after.optimum=3pt line-height=15pt font-family=sans-serif font-size=12pt +fo:block text-align=start space-after.optimum=3pt line-height=14pt font-family=sans-serif font-size=12pt SHIP TO /fo:block /fo:block-container fo:block-container border-color=black border-style=solid border-width=.5mm height=3cm width=8.95cm top=3.67cm left=10cm padding=.6mm position=absolute -fo:block text-align=start space-after.optimum=3pt line-height=15pt font-family=sans-serif font-size=12pt +fo:block text-align=start space-after.optimum=3pt line-height=14pt font-family=sans-serif font-size=12pt /fo:block /fo:block-container fo:block-container border-color=black border-style=solid border-width=.5mm height=0.5cm width=3.96cm top=7.25cm left=10.74cm padding=1mm
cvs commit: xml-fop/docs/examples/fo tableunits.fo
klease 01/10/14 14:04:12 Added: docs/examples/fo tableunits.fo Log: Add table-column proportional width and table width percentage examples Revision ChangesPath 1.1 xml-fop/docs/examples/fo/tableunits.fo Index: tableunits.fo === ?xml version=1.0 encoding=utf-8? fo:root xmlns:fo=http://www.w3.org/1999/XSL/Format; !-- defines the layout master -- fo:layout-master-set fo:simple-page-master master-name=first page-height=29.7cm page-width=21cm margin-top=1cm margin-bottom=2cm margin-left=2.5cm margin-right=2.5cm fo:region-body margin-top=3cm margin-bottom=1.5cm/ fo:region-before extent=3cm/ fo:region-after extent=1.5cm/ /fo:simple-page-master /fo:layout-master-set !-- starts actual layout -- fo:page-sequence master-name=first fo:flow flow-name=xsl-region-body !-- normal text -- fo:block space-after=1cm text-align=start padding=0.4in border=thick solid redTable unit tests/fo:block fo:table border-collapse=collapse width=6in fo:table-column column-width=(4.5in - 2cm) div 3 +1in background-color=yellow/ fo:table-column column-width=(4.5in - 2cm) div 3 + 0.5in background-color=blue/ fo:table-column column-width=(4.5in - 2cm) div 3 + 2.0cm background-color=green/ fo:table-body fo:table-row fo:table-cell display-align=beforefo:blockfixed width columns/fo:block/fo:table-cell fo:table-cell display-align=centerfo:blockCentered/fo:block/fo:table-cell fo:table-cell display-align=afterfo:blockBottom aligned/fo:block/fo:table-cell /fo:table-row /fo:table-body /fo:table !-- table start -- fo:table border-collapse=collapse width=6in fo:table-column column-width=1in + proportional-column-width(1) background-color=yellow/ fo:table-column column-width=2 * (proportional-column-width(1) + .5in) div 2 background-color=blue/ fo:table-column column-width=proportional-column-width(1) + 2.0cm background-color=green/ fo:table-body fo:table-row fo:table-cell display-align=beforefo:blockSome text to make this cell deeper than the others to check out the aliignment properties./fo:block/fo:table-cell fo:table-cell display-align=centerfo:blockCentered/fo:block/fo:table-cell fo:table-cell display-align=afterfo:blockBottom aligned/fo:block/fo:table-cell /fo:table-row fo:table-row fo:table-cell background-color=bluefo:blockdefault alignment /fo:block/fo:table-cell fo:table-cell height=3cm background-color=green display-align=centerfo:blockCentered with height=3cm/fo:block/fo:table-cell fo:table-cell background-color=yellow display-align=afterfo:blockBottom aligned/fo:block/fo:table-cell /fo:table-row fo:table-row height=3cm fo:table-cellfo:blockdefault alignment but with a height of 3cm on the row /fo:block/fo:table-cell fo:table-cell display-align=centerfo:blockCentered/fo:block/fo:table-cell fo:table-cell display-align=afterfo:blockBottom aligned/fo:block/fo:table-cell /fo:table-row /fo:table-body /fo:table fo:block space-before=12pt space-after=6pt The next table has width=100% on the table no column widths specified on the table-column element. /fo:block !-- table start -- fo:table border-collapse=collapse width=100% fo:table-column background-color=yellow/ fo:table-column background-color=blue/ fo:table-column background-color=green/ fo:table-body fo:table-row fo:table-cell display-align=beforefo:blockSome text to make this cell deeper than the others to check out the aliignment properties./fo:block/fo:table-cell fo:table-cell display-align=centerfo:blockCentered/fo:block/fo:table-cell fo:table-cell display-align=afterfo:blockBottom aligned/fo:block/fo:table-cell /fo:table-row /fo:table-body /fo:table fo:block space-before=12pt space-after=6pt The next table has fixed column widths=13cm, ipd.optimum=12cm and ipd.max = 100%. /fo:block !-- table start -- fo:table border-collapse=collapse inline-progression-dimension=12cm inline-progression-dimension.maximum=100% fo:table-column column-width=8cm background-color=yellow/ fo:table-column column-width=proportional-column-width(2) background-color=blue/ fo:table-column column-width=5cm background-color=green/ fo:table-body fo:table-row
cvs commit: xml-fop/docs/examples build.xml
klease 01/10/14 14:26:00 Modified:docs/examples build.xml Log: Use filesets for newPDF and referencePDF Revision ChangesPath 1.20 +16 -43xml-fop/docs/examples/build.xml Index: build.xml === RCS file: /home/cvs/xml-fop/docs/examples/build.xml,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- build.xml 2001/09/24 08:51:17 1.19 +++ build.xml 2001/10/14 21:26:00 1.20 @@ -35,32 +35,15 @@ echo message=/ /target !-- === -- - !-- Produces new test pdf files -- + !-- Produces new test PDF files -- !-- === -- target name=newPDF depends=init - fop fofile=${foDir}/normal.fo outfile=${testDir}/normal.pdf/ - fop fofile=${foDir}/table.fo outfile=${testDir}/table.pdf/ - fop fofile=${foDir}/list.fo outfile=${testDir}/list.pdf/ - fop fofile=${foDir}/link.fo outfile=${testDir}/link.pdf/ - fop fofile=${foDir}/newlinktest.fo outfile=${testDir}/newlinktest.pdf/ - fop fofile=${foDir}/border.fo outfile=${testDir}/border.pdf/ - fop fofile=${foDir}/extensive.fo outfile=${testDir}/extensive.pdf/ - fop fofile=${foDir}/images.fo outfile=${testDir}/images.pdf/ - fop fofile=${foDir}/readme.fo outfile=${testDir}/readme.pdf/ - fop fofile=${foDir}/fonts.fo outfile=${testDir}/fonts.pdf/ - fop fofile=${foDir}/leader.fo outfile=${testDir}/leader.pdf/ - fop fofile=${foDir}/textdeko.fo outfile=${testDir}/textdeko.pdf/ - fop fofile=${foDir}/inhprop.fo outfile=${testDir}/inhprop.pdf/ - fop fofile=${foDir}/normalex.fo outfile=${testDir}/normalex.pdf/ - fop fofile=${foDir}/simple.fo outfile=${testDir}/simple.pdf/ - !-- fop fofile=${foDir}/hyphen.fo outfile=${testDir}/hyphen.pdf/ -- - fop fofile=${foDir}/character.fo outfile=${testDir}/character.pdf/ - fop fofile=${foDir}/pdfoutline.fo outfile=${testDir}/pdfoutline.pdf/ - fop fofile=${foDir}/corresprop.fo outfile=${testDir}/corresprop.pdf/ - fop fofile=${foDir}/bordershorthand.fo outfile=${testDir}/bordershorthand.pdf/ - /target - target name=image depends=init - fop fofile=${foDir}/images.fo outfile=${testDir}/images.pdf/ + fop format=application/pdf outdir=${testDir} messagelevel=debug +basedir=./fo + fileset dir=${foDir} + include name=**/*.fo/ + /fileset + /fop /target !-- === -- !-- Produces new test ps files -- @@ -86,30 +69,19 @@ !-- Compares new test pdf files to reference pdf files -- !-- === -- target name=comparePDF depends=newPDF - compare referenceDirectory=${referenceDir} testDirectory=${testDir} filenames=normal.pdf,table.pdf,list.pdf,link.pdf,border.pdf,images.pdf,extensive.pdf,readme.pdf,fonts.pdf,list2.pdf/ + compare referenceDirectory=${referenceDir} testDirectory=${testDir} filenames=normal.pdf,table.pdf,list.pdf,link.pdf,border.pdf,images.pdf,extensive.pdf,readme.pdf,fonts.pdf,bordershorthand.pdf,character.pdf,corresprop.pdf,hyphen.pdf,inhprop.pdf,instream.pdf,leader.pdf,newlinktest.pdf,normalex.pdf,pdfoutline.pdf,simple.pdf,textdeko.pdf,tableunits.pdf/ /target !-- === -- !-- Produces new reference pdf files -- !-- === -- - target name=referencePDF - fop fofile=${foDir}/normal.fo outfile=${referenceDir}/normal.pdf/ - fop fofile=${foDir}/table.fo outfile=${referenceDir}/table.pdf/ - fop fofile=${foDir}/list.fo outfile=${referenceDir}/list.pdf/ - fop fofile=${foDir}/link.fo outfile=${referenceDir}/link.pdf/ - fop fofile=${foDir}/newlinktest.fo outfile=${referenceDir}/newlinktest.pdf/ - fop fofile=${foDir}/border.fo outfile=${referenceDir}/border.pdf/ - fop fofile=${foDir}/extensive.fo outfile=${referenceDir}/extensive.pdf/ - fop fofile=${foDir}/images.fo outfile=${referenceDir}/images.pdf/ - fop fofile=${foDir}/readme.fo
Table Improvements
Hi all, I just committed some new table functionality to CVS. You can now do things like fo:table table-layout=fixed width=100% fo:table-column column-width=proportional-column-width(2) fo:table-column column-width=proportional-column-width(1) . You can mix absolute and proportional units in the same table and even on the same column. See docs/examples/fo/tableunits.fo for some examples. Also, Fop is now looking at the table-layout property. Since it defaults to auto and Fop still doesn't do auto, it will print an annoying warning on every table. That is to remind you to put table-layout=fixed on your tables! Fop is also using inline-progression-dimension on table instead of width. But don't worry; if you specify width, it will use that as inline-progression-dimension.optimal. Have fun! Karen - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
[PATCH] Japanese line breaking
Hi, All! I found that current line-breaking algorithm was not fine for some situations when specified language=ja, such as using fo:basic-link, lt;gt;, and spacing. I am attaching the sample fo file(test.fo) and resulting pdf (test.pdf) for current version in this mail. The attached patch works fine (it may be slightly redundant). This algorithm separates words as following: AIUEO Hello World - |A|I|U|E|O| Hello| World| I suppose A,I,U,E and O to be Japanese here. Best Regards. --- Satoshi Ishigami VIC TOKAI CORPORATION test.tar.gz Description: GNU Zip compressed data - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
pdf file generation
Title: pdf file generation hello all, is there a switch in the pdf generation command to create a pdf file from FO in "ASCII Format" ? i'd like to do this kind of thing http://www.pdf-solutions.com/articles/a001/A001.pdf on a pdf file which already has been rendered from an sql database, through vbs, writing out an fo file which is then converted to pdf from a command line, long and tortuous i know, but it's working!!! andy ]andy muir ]application developer ][EMAIL PROTECTED] S P I K E ]tel + 61 2 8584 8584 ]fax + 61 2 8584 8500 www.spike.com hong kong SYDNEY tokyo level 4, 33 saunders st, pyrmont, nsw, australia, 2009 _ This e-mail (and any attachment) is intended only for the addressee and may contain confidential information. If you are not the intended recipient you must not use, copy, print or distribute this e-mail. If you receive this e-mail in error, please contact the sender and destroy the original. This footnote also confirms that this email message has been swept by MIMEsweeper for the presence of computer viruses. _
RE: Antwort: Making a native win32 binary out of FOP
Does Saxon actually package MS JMV, I've understood that saxon.exe still required MS JMV to be installed into your system? Anyhow, I remember him writing that MS JMV runs about three times slower than Sun JMV, so you might not want to use the .exe Jarno -Original Message- From: ext [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: 12. October 2001 10:33 To: [EMAIL PROTECTED] Subject: Antwort: Making a native win32 binary out of FOP There appears to be a way to package the MS JVM together with some Java classes into an .exe. Mr. Kay (http://saxon.sourceforge.net/) does this for his Saxon XSLT processor. Maybe he is willing to help (he is also very busy, so be patient) Freundliche Gruesse Joerg Pietschmann __ _ Zuercher Kantonalbank LIS4K / Geschaeftshaus Hard E Tel. +41 (0)1 275 85 03 Fax +41 (0)1 272 79 12 Briefe an: Postfach, 8010 Zuerich E-Mail:[EMAIL PROTECTED] Internet: http://www.zkb.ch Thomas KæregaardAn: [EMAIL PROTECTED] thk@vigilantKopie: e.com Thema: Making a native win32 binary out of FOP 10.10.01 10:19 Bitte antworten an fop-dev Hi List. I would like to distribute FOP with my application, but I don't want to force people to install 5,4 MB worth of JRE. Do any of you have experience regarding translation of FOP into an .exe-file (+ some .dll's probably) that will run directly from a win32 platform? Some sort of Java-win32 wrapper is acceptable, as long as it doesn't force us to install the JRE. Thanks in advance. - Thomas Kæregaard, Denmark - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
fo:leader problem
hi all, I'm using FOP-0.20.1to generate pdf files. I have used fo:leader in a table cell, but I don't know why the dotted line just end, although there still have many whitespace in the cell. Are you have any solutions for this problem? Thanks. The following is my xsl and the attachment of the pdf file: xsl:template match=division/toc fo:block margin-left=1pc margin-right=7pc space-before=13pt space-after=13pt fo:table fo:table-column column-width=4.3in/ fo:table-column column-width=3.0in/ fo:table-body xsl:for-each select=cont xsl:variable name=toc.cont.value xsl:value-of select=./ /xsl:variable fo:table-row fo:table-cell fo:block xsl:use-attribute-sets =division.toc.style !-- xsl:value-of select=substring-before ($toc.cont.value,'lt;refgt;')/ -- xsl:value-of select=tc/ fo:leader leader-pattern=rule rule-style =dotted leader-alignment=reference-area/ /fo:block /fo:table-cell fo:table-cell fo:block text-align=start xsl:use-attribute-sets=division.toc.style xsl:value-of select=ref/ /fo:block /fo:table-cell /fo:table-row /xsl:for-each /fo:table-body /fo:table /fo:block /xsl:template (See attached file: dobaindia.pdf) best rgds, ektan dobaindia.pdf Description: Adobe Portable Document - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]